@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_1f9f57d4-module__MxjoqG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f17;--panel:#111823;--panel-strong:#172130;--panel-strong-rgb:23 33 48;--input-bg:#070c14b8;--ink:255 255 255;--border:rgb(var(--ink) / .08);--text:#eff3fb;--muted:#95a3bc;--accent:#77dcff;--accent-rgb:119 220 255;--accent-hover:#9be6ff;--accent-contrast:#06111f;--ok:#35d49e;--ok-rgb:53 212 158;--accent-3:var(--ok);--warn:#ffc46b;--warn-rgb:255 184 107;--danger:#ff8a8a;--danger-rgb:255 138 138;--shadow:none;--shadow-soft:0 12px 32px #0006;--r-card:20px;--r-panel:14px;--r-control:12px;--r-inner:8px;--radius-sm:var(--r-control);--radius-md:var(--r-panel);--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f9;--panel:#fff;--panel-strong:#eef1f5;--panel-strong-rgb:238 241 245;--input-bg:#fff;--ink:15 23 42;--border:rgb(var(--ink) / .1);--text:#0f172a;--muted:#556070;--accent:#0a7ea4;--accent-rgb:10 126 164;--accent-hover:#086a8a;--accent-contrast:#fff;--ok:#15803d;--ok-rgb:21 128 61;--warn:#b45309;--warn-rgb:180 83 9;--danger:#c62828;--danger-rgb:198 40 40;--shadow-soft:0 12px 32px #0f172a1f}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f9;--panel:#fff;--panel-strong:#eef1f5;--panel-strong-rgb:238 241 245;--input-bg:#fff;--ink:15 23 42;--border:rgb(var(--ink) / .1);--text:#0f172a;--muted:#556070;--accent:#0a7ea4;--accent-rgb:10 126 164;--accent-hover:#086a8a;--accent-contrast:#fff;--ok:#15803d;--ok-rgb:21 128 61;--warn:#b45309;--warn-rgb:180 83 9;--danger:#c62828;--danger-rgb:198 40 40;--shadow-soft:0 12px 32px #0f172a1f}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:var(--bg);margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.58;transform:none!important}.shell{grid-template-columns:minmax(0,1fr);gap:18px;width:min(1240px,100% - 32px);margin:0 auto;padding:22px 0 40px;display:grid}.topbar{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex;position:sticky;top:0}.topbar-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.topbar-link{color:var(--muted);border-radius:999px;padding:8px 10px;font-size:.95rem;transition:color .16s,background .16s}.topbar-link:hover,.topbar-link:focus-visible{color:var(--text);background:rgb(var(--ink) / .05)}.topbar-link.active{color:var(--text);background:rgb(var(--ink) / .1);font-weight:600}.log-entry-card.is-unread{border-left:3px solid var(--accent,#7cf)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.pill{border:1px solid rgb(var(--ink) / .08);background:rgb(var(--ink) / .04);color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-size:.9rem;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.pill:hover,.pill:focus-visible{background:rgb(var(--ink) / .08);border-color:rgb(var(--accent-rgb) / .28);transform:translateY(-1px)}.notification-pill{gap:8px}.notification-pill.has-notifications{color:var(--text);border-color:rgb(var(--warn-rgb) / .3);background:rgb(var(--warn-rgb) / .1)}.status-dot{background:var(--accent-3);width:8px;height:8px;box-shadow:0 0 0 4px rgb(var(--ok-rgb) / .12);border-radius:999px;flex:none;display:inline-block}.has-notifications .status-dot{background:var(--warn);box-shadow:0 0 0 4px rgb(var(--warn-rgb) / .12)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}.eyebrow{background:rgb(var(--ink) / .05);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;display:inline-flex}h1{letter-spacing:-.06em;max-width:12ch;margin:14px 0 12px;font-size:clamp(2.3rem,5vw,4.8rem);line-height:.96}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.hero-actions.tight{margin-top:14px}.primary,.secondary,.ghost{border-radius:var(--r-control);transition:transform .12s var(--ease-out), background .16s ease, border-color .16s ease;padding:12px 16px}.button-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.primary{background:var(--accent);color:var(--accent-contrast);font-weight:700}.secondary{background:rgb(var(--ink) / .04);color:var(--text);border:1px solid var(--border)}.ghost{color:var(--muted);background:0 0;border:1px solid #0000}.ghost:hover{color:var(--text)}.text-link{min-height:44px;color:var(--text);align-items:center;gap:6px;font-weight:600;display:inline-flex}.text-link span{transition:transform .16s var(--ease-out)}.text-link:hover span{transform:translate(3px)}.text-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-inner)}.primary:hover{background:var(--accent-hover)}.secondary:hover,.ghost:hover{background:rgb(var(--ink) / .08)}.primary:active,.secondary:active,.ghost:active{transform:scale(.97)}.primary:focus-visible,.secondary:focus-visible,.ghost:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgb(var(--accent-rgb) / .75);outline-offset:2px}.stats-grid article:hover,.overview-grid article:hover,.log-entry-card:hover{border-color:rgb(var(--accent-rgb) / .2)}.card-head p,.meta,.muted{color:var(--muted)}.dashboard{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.overview-card,.log-card,.login-card,.hero-card{padding:22px}.overview-card,.login-card{grid-column:span 6}.log-card,.hero-card{grid-column:span 12}.hero-card .card-head{margin-bottom:0}.card-head h1{letter-spacing:-.03em;margin:0;font-size:1.9rem;line-height:1.15}.card-head{margin-bottom:16px}.card-head h2{letter-spacing:-.02em;margin:0;font-size:1.18rem}.card-head p{margin:6px 0 0}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:var(--muted);gap:8px;font-size:.92rem;display:grid}input,select,textarea{border-radius:var(--r-control);border:1px solid rgb(var(--ink) / .08);background:var(--input-bg);width:100%;color:var(--text);outline:none;min-height:48px;padding:13px 14px}input:focus,select:focus,textarea:focus{border-color:rgb(var(--accent-rgb) / .56);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .12)}textarea{resize:vertical;min-height:132px}input::placeholder,textarea::placeholder{color:var(--muted)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2395a3bc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:42px}select::-ms-expand{display:none}@media (forced-colors:active){select{appearance:auto;background-image:none;padding-right:12px}}.span-2,.full{grid-column:1/-1}.stats-grid,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stats-grid article,.overview-grid article{border-radius:var(--r-panel);background:rgb(var(--ink) / .04);border:1px solid rgb(var(--ink) / .05);padding:18px;transition:border-color .16s,background .16s}.stats-grid strong,.overview-grid strong{margin-top:8px;font-size:1.28rem;display:block}.empty-state{color:var(--muted);gap:6px;padding:18px 0;line-height:1.6;display:grid}.empty-state strong{color:var(--text)}.log-cards{scrollbar-gutter:stable;gap:12px;max-height:760px;padding-right:6px;display:grid;overflow-y:auto}.log-entry-card{border-radius:var(--r-panel);background:rgb(var(--ink) / .04);border:1px solid rgb(var(--ink) / .05);padding:16px;transition:border-color .16s,background .16s}.log-entry-card-editing{border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .04)}.log-entry-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.log-entry-top strong{margin-top:4px;font-size:1.02rem;display:block}.log-entry-cost{color:var(--text);white-space:nowrap;font-weight:800}.log-entry-grid{grid-template-columns:1fr 2fr;gap:12px;margin-top:12px;display:grid}.log-entry-grid p{color:var(--text);margin:6px 0 0;line-height:1.55}.row-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.entry-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.link-button{color:var(--accent);background:0 0;min-height:32px;padding:0;font-weight:600}.link-button:hover,.link-button:focus-visible{text-decoration:underline}.link-button.danger{color:var(--danger)}.link-button:disabled{opacity:.45;cursor:default;text-decoration:none}.schedule-vehicle{flex-direction:column;gap:6px;max-width:320px;margin-bottom:18px;display:flex}.schedule-list{gap:14px;display:grid}.schedule-row{border:1px solid var(--border);border-radius:var(--r-control);gap:12px;padding:16px;display:grid}.schedule-row.is-off{opacity:.6}.schedule-row-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.schedule-inputs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.schedule-inputs label{flex-direction:column;gap:6px;display:flex}.schedule-row .row-actions{margin-top:0}.vin-line{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.recall-check{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:12px;margin-bottom:18px;display:grid}.recall-check label{flex-direction:column;gap:6px;display:flex}.recall-card{border:1px solid var(--border);border-radius:var(--r-control);gap:8px;padding:16px;display:grid}.recall-card.is-critical{border-color:var(--danger)}.recall-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.recall-head strong{display:block}.recall-flag{background:var(--danger);color:#fff;letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700}.recall-detail{gap:10px;font-size:.92rem;line-height:1.55;display:grid}.recall-subhead{margin:22px 0 12px;font-size:1rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid rgb(var(--ink) / .08);vertical-align:top;padding:14px 12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}tr:hover td{background:rgb(var(--ink) / .02)}.tab{border-radius:var(--r-control);color:var(--muted);background:0 0;padding:10px 14px}.tab.active{color:var(--accent-contrast);background:var(--accent);font-weight:700}.stack{gap:12px;display:grid}.split{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.note{border-radius:var(--r-panel);background:rgb(var(--accent-rgb) / .09);border:1px solid rgb(var(--accent-rgb) / .14);color:var(--text);align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex;box-shadow:0 8px 24px #0000001f}.danger{color:var(--danger)}@media (max-width:1024px){.hero-grid,.split,.dashboard{grid-template-columns:1fr}.overview-card,.log-card,.login-card,.hero-card{grid-column:auto}}@media (max-width:680px){.shell{width:min(100% - 20px,1240px);padding:14px 0 28px}.overview-card,.log-card{border-radius:var(--r-card);padding:18px}.grid-form,.stats-grid,.overview-grid{grid-template-columns:1fr}.log-cards{max-height:none;padding-right:0}.log-entry-grid{grid-template-columns:1fr}.entry-actions{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:flex-start}.topbar-nav{order:3;width:100%}.topbar{position:relative;top:auto}.topbar-actions{width:100%}.topbar-actions .pill{flex:1}.hero-actions>*{width:100%}.hero-actions .button-link{min-height:48px}h1{max-width:100%}}.settings-section{grid-column:1/-1}.settings-section>summary{cursor:pointer;flex-direction:column;gap:4px;padding:22px;list-style:none;display:flex}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary strong:after{content:" ▸"}.settings-section[open]>summary{margin-bottom:18px}.settings-section[open]>summary strong:after{content:" ▾"}:root{--status-ok:var(--ok);--status-soon:var(--warn);--status-due:var(--danger);--progress-track:rgb(var(--ink) / .08)}.mileage-forms{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:20px;display:grid}.mileage-form{gap:6px;display:grid}.mileage-form-row{gap:8px;display:flex}.mileage-form-row input{flex:1;min-width:0}.progress-list{gap:18px;margin:0;padding:0;list-style:none;display:grid}.progress-top,.progress-detail{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.progress-top{margin-bottom:8px}.progress-detail{margin-top:6px;font-size:.85rem}.progress-status{color:var(--text);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.progress-icon{width:18px;height:18px;color:var(--bg);background:var(--status-color);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:inline-grid}.progress-track{background:var(--progress-track);border-radius:4px;height:10px;overflow:hidden}.progress-fill{background:var(--status-color);border-radius:4px;height:100%;transition:width .6s}.tone-ok{--status-color:var(--status-ok)}.tone-soon{--status-color:var(--status-soon)}.tone-due{--status-color:var(--status-due)}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}}@media (forced-colors:active){.progress-track{border:1px solid canvastext}.progress-fill{background:highlight}}html{scroll-padding-top:104px}.app-shell{padding-top:0}.app-shell .topbar{flex-wrap:nowrap;padding:12px 0}.app-shell .ghost{white-space:nowrap}.brand{letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-size:1.05rem;font-weight:700}.app-shell .topbar-nav{flex-wrap:nowrap;gap:4px}.app-shell .topbar-actions{flex-wrap:nowrap;align-items:center}.app-shell .notification-pill{white-space:nowrap;padding:8px 12px}.tabbar{display:none}.toast-region{z-index:30;pointer-events:none;width:min(480px,100% - 32px);position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--r-control);background:var(--panel-strong);border:1px solid rgb(var(--accent-rgb) / .24);box-shadow:var(--shadow);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 12px 16px;animation:.18s ease-out toast-in;display:flex}.toast-close{background:rgb(var(--ink) / .06);width:28px;height:28px;color:var(--muted);border:none;border-radius:50%;flex:none;padding:0;font-size:1.1rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (max-width:820px){html{scroll-padding-top:76px}.app-shell{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.app-shell .topbar{padding:10px 0;position:sticky;top:0}.app-shell .topbar-nav{display:none}.app-shell .topbar-actions{width:auto}.app-shell .topbar-actions .pill{flex:none}.app-shell .topbar-actions .ghost{padding:8px 12px}.tabbar{--tab-pad:6px;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;padding:var(--tab-pad);background:rgb(var(--panel-strong-rgb) / .88);border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;grid-template-columns:repeat(5,1fr);display:grid;position:fixed}.tab-indicator{top:var(--tab-pad);bottom:var(--tab-pad);left:var(--tab-pad);width:calc((100% - 2 * var(--tab-pad)) / 5);border-radius:calc(24px - var(--tab-pad));background:rgb(var(--accent-rgb) / .12);transform:translateX(calc(var(--active,0) * 100%));transition:transform .28s cubic-bezier(.65,0,.35,1);position:absolute}.tab-link{min-height:54px;color:var(--muted);letter-spacing:.01em;transition:color .16s ease, transform .12s var(--ease-out);align-content:center;justify-items:center;gap:2px;font-size:.7rem;font-weight:500;display:grid;position:relative}.tab-link:active{transform:scale(.94)}.tab-link.active{color:var(--accent);font-weight:600}.tab-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:calc(24px - var(--tab-pad))}.toast-region{bottom:calc(90px + env(safe-area-inset-bottom))}}.dashboard-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.dashboard-hero h1{letter-spacing:-.02em;margin:0 0 4px;font-size:1.6rem}.dashboard-hero p{margin:0}.stats-grid.stats-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-actions{flex-wrap:wrap;gap:10px;display:flex}.card-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin-bottom:16px;display:flex}.card-head-row .card-head{margin-bottom:0}@media (max-width:680px){.stats-grid.stats-grid-3{grid-template-columns:1fr}.dashboard-hero .button-link{width:100%}}.add-entry{margin-bottom:18px}.vin-row{gap:8px;display:flex}.vin-row input{flex:1;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);font-style:italic}@media (max-width:680px){.vin-row{flex-direction:column}}.log-entry-grid .meta{margin-bottom:2px;display:block}.mileage-form-row{flex-wrap:wrap}.mileage-form-row input{flex:140px}.service-type-list{gap:0;margin:0 0 16px;padding:0;list-style:none;display:grid}.service-type-row{border:0;border-bottom:1px solid var(--border);background:0 0;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px 0;display:grid}.service-type-row label{gap:4px;display:grid}.service-type-new{border-bottom:0}.service-type-actions{align-items:center;gap:8px;min-height:44px;display:flex}.danger-button{border:1px solid rgb(var(--danger-rgb) / .4);background:rgb(var(--danger-rgb) / .12);color:var(--danger)}@media (max-width:680px){.service-type-row{grid-template-columns:1fr 1fr}.service-type-row label:first-child,.service-type-actions{grid-column:1/-1}}.progress-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin-bottom:16px;display:flex}.progress-head .card-head{margin-bottom:0}.visibility-panel{border-radius:var(--r-panel);border:1px solid var(--border);background:rgb(var(--ink) / .02);flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:14px;display:flex}.untracked-row{border-radius:var(--r-control);border:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:10px 14px;display:flex}.danger-button{border-radius:var(--r-control);padding:12px 16px;font-weight:600}.visibility-panel{margin:0 0 18px;padding:12px 14px;display:block}.visibility-legend{margin-bottom:10px;padding:0;font-size:.85rem}.visibility-legend a{color:var(--accent);text-decoration:underline}.toggle-chips{flex-wrap:wrap;gap:6px;display:flex}.toggle-chip{border:1px solid var(--border);min-height:28px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;padding:3px 11px 3px 9px;font-size:.82rem;line-height:1.2;transition:background .14s,border-color .14s,color .14s;display:inline-flex;position:relative}.toggle-chip input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.toggle-chip span:before{content:"";vertical-align:1px;border:1.5px solid;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.toggle-chip:has(input:checked){color:var(--text);border-color:rgb(var(--accent-rgb) / .45);background:rgb(var(--accent-rgb) / .12)}.toggle-chip:has(input:checked) span:before{background:var(--accent);border-color:var(--accent)}.toggle-chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.secondary.compact{padding:8px 12px;font-size:.9rem}.vehicle-switcher{align-items:center;gap:8px;display:inline-flex}.vehicle-switcher select{width:auto;min-width:160px;padding:10px 42px 10px 14px}.fleet-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.segmented{border-radius:var(--r-control);border:1px solid var(--border);background:rgb(var(--ink) / .02);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--r-inner);color:var(--muted);background:0 0;border:none;padding:6px 12px;font-size:.85rem}.segmented button[aria-pressed=true],.segmented button[aria-checked=true]{background:rgb(var(--ink) / .1);color:var(--text);font-weight:600}.fleet-search{width:min(260px,100%)}.fleet-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fleet-row{border-radius:var(--r-control);border:1px solid var(--border);background:rgb(var(--ink) / .02);width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.fleet-row:hover,.fleet-row:focus-visible{border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .05)}.fleet-car{gap:2px;min-width:0;display:grid}.fleet-car strong,.fleet-car .meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fleet-worst{gap:6px;min-width:0;display:grid}.fleet-worst-top{justify-content:space-between;gap:8px;display:flex}.fleet-worst .progress-track{height:6px}.fleet-counts{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.count-due:before,.count-soon:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.count-due:before{background:var(--status-due)}.count-soon:before{background:var(--status-soon)}@media (max-width:680px){.toggle-chip{min-height:32px}.fleet-row{grid-template-columns:1fr;gap:8px}.vehicle-switcher,.vehicle-switcher select{width:100%}}.fleet-row{grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) 128px}.fleet-counts{justify-content:flex-end}@media (max-width:680px){.fleet-row{grid-template-columns:1fr}.fleet-counts{justify-content:flex-start}}.history-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:16px;display:flex}.detail-links{margin:-8px 0 16px}:root{--chart-bar:var(--accent);--chart-bar-active:var(--accent-hover);--chart-grid:rgb(var(--ink) / .07);--chart-track:rgb(var(--ink) / .05)}.spending-filters{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.spending-kpis{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch;gap:18px;display:grid}.kpi-hero{align-content:center;gap:4px;display:grid}.hero-figure{letter-spacing:-.03em;font-size:3rem;font-weight:600;line-height:1.05}.kpi-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.kpi-tiles article{border-radius:var(--r-panel);border:1px solid var(--border);background:rgb(var(--ink) / .02);align-content:start;gap:4px;padding:14px 16px;display:grid}.kpi-tiles strong{font-size:1.4rem}.kpi-note{font-size:.85rem}.chart-frame{width:100%;position:relative}.chart-frame svg{display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-value{fill:var(--text);font-size:12px;font-weight:600}.chart-column{fill:var(--chart-bar);transition:fill .12s}.chart-column.is-active{fill:var(--chart-bar-active)}.chart-hit{fill:#0000;cursor:default;outline:none}.chart-hit:focus-visible{stroke:var(--accent);stroke-width:1.5px}.chart-tooltip{border-radius:var(--r-inner);background:var(--panel-strong);border:1px solid rgb(var(--ink) / .12);box-shadow:var(--shadow-soft);pointer-events:none;white-space:nowrap;gap:2px;padding:8px 12px;font-size:.85rem;display:grid;position:absolute;transform:translate(-50%,-100%)}.chart-tooltip strong{font-size:1rem}.chart-tooltip span{color:var(--muted)}.ranked-bars{gap:14px;margin:0;padding:0;list-style:none;display:grid}.ranked-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;gap:12px;display:grid}.ranked-label{gap:2px;min-width:0;display:grid}.ranked-label strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranked-track{background:var(--chart-track);border-radius:0 4px 4px 0;height:12px}.ranked-fill{background:var(--chart-bar);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.ranked-value{font-variant-numeric:tabular-nums;text-align:right;min-width:84px;font-weight:600}.expense-list{margin:0;padding:0;list-style:none;display:grid}.expense-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.expense-list li:last-child{border-bottom:none}.expense-list li>span:first-child{gap:2px;min-width:0;display:grid}.expense-list .meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-cost{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.forecast-total{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.forecast-total strong{letter-spacing:-.02em;font-size:1.8rem}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.data-table thead th{color:var(--muted);font-size:.85rem;font-weight:500}.data-table td:last-child,.data-table thead th:last-child{text-align:right}@media (max-width:900px){.spending-kpis{grid-template-columns:1fr}}@media (max-width:680px){.hero-figure{font-size:2.6rem}.ranked-row{grid-template-columns:minmax(0,1fr) auto}.ranked-track{grid-area:2/1/auto/-1}.spending-filters .segmented{width:100%;overflow-x:auto}.spending-filters .segmented button{white-space:nowrap}.spending-filters .segmented{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.kpi-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-tiles article:last-child{grid-column:1/-1}}.guest-note{border-color:rgb(var(--accent-rgb) / .28);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.cost-hint{margin-top:6px;font-size:.85rem;font-weight:400;display:block}.cost-hint.is-total{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.cost-hint.is-error{color:var(--danger)}.cost-operators{gap:6px;margin-top:8px;display:none}.cost-operator{border-radius:var(--r-inner);border:1px solid var(--border);background:rgb(var(--ink) / .05);min-height:40px;color:var(--text);touch-action:manipulation;flex:1;padding:0;font-size:1.15rem;font-weight:600}.cost-operator:active{background:rgb(var(--accent-rgb) / .18);border-color:rgb(var(--accent-rgb) / .45)}@media (pointer:coarse){.cost-operators{display:flex}}.page-placeholder{min-height:320px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visit-services{border:0;min-width:0;margin:0;padding:0}.visit-services legend{margin-bottom:8px;padding:0}.visit-items{gap:10px;margin:0;padding:0;list-style:none;display:grid}.visit-item{border-radius:var(--r-control);border:1px solid var(--border);background:rgb(var(--ink) / .02);padding:12px}.visit-item-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.visit-item-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.visit-total{justify-content:space-between;align-items:baseline;padding:4px 4px 0;display:flex}.visit-total strong{font-variant-numeric:tabular-nums;font-size:1.2rem}.visit-photos{gap:8px;display:grid}.photo-strip{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb,.photo-add{border-radius:var(--r-control);border:1px solid var(--border);background:rgb(var(--ink) / .04);place-items:center;width:72px;height:72px;display:grid;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb.is-new{border-color:rgb(var(--accent-rgb) / .45)}.photo-pdf{color:var(--muted);font-size:.8rem;font-weight:700}.photo-remove{color:#fff;cursor:pointer;background:#000000a6;border:0;border-radius:50%;width:22px;height:22px;padding:0;font-size:.9rem;line-height:1;position:absolute;top:4px;right:4px}.photo-add{cursor:pointer;color:var(--muted);border-style:dashed;font-size:1.6rem}.photo-add:focus-within{outline:2px solid var(--accent);outline-offset:2px}.photo-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.visit-lines{gap:4px;margin:8px 0;padding:0;list-style:none;display:grid}.visit-lines li{justify-content:space-between;gap:12px;display:flex}.visit-line-cost{font-variant-numeric:tabular-nums;white-space:nowrap}.visit-card .photo-strip{margin:8px 0 4px}@media (max-width:680px){.visit-item-fields{grid-template-columns:1fr}}:is(body:has(.landing),body:has(.auth)){background:var(--bg)}.landing,.auth{--lp-bg:var(--bg);--lp-surface:var(--panel);--lp-raised:var(--panel-strong);--lp-line:rgb(var(--ink) / .08);--lp-track:rgb(var(--ink) / .07);--lp-r-outer:20px;--lp-pad:8px;--lp-ease-out:cubic-bezier(.22, 1, .36, 1)}.landing{font-variant-numeric:tabular-nums;width:min(1120px,100% - 32px);margin:0 auto;padding:20px 0 64px}.lp-header{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.lp-brand{letter-spacing:-.02em;font-weight:700}.lp-nav{gap:4px;display:flex}.lp-nav a{min-height:44px;color:var(--muted);border-radius:10px;align-items:center;padding:0 12px;display:inline-flex}.lp-nav a:hover,.lp-nav .lp-nav-strong{color:var(--text)}.lp-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:56px;padding:72px 0 88px;display:grid}.lp-hero h1{letter-spacing:-.035em;max-width:13ch;margin:0;font-size:clamp(2.5rem,5.4vw,4.25rem);line-height:1.02}.lp-lede{max-width:46ch;color:var(--muted);margin:20px 0 0;font-size:1.125rem;line-height:1.6}.lp-actions{flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:32px;display:flex}.lp-primary{background:var(--accent);min-height:48px;color:var(--accent-contrast);transition:transform .12s var(--lp-ease-out), background .16s ease;border-radius:12px;padding:0 22px;font-weight:700}.lp-primary:hover{background:var(--accent-hover)}.lp-primary:active{transform:scale(.97)}.lp-link{align-items:center;gap:6px;min-height:44px;font-weight:600;display:inline-flex}.lp-link span{transition:transform .16s var(--lp-ease-out)}.lp-link:hover span{transform:translate(3px)}.lp-primary:focus-visible,.lp-link:focus-visible,.lp-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lp-reassure{color:var(--muted);margin:12px 0 0;font-size:.9rem}.lp-product{padding:var(--lp-pad);border-radius:var(--lp-r-outer);background:var(--lp-surface);border:1px solid var(--lp-line);margin:0}.lp-product-inner{border-radius:calc(var(--lp-r-outer) - var(--lp-pad));background:var(--lp-raised);padding:20px}.lp-car{border-bottom:1px solid var(--lp-line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.lp-car strong,.lp-car span{display:block}.lp-car div span,.lp-recall{color:var(--muted);font-size:.875rem}.lp-odometer{font-weight:600}.lp-services{margin:0;padding:0;list-style:none}.lp-services li{border-bottom:1px solid var(--lp-line);gap:8px;padding:16px 0;display:grid}.lp-service-head{justify-content:space-between;gap:12px;font-weight:600;display:flex}.lp-due{color:var(--muted);font-weight:400}.lp-meter{color:var(--muted);grid-template-columns:44px 1fr;align-items:center;gap:12px;font-size:.8rem;display:grid}.lp-track{background:var(--lp-track);border-radius:999px;height:6px;overflow:hidden}.lp-fill{border-radius:inherit;background:rgb(var(--ink) / .22);transform-origin:0;height:100%;transform:scaleX(var(--v));animation:lp-fill .7s var(--lp-ease-out) both;animation-delay:calc(var(--i,0) * 30ms + .15s)}.lp-meter.is-first{color:var(--text)}.lp-meter.is-first .lp-fill{background:var(--accent)}@keyframes lp-fill{0%{transform:scaleX(0)}}.lp-recall{margin:16px 0 0}.lp-pages{border-top:1px solid var(--lp-line);padding-top:48px}.lp-pages h2{letter-spacing:-.02em;margin:0 0 24px;font-size:1.5rem}.lp-pages dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin:0;display:grid}.lp-pages dl div{border-bottom:1px solid var(--lp-line);grid-template-columns:112px 1fr;gap:16px;padding:16px 0;display:grid}.lp-pages dt{font-weight:600}.lp-pages dd{color:var(--muted);margin:0;line-height:1.55}@media (max-width:900px){.lp-hero{grid-template-columns:1fr;gap:40px;padding:40px 0 56px}.lp-pages dl{grid-template-columns:1fr}}@media (max-width:480px){.lp-pages dl div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){.lp-fill{animation:none}.lp-primary,.lp-link span{transition:none}}.auth{flex-direction:column;width:min(1120px,100% - 32px);min-height:100vh;margin:0 auto;padding:20px 0 64px;display:flex}.auth-header{align-items:center;min-height:48px;display:flex}.auth-body{width:min(400px,100%);margin:auto;padding:48px 0}.auth h1{letter-spacing:-.03em;max-width:none;margin:0;font-size:2rem;line-height:1.1}.auth-lede{color:var(--muted);margin:12px 0 0;line-height:1.55}.auth-form{gap:20px;margin-top:32px;display:grid}.auth-form label,.auth-field{color:var(--text);gap:8px;font-size:.9rem;font-weight:500;display:grid}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-label-row a{color:var(--muted);font-weight:400}.auth-label-row a:hover{color:var(--text)}.auth-form input{background:var(--lp-surface);border-color:var(--lp-line);border-radius:12px}.auth-password{position:relative}.auth-password input{padding-right:72px}.auth-toggle{min-width:56px;color:var(--muted);background:0 0;border-radius:10px;font-size:.85rem;position:absolute;top:2px;bottom:2px;right:2px}.auth-toggle:hover{color:var(--text);background:var(--lp-raised)}.auth-hint{color:var(--muted);margin:0;font-size:.85rem;font-weight:400}.auth-submit{width:100%;margin-top:4px}.auth-alert,.auth-sent{border-radius:12px;margin:24px 0 0;padding:12px 14px;font-size:.92rem;line-height:1.5}.auth-form .auth-alert{margin:0}.auth-alert{color:var(--danger);background:rgb(var(--danger-rgb) / .08);border:1px solid rgb(var(--danger-rgb) / .24)}.auth-sent{color:var(--text);background:var(--lp-surface);border:1px solid var(--lp-line)}.auth-switch{border-top:1px solid var(--lp-line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 6px;margin:32px 0 0;padding-top:24px;display:flex}.auth-switch .lp-link{color:var(--text)}.auth-toggle:focus-visible,.auth-label-row a:focus-visible,.lp-brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth .lp-primary:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){.primary,.secondary,.ghost,.text-link span{transition:none}.primary:active,.secondary:active,.ghost:active{transform:none}}.app-shell h1{max-width:none}@media (pointer:coarse){.link-button,.pill,.compact,.segmented button,.ghost,.brand{min-height:44px}.link-button,.brand{align-items:center;display:inline-flex}}.visit-card{padding:0}.visit-summary{border-radius:calc(var(--r-panel) - 1px);width:100%;min-height:56px;color:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:background .16s;display:flex}.visit-summary:hover{background:rgb(var(--ink) / .03)}.visit-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.visit-card.is-open .visit-summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.visit-summary-main{gap:2px;min-width:0;display:grid}.visit-summary-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.visit-card.is-open .visit-summary-main strong{white-space:normal}.visit-summary-end{flex:none;align-items:center;gap:10px;display:flex}.visit-chevron{color:var(--muted);transition:transform .2s var(--ease-out)}.visit-card.is-open .visit-chevron{transform:rotate(180deg)}.visit-details{border-top:1px solid var(--border);animation:visit-open .2s var(--ease-out);transform-origin:top;padding:4px 16px 12px}.visit-details .visit-lines{margin:10px 0}.visit-notes{margin:0 0 10px}@keyframes visit-open{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.visit-details{animation:none}.visit-chevron,.tab-indicator,.tab-link{transition:none}.tab-link:active{transform:none}}.mileage-note{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.mileage-note strong{color:var(--text);font-variant-numeric:tabular-nums}.mileage-note.is-stale{color:var(--warn)}.history-search{flex:240px;min-width:0}.history-count{flex:none}.pager{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.switch{cursor:pointer;align-items:center;min-height:44px;display:inline-flex;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch-track{--track-w:48px;--track-h:28px;--gap:3px;width:var(--track-w);height:var(--track-h);background:rgb(var(--ink) / .16);border-radius:999px;transition:background .2s;display:inline-block;position:relative}.switch-knob{top:var(--gap);left:var(--gap);width:calc(var(--track-h) - 2 * var(--gap));height:calc(var(--track-h) - 2 * var(--gap));background:#fff;border-radius:999px;transition:transform .22s cubic-bezier(.65,0,.35,1);position:absolute;box-shadow:0 1px 3px #0000004d}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track .switch-knob{transform:translateX(calc(var(--track-w) - var(--track-h)));animation:.22s cubic-bezier(.65,0,.35,1) knob-stretch}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:3px}.switch input:disabled+.switch-track{opacity:.6}@keyframes knob-stretch{50%{width:calc((var(--track-h) - 2 * var(--gap)) * 1.12)}}@media (prefers-reduced-motion:reduce){.switch-track,.switch-knob{transition:none}.switch input:checked+.switch-track .switch-knob{animation:none}}
