:root {
  color-scheme: dark;
  --bg: #090c09;
  --ink: #050705;
  --surface: #111611;
  --surface-alt: #171d16;
  --surface-strong: #1d251a;
  --hover: #1b2319;
  --border: #2b3627;
  --border-strong: #46533e;
  --text: #eef4e9;
  --text-dim: #aeb9a8;
  --text-muted: #778270;
  --accent: #8bd11f;
  --accent-dark: #a6ff2f;
  --accent-dim: rgba(139,209,31,0.14);
  --blue: #5ca7f2;
  --blue-dim: rgba(92,167,242,0.14);
  --rust: #e07a46;
  --success: #60d985;
  --success-dim: rgba(96,217,133,0.13);
  --danger: #ff6f61;
  --danger-dim: rgba(255,111,97,0.12);
  --warning: #f2b84b;
  --warning-dim: rgba(242,184,75,0.13);
  --radius: 6px;
  --radius-sm: 4px;
  --shadow: 0 16px 42px rgba(0,0,0,0.38);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100vh;font-family:'Inter',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(238,244,233,0.035) 1px,transparent 1px),linear-gradient(0deg,rgba(238,244,233,0.03) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
body::after{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(139,209,31,0.08),transparent 30%),linear-gradient(300deg,rgba(92,167,242,0.07),transparent 32%);pointer-events:none}
button,input,select{font:inherit}
button{cursor:pointer}
#app{min-height:100vh;opacity:0;transition:opacity 0.25s ease}
#app.visible{opacity:1}

/* Shell */
nav{position:fixed;inset:0 auto 0 0;z-index:200;width:260px;padding:22px 16px;display:flex;flex-direction:column;gap:18px;background:var(--ink);color:var(--text);border-right:1px solid var(--border);box-shadow:18px 0 50px rgba(0,0,0,0.35)}
nav::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--accent),var(--blue),var(--rust))}
.nav-brand{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:48px;font-size:18px;font-weight:800;letter-spacing:0;color:var(--text);white-space:nowrap}
.nav-brand::before{content:'N';display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(139,209,31,0.55);background:linear-gradient(145deg,rgba(139,209,31,0.18),rgba(255,255,255,0.04));color:var(--accent);font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:700;border-radius:var(--radius)}
.nav-brand span{display:block;color:var(--text);font-weight:800}
.nav-tabs{display:flex;flex-direction:column;gap:6px}
.nav-tab{display:grid;grid-template-columns:38px 1fr;align-items:center;min-height:42px;padding:0 10px 0 0;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:#aeb9a8;font-size:13px;font-weight:650;text-align:left;transition:background 0.16s,border-color 0.16s,color 0.16s}
.nav-tab::before{content:attr(data-key);display:flex;align-items:center;justify-content:center;height:100%;font-family:'JetBrains Mono',monospace;font-size:10px;color:#778270;border-right:1px solid rgba(255,255,255,0.08)}
.nav-tab:hover{background:rgba(255,255,255,0.055);border-color:rgba(255,255,255,0.08);color:var(--text)}
.nav-tab.active{background:rgba(139,209,31,0.13);border-color:rgba(139,209,31,0.36);color:var(--text)}
.nav-tab.active::before{color:var(--accent)}
.nav-status{margin-top:auto;padding:12px;border:1px solid rgba(255,255,255,0.09);border-radius:var(--radius);background:rgba(255,255,255,0.045);color:#aeb9a8;font-family:'JetBrains Mono',monospace;font-size:11px}
main{margin-left:260px;padding:30px 34px 46px;max-width:1720px}
section[data-tab]{display:none}
section[data-tab].active{display:block}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px;padding:4px 0 18px;border-bottom:1px solid var(--border)}
.section-title{font-size:30px;font-weight:820;color:var(--text);letter-spacing:0;line-height:1.05}
.section-sub{margin-top:6px;font-size:13px;color:var(--text-dim)}

/* Loading and errors */
#loading{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:18px}
.spinner{width:42px;height:42px;border:2px solid var(--border);border-top-color:var(--accent-dark);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#loading p{color:var(--text-dim);font-size:13px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.08em}
#error-state{display:none;flex-direction:column;align-items:flex-start;justify-content:center;min-height:60vh;gap:12px;padding:42px;max-width:620px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
#error-state .err-icon{display:none}
#error-state h2{color:var(--danger);font-size:22px}
#error-state p{color:var(--text-dim);font-size:14px;max-width:520px}

/* KPI strip */
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}
.kpi-card{position:relative;min-height:142px;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--ink);border-radius:var(--radius);padding:16px 16px 14px;box-shadow:var(--shadow);overflow:hidden}
.kpi-card::after{content:'';position:absolute;right:14px;top:14px;width:36px;height:20px;background:repeating-linear-gradient(90deg,rgba(139,209,31,0.25) 0 3px,transparent 3px 7px);opacity:0.55}
.kpi-card:hover{border-color:var(--border-strong)}
.kpi-icon{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--accent-dark);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:0.08em;margin-bottom:18px}
.kpi-value{font-size:31px;font-weight:820;color:var(--text);font-family:'JetBrains Mono',monospace;line-height:1}
.kpi-label{font-size:11px;color:var(--text-dim);margin-top:9px;font-weight:750;text-transform:uppercase;letter-spacing:0.08em}
.kpi-sub{font-size:11px;color:var(--accent-dark);margin-top:4px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Panels and charts */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:border-color 0.16s}
.card:hover{border-color:var(--border-strong)}
.card-title{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:var(--text-dim);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.09em}
.card-title .dot{width:20px;height:2px;border-radius:0;background:linear-gradient(90deg,var(--accent),var(--blue));flex-shrink:0}
.chart-row{display:grid;gap:16px;margin-bottom:16px}
.chart-row-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.chart-row-3{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(280px,1.25fr)}
.chart-wrap{position:relative;height:230px}
.chart-wrap-lg{position:relative;height:270px}
.timeslot-chart-wrap{height:320px}

