:root { --bg:#f7f4f4; --card:#fff; --ink:#2a1c1c; --muted:#766; --brand:#e60012; --bad:#7a0d1a; --ok:#1f7a4d; --line:#e6dcdc; }
@media (prefers-color-scheme: dark) { :root { --bg:#151010; --card:#211919; --ink:#f1e8e8; --muted:#a99; --brand:#ff2b3d; --bad:#ff9a9a; --ok:#3fb97a; --line:#3a2b2b; } }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.4 system-ui,sans-serif; background:var(--bg); color:var(--ink); }
header { background:var(--brand); color:#fff; padding:12px 16px; display:flex; justify-content:space-between; align-items:center; gap:8px; }
header h1 { font-size:18px; margin:0; }
main { max-width:960px; margin:0 auto; padding:16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:16px; }
label { display:block; font-size:13px; color:var(--muted); margin:10px 0 4px; }
input,select,textarea { width:100%; padding:10px; font:inherit; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--ink); }
button { font:inherit; padding:10px 16px; border:0; border-radius:8px; background:var(--brand); color:#fff; cursor:pointer; }
button.sec { background:transparent; color:var(--brand); border:1px solid var(--brand); }
button.bad { background:var(--bad); }
button.sm { padding:4px 10px; font-size:13px; }
header button { background:rgba(255,255,255,.2); }
.row { display:flex; gap:8px; flex-wrap:wrap; align-items:end; }
.row > * { flex:1 1 140px; }
.tabs { display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
.tabs button { background:var(--card); color:var(--ink); border:1px solid var(--line); }
.tabs button.on { background:var(--brand); color:#fff; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); vertical-align:top; }
.wrap { overflow-x:auto; }
th.sortable { cursor:pointer; user-select:none; white-space:nowrap; }
th.sortable:hover { color:var(--brand); }
th .arr { font-size:11px; color:var(--brand); }
.tag { display:inline-block; padding:2px 8px; border-radius:99px; font-size:12px; background:var(--line); }
.tag.pending { background:#f5c542; color:#000; } .tag.active { background:var(--ok); color:#fff; } .tag.returned { background:#999; color:#fff; }
.err { color:var(--bad); min-height:1.2em; } .ok { color:var(--ok); }
.hidden { display:none; }
.result { border-left:6px solid var(--ok); } .result.none { border-color:var(--bad); }
.result .plate { font-size:28px; font-weight:700; letter-spacing:2px; }
.result .who { font-size:22px; margin:6px 0; }
.result a.call { display:inline-block; padding:10px 16px; background:var(--brand); color:#fff; border-radius:8px; text-decoration:none; margin-right:8px; }
.muted { color:var(--muted); font-size:13px; }
@media (prefers-color-scheme: dark) { button.bad { color:#2a0a0a; } }
