:root{
  --bg:#060b14;
  --panel:#0f1829;
  --ink:#edf3ff;
  --muted:#9ba8bf;
  --line:#22314e;
  --brand:#d9b865;
  --brand-strong:#cfa74a;
  --accent:#e8d191;
  --ok:#33c27f;
  --warn:#e5b454;
  --danger:#ff7b7b;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 450px at 80% -10%, rgba(183, 146, 61, .18), transparent 60%),
    radial-gradient(700px 400px at 0% 20%, rgba(57, 92, 168, .18), transparent 55%),
    var(--bg);
}
.container{width:min(1120px,92%);margin:0 auto;padding:24px 0 42px}

.site-shell{min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1}
.nav{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(6,9,15,.82);backdrop-filter:blur(12px)}
.nav-inner{display:flex;align-items:center;gap:18px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;white-space:nowrap}
.brand img{width:30px;height:30px;display:block}
.brand span{font-size:1rem}
.nav-links{margin-left:auto;display:flex;gap:20px}
.nav-links a{color:#c9d6ed;text-decoration:none;font-size:.95rem;font-weight:500}
.nav-links a:hover{color:#fff}
.nav-cta{margin-left:10px;border:1px solid var(--line);border-radius:999px;padding:10px 13px;color:var(--ink);text-decoration:none;font-weight:700;background:linear-gradient(95deg,var(--brand),var(--brand-strong));color:#1a1406}
.footer{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}
.footer-links a{color:#c9d6ed;text-decoration:none;font-size:.9rem}
.footer-links a:hover{color:#fff}

.topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.02);
}
.topbar h1{font-family:Fraunces,serif;letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(1.4rem,2.8vw,2rem)}
.top-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.link{color:#d8e3ff;text-decoration:none;font-weight:600}
.link:hover{text-decoration:underline;color:#fff}

.card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  margin-bottom:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
}
.card h2{margin:0 0 10px;font-family:Fraunces,serif;letter-spacing:-.01em}
.card h3{margin:4px 0;font-family:Fraunces,serif}
.muted{color:var(--muted)}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.stats-grid.six-up{grid-template-columns:repeat(6,minmax(0,1fr))}
.stat-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(255,255,255,.02)}
.stat-card span{display:block;color:#bed0f6;font-size:.85rem}
.stat-card strong{font-size:1.12rem}

.row{display:flex;gap:8px;flex-wrap:wrap}
input,button,select{font:inherit;padding:11px 12px;border-radius:10px}
input,select{
  border:1px solid var(--line);
  background:rgba(8,12,20,.8);
  color:var(--ink);
}
input::placeholder{color:#8f9db9}
.row input{flex:1 1 280px}
button{
  border:0;
  color:#1a1406;
  background:linear-gradient(95deg,var(--brand),var(--brand-strong));
  font-weight:700;
  cursor:pointer;
}
button:hover{filter:brightness(1.05)}
.ghost{
  color:var(--ink);
  background:transparent;
  border:1px solid var(--line);
}

.list{margin:10px 0 0;padding-left:18px}
.list li{margin:8px 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.grid input{width:100%;min-height:44px}
label{display:flex;flex-direction:column;gap:6px;color:#d2def5;font-size:.92rem}
.status{margin:8px 0 2px;font-size:.92rem;color:var(--muted)}
.status.warn{color:var(--warn)}
.status.ok{color:var(--ok)}

.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.section-block{margin-bottom:16px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.section-head h2{margin:0;font-family:Fraunces,serif}
.section-head.compact{margin-bottom:12px}
.section-grid{display:grid;gap:12px;margin-bottom:14px}
.section-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.checklist{margin:0;padding-left:20px;color:#d9e4f8}
.checklist li{margin:8px 0}
.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kv .item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.02)}
.kv .label{display:block;color:#aec3ea;font-size:.8rem;margin-bottom:4px}
.kv .value{font-weight:600}
.tight-list{padding-left:18px;margin-top:6px}
.tight-list li{margin:6px 0}
.action-plan{margin:8px 0 0;padding-left:20px}
.action-plan li{margin:8px 0;line-height:1.45}
.audit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.chart-container {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  background: rgba(255, 255, 255, .02);
  height: 240px;
}
.sticky-actions{position:sticky;bottom:10px;z-index:10}
.output{background:#0f1728;color:#d9e7ff;border-radius:10px;padding:12px;min-height:150px;max-height:360px;overflow:auto;white-space:pre-wrap;border:1px solid rgba(255,255,255,.08)}
.metric-table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--line);border-radius:12px}
.metric-table th,.metric-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}
.metric-table th{color:#b9cbec;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.metric-table tr:last-child td{border-bottom:0}
.delta{font-weight:700}
.delta.up{color:var(--ok)}
.delta.down{color:var(--danger)}
.delta.flat{color:var(--muted)}
.report-topbar{margin-bottom:14px}

.context-bar{
  position:sticky;
  top:72px;
  z-index:15;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(7,12,21,.92);
  backdrop-filter:blur(8px);
  padding:12px;
  margin:0 0 14px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.context-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1;min-width:min(720px,100%)}
.context-fields label{font-size:.82rem;color:#bcd0f5}
.context-fields select{margin-top:5px;width:100%}
.context-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.freshness-pill{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:600}
.freshness-pill.fresh{border-color:rgba(51,194,127,.45);color:#b8f1d3;background:rgba(51,194,127,.12)}
.freshness-pill.stale{border-color:rgba(229,180,84,.45);color:#ffe2ad;background:rgba(229,180,84,.12)}

.domain-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.domain-tab{border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--ink);padding:9px 12px;border-radius:999px;font-weight:600}
.domain-tab.active{background:linear-gradient(95deg,var(--brand),var(--brand-strong));color:#1a1406;border-color:transparent}
.domain-panel{display:none}
.domain-panel.active{display:block}

[data-kpi]{
  text-decoration:underline dotted rgba(191,208,240,.55);
  text-underline-offset:3px;
  cursor:help;
}
.accordion summary{
  cursor:pointer;
  color:#d8e3ff;
  font-weight:600;
  margin-bottom:8px;
}
.accordion[open] summary{margin-bottom:10px}
.table-wrap{overflow:auto}
.action-table th,.action-table td{white-space:nowrap}
.action-table td:first-child{white-space:normal;min-width:320px}

.auth-shell{max-width:880px;margin:0 auto}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-form{display:flex;flex-direction:column;gap:10px}
.hidden{display:none}
.guest-gate{max-width:680px;margin:20px auto}
.guest-gate .cta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.danger{background:rgba(255,123,123,.15);color:#ffd0d0;border:1px solid rgba(255,123,123,.5)}

.mobile-alert-summary{display:none}
.mobile-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mobile-quick-actions button{flex:1 1 140px}
.mobile-expand-trigger{display:none}
.mobile-expand-dialog{border:1px solid var(--line);border-radius:14px;padding:0;background:#0b1220;color:var(--ink);width:min(760px,94vw)}
.mobile-expand-dialog::backdrop{background:rgba(2,6,12,.8)}
.mobile-expand-shell{padding:14px}
.mobile-expand-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.mobile-expand-body{max-height:70vh;overflow:auto}

@media(max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid.six-up{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:1fr}
  .audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-grid.two-col{grid-template-columns:1fr}
  .context-bar{top:64px}
  .context-fields{grid-template-columns:1fr;min-width:100%}
  .topbar{flex-direction:column}
  .nav-inner{flex-wrap:wrap}
  .nav-links{display:flex;order:3;width:100%;margin:6px 0 0;gap:14px;overflow-x:auto;padding-bottom:4px}
  .nav-cta{margin-left:auto}
}
@media(max-width:620px){
  .mobile-alert-summary{display:block}
  .stats-grid{grid-template-columns:1fr}
  .stats-grid.six-up{grid-template-columns:1fr}
  .auth-grid{grid-template-columns:1fr}
  .audit-grid{grid-template-columns:1fr}
  .chart-container{height:180px;}
  .kv{grid-template-columns:1fr}

  .domain-panel.active .card,
  .section-block{padding:14px}

  .mobile-expandable{position:relative}
  .mobile-expand-trigger{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;width:100%}
  .mobile-collapsed-content{display:none}
  .mobile-collapsed-content.mobile-primary{display:block}

  .action-table thead{display:none}
  .action-table,.action-table tbody,.action-table tr,.action-table td{display:block;width:100%}
  .action-table tr{border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:10px;background:rgba(255,255,255,.01)}
  .action-table td{border:0;padding:4px 0;white-space:normal;min-width:0 !important}
  .action-table td::before{content:attr(data-label);display:block;color:#b9cbec;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
  .action-table td[colspan]::before{content:none}
}