:root{color-scheme:light;--bg:#f0f3f7;--surface:#fff;--subtle:#f6f8fb;--text:#17283d;--muted:#5e6b7d;--line:#dce3ec;--blue:#225b98;--blue-soft:#e8f1fc;--nav:#14273f;--nav-text:#d9e4f3;--red:#a63529;--red-bg:#fff0ed;--amber:#84520c;--amber-bg:#fff2d9;--green:#256244;--green-bg:#e8f5ed;--shadow:0 12px 40px #14273f16;font:16px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--bg)}
:root[data-theme=dark]{color-scheme:dark;--bg:#101925;--surface:#182435;--subtle:#1f2d40;--text:#e4edf8;--muted:#abb9cb;--line:#344259;--blue:#9bc9fc;--blue-soft:#233e5c;--nav:#0b1420;--red:#ffb5a7;--red-bg:#422723;--amber:#f0cf8b;--amber-bg:#40351f;--green:#a4dabc;--green-bg:#1d3b2c;--shadow:0 12px 40px #0004}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5d9fda;outline-offset:3px}button{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);min-height:40px;padding:7px 12px}button:hover{background:var(--subtle)}.primary{background:var(--blue);color:var(--surface);border-color:var(--blue);font-weight:600}.primary:hover{filter:brightness(.95);background:var(--blue)}.quiet{border-color:transparent;background:transparent}.danger{color:var(--red)}input,select,textarea{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);padding:9px 11px;min-height:44px;max-width:100%}input:not([type=checkbox]),select,textarea{width:100%}textarea{min-height:88px;resize:vertical}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--blue)}label{display:block;font-size:14px}label>input,label>select,label>textarea{margin-top:5px}h1,h2,h3,p{margin:0}h1{font-size:24px;letter-spacing:-.5px}h2{font-size:20px}h3{font-size:16px}small,.muted{color:var(--muted);font-size:13px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.brand{font-size:18px;letter-spacing:-.5px;font-weight:650}.brand small{display:block;letter-spacing:1.8px;font-size:10px;color:inherit;opacity:.65;margin-top:2px}.shell{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:var(--nav-text);padding:28px 16px;display:flex;flex-direction:column;gap:28px}.sidebar .brand{padding:0 10px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;gap:10px;align-items:center;border:0;text-align:left;background:transparent;color:var(--nav-text);padding:12px}.nav button.active{background:#ffffff14;color:#fff}.nav button span{font-size:14px}.nav svg,.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;vertical-align:middle;flex-shrink:0}.sidebar footer{margin-top:auto;padding:12px 10px;color:#a7b9ce;font-size:12px}.main{min-width:0}.topbar{height:70px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface);gap:12px}.topbar-title{font-size:13px;color:var(--muted)}.user{display:flex;align-items:center;gap:9px;font-size:14px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:600}.workspace{padding:24px 28px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.page-heading p{font-size:13px;color:var(--muted);margin-top:3px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar .search{flex:1;min-width:220px}.toolbar select{width:auto;max-width:180px}.toolbar input[type=date]{width:auto}.tabs{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:7px}.tabs button{border:0;background:transparent;color:var(--muted);font-size:14px}.tabs button.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.count{background:var(--surface);border-radius:4px;margin-left:6px;padding:1px 5px;font-size:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:var(--subtle);color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:11px 14px;white-space:nowrap}td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:middle}td button.rowlink{padding:0;min-height:0;text-align:left;border:0;background:none;color:var(--blue);font-weight:600}.badge{display:inline-block;border-radius:5px;padding:3px 7px;font-size:12px;white-space:nowrap;background:var(--subtle);color:var(--muted)}.badge.new{background:var(--red-bg);color:var(--red)}.badge.scheduled{background:var(--blue-soft);color:var(--blue)}.badge.completed{background:var(--green-bg);color:var(--green)}.badge.inprogress,.badge.canceled{background:var(--amber-bg);color:var(--amber)}.warning{padding:10px 12px;background:var(--amber-bg);color:var(--amber);border-radius:7px;font-size:14px;margin:10px 0}.error{color:var(--red);background:var(--red-bg);padding:10px 12px;border-radius:7px;margin:10px 0}.mobile-list{display:none}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.loading{padding:40px}.row-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.line2{margin-top:5px;font-size:14px}.bottomnav{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.stack{display:grid;gap:14px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.section{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.section h3{margin-bottom:10px}.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kv dt{font-size:12px;color:var(--muted)}.kv dd{margin:3px 0 0;overflow-wrap:anywhere}dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:0;width:min(650px,calc(100% - 24px));max-height:90vh}dialog::backdrop{background:#0b142099}dialog.wide{width:min(1000px,calc(100% - 32px))}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);gap:12px;position:sticky;top:0;background:var(--surface);z-index:2}.dialog-body{padding:20px}.dialog-head h2{font-size:18px}.dialog-head .close{min-width:40px}.history-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.history-item small{display:block;margin-top:4px}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{width:100px;height:90px;object-fit:cover;border-radius:6px}.stock-group{padding:14px 16px;border-bottom:1px solid var(--line);background:var(--subtle)}.stock-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);gap:10px}.qty{display:flex;align-items:center;gap:10px}.qty button{min-width:42px}.qty output{min-width:25px;text-align:center;font-weight:600}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--nav);color:#fff;padding:12px 18px;border-radius:9px;box-shadow:var(--shadow);z-index:20;max-width:calc(100% - 24px);display:flex;align-items:center;gap:15px}#toast[hidden]{display:none}#toast button{background:#fff;color:#17283d}.login{max-width:390px;margin:10vh auto;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.login form{display:grid;gap:15px;margin-top:25px}.login h1{margin-top:24px}.vehicle-strip{padding:12px;background:var(--subtle);border-radius:7px;margin-bottom:14px}.tire-map{max-width:340px;margin:12px auto;display:grid;grid-template-columns:1fr 1fr;gap:18px 70px;position:relative;background:linear-gradient(90deg,transparent 22%,var(--subtle) 22%,var(--subtle) 78%,transparent 78%);border-radius:28px;padding:18px 8px}.tire-map button{border:2px solid var(--line);background:var(--surface);min-height:52px;border-radius:9px;font-size:13px}.tire-map button.selected{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.tire-map .axle{display:flex;gap:4px}.tire-map .axle button{flex:1;padding:5px 3px}.orientation{display:flex;justify-content:space-between;max-width:320px;margin:8px auto;color:var(--muted);font-size:12px}.front{text-align:center;font-size:12px;font-weight:600;letter-spacing:1.2px;color:var(--muted)}.checks{display:flex;gap:10px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:6px;background:var(--subtle);padding:8px 12px;border-radius:7px}.checks input{margin:0}.pagefoot{margin-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.inline-search{display:flex;gap:7px}.import-preview{max-height:240px;overflow:auto}.progress{height:8px;background:var(--subtle);border-radius:8px;margin:10px 0}.progress div{height:100%;background:var(--blue);border-radius:8px}.rec-row[aria-expanded=true]{background:var(--subtle)}.rec-row{padding:12px 14px;border-bottom:1px solid var(--line)}.rec-summary{display:block;width:100%;border:0;background:none;text-align:left;padding:0}.rec-summary strong{font-size:15px}.rec-summary .vin{font-size:13px;margin-top:4px;color:var(--muted)}.rec-expanded{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.sort-btn{font-size:inherit;color:inherit;border:0;padding:0;min-height:24px;background:none;text-transform:inherit;letter-spacing:inherit}.note{white-space:pre-wrap}.preview-notice{background:var(--blue-soft);color:var(--blue);font-size:12px;padding:7px 14px}
@media(min-width:1100px){dialog.record-dialog{margin:0 0 0 auto;height:100vh;max-height:100vh;width:600px;border-radius:0}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{height:58px;padding:0 14px}.topbar-title{font-size:15px;font-weight:600;color:var(--text)}.user .role{display:none}.workspace{padding:16px 12px 90px}.page-heading{margin-bottom:12px}h1{font-size:21px}.page-heading p{display:none}.desktop-table{display:none}.mobile-list{display:block}.toolbar{gap:7px}.toolbar .search{width:100%;flex-basis:100%;min-width:0}.toolbar select{flex:1;max-width:none;min-width:0;font-size:14px}.tabs{gap:0;justify-content:space-between}.tabs button{padding:9px 7px;font-size:13px}.count{margin-left:3px}.bottomnav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--line);padding:5px 4px max(5px,env(safe-area-inset-bottom));z-index:5}.bottomnav button{flex:1;border:0;background:none;font-size:11px;padding:5px 2px;min-height:50px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted)}.bottomnav button.active{color:var(--blue);font-weight:600}.form-grid{gap:12px}.dialog-body{padding:16px}dialog{max-height:92vh}.topbar .quiet{padding:5px;min-width:44px}.kv{gap:10px}.table-wrap{font-size:13px}#toast{bottom:78px}.login{margin:6vh 16px;max-width:none}.preview-notice{font-size:11px}.toolbar input[type=date]{max-width:100%}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s ease,color .12s ease}dialog[open]{animation:appear .15s ease}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.tread-depth{white-space:nowrap;font-variant-numeric:tabular-nums}.tread-depth strong{font-weight:600}

