:root,:root[data-theme=light]{--bg:#f3f4f7;--surface1:#fff;--surface2:#eef0f4;--surface-pressed:#e2e5eb;--separator:#e5e7ec;--separator-strong:#d8dbe2;--textPrimary:#171a21;--textSecondary:#5a6172;--textTertiary:#8b91a0;--accent:#0b5cff;--accent-hover:#0a52e4;--accent-tint:#e9f0ff;--accent-on-tint:#0046cf;--on-accent:#fff;--success:#17803d;--success-tint:#e5f5ea;--warning:#955f00;--warning-tint:#fbf1da;--danger:#c72519;--danger-tint:#fdeae8;--shadow-1:0 1px 2px #171a210d;--shadow-2:0 4px 16px #171a2114;--shadow-3:0 16px 48px #171a212e}:root[data-theme=dark]{--bg:#0d1016;--surface1:#151a22;--surface2:#1d232e;--surface-pressed:#29303d;--separator:#242b37;--separator-strong:#2d3543;--textPrimary:#eef1f6;--textSecondary:#9aa3b4;--textTertiary:#667082;--accent:#4c8dff;--accent-hover:#669dff;--accent-tint:#172c52;--accent-on-tint:#a8c6ff;--on-accent:#fff;--success:#4fce78;--success-tint:#12301c;--warning:#e0a63e;--warning-tint:#362a12;--danger:#ff6d61;--danger-tint:#391b18;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 4px 16px #00000059;--shadow-3:0 16px 48px #0000008c}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark] html,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--textPrimary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,SF Pro Text,system-ui,Segoe UI Variable,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.45}button{color:inherit;font-family:inherit}a{color:var(--accent)}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--textSecondary)}.small{font-size:13px}::selection{background:var(--accent-tint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{min-height:100vh;display:flex}.rail{background:var(--surface1);border-right:1px solid var(--separator);flex-direction:column;flex:none;width:232px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.2px;align-items:center;gap:10px;padding:18px 18px 14px;font-size:15px;font-weight:650;display:flex}.brand .logo{background:linear-gradient(135deg, var(--accent), #3f7bff);color:#fff;width:30px;height:30px;box-shadow:var(--shadow-1);border-radius:8px;justify-content:center;align-items:center;font-size:15px;font-weight:750;display:flex}.brand .logo-sub{color:var(--textTertiary);letter-spacing:0;margin-top:1px;font-size:11px;font-weight:500;display:block}.nav{flex:1;padding:2px 10px 10px}.nav .sect{text-transform:uppercase;letter-spacing:.8px;color:var(--textTertiary);padding:14px 10px 5px;font-size:10.5px;font-weight:650}.ritem{color:var(--textSecondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;margin-bottom:1px;padding:7.5px 10px;font-size:13.5px;font-weight:550;transition:background .12s,color .12s;display:flex}.ritem svg{color:var(--textTertiary);transition:color .12s}.ritem:hover{background:var(--surface2);color:var(--textPrimary)}.ritem.on{background:var(--accent-tint);color:var(--accent-on-tint)}.ritem.on svg{color:var(--accent-on-tint)}.ritem .badge{background:var(--danger);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:650}.railfoot{border-top:1px solid var(--separator);flex-direction:column;gap:8px;padding:10px;display:flex}.main{flex:1;min-width:0}.page{max-width:1120px;margin:0 auto;padding:26px 26px 110px}.page.narrow{max-width:720px}.tabbar{z-index:20;background:var(--surface1);border-top:1px solid var(--separator);padding:6px 4px calc(10px + env(safe-area-inset-bottom));display:none;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -4px 16px #0000000f}.tab{min-width:64px;color:var(--textTertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:3px;padding:4px 8px;font-size:10px;font-weight:550;display:flex}.tab.on{color:var(--accent)}.tab .badge{background:var(--danger);color:#fff;border-radius:999px;padding:0 5px;font-size:9px;position:absolute;transform:translate(12px,-2px)}@media (width<=900px){.rail{display:none}.tabbar{display:flex}.page{padding:16px 14px 104px}}.h1{letter-spacing:-.5px;text-wrap:balance;margin:2px 0;font-size:25px;font-weight:700}.sub{color:var(--textSecondary);margin:0 0 18px;font-size:13.5px}.h2{letter-spacing:-.2px;margin:26px 2px 10px;font-size:16px;font-weight:650}.ghead{text-transform:uppercase;letter-spacing:.7px;color:var(--textTertiary);padding:18px 2px 8px;font-size:11px;font-weight:650}.card{background:var(--surface1);border:1px solid var(--separator);box-shadow:var(--shadow-1);border-radius:14px;padding:16px 18px}.card+.card{margin-top:12px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.spacer{flex:1}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.tile{background:var(--surface1);border:1px solid var(--separator);box-shadow:var(--shadow-1);border-top:3px solid #0000;border-radius:14px;padding:14px 16px 12px;transition:transform .12s,box-shadow .12s;position:relative;overflow:hidden}.tile .n{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:700}.tile .l{color:var(--textSecondary);margin-top:2px;font-size:12px;font-weight:500}.tile.warn{border-top-color:var(--warning)}.tile.warn .n{color:var(--warning)}.tile.bad{border-top-color:var(--danger)}.tile.bad .n{color:var(--danger)}.tile.ok{border-top-color:var(--success)}.tile.tap{cursor:pointer}.tile.tap:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.pill{white-space:nowrap;letter-spacing:.1px;border-radius:999px;align-items:center;gap:5px;padding:2.5px 9px;font-size:11.5px;font-weight:620;display:inline-flex}.pill.neutral{background:var(--surface2);color:var(--textSecondary)}.pill.accent{background:var(--accent-tint);color:var(--accent-on-tint)}.pill.success{background:var(--success-tint);color:var(--success)}.pill.warning{background:var(--warning-tint);color:var(--warning)}.pill.danger{background:var(--danger-tint);color:var(--danger)}.btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:620;line-height:1.2;transition:background .12s,transform 60ms,box-shadow .12s;display:inline-flex}.btn:active{transform:scale(.985)}.btn.sm{border-radius:8px;padding:5.5px 10px;font-size:12.5px}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.btn.primary:hover{background:var(--accent-hover)}.btn.tint{background:var(--accent-tint);color:var(--accent-on-tint)}.btn.ghost{background:var(--surface2);color:var(--textPrimary)}.btn.ghost:hover{background:var(--surface-pressed)}.btn.danger{background:var(--danger-tint);color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}input[type=text],input[type=tel],input[type=number],input[type=email],input[type=password],input[type=date],input:not([type]),select,textarea{background:var(--surface2);width:100%;color:var(--textPrimary);border:1px solid #0000;border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:14.5px;transition:border-color .12s,background .12s,box-shadow .12s}input:hover,select:hover,textarea:hover{border-color:var(--separator-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--surface1);box-shadow:0 0 0 3px var(--accent-tint)}input::placeholder{color:var(--textTertiary)}textarea{resize:vertical;min-height:62px;line-height:1.5}.fld{margin-bottom:12px;display:block}.fld .lbl{color:var(--textSecondary);text-transform:uppercase;letter-spacing:.4px;margin:0 2px 5px;font-size:11.5px;font-weight:600;display:block}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}@media (width<=640px){.grid3{grid-template-columns:1fr 1fr}}.seg{background:var(--surface2);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--textSecondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:6px 13px;font-size:12.5px;font-weight:620;transition:background .12s,color .12s}.seg button:hover{color:var(--textPrimary)}.seg button.on{background:var(--surface1);color:var(--textPrimary);box-shadow:var(--shadow-1)}.seg.sm{padding:2px}.seg.sm button{padding:4px 10px;font-size:12px}.seg.sm button.sent.on{background:var(--accent-tint);color:var(--accent-on-tint)}.seg.sm button.passed.on{background:var(--success-tint);color:var(--success)}.seg.sm button.failed.on{background:var(--danger-tint);color:var(--danger)}.vin-copy{cursor:pointer;color:var(--textSecondary);background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:3px 7px;font-size:12.5px;transition:background .1s,color .1s;display:inline-flex}.vin-copy:hover{background:var(--surface2);color:var(--accent)}.vin-copy svg{opacity:.6}.vin-copy:hover svg{opacity:1}.tbl-wrap{background:var(--surface1);border:1px solid var(--separator);box-shadow:var(--shadow-1);border-radius:14px;overflow:auto hidden}.tbl{border-collapse:collapse;width:100%;font-size:13.5px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--textTertiary);border-bottom:1px solid var(--separator);background:var(--surface1);white-space:nowrap;padding:10px 12px;font-size:10.5px;font-weight:650;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--separator);vertical-align:middle;padding:10px 12px}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:var(--surface2)}.tbl tr.tap{cursor:pointer}.tbl td select{border-radius:8px;width:auto;padding:4.5px 8px;font-size:12.5px}.tbl td input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.tbl td input[type=number]{padding:4.5px 8px;font-size:13px}.board{gap:12px;padding:2px 2px 12px;display:flex;overflow-x:auto}.col{background:var(--surface1);border:1px solid var(--separator);box-shadow:var(--shadow-1);border-radius:14px;flex:0 0 228px;align-self:flex-start;padding:10px}.col h3{text-transform:uppercase;letter-spacing:.7px;color:var(--textSecondary);justify-content:space-between;margin:4px 6px 10px;font-size:11px;font-weight:700;display:flex}.col h3 .c{color:var(--textTertiary);font-variant-numeric:tabular-nums;font-weight:620}.rcard{background:var(--surface2);border:1px solid var(--separator);border-left:3px solid var(--separator-strong);cursor:pointer;border-radius:10px;margin-bottom:8px;padding:9px 10px;transition:transform .1s,box-shadow .1s,border-color .1s;position:relative}.rcard:hover{box-shadow:var(--shadow-2);border-color:var(--separator-strong);transform:translateY(-1px)}.rcard.stuck{border-left-color:var(--danger)}.rcard .sk{letter-spacing:-.1px;font-size:13px;font-weight:700}.rcard .lb{color:var(--textSecondary);margin:2px 0 4px;font-size:12px;line-height:1.35}.rcard .advance{opacity:0;background:var(--accent-tint);color:var(--accent-on-tint);cursor:pointer;border:none;border-radius:7px;align-items:center;padding:3px 7px;transition:opacity .12s,background .12s;display:flex;position:absolute;bottom:6px;right:6px}.rcard:hover .advance{opacity:1}.rcard .advance:hover{background:var(--accent);color:var(--on-accent)}.days{font-variant-numeric:tabular-nums;color:var(--textTertiary);font-size:11.5px;font-weight:650}.days.hot{color:var(--danger)}.insp-item{border-bottom:1px solid var(--separator);padding:11px 0}.insp-item:last-child{border-bottom:none}.insp-item .top{align-items:center;gap:10px;display:flex}.insp-item .name{flex:1;font-size:14.5px;font-weight:500}.cond{gap:6px;display:inline-flex}.cond button{border:1.5px solid var(--separator-strong);background:var(--surface1);color:var(--textSecondary);cursor:pointer;border-radius:9px;min-width:52px;padding:9px 13px;font-size:13px;font-weight:650;transition:background .1s,border-color .1s,color .1s}.cond button.ok.on{background:var(--success-tint);border-color:var(--success);color:var(--success)}.cond button.attention.on{background:var(--warning-tint);border-color:var(--warning);color:var(--warning)}.cond button.fail.on{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.sheet-actions{background:var(--surface1);border:1px solid var(--separator);box-shadow:var(--shadow-2);border-radius:14px;gap:10px;padding:10px;display:flex;position:sticky;bottom:14px}.sheet-actions .btn{flex:1;justify-content:center;padding:12px;font-size:14.5px}.switch{flex:none;width:46px;height:27px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .track{background:var(--surface-pressed);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch input:checked+.track{background:var(--accent)}.switch .thumb{pointer-events:none;background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked~.thumb{transform:translate(19px)}.banner{background:var(--warning-tint);color:var(--warning);border-radius:11px;align-items:center;gap:9px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:550;display:flex}.banner.bad{background:var(--danger-tint);color:var(--danger)}.banner.ok{background:var(--success-tint);color:var(--success)}.toast{background:var(--textPrimary);color:var(--bg);z-index:90;box-shadow:var(--shadow-3);border-radius:999px;padding:11px 20px;font-size:13.5px;font-weight:550;animation:.18s ease-out toast-in;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.spinner{color:var(--textTertiary);justify-content:center;align-items:center;gap:10px;padding:48px;font-size:13.5px;display:flex}.spinner:before{content:"";border:2.5px solid var(--separator-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{color:var(--textTertiary);text-align:center;padding:44px 20px;font-size:13.5px}.search-wrap{background:var(--surface1);border:1px solid var(--separator);border-radius:10px;flex:1;align-items:center;gap:8px;max-width:300px;padding:0 11px;display:flex}.search-wrap svg{color:var(--textTertiary)}.search-wrap input{box-shadow:none;background:0 0;border:none;padding:8.5px 0}.search-wrap input:focus{box-shadow:none;background:0 0;border:none}.digest{background:var(--surface1);border:1px solid var(--separator);box-shadow:var(--shadow-1);border-radius:14px;padding:8px 22px 14px}.digest h1{letter-spacing:-.3px;margin:14px 0 4px;font-size:17px}.digest h2{text-transform:uppercase;letter-spacing:.7px;color:var(--textSecondary);margin:18px 0 6px;font-size:12px}.digest ul{margin:4px 0;padding-left:20px}.digest li{margin:4px 0;font-size:13.5px}.digest p{margin:6px 0;font-size:13.5px}.offline-chip{z-index:40;background:var(--warning-tint);color:var(--warning);box-shadow:var(--shadow-2);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:650;position:fixed;top:12px;right:14px}.offline-chip.syncing{background:var(--accent-tint);color:var(--accent-on-tint)}.login{background:radial-gradient(1200px 600px at 50% -10%, var(--accent-tint), var(--bg) 60%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login .box{background:var(--surface1);border:1px solid var(--separator);width:100%;max-width:372px;box-shadow:var(--shadow-2);border-radius:18px;padding:28px}.modal-back{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1273;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface1);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-3);border-radius:16px;padding:22px;animation:.16s ease-out pop-in;overflow-y:auto}.drawer-back{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1273;justify-content:flex-end;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}.drawer{background:var(--bg);width:100%;max-width:540px;height:100%;box-shadow:var(--shadow-3);padding:20px;animation:.2s ease-out slide-in;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes slide-in{0%{opacity:.5;transform:translate(24px)}to{opacity:1;transform:translate(0)}}
