:root {
  --navy: #081225;
  --navy-2: #0f1f3d;
  --panel: #ffffff;
  --border: #d8dee8;
  --muted: #64748b;
}
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
.hero { background: linear-gradient(135deg, var(--navy), #102852 60%, #18366b); }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .68rem; color: #93c5fd; font-weight: 700; }
.status-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; padding: 1rem; }
.status-label { color: #94a3b8; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .35rem; }
.status-value { font-size: 1.15rem; font-weight: 800; }
.card-shell, .panel-card { background: var(--panel); border: 1px solid var(--border); border-radius: 1.25rem; padding: 1rem; box-shadow: 0 10px 30px rgba(15, 23, 42, .05); }
.section-title { font-size: 1.1rem; font-weight: 800; }
.section-sub { font-size: .84rem; color: var(--muted); margin-top: .15rem; }
.btn-primary, .btn-secondary { border-radius: 999px; font-weight: 700; padding: .7rem 1rem; font-size: .84rem; }
.btn-primary { background: #0f172a; color: white; }
.btn-secondary { background: white; color: #0f172a; border: 1px solid var(--border); }
.source-card { border: 1px solid var(--border); border-radius: 1rem; padding: .85rem; background: #f8fafc; }
.source-card .tag { display: inline-block; padding: .18rem .55rem; border: 1px solid #cbd5e1; border-radius: 999px; font-size: .68rem; color: #475569; margin-top: .5rem; }
.panel-head { display: flex; justify-content: space-between; align-items: center; color: #94a3b8; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.panel-title { font-size: 1.3rem; line-height: 1.05; font-weight: 900; margin: .4rem 0 .85rem; }
.kpi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.kpi { border: 1px solid var(--border); background: #f8fafc; border-radius: .9rem; padding: .75rem; }
.kpi span { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; }
.kpi strong { display: block; font-size: 1.25rem; line-height: 1.1; margin-top: .4rem; font-weight: 900; }
.chart-wrap { position: relative; height: 210px; margin-top: 1rem; border: 1px solid var(--border); border-radius: 1rem; padding: .8rem; background: #fff; }
.table-card { margin-top: 1rem; border: 1px solid var(--border); border-radius: 1rem; overflow: hidden; }
.table-title { padding: .75rem .85rem; background: #f8fafc; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 800; color: #64748b; }
.table-scroll { max-height: 220px; overflow: auto; }
.table-scroll table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.table-scroll th, .table-scroll td { padding: .55rem .65rem; border-top: 1px solid #edf2f7; vertical-align: top; }
.table-scroll th { position: sticky; top: 0; background: white; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; color: #64748b; text-align: left; }
.alert { border-radius: 1rem; border: 1px solid var(--border); padding: .9rem 1rem; background: #fff; }
.alert-top { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.alert-title { font-weight: 800; }
.alert-tag { border-radius: 999px; padding: .2rem .55rem; font-size: .7rem; font-weight: 800; }
.alert-red { background: #fee2e2; color: #991b1b; }
.alert-yellow { background: #fef3c7; color: #92400e; }
.alert-green { background: #dcfce7; color: #166534; }
.alert-copy { color: #475569; font-size: .88rem; margin-top: .45rem; }
.alert-action { margin-top: .45rem; font-size: .82rem; color: #0f172a; font-weight: 700; }
.health-badge { border: 1px solid var(--border); border-radius: 999px; padding: .45rem .8rem; display: inline-flex; gap: .55rem; align-items: center; background: #f8fafc; }
.health-badge span { font-size: .78rem; color: #475569; }
.health-badge strong { font-size: 1.1rem; }
.row-health { display: flex; justify-content: space-between; gap: 1rem; border: 1px solid var(--border); border-radius: .95rem; padding: .8rem .9rem; }
.row-health .meta { color: #64748b; font-size: .8rem; }
code { background: #e2e8f0; padding: .1rem .3rem; border-radius: .3rem; }
.hidden { display:none; }