.vin-preview{display:inline-block;border:0;background:none;padding:2px 0;min-height:0;font-size:inherit;text-decoration:underline dotted;text-underline-offset:3px;cursor:help}.vin-preview:hover,.vin-preview:focus-visible{color:var(--blue)}
.vin-tooltip{position:fixed;z-index:1000;max-width:min(330px,calc(100vw - 16px));padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);box-shadow:0 8px 28px #0003;font-size:13px;line-height:1.6;pointer-events:none}.vin-tooltip strong{display:block;font-size:14px}.vin-tooltip .mono{margin-top:4px;overflow-wrap:anywhere}.vehicle-identity{border-left:3px solid var(--blue);padding:8px 12px;background:var(--bg);border-radius:4px}.vehicle-identity strong{font-size:17px}.vehicle-identity small{display:block;margin-top:3px}

.vehicle-matches{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}.vehicle-match{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;min-width:0;padding:14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--subtle);line-height:1.4;white-space:normal;overflow-wrap:anywhere}.vehicle-match:hover{border-color:var(--blue);background:var(--blue-soft)}.vehicle-match-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vehicle-match-heading strong{font-size:15px}.vehicle-match-heading>span{font-size:22px;line-height:1;color:var(--blue)}.vehicle-match-model{font-size:14px}.vehicle-match-tag,.vehicle-match-vin{font-size:13px}.vehicle-match-vin .mono{font-size:12px;letter-spacing:0}.vehicle-match .warning{margin:4px 0 0}.vehicle-match-tag>.muted,.vehicle-match-vin>.muted{display:inline-block;min-width:28px}

.vol-summary{display:grid;justify-items:start;gap:4px;margin-top:7px}.vol-summary small{display:block}.vol-job{border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:10px;display:grid;gap:7px;font-size:14px}.vol-job button{justify-self:start}.tabs [data-status="Needs VOL closeout"]{color:var(--amber)}@media(max-width:760px){.tabs{justify-content:flex-start;gap:3px}.vol-job .row-meta{flex-wrap:wrap}}

.tread-field{display:flex;flex-direction:column;gap:5px;min-width:0}.tread-field>span{white-space:nowrap;line-height:20px}.tread-field>input{margin-top:0;min-width:0}
