:root {
  color-scheme: dark;
  --bg:#000000;--surface:#030803;--surface-2:#051105;--hover:#092909;
  --line:#087c16;--text:#00ee20;--muted:#6ab777;--accent:#00ef28;
  --danger:#ff4545;--success:#00f030;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  color:var(--text);background:var(--bg);
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
button,input{font:inherit}
button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:8px 13px;border:1px solid var(--line);border-radius:3px;background:var(--surface-2);color:var(--text);font-size:13px;font-weight:550;cursor:pointer;transition:background .15s,border-color .15s}
button:hover{background:var(--hover);border-color:#00ee20}
button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button:disabled{opacity:.5;cursor:not-allowed}
button.primary{background:var(--accent);color:#000;border-color:var(--accent);font-weight:700}
button.primary:hover{background:#78ff8e}
button.secondary{background:var(--surface-2)}
button.ghost{background:transparent;border-color:transparent;color:var(--muted)}
button.danger{color:var(--danger)}
button.full{width:100%;margin-top:15px}
input{width:100%;min-height:40px;padding:9px 12px;background:#000;border:1px solid var(--line);border-radius:3px;color:var(--text);outline:none}
input::placeholder{color:#518a59}
label{display:block;margin-bottom:7px;color:#85d392;font-size:12px;font-weight:600}
.shell{width:min(100%,1080px);margin:0 auto;padding:32px 24px 50px}
.topbar,.brand,.heading,.vehicle,.vehicle-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{justify-content:flex-start;gap:12px}
.logo{width:40px;height:40px;display:grid;place-items:center;border:1px solid #00b823;background:#001f06;border-radius:3px;color:#00ff35;font-size:12px;font-weight:800;letter-spacing:.8px}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:3px;font-size:20px;line-height:1.2;font-weight:700;letter-spacing:-.35px}
h2{margin-bottom:0;font-size:16px;letter-spacing:-.2px;font-weight:680}
h3{font-size:13px;margin-bottom:12px;font-weight:670}
p{line-height:1.5}
.small{font-size:12px}
.muted{color:var(--muted);line-height:1.5}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 16px}
.stats article,.panel,.login-card{background:var(--surface);border:1px solid var(--line);border-radius:4px}
.stats article{padding:17px 19px}
.stats strong{display:block;margin-top:6px;font-size:26px;font-weight:680;letter-spacing:-.6px;line-height:1.2}
.layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,1fr);gap:16px;align-items:start}
.layout main,.layout aside{display:flex;flex-direction:column;gap:16px;min-width:0}
.panel{padding:20px}
.heading{margin-bottom:16px;align-items:flex-start}
.heading p{margin:5px 0 0}
.heading.compact{align-items:center;margin-bottom:8px}
.status-dot{width:7px;height:7px;background:var(--success);border-radius:50%;opacity:.8}
.vehicle{border-top:1px solid var(--line);padding:15px 0;align-items:center}
.vehicle-main{min-width:0;flex:1}
.vehicle-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.vehicle-title strong{font-size:13px;font-weight:620}
.plate{display:inline-block;padding:5px 8px;background:#f2ce28;color:#101010;border-radius:5px;font-weight:800;letter-spacing:.6px;font-size:12px;white-space:nowrap}
.vehicle-actions{flex-shrink:0;gap:6px}
.vehicle-actions button{min-height:32px;padding:6px 9px;font-size:12px}
.add-form{border-top:1px solid var(--line);padding-top:18px;margin-top:4px}
.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}
.history-panel h2{margin-bottom:11px}
.history-item{border-top:1px solid var(--line);padding:13px 0}
.history-item strong{display:block;margin-bottom:5px;font-size:13px;font-weight:600}
.tag{padding:3px 7px;border:1px solid #087c16;border-radius:3px;color:var(--success);background:#031a06;font-size:10px;font-weight:650}
.tag.off{background:#101810;color:#789c80;border-color:#345b38}
.tag.warn{background:#271a00;color:#ffb342}
.error{color:var(--danger)}
.empty{padding:21px 12px;color:var(--muted);font-size:12px;text-align:center}
.login-page{display:grid;place-items:center;padding:20px}
.login-card{width:min(100%,370px);padding:30px}
.login-card h1{margin-top:18px}
.login-card p{font-size:13px;margin-top:9px}
.login-card form{margin-top:25px}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:none;max-width:min(90vw,480px);padding:12px 17px;background:#001c05;border:1px solid #00c326;border-radius:3px;color:#00ef28;font-size:13px;box-shadow:0 10px 30px #0008;z-index:20}
@media(max-width:780px){.layout{grid-template-columns:1fr}.shell{padding:20px 12px 36px}.stats{gap:8px;margin:22px 0 12px}.stats article{padding:13px}.stats strong{font-size:22px}.panel{padding:16px}.topbar{gap:10px}.vehicle{flex-wrap:wrap;align-items:flex-start}.vehicle-actions{width:100%;justify-content:flex-start}.heading{flex-wrap:wrap}}
@media(max-width:420px){.input-grid{grid-template-columns:1fr}.stats strong{font-size:19px}.stats article{padding:11px}.brand h1{font-size:17px}}

/* Compact occupancy text replaces the three overview cards. */
.usage{display:inline-block;vertical-align:middle;margin-left:9px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--muted);white-space:nowrap}
.panel,.login-card{box-shadow:0 0 0 1px #003d0c,0 0 10px #00aa201c}
button:hover{box-shadow:0 0 9px #00ff2829}
