@font-face {
  font-family:Inter;
  src:url('/assets/inter.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

#app:has(.page-overview) {
  --canvas:#070d1b;
  --shell:#0a1428;
  --surface:#101f38;
  --inset:#0a172c;
  --border:#253c59;
  --text:#f4f7fd;
  --muted:#aebfd3;
  --subtle:#98abc2;
  --display:Inter,'Segoe UI',system-ui,sans-serif;
  font-family:var(--display);
  background:radial-gradient(ellipse 850px 560px at 57% 0%,#142c59 0%,#0a152a 52%,var(--canvas) 100%);
}
.side-brand { display:flex; align-items:center; justify-content:space-between; gap:4px; }
.sidebar-toggle {
  display:grid; place-items:center; width:30px; height:32px; flex:none; border:1px solid var(--border);
  border-radius:7px; background:var(--inset); color:var(--muted); transition:color .16s,background .16s;
}
.sidebar-toggle:hover { color:var(--text); background:#1b3550; }
#app:has(.page-overview) .sidebar .nav-link.selected {
  color:#f1f7ff; border-color:#31588d; background:linear-gradient(110deg,#183a70,#151f3a);
  box-shadow:inset 2px 0 #589aff,0 4px 15px #040a1650;
}
@media (min-width:901px) {
  .sidebar-compact { --side:70px; }
  .sidebar-compact .sidebar { padding-inline:8px; }
  .sidebar-compact .side-brand { flex-direction:column; gap:5px; padding:9px 0; }
  .sidebar-compact .sidebar .brand { padding:0; min-height:0; }
  .sidebar-compact .sidebar .brand-mark { width:35px; height:35px; }
  .sidebar-compact .sidebar .brand > span:last-child,.sidebar-compact .side-label,
  .sidebar-compact .sidebar .nav-link > span,.sidebar-compact .side-foot > div:last-child { display:none; }
  .sidebar-compact .sidebar .nav-link,.sidebar-compact .side-foot { justify-content:center; }
  .sidebar-compact .side-main { padding-top:14px; }
}
.mobile-more { display:none; }
@media (max-width:900px) {
  .workspace { padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
  .mobile-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .mobile-more { display:block; position:relative; min-width:0; }
  .mobile-more > summary { list-style:none; cursor:pointer; }
  .mobile-more[open] > summary { color:var(--text); background:#16314f; }
  .mobile-more > div {
    position:absolute; right:0; bottom:calc(100% + 8px); min-width:190px; padding:6px;
    border:1px solid #3a5572; border-radius:10px; background:#102137; box-shadow:0 10px 25px #0008;
  }
  .mobile-more > div .nav-link { flex-direction:row; justify-content:flex-start; gap:7px; font-size:12px; padding:6px 8px; }
  .mobile-more > div .nav-link > .icon { display:block; }
}

.page-overview {
  --dash-raised:#11213a;
  --dash-inset:#0a1528;
  --dash-line:#2b4160;
  --dash-shadow:0 12px 32px #02061265;
  padding-top:22px;
}
.page-overview h2,.page-overview h3 { font-family:var(--display); }
.page-overview [id] { scroll-margin-top:18px; }
.dash-label {
  color:#91bae4; font-size:10px; font-weight:720; line-height:1.4; letter-spacing:.13em;
}
.dash-lead {
  align-items:center; margin-bottom:13px; padding:0; gap:12px;
}
.dash-lead h1 { margin-top:2px; font-size:clamp(28px,3.3vw,45px); letter-spacing:-.052em; }
.dash-lead-description { margin-top:5px; max-width:65ch; color:var(--muted); font-size:12px; }
.dash-header-meta { display:flex; align-items:flex-end; gap:15px; }
.dash-header-meta > div { display:grid; gap:4px; justify-items:end; color:var(--subtle); font-size:10px; white-space:nowrap; }
.dash-header-meta time { color:var(--muted); }
.dash-header-meta label,.dash-filters label { color:var(--muted); font-size:11px; gap:4px; }
.dash-header-meta select,.dash-filters select { min-height:35px; padding:5px 8px; font-size:12px; }
.dash-connection { display:inline-flex; align-items:center; gap:5px; color:#99e0c8; }
.dash-connection::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }
.dash-connection[data-state=error] { color:var(--amber); }
.dash-demo {
  display:flex; flex-wrap:wrap; align-items:center; gap:3px 8px; margin:0 0 11px; padding:6px 9px;
  color:#abc4df; border:1px solid #233b57; background:#0d1e32; border-radius:7px; font-size:11px;
}
.dash-demo .icon,.dash-demo strong { color:#b6d8fa; }
.dash-section-head { display:flex; align-items:center; justify-content:space-between; gap:9px; }
.dash-section-head h2 { font-size:clamp(17px,1.8vw,22px); font-weight:700; letter-spacing:-.035em; margin-top:2px; line-height:1.18; }
.dash-spotlight {
  overflow:hidden; margin-bottom:22px; border:1px solid #406397; border-radius:17px;
  background:radial-gradient(ellipse at 90% -25%,#674cba90,transparent 60%),
    radial-gradient(ellipse at 58% 0%,#174e9a,transparent 76%),linear-gradient(118deg,#101e3c,#101935);
  box-shadow:var(--dash-shadow),inset 0 1px #c8e1ff28;
}
.dash-spotlight > .dash-section-head { padding:14px 19px 10px; }
.dash-spotlight .dash-label { color:#8bcbff; }
.dash-spotlight > .dash-section-head h2 { font-size:20px; font-weight:650; }
.page-overview .pill {
  --pill-color:#bbcade;
  color:var(--pill-color);
  background:color-mix(in srgb,var(--pill-color) 10%,#0a1728);
  border:1px solid color-mix(in srgb,var(--pill-color) 22%,transparent);
  border-radius:999px;
  font-weight:650;
}
.page-overview .pill.featured { --pill-color:#8fe0bf; }
.page-overview .pill.watch { --pill-color:#f1ce8c; }
.page-overview .pill.below { --pill-color:#f6a9bc; }
.page-overview .pill.insufficient { --pill-color:#d0b9ff; }
.page-overview .pill.offline { --pill-color:#a7b4c8; }
.dash-spotlight > .dash-section-head .pill { padding:5px 10px; font-size:11px; }
.dash-spot-body {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  align-items:center; padding:6px 19px 17px; gap:20px;
}
.dash-spot-method { display:flex; align-items:center; gap:7px; color:#bfdbf5; font-size:11px; }
.dash-spot-method span,.dash-mode { padding:4px 6px; border-radius:5px; background:#1e3853; color:#c6e4ff; font:700 10px/1.1 var(--mono); }
.dash-spot-room h3 { margin-top:7px; font-size:clamp(16px,2.1vw,30px); line-height:1.16; letter-spacing:-.035em; overflow-wrap:anywhere; }
.dash-spot-evidence { display:flex; align-items:flex-start; gap:6px; margin-top:8px; color:#c3d8ec; font-size:11px; }
.dash-spot-evidence .icon { color:#91d8bd; margin-top:1px; }
.dash-spot-link {
  min-height:34px; margin-top:10px; padding:0 11px; border:1px solid #528cff;
  border-radius:8px; background:linear-gradient(112deg,#1762d5,#3e54bd); color:#fff;
  box-shadow:0 4px 14px #09276980; transition:background .18s,border-color .18s;
}
.dash-spot-link:hover { background:#245cd1; border-color:#9bcaff; }
.dash-spot-readout {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:13px; min-width:0;
  padding:13px 15px; border:1px solid #a3c6ff42; border-radius:13px; background:#091734a6;
  box-shadow:inset 0 1px #cce5ff16,0 7px 17px #080f2b42;
}
.dash-spot-score { min-width:0; font-variant-numeric:tabular-nums; }
.dash-spot-score strong { display:block; margin:5px 0 6px; font-size:clamp(38px,4.6vw,72px); font-weight:720; letter-spacing:-.075em; line-height:.97; }
.dash-spot-score strong { color:#eef5ff; text-shadow:0 0 24px #4f99fb44; }
.dash-spot-score small,.dash-spot-score p,.dash-spot-plot small { color:#abc4de; font-size:10px; }
.dash-spot-score p b { color:#e8f3ff; font-size:12px; }
.dash-spot-plot { min-width:0; padding-left:12px; border-left:1px solid #4a6598; color:#bddbf6; --series:#6fbbff; font-size:11px; }
.dash-spot-plot .sparkline { height:57px; }
.dash-spot-plot > span,.dash-spot-plot > small { display:flex; align-items:center; gap:5px; }
.dash-spot-plot > small { margin-top:2px; }
.dash-spot-empty { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:105px; padding:13px 16px; }
.dash-empty-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:8px; background:#1a3d60; color:#91cdff; }
.dash-spot-empty h3 { font-size:15px; }
.dash-spot-empty p { margin-top:4px; color:#bed2e8; font-size:11px; }
.dash-spot-empty > a { margin-left:auto; }
.dash-rooms { margin-bottom:14px; }
.dash-room-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:10px; }
.dash-room-grid > .empty { grid-column:1/-1; }
.dash-room {
  --series:#59abff; min-width:0; display:flex; flex-direction:column; gap:5px; padding:11px;
  border:1px solid color-mix(in srgb,var(--series) 29%,#1b2a44); border-radius:13px;
  background:linear-gradient(154deg,color-mix(in srgb,var(--series) 14%,#11213a),#0c182c 67%);
  box-shadow:0 6px 18px #02081155,inset 0 1px #d0e3ff13;
  transition:border-color .18s,box-shadow .18s;
}
.dash-room[data-series=G1] { --series:#b892ff; }
.dash-room[data-series=G2] { --series:#59ddd4; }
.dash-room[data-state=below] { --series:#ff827e; }
.dash-room[data-state=insufficient] { --series:#d0a5ff; }
.dash-room[data-state=offline] { --series:#71a5c5; }
.dash-room:hover,.dash-room:focus-within {
  border-color:color-mix(in srgb,var(--series) 66%,#223853); box-shadow:0 9px 24px #01071180,inset 0 1px #d5edff24;
}
.dash-room-status,.dash-room-method,.dash-room-foot { display:flex; align-items:center; justify-content:space-between; gap:5px; }
.dash-room .dash-mode {
  display:inline-flex; flex:none; align-items:center; gap:4px; min-height:25px;
  background:color-mix(in srgb,var(--series) 26%,#10213b); color:#f4f7ff;
  border:1px solid color-mix(in srgb,var(--series) 48%,transparent);
  box-shadow:0 3px 12px color-mix(in srgb,var(--series) 18%,transparent);
}
.dash-room .dash-mode .icon { color:var(--series); }
.dash-room-status .pill { font-size:9px; padding:3px 5px; min-height:20px; }
.dash-room h3 { font-size:12px; line-height:1.3; font-weight:710; min-height:31px; overflow-wrap:anywhere; }
.dash-room-rate strong { display:block; margin-top:3px; font-size:clamp(22px,2.3vw,32px); line-height:1; letter-spacing:-.055em; font-weight:720; font-variant-numeric:tabular-nums; }
.dash-room-rate small,.dash-room-plot .spark-empty { color:#abc0d9; font-size:10px; }
.dash-room-plot { display:grid; align-items:center; min-height:38px; }
.dash-room-plot .sparkline { height:38px; width:100%; }
.dash-room-plot .spark-empty { padding:3px 0; }
.page-overview .sparkline { color:var(--series); overflow:visible; }
.page-overview .spark-grid { stroke:#5a83a7; stroke-opacity:.37; stroke-dasharray:2 5; }
.page-overview .spark-line { stroke-width:2; filter:drop-shadow(0 0 2px var(--series)); }
.page-overview .spark-end { stroke:#122a41; stroke-width:1.3; }
.dash-room-method { justify-content:flex-start; font-size:10px; color:var(--subtle); }
.dash-room-method b { color:var(--muted); overflow-wrap:anywhere; }
.dash-room-method span:last-child { margin-left:auto; flex:none; }
.dash-room-foot {
  margin-top:auto; padding-top:3px; border-top:1px solid var(--border); color:var(--subtle); font-size:9px;
}
.dash-room-foot a { display:inline-flex; align-items:center; min-height:26px; gap:3px; color:#a9d5ff; font-size:10px; font-weight:650; }
.dash-room-foot a:hover { color:white; }
.dash-room-note { margin-top:6px; font-size:10px; color:var(--subtle); }
.dash-overview-grid {
  display:grid; grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); gap:11px; margin-bottom:14px;
}
.dash-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.dash-kpi {
  --tone:#56a8ff;
  min-width:0; display:flex; align-items:center; gap:9px; padding:10px;
  border:1px solid #2b4262; border-radius:11px;
  background:linear-gradient(145deg,#142642,#0c182d 88%); box-shadow:0 4px 12px #02061146;
}
.dash-kpi[data-tone=green] { --tone:#56e1a6; }
.dash-kpi[data-tone=amber] { --tone:#ffca68; }
.dash-kpi[data-tone=coral] { --tone:#ff827f; }
.dash-kpi[data-tone=violet] { --tone:#ad8bff; }
.dash-kpi[data-tone=cyan] { --tone:#67d4f2; }
.dash-kpi-icon {
  display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:9px; color:#f5f8ff;
  border:1px solid color-mix(in srgb,var(--tone) 68%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 75%,#17314d),color-mix(in srgb,var(--tone) 36%,#111f38));
  box-shadow:0 3px 11px color-mix(in srgb,var(--tone) 23%,transparent),inset 0 1px #ffffff42;
}
.dash-kpi > div { min-width:0; }
.dash-kpi > div > span { display:block; color:var(--muted); font-size:10px; line-height:1.3; }
.dash-kpi b { display:block; margin-top:3px; font-size:19px; font-weight:710; line-height:1.1; font-variant-numeric:tabular-nums; }
.dash-distribution {
  margin:0; min-width:0; padding:11px 13px;
  background:radial-gradient(ellipse at 18% 20%,#1a2e51,#0e1a2f 70%);
  border:1px solid #2d4465; border-radius:12px; box-shadow:0 5px 15px #02061150;
}
.dash-distribution figcaption { color:var(--text); font-weight:650; font-size:13px; }
.dash-distribution-body { display:grid; grid-template-columns:94px minmax(0,1fr); align-items:center; gap:12px; margin-top:5px; }
.dash-ring { position:relative; aspect-ratio:1; }
.dash-ring svg { display:block; width:100%; }
.dash-ring circle { fill:none; stroke-width:13; }
.dash-ring-track { stroke:#243655; }
.dash-ring-segment { stroke:var(--status-tone); }
.dash-ring > div { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.dash-ring strong { font-size:23px; line-height:1; font-variant-numeric:tabular-nums; }
.dash-ring span { margin-top:3px; color:var(--subtle); font-size:10px; }
.dash-distribution [data-status=featured] { --status-tone:#56e1a6; }
.dash-distribution [data-status=watch] { --status-tone:#ffca68; }
.dash-distribution [data-status=below] { --status-tone:#ff827f; }
.dash-distribution [data-status=insufficient] { --status-tone:#ad8bff; }
.dash-distribution [data-status=offline] { --status-tone:#78a8dd; }
.dash-distribution ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.dash-distribution li { display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:6px; font-size:10px; color:var(--muted); }
.dash-distribution li i { width:6px; height:6px; border-radius:2px; background:var(--status-tone); }
.dash-distribution li b { color:var(--text); font-variant-numeric:tabular-nums; }

.dash-analysis-grid,.dash-records { display:grid; gap:14px; margin-bottom:14px; align-items:start; }
.dash-analysis-grid { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); }
.dash-records { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dash-analysis-grid > :only-child,.dash-records > :only-child { grid-column:1/-1; }
.dash-panel { min-width:0; padding:15px; border:1px solid var(--dash-line); border-radius:14px; background:var(--dash-raised); box-shadow:var(--dash-shadow); }
.dash-panel-icon {
  width:35px; height:35px; display:grid; flex:none; place-items:center;
  color:#d5ecff; background:linear-gradient(135deg,#205eae,#16345c); border:1px solid #3f70aa; border-radius:9px;
  box-shadow:0 4px 11px #06122690,inset 0 1px #c1deff30;
}
.dash-timeline { background:radial-gradient(ellipse at 5% 0%,#1a3052,#101d34 70%); }
.dash-caption { margin-top:6px; color:var(--subtle); font-size:11px; }
.dash-evidence .dash-panel { background:linear-gradient(145deg,#16314b,#101d33 72%); }
.dash-evidence-lead { margin-top:12px; color:#bbddff; font-weight:700; }
.dash-evidence ul { list-style:none; margin:10px 0 4px; padding:0; }
.dash-evidence li { display:grid; grid-template-columns:minmax(0,1fr) minmax(58px,auto) minmax(68px,auto); gap:10px; align-items:start; padding:9px 0; border-top:1px solid var(--dash-line); }
.dash-evidence li > div:not(:first-child) { text-align:right; }
.dash-evidence li a,.dash-evidence li strong { font-size:12px; font-weight:690; overflow-wrap:anywhere; }
.dash-evidence li a:hover { color:#8bd0ff; }
.dash-evidence li b { font-size:13px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.dash-evidence li small { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
.dash-evidence .dash-evidence-state:is([data-state=passed],[data-state=above]) { color:var(--green); }
.dash-filters { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) auto; gap:7px; align-items:end; margin:10px 0; }
.dash-filters .tabs { align-self:end; }
.dash-filters select { min-width:0; max-width:100%; text-overflow:ellipsis; }
.dash-plot-summary { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 9px; margin:8px 0 6px; }
.dash-plot-summary > strong { font-size:31px; letter-spacing:-.055em; line-height:1.15; font-variant-numeric:tabular-nums; }
.dash-plot-summary > span { color:var(--subtle); font-size:11px; }
.dash-plot-summary b { color:#a0d5ff; padding-left:2px; }
.dash-chart { position:relative; padding-top:3px; }
.dash-chart svg { display:block; width:100%; }
.dash-chart .chart-label { fill:#9fb5cc; font:500 12px Inter,system-ui,sans-serif; }
.dash-chart .grid-line { stroke:#5b7997; stroke-opacity:.29; stroke-dasharray:none; }
.dash-curve { fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; animation:draw-in .38s ease-out both; }
.dash-area { animation:draw-in .45s ease-out both; }
.dash-curve.current { stroke:#59b5ff; filter:drop-shadow(0 0 3px #278cff); }
.dash-curve.previous { stroke:#ba98fb; stroke-dasharray:4 5; stroke-width:2; }
.dash-point.current { fill:#8bd8ff; stroke:#173656; stroke-width:1; }
.dash-point.previous { fill:#c4adf2; stroke:#20364d; stroke-width:1; }
.dash-hit { fill:transparent; cursor:crosshair; outline:none; }
.dash-guide { pointer-events:none; }
.dash-guide line { stroke:#a0cef5; stroke-opacity:.67; stroke-width:1; stroke-dasharray:4 4; }
.dash-guide circle { stroke:#112238; stroke-width:2; }
.dash-guide .current { fill:#8bd8ff; }
.dash-guide .previous { fill:#c4adf2; }
.dash-tooltip {
  position:absolute; left:0; top:5px; z-index:1; width:max-content; max-width:calc(100% - 4px); padding:7px 9px;
  pointer-events:none; background:#081726; border:1px solid #4c7193; border-radius:8px;
  box-shadow:0 7px 23px #010811aa; color:#e4f1ff; font-size:11px; line-height:1.45;
}
.dash-tooltip > div { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1px 10px; padding:4px 0; }
.dash-tooltip > div + div { border-top:1px solid #294057; }
.dash-tooltip span { display:flex; align-items:center; gap:4px; color:#adc5db; }
.dash-tooltip i { width:6px; height:6px; border-radius:50%; background:#68caff; }
.dash-tooltip div:nth-child(2) i { background:#ba98fb; }
.dash-tooltip b { font-weight:660; font-variant-numeric:tabular-nums; }
.dash-legend { display:flex; flex-wrap:wrap; align-items:center; gap:5px 11px; padding-top:7px; border-top:1px solid var(--border); color:var(--muted); font-size:10px; }
.dash-legend span { display:flex; align-items:center; gap:4px; }
.dash-legend span:last-child { margin-left:auto; color:var(--subtle); }
.dash-legend i { width:11px; height:2px; background:#55c4ff; }
.dash-legend span:nth-child(2) i { background:none; border-top:2px dashed #ba98fb; }
.dash-plot-state { display:flex; align-items:center; gap:7px; min-height:85px; padding:10px; color:var(--muted); font-size:11px; }
.dash-ranking { background:radial-gradient(ellipse at 93% -10%,#362e5b,#101d33 65%); }
.dash-ranking .dash-panel-icon { background:linear-gradient(135deg,#6750a8,#39265d); border-color:#765bba; }
.dash-ranking ol,.dash-insights ul { list-style:none; padding:0; margin:10px 0; }
.dash-ranking ol { display:grid; gap:4px; }
.dash-ranking li {
  display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:8px; align-items:center;
  padding:8px 5px; border:1px solid transparent; border-top-color:#2a4057; transition:background .18s,border-color .18s;
}
.dash-ranking li:first-child { border:1px solid #5e4f89; border-radius:9px; background:linear-gradient(106deg,#2d2851,#192644); }
.dash-ranking li:hover,.dash-ranking li:focus-within { border-color:#406484; border-radius:9px; background:#1a3048; }
.dash-rank-num {
  display:grid; place-items:center; width:28px; height:30px; border-radius:7px;
  color:#9fbde0; background:#14263a; border:1px solid #2a4159; font:700 10px var(--mono);
}
.dash-ranking li:first-child .dash-rank-num { color:#e0d5ff; background:#433269; border-color:#70589f; }
.dash-ranking li a,.dash-insights li a { display:block; font-size:12px; font-weight:690; line-height:1.35; overflow-wrap:anywhere; }
.dash-ranking li a:hover,.dash-insights li a:hover { color:#8bd0ff; }
.dash-ranking li small { display:block; margin-top:3px; color:var(--subtle); font-size:10px; }
.dash-rank-room .pill { margin-top:5px; padding:2px 5px; font-size:9px; }
.dash-rank-result { text-align:right; }
.dash-rank-result b { font-size:18px; font-weight:710; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.dash-rank-result .dash-rank-trend { display:flex; align-items:center; justify-content:flex-end; gap:3px; white-space:nowrap; }
.dash-rank-trend[data-trend=up] { color:var(--green); }
.dash-rank-trend[data-trend=down] { color:var(--red); }
.dash-ranking > .text-link { min-height:28px; }
.dash-insights { background:radial-gradient(ellipse at 96% 0%,#1a3f49,#0f2034 66%); }
.dash-insights .dash-panel-icon { background:linear-gradient(135deg,#1b6a73,#16404c); border-color:#3e8290; }
.dash-insights ul { display:grid; gap:7px; }
.dash-insights li {
  display:flex; align-items:flex-start; gap:8px; padding:9px; border:1px solid #2b435b;
  background:#0d1c2e; border-radius:8px;
}
.dash-insight-icon { display:grid; flex:none; place-items:center; width:28px; height:28px; border-radius:6px; background:#193650; color:#93c5f5; }
.dash-insights li[data-state=below] .dash-insight-icon { color:#f0a5b8; background:#34273a; }
.dash-insights li a .icon { color:#8dbce8; margin-left:2px; }
.dash-insights li p { color:var(--muted); font-size:11px; margin-top:4px; }
.dash-records .history { margin:0; background:linear-gradient(151deg,#162841,#0d1b2d 72%); border-color:var(--dash-line); box-shadow:var(--dash-shadow); }
.dash-records .history .panel-head h2 { font-weight:680; }
.dash-records .history li { grid-template-columns:76px 9px minmax(0,1fr); gap:8px; position:relative; border-top-color:#20364c; }
.dash-records .history li time { font-size:10px; color:#a5bed8; }
.dash-records .history li small { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin-top:3px; font-size:10px; }
.dash-records .history .history-dot { width:7px; height:7px; background:#85a6c8; box-shadow:0 0 0 3px #85a6c81b; }
.dash-records .history [data-state=featured] .history-dot { background:#8bdbbb; }
.dash-records .history [data-state=below] .history-dot { background:#e693a9; }
.dash-records .history [data-state=watch] .history-dot { background:#e7bd76; }
.dash-records .history .pill { font-size:9px; padding:2px 5px; }
.dash-records .history-more summary { min-height:36px; padding-top:8px; }
.dash-skeleton { display:grid; gap:10px; color:var(--subtle); font-size:12px; }
.dash-skeleton > span,.dash-skeleton > div,.dash-skeleton section span {
  display:block; border:1px solid #263e57; border-radius:9px; background:#12233a;
}
.dash-skeleton > span { width:min(280px,75%); height:33px; }
.dash-skeleton > div { height:146px; }
.dash-skeleton > section { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.dash-skeleton section span { height:100px; }


@media (max-width:1150px) {
  .dash-room-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dash-analysis-grid { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); }
}
@media (max-width:720px) {
  .page-overview { padding-top:14px; }
  .dash-lead { display:grid; gap:8px; margin-bottom:9px; }
  .dash-lead-description { margin-top:4px; font-size:11px; }
  .dash-header-meta { justify-content:space-between; align-items:center; gap:7px; }
  .dash-header-meta > div { display:flex; flex-wrap:wrap; gap:3px 8px; white-space:normal; }
  .dash-header-meta > div > span { white-space:nowrap; }
  .dash-header-meta label { flex:none; }
  .dash-spotlight { margin-bottom:17px; }
  .dash-spotlight > .dash-section-head { padding:11px 12px 8px; }
  .dash-spotlight > .dash-section-head h2 { font-size:17px; }
  .dash-spot-body { padding:4px 12px 12px; gap:10px; grid-template-columns:minmax(0,1fr); }
  .dash-spot-room h3 { font-size:17px; }
  .dash-spot-evidence { font-size:11px; }
  .dash-spot-link { min-height:36px; font-size:11px; }
  .dash-spot-readout { gap:9px; padding:8px 10px; }
  .dash-spot-score strong { font-size:clamp(35px,10vw,54px); margin:4px 0; }
  .dash-spot-plot { padding-left:9px; font-size:10px; }
  .dash-spot-plot small { font-size:9px; }
  .dash-spot-plot .sparkline { height:34px; }
  .dash-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .dash-room { padding:8px; gap:6px; }
  .dash-room-rate strong { font-size:23px; }
  .dash-room-foot a { min-height:35px; }
  .dash-overview-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
  .dash-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .dash-kpi { padding:7px; gap:6px; }
  .dash-kpi-icon { width:28px; height:28px; }
  .dash-kpi-icon .icon { width:14px; height:14px; }
  .dash-kpi b { font-size:16px; }
  .dash-analysis-grid,.dash-records { grid-template-columns:minmax(0,1fr); }
  .dash-panel { padding:12px; }
  .dash-filters { grid-template-columns:minmax(0,1.12fr) minmax(0,.82fr) auto; gap:5px; }
  .dash-filters .tabs.compact button { min-height:32px; padding-inline:5px; }
  .dash-chart .chart-label { font-size:18px; }
  .dash-chart svg { min-height:137px; }
  .dash-legend span:last-child { margin-left:0; }
  .dash-skeleton > section { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:390px) {
  .dash-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dash-filters .tabs { justify-self:start; }
  .dash-room-foot { flex-wrap:wrap; }
  .dash-room-foot a { margin-left:auto; }
  .dash-spot-plot .icon { width:11px; }
  .dash-spotlight > .dash-section-head .pill { font-size:10px; padding:4px 6px; }
  .dash-room-status .pill { font-size:8px; padding:3px 4px; }
}

