.analytics-page { background: #040b15; }
.kasc-grid {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem;
  padding-bottom: 6rem;
}
.kasc-grid > .card { padding: clamp(1rem, 2.5vw, 1.6rem); }
.span-full { grid-column: 1 / -1; }
.page-title { margin: .35rem 0 .45rem; font-size: clamp(2rem, 4vw, 3.8rem); }
.section-title { font-size: 1.05rem; font-weight: 760; letter-spacing: -.015em; }
.help { max-width: 900px; margin-top: .45rem; color: var(--text-dim); font-size: .78rem; }
.row { display: flex; }
.between { justify-content: space-between; }
.align-end { align-items: flex-end; }
.align-center { align-items: center; }
.wrap { flex-wrap: wrap; }
.gap-1 { gap: 1rem; }
.gap-05 { gap: .5rem; }
.controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .65rem; }
.group { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.group label { font-size: .7rem; }
.pill { min-height: 2.35rem; padding: .5rem .76rem; color: var(--text-soft); border-color: var(--line); background: rgba(255,255,255,.025); font-size: .72rem; }
.pill:hover, .pill.active { color: var(--ink-950); border-color: var(--accent); background: var(--accent); }
.muted { color: var(--text-dim); }
.mt-3 { margin-top: 1rem; }
.text-sm { font-size: .74rem; }
.stack { display: grid; gap: 1rem; }
.chart-wrap { position: relative; width: 100%; overflow: hidden; border: 1px solid rgba(255,255,255,.055); border-radius: .85rem; background: rgba(0,0,0,.16); }
.chart-md { height: clamp(320px, 43vw, 520px); }
.chart-lg { height: clamp(380px, 52vw, 610px); }
.chart-wrap canvas { width: 100% !important; height: 100% !important; }
.metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: .75rem; }
.metric { padding: 1rem; border: 1px solid var(--line); border-radius: .78rem; background: rgba(255,255,255,.025); }
.metric .label { min-height: 2.4em; color: var(--text-dim); font-size: .68rem; }
.metric .value { margin: .5rem 0 .25rem; color: var(--text); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; letter-spacing: -.04em; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: .75rem; }
.perf-table { min-width: 780px; }
.perf-table th { position: sticky; top: 0; background: #0b1928; }
.perf-table td, .perf-table th { text-align: right; white-space: nowrap; }
.perf-table td:first-child, .perf-table th:first-child { position: sticky; left: 0; text-align: left; background: #0b1928; }
.no-wrap { white-space: nowrap; }
#phaseBadge { cursor: default; }
@media (max-width: 980px) { .metrics { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) {
  .kasc-grid { padding-top: calc(var(--header-h) + 2.5rem); gap: .75rem; }
  .kasc-grid > .card { padding: 1rem; }
  .row.between { display: grid; gap: 1rem; }
  .controls, .group { align-items: stretch; }
  .group { width: 100%; }
  .group input, .group select, .group .pill { flex: 1 1 140px; }
  .metrics { grid-template-columns: 1fr; }
  .chart-md, .chart-lg { height: 350px; }
}
.analytics-page main { background: radial-gradient(circle at 85% 5%, rgba(92,242,199,.07), transparent 28rem), #040b15; }
.analytics-page .kasc-grid { padding-top: calc(var(--header-h) + 3.5rem); }
.analytics-page select, .analytics-page input[type="month"] { min-height: 2.35rem; }
.analytics-page .btn { width: max-content; }
.analytics-page .site-footer { margin-top: 0; }
