:root{
  --bg:#0b1220;
  --panel:#111827;
  --panel-2:#0f172a;
  --line:#223049;
  --text:#f8fafc;
  --muted:#94a3b8;
  --brand:#22c55e;
  --brand-2:#38bdf8;
  --danger:#ef4444;
  --warn:#f59e0b;
  --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.4}
button,input,textarea,select{font:inherit}
a{text-decoration:none;color:inherit}
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{background:#0a1020;border-right:1px solid var(--line);padding:14px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.brand-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#08111f;background:linear-gradient(135deg,var(--brand),var(--brand-2));flex:0 0 auto}
.menu{display:grid;gap:6px}.menu button{width:100%;text-align:left;border:1px solid var(--line);background:#0e1628;color:var(--text);padding:10px 12px;border-radius:10px;cursor:pointer;min-height:40px}.menu button.active,.menu button:hover{border-color:var(--brand);background:#132036}
.main{display:flex;flex-direction:column;min-width:0;min-height:100vh}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:#0b1220;position:sticky;top:0;z-index:30}.topbar h1,.topbar h2,.topbar h3,.topbar p{margin:0}.top-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:6px 10px;background:rgba(2,6,23,.35);cursor:pointer;user-select:none}
.toggle input{width:16px;height:16px;margin:0}
.toggle span{font-size:12px;color:var(--text);opacity:.9}
.view{padding:16px;display:grid;gap:12px;align-content:start;min-width:0}
.grid{display:grid;gap:12px;min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;min-width:0}.card h2,.card h3{margin:0 0 8px 0;font-size:15px;line-height:1.25}.card.compact{padding:10px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.kpi{font-size:24px;font-weight:800;line-height:1.1}.muted{color:var(--muted)}.small{font-size:12px}.stack{display:grid;gap:8px}.list{display:grid;gap:6px;min-width:0}.item{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#0b1324;min-width:0}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#0b1324;min-width:0;max-width:100%}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:13px}th{background:#0f172a;position:sticky;top:0;z-index:1;font-size:12px}tr:hover td{background:rgba(255,255,255,.02)}
.input,.textarea,.select{width:100%;background:#020617;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:40px}.textarea{min-height:96px;resize:vertical}
.btn{border:1px solid var(--line);background:#0f172a;color:var(--text);padding:9px 12px;border-radius:10px;cursor:pointer;min-height:38px;white-space:nowrap}.btn:hover{border-color:var(--brand)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04111d;border:none;font-weight:700}.btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fecaca}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;white-space:nowrap}.badge.live{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#bbf7d0}.badge.offline{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fecaca}
.code{white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;background:#020617;border:1px solid var(--line);padding:10px 12px;border-radius:10px;font-size:12px}
.panel-scroll{max-height:520px;overflow:auto;min-width:0}.office-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px}.chip.good{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#bbf7d0}.chip.bad{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#fecaca}.chip.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:#fde68a}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.mono{font-family:Consolas,monospace}.table-compact th,.table-compact td{padding:5px 7px;font-size:11px;line-height:1.2}
@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--line)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
@media (max-width:640px){.topbar{align-items:flex-start;flex-direction:column}.view{padding:12px}.card{padding:10px}.btn{width:100%}}


.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.section-head h2,.section-head p{margin:0}
.toolbar-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.input.search{min-width:220px}
.select.slim,.btn.slim{min-height:34px;padding:7px 10px;font-size:12px}
.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi-card{background:#0b1324;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.kpi-card strong{display:block;font-size:22px;line-height:1.1;margin-top:4px}
.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.table-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pagination .btn{min-width:96px}
.pagination-pages{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pagination .btn.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04111d;border:none;font-weight:700;cursor:default}
.pager-gap{display:inline-flex;align-items:center;justify-content:center;min-width:28px;color:var(--muted);font-size:12px}
.tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tabbar .btn.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04111d;border:none;font-weight:700}
.preview-thumb{width:72px;height:42px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:#020617}
.cell-actions{display:flex;gap:8px;flex-wrap:wrap}
.note-box{border:1px dashed var(--line);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.02)}
.admin-editor{border-color:rgba(56,189,248,.36);background:rgba(8,47,73,.26)}
.video-distribution-note{margin-bottom:10px}
.video-share-tools{display:grid;gap:6px;min-width:260px}
.share-url-mini{font-size:11px;line-height:1.35;word-break:break-word;color:#bae6fd}
.private-obs-box{border-color:rgba(34,197,94,.32);background:rgba(6,78,59,.16)}
@media (max-width:1200px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.kpi-row{grid-template-columns:1fr}.input.search{min-width:0;width:100%}.pagination{width:100%}.pagination .btn{flex:1 1 120px}}

.pagination-single{justify-content:flex-start}
.pagination-single .chip{font-size:12px}

/* Office density pass */
:root{--radius:8px}
.menu{gap:4px}
.menu button{border-radius:8px;min-height:36px;padding:8px 10px}
.card{border-radius:8px;padding:10px}
.card.compact{padding:9px}
.item{border-radius:8px;padding:8px 10px}
.table-wrap{border-radius:8px}
.office-card{padding:10px}
.office-table th,
.office-table td,
.table-compact th,
.table-compact td{padding:5px 7px;font-size:11px;line-height:1.2}
th{font-size:11px;text-transform:uppercase;color:#cbd5e1}
.input,.textarea,.select{border-radius:8px;padding:8px 10px;min-height:36px}
.textarea{min-height:76px}
.btn{border-radius:8px;padding:7px 10px;min-height:34px}
.btn.slim{min-height:30px;padding:6px 9px}
.kpi-card{border-radius:8px;padding:8px 10px}
.cell-actions{gap:6px}

/* AOR Control Center polish */
body{
background:#070b13;
}

.admin-shell{
background:
  radial-gradient(circle at 20% 0%, rgba(34,197,94,.08), transparent 32%),
  radial-gradient(circle at 90% 12%, rgba(56,189,248,.08), transparent 28%),
  #070b13;
}

.sidebar{
background:rgba(8,13,24,.92);
backdrop-filter:blur(10px);
}

.main .topbar{
background:rgba(8,13,24,.88);
backdrop-filter:blur(10px);
}

.menu button{
background:transparent;
border-color:transparent;
color:#b6c2d4;
}

.menu button.active{
background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(56,189,248,.12));
border-color:rgba(56,189,248,.24);
color:#f8fafc;
}

.card,.kpi-card,.item,.table-wrap{
background:rgba(15,23,42,.78);
border-color:rgba(148,163,184,.18);
box-shadow:0 12px 34px rgba(0,0,0,.18);
}

.kpi-card{
position:relative;
overflow:hidden;
}

.kpi-card::after{
content:"";
position:absolute;
inset:auto 0 0 0;
height:2px;
background:linear-gradient(90deg,var(--brand),var(--brand-2));
opacity:.75;
}

.view-title-note{
color:var(--muted);
font-size:12px;
}

.status-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px;
}

.status-tile{
border:1px solid rgba(148,163,184,.18);
border-radius:8px;
padding:10px;
background:rgba(2,6,23,.45);
}

.status-tile strong{
display:block;
font-size:18px;
margin-top:4px;
}

.ops-checklist{
display:grid;
gap:6px;
margin-top:12px;
}

.ops-check{
display:flex;
align-items:center;
gap:8px;
border:1px solid rgba(148,163,184,.18);
border-radius:8px;
padding:8px 10px;
background:rgba(2,6,23,.42);
}

.ops-check span{
display:inline-grid;
place-items:center;
width:24px;
height:24px;
border-radius:8px;
font-size:11px;
font-weight:800;
}

.ops-check.ok span{
background:rgba(34,197,94,.16);
color:#bbf7d0;
}

.ops-check.warn span{
background:rgba(245,158,11,.16);
color:#fde68a;
}

.ops-check.fail span{
background:rgba(239,68,68,.16);
color:#fecaca;
}

@media (max-width:900px){
.status-grid{grid-template-columns:1fr}
}