/* Reliability */
.reliability-grid{display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start}
.rel-pill{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:650;border:1px solid transparent;cursor:default;background:var(--surface-alt)}
.rel-pill.green{border-color:rgba(32,124,58,0.22);color:var(--success);background:var(--success-dim)}
.rel-pill.yellow{border-color:rgba(168,100,0,0.22);color:var(--warning);background:var(--warning-dim)}
.rel-pill.red{border-color:rgba(180,35,24,0.2);color:var(--danger);background:var(--danger-dim)}
.rel-pill.gray{border-color:rgba(95,103,91,0.18);color:var(--text-dim);background:var(--surface-strong)}
.rel-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}

/* Tables */
.table-controls{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.search-input{width:100%;max-width:320px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-size:13px;padding:9px 12px;outline:none;transition:border-color 0.16s,box-shadow 0.16s}
.search-input:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-dim)}
.search-input::placeholder{color:var(--text-muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{background:var(--surface-strong);color:var(--text-dim);font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:0.08em;padding:12px 14px;text-align:left;cursor:pointer;user-select:none;white-space:nowrap;border-bottom:1px solid var(--border)}
thead th:hover{color:var(--text)}
thead th.sorted{color:var(--accent-dark)}
thead th .sort-arrow{margin-left:4px;opacity:0.55}
thead th.sorted .sort-arrow{opacity:1}
tbody tr{border-bottom:1px solid var(--border);transition:background 0.12s;cursor:pointer}
tbody tr:hover{background:var(--hover)}
tbody tr:last-child{border-bottom:none}
td{padding:10px 14px;color:var(--text);vertical-align:middle}
.rank-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--text-dim);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700}
.rank-num.top3{border-color:rgba(139,209,31,0.45);color:var(--accent-dark);background:var(--accent-dim)}
.provider-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;margin-right:7px;flex-shrink:0}
.model-name-cell{display:flex;align-items:center;gap:4px;max-width:300px}
.model-name-text{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.score-cell{display:flex;align-items:center;gap:8px}
.score-num{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:15px}
.uptime-cell{display:flex;flex-direction:column;gap:4px;min-width:90px}
.uptime-val{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:650}
.uptime-bar{height:4px;border-radius:2px;background:var(--surface-strong);overflow:hidden}
.uptime-fill{height:100%;border-radius:2px;transition:width 0.6s ease}
.mono{font-family:'JetBrains Mono',monospace;font-size:12px}
.trend-indicator{font-size:12px;font-weight:800}
.trend-up{color:var(--success)}
.trend-down{color:var(--danger)}
.trend-flat{color:var(--text-dim)}

/* Selectors and explorer */
.model-selector-wrap{margin-bottom:18px}
.model-selector-label,.selector-group label{display:block;margin-bottom:7px;color:var(--text-dim);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em}
.model-select{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-size:14px;padding:11px 38px 11px 13px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235f675b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;outline:none;transition:border-color 0.16s,box-shadow 0.16s}
.model-select:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-dim)}
.model-select option{background:var(--surface);color:var(--text)}
.explorer-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.explorer-header .provider-chip{font-size:11px;padding:3px 9px}
.explorer-header h2{font-size:17px;font-weight:800;color:var(--text);font-family:'JetBrains Mono',monospace;letter-spacing:0}
.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:left;box-shadow:var(--shadow)}
.stat-card .stat-val{font-size:24px;font-weight:820;font-family:'JetBrains Mono',monospace;color:var(--text)}
.stat-card .stat-label{font-size:10px;color:var(--text-dim);margin-top:5px;text-transform:uppercase;letter-spacing:0.08em;font-weight:800}
.stat-card .stat-sub{font-size:11px;color:var(--text-muted);margin-top:2px}
.timeslot-recs{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.timeslot-pill{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:650;border:1px solid transparent;cursor:default;font-family:'JetBrains Mono',monospace}
.timeslot-pill.green{background:var(--success-dim);border-color:rgba(32,124,58,0.22);color:var(--success)}
.timeslot-pill.yellow{background:var(--warning-dim);border-color:rgba(168,100,0,0.22);color:var(--warning)}
.timeslot-pill.gray{background:var(--surface-strong);border-color:rgba(95,103,91,0.18);color:var(--text-dim)}
.timeslot-pill.cn-peak{background:rgba(242,184,75,0.09);border-color:rgba(242,184,75,0.35);color:var(--warning)}
.timeslot-pill.eu-na-peak{background:rgba(96,167,242,0.09);border-color:rgba(96,167,242,0.35);color:#5ca7f2}
.timeslot-pill .rank{font-size:11px;font-weight:800;color:var(--text-dim)}
.timeslot-pill .ts-range{color:var(--text)}
.timeslot-pill .ts-score{font-weight:800}
.timeslot-pill .ts-conf{opacity:0.75;font-size:10px;text-transform:uppercase;letter-spacing:0.04em}
.timeslot-pill.cn-peak .ts-range{color:var(--warning)}
.timeslot-pill.eu-na-peak .ts-range{color:#5ca7f2}
.heatmap{display:grid;gap:4px;margin-top:12px}
.heatmap-cell{aspect-ratio:1;border-radius:2px;position:relative;cursor:default;transition:transform 0.12s}
.heatmap-cell:hover{transform:scale(1.22);z-index:10;outline:1px solid var(--text)}
.heatmap-cell.pass{background:rgba(32,124,58,0.74)}
.heatmap-cell.fail{background:rgba(180,35,24,0.62)}
.heatmap-cell.miss{background:var(--border)}

/* Run history and timeline */
.run-table-wrap{overflow-x:auto}
.run-table{width:100%;border-collapse:collapse;font-size:13px}
.run-table th{background:var(--surface-strong);color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-weight:800}
.run-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.run-table tr:last-child td{border-bottom:none}
.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:800;letter-spacing:0.04em;text-transform:uppercase}
.status-badge.ok{background:var(--success-dim);color:var(--success)}
.status-badge.fail{background:var(--danger-dim);color:var(--danger)}
.btn-view{background:var(--ink);border:1px solid var(--ink);color:var(--text);font-size:11px;padding:4px 9px;border-radius:var(--radius-sm);cursor:pointer;transition:background 0.16s,border-color 0.16s}
.btn-view:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--ink)}
.timeline-controls{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.run-badge{background:var(--ink);border:1px solid var(--ink);color:var(--text);padding:5px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:800;font-family:'JetBrains Mono',monospace}
.filter-btns{display:flex;gap:4px;flex-wrap:wrap}
.filter-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);font-size:12px;font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);transition:background 0.16s,border-color 0.16s,color 0.16s}
.filter-btn:hover{border-color:var(--border-strong);color:var(--text)}
.filter-btn.active{background:var(--accent-dim);border-color:rgba(139,209,31,0.44);color:var(--accent-dark)}
.run-cards{display:flex;flex-direction:column;gap:9px}
.run-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:border-color 0.16s}
.run-card:hover{border-color:var(--border-strong)}
.run-card-header{display:flex;align-items:center;gap:14px;padding:13px 15px;cursor:pointer;user-select:none}
.run-card-time{font-size:12px;font-weight:700;color:var(--text);font-family:'JetBrains Mono',monospace;min-width:132px}
.run-success-badge{padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:800;font-family:'JetBrains Mono',monospace}
.run-success-badge.green{background:var(--success-dim);color:var(--success)}
.run-success-badge.yellow{background:var(--warning-dim);color:var(--warning)}
.run-success-badge.red{background:var(--danger-dim);color:var(--danger)}
.run-fastest{font-size:12px;color:var(--text-dim);margin-left:auto;display:flex;align-items:center;gap:6px}
.run-fastest::before{content:'fastest';font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted)}
.run-fastest span{color:var(--accent-dark);font-weight:750}
.run-expand-arrow{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);transition:transform 0.16s;font-size:11px}
.run-card.expanded .run-expand-arrow{transform:rotate(180deg)}
.run-card-body{display:none;border-top:1px solid var(--border);padding:0}
.run-card.expanded .run-card-body{display:block}
.run-detail-table{width:100%;font-size:12px;border-collapse:collapse}
.run-detail-table th{padding:8px 12px;background:var(--surface-strong);color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;text-align:left;font-weight:800;border-bottom:1px solid var(--border)}
.run-detail-table td{padding:7px 12px;border-bottom:1px solid var(--border);color:var(--text)}
.run-detail-table tr:last-child td{border-bottom:none}
.run-prompt{font-size:12px;color:var(--text-dim);padding:10px 15px;border-top:1px solid var(--border);background:var(--surface-alt)}

