:root{color:#e6eaee;background:#0d1217;--bg: #0d1217;--surface: #141b22;--surface-strong: #1f2831;--surface-soft: #111820;--border: #33414d;--border-strong: #475765;--text: #e6eaee;--text-muted: #8b97a3;--text-soft: #c3ccd5;--accent: #ff6600;--accent-hover: #ff7a1a;--accent-soft: rgba(255, 102, 0, .14);--danger: #ff5a45;--success: #54d681;--accent-100: oklch(.965 .03 42);--accent-200: oklch(.925 .065 42);--accent-300: oklch(.865 .112 42);--accent-400: oklch(.775 .174 42);--accent-500: oklch(.679 .211 42);--accent-600: oklch(.59 .197 42);--accent-700: oklch(.48 .161 42);--accent-800: oklch(.365 .125 42);--accent-900: oklch(.255 .084 42);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}.app-shell{display:grid;min-height:100vh;padding-top:56px;grid-template-columns:260px 1fr}.content,.table-scroll{min-width:0}.sidebar{display:flex;flex-direction:column;gap:28px;padding:24px 18px;color:var(--text);background:var(--surface-soft);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;color:var(--bg);background:var(--accent);font-size:1.05rem;font-weight:500}.brand strong{font-weight:500}.brand strong,.brand span{display:block}.brand span{margin-top:3px;color:color-mix(in srgb,var(--text) 40%,transparent);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}.nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;min-height:42px;padding:10px 12px;border-radius:8px;color:color-mix(in srgb,var(--text) 72%,transparent);font-size:.87rem;transition:color .12s ease,background .12s ease,box-shadow .12s ease}button.nav-link{width:100%;border:none;background:none;font:inherit;cursor:pointer;text-align:left}.sidebar-footer{margin-top:auto}.sidebar-close,.sidebar-backdrop{display:none}.topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;right:0;left:0;z-index:20;height:56px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface-soft);color:var(--text)}.topbar-toggle,.topbar-title{display:none}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.language-button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:none;border-radius:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent);color:color-mix(in srgb,var(--text) 78%,transparent);background:transparent;font:inherit;font-size:.79rem;cursor:pointer;transition:box-shadow .12s ease,color .12s ease}.language-button:hover,.language-button[data-open]{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.language-code{letter-spacing:.04em}.flag{display:block;flex:none;border-radius:2px;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 24%,transparent)}.language-check{margin-left:auto;color:var(--accent)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-link:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.nav-link.active{color:var(--accent);background:transparent;box-shadow:inset 0 0 0 1px var(--accent)}.content{padding:32px 36px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 7%,transparent),transparent 32rem),var(--bg)}.page{max-width:1040px}.page header{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,var(--border),var(--border) calc(100% - 48px),transparent) 1}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.63rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}h1{margin:0;font-size:1.9rem;font-weight:500;line-height:1.15}h2,h3{font-weight:500}header p{max-width:680px;margin:10px 0 0;color:var(--text-muted);font-size:.88rem}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.guide-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}.guide-step{position:relative;display:flex;align-items:flex-start;gap:12px;padding:18px;border:none;border-radius:9px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent);text-decoration:none;color:inherit;transition:box-shadow .12s ease,color .12s ease}.guide-step:hover{color:var(--accent-300);box-shadow:inset 0 0 0 1px var(--accent)}.guide-step-number{position:absolute;top:10px;right:12px;color:var(--text-muted);font-size:.85rem}.guide-step strong{display:block;margin-bottom:5px;font-weight:500}.guide-step p{margin:0;color:color-mix(in srgb,var(--text) 50%,transparent);font-size:.82rem}.home-cards{display:flex;flex-direction:column;gap:14px}.home-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head action" "body body";align-items:center;border-radius:12px;background:var(--surface-strong);box-shadow:0 0 0 1px var(--border);overflow:hidden}.home-card-head{grid-area:head;display:flex;align-items:center;gap:13px;min-width:0;padding:16px 18px 14px}.home-card-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:9px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--accent-400)}.home-card-id{min-width:0}.home-card-name{font-size:1.06rem;font-weight:500;line-height:1.2}.home-card-reading{margin-top:3px;color:var(--text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.home-card-action{grid-area:action;margin-right:18px;min-height:40px;padding:0 14px;font-size:.78rem}.home-card-body{grid-area:body;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1px;background:var(--border)}.home-card-panel{padding:15px 18px 17px;background:var(--surface-strong)}.home-card-eyebrow{margin-bottom:11px;color:var(--text-muted);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase}.home-card-note{max-width:330px;margin:0;color:var(--text-muted);font-size:.8rem}.home-card-note a{color:var(--accent-300)}.home-card-amount{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.home-card-amount.zero{color:var(--text-muted)}.home-card-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:9px;color:var(--text-muted);font-size:.72rem}.home-card-legend>span{display:flex;align-items:center;gap:5px}.home-card-legend .spend-swatch{width:7px;height:7px;border-radius:2px}.home-cash{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;padding:14px 18px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.home-cash-amount{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.home-cash-legend{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--text-muted);font-size:.72rem}.home-cash-legend>span{display:flex;align-items:center;gap:5px}.home-cash-legend .spend-swatch{width:7px;height:7px;border-radius:2px}.home-cash-link{margin-left:auto;font-size:.78rem}.home-due-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.home-due-row{display:flex;align-items:baseline;gap:10px}.home-due-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--border-strong);transform:translateY(-2px)}.home-due-dot.dueSoon{background:var(--accent)}.home-due-dot.overdue{background:var(--danger)}.home-due-name{flex:1;min-width:0;font-size:.84rem}.home-due-left{color:var(--text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.home-due-left.dueSoon{color:var(--text-soft)}.home-due-left.overdue{color:var(--danger)}@media(max-width:640px){.home-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "body" "action"}.home-card-body{grid-template-columns:minmax(0,1fr)}.home-card-action{justify-content:center;margin:14px 15px 15px;min-height:44px}}.metric,.due-item{border:none;border-radius:9px;background:var(--surface);box-shadow:0 0 0 1px var(--border)}.metric{padding:18px}.metric span,.due-item span{display:block;color:color-mix(in srgb,var(--text) 40%,transparent);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}.metric strong{display:block;margin-top:10px;font-size:1.75rem;font-weight:500}.worklist{display:grid;gap:10px}.due-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.due-item time{flex:0 0 auto;color:var(--accent);font-weight:500}.auth-loading{display:grid;place-items:center;min-height:100vh;color:var(--text);background:var(--bg)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.toolbar .icon-btn{flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 15px;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-size:.84rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover:not(:disabled){color:var(--accent-300);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent-400)}.btn:active:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,transparent)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent)}.btn:disabled{cursor:not-allowed;opacity:.55}.icon-btn{width:40px;height:40px;padding:0;flex:0 0 40px}.btn.secondary.icon-btn{border-color:var(--border-strong);color:color-mix(in srgb,var(--text) 72%,transparent);background:transparent}.btn.secondary.icon-btn:hover:not(:disabled){color:var(--accent-300);background:var(--accent-900);border-color:var(--accent)}.btn.secondary.icon-btn:active:not(:disabled){background:var(--accent-800)}.btn.secondary.icon-btn svg{stroke-width:1.75}.btn.secondary.icon-btn.danger{color:var(--danger)}.btn.secondary.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.btn-inline{display:inline-flex;flex-shrink:0;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px solid var(--accent);border-radius:8px;color:var(--accent);background:transparent;font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.btn-inline:hover:not(:disabled){background:var(--accent-900)}.btn-inline:disabled{cursor:not-allowed;opacity:.55}.btn-inline svg{width:16px;height:16px;stroke-width:1.75}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.btn.secondary{border-color:transparent;color:color-mix(in srgb,var(--text) 72%,transparent);background:transparent}.btn.secondary:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent);border-color:color-mix(in srgb,var(--text) 16%,transparent)}.btn.danger{color:var(--danger);border-color:transparent}.btn.danger:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.table{width:100%;border-collapse:collapse;background:var(--surface);border:none;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--border)}.table th,.table td{padding:11px 14px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent);color:var(--text-soft);font-size:.84rem}.table th{color:color-mix(in srgb,var(--text) 38%,transparent);background:transparent;border-bottom-color:var(--border);font-size:.63rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}@media(max-width:1024px){.app-shell{grid-template-columns:1fr}.topbar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-8px;border:none;background:none;color:var(--text);cursor:pointer}.topbar-title{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:30;display:flex;width:80vw;max-width:280px;border-right:1px solid var(--border);transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.sidebar.open{transform:translate(0)}.brand{position:relative}.sidebar-close{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:32px;height:32px;border:none;background:none;color:var(--text-muted);cursor:pointer}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:color-mix(in srgb,var(--bg) 55%,transparent)}.content{padding:24px 18px}h1{font-size:1.75rem}.summary-grid{grid-template-columns:1fr}.due-item{align-items:flex-start;flex-direction:column}.table-scroll{overflow-x:visible}.table{display:block;border:none;background:none;box-shadow:none}.table thead{display:none}.table tbody{display:block}.table tr{display:block;margin-bottom:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);overflow:hidden}.table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:none}.table td:empty{display:none}.table td:before{content:attr(data-label);flex:0 0 auto;margin-right:12px;color:color-mix(in srgb,var(--text) 38%,transparent);font-size:.63rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.table td~td{border-top:1px solid var(--border)}.table td.table-actions-cell{justify-content:flex-end}.table td.table-actions-cell:before{content:none}.table td.table-detail-cell{display:block}.table td.table-detail-cell:before{content:none}.table tr.row-expanded-parent{margin-bottom:0;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.table tr.row-expanded-child{margin-top:0;border-top:none;border-top-left-radius:0;border-top-right-radius:0}.row-actions{gap:10px}.row-actions .icon-btn{width:56px;height:56px;flex:0 0 56px}}.row-clickable{cursor:pointer}.cell-value-with-indicator{display:inline-flex;align-items:center;gap:6px}.row-expand-indicator{display:inline-flex;color:var(--text-muted)}.status-pill{display:inline-flex;padding:3px 9px;border-radius:6px;background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent);color:color-mix(in srgb,var(--text) 60%,transparent);font-size:.69rem;font-weight:400;letter-spacing:.04em}.status-pill.active{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.status-pill.done{color:var(--success);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 60%,transparent)}.form-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 72%,transparent);z-index:20}.form-card{display:grid;gap:12px;width:420px;max-width:calc(100vw - 32px);padding:24px 26px;background:var(--surface);border:none;border-radius:14px;box-shadow:0 0 0 1px var(--border),0 16px 40px #00000080;overflow-x:hidden}.form-card h2{margin:0 0 4px;font-size:1.35rem;font-weight:500}.form-card.wide{width:640px;max-height:calc(100vh - 64px);overflow-y:auto}.form-card label{display:grid;gap:4px;font-size:.9rem;color:var(--text-soft);min-width:0}.field-hint{margin:-4px 0 4px;color:var(--text-muted);font-size:.82rem}.form-field-group{display:grid;gap:4px}.form-field-group-label{font-size:.9rem;color:var(--text-soft)}.form-field-hint{margin:0 0 4px;color:var(--text-muted);font-size:.82rem}.form-card input,.form-card select,.form-card textarea{width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);color:var(--text);font:inherit}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--accent);outline:none}input[type=date]{color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{border-radius:4px;cursor:pointer;filter:invert(60%) sepia(66%) saturate(4482%) hue-rotate(360deg) brightness(103%) contrast(105%)}input[type=date]::-webkit-calendar-picker-indicator:hover{filter:invert(70%) sepia(90%) saturate(3000%) hue-rotate(360deg) brightness(105%) contrast(105%)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.task-select{position:relative}.task-select-input{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);background:var(--surface-soft)}.task-select-input input{flex:1;padding:8px 0;border:none;color:var(--text);background:transparent;font:inherit}.task-select-input input::placeholder{color:var(--text-muted)}.task-select-input input:focus{outline:none}.task-select-toggle{display:flex;align-items:center;padding:0;border:none;color:var(--text-muted);background:transparent;cursor:pointer}.task-select-toggle:hover{color:var(--text)}.task-select-toggle svg{transition:transform .12s ease}.task-select-toggle[data-open] svg{transform:rotate(180deg)}.task-select-options{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:200px;margin:0;padding:4px;overflow-y:auto;list-style:none;background:var(--surface-strong);border:none;border-radius:8px;box-shadow:0 0 0 1px var(--border-strong),0 6px 18px #0000008c}.task-select-options li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:.95rem;color:var(--text-soft)}.task-select-options li:hover,.task-select-options li.active,.task-select-options li[data-focus]{background:var(--accent-soft);color:var(--accent-300)}.task-select-empty{color:var(--text-muted);cursor:default!important}.task-select-empty:hover{background:transparent!important}.task-select-group-label{padding:7px 9px 4px;font-size:.63rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);cursor:default!important}.task-select-group-label:hover{background:transparent!important}.picker-option-label{flex:1;min-width:0}.picker-option-check{flex-shrink:0;color:var(--accent)}.task-select-options li[data-disabled]{opacity:.45;cursor:default}.task-select-options li[data-disabled]:hover{background:transparent;color:var(--text-soft)}.error-text{color:var(--danger);font-size:.85rem}.success-text{color:var(--success);font-size:.85rem}.scanner-video{width:100%;max-width:360px;aspect-ratio:3 / 4;border-radius:8px;background:#000;object-fit:cover;justify-self:center}.barcode-print-area{display:grid;justify-items:center;gap:16px;padding:16px}@media print{body *{visibility:hidden}.barcode-print-modal,.barcode-print-modal *{visibility:visible}.barcode-print-modal{position:absolute;top:0;right:0;bottom:0;left:0;background:none!important}.barcode-print-modal .form-card{box-shadow:none!important;border:none!important}.barcode-print-modal .no-print{display:none!important}}.job-tasks{display:grid;gap:8px;padding:8px 0;list-style:none;margin:0}.job-task-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.job-task-info{display:grid;gap:2px;flex:1}.job-task-notes,.job-task-parts,.job-task-cost{font-size:.85rem;color:var(--text-muted)}.job-task-cost{display:flex;align-items:center;gap:4px;color:var(--accent)}.job-task-info input[type=text],.job-task-info input[type=number]{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:.85rem}.job-task-info input[type=text]:focus,.job-task-info input[type=number]:focus{border-color:var(--accent);outline:none}.section-title{margin:28px 0 14px;font-size:1.3rem}.spend-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px}.spend-card{padding:18px;border:none;border-radius:9px;background:var(--surface);box-shadow:0 0 0 1px var(--border)}.spend-period-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.85rem;color:var(--text-muted)}.spend-period-header strong{font-size:1.05rem;color:var(--text)}.spend-card-body{display:flex;align-items:center;gap:16px}.spend-legend{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:.85rem;color:var(--text-soft)}.spend-legend li{display:flex;align-items:center;gap:6px}.spend-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.spend-swatch.outsourced{background:var(--accent)}.spend-swatch.parts{background:var(--success)}.costs-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.costs-headline{margin:10px 0 0;color:var(--text-muted);font-size:.88rem}.costs-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.costs-stat{padding:16px 18px;border:none;border-radius:9px;background:var(--surface);box-shadow:0 0 0 1px var(--border)}.costs-stat-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.costs-stat-value{margin-top:8px;font-size:1.5rem;letter-spacing:-.01em}.costs-stat-value.accent{color:var(--accent-300)}.costs-stat-value.success{color:var(--success)}.costs-stat-note{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--text-muted);font-size:.78rem}.costs-trend-card{margin-top:14px;padding:22px 24px 18px}.costs-trend-bars{display:flex;align-items:flex-end;gap:10px;min-height:190px}.costs-trend-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.costs-trend-bar-amount{color:var(--text-soft);font-size:.72rem}.costs-trend-bar-track{width:100%;max-width:46px;display:flex;flex-direction:column;justify-content:flex-end}.costs-trend-bar-out{background:var(--accent);border-radius:3px 3px 0 0}.costs-trend-bar-parts{background:var(--success);border-radius:0 0 3px 3px}.costs-trend-bar-label{color:var(--text-muted);font-size:.72rem;white-space:nowrap}.costs-trend-legend{display:flex;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);color:var(--text-soft);font-size:.8rem}.costs-trend-legend span{display:flex;align-items:center;gap:6px}.costs-trend-peak{margin-left:auto;color:var(--text-muted)}.costs-bike-cell{display:flex;align-items:center;gap:10px}.costs-bike-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--accent-300);background:var(--accent-900)}.costs-bike-reading{margin-top:2px;color:var(--text-muted);font-size:.76rem}.costs-split-cell{width:220px}.costs-split-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-strong)}.costs-split-out{background:var(--accent)}.costs-split-parts{background:var(--success)}.costs-split-label{margin-top:6px;color:var(--text-muted);font-size:.74rem;white-space:nowrap}.costs-num{text-align:right}.costs-muted{color:var(--text-soft)}.costs-bar-mini{margin-top:6px;height:4px;border-radius:2px}.costs-bar-mini-accent{background:var(--accent)}.costs-bar-mini-success{background:var(--success)}.costs-footnote{margin-top:22px}.costs-section-note{margin:-6px 0 14px;max-width:68ch}@media(max-width:900px){.costs-header-row{flex-direction:column;align-items:flex-start}}.garage-picker-page{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:none;min-height:100vh;padding:24px;text-align:center}.garage-picker-page header{display:flex;flex-direction:column;align-items:center}.garage-picker-list{display:grid;gap:10px;list-style:none;margin:0;padding:0;width:100%;max-width:640px}.garage-picker-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.garage-picker-card:hover{border-color:var(--accent);background:var(--surface-strong);transform:translateY(-1px)}.garage-picker-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.garage-picker-name{flex:1;font-size:1.05rem;font-weight:500}.garage-picker-arrow{color:var(--text-muted)}.checkbox-list{display:grid;gap:8px;list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.checkbox-item{display:grid;gap:4px}.form-card .checkbox-item-label{display:flex;align-items:center;gap:8px;font-weight:400}.switch-field,.form-card .switch-field{display:flex;align-items:center;gap:10px;color:var(--text-soft);cursor:pointer}.switch{position:relative;display:inline-flex;align-items:center;width:40px;height:22px;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border);cursor:pointer;transition:background .15s ease,border-color .15s ease;flex:0 0 40px}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch.checked{background:var(--accent);border-color:var(--accent)}.switch-thumb{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background:var(--text);transition:transform .15s ease}.switch.checked .switch-thumb{transform:translate(18px)}.filter-field{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:1;color:var(--text-soft);font-size:.9rem;overflow:hidden;white-space:nowrap}.filter-select{min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft);color:var(--text);font:inherit}.filter-select:focus{border-color:var(--accent);outline:none}.task-picker-row{display:flex;align-items:center;gap:8px}.task-picker-row .task-select{flex:1}.toast-stack{position:fixed;z-index:50;bottom:24px;left:50%;display:flex;flex-direction:column;gap:8px;align-items:center;transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:10px;max-width:min(92vw,460px);padding:12px 14px;border-radius:9px;font-size:.85rem;color:var(--text);background:var(--surface-strong);box-shadow:0 0 0 1px var(--border),0 6px 18px #00000080;pointer-events:auto;animation:toast-in .22s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--accent)}.toast-message{flex:1;min-width:0}.toast-action{flex-shrink:0;padding:4px 8px;border:none;border-radius:5px;color:var(--accent);background:transparent;font:inherit;font-weight:500;cursor:pointer}.toast-action:hover{background:var(--accent-soft)}.toast-close{display:flex;flex-shrink:0;padding:4px;border:none;border-radius:4px;color:var(--text-muted);background:transparent;cursor:pointer}.toast-close:hover{color:var(--text)}.empty-state{display:flex;flex-direction:column;align-items:center;padding:34px 26px;border:1px dashed color-mix(in srgb,var(--text) 14%,transparent);border-radius:10px;text-align:center}.empty-state-icon{color:var(--accent-700)}.empty-state-title{margin:12px 0 0;font-size:1.06rem;font-weight:500}.empty-state-text{max-width:290px;margin:8px 0 0;font-size:.82rem;color:color-mix(in srgb,var(--text) 50%,transparent)}.empty-state>.btn{margin-top:18px}@keyframes shim{0%{background-position:-320px 0}to{background-position:320px 0}}.sk{display:block;border-radius:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--text) 5%,transparent),color-mix(in srgb,var(--text) 11%,transparent),color-mix(in srgb,var(--text) 5%,transparent));background-size:320px 100%;animation:shim 1.4s linear infinite}.skeleton-rows{display:flex;flex-direction:column;gap:8px}.skeleton-row{display:flex;align-items:center;gap:12px}.skeleton-box{width:30px;height:30px;flex-shrink:0;border-radius:7px}.skeleton-lines{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.skeleton-line{height:10px}.skeleton-line-sm{height:8px}.skeleton-pill{width:64px;height:20px;flex-shrink:0;border-radius:999px}@media(prefers-reduced-motion:reduce){.sk,.toast{animation:none}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;background:color-mix(in srgb,var(--bg) 65%,transparent)}.sheet{display:flex;flex-direction:column;width:100%;max-width:900px;max-height:calc(100vh - 48px);border-radius:14px;background:var(--surface);box-shadow:0 0 0 1px var(--border),0 16px 40px #00000080}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px 18px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--border) 48px,var(--border) calc(100% - 48px),transparent) 1}.sheet-kicker{margin:0 0 6px;color:var(--accent);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}.sheet-title{margin:0;font-size:1.56rem;font-weight:500}.sheet-close{display:flex;padding:8px;border:none;border-radius:6px;color:var(--text-muted);background:transparent;cursor:pointer}.sheet-close:hover{color:var(--text);background:var(--surface-strong)}.sheet-body{flex:1;padding:24px 26px 26px;overflow-y:auto}.sheet-phase{display:grid;grid-template-columns:34px 1fr;column-gap:16px}.sheet-phase-rail{display:flex;flex-direction:column;align-items:center}.sheet-phase:not(.last) .sheet-phase-rail:after{content:"";flex:1;width:1px;margin-top:6px;background:color-mix(in srgb,var(--text) 14%,transparent)}.sheet-phase-dot{display:grid;width:26px;height:26px;flex-shrink:0;place-items:center;border-radius:50%;color:var(--bg);background:var(--accent);font-size:.75rem;font-weight:500}.sheet-phase-content{padding-bottom:26px}.sheet-phase.last .sheet-phase-content{padding-bottom:0}.sheet-phase-label{margin:4px 0 12px;font-size:.75rem;color:color-mix(in srgb,var(--text) 70%,transparent)}.bike-cards{display:flex;flex-wrap:wrap;gap:10px}.bike-card{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border:none;border-radius:9px;color:var(--text);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent);font:inherit;text-align:left;cursor:pointer;transition:box-shadow .12s ease,color .12s ease}.bike-card.selected{color:var(--accent-300);box-shadow:inset 0 0 0 1px var(--accent)}.bike-card-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--text) 6%,transparent)}.bike-card-text{display:flex;flex-direction:column;gap:2px}.bike-card-text strong{font-size:.84rem;font-weight:500}.bike-card-text small{font-size:.69rem;opacity:.55}.when-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.segmented{display:flex;border-radius:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent);overflow:hidden}.segmented button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:9px 14px;border:none;color:color-mix(in srgb,var(--text) 72%,transparent);background:transparent;font:inherit;font-size:.79rem;cursor:pointer;transition:box-shadow .12s ease,color .12s ease}.segmented button.selected{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sheet-field{display:flex;flex-direction:column;gap:6px}.sheet-field>span{font-size:.75rem;color:color-mix(in srgb,var(--text) 72%,transparent)}.sheet-field input,.task-detail-fields input,.part-picker-search input{min-height:40px;padding:9px 10px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface-soft);font:inherit;font-size:.84rem}.sheet-field input:focus,.task-detail-fields input:focus,.part-picker-search input:focus{border-color:var(--accent);outline:none}.sheet-field-date input{width:158px}.unit-input{display:flex;align-items:center;gap:6px}.unit-input input{width:150px;text-align:right}.unit-input em{font-size:.75rem;font-style:normal;color:color-mix(in srgb,var(--text) 50%,transparent)}.last-reading{margin:0 0 11px;font-size:.75rem;color:color-mix(in srgb,var(--text) 50%,transparent)}.sheet-warning{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:.72rem;color:var(--accent-300)}.task-group+.task-group{margin-top:16px}.task-group-label{margin:0 0 8px;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 38%,transparent)}.task-chips{display:flex;flex-wrap:wrap;gap:7px}.task-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:none;border-radius:8px;color:color-mix(in srgb,var(--text) 72%,transparent);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent);font:inherit;font-size:.78rem;cursor:pointer;transition:box-shadow .12s ease,color .12s ease}.task-chip.selected{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.task-details{display:flex;flex-direction:column;gap:8px;margin-top:22px}.task-detail{padding:12px 14px;border-radius:8px;background:var(--surface-strong);box-shadow:0 0 0 1px var(--border)}.task-detail-head{display:flex;align-items:center;gap:10px}.task-detail-head>svg{color:var(--accent-400)}.task-detail-head strong{flex:1;min-width:0;font-size:.87rem;font-weight:500}.btn.small{min-height:32px;padding:6px 10px;font-size:.75rem}.task-detail-fields{display:grid;grid-template-columns:1fr 120px;gap:8px;margin-top:10px}.cost-input{text-align:right}.part-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.part-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:6px;color:var(--accent-300);background:var(--accent-900);font-size:.72rem}.part-chip button{display:flex;padding:2px;border:none;border-radius:3px;color:inherit;background:transparent;cursor:pointer}.part-chip button:hover{background:color-mix(in srgb,var(--accent) 20%,transparent)}.part-picker{margin-top:10px;padding:8px;border-radius:8px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--border)}.part-picker-search{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.part-picker-search input{flex:1;min-width:0}.part-picker-search button{display:flex;padding:6px;border:none;border-radius:5px;color:var(--text-muted);background:transparent;cursor:pointer}.part-picker-list{max-height:200px;margin:6px 0 0;padding:0;overflow-y:auto;list-style:none}.part-picker-list button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 9px;border:none;border-radius:5px;color:var(--text-soft);background:transparent;font:inherit;font-size:.84rem;text-align:left;cursor:pointer}.part-picker-list button:hover:not(:disabled){color:var(--accent-300);background:color-mix(in srgb,var(--accent) 14%,transparent)}.part-picker-list button:disabled{cursor:default;opacity:.5}.part-picker-tick{opacity:.6}.part-picker-label{flex:1;min-width:0}.stock{flex-shrink:0;padding:2px 7px;border-radius:999px;background:var(--border);font-size:.69rem}.stock.out{color:var(--accent);background:transparent;box-shadow:inset 0 0 0 1px var(--accent)}.part-picker-empty{display:flex;align-items:center;gap:10px;padding:10px 9px;font-size:.84rem;color:color-mix(in srgb,var(--text) 45%,transparent)}.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 26px;border-radius:0 0 14px 14px;background:var(--surface-soft);box-shadow:0 -1px color-mix(in srgb,var(--text) 8%,transparent)}.sheet-summary{margin:0;font-size:.75rem;color:color-mix(in srgb,var(--text) 55%,transparent)}.sheet-buttons{display:flex;flex-shrink:0;gap:8px}@media(max-width:720px){.sheet-backdrop{padding:0}.sheet{max-width:none;height:100vh;max-height:100vh;border-radius:0}.sheet-body{padding:16px 18px}.sheet-phase{grid-template-columns:26px 1fr;column-gap:12px}.when-row{flex-direction:column;align-items:stretch}.segmented{width:100%}.segmented button{flex:1;justify-content:center;min-height:44px;padding:11px 12px}.sheet-field{flex:none;width:100%}.sheet-field-date input,.unit-input,.unit-input input{width:100%;min-height:44px}.last-reading{width:100%}.task-detail-head{flex-wrap:wrap}.task-detail-head strong{flex:1 0 100%}.task-detail-head .btn.small{flex:1;justify-content:center;min-height:48px}.task-detail-fields{grid-template-columns:1fr}.sheet-actions{flex-direction:column;align-items:stretch;gap:10px;border-radius:0}.sheet-buttons{flex-direction:column-reverse}.sheet-buttons .btn{justify-content:center;min-height:50px;font-size:.94rem}}.task-search{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-strong)}.task-search:focus-within{border-color:var(--accent)}.task-search svg{flex-shrink:0;color:color-mix(in srgb,var(--text) 50%,transparent)}.task-search input{flex:1;min-width:0;padding:9px 0;border:none;color:inherit;background:transparent;font:inherit;font-size:.84rem}.task-search input:focus{outline:none}.task-search button{display:flex;padding:4px;border:none;border-radius:4px;color:color-mix(in srgb,var(--text) 50%,transparent);background:transparent;cursor:pointer}.task-search button:hover{color:var(--text)}.task-rows{display:flex;flex-direction:column;gap:1px}.task-row{display:flex;width:100%;align-items:center;gap:9px;padding:9px 10px;border:none;border-radius:6px;color:var(--text);background:transparent;font:inherit;font-size:.84rem;text-align:left;cursor:pointer}.task-row:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.task-row.selected,.task-row.open{color:var(--accent-300);background:color-mix(in srgb,var(--accent) 12%,transparent)}.task-row-name{flex:1}.task-row-group{color:color-mix(in srgb,var(--text) 35%,transparent);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.task-row-count{color:color-mix(in srgb,var(--text) 40%,transparent);font-size:.72rem}.task-row-chosen{padding:2px 8px;border-radius:6px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-size:.69rem}.task-row-caret{flex-shrink:0;color:color-mix(in srgb,var(--text) 50%,transparent)}.task-rows-more,.task-rows-empty{padding:10px;color:color-mix(in srgb,var(--text) 42%,transparent);font-size:.78rem}.task-section-label{margin:0 0 7px;color:color-mix(in srgb,var(--text) 38%,transparent);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase}.task-recents{margin-bottom:16px}.task-group-chips{display:flex;flex-wrap:wrap;gap:7px;padding:4px 10px 14px 27px}@media(max-width:640px){.task-group-chips{padding-left:10px}.task-search input{padding:12px 0}.task-row{padding:12px 10px}}.journal-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:22px}.journal-search{display:flex;flex:1;align-items:center;gap:8px;min-width:0;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);background:var(--surface-soft)}.journal-search:focus-within{border-color:var(--accent)}.journal-search input{flex:1;min-width:0;padding:10px 0;border:none;color:var(--text);background:transparent;font:inherit;font-size:.84rem}.journal-search input:focus{outline:none}.journal-search input::-webkit-search-cancel-button{filter:grayscale(1);opacity:.5}.journal-month+.journal-month{margin-top:26px}.journal-month-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.journal-month-name{flex-shrink:0;color:var(--text-muted);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}.journal-month-rule{flex:1;height:1px;background:color-mix(in srgb,var(--text) 12%,transparent)}.journal-month-total{flex-shrink:0;color:var(--text-muted);font-size:.75rem}.journal-entry{display:grid;align-items:center;grid-template-columns:44px 1fr auto;grid-template-areas:"day headline actions" "day chips chips";column-gap:14px;row-gap:7px;padding:10px 12px;border:1px solid transparent;border-radius:9px;cursor:pointer}.journal-entry:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}.journal-entry:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.journal-entry.planned{border-color:var(--border-strong);background:var(--surface-strong)}.journal-day{grid-area:day;display:flex;flex-direction:column;align-items:center;align-self:start;padding-top:1px}.journal-day strong{font-size:1.19rem;font-weight:500;line-height:1.1}.journal-day small{margin-top:2px;color:var(--text-muted);font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.journal-headline{grid-area:headline;display:flex;align-items:baseline;align-self:start;flex-wrap:wrap;gap:10px;min-width:0}.journal-bike{font-size:.87rem;font-weight:500}.journal-meta{display:flex;align-items:baseline;gap:6px;color:var(--text-muted);font-size:.75rem}.journal-meta>*+*:before{content:"·";margin-right:6px;opacity:.6}.journal-cost{color:var(--accent-300)}.journal-chips{grid-area:chips;display:flex;flex-wrap:wrap;gap:5px;min-width:0}.journal-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:5px;color:var(--text-soft);background:color-mix(in srgb,var(--text) 9%,var(--surface));font-size:.72rem}.journal-chip.planned{color:var(--accent-300);background:var(--accent-900)}.journal-actions{grid-area:actions;display:flex;align-items:center;align-self:start;gap:8px;flex-shrink:0}.row-menu{z-index:40;min-width:190px;padding:5px;border-radius:8px;background:var(--surface-strong);box-shadow:0 0 0 1px var(--border-strong),0 6px 18px #0000008c}.row-menu:focus,.row-menu:focus-visible{outline:none}.row-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:none;border-radius:5px;color:var(--text-soft);background:transparent;font:inherit;font-size:.82rem;text-align:left;cursor:pointer}.row-menu button:hover,.row-menu button[data-focus]{color:var(--accent-300);background:color-mix(in srgb,var(--accent) 12%,transparent)}.row-menu button.danger:hover,.row-menu button.danger[data-focus]{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.journal-detail{grid-column:1 / -1;margin-top:4px;padding:10px 0 2px 58px;border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent)}.journal-detail-split{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 10px;color:var(--text-muted);font-size:.75rem}.journal-detail-split>span{display:flex;align-items:center;gap:5px}.journal-detail-split .spend-swatch{width:7px;height:7px;border-radius:2px}.job-task-lots{margin-left:6px;opacity:.75;font-variant-numeric:tabular-nums}.journal-detail-notes{margin:10px 0 0;color:var(--text-muted);font-size:.8rem}.journal-add-dock{display:none}@media(max-width:720px){.journal-toolbar{flex-wrap:wrap}.journal-search{flex:1 0 100%}.journal-search input{padding:12px 0}.segmented{flex:1}.segmented button{flex:1;justify-content:center;min-height:44px}.journal-add{display:none}.journal-add-dock{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;margin-top:12px;padding:14px 0 10px;background:linear-gradient(to top,var(--surface) 55%,transparent)}.journal-add-dock .btn{min-height:48px;padding:12px 20px}.journal-entry{grid-template-columns:1fr auto;grid-template-areas:"headline actions" "chips chips";padding:12px}.journal-day{display:none}.journal-actions .btn{min-height:40px}.journal-actions .icon-btn{width:40px;height:40px;flex:0 0 40px}.journal-detail{padding-left:0}}@media(min-width:721px){.journal-date-inline{display:none}.journal-date-inline+*:before{content:none}}.parts-table th.num,.parts-table td.num{text-align:right}.part-cell{display:flex;align-items:flex-start;gap:9px;min-width:0}.part-cell-icon{flex-shrink:0;margin-top:2px;color:var(--accent-400)}.part-cell-text{display:flex;flex-direction:column;gap:2px;min-width:0}.part-cell-text strong{font-weight:500}.part-cell-text small{color:var(--text-muted);font-size:.69rem}.part-fits-all,.part-no-price,.part-fits-more{color:var(--text-muted)}.stock-pill{display:inline-block;padding:3px 9px;border-radius:6px;color:var(--text-soft);background:color-mix(in srgb,var(--text) 9%,var(--surface));font-size:.78rem;white-space:nowrap}.stock-pill.out{color:var(--accent);background:transparent;box-shadow:inset 0 0 0 1px var(--accent)}.parts-table tr.part-out>td{background:var(--surface-strong)}.parts-summary{margin:14px 0 0;color:var(--text-muted);font-size:.72rem}@media(max-width:1024px){.parts-table td.num{text-align:left}.parts-table tr.part-out{background:var(--surface-strong)}}@media(max-width:720px){.parts-summary{margin-bottom:4px}.row-actions .btn{min-height:40px}.row-actions .icon-btn{width:40px;height:40px;flex:0 0 40px}}.limits-toggle-dock{display:none}.garage-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:22px}.garage-search{display:flex;flex:1;align-items:center;gap:8px;min-width:0;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);background:var(--surface-soft)}.garage-search:focus-within{border-color:var(--accent)}.garage-search input{flex:1;min-width:0;padding:10px 0;border:none;color:var(--text);background:transparent;font:inherit;font-size:.84rem}.garage-search input:focus{outline:none}.garage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.garage-card{display:flex;flex-direction:column;gap:13px;padding:14px 15px;border-radius:10px;background:var(--surface-strong);box-shadow:0 0 0 1px var(--border)}.garage-card.sold{opacity:.6}.garage-card-head{display:flex;align-items:flex-start;gap:12px}.garage-card-icon{display:grid;flex-shrink:0;place-items:center;width:38px;height:38px;border-radius:9px;color:var(--accent-400);background:color-mix(in srgb,var(--text) 7%,transparent)}.garage-card-text{flex:1;min-width:0}.garage-card-name{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:500;line-height:1.2}.garage-card-badge{flex-shrink:0;padding:2px 7px;border-radius:5px;color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border);font-size:.66rem;font-weight:400}.garage-card-sub{margin-top:2px;color:var(--text-muted);font-size:.75rem}.garage-card-stats{display:flex;gap:8px}.garage-stat{flex:1;padding:9px 11px;border-radius:8px;background:color-mix(in srgb,var(--text) 5%,transparent)}.garage-stat>span{display:block;margin-bottom:3px;color:var(--text-muted);font-size:.63rem;letter-spacing:.07em;text-transform:uppercase}.garage-stat>div{display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.garage-stat b{font-size:1.13rem;font-weight:400}.garage-stat small{color:var(--text-muted);font-size:.69rem}.garage-stat-empty{color:var(--text-muted)}.garage-readings-cta{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:0 11px;border:1px dashed color-mix(in srgb,var(--text) 16%,transparent);border-radius:8px;color:var(--accent);background:transparent;font:inherit;font-size:.78rem;text-align:left;cursor:pointer}.garage-readings-cta span{flex:1}.garage-summary{margin:10px 0 0;color:var(--text-muted);font-size:.72rem}@media(max-width:640px){.garage-cards{grid-template-columns:1fr}}.suspension-page{max-width:780px}.suspension-page-header{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,var(--border),var(--border) calc(100% - 48px),transparent) 1}.suspension-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;padding:0;border:none;color:var(--text-muted);background:transparent;font:inherit;font-size:.81rem;cursor:pointer}.suspension-back:hover{color:var(--text)}.suspension-meta{margin:5px 0 0;color:var(--text-muted);font-size:.78rem}.suspension-body{padding-top:4px}.suspension-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px -36px -32px;padding:16px 36px 24px;background:var(--surface-soft);box-shadow:0 -1px color-mix(in srgb,var(--text) 8%,transparent)}.suspension-summary{margin:0;color:var(--text-muted);font-size:.78rem}.suspension-buttons{display:flex;flex-shrink:0;gap:10px}.preset-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.preset-chips{display:flex;flex:1;flex-wrap:wrap;gap:7px;min-width:0}.preset-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border:none;border-radius:8px;color:color-mix(in srgb,var(--text) 72%,transparent);background:transparent;box-shadow:inset 0 0 0 1px var(--border);font:inherit;font-size:.78rem;cursor:pointer;transition:color .12s ease,box-shadow .12s ease}.preset-chip.selected{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.preset-chip.add{color:var(--text-muted)}.preset-bar-actions{display:flex;flex-shrink:0;align-items:center;gap:6px}.limits-toggle.on{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.preset-hint{margin:0 0 20px;color:var(--text-muted);font-size:.72rem}.sus-group{margin-bottom:20px}.sus-group-head{display:flex;align-items:center;gap:9px;margin-bottom:11px;color:var(--text-muted)}.sus-group-head>span:first-of-type{font-size:.63rem;letter-spacing:.09em;text-transform:uppercase}.sus-rule{flex:1;height:1px;background:color-mix(in srgb,var(--text) 7%,var(--surface))}.sus-group-note{flex-shrink:0;font-size:.69rem}.sus-rows{display:flex;flex-direction:column;gap:3px}.sus-row{display:grid;grid-template-columns:minmax(0,196px) minmax(0,118px) minmax(0,1fr);align-items:center;gap:16px;padding:8px 10px;border-radius:7px;background:var(--surface-strong);min-width:0}.sus-row-name{min-width:0}.sus-row-name>div{font-size:.81rem}.sus-row-name small{color:var(--text-muted);font-size:.69rem}.sus-row-note{color:color-mix(in srgb,var(--text) 38%,transparent)}.sus-row-note.out{color:var(--accent-300)}.stepper{display:flex;align-items:center;gap:2px;justify-self:start}.stepper.off{opacity:.4}.stepper button{display:grid;width:28px;height:28px;place-items:center;border:none;border-radius:6px;color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent);cursor:pointer}.stepper button:disabled{color:color-mix(in srgb,var(--text) 25%,transparent);background:color-mix(in srgb,var(--text) 4%,transparent);cursor:not-allowed}.stepper-value{min-width:50px;text-align:center;font-size:.87rem;font-variant-numeric:tabular-nums}.stepper-value-unset{color:color-mix(in srgb,var(--text) 35%,transparent)}.sus-track{display:flex;align-items:center;gap:9px}.sus-track-end{width:26px;flex-shrink:0;color:var(--text-muted);font-size:.66rem}.sus-track-end:first-child{text-align:right}.sus-track-bar{position:relative;flex:1;height:4px;border-radius:3px;background:color-mix(in srgb,var(--text) 11%,transparent)}.sus-track-dot{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--surface-strong);transform:translate(-50%,-50%);transition:left .12s ease}.sus-track-dot.out{background:var(--surface-strong);box-shadow:0 0 0 2px var(--accent)}.sus-track-dot.unset{background:transparent;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 30%,transparent)}.limit-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;color:var(--text-muted);font-size:.72rem}.limit-fields input{width:62px;min-width:0;padding:5px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface-soft);font:inherit;font-size:.78rem;text-align:right}.limit-fields input:focus{border-color:var(--accent);outline:none}.measure-cards{display:flex;gap:10px}.measure-card{display:flex;flex:1;align-items:center;gap:12px;padding:10px 12px;border-radius:7px;background:var(--surface-strong)}.measure-card-text{flex:1;min-width:0}.measure-card-text>div{font-size:.81rem}.measure-card-text small{color:var(--text-muted);font-size:.69rem}.measure-card-text small.outside{color:var(--accent-300)}.measure-card input{width:64px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface-soft);font:inherit;font-size:.81rem;text-align:right}.measure-card input.outside{border-color:var(--accent)}.measure-card input:focus{border-color:var(--accent);outline:none}.measure-unit{flex-shrink:0;color:var(--text-muted);font-size:.72rem}.btn.idle{opacity:.45}@media(max-width:640px){.sus-row{grid-template-columns:1fr auto;gap:10px 12px;padding:12px}.sus-track,.limit-fields{grid-column:1 / -1}.stepper button{width:44px;height:44px;border-radius:8px}.stepper-value{min-width:62px;font-size:1.19rem}.preset-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.preset-chip{flex-shrink:0;min-height:44px;padding:9px 13px;white-space:nowrap}.measure-cards{flex-direction:column}.preset-bar-actions .limits-toggle{display:none}.suspension-actions{flex-direction:column;align-items:stretch;margin:24px -18px -24px;padding:12px 18px 18px}.suspension-buttons{flex-direction:row}.suspension-actions .btn{min-height:48px}.limits-toggle-dock{display:inline-flex;flex-shrink:0}.suspension-actions .btn:not(.limits-toggle-dock){flex:1;justify-content:center}}.compare-title{margin:0 0 5px;font-size:1.44rem}.compare-subtitle{margin:0 0 16px;color:var(--text-muted);font-size:.81rem}.compare-table{width:100%;border-collapse:collapse;font-size:.81rem}.compare-table th{padding:8px 10px;color:var(--text-muted);background:var(--surface-soft);font-size:.63rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;text-align:right;white-space:nowrap}.compare-table th:first-child{text-align:left}.compare-table th.compare-active{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--accent)}.compare-table td{padding:8px 10px;text-align:right;box-shadow:inset 0 -1px color-mix(in srgb,var(--text) 7%,var(--surface));font-variant-numeric:tabular-nums}.compare-row-label{color:var(--text-soft);text-align:left;white-space:nowrap}.compare-table td.compare-active{color:var(--text)}.compare-delta{margin-left:5px;color:var(--accent-300);font-size:.75rem}.compare-actions{justify-content:space-between}.landing{min-height:100vh;background:var(--bg);color:var(--text)}.landing a{color:inherit;text-decoration:none}.landing-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;background:color-mix(in srgb,var(--surface-soft) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.landing-brand{display:flex;align-items:center;gap:12px}.landing-brand-text{display:flex;flex-direction:column;line-height:1.25}.landing-brand-text strong{font-weight:500}.landing-brand-text span{color:color-mix(in srgb,var(--text) 40%,transparent);font-size:.72rem}.landing-topnav{display:flex;align-items:center;gap:24px}.landing-topnav-link{color:var(--text-muted);font-size:.85rem}.landing-topnav-link:hover{color:var(--accent-300)}.landing-main{max-width:1080px;margin:0 auto;padding:0 32px 96px}.landing-hero{padding:72px 0;border-bottom:1px solid var(--border)}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}.landing-hero h1{font-size:3rem;line-height:1.1;text-wrap:pretty}.landing-lede{max-width:560px;margin:20px 0 0;color:var(--text-muted);font-size:1rem;line-height:1.6;text-wrap:pretty}.landing-hero-actions{display:flex;align-items:center;gap:14px;margin-top:32px}.landing-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:48px}.landing-highlight{padding:18px;border-radius:9px;background:var(--surface);box-shadow:0 0 0 1px var(--border)}.landing-highlight span{display:block;color:color-mix(in srgb,var(--text) 40%,transparent);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}.landing-highlight strong{display:block;margin-top:10px;font-size:1.1rem;font-weight:500}.landing-section{padding-top:72px;scroll-margin-top:90px}.landing-section h2{margin:0;font-size:1.9rem}.landing-section-intro{max-width:620px;margin:10px 0 0;color:var(--text-muted);font-size:.88rem}.landing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:28px}.landing-card{padding:22px;border-radius:9px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent)}.landing-card>strong{display:block;margin-bottom:8px;font-weight:500}.landing-card>p{margin:0 0 16px;color:color-mix(in srgb,var(--text) 50%,transparent);font-size:.85rem;line-height:1.6}.landing-card>p:last-child{margin-bottom:0}.landing-bikes{display:grid;gap:8px}.landing-bike{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--text-soft)}.landing-bike span+span,.landing-bike small{color:var(--text-muted)}.landing-bike.sold{opacity:.55}.landing-meters{display:grid;gap:10px}.landing-meter-head{display:flex;justify-content:space-between;margin-bottom:5px;color:var(--text-muted);font-size:.78rem}.landing-meter-track{height:4px;border-radius:999px;background:color-mix(in srgb,var(--text) 12%,transparent)}.landing-meter-fill{height:100%;border-radius:999px;background:var(--accent)}.landing-meter-fill.ok{background:var(--success)}.landing-chips{flex-wrap:wrap}.landing-flow{display:flex;align-items:center;gap:10px;font-size:.78rem}.landing-flow-step{padding:5px 10px;border-radius:999px;color:var(--text-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 14%,transparent)}.landing-flow-step.current{color:var(--accent);background:var(--accent-soft);box-shadow:none}.landing-flow-arrow{color:color-mix(in srgb,var(--text) 30%,transparent)}.landing-barcode{color:var(--text-soft)}.landing-sus{display:flex;align-items:center;gap:14px;color:var(--text-muted);font-size:.8rem}.landing-sus strong{color:var(--text-soft);font-weight:500}.landing-sus-mark{display:inline-flex;color:var(--accent)}.landing-spend{display:flex;align-items:center;gap:16px}.landing-legend{display:grid;gap:6px;color:var(--text-muted);font-size:.78rem}.landing-legend span{display:flex;align-items:center;gap:8px}.landing-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.landing-legend-dot.success{background:var(--success)}.landing .guide-step:hover{color:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent)}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:72px;padding:40px;border-radius:9px;background:var(--surface);box-shadow:0 0 0 1px var(--border)}.landing-cta h2{margin:0;font-size:1.5rem}.landing-cta p{max-width:480px;margin:10px 0 0;color:var(--text-muted);font-size:.88rem}.landing-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:28px 32px;border-top:1px solid var(--border);color:color-mix(in srgb,var(--text) 38%,transparent);font-size:.8rem}.landing-footer-links{display:flex;align-items:center;gap:18px}.landing-footer-links a:hover{color:var(--text-soft)}.landing-main.legal{max-width:760px;padding-top:56px}.landing-main.legal h1{margin:0;font-size:2rem}.legal-updated{margin:10px 0 0;color:color-mix(in srgb,var(--text) 38%,transparent);font-size:.78rem}.legal-lede{margin:20px 0 0;color:var(--text-soft);font-size:.95rem;line-height:1.7}.legal-section{padding-top:36px}.legal-section h2{margin:0 0 10px;font-size:1.1rem;font-weight:500}.legal-section p{margin:0 0 12px;color:var(--text-muted);font-size:.88rem;line-height:1.75}.legal-list{margin:0 0 12px;padding-left:20px;color:var(--text-muted);font-size:.88rem;line-height:1.75}.legal-list li{margin-bottom:8px}.legal-list strong{color:var(--text-soft);font-weight:500}.legal-section a,.legal-link{color:var(--accent)}.legal-section a:hover{color:var(--accent-hover)}.legal-nowrap{white-space:nowrap}@media(max-width:760px){.landing-top{padding:12px 18px}.landing-topnav{gap:14px}.landing-topnav-link{display:none}.landing-main{padding:0 18px 64px}.landing-hero{padding:40px 0}.landing-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.landing-hero h1{font-size:2rem}.landing-hero-actions{flex-wrap:wrap}.landing-section{padding-top:48px}.landing-cta{padding:26px}}.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px}.plan-card{display:flex;flex-direction:column;gap:14px;padding:14px 15px;border-radius:10px;background:var(--surface-strong);box-shadow:0 0 0 1px var(--border)}.plan-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plan-card-head h2{margin:0;font-size:.98rem}.plan-card-reading{color:var(--text-muted);font-size:.78rem;white-space:nowrap}.plan-meters{display:grid;gap:12px}.plan-meter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--text-muted);font-size:.78rem}.plan-meter-name{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-meter-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.plan-meter-track{position:relative;height:32px;border-radius:999px;background:color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden}.plan-meter-fill{height:100%;border-radius:999px;background:var(--success)}.plan-meter-track-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;pointer-events:none;mix-blend-mode:difference}.plan-meter-fill.dueSoon{background:var(--accent)}.plan-meter-fill.overdue{background:var(--danger)}.plan-meter.suspended{opacity:.5}.plan-meter-badge{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);font-size:.72rem}.plan-meter-badge.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,transparent)}.plan-meter-actions{display:flex;gap:2px}@media(max-width:480px){.plan-card-head{flex-wrap:wrap}}.sheet-due{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:9px;background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.sheet-due-title{color:var(--text-muted);font-size:.78rem}.sheet-due-chips{display:flex;flex-wrap:wrap;gap:6px}.sheet-due-chip{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);color:var(--text);font-size:.78rem;cursor:pointer}.sheet-due-chip.overdue{border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger)}
