:root{color-scheme:dark;--page: #0a0b0e;--surface-1: #131519;--surface-2: #191c22;--surface-3: #232730;--surface-sunken: #0d0f13;--ink: #f4f4f6;--ink-2: #b4b8c0;--ink-3: #7c828d;--ink-muted: #898781;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .15);--accent: #ff6a2b;--accent-2: #ffa62b;--accent-soft: rgba(255, 106, 43, .14);--accent-ink: #180a02;--accent-glow: rgba(255, 106, 43, .3);--chrome: linear-gradient( 180deg, #f4f6f9 0%, #cfd4dc 44%, #99a0ab 51%, #c7ccd4 68%, #eef1f5 100% );--chrome-ink: #15171b;--good: #0ca30c;--warning: #fab219;--critical: #e05a5a;--cat-fuel: #3987e5;--cat-service: #d95926;--cat-repair: #199e70;--cat-parts: #c98500;--cat-insurance: #d55181;--cat-gear: #008300;--cat-fines: #9085e9;--cat-other: #898781;--grid: #21252c;--axis: #30353e;--chart-neutral: #6e6c65;--chart-emphasis: var(--accent);--tread: rgba(255, 255, 255, .016);--shadow-1: 0 1px 2px rgba(0, 0, 0, .45);--shadow-2: 0 8px 24px -8px rgba(0, 0, 0, .6);--shadow-3: 0 24px 60px -20px rgba(0, 0, 0, .75);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--sans: "Inter var", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", "EmojiOne Color", "Android Emoji", sans-serif;--ease: cubic-bezier(.22, .61, .36, 1)}:root[data-theme=light]{color-scheme:light;--page: #f1f0ed;--surface-1: #ffffff;--surface-2: #fafaf8;--surface-3: #ececeb;--surface-sunken: #f4f4f1;--ink: #16171c;--ink-2: #52545c;--ink-3: #71747d;--ink-muted: #898781;--line: rgba(12, 13, 16, .1);--line-strong: rgba(12, 13, 16, .2);--accent: #c2410c;--accent-2: #b45309;--accent-soft: rgba(194, 65, 12, .1);--accent-ink: #ffffff;--accent-glow: rgba(194, 65, 12, .16);--chrome: linear-gradient( 180deg, #ffffff 0%, #dfe3e9 44%, #aeb5c0 51%, #d8dce2 68%, #fbfcfd 100% );--chrome-ink: #15171b;--good: #006300;--warning: #a56b00;--critical: #c0392f;--cat-fuel: #2a78d6;--cat-service: #eb6834;--cat-repair: #1baf7a;--cat-parts: #eda100;--cat-insurance: #e87ba4;--cat-gear: #008300;--cat-fines: #4a3aa7;--cat-other: #898781;--grid: #e6e6e0;--axis: #cdcdc5;--chart-neutral: #8d8b83;--tread: rgba(12, 13, 16, .013);--shadow-1: 0 1px 2px rgba(20, 21, 26, .06);--shadow-2: 0 8px 24px -10px rgba(20, 21, 26, .16);--shadow-3: 0 24px 60px -24px rgba(20, 21, 26, .24)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5;overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(760px 440px at 10% -10%,var(--accent-glow),transparent 62%),radial-gradient(640px 380px at 94% 2%,rgba(88,132,200,.16),transparent 60%);opacity:.8}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(115deg,var(--tread) 0 1px,transparent 1px 9px)}:root[data-theme=light] body:before{opacity:.55}.emoji{font-family:var(--emoji);font-style:normal;font-weight:400;letter-spacing:0;line-height:1;display:inline-block}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid transparent;background-clip:content-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{position:relative;z-index:1;display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:22px 16px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-1) 60%,transparent);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;padding:0 6px}.brand-mark{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:linear-gradient(150deg,var(--accent-2),var(--accent) 58%,#d2410a);color:var(--accent-ink);border:1px solid rgba(255,255,255,.16);box-shadow:0 6px 18px -6px var(--accent-glow),inset 0 1px #ffffff59}.brand-name{font-size:15px;font-weight:650;letter-spacing:-.01em;line-height:1.15}.brand-tag{font-size:11.5px;color:var(--ink-3);letter-spacing:.02em}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r-md);color:var(--ink-2);font-size:14px;font-weight:500;transition:background .16s var(--ease),color .16s var(--ease);text-align:left;width:100%}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-item svg{flex:none;opacity:.9}.nav-count{margin-left:auto;font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink-3)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.main{min-width:0;padding:26px 30px 96px;display:flex;flex-direction:column;gap:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:26px;font-weight:680;letter-spacing:-.025em}.page-sub{color:var(--ink-3);font-size:13.5px;margin-top:3px}.section-title{font-size:12px;font-weight:620;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.tabbar{display:none}@media (max-width: 900px){.app{grid-template-columns:minmax(0,1fr)}.rail{display:none}.main{padding:16px 16px 108px;gap:18px}.page-title{font-size:22px}.tabbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:6px;border-radius:20px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 88%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow-3);padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:14px;color:var(--ink-3);font-size:10.5px;font-weight:550}.tab[aria-current=page]{color:var(--accent);background:var(--accent-soft)}}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-pad{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.card-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:620;letter-spacing:-.01em}.card-note{font-size:12px;color:var(--ink-3)}.grid{display:grid;gap:14px}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(184px,1fr))}@media (max-width: 560px){.grid-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-stats>.stat.is-accent{grid-column:span 2}.stat-value{font-size:21px}.stat-value.is-hero{font-size:30px}}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stat{position:relative;overflow:hidden;padding:16px 16px 15px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:5px;min-width:0}.stat-label{font-size:11.5px;font-weight:560;letter-spacing:.045em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:6px}.stat-value{font-size:25px;font-weight:660;letter-spacing:-.03em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value.is-hero{font-size:34px}.stat-foot{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px;min-height:18px}.stat.is-accent{background:linear-gradient(150deg,var(--accent-soft),transparent 58%),var(--surface-1);border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}.delta{display:inline-flex;align-items:center;gap:3px;font-weight:580;font-variant-numeric:tabular-nums}.delta.up{color:var(--critical)}.delta.down{color:var(--good)}.chart{width:100%;display:block;overflow:visible}.chart-wrap{padding:12px 18px 16px}.axis-label{font-size:10.5px;fill:var(--ink-muted);font-variant-numeric:tabular-nums}.gridline{stroke:var(--grid);stroke-width:1;shape-rendering:crispEdges}.baseline{stroke:var(--axis);stroke-width:1;shape-rendering:crispEdges}.bar{transition:opacity .14s var(--ease)}.bar-hit{fill:transparent;cursor:default}.chart:hover .bar{opacity:.5}.chart .bar.is-hot,.chart:hover .bar.is-hot{opacity:1}.chart-empty{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:13px}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 18px 16px}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.swatch{width:9px;height:9px;border-radius:3px;flex:none}.tooltip{position:fixed;z-index:90;pointer-events:none;padding:8px 10px;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:12px;line-height:1.45;white-space:nowrap;transform:translate(-50%,-100%);transition:opacity .12s var(--ease)}.tooltip-title{font-weight:600;color:var(--ink)}.tooltip-row{color:var(--ink-2);font-variant-numeric:tabular-nums}.cat-rows{display:flex;flex-direction:column;padding:4px 18px 16px}.cat-row{display:grid;grid-template-columns:minmax(96px,1fr) minmax(0,2.1fr) auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);text-align:left;width:100%;transition:background .14s var(--ease);border-radius:6px}.cat-row:last-child{border-bottom:none}.cat-row:hover{background:var(--surface-2)}.cat-row[aria-pressed=true]{background:var(--accent-soft)}.cat-name{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:520;min-width:0;color:var(--ink)}.cat-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-track{display:block;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.cat-fill{display:block;height:100%;border-radius:99px;transition:width .5s var(--ease)}.cat-value-wrap{text-align:right}.cat-value{display:block;font-size:13px;font-weight:580;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cat-share{display:block;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}@media (max-width: 620px){.cat-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value" "track track";row-gap:7px;padding:10px 0}.cat-name{grid-area:name}.cat-value-wrap{grid-area:value}.cat-track{grid-area:track;height:6px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:13.5px;font-weight:560;white-space:nowrap;transition:background .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease),opacity .15s var(--ease)}.btn:hover{background:var(--surface-3);border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(160deg,var(--accent-2),var(--accent) 62%,#d2410a);color:var(--accent-ink);border-color:transparent;box-shadow:0 6px 18px -8px var(--accent-glow),inset 0 1px #ffffff47;font-weight:620}.btn-primary:hover{background:linear-gradient(160deg,color-mix(in srgb,var(--accent-2) 88%,white),var(--accent) 70%,#e2490e);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 32%,transparent);background:color-mix(in srgb,var(--critical) 8%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--critical) 16%,transparent);border-color:var(--critical)}.btn-sm{padding:6px 10px;font-size:12.5px;border-radius:var(--r-sm)}.btn-icon{padding:8px;border-radius:var(--r-md)}.fab{display:none}@media (max-width: 900px){.fab{position:fixed;right:16px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:61;display:grid;place-items:center;width:56px;height:56px;border-radius:20px;background:linear-gradient(160deg,var(--accent-2),var(--accent) 62%,#d2410a);color:var(--accent-ink);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 32px -10px var(--accent-glow),var(--shadow-2)}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.label{font-size:12px;font-weight:560;color:var(--ink-2);display:flex;align-items:center;gap:6px}.label .opt{color:var(--ink-3);font-weight:450}.input,.select,.textarea{width:100%;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink);font-size:14px;transition:border-color .15s var(--ease),background .15s var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:74px;line-height:1.5}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.input-money{display:flex;align-items:center;gap:0;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-sunken);transition:border-color .15s var(--ease)}.input-money:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-money .prefix{padding:0 4px 0 13px;color:var(--ink-3);font-size:15px;font-weight:560}.input-money input{flex:1;min-width:0;border:none;background:none;padding:11px 12px 11px 2px;font-size:20px;font-weight:620;letter-spacing:-.02em}.input-money input:focus{outline:none}.suffix-input{position:relative}.suffix-input .suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--ink-3);pointer-events:none}.suffix-input .input{padding-right:46px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}@media (max-width: 560px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:span 1}}.hint{font-size:11.5px;color:var(--ink-3)}.err{font-size:11.5px;color:var(--critical)}.switch{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{width:38px;height:22px;border-radius:99px;background:var(--surface-3);border:1px solid var(--line);position:relative;transition:background .18s var(--ease),border-color .18s var(--ease);flex:none}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:99px;background:var(--ink-3);transition:transform .18s var(--ease),background .18s var(--ease)}.switch input:checked+.switch-track{background:var(--accent);border-color:transparent}.switch input:checked+.switch-track .switch-thumb{transform:translate(16px);background:var(--accent-ink)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.cat-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media (max-width: 560px){.cat-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.cat-chip{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-sunken);transition:border-color .15s var(--ease),background .15s var(--ease);text-align:left}.cat-chip:hover{border-color:var(--line-strong)}.cat-chip[aria-pressed=true]{border-color:currentColor;background:color-mix(in srgb,currentColor 12%,transparent)}.cat-chip .chip-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,currentColor 16%,transparent)}.cat-chip .chip-label{font-size:12.5px;font-weight:560;color:var(--ink);line-height:1.25}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:132px;padding:18px;border-radius:var(--r-lg);border:1px dashed var(--line-strong);background:var(--surface-sunken);color:var(--ink-3);text-align:center;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease);width:100%;overflow:hidden}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dropzone .dz-title{font-size:13px;font-weight:560;color:var(--ink-2)}.dropzone .dz-sub{font-size:11.5px}.dropzone.has-image{border-style:solid;border-color:var(--line);padding:0;min-height:0;background:var(--surface-3)}.thumb{position:relative;width:100%;display:block;line-height:0}.thumb img{width:100%;display:block;object-fit:cover}.thumb-actions{position:absolute;right:8px;bottom:8px;display:flex;gap:6px}.thumb-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:9px;font-size:12px;font-weight:550;color:#fff;background:#0c0c0ea8;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);line-height:1}.thumb-btn:hover{background:#0c0c0ed6}.bill-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:6px;font-size:10.5px;font-weight:560;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line)}.month-group{display:flex;flex-direction:column;gap:8px}.month-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 2px}.month-name{font-size:13px;font-weight:620;letter-spacing:-.01em}.month-total{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.entry{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-1);text-align:left;transition:border-color .15s var(--ease),background .15s var(--ease),transform .12s var(--ease)}.entry:hover{border-color:var(--line-strong);background:var(--surface-2)}.entry-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,currentColor 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 24%,transparent);flex:none}.entry-main{min-width:0}.entry-title{font-size:13.5px;font-weight:560;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-3);margin-top:2px}.entry-meta .dot:before{content:"·";margin-right:7px}.entry-amount{font-size:14.5px;font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap}.entry-hit{position:absolute;inset:0;border-radius:inherit}.entry-end{display:flex;align-items:center;gap:10px}.entry-bill{position:relative;z-index:1;width:34px;height:34px;border-radius:9px;overflow:hidden;border:1px solid var(--line-strong);background:var(--surface-3);display:grid;place-items:center;flex:none;color:var(--ink-3);transition:border-color .15s var(--ease),transform .12s var(--ease)}.entry-bill:hover{border-color:var(--accent);transform:scale(1.06)}.entry-bill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.pill-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface-1);color:var(--ink-2);font-size:12.5px;font-weight:530;white-space:nowrap;transition:all .15s var(--ease)}.pill:hover{border-color:var(--line-strong);color:var(--ink)}.pill[aria-pressed=true],.pill.is-on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 42%,transparent);color:var(--accent)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r-lg);border:1px solid var(--line);background:color-mix(in srgb,var(--surface-1) 82%,transparent);backdrop-filter:blur(10px)}.search{position:relative;flex:1 1 220px;min-width:180px}.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.search .input{padding-left:34px}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:46px 22px;text-align:center;border-radius:var(--r-lg);border:1px dashed var(--line-strong);background:color-mix(in srgb,var(--surface-1) 55%,transparent)}.empty-art{width:58px;height:58px;display:grid;place-items:center;border-radius:20px;background:var(--accent-soft);color:var(--ink-3);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}.empty-title{font-size:15px;font-weight:600}.empty-text{font-size:13px;color:var(--ink-3);max-width:42ch}.bike-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);border:1px solid var(--line);background:var(--surface-1);min-height:168px;display:flex;align-items:flex-end;box-shadow:inset 0 1px #ffffff12}.bike-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bike-hero-scrim{position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--page) 94%,transparent) 4%,color-mix(in srgb,var(--page) 62%,transparent) 42%,transparent 82%)}.bike-hero-body{position:relative;padding:18px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;width:100%;flex-wrap:wrap}.bike-hero.no-photo{background:radial-gradient(520px 200px at 8% 0%,var(--accent-soft),transparent 70%),var(--surface-1);min-height:132px}.bike-name{font-size:22px;font-weight:680;letter-spacing:-.028em;line-height:1.15}.bike-sub{font-size:12.5px;color:var(--ink-2);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.plate{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;font-size:11.5px;font-weight:640;letter-spacing:.06em;background:var(--chrome);border:1px solid rgba(0,0,0,.28);color:var(--chrome-ink);text-transform:uppercase;font-variant-numeric:tabular-nums;text-shadow:0 1px 0 rgba(255,255,255,.55);box-shadow:inset 0 1px #ffffffa6,0 1px 2px #00000059}.bike-switch{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bike-tile{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:14px;border:1px solid var(--line);background:var(--surface-1);transition:all .15s var(--ease);text-align:left}.bike-tile:hover{border-color:var(--line-strong)}.bike-tile[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 48%,transparent);background:var(--accent-soft)}.bike-avatar{width:34px;height:34px;border-radius:10px;object-fit:cover;flex:none;background:var(--surface-3);display:grid;place-items:center;color:var(--ink-3)}.bike-tile-name{font-size:13px;font-weight:570;line-height:1.2}.bike-tile-sub{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#06070a9e;backdrop-filter:blur(6px);animation:fade .18s var(--ease)}@media (min-width: 700px){.overlay{align-items:center;padding:28px}}.modal{position:relative;width:100%;max-width:620px;max-height:92vh;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:22px 22px 0 0;box-shadow:var(--shadow-3);animation:rise .22s var(--ease);overflow:hidden}@media (min-width: 700px){.modal{border-radius:22px}}.modal.wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-title{font-size:16px;font-weight:640;letter-spacing:-.02em}.modal-body{padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:14px 18px;border-top:1px solid var(--line);background:var(--surface-2);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.modal-foot .spacer{margin-right:auto}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px) scale(.985)}}.lightbox{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:24px;background:#050608e6;animation:fade .16s var(--ease)}.lightbox img{max-width:100%;max-height:84vh;border-radius:var(--r-md);box-shadow:var(--shadow-3)}.lightbox-bar{position:absolute;top:16px;right:16px;display:flex;gap:8px}.toasts{position:fixed;z-index:100;left:50%;transform:translate(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(440px,calc(100vw - 32px))}@media (max-width: 900px){.toasts{bottom:calc(90px + env(safe-area-inset-bottom,0px))}}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;border-radius:14px;background:var(--surface-3);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:13px;animation:rise .2s var(--ease);width:100%}.toast .msg{flex:1;min-width:0}.toast.error{border-color:color-mix(in srgb,var(--critical) 52%,transparent)}.toast .dot-tone{width:7px;height:7px;border-radius:99px;flex:none;background:var(--good)}.toast.error .dot-tone{background:var(--critical)}.toast.info .dot-tone{background:var(--cat-fuel)}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row-label{font-size:13.5px;font-weight:540}.row-hint{font-size:11.5px;color:var(--ink-3);margin-top:2px;max-width:52ch}.row-control{flex:none;width:210px;min-width:0}@media (max-width: 560px){.row{align-items:flex-start;flex-wrap:wrap}.row-control{width:100%}}.progress{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.progress>i{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .5s var(--ease)}.progress.is-over>i{background:var(--critical)}.progress.is-near>i{background:var(--warning)}.skeleton{display:grid;place-items:center;min-height:60vh;color:var(--ink-3);gap:14px}.spinner{width:26px;height:26px;border-radius:99px;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabular{font-variant-numeric:tabular-nums}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