/* Compare */
.compare-selectors{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:end;margin-bottom:18px}
.swap-btn{width:58px;height:44px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--ink);color:var(--text);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;display:flex;align-items:center;justify-content:center;align-self:flex-end;transition:background 0.16s,border-color 0.16s,transform 0.16s}
.swap-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--ink);transform:rotate(180deg)}
.h2h-table{width:100%;border-collapse:collapse}
.h2h-table tr{border-bottom:1px solid var(--border)}
.h2h-table tr:last-child{border-bottom:none}
.h2h-table td{padding:10px 14px;font-size:13px}
.h2h-table .h2h-label{color:var(--text-dim);font-size:12px;text-align:center}
.h2h-table .h2h-metric{color:var(--text-dim);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;text-align:center;width:120px}
.h2h-val-a,.h2h-val-b{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;text-align:center}
.h2h-val-a.winner,.h2h-val-b.winner{color:var(--accent-dark)}
.h2h-row:hover{background:var(--hover)}

/* Modal */
#modal{position:fixed;inset:0;z-index:500;display:none;align-items:flex-end;justify-content:center;background:rgba(21,23,19,0.62);backdrop-filter:blur(5px)}
#modal.open{display:flex;animation:fadeIn 0.16s}
.modal-box{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:940px;max-height:86vh;display:flex;flex-direction:column;box-shadow:0 -24px 60px rgba(21,23,19,0.22);animation:slideUp 0.2s ease-out}
@keyframes slideUp{from{transform:translateY(36px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface-alt)}
.modal-title{font-size:13px;font-weight:700;color:var(--text);font-family:'JetBrains Mono',monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal-close,.modal-copy{border-radius:var(--radius-sm);transition:background 0.16s,border-color 0.16s,color 0.16s}
.modal-close{width:32px;height:32px;background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:18px;line-height:1}
.modal-close:hover{background:var(--surface-strong);color:var(--text)}
.modal-copy{background:var(--ink);border:1px solid var(--ink);color:var(--text);font-size:12px;padding:6px 11px}
.modal-copy:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--ink)}
.modal-body{flex:1;overflow-y:auto;padding:20px 22px;background:var(--surface)}
.modal-body pre{background:#11140f;border:1px solid #2b3325;border-radius:var(--radius);padding:16px;overflow-x:auto;font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.65;color:#cce9b1;margin:12px 0}
.modal-body p{margin-bottom:10px;color:var(--text);font-size:14px;line-height:1.7}
.modal-body code{font-family:'JetBrains Mono',monospace;font-size:12px;background:var(--surface-strong);padding:1px 5px;border-radius:3px;color:var(--blue)}

/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--surface-alt)}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}

