:root{color-scheme:light dark;--bg: #29394a;--surface: #35485c;--surface-2: #405670;--surface-hover: #4b6482;--text: #eef3f8;--text-dim: #a7b9cb;--text-mute: #7c92a8;--accent: #fbbf24;--accent-text: #fbbf24;--accent-dim: #b8860f;--mpg-color: #199e70;--cost-color: #d95926;--danger: #f87171;--border: #4b6482;--border-soft: rgba(167, 185, 203, .16);--shadow-card: 0 8px 24px -12px rgba(0, 0, 0, .55);--header-glow: rgba(53, 72, 92, .6);--nav-bg: rgba(53, 72, 92, .75);--bg-top: #3d5268;--bg-bottom: #202b38}@media(prefers-color-scheme:light){:root{--bg: #dde5ed;--surface: #f4f7fa;--surface-2: #e7edf3;--surface-hover: #d7e0e9;--text: #1f2b38;--text-dim: #4c5d70;--text-mute: #74889c;--accent-text: #8a5f0a;--accent-dim: #92660b;--danger: #dc2626;--border: #c2ceda;--border-soft: rgba(37, 56, 77, .12);--shadow-card: 0 8px 24px -12px rgba(31, 43, 56, .18);--header-glow: rgba(244, 247, 250, .75);--nav-bg: rgba(244, 247, 250, .85);--bg-top: #d7e1ea;--bg-bottom: #aec2d4}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,rgba(251,191,36,.08),transparent 60%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom));color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{display:flex;flex-direction:column;height:100dvh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top)) 18px 14px;border-bottom:1px solid var(--border-soft);background:linear-gradient(180deg,var(--header-glow),transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.app-header h1{font-size:1.15rem;font-weight:700;margin:0;letter-spacing:-.01em}.app-header .app-version{font-size:.75em;font-weight:400;color:var(--text-dim);white-space:nowrap}.app-header-actions{display:flex;align-items:center;gap:14px}.app-main{flex:1;overflow-y:auto;padding:16px 16px 32px}.bottom-nav{display:flex;gap:4px;border-top:1px solid var(--border-soft);background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 8px env(safe-area-inset-bottom);flex-shrink:0}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;border-radius:12px;color:var(--text-mute);font-size:1.25rem;padding:8px 0 6px;transition:color .15s ease,background-color .15s ease,transform .1s ease}.bottom-nav button:active{transform:scale(.94)}.bottom-nav button span{font-size:.66rem;font-weight:600}.bottom-nav button.active{color:var(--accent-text);background:#fbbf241f}.card{background:linear-gradient(165deg,var(--surface),var(--surface) 60%,var(--surface-2));border:1px solid var(--border-soft);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow-card)}.card-title-btn{all:unset;display:block;width:100%;cursor:pointer}.card h3{margin:0 0 12px;font-size:.85rem;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.stat-card{position:relative;display:block;width:100%;text-align:left;background:linear-gradient(165deg,var(--surface),var(--surface-2));border:1px solid var(--border-soft);border-radius:16px;padding:14px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .1s ease}.stat-card:active{transform:scale(.97)}.stat-icon{position:absolute;top:12px;right:12px;font-size:1.1rem;opacity:.55}.stat-card-mpg{background:color-mix(in srgb,var(--mpg-color) 20%,var(--surface));border-color:color-mix(in srgb,var(--mpg-color) 35%,var(--border-soft))}.stat-card-cost{background:color-mix(in srgb,var(--cost-color) 20%,var(--surface));border-color:color-mix(in srgb,var(--cost-color) 35%,var(--border-soft))}.stat-value{font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat-label{font-size:.72rem;color:var(--text-dim);margin-top:3px;text-transform:uppercase;letter-spacing:.03em}.stat-detail-title{margin:4px 0 12px;font-size:1.05rem}.stat-detail-list{display:flex;flex-direction:column;padding:4px 16px}.stat-detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-soft)}.stat-detail-row:last-child{border-bottom:none}.stat-detail-date{color:var(--text-dim);font-size:.9rem}.stat-detail-value{font-weight:700;font-variant-numeric:tabular-nums}.empty-state{text-align:center;color:var(--text-dim);padding:48px 20px;line-height:1.6}.empty-state-icon{font-size:2.4rem;display:block;margin-bottom:10px;opacity:.8}.line-chart{display:block;touch-action:pan-y}.chart-axis-label{fill:var(--text-mute);font-size:9px}.chart-baseline{stroke:var(--border);stroke-width:1}.chart-crosshair{stroke:var(--text-mute);stroke-width:1;stroke-dasharray:3 3}.chart-point{transition:r .1s ease}.chart-tooltip-label{fill:var(--text-mute);font-size:9px}.chart-tooltip-value{fill:var(--text);font-size:11px;font-weight:700}.chart-empty{color:var(--text-dim);font-size:.9rem}.camera-actions{display:flex;gap:10px}.btn{border:none;border-radius:14px;padding:14px 18px;font-size:.95rem;font-weight:700;flex:1;text-align:center;transition:transform .1s ease,filter .15s ease,opacity .15s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#fcd34d,var(--accent));color:#1c1300;box-shadow:0 6px 16px -6px #fbbf248c}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-primary:disabled{opacity:.4;box-shadow:none}.btn-secondary{background:var(--surface-2);color:var(--text);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-soft)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-link{background:none;border:none;color:var(--accent-text);font-size:.85rem;font-weight:600;padding:6px 0;align-self:flex-start}.btn-link:disabled{opacity:.5}.btn-link-danger{color:var(--danger)}.scan-warning{color:var(--accent-text);font-size:.85rem;margin-top:-4px}.review-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--text-dim);font-weight:600}input{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px 13px;color:var(--text);font-size:1rem;font-variant-numeric:tabular-nums;transition:border-color .15s ease}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #fbbf242e}label:has(.odometer-field),label:has(.register-field),label:has(.gallons-field),label:has(.calendar-field){text-align:right}.odometer-field,.register-field,.gallons-field,.calendar-field{position:relative;width:fit-content;align-self:flex-end}.digit-field-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:none;background:transparent;color:transparent;caret-color:var(--accent);appearance:textfield}.digit-field-input::-webkit-outer-spin-button,.digit-field-input::-webkit-inner-spin-button{appearance:none;margin:0}.digit-field-input:focus{outline:none;box-shadow:none;border:none}.odometer-display{display:flex;gap:2px;flex-shrink:0;width:fit-content;padding:6px;background:#161616;border-radius:6px;box-shadow:inset 0 2px 5px #000000b3;transition:opacity .15s ease}.odometer-placeholder{opacity:.35}.odometer-digit{display:flex;align-items:center;justify-content:center;width:24px;height:34px;background:linear-gradient(180deg,#2c2c2c,#161616);color:#f4d35e;font-family:Courier New,Courier,monospace;font-weight:700;font-size:1.35rem;font-variant-numeric:tabular-nums;border-radius:3px;border:1px solid #000;text-shadow:0 1px 1px rgba(0,0,0,.6)}.register-display{display:flex;align-items:center;gap:3px;flex-shrink:0;width:fit-content;padding:5px 7px;background:linear-gradient(180deg,#17130f,#060402);border-radius:20px;border:3px solid #a97d3c;box-shadow:inset 0 2px 6px #000000d9,0 0 0 1px #4a3410;transition:opacity .15s ease}.register-placeholder{opacity:.4}.register-digit{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2620,#050403 75%);color:#f2e9d8;font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums;border:1px solid #3a2c10;text-shadow:0 1px 1px rgba(0,0,0,.8)}.register-dollar{background:radial-gradient(circle at 35% 30%,#7a2a1c,#2a0a05 75%);color:#ffdca8}.register-dot{display:flex;align-items:flex-end;justify-content:center;width:6px;height:26px;padding-bottom:2px;color:#f2e9d8;font-weight:900;font-size:1.1rem}.gallons-display{display:flex;align-items:center;gap:2px;flex-shrink:0;width:fit-content;padding:5px;background:linear-gradient(180deg,#dde2e6,#9aa4ac);border-radius:6px;border:2px solid #6b7480;box-shadow:inset 0 1px 2px #fff9,inset 0 -2px 4px #00000059;transition:opacity .15s ease}.gallons-placeholder{opacity:.4}.gallons-digit{display:flex;align-items:center;justify-content:center;width:22px;height:30px;background:#0a0f14;color:#bfe8ff;font-family:Courier New,Courier,monospace;font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums;border-radius:2px;border:1px solid #1c2733;text-shadow:0 0 4px rgba(150,220,255,.55)}.gallons-unit{font-size:.9rem}.gallons-dot{display:flex;align-items:flex-end;justify-content:center;width:6px;height:30px;padding-bottom:4px;color:#0a0f14;font-weight:900}.confirm-price-per-gal{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:-4px 0 0}.confirm-price-per-gal-label{color:var(--text-dim);font-size:.82rem;font-weight:600}.calendar-field-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:none;opacity:0;cursor:pointer}.calendar-field-input:focus{outline:none;box-shadow:none}.calendar-display{display:flex;gap:12px;width:fit-content;margin-bottom:6px}.calendar-page{position:relative;width:46px;background:#fdfaf3;border-radius:3px;overflow:hidden;box-shadow:2px 3px 0 -1px #eee8d8,2px 3px 2px #00000038,4px 6px 0 -2px #e0dac8,4px 6px 4px #0000002e}.calendar-page-header{background:#c1272d;color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.05em;text-align:center;padding:3px 0}.calendar-page-body{padding:6px 0 8px;text-align:center;font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.4rem;color:#2b2b2b}.calendar-page-year{width:60px}.calendar-page-year .calendar-page-body{font-size:1.15rem}.calculator-display{display:flex;align-items:center;justify-content:flex-end;width:fit-content;padding:8px 10px;background:#0a0a0a;border:1px solid #1a1a1a;border-radius:4px;box-shadow:inset 0 2px 5px #000c}.calculator-char{display:inline-block;color:#39ff6a;font-family:Courier New,Courier,monospace;font-weight:700;font-size:1.1rem;text-shadow:0 0 4px rgba(57,255,106,.85),0 0 10px rgba(57,255,106,.4)}.seven-seg{position:relative;display:inline-block;width:14px;height:24px;margin:0 2px}.seg{position:absolute;background:#123018;border-radius:1px}.seg.on{background:#39ff6a;box-shadow:0 0 4px #39ff6ae6,0 0 8px #39ff6a80}.seg-a,.seg-g,.seg-d{left:2px;width:10px;height:2px}.seg-a{top:0}.seg-g{top:11px}.seg-d{top:22px}.seg-f,.seg-b,.seg-e,.seg-c{width:2px;height:10px}.seg-f{left:0;top:1px}.seg-b{left:12px;top:1px}.seg-e{left:0;top:13px}.seg-c{left:12px;top:13px}.history-list{display:flex;flex-direction:column}.history-row{display:flex;flex-direction:column;gap:6px;transition:border-color .15s ease}.history-main{display:flex;justify-content:space-between;font-weight:700}.history-odo{font-variant-numeric:tabular-nums}.history-details{display:flex;gap:12px;flex-wrap:wrap;color:var(--text-dim);font-size:.85rem;font-variant-numeric:tabular-nums}.history-mpg{color:var(--mpg-color);font-weight:700;background:color-mix(in srgb,var(--mpg-color) 16%,transparent);padding:2px 8px;border-radius:999px}.history-actions{display:flex;gap:16px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border-soft)}.history-edit{display:flex;flex-direction:column;gap:10px}.lock-screen{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.lock-icon{font-size:2.6rem}.lock-screen .btn-link{align-self:center}.lock-screen h2{margin:0 0 8px;font-size:1.15rem}.lock-unlock-btn{flex:none;width:100%;max-width:280px}.lock-error{max-width:280px}.lock-password-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px;margin-top:6px}.lock-offer-passkey{width:100%;max-width:280px;display:flex;flex-direction:column;gap:12px}
