:root{--accent:#e85d3f;--accent-dark:#bc3f25;--blue:#3d6fd1;--border:#d8e0de;--danger:#c94646;--ink:#18312d;--ink-soft:#294842;--mint:#127b6e;--muted:#60706c;--page:#f2f5f4;--surface:#fff;--surface-muted:#e8efed;--yellow:#c79616}*{box-sizing:border-box}html{background:var(--page)}body{background:var(--page);color:var(--ink);min-width:320px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #9ad3cb}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{color:var(--mint);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.brand-mark,.loading-mark,.vehicle-icon,.category-swatch{flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;width:36px;height:36px}.loading-page{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;font-size:.95rem;display:flex}.loading-mark{background:var(--ink);color:#fff;border-radius:8px;width:48px;height:48px}.auth-page{background:var(--page);grid-template-columns:minmax(320px,.9fr) minmax(460px,1.1fr);min-height:100vh;display:grid}.auth-art{background:var(--ink);min-height:100%;position:relative;overflow:hidden}.auth-art:after{content:"";pointer-events:none;background:#18312d2e;position:absolute;inset:0}.auth-art img{object-fit:cover;object-position:center;width:100%;height:100%}.auth-panel{flex-direction:column;justify-content:center;align-items:flex-start;width:100%;max-width:470px;margin:0 auto;padding:48px 36px;display:flex}.brand-lockup,.sidebar-brand{align-items:center;gap:10px;font-size:1rem;font-weight:800;display:flex}.auth-heading{margin:46px 0 26px}.auth-heading h1,.section-intro h1{margin-top:6px;font-size:2rem;line-height:1.08}.profile-list{gap:8px;width:100%;margin-bottom:24px;display:grid}.profile-choice{border:1px solid var(--border);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.profile-choice:hover,.profile-choice.selected{border-color:var(--mint);background:#e7f1ef}.profile-initial{background:var(--blue);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:inline-flex}.field{gap:7px;min-width:0;display:grid}.field>span,.field-label{color:var(--muted);font-size:.79rem;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:7px;width:100%;min-height:42px;padding:9px 11px}.field textarea{resize:vertical;min-height:88px;line-height:1.4}.field input::placeholder,.field textarea::placeholder{color:#97a5a2}.field .field-error{color:var(--danger);font-size:.76rem;font-weight:650;line-height:1.35}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.pin-area{width:100%;margin-top:24px}.pin-dots{gap:12px;margin:14px 0 24px;display:flex}.pin-dots span{background:var(--surface-muted);border-radius:50%;width:12px;height:12px;transition:background .13s}.pin-dots span.filled{background:var(--accent)}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;display:grid}.keypad-button{border:1px solid var(--border);background:#fff;border-radius:8px;height:48px;font-size:1.1rem;font-weight:750;transition:background .13s,border-color .13s}.keypad-button:hover{border-color:var(--mint);background:#e7f1ef}.keypad-button.icon-only{justify-content:center;align-items:center;display:inline-flex}.inline-message{color:var(--muted);align-items:center;gap:8px;margin-top:14px;font-size:.88rem;line-height:1.4;display:flex}.error-message{color:var(--danger)}.primary-button,.secondary-button,.text-button{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 14px;font-weight:750;text-decoration:none;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.primary-button{background:var(--accent);border:1px solid var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.secondary-button{border:1px solid var(--border);color:var(--ink-soft);background:#fff}.secondary-button:hover{border-color:var(--mint);background:#e7f1ef}.text-button{color:var(--mint);background:0 0;border:0;margin-top:14px;padding-left:0;padding-right:0}.auth-panel>.primary-button{min-width:100%;margin-top:24px}.app-shell{grid-template-columns:246px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--ink);color:#eaf3f0;flex-direction:column;min-height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-brand{color:#fff;padding:0 8px}.app-navigation{gap:4px;display:grid}.app-sidebar .app-navigation{margin-top:42px}.app-navigation a{color:#bad0ca;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;min-height:43px;padding:9px 10px;font-size:.91rem;font-weight:700;text-decoration:none;transition:background .13s,color .13s;display:flex}.app-navigation a:hover,.app-navigation a.active{color:#fff;background:#29554c}.sidebar-profile{border-top:1px solid #365f57;align-items:center;gap:10px;margin-top:auto;padding:18px 8px 0;font-size:.88rem;font-weight:700;display:flex}.sidebar-profile .profile-initial{background:var(--yellow)}.app-content{min-width:0}.app-header{border-bottom:1px solid var(--border);z-index:10;background:#f2f5f4f0;justify-content:space-between;align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.header-context,.header-actions{align-items:center;display:flex}.header-context{gap:10px;min-width:0}.header-context img{object-fit:cover;border-radius:6px;width:52px;height:34px}.header-context strong{margin-top:2px;font-size:.97rem;display:block}.header-actions{gap:10px}.header-add-expense{min-height:38px;padding-top:7px;padding-bottom:7px}.sync-indicator{color:var(--mint);align-items:center;gap:5px;min-height:34px;font-size:.78rem;font-weight:800;display:inline-flex}.sync-indicator.pending{color:var(--yellow)}.icon-button{border:1px solid var(--border);background:#fff;border-radius:7px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.icon-button:hover{border-color:var(--mint);background:#e7f1ef}.icon-button.danger:hover{border-color:var(--danger);color:var(--danger);background:#fcebec}.app-notice{color:var(--ink-soft);background:#e7f1ef;border-bottom:1px solid #b7d6d0;padding:10px 32px;font-size:.86rem;font-weight:700}.workspace{max-width:1320px;margin:0 auto;padding:38px 32px 56px}.section-intro{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.section-intro-actions{align-items:center;gap:12px;display:flex}.data-count{color:var(--muted);font-size:.82rem;font-weight:700}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:11px;min-height:116px;padding:17px;display:grid}.metric-tile span{color:var(--muted);font-size:.8rem;font-weight:700}.metric-tile strong{overflow-wrap:anywhere;font-size:1.18rem;line-height:1.17}.analysis-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.analysis-panel,.editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:20px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.section-heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-heading h2{margin-top:4px;font-size:1.15rem;line-height:1.2}.section-heading h3,.compact-heading h3{font-size:.96rem}.trend-chart{border-bottom:1px solid var(--border);grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:9px;height:205px;padding-top:26px;display:grid}.trend-column{color:var(--muted);text-align:center;grid-template-rows:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-width:0;font-size:.72rem;font-weight:700;display:grid}.trend-value{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:.66rem;overflow:hidden}.trend-bar{background:var(--blue);height:var(--bar-height);border-radius:5px 5px 0 0;min-height:2px;transition:height .16s;display:block}.split-list{gap:15px;display:grid}.split-list li{gap:7px;display:grid}.split-list li>div{justify-content:space-between;align-items:baseline;gap:12px;font-size:.86rem;display:flex}.split-list li>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.split-list li>div strong{flex:none;font-size:.84rem}.split-track{background:var(--surface-muted);border-radius:3px;height:6px;display:block;overflow:hidden}.split-track span{background:var(--mint);border-radius:inherit;height:100%;display:block}.efficiency-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.editor-panel{margin-top:16px}.expense-editor{margin-top:0}.compact-expense-editor .expense-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.additional-expense-grid{margin-top:17px}.expense-details{border-top:1px solid var(--border);margin-top:18px}.expense-details summary{color:var(--mint);align-items:center;width:max-content;min-height:44px;font-size:.86rem;font-weight:800;display:flex}.compact-expense-editor .field input,.compact-expense-editor .field select,.compact-expense-editor .field textarea,.compact-expense-editor .segmented-control button{min-height:44px}.compact-expense-editor .form-actions .primary-button{min-height:48px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.expense-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.amount-field input{font-size:1.03rem;font-weight:800}.entry-kind{gap:8px;margin-top:17px;display:grid}.segmented-control{flex-wrap:wrap;gap:5px;display:inline-flex}.segmented-control button{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:6px;align-items:center;gap:5px;min-height:34px;padding:6px 10px;font-size:.82rem;font-weight:750;display:inline-flex}.segmented-control button.active,.segmented-control button:hover{border-color:var(--mint);color:var(--ink);background:#e7f1ef}.fuel-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.records-section{margin-top:36px}.record-list{border-top:1px solid var(--border)}.expense-record{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:14px;min-height:80px;padding:12px 4px;display:grid}.record-main{gap:3px;min-width:0;display:grid}.record-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.record-category{color:var(--mint);font-size:.72rem;font-weight:800}.record-meta{color:var(--muted);font-size:.78rem;line-height:1.3}.record-amount{white-space:nowrap;font-size:.93rem}.record-actions{align-items:center;gap:6px;display:flex}.record-inline-error{color:var(--danger);grid-column:1/-1;font-size:.78rem;line-height:1.4}.empty-state{color:var(--muted);padding:18px 0;font-size:.9rem;line-height:1.5}.empty-state-with-action{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.empty-state-with-action .empty-state{padding-bottom:8px}.sheet-backdrop{z-index:50;background:#18312d7a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.quick-expense-sheet{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;max-width:680px;max-height:calc(100dvh - 32px);padding:22px;overflow-y:auto}.sheet-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.sheet-header h2{margin-top:4px;font-size:1.25rem}.sheet-header .icon-button{width:44px;height:44px}.mobile-add-expense{background:var(--accent);border:4px solid var(--page);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding:0;display:flex;position:absolute;top:-25px;left:50%;transform:translate(-50%)}.mobile-add-expense:hover{background:var(--accent-dark)}.receipt-payload-form{gap:13px;display:grid}.receipt-import-sheet{max-width:540px}.receipt-import-header{margin-bottom:18px}.receipt-import-heading{align-items:center;gap:10px;min-width:0;display:flex}.receipt-import-heading>div{min-width:0}.receipt-source-list,.receipt-capture-step{gap:10px;display:grid}.receipt-source-option{background:var(--surface);border:1px solid var(--border);color:var(--ink);font:inherit;text-align:left;border-radius:8px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:13px;width:100%;min-height:72px;padding:11px 13px;display:grid}.receipt-native-file-control{background:var(--surface);border:1px solid var(--mint);color:var(--muted);border-radius:8px;width:100%;min-height:58px;padding:6px;font-size:.82rem}.receipt-native-file-control::file-selector-button{background:var(--mint);color:#fff;font:inherit;border:0;border-radius:6px;min-height:44px;margin-right:10px;padding:0 14px;font-size:.9rem;font-weight:800}.receipt-source-option:hover,.receipt-source-option:focus-within,.receipt-source-option:focus-visible{border-color:var(--mint);background:#f7faf9}.receipt-source-icon{background:var(--surface-muted);color:var(--ink-soft);border-radius:8px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.receipt-source-option:first-child .receipt-source-icon{background:var(--accent);color:#fff}.receipt-source-copy{gap:3px;min-width:0;display:grid}.receipt-source-copy strong{font-size:1rem;line-height:1.2}.receipt-source-copy span{color:var(--muted);font-size:.82rem;line-height:1.3}.receipt-import-sheet .receipt-payload-form .primary-button{justify-self:stretch;width:100%}.receipt-reading-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:168px;display:flex}.camera-unavailable-state{background:var(--surface-muted);border:1px solid var(--border);color:var(--ink);text-align:center;border-radius:8px;place-items:center;gap:10px;min-height:210px;padding:24px;display:grid}.camera-unavailable-state>svg{color:var(--accent)}.camera-unavailable-state p{color:var(--muted);max-width:38ch;margin:0;line-height:1.45}.camera-https-link{width:min(100%,320px)}.scanner{gap:12px;display:grid}.camera-frame{background:var(--ink);color:#fff;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.camera-frame video{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.camera-frame>svg{position:absolute}.scan-corner{border-style:solid;border-color:#fff;width:38px;height:38px;position:absolute}.scan-corner.top-left{border-width:3px 0 0 3px;top:18%;left:17%}.scan-corner.top-right{border-width:3px 3px 0 0;top:18%;right:17%}.scan-corner.bottom-left{border-width:0 0 3px 3px;bottom:18%;left:17%}.scan-corner.bottom-right{border-width:0 3px 3px 0;bottom:18%;right:17%}.receipt-columns{grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);gap:22px;display:grid}.receipt-columns>:only-child{grid-column:1/-1}.receipt-columns .records-section{margin-top:34px}.receipt-list .receipt-record{border-bottom:1px solid var(--border)}.receipt-record button{text-align:left;background:0 0;border:0;gap:4px;width:100%;padding:13px 4px;display:grid}.receipt-record.selected button,.receipt-record button:hover{background:#e7f1ef}.receipt-record strong{font-size:.95rem}.receipt-review{align-self:start;margin-top:34px}.receipt-review>svg{color:var(--mint)}.receipt-review .primary-button{margin-top:18px}.reviewed-receipts{margin-top:32px}.compact-records{border-top:1px solid var(--border)}.compact-records li{border-bottom:1px solid var(--border);grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:9px;min-height:48px;padding:7px 4px;display:grid}.compact-records svg{color:var(--mint)}.compact-records span{color:var(--muted);font-size:.86rem}.compact-records strong{font-size:.86rem}.vehicle-form,.category-form,.pin-form{gap:16px;display:grid}.vehicle-form-grid{grid-template-columns:minmax(0,1.3fr) minmax(150px,.7fr)}.vehicle-list,.category-list{border-top:1px solid var(--border)}.vehicle-record,.category-record{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:14px;min-height:74px;padding:12px 4px;display:grid}.vehicle-record.archived{opacity:.66}.vehicle-summary,.category-summary{align-items:center;gap:11px;min-width:0;display:flex}.vehicle-icon{color:var(--blue);background:#e6ecfb;border-radius:7px;width:39px;height:39px}.vehicle-summary>div,.category-summary>div{gap:2px;min-width:0;display:grid}.vehicle-summary strong,.category-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.vehicle-summary span,.category-summary span{color:var(--muted);font-size:.78rem}.vehicle-edit,.category-edit{border-top:1px solid var(--border);background:#f7faf9;grid-column:1/-1;margin:2px -4px -12px;padding:17px 4px 12px}.compact-heading{align-items:center;margin-bottom:13px}.color-field input{cursor:pointer;min-height:42px;padding:3px}.category-form-grid{grid-template-columns:minmax(0,1fr) 94px minmax(150px,.75fr)}.category-swatch{color:#fff;border-radius:50%;width:32px;height:32px}.settings-grid,.settings-grid .editor-panel,.category-create-panel{margin-top:0}.export-actions{flex-wrap:wrap;gap:8px;display:flex}.mobile-navigation{display:none}.spinning{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1060px){.metrics-grid,.expense-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-columns{grid-template-columns:1fr}.receipt-review{margin-top:0}}@media (width<=760px){.auth-page{min-height:100svh;display:block;overflow-y:auto}.auth-art{display:none}.auth-panel{min-height:100svh;padding:24px 20px max(24px, env(safe-area-inset-bottom));justify-content:flex-start}.auth-panel .brand-mark{width:34px;height:34px}.auth-heading{margin:28px 0 18px}.profile-list{margin-bottom:18px}.profile-choice{min-height:54px;padding:9px 11px}.pin-area{margin-top:16px}.pin-dots{gap:10px;margin:11px 0 16px}.pin-dots span{width:11px;height:11px}.keypad{width:100%;max-width:none}.keypad-button{height:46px}.auth-panel>.primary-button{min-height:48px;margin-top:18px}.auth-panel>.text-button{margin-top:10px}.app-shell{display:block}.app-sidebar{display:none}.app-header{height:64px;padding:0 17px}.header-add-expense{display:none}.header-context img{width:46px;height:31px}.workspace{padding:28px 17px 126px}.app-notice{padding:9px 17px}.section-intro{align-items:flex-start;gap:12px;margin-bottom:22px}.section-intro-actions{flex-direction:column;align-items:flex-end;gap:8px}.section-intro-actions .secondary-button{min-height:44px}.auth-heading h1,.section-intro h1{font-size:1.67rem}.metrics-grid,.analysis-grid,.settings-grid,.efficiency-row{grid-template-columns:1fr}.metric-tile{min-height:94px}.form-grid,.expense-grid,.fuel-grid,.vehicle-form-grid,.category-form-grid{grid-template-columns:1fr}.field input,.field select,.field textarea,.segmented-control button{min-height:44px}.icon-button{width:44px;height:44px}.compact-expense-editor .expense-grid{grid-template-columns:1fr}.receipt-payload-form .primary-button{justify-self:stretch}.form-actions{justify-content:stretch}.form-actions .primary-button,.form-actions .secondary-button{flex:auto}.expense-record{grid-template-columns:minmax(0,1fr) max-content;gap:10px;padding:13px 0}.record-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}.section-heading-actions{justify-content:flex-end}.vehicle-record,.category-record{grid-template-columns:minmax(0,1fr) max-content}.mobile-navigation{border-top:1px solid var(--border);padding:31px 8px max(7px, env(safe-area-inset-bottom));z-index:20;background:#fff;display:block;position:fixed;bottom:0;left:0;right:0}.sheet-backdrop{align-items:flex-end;padding:12px 0 0}.quick-expense-sheet{max-height:calc(100dvh - 12px);padding:20px 17px max(20px, env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0}.compact-expense-editor .form-actions{background:var(--surface);padding:12px 17px max(20px, env(safe-area-inset-bottom));margin-left:-17px;margin-right:-17px;position:sticky;bottom:-20px}.compact-expense-editor .form-actions .primary-button{width:100%}.mobile-navigation .app-navigation{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;display:grid}.mobile-navigation .app-navigation a{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;gap:3px;min-height:46px;padding:4px 2px;font-size:.65rem}.mobile-navigation .app-navigation a.active{color:var(--ink);background:#e7f1ef}}@media (width<=760px) and (height<=740px){.auth-panel{padding-top:18px}.auth-heading{margin:20px 0 14px}.profile-list{margin-bottom:14px}.pin-area{margin-top:12px}.pin-dots{margin-bottom:13px}.keypad{gap:7px}.keypad-button{height:43px}.auth-panel>.primary-button{margin-top:15px}}@media (width<=430px){.header-context>div .eyebrow{font-size:.64rem}.header-context strong{font-size:.88rem}.sync-indicator span{display:none}.primary-button,.secondary-button{padding-left:11px;padding-right:11px}.trend-value{display:none}}