/* Responsive */
@media(max-width:1180px){
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .chart-row-3{grid-template-columns:1fr 1fr}
  .chart-row-3 .card:last-child{grid-column:1 / -1}
}
@media(max-width:900px){
  nav{position:sticky;inset:auto;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;padding:12px 14px;gap:10px;box-shadow:0 12px 30px rgba(21,23,19,0.18)}
  .nav-brand{grid-template-columns:34px auto;min-height:36px;font-size:16px}
  .nav-brand::before{width:34px;height:34px;font-size:15px}
  .nav-tabs{order:3;width:100%;flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:2px}
  .nav-tab{grid-template-columns:30px auto;min-width:max-content;min-height:36px;padding-right:11px;font-size:12px}
  .nav-status{margin-top:0;margin-left:auto;padding:8px 10px}
  main{margin-left:0;padding:20px 14px 32px}
  .section-title{font-size:24px}
  .chart-row-2,.chart-row-3{grid-template-columns:1fr}
  .chart-row-3 .card:last-child{grid-column:auto}
  .timeslot-chart-wrap{height:280px}
}
@media(max-width:700px){
  .kpi-grid,.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compare-selectors{grid-template-columns:1fr}
  .swap-btn{justify-self:stretch;width:100%}
  .run-card-header{flex-wrap:wrap;gap:8px}
  .run-fastest{margin-left:0;width:100%}
  .table-controls{flex-direction:column;align-items:stretch}
  .search-input{max-width:none}
  .h2h-table td{padding:8px 10px}
}
@media(max-width:460px){
  .kpi-grid,.stats-row{grid-template-columns:1fr}
  .section-header{align-items:flex-start;flex-direction:column;gap:8px}
  .timeslot-chart-wrap{height:250px}
}

/* Utility */
.flex{display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.items-center{align-items:center}
.text-green{color:var(--success)}.text-red{color:var(--danger)}.text-yellow{color:var(--warning)}.text-accent{color:var(--accent-dark)}.text-dim{color:var(--text-dim)}.text-blue{color:var(--blue)}
.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}
.no-data{color:var(--text-dim);font-size:13px;text-align:center;padding:32px;font-style:normal}
