.tv-admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.75fr);
    gap: 18px;
    align-items: start;
}

.tv-admin-side-stack { display: grid; gap: 18px; }
.tv-admin-form { margin-top: 20px; }
.tv-admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tv-admin-span-2 { grid-column: span 2; }

.tv-admin-switch {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    margin-bottom: 18px;
    border: 1px solid rgba(6, 182, 212, 0.24);
    border-radius: 12px;
    background: rgba(6, 182, 212, 0.06);
    cursor: pointer;
}
.tv-admin-switch input { margin-top: 3px; accent-color: var(--cyan); }
.tv-admin-switch span { display: grid; gap: 3px; }
.tv-admin-switch small, .tv-admin-form small { color: var(--text-muted); font-size: 12px; }

.tv-admin-input-unit { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.tv-admin-input-unit span { color: var(--text-muted); }

.tv-admin-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    margin: 8px 0 20px;
    padding: 14px;
    border: 1px solid var(--border-glass);
    border-radius: 10px;
}
.tv-admin-metrics legend { padding: 0 7px; color: var(--text-muted); font-size: 12px; }
.tv-admin-metrics label { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.tv-admin-metrics input { accent-color: var(--cyan); }

.tv-admin-token-state, .tv-admin-status-list {
    margin: 15px 0;
    padding: 12px;
    border: 1px solid var(--border-glass);
    border-radius: 10px;
    background: rgba(3, 9, 22, 0.32);
    color: var(--text-muted);
}
.tv-admin-viewer-url { display: grid; gap: 8px; margin: 14px 0; }
.tv-admin-viewer-url[hidden] { display: none !important; }
.tv-admin-viewer-url textarea { width: 100%; resize: none; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.tv-admin-status-list { display: grid; gap: 9px; }
.tv-admin-status-list div { display: flex; justify-content: space-between; gap: 12px; }
.tv-admin-status-list dt { color: var(--text-muted); }
.tv-admin-status-list dd { margin: 0; color: var(--text-primary); text-align: right; }
.tv-admin-safe-note { margin: 0; color: #77d9b0; font-size: 12px; line-height: 1.6; }

@media (max-width: 960px) {
    .tv-admin-layout { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .tv-admin-form-grid { grid-template-columns: 1fr; }
    .tv-admin-span-2 { grid-column: auto; }
}
