:root,:root[data-theme=dark]{--bg: #0f1216;--surface: #171b21;--surface-2: #1f242c;--border: #2a3039;--text: #e7ecf3;--muted: #94a1b2;--accent: #4f9cf9;--accent-ink: #06121f;--danger: #f2555a;--danger-bg: rgba(242, 85, 90, .12);--danger-fg: #ffb9bb;--success-bg: rgba(67, 199, 119, .12);--success-fg: #8ee5b2;--warn: #f2b950;--ok: #43c777;--popover-bg: #1f242c;--radius: 12px}:root[data-theme=light]{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef1f6;--border: #d5dbe5;--text: #131820;--muted: #59657a;--accent: #1f6feb;--accent-ink: #ffffff;--danger: #c62b32;--danger-bg: #fdeaea;--danger-fg: #8e1c22;--success-bg: #e6f6ec;--success-fg: #14653a;--warn: #8a5a00;--ok: #10783f;--popover-bg: #ffffff}:root[data-theme=glass]{background-color:#e8eefc;--bg: rgba(248, 250, 255, .55);--surface: rgba(255, 255, 255, .4);--surface-2: rgba(255, 255, 255, .28);--border: rgba(255, 255, 255, .6);--text: #0d1220;--muted: #4d5a75;--accent: #0a84ff;--accent-ink: #ffffff;--danger: #d0273b;--danger-bg: rgba(255, 232, 236, .6);--danger-fg: #8c1526;--success-bg: rgba(225, 250, 236, .6);--success-fg: #0f6b41;--warn: #9a6400;--ok: #0e7a45;--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .9);--glass-shadow: 0 16px 46px rgba(23, 43, 84, .16);--option-bg: #ffffff;--popover-bg: rgba(255, 255, 255, .95)}:root[data-theme=glass] body:before{background-color:#e8eefc;background-image:radial-gradient(52rem 34rem at 2% -10%,rgba(255,116,187,.78) 0%,transparent 58%),radial-gradient(48rem 32rem at 100% -4%,rgba(84,163,255,.82) 0%,transparent 56%),radial-gradient(44rem 40rem at 50% 118%,rgba(64,238,194,.72) 0%,transparent 60%),radial-gradient(38rem 30rem at 86% 64%,rgba(184,128,255,.7) 0%,transparent 58%),radial-gradient(34rem 26rem at 12% 76%,rgba(255,202,102,.62) 0%,transparent 58%),linear-gradient(150deg,#edf3ff,#fdefff 55%,#e9fff8)}:root[data-theme=glass-dark]{background-color:#080b14;--bg: rgba(10, 14, 26, .55);--surface: rgba(255, 255, 255, .07);--surface-2: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .16);--text: #eef2fa;--muted: #a4b0c8;--accent: #4f9cf9;--accent-ink: #04101f;--danger: #ff7078;--danger-bg: rgba(255, 112, 120, .16);--danger-fg: #ffc4c7;--success-bg: rgba(93, 220, 154, .16);--success-fg: #a5ecc7;--warn: #f5c465;--ok: #5ddc9a;--glass-inset: inset 0 1px 0 rgba(255, 255, 255, .16);--glass-shadow: 0 18px 48px rgba(0, 0, 0, .5);--option-bg: #141b2c;--popover-bg: rgba(18, 24, 40, .96)}:root[data-theme=glass-dark] body:before{background-color:#080b14;background-image:radial-gradient(60rem 40rem at 4% -12%,rgba(97,61,178,.72) 0%,transparent 60%),radial-gradient(54rem 36rem at 99% 0%,rgba(21,94,173,.72) 0%,transparent 58%),radial-gradient(48rem 48rem at 42% 114%,rgba(14,122,110,.6) 0%,transparent 62%),radial-gradient(38rem 30rem at 80% 70%,rgba(158,46,128,.45) 0%,transparent 60%),linear-gradient(155deg,#0b1020,#120b1f)}:root[data-glass]{--radius: 20px;--glass-blur: saturate(200%) blur(30px)}:root[data-glass] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}:root[data-glass] body{background:transparent}:root[data-glass] .card,:root[data-glass] .app-header,:root[data-glass] .impersonation-bar,:root[data-glass] .timeline-body,:root[data-glass] .timeline-dot,:root[data-glass] .odometer,:root[data-glass] .parts,:root[data-glass] .empty,:root[data-glass] .notice,:root[data-glass] .alert,:root[data-glass] .success,:root[data-glass] .chip,:root[data-glass] .badge,:root[data-glass] .range-picker,:root[data-glass] .dropdown-trigger,:root[data-glass] .category-select,:root[data-glass] input,:root[data-glass] select,:root[data-glass] textarea,:root[data-glass] .btn{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}:root[data-glass] .card,:root[data-glass] .timeline-body,:root[data-glass] .odometer,:root[data-glass] .parts{box-shadow:var(--glass-inset),var(--glass-shadow)}:root[data-glass] .app-header{box-shadow:var(--glass-inset),0 4px 26px #00000029}:root[data-glass] .btn{background:var(--surface-2);border-color:var(--border);box-shadow:var(--glass-inset)}:root[data-glass] .btn.primary{background:var(--accent);box-shadow:var(--glass-inset),0 8px 22px #0a84ff59}:root[data-glass] .category-select,:root[data-glass] input,:root[data-glass] select,:root[data-glass] textarea{background:var(--surface-2);border-color:var(--border);box-shadow:var(--glass-inset)}:root[data-glass] select option{background:var(--option-bg);color:var(--text)}:root[data-glass] .vehicle-card:hover{box-shadow:var(--glass-inset),0 20px 52px #00000038}:root[data-glass] .timeline-dot{background:var(--surface);box-shadow:var(--glass-inset)}:root[data-glass] .dropdown-menu{box-shadow:var(--glass-inset),var(--glass-shadow)}*{box-sizing:border-box}html{overscroll-behavior-y:none}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}h1{font-size:1.6rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:0}h3{font-size:1rem;margin:0}a{color:var(--accent)}.centered{display:grid;place-items:center;min-height:100vh;min-height:100svh}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.app-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;text-decoration:none}.logo{display:inline-flex;align-items:center;gap:.6rem}.logo-word{font-size:1.05rem;font-weight:650;letter-spacing:-.01em;color:var(--text)}.logo-word-accent{color:var(--accent)}.auth-brand{display:flex;justify-content:center;margin-bottom:.25rem}.auth-brand .logo-word{font-size:1.35rem}.menu-toggle{display:none;margin-left:auto}.app-menu{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.app-nav{display:flex;gap:.25rem;margin-right:auto;margin-left:.75rem;min-width:0}.menu-end{display:flex;align-items:center;gap:.5rem}.dropdown-trigger{display:flex;align-items:center;gap:.45rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--text);font:inherit;font-size:.85rem;padding:.32rem .6rem .32rem .38rem;cursor:pointer}.dropdown-trigger:hover{border-color:var(--accent)}.dropdown-chevron{color:var(--muted);transition:transform .15s ease;flex:0 0 auto}.dropdown-chevron.open{transform:rotate(180deg)}.theme-swatch{width:18px;height:18px;border-radius:50%;border:1px solid var(--border);flex:0 0 auto}.theme-swatch.dark{background:linear-gradient(140deg,#2a3039,#0f1216)}.theme-swatch.light{background:linear-gradient(140deg,#fff,#d5dbe5)}.theme-swatch.glass{background:linear-gradient(140deg,#ff74bb,#54a3ff 45%,#40eec2)}.theme-swatch.glass-dark{background:linear-gradient(140deg,#613db2,#155ead,#0e7a6e)}.flag{display:block;width:22px;height:16px;border-radius:3px;border:1px solid var(--border);flex:0 0 auto}.dropdown-menu{position:fixed;z-index:40;display:flex;flex-direction:column;gap:.1rem;padding:.3rem;max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--popover-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 36px #00000052}.dropdown-option{display:flex;align-items:center;gap:.55rem;width:100%;background:none;border:none;border-radius:8px;color:var(--text);font:inherit;font-size:.9rem;padding:.55rem .5rem;cursor:pointer;text-align:left}.dropdown-option:hover{background:var(--surface-2)}.dropdown-option.active{color:var(--accent)}.dropdown-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-check{color:var(--accent);flex:0 0 auto}.nav-link{color:var(--muted);text-decoration:none;padding:.4rem .7rem;border-radius:8px;font-size:.92rem;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-2)}@media (max-width: 720px){.app-header{padding:.6rem .9rem}.menu-toggle{display:inline-flex}.app-menu{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.5rem;padding-top:.6rem;margin-top:.1rem;border-top:1px solid var(--border)}.app-menu.open{display:flex}.app-nav{flex-direction:column;margin:0}.nav-link{padding:.6rem .75rem}.menu-end{justify-content:space-between;border-top:1px solid var(--border);padding-top:.5rem}}@media (max-width: 380px){.logo-word{display:none}}.impersonation-bar{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;background:#f5c465;color:#241800;padding:.5rem 1rem;font-size:.9rem;text-align:center}.impersonation-bar .btn{background:#241800;color:#f5c465;border-color:#241800}.narrow{max-width:520px;display:flex;flex-direction:column;gap:1rem}.narrow h2{margin:0}.table-wrap{overflow-x:auto;padding:0}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:720px}.admin-table th,.admin-table td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--border);vertical-align:top}.admin-table th{color:var(--muted);font-weight:500}.admin-table tr:last-child td{border-bottom:none}.admin-table .chip{margin-top:.3rem;display:inline-block}@media (max-width: 720px){.admin-table{min-width:0}.admin-table thead{display:none}.admin-table tr{display:block;padding:.75rem .9rem;border-bottom:1px solid var(--border)}.admin-table td{display:flex;align-items:baseline;gap:.5rem;border:none;padding:.15rem 0}.admin-table td:before{content:attr(data-label);color:var(--muted);font-size:.78rem;min-width:5.5rem}.admin-table td:first-child,.admin-table td:last-child{display:block}.admin-table td:last-child{margin-top:.5rem}}.app-main{max-width:940px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.auth-shell{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:1.5rem}.auth-toolbar{position:absolute;top:1rem;right:1rem}.auth-card{width:min(400px,100%);display:flex;flex-direction:column;gap:.9rem}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.55rem .65rem;font:inherit;width:100%;min-width:0}.grid>*,.form label,.part-row>*{min-width:0}input[type=date],input[type=time],input[type=datetime-local]{-webkit-appearance:none;-moz-appearance:none;appearance:none;max-width:100%}input[type=date]::-webkit-date-and-time-value{min-width:0;max-width:100%;text-align:left}input[type=date]::-webkit-datetime-edit{min-width:0;overflow:hidden}select option{background:var(--surface-2);color:var(--text)}::placeholder{color:var(--muted);opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical}.hint{color:var(--muted);font-size:.78rem;margin:0}.checkbox{flex-direction:row;align-items:center;gap:.5rem;color:var(--text);font-size:.92rem}.checkbox input{width:auto;margin:0}.btn{border-radius:8px;border:1px solid transparent;padding:.55rem .9rem;font:inherit;font-weight:500;cursor:pointer;background:var(--surface-2);color:var(--text)}.btn:hover{filter:brightness(1.12)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{background:transparent;border-color:var(--border)}.btn.small{padding:.35rem .65rem;font-size:.85rem}.btn.icon{padding:.35rem .6rem;line-height:1}.btn.danger{color:var(--danger);border-color:#f2555a66}.alert{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger-fg);border-radius:8px;padding:.55rem .75rem;margin:0;font-size:.9rem}.success{background:var(--success-bg);border:1px solid var(--ok);color:var(--success-fg);border-radius:8px;padding:.55rem .75rem;margin:0;font-size:.9rem}.notice{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.65rem .8rem;color:var(--muted);font-size:.88rem}.notice code{color:var(--text)}.empty{color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:1.25rem;text-align:center}.page-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-head>:first-child,.section-head>:first-child{flex:1 1 12rem;min-width:0;overflow-wrap:anywhere}.page-head{margin-bottom:1rem}.section-head{margin:2rem 0 .75rem;border-top:1px solid var(--border);padding-top:1.5rem}.form{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.25rem}.grid{display:grid;gap:.85rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.push-end{margin-left:auto}.range-picker{display:flex;gap:.2rem;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.2rem}.range-btn{background:none;border:none;color:var(--muted);font:inherit;font-size:.85rem;padding:.3rem .6rem;border-radius:6px;cursor:pointer}.range-btn:hover{color:var(--text)}.range-btn.active{background:var(--accent);color:var(--accent-ink)}.chart-card{padding:.5rem}.chart{display:block;width:100%;height:auto}.chart-axis{stroke:var(--border);stroke-width:1}.chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4;opacity:.7}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-area{fill:var(--accent);opacity:.12;stroke:none}.chart-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.5;vector-effect:non-scaling-stroke}.chart-dot.maintenance{fill:var(--ok)}.chart-dot.initial{fill:var(--muted)}.chart-label{fill:var(--muted);font-size:12px}.chart-bar.maintenance,.legend-item.maintenance,.breakdown-fill.maintenance{--series: #4f9cf9}.chart-bar.insurance,.legend-item.insurance,.breakdown-fill.insurance{--series: #3fcf8e}.chart-bar.fuel,.legend-item.fuel,.breakdown-fill.fuel{--series: #f59e42}.chart-bar.tax,.legend-item.tax,.breakdown-fill.tax{--series: #a78bfa}.chart-bar.loan,.legend-item.loan,.breakdown-fill.loan{--series: #f472a0}.chart-bar.parking,.legend-item.parking,.breakdown-fill.parking{--series: #2dd4bf}.chart-bar.tolls,.legend-item.tolls,.breakdown-fill.tolls{--series: #d4b843}.chart-bar.purchase,.legend-item.purchase,.breakdown-fill.purchase{--series: #e06c6c}.chart-bar.other,.legend-item.other,.breakdown-fill.other{--series: #8d9bb8}.chart-bar{fill:var(--series, var(--accent))}.chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:0 .25rem .25rem}.legend-item{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.8rem}.legend-item:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--series, var(--accent))}.stat-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:1rem}.stat{display:flex;flex-direction:column;gap:.15rem}.stat-label{color:var(--muted);font-size:.8rem}.stat-value{font-size:1.3rem;font-weight:600;font-variant-numeric:tabular-nums}.breakdown{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.breakdown li{display:grid;grid-template-columns:minmax(6rem,9rem) 1fr auto;align-items:center;gap:.75rem}.breakdown-label{color:var(--muted);font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-track{min-width:0;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.breakdown-fill{display:block;height:100%;border-radius:999px;background:var(--series, var(--accent))}.breakdown-value{font-size:.9rem;font-variant-numeric:tabular-nums}.expense-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.expense-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.expense-row>div{flex:1 1 12rem;min-width:0}.expense-row p{margin:.1rem 0 0}.expense-amount{font-weight:600;font-variant-numeric:tabular-nums}.vehicle-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.vehicle-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.4rem;transition:border-color .15s ease}.vehicle-card:hover{border-color:var(--accent)}.chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;color:var(--muted)}.chip.danger{color:var(--danger);border-color:#f2555a66}.share-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.share-row select{width:auto}.card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.interval-card,.log-card{display:flex;flex-direction:column;gap:.5rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.badge{border-radius:999px;padding:.15rem .65rem;font-size:.75rem;font-weight:600;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.badge.ok{color:var(--ok);border-color:#43c77766}.badge.due-soon{color:var(--warn);border-color:#f2b95066}.badge.overdue{color:var(--danger);border-color:#f2555a73}.notes{white-space:pre-wrap;margin:0;color:var(--text);font-size:.9rem}.parts{border:1px solid var(--border);border-radius:var(--radius);padding:.85rem;display:flex;flex-direction:column;gap:.6rem;margin:0}.parts-legend{color:var(--muted);font-size:.85rem}.part-row{display:grid;grid-template-columns:2fr 1.5fr .7fr .9fr auto;gap:.5rem}@media (max-width: 640px){.part-row{grid-template-columns:1fr 1fr auto;padding:.55rem;border:1px solid var(--border);border-radius:10px}.part-row>input:nth-child(1),.part-row>input:nth-child(2){grid-column:1 / -1}}.parts-table{width:100%;border-collapse:collapse;font-size:.88rem}.parts-table th,.parts-table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--border)}.parts-table th{color:var(--muted);font-weight:500}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.photo-grid{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.photo-tile{position:relative;aspect-ratio:1}.photo-tile>button{display:block;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in}.photo-tile img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}.photo-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:none;background:#0000009e;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.photo-add input{margin-top:.35rem}.preview,.thumb{max-width:100%;border-radius:var(--radius);border:1px solid var(--border)}.thumb{max-height:220px;object-fit:cover}.existing-image{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.vehicle-page{display:flex;flex-direction:column;gap:.75rem}.self-start{align-self:flex-start}.with-icon{display:flex;align-items:center;gap:.5rem}:root{--photo-ratio: 16 / 10}.vehicle-hero{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:1.25rem;align-items:center}@media (max-width: 720px){.vehicle-hero{grid-template-columns:1fr}}.vehicle-hero-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.vehicle-photo{display:flex;flex-direction:column;gap:.5rem}.vehicle-photo-img{width:100%;aspect-ratio:var(--photo-ratio);object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2)}.vehicle-photo-img.placeholder,.vehicle-card-photo.placeholder{display:grid;place-items:center;color:var(--border)}.vehicle-photo-img.placeholder svg,.vehicle-card-photo.placeholder svg{width:46%;height:auto}.vehicle-photo-actions{display:flex;gap:.5rem;flex-wrap:wrap}.file-btn{display:inline-flex;align-items:center;text-align:center}.file-btn input{display:none}.vehicle-card-photo{width:100%;aspect-ratio:var(--photo-ratio);object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--surface-2)}.odometer{display:flex;flex-direction:column;gap:.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem}.odometer-current{display:flex;align-items:baseline;gap:.4rem}.odometer-value{font-size:1.7rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.odometer-unit{color:var(--muted)}.odometer-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.odometer-controls input{width:9rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-top:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font:inherit;padding:.6rem .9rem;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.section-head.plain{border-top:none;padding-top:0;margin-top:1rem}.timeline{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:.25rem}.timeline-toolbar p{margin:0}.timeline-item.editing{grid-template-columns:1fr}.timeline-item.editing:before{display:none}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.4rem 0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.timeline-heading h3{margin:0;font:inherit;color:inherit}.timeline-heading .btn{text-transform:none;letter-spacing:normal}.timeline-list{list-style:none;margin:0;padding:0 0 0 .25rem;display:flex;flex-direction:column}.timeline-item{position:relative;display:grid;grid-template-columns:40px 1fr;gap:.85rem;padding-bottom:1rem}.timeline-item:before{content:"";position:absolute;left:19px;top:40px;bottom:-4px;width:2px;background:var(--border)}.timeline-item:last-child:before{display:none}.timeline-dot{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);z-index:1}.timeline-dot.ok{color:var(--ok);border-color:#43c77780}.timeline-dot.due-soon{color:var(--warn);border-color:#f2b95080}.timeline-dot.overdue{color:var(--danger);border-color:#f2555a8c}.timeline-dot.done{color:var(--accent);border-color:#4f9cf973}.timeline-dot.unlogged,.timeline-dot.unknown{color:var(--muted)}.timeline-body{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .85rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}.timeline-body h4{margin:0;font-size:.98rem}.timeline-body p{margin:0}.timeline-now{display:flex;align-items:center;gap:.75rem;color:var(--accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:.25rem 0 .75rem}.timeline-now:before,.timeline-now:after{content:"";height:1px;background:#4f9cf966;flex:1}.timeline-now:before{flex:0 0 40px}.thumb.small{max-height:140px;margin-top:.35rem}.empty.small{padding:.75rem;font-size:.88rem}.category-select{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding-left:.65rem;color:var(--text)}.category-select>svg{flex:0 0 auto;color:var(--accent)}.category-select select{border:none;background:transparent;padding-left:0}.category-select:focus-within{outline:2px solid var(--accent);outline-offset:1px}.category-select select:focus{outline:none}:root[data-glass] .category-select select{background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.auth-aside{margin:0;opacity:.75}.invite-code,.invite-code-display{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.16em;text-transform:uppercase}.invite-code-display{display:block;font-size:1.35rem;-webkit-user-select:all;user-select:all;word-break:break-all}.invite-issued{display:flex;flex-direction:column;gap:.5rem}.invite-issued p{margin:0}.cropper-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#040810b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.cropper{width:min(560px,100%);max-height:calc(100svh - 2rem);overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:var(--popover-bg)}.cropper h2{margin:0}.cropper-frame{position:relative;overflow:hidden;aspect-ratio:var(--photo-ratio);border-radius:12px;background:#00000059;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cropper-frame:active{cursor:grabbing}.cropper-frame img{position:absolute;top:0;left:0;max-width:none;transform-origin:top left;-webkit-user-drag:none}.cropper-zoom{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted)}.cropper-zoom input{flex:1;min-width:0}.next-service{display:flex;align-items:center;gap:.45rem;margin:.15rem 0 0;font-size:.85rem;color:var(--text)}.next-service svg{flex:0 0 auto;width:18px;height:18px;color:var(--accent)}.next-service.none,.next-service.unlogged,.next-service.unknown{color:var(--muted)}.next-service.due-soon{color:var(--warn)}.next-service.due-soon svg{color:var(--warn)}.next-service.overdue{color:var(--danger)}.next-service.overdue svg{color:var(--danger)}.test-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.5rem 1rem;text-align:center;font-size:.85rem;font-weight:600;background:#f7c948;color:#2b2000;border-top:1px solid rgba(0,0,0,.25)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#040810b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dialog{width:min(420px,100%);display:flex;flex-direction:column;gap:.75rem;background:var(--popover-bg)}.dialog h2,.dialog p{margin:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:1rem;background:#040810e0}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;cursor:default}.lightbox-close{position:absolute;top:1rem;right:1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.4rem .9rem;background:#00000080;color:#fff;font:inherit;cursor:pointer}.lightbox-step{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#00000080;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.lightbox-step.prev{left:1rem}.lightbox-step.next{right:1rem}.lightbox-count{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);color:#fffc;font-size:.85rem;font-variant-numeric:tabular-nums}@media (max-width: 720px){input,select,textarea,.chart-label{font-size:16px}.parts-table{font-size:.82rem}.parts-table th,.parts-table td{padding:.3rem .4rem}.part-row input,.part-row select{min-width:0}.odometer-controls input{width:100%}.section-head,.page-head{align-items:flex-start}.tabs{flex-wrap:wrap;gap:.35rem;overflow-x:visible;border-bottom:none;padding-bottom:.2rem}.tab{flex:1 1 auto;border:1px solid var(--border);border-radius:999px;padding:.45rem .85rem;font-size:.9rem;text-align:center}.tab.active{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.breakdown li{grid-template-columns:1fr auto;grid-template-areas:"label value" "track track";gap:.2rem .75rem}.breakdown-label{grid-area:label}.breakdown-value{grid-area:value}.breakdown-track{grid-area:track}}
