:root{--bg: #f2f2f0;--surface: #ffffff;--ink: #1c1c1a;--muted: #6b6b66;--line: #d8d8d3;--accent: #f5c400;--accent-ink: #1c1c1a;--danger: #c8321b;--ok: #2e7d32;--r: 6px;--tap: 52px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.35;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box;margin:0}body{min-height:100dvh}#app{max-width:560px;margin:0 auto;padding:0 12px calc(24px + env(safe-area-inset-bottom))}h1{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:18px 0 12px}h2{font-size:18px;font-weight:700;margin:20px 0 8px}.muted{color:var(--muted)}.small{font-size:14px}.bar{display:flex;align-items:center;gap:10px;height:56px}.bar a,.bar button.plain{color:var(--ink);text-decoration:none;font-weight:600}.bar .grow{flex:1}.dot{width:10px;height:10px;border-radius:50%;background:var(--ok);display:inline-block}.dot.off{background:var(--danger)}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{width:100%;min-height:var(--tap);padding:10px 12px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--ink)}label{display:block;font-size:14px;color:var(--muted);margin:10px 0 4px}.row{display:flex;gap:8px}.row>*{flex:1;min-width:0}button{min-height:var(--tap);padding:0 16px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--surface);font-weight:600;cursor:pointer;touch-action:manipulation}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.danger{border-color:var(--danger);color:var(--danger)}button.plain{border:none;background:none;padding:0 6px}button:disabled{opacity:.45;cursor:default}button.block{width:100%}.actions{display:grid;gap:8px;margin-top:16px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1 1 auto;min-height:44px;border-color:var(--line);font-weight:500}.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.car{display:grid;grid-template-columns:1fr 1fr;gap:8px}.car .spare{grid-column:1 / -1}.wheel-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:10px;min-height:96px;text-align:left;display:flex;flex-direction:column;gap:4px}.wheel-card.done{border-color:var(--ink)}.wheel-card .pos{font-weight:700}.wheel-card .thumbs{display:flex;gap:4px}.wheel-card .thumbs img{width:36px;height:36px;object-fit:cover;border-radius:3px}.cell-tag{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:28px;letter-spacing:.04em;padding:6px 14px;border-radius:4px;line-height:1}.cell-tag.sm{font-size:18px;padding:4px 10px}.cell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.cell-grid button{min-height:56px;font-size:18px;font-weight:700;border-color:var(--line)}.cell-grid button.busy{color:var(--muted);background:var(--bg);text-decoration:line-through}.cell-grid button.on{background:var(--accent);border-color:var(--accent)}.list{display:grid;gap:6px}.item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:12px;color:inherit;text-decoration:none;min-height:64px}.item .plate{font-weight:700;font-size:19px;font-variant-numeric:tabular-nums}.item .grow{flex:1;min-width:0}.status{font-size:13px;padding:2px 8px;border-radius:3px;background:var(--bg)}.status.issued{color:var(--muted)}.status.overdue{background:var(--danger);color:#fff}.photos{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.photos img{width:96px;height:96px;object-fit:cover;border-radius:4px;flex:none}.photo-add{flex:none;width:96px;height:96px;display:grid;place-items:center;border-style:dashed}.note{padding:10px 12px;border-radius:var(--r);background:#fff6cc;margin:10px 0}.err{color:var(--danger)}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;align-items:end;z-index:10}.sheet>div{background:var(--bg);border-radius:12px 12px 0 0;padding:16px 12px calc(16px + env(safe-area-inset-bottom));max-height:90dvh;overflow:auto}@media (prefers-reduced-motion: no-preference){.sheet>div{animation:up .18s ease-out}}@keyframes up{0%{transform:translateY(24px);opacity:0}}
