:root {
  --panel: rgba(25, 32, 44, .86);
  --panel-border: rgba(148, 163, 184, .18);
  --muted: #94a3b8;
  --accent: #5eead4;
}
body {
  background:
    radial-gradient(circle at top left, rgba(14,165,233,.14), transparent 32rem),
    radial-gradient(circle at 70% 0%, rgba(20,184,166,.10), transparent 26rem),
    #0b1020;
}
.navbar { background: rgba(9, 14, 28, .86); backdrop-filter: blur(12px); }
.glass-card, .chart-card, .card { background: var(--panel); border: 1px solid var(--panel-border); box-shadow: 0 8px 28px rgba(0,0,0,.22); }
.form-control, .form-select { background-color: rgba(15, 23, 42, .82); border-color: rgba(148,163,184,.22); color: #e5e7eb; }
.form-hint, .text-secondary { color: var(--muted)!important; }
.empty-img { font-size: 54px; color: var(--accent); }
.plot { width: 100%; height: 390px; }
.plot.tall { height: 560px; }
.weights-grid { display:grid; grid-template-columns: repeat(5, minmax(96px, 1fr)); gap: 8px; }
.weights-grid label { color: var(--muted); font-size: 12px; }
.weights-grid input { margin-top:4px; }
.weights-grid .unit { font-size: 10px; margin-left: 4px; color: var(--muted); }
.kpi-card { min-height: 96px; }
.kpi-label { color: var(--muted); font-size: 12px; letter-spacing:.03em; text-transform: uppercase; }
.kpi-value { font-size: 22px; font-weight: 800; color: #f8fafc; }
.kpi-sub { color: var(--muted); font-size: 12px; }
.table-sticky { max-height: 520px; overflow:auto; }
.table-sticky thead th { position: sticky; top:0; background:#111827; z-index:1; }
.badge-soft { background: rgba(94,234,212,.12); color:#99f6e4; border:1px solid rgba(94,234,212,.28); }
.insight { padding: 10px 12px; border:1px solid rgba(148,163,184,.18); border-radius: 10px; background: rgba(15,23,42,.5); margin-bottom: 10px; }
.insight .title { font-weight: 700; color:#f8fafc; margin-bottom: 4px; }
@media (max-width: 992px) { .weights-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); } .plot,.plot.tall { height: 420px; } }
