:root{
  --bg: #14171a;
  --surface: #1b1f23;
  --surface-2: #21262b;
  --border: #2c3237;
  --text: #eceef0;
  --muted: #8b9198;
  --accent: #3ed6b5;
  --accent-dim: #234f47;
  --hybrid: #e8a33d;
  --hybrid-dim: #4d3c1f;
  --danger: #e0654f;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Space Grotesk', sans-serif;
  line-height:1.5;
  padding:28px 20px 60px;
}
.wrap{max-width:1100px;margin:0 auto;}
header{margin-bottom:28px;}
.eyebrow{font-family:'IBM Plex Mono', monospace;font-size:12.5px;color:var(--accent);letter-spacing:0.02em;margin-bottom:10px;}
h1{font-size:clamp(28px,4vw,38px);font-weight:700;margin:0 0 10px;letter-spacing:-0.01em;max-width:16ch;}
header p{color:var(--muted);max-width:56ch;font-size:15px;margin:0;}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:22px;}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px 24px;}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:'IBM Plex Mono', monospace;font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;user-select:none;transition:border-color .15s, color .15s, background .15s;}
.chip.active{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:600;}
.chip.active.hybrid-chip{background:var(--hybrid);border-color:var(--hybrid);}
select, input[type=number], input[type=text], input[type=password]{
  width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);
  font-family:'IBM Plex Mono', monospace;font-size:14px;padding:9px 10px;border-radius:6px;
}
select:focus, input:focus{outline:2px solid var(--accent);outline-offset:1px;}
.toggle-row{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.toggle-row button{flex:1;background:var(--surface-2);border:none;color:var(--muted);font-family:'IBM Plex Mono', monospace;font-size:12.5px;padding:9px 6px;cursor:pointer;}
.toggle-row button.active{background:var(--accent-dim);color:var(--accent);font-weight:600;}
.toggle-row button:not(:last-child){border-right:1px solid var(--border);}
.count-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;color:var(--muted);font-size:13.5px;}
.count-row strong{color:var(--text);font-family:'IBM Plex Mono', monospace;}
table{width:100%;border-collapse:collapse;font-size:14px;}
thead th{text-align:left;font-weight:500;color:var(--muted);font-size:12.5px;padding:0 12px 10px;border-bottom:1px solid var(--border);white-space:nowrap;}
tbody tr{border-bottom:1px solid var(--border);}
tbody tr:hover{background:var(--surface-2);}
tbody td{padding:14px 12px;vertical-align:top;}
.model-name{font-weight:600;}
.brand{color:var(--muted);font-size:12.5px;}
.num{font-family:'IBM Plex Mono', monospace;font-variant-numeric:tabular-nums;}
.badge{display:inline-block;font-family:'IBM Plex Mono', monospace;font-size:11.5px;padding:3px 8px;border-radius:5px;font-weight:600;}
.badge.bev{background:var(--accent-dim);color:var(--accent);}
.badge.phev{background:var(--hybrid-dim);color:var(--hybrid);}
.badge.hev{background:var(--hybrid-dim);color:var(--hybrid);}
.trunk-cell{font-size:12.5px;color:var(--muted);}
.trunk-cell .num{color:var(--text);font-size:14px;}
.notes{color:var(--muted);font-size:12.5px;max-width:22ch;}
.empty{padding:40px 12px;text-align:center;color:var(--muted);}
footer{margin-top:26px;color:var(--muted);font-size:12.5px;border-top:1px solid var(--border);padding-top:16px;}
footer a{color:var(--accent);}

@media (max-width: 720px){
  thead{display:none;}
  table, tbody, tr, td{display:block;width:100%;}
  tbody tr{padding:14px 4px;}
  tbody td{padding:3px 4px;border:none;}
  tbody td::before{content:attr(data-label);display:inline-block;width:110px;color:var(--muted);font-size:11.5px;font-family:'IBM Plex Mono', monospace;}
  .model-cell{padding-bottom:8px !important;}
}
