@font-face{font-family:Heebo;src:url(/static/fonts/Heebo-Variable.woff2)format("woff2"),url(/static/fonts/Heebo-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--bg:#f3f5fc;--surface:#fff;--surface-2:#eef1fa;--surface-3:#e4e8f5;--line:#dde2f0;--line-strong:#c8cfe4;--text:#121633;--muted:#535a7a;--faint:#737a9a;--accent:#3549f2;--accent-fill:#3549f2;--accent-ink:#fff;--accent-soft:#e6e9ff;--accent-2:#b4570f;--ok:#17734a;--ok-bg:#e2f3ea;--warn:#7a4f00;--warn-bg:#fff2cc;--danger:#b02a2a;--danger-bg:#fde8e8;--info:#2c46a8;--info-bg:#e7ecfb;--neutral:#4a5070;--neutral-bg:#eceff6;--syn:#5b3c8c;--syn-bg:#efe8fa;--hero-a:#2a3bd6;--hero-b:#141a5c;--hero-c:#7896ff8c;--hero-d:#ffb06a47;--hero-ink:#fff;--hero-muted:#e8ecffcc;--page-glow:none;--radius:20px;--radius-sm:14px;--shadow:0 1px 2px #1216330d, 0 8px 24px #1216330f;--focus:0 0 0 2px #fff, 0 0 0 4px #3549f2;--ease:cubic-bezier(.2, .8, .2, 1);--pad:16px;--tabbar-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0d1f;--surface:#12162e;--surface-2:#181d3a;--surface-3:#1f2547;--line:#262c52;--line-strong:#343b6a;--text:#eef0fa;--muted:#a9aec9;--faint:#868caa;--accent:#6b8bff;--accent-fill:#3d5cff;--accent-ink:#fff;--accent-soft:#1c2560;--accent-2:#ffb06a;--ok:#6fdc8c;--ok-bg:#16303a;--warn:#f3c86a;--warn-bg:#33290f;--danger:#ff9a8f;--danger-bg:#3a1a26;--info:#a9bcff;--info-bg:#1a2350;--neutral:#c5cae0;--neutral-bg:#222849;--syn:#d4c1f8;--syn-bg:#2a2150;--hero-a:#1d2a8c;--hero-b:#0d1236;--hero-c:#5474ff8c;--hero-d:#ffb06a29;--hero-ink:#fff;--hero-muted:#e2e6ffbd;--page-glow:radial-gradient(900px 420px at 90% -8%, #4d6cff1f, transparent 60%), radial-gradient(700px 360px at 0% 110%, #ffb06a0d, transparent 60%);--shadow:0 1px 0 #ffffff0a inset, 0 12px 32px #02041480;--focus:0 0 0 2px #0a0d1f, 0 0 0 4px #6b8bff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background:var(--page-glow), var(--bg);background-attachment:fixed}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--text);background:var(--bg);padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);-webkit-tap-highlight-color:transparent;margin:0;font-family:Heebo,Noto Sans Hebrew,Arial Hebrew,Segoe UI,Arial,system-ui,sans-serif;font-size:16px;line-height:1.5}body.mode-confirm .tabbar{display:none}a{color:var(--accent)}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.5rem;font-weight:700}p{margin:0}.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden;position:absolute!important}:focus-visible{box-shadow:var(--focus);border-radius:8px;outline:none}[hidden]{display:none!important}.skip-link{inset-inline-start:8px;background:var(--accent-fill);color:var(--accent-ink);z-index:100;border-radius:8px;padding:8px 12px;position:absolute;top:-60px}.skip-link:focus{top:8px}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.topbar-inner{align-items:center;gap:12px;max-width:1180px;margin:0 auto;padding:10px 16px;display:flex}.app-title{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.app-title img{border-radius:6px}.hh-picker{min-width:0;margin-inline-start:auto}.hh-picker select{max-width:52vw;min-height:40px;padding-block:6px;font-size:.875rem}.hh-banner{max-width:1180px;margin:0 auto;padding:6px 16px 8px;font-size:.85rem;font-weight:500}.hh-banner.tone-synthetic{color:var(--syn);background:var(--syn-bg);text-align:center;max-width:none}.hh-banner.tone-sample{color:var(--info);background:var(--info-bg);text-align:center;max-width:none}.view{outline:none;flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:16px;display:flex}body[data-route=home].mode-confirm .view{max-width:1180px}.page-head{align-items:flex-start;gap:10px;display:flex}.page-head-text{flex-direction:column;gap:2px;min-width:0;display:flex}.page-head-text h1:focus{box-shadow:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:420px){.grid-2{grid-template-columns:1fr}}.tabbar{inset-inline:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--safe-b);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0}.tabbar a{min-height:var(--tabbar-h);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.8rem;font-weight:500;text-decoration:none;display:flex}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;block-size:24px;inline-size:24px}.tabbar a[aria-current=page] svg{stroke-width:2.3px}@media (min-width:900px){.tabbar{inset-inline:50%;border:1px solid var(--line);border-radius:16px;inline-size:560px;padding-bottom:0;bottom:12px;transform:translate(50%);box-shadow:0 6px 24px #0000001f}.tabbar a{flex-direction:row;gap:8px;min-height:52px;font-size:.95rem}}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:20px;inline-size:20px}.icon-sm{stroke-width:2.4px;block-size:15px;inline-size:15px}.icon-lg{stroke-width:1.6px;block-size:36px;inline-size:36px}.btn{min-height:48px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:background .15s,transform 50ms;display:inline-flex}.btn-block{inline-size:100%}.btn-primary{background:var(--accent-fill);color:var(--accent-ink)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--line)}.btn-ghost{color:var(--text);border-color:var(--line);background:0 0}.btn-danger{background:var(--danger);color:#fff}.btn-danger-ghost{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:0 0}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.icon-btn{border:1px solid var(--line);background:var(--surface);block-size:44px;inline-size:44px;color:var(--text);cursor:pointer;border-radius:12px;flex:none;place-items:center;text-decoration:none;display:inline-grid}.icon-btn.sm{border-radius:10px;block-size:36px;inline-size:36px}.icon-btn.danger{color:var(--danger)}.icon-btn[disabled]{opacity:.35;cursor:default}.link-btn{color:var(--accent);font:inherit;cursor:pointer;text-align:start;background:0 0;border:none;min-height:32px;padding:4px 0;font-weight:600;text-decoration:underline}.chip{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.875rem}.chip[aria-pressed=true]{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-ink);font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}input[type=text],input[type=date],input:not([type]),select{inline-size:100%;min-height:46px;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}input.num{text-align:right;font-variant-numeric:tabular-nums}input.mono{text-align:right}input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-bg)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>label{color:var(--muted);font-size:.85rem;font-weight:600}.was{color:var(--info);font-weight:500}.was:before{content:"↺ "}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;min-height:26px;padding:2px 9px;font-size:.8rem;font-weight:600;display:inline-flex}.badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tone-ok.badge{color:var(--ok);background:var(--ok-bg)}.tone-warn.badge{color:var(--warn);background:var(--warn-bg)}.tone-danger.badge{color:var(--danger);background:var(--danger-bg)}.tone-info.badge{color:var(--info);background:var(--info-bg)}.tone-neutral.badge{color:var(--neutral);background:var(--neutral-bg)}.tone-synthetic.badge{color:var(--syn);background:var(--syn-bg)}.badge.match-not_found{background:0 0;border-style:dashed;border-color:currentColor}.badge.match-unresolved{background:0 0;border-style:dotted;border-color:currentColor}.notice{border-radius:var(--radius);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.95rem;display:flex}.notice>div{flex-direction:column;gap:2px;display:flex}.notice.tone-info{background:var(--info-bg);color:var(--text)}.notice.tone-info>.icon{color:var(--info)}.notice.tone-ok{background:var(--ok-bg)}.notice.tone-ok>.icon{color:var(--ok)}.notice.tone-warn{background:var(--warn-bg)}.notice.tone-warn>.icon{color:var(--warn)}.notice.tone-synthetic{background:var(--syn-bg);color:var(--syn);font-weight:500}.state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.state-empty{border:1.5px dashed var(--line);border-radius:var(--radius);color:var(--muted)}.state-empty h2{color:var(--text)}.state-error h2{color:var(--danger)}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;block-size:28px;inline-size:28px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-progress .pulse{color:var(--accent);animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45;transform:scale(.94)}}.steps{text-align:start;flex-direction:column;align-self:stretch;gap:8px;max-width:340px;margin:4px 0;margin-inline:auto;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);padding-inline-start:30px;position:relative}.steps li:before{content:"";inset-inline-start:4px;border:2px solid var(--line);border-radius:50%;block-size:14px;inline-size:14px;position:absolute;top:5px}.steps li.done{color:var(--text)}.steps li.done:before{background:var(--accent-fill);border-color:var(--accent-fill)}.steps li.active{color:var(--text);font-weight:600}.steps li.active:before{border-color:var(--accent);border-top-color:#0000;animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}.upload-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.upload-actions .btn{white-space:nowrap;padding-inline:10px;font-size:1rem}@media (max-width:360px){.upload-actions{grid-template-columns:1fr}}.photo-strip{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.photo-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);aspect-ratio:3/4;position:relative;overflow:hidden}.photo-item img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.photo-ph{block-size:100%;color:var(--muted);text-align:center;place-items:center;padding:6px;font-size:.8rem;display:grid}.photo-num{top:6px;background:var(--accent-fill);color:var(--accent-ink);text-align:center;border-radius:999px;min-inline-size:24px;padding:1px 6px;font-size:.8rem;font-weight:700;position:absolute;inset-inline-start:6px}.photo-actions{inset-inline:0;background:linear-gradient(#0000,#00000073);justify-content:space-between;gap:2px;padding:4px;display:flex;position:absolute;bottom:0}.photo-actions .icon-btn{color:#121633;background:#ffffffeb;border:none;block-size:32px;inline-size:32px}.receipt-sections{flex-direction:column;gap:18px;display:flex}.receipt-group{flex-direction:column;gap:8px;display:flex}.group-title .count{font-weight:500}.receipt-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.receipt-row{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);min-height:64px;color:var(--text);box-shadow:var(--shadow);align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.receipt-row:hover{border-color:var(--accent)}.receipt-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.receipt-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.receipt-row-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:600px){.summary-grid{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat-label{color:var(--muted);font-size:.8rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.kv{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:.92rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}.kv.compact{font-size:.875rem}.line-list,.item-list,.fact-list,.forecast-list,.bar-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.line-row,.item-row{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.line-row:first-child,.item-row:first-child{border-top:none}.line-row-main,.item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.line-name{overflow-wrap:anywhere;font-weight:600}.line-row.is-uncertain .line-name{color:var(--muted)}.line-row.is-uncertain .amount{color:var(--muted);-webkit-text-decoration:line-through dotted;text-decoration:line-through dotted}.fact-list li{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 0;display:flex}.fact-list li:first-child{border-top:none}.sources{font-size:.82rem}.sources a{font-weight:600}.bar-list li{flex-direction:column;gap:4px;padding:8px 0;display:flex}.bar-row{justify-content:space-between;gap:8px;display:flex}.bar-track{background:var(--surface-2);border-radius:999px;block-size:8px;overflow:hidden}.bar-fill{background:var(--accent);border-radius:999px;block-size:100%}.forecast-row{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 0;display:flex}.forecast-row:first-child{border-top:none}.forecast-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.row-actions{flex-wrap:wrap;gap:10px;display:flex}details>summary{cursor:pointer;align-items:center;min-height:32px;font-weight:600;display:flex}.image-stack{flex-direction:column;gap:8px;display:flex}.image-stack img{border-radius:var(--radius-sm);inline-size:100%}.log ul{margin:6px 0 0;padding-inline-start:18px}body.mode-confirm .view{max-width:1180px}.confirm-layout{grid-template-columns:1fr;gap:14px;display:grid}.confirm-images{flex-direction:column;gap:6px;display:flex}.image-tools{justify-content:space-between;align-items:center;gap:8px;display:flex}.confirm-images.is-collapsed .image-scroll,.confirm-images.is-collapsed .image-note{display:none}.image-scroll{border-radius:var(--radius);border:1px solid var(--line);overscroll-behavior:contain;background:#1a1e3a;flex-direction:column;gap:4px;max-block-size:34vh;display:flex;overflow:auto}.image-btn{cursor:zoom-in;background:0 0;border:none;padding:0;display:block}.image-btn img{inline-size:100%;display:block}.confirm-images.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:10px}@media (min-width:960px){.confirm-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start}.confirm-images{order:2;position:sticky;top:76px}.image-scroll{max-block-size:calc(100vh - 300px)}.confirm-edit{order:1}}.confirm-edit{flex-direction:column;gap:14px;min-width:0;display:flex}.line-toolbar{flex-direction:column;gap:6px;display:flex}.toolbar-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.match-legend{flex-wrap:wrap;gap:4px 12px;display:flex}.line-cards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.line-card{background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.line-card.conf-low{border-inline-start-color:var(--danger)}.line-card.conf-high{border-inline-start-color:var(--ok)}.line-card.conf-manual{border-inline-start-color:var(--info)}.line-card.is-verified{background:color-mix(in srgb, var(--ok-bg) 45%, var(--surface));border-color:color-mix(in srgb, var(--ok) 40%, var(--line))}.line-card.is-removed{box-shadow:none;color:var(--muted);background:0 0;border-style:dashed;padding:10px 14px}.line-head{align-items:center;gap:10px;display:flex}.line-head .badges{flex:1}.line-idx{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;block-size:30px;min-inline-size:30px;font-weight:700;display:inline-grid}.grid-line{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-line>.span-all{grid-column:1/-1}@media (min-width:640px){.grid-line{grid-template-columns:repeat(4,1fr)}.grid-line>.span-all,.grid-line>.span-all:first-child{grid-column:span 2}}.add-disc-wrap{justify-content:flex-end}.add-disc{min-height:46px;inline-size:100%;color:var(--muted);border-style:dashed;font-weight:500}.line-body{flex-direction:column;gap:10px;display:flex}.line-summary{align-items:center;gap:12px;display:flex}.line-summary-text{flex-direction:column;flex:1;min-width:0;display:flex}.line-card.is-collapsed{gap:6px;padding-block:10px}.qty-wrap{grid-template-columns:1fr 76px;gap:6px;display:grid}.qty-wrap select{padding-inline:6px}.consistency{color:var(--warn);background:var(--warn-bg);border-radius:8px;padding:6px 10px}.reasons{margin:0}.match-box{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.match-box.match-name_conflict{background:var(--warn-bg)}.match-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.file-prices{margin:0;padding:0;font-size:.875rem;list-style:none}.verify-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.verify{cursor:pointer;align-items:center;gap:10px;min-height:48px;padding-inline-end:6px;font-weight:650;display:inline-flex;position:relative}.verify input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.verify-box{border:2px solid var(--muted);background:var(--surface);color:#0000;border-radius:9px;place-items:center;block-size:30px;inline-size:30px;display:inline-grid}.verify input:checked+.verify-box{background:var(--ok);border-color:var(--ok);color:var(--bg)}.verify input:focus-visible+.verify-box{box-shadow:var(--focus)}.verify-box .icon{stroke-width:3px}.changes-panel ul{flex-direction:column;gap:2px;margin:6px 0 0;padding-inline-start:18px;display:flex}.raw-panel pre{white-space:pre-wrap;background:var(--surface-2);border-radius:8px;max-block-size:300px;margin:8px 0 0;padding:10px;font-size:.8rem;overflow:auto}.save-bar{inset-inline:0;z-index:40;background:var(--surface);border-top:3px solid var(--line);padding:8px 14px calc(8px + var(--safe-b));position:fixed;bottom:0;box-shadow:0 -6px 18px #00000014}.save-bar.is-ok{border-top-color:var(--ok)}.save-bar.is-blocked{border-top-color:var(--danger)}.bar-inner{flex-direction:column;gap:4px;max-width:1180px;margin:0 auto;display:flex}.bar-sums{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.bar-cell{flex-direction:column;display:flex}.bar-label{color:var(--muted);font-size:.75rem}.bar-value{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.save-bar.is-blocked .bar-cell:last-child .bar-value{color:var(--danger)}.save-bar.is-ok .bar-cell:last-child .bar-value{color:var(--ok)}.bar-msg{min-block-size:1.3em;font-size:.88rem}.bar-msg .block-msg{color:var(--danger);flex-wrap:wrap;align-items:flex-start;gap:6px;display:inline-flex}.bar-msg .ok-msg{color:var(--ok);align-items:flex-start;gap:6px;display:inline-flex}.bar-msg .icon{margin-top:3px}.bar-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.bar-metas{color:var(--muted);flex-wrap:wrap;gap:2px 12px;font-size:.78rem;display:flex}.save-btn{white-space:nowrap;min-inline-size:150px;min-height:46px}.save-bar.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.dialog{background:var(--surface);max-inline-size:min(440px,100vw - 24px);color:var(--text);border:none;border-radius:18px;padding:0;box-shadow:0 20px 60px #0000004d}.dialog::backdrop{background:#06081899}.dialog-body{flex-direction:column;gap:10px;padding:20px;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.dialog.is-viewer{color:#fff;background:#111;border-radius:0;block-size:100vh;max-block-size:100vh;inline-size:100vw;max-inline-size:100vw;margin:0}.viewer{flex-direction:column;block-size:100%;display:flex}.viewer-bar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));align-items:center;gap:10px;display:flex}.viewer-bar h2{flex:1;font-size:1rem}.viewer-scroll{flex:1;overflow:auto}.viewer-img{inline-size:100%;display:block}.viewer-img.zoomed{inline-size:220%;max-inline-size:none}.toast{inset-inline:16px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 12px);z-index:60;color:#fff;opacity:0;pointer-events:none;background:#1b2048;border-radius:12px;max-width:520px;margin:0 auto;padding:12px 16px;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;transform:translateY(10px);box-shadow:0 8px 24px #0000004d}.toast.show{opacity:1;transform:none}.toast.tone-danger{background:var(--danger)}.toast.tone-ok{background:#17734a}.toast.tone-warn{background:#7a4f00}body.mode-confirm .toast{bottom:calc(200px + var(--safe-b))}.noscript{padding:20px}html{scroll-padding-top:90px;scroll-padding-bottom:24px}.topbar-inner{flex-wrap:wrap;row-gap:8px}.theme-switch{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;gap:2px;margin-inline-start:auto;padding:3px;display:inline-flex}.theme-btn{min-width:44px;min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:.875rem;font-weight:600;display:inline-flex}.theme-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:18px;inline-size:18px}.theme-btn[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1.5px var(--accent) inset}.theme-btn[aria-pressed=true] svg{color:var(--accent)}.hh-picker{align-items:center;gap:8px;margin-inline-start:0;display:flex}.hh-label{color:var(--muted);white-space:nowrap;font-size:.8rem}.hh-picker select{max-width:280px}@media (max-width:640px){.hh-picker{flex-basis:100%;order:3}.hh-picker select{flex:1;max-width:none}}.tabbar{grid-template-columns:repeat(5,1fr)}.tabbar a{font-size:.78rem}@media (min-width:900px){.tabbar{inline-size:680px}}.dash-hero{flex-direction:column;gap:4px;display:flex}.dash-hero .date{color:var(--muted);font-size:.9rem}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attention h2{align-items:center;gap:8px;display:flex}.attention h2 .icon{color:var(--warn)}.draft-links{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.draft-link{background:var(--surface-2);min-height:52px;color:var(--text);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.draft-link:hover{border-color:var(--accent)}.draft-link .go{color:var(--accent);white-space:nowrap;font-size:.9rem;font-weight:650}.kpis{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (min-width:700px){.kpis{grid-template-columns:repeat(4,1fr)}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:14px;display:flex}.kpi-label{color:var(--muted);font-size:.8rem;font-weight:500}.kpi-value{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.45rem;font-weight:750}.kpi-note{color:var(--muted);font-size:.78rem}.meter{background:var(--surface-2);border-radius:999px;block-size:6px;margin-top:4px;overflow:hidden}.meter>span{background:var(--ok);border-radius:999px;block-size:100%;display:block}.section-head a{white-space:nowrap;font-size:.9rem;font-weight:600}.rec-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rec{border:1px solid var(--line);border-inline-start:4px solid var(--accent);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.rec.rec-overdue{border-inline-start-color:var(--warn)}.rec.rec-quality{border-inline-start-color:var(--info)}.rec-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rec-when{font-weight:650}.rec-method{color:var(--muted);font-size:.82rem}.rank-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rank-list li{flex-direction:column;gap:4px;display:flex}.reason-chips{flex-wrap:wrap;gap:6px;display:flex}.empty-steps{flex-direction:column;gap:6px;margin:0;padding-inline-start:20px;display:flex}.dash-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:960px){body[data-route=home] .view{max-width:1100px}.dash-grid{grid-template-columns:1fr 1fr;align-items:start}}body{letter-spacing:0;font-feature-settings:"tnum" 0;font-size:15.5px;line-height:1.5}h1{letter-spacing:-.01em;font-size:1.6rem;font-weight:750}h2{font-size:1.06rem;font-weight:700}h3{font-size:.95rem;font-weight:650}.muted{color:var(--muted)}.view{padding:14px max(var(--pad), env(safe-area-inset-right)) 14px max(var(--pad), env(safe-area-inset-left));gap:14px}.card{border-radius:var(--radius);border-color:var(--line);gap:12px;padding:16px}.page-head{align-items:center}.page-head-text p{font-size:.9rem}.topbar{background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(140%)blur(12px);border-bottom-color:var(--line)}.topbar-inner{padding:8px max(14px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left));gap:10px}.app-title{gap:8px;font-size:1rem}.theme-switch{border-radius:11px;padding:2px}.theme-btn{border-radius:9px;min-height:34px;padding:0 10px;font-size:.82rem}.hh-picker select{background:var(--surface-2);border-color:var(--line);border-radius:10px;min-height:36px;padding:4px 10px;font-size:.85rem}.hh-banner{justify-content:center;max-width:1180px;margin:0 auto;padding:0 14px 8px;display:flex;background:0 0!important}.hh-banner.tone-synthetic,.hh-banner.tone-sample{background:0 0}.hh-banner:before{content:"";background:currentColor;border-radius:50%;align-self:center;block-size:7px;inline-size:7px;margin-inline-end:8px}.hh-banner{text-align:center;font-size:.78rem;font-weight:600}.btn{letter-spacing:0;border-radius:13px;min-height:48px;font-weight:650}.btn-lg{min-height:54px;font-size:1rem}.btn-sm{border-radius:10px;min-height:38px;padding:6px 12px;font-size:.86rem}.btn-primary{box-shadow:0 1px 0 #ffffff26 inset, 0 6px 16px color-mix(in srgb, var(--accent) 28%, transparent)}.btn-secondary{background:var(--surface-2);border-color:var(--line-strong)}.btn-ghost{border-color:var(--line-strong)}.icon-btn{border-color:var(--line-strong);background:var(--surface-2)}.badge{min-height:24px;padding:1px 9px;font-size:.76rem;font-weight:650}.badges{gap:5px}.tabbar{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top-color:var(--line);padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.tabbar a{min-height:58px;color:var(--faint);gap:3px;font-size:.74rem;position:relative}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar a[aria-current=page]:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;block-size:3px;inline-size:28px;position:absolute;top:0}body{padding-bottom:calc(58px + var(--safe-b) + 20px)}.date-chip{white-space:nowrap}.date-chips{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.date-chips .date-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:0 7px;font-size:.84rem}.dash-hero h1{font-size:1.75rem}.quick-actions .btn{min-height:52px}.kpis{gap:10px}.kpi{border-radius:14px;gap:2px;padding:14px 14px 12px}.kpi-label{letter-spacing:.01em;font-size:.78rem}.kpi-value{font-size:1.4rem;line-height:1.2}.kpi-note{margin-top:2px;font-size:.74rem;line-height:1.35}.rec{background:var(--surface-2);border-color:var(--line);border-radius:13px;padding:12px 14px}.rec .line-name{font-size:1rem}.rec-when{font-size:.92rem}.attention{background:color-mix(in srgb, var(--warn-bg) 55%, var(--surface))}.group-title{color:var(--muted);letter-spacing:.02em;margin-top:4px;font-size:.82rem;font-weight:700}.bar-track{block-size:7px}.section-head h2{font-size:1.06rem}.receipt-row{border-radius:14px;gap:10px;min-height:68px;padding:12px 14px}.receipt-title{font-size:.98rem}.receipt-row-side{gap:5px}.amount{font-size:.98rem}.upload-card h2{font-size:1.1rem}.confirm-images .image-scroll{background:#0b0e22;border-radius:14px;max-block-size:30vh}.header-card,.header-card .grid-2{gap:10px}.header-card input{min-height:44px}.line-toolbar h2{font-size:1.06rem}.match-legend{gap:6px 10px}.line-cards{gap:8px}.line-card{border-inline-start-width:4px;border-radius:14px;gap:0;padding:0;overflow:hidden}.line-card.conf-medium{border-inline-start-color:#d9a21b}.line-card.is-verified{background:var(--surface);border-color:var(--line);border-inline-start-color:var(--ok)}.line-top{align-items:stretch;display:flex}.line-toggle{min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;flex:1;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px 12px 12px 6px;display:grid}.line-toggle:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:12px}.line-toggle .line-idx{background:var(--surface-3);block-size:26px;min-inline-size:26px;color:var(--muted);border-radius:8px;margin-top:1px;font-size:.8rem}.line-sum-text{flex-direction:column;gap:3px;min-width:0;display:flex}.line-sum-text .line-name{font-size:.98rem;line-height:1.3}.line-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.line-toggle .amount{padding-top:1px;font-size:1rem}.line-toggle .amount.is-missing{color:var(--danger);font-size:.82rem}.line-toggle:after{content:"";display:none}.verify-pill{border-inline-start:1px solid var(--line);cursor:pointer;min-inline-size:64px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px;font-size:.72rem;font-weight:700;display:flex;position:relative}.verify-pill input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.verify-pill .verify-box{border:2px solid var(--line-strong);background:var(--surface);color:#0000;border-radius:50%;place-items:center;block-size:32px;inline-size:32px;transition:background .15s,border-color .15s;display:grid}.verify-pill input:checked+.verify-box{background:var(--ok);border-color:var(--ok);color:var(--bg)}:root[data-theme=light] .verify-pill input:checked+.verify-box{color:#fff}.verify-pill input:checked~.verify-text{color:var(--ok)}.verify-pill input:focus-visible+.verify-box{box-shadow:var(--focus)}.line-body{border-top:1px dashed var(--line);gap:12px;padding:12px 14px 14px}.line-actions{border-top:1px solid var(--line);align-items:center;gap:8px;padding-top:10px;display:flex}.line-actions .spacer{flex:1}.link-box{flex-direction:column;gap:4px;display:flex}.match-box{border-radius:10px;padding:10px 12px}.field>label{font-size:.78rem}input[type=text],input[type=date],input:not([type]),select{background:var(--surface-2);border-color:var(--line-strong);border-radius:11px;min-height:44px;font-size:1rem}:root[data-theme=light] input[type=text],:root[data-theme=light] input[type=date],:root[data-theme=light] select{background:#fff}.add-disc{min-height:44px}body.mode-confirm{padding-bottom:calc(150px + var(--safe-b))}html:has(body.mode-confirm){scroll-padding-bottom:170px}.save-bar{border-top:1px solid var(--line);padding:0 max(14px, env(safe-area-inset-right)) calc(10px + var(--safe-b)) max(14px, env(safe-area-inset-left));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);box-shadow:0 -10px 30px #0000002e}.save-bar.is-ok,.save-bar.is-blocked{border-top-color:var(--line)}.bar-progress{background:var(--surface-3);block-size:3px;margin:0 calc(-1 * max(14px, env(safe-area-inset-right))) 10px}.bar-progress>span{background:var(--ok);block-size:100%;inline-size:0;transition:inline-size .25s;display:block}.bar-inner{flex-direction:row;align-items:center;gap:12px}.bar-status{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.status-pill{font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 10px;font-size:.92rem;font-weight:750;display:inline-flex}.save-bar.is-ok .status-pill{color:var(--ok);background:var(--ok-bg)}.save-bar.is-blocked .status-pill{color:var(--danger);background:var(--danger-bg)}.pill-icon{display:inline-flex}.bar-sums{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;display:block;overflow:hidden}.bar-sums bdi{color:var(--text);font-weight:650}.bar-metas{color:var(--faint);gap:10px;font-size:.74rem;display:flex}.bar-msg{max-width:1180px;min-block-size:0;margin:6px auto 0;font-size:.8rem;line-height:1.35}.bar-msg .block-msg{color:var(--danger);display:block}.bar-msg .ok-msg{color:var(--muted);display:block}.save-btn{min-inline-size:0;border-radius:14px;min-height:50px;padding-inline:16px}.save-btn[aria-disabled=true]{opacity:1;background:var(--surface-3);color:var(--faint);box-shadow:none;border:1px solid var(--line-strong)}.save-btn[aria-disabled=true] .icon{opacity:.6}.measure-card{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;flex-direction:column;gap:10px;padding:12px;display:flex}.measure-card.is-latest{border-color:color-mix(in srgb, var(--ok) 35%, var(--line))}.measure-card .stat{background:var(--surface)}.measure-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.measure-head h3{font-size:.95rem}.measure-head .muted{margin-inline-start:auto}.older-passes{flex-direction:column;gap:8px;display:flex}.older-passes[open]>.measure-card{margin-top:8px}.stack-sm{flex-direction:column;gap:8px;display:flex}.stat{border-radius:11px;padding:9px 11px}.stat-value{font-size:1.08rem}.kv{gap:5px 14px;font-size:.88rem}.line-row{align-items:flex-start;gap:10px}.line-row>.line-idx{background:var(--surface-3);block-size:24px;min-inline-size:24px;color:var(--muted);border-radius:7px;flex:none;place-items:center;font-size:.76rem;font-weight:700;display:inline-grid}.line-row-main{flex:1}.notice{border-radius:13px;padding:10px 12px;font-size:.9rem}.notice.tone-info{background:color-mix(in srgb, var(--info-bg) 75%, var(--surface))}.dialog{border:1px solid var(--line);border-radius:20px}.dialog-body h2{font-size:1.15rem}.dialog-body p{color:var(--muted);font-size:.95rem}.dialog-actions .btn{flex:1}.rec-top .rec-date{flex:none;font-size:.9rem;font-weight:700}.rec-when{color:var(--muted);font-size:.86rem;font-weight:600}.rec.rec-overdue .rec-when{color:var(--warn)}@media (max-width:640px){.hh-label{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes grow{0%{inline-size:0}to{inline-size:var(--w,0%)}}@keyframes drift{0%{transform:translate(0)scale(1)}50%{transform:translate(-18px,10px)scale(1.08)}to{transform:translate(0)scale(1)}}.reveal{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms)}.bar-fill.grow{inline-size:var(--w,0%);animation:grow .8s var(--ease) both;animation-delay:.2s}a,button,.card,.quick,.fc-card,.receipt-row{-webkit-tap-highlight-color:transparent}.btn,.quick,.fc-card,.receipt-row,.draft-link,.line-toggle,.chip,.theme-btn,.icon-btn{transition:transform .16s var(--ease), background-color .16s, border-color .16s, box-shadow .16s, color .16s}.btn:active,.quick:active,.fc-card:active,.receipt-row:active,.draft-link:active,.chip:active,.icon-btn:active{transform:scale(.97)}@media (hover:hover){.receipt-row:hover,.fc-card:hover,.draft-link:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));transform:translateY(-2px)}.quick:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}@media (prefers-reduced-motion:reduce){.reveal,.bar-fill.grow,.hero-glow{animation:none!important}.btn:active,.quick:active,.fc-card:active,.receipt-row:active{transform:none}}.money-hero,.money-md,.money-big{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em}.money-hero{color:var(--hero-ink);margin:2px 0 4px;font-size:3rem;font-weight:800;line-height:1.05;display:block}.money-hero .m-dec{opacity:.85;font-size:.5em;font-weight:700}.money-hero .m-cur{opacity:.75;font-size:.45em;font-weight:600}.money-md{font-size:1.05rem;font-weight:750}.money-md .m-dec{color:var(--muted);font-size:.78em;font-weight:650}.money-md .m-cur{color:var(--muted);font-size:.78em;font-weight:600}.hero{isolation:isolate;color:var(--hero-ink);background:linear-gradient(155deg, var(--hero-a) 0%, var(--hero-b) 100%);border-radius:26px;flex-direction:column;gap:2px;padding:18px 18px 16px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000047}.hero-glow{z-index:-1;background:radial-gradient(circle at 40% 40%, var(--hero-c), transparent 70%);filter:blur(4px);border-radius:50%;block-size:260px;inline-size:260px;animation:14s ease-in-out infinite drift;position:absolute;inset:-40% -30% auto auto}.hero:after{content:"";z-index:-1;background:radial-gradient(circle, var(--hero-d), transparent 70%);border-radius:50%;block-size:200px;inline-size:200px;position:absolute;inset:auto auto -60px -50px}.hero-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.hero-greet{color:var(--hero-muted);font-size:.9rem;font-weight:500}.hero-title{color:var(--hero-ink);letter-spacing:-.01em;font-size:1.9rem;font-weight:800}.hero-title:focus{box-shadow:none}.hero-date{color:var(--hero-muted);white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff24;border-radius:999px;margin-top:4px;padding:4px 10px;font-size:.78rem}.hero-label{color:var(--hero-muted);font-size:.84rem;font-weight:500}.hero-empty{color:var(--hero-ink);max-width:32ch;font-size:1.05rem;font-weight:600}.hero-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.hero-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff17;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:1px;padding:9px 10px;display:flex}.hero-stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.02rem;font-weight:750}.hero-stat-label{color:var(--hero-muted);font-size:.72rem}.hero .badge{align-self:flex-start;margin-top:10px}.quick-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick{background:var(--surface);border:1px solid var(--line);min-height:78px;color:var(--text);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 4px;font-size:.8rem;font-weight:650;text-decoration:none;display:flex;position:relative}.quick-ic{background:var(--surface-3);block-size:38px;inline-size:38px;color:var(--accent);border-radius:13px;place-items:center;display:grid}.quick-ic .icon{block-size:20px;inline-size:20px}.quick-primary{background:var(--accent-fill);color:var(--accent-ink);box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 30%, transparent);border-color:#0000}.quick-primary .quick-ic{color:var(--accent-ink);background:#ffffff29}:root[data-theme=light] .quick-primary{color:#fff}:root[data-theme=light] .quick-primary .quick-ic{color:#fff;background:#ffffff2e}.quick-count{top:8px;background:var(--accent-2);color:#1d1206;border-radius:999px;place-items:center;block-size:20px;min-inline-size:20px;padding:0 6px;font-size:.72rem;font-weight:800;display:grid;position:absolute;inset-inline-end:10px}.block{flex-direction:column;gap:10px;display:flex}.section-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.section-head h2{letter-spacing:-.005em;font-size:1.15rem;font-weight:750}.card.soft{background:var(--surface-2);box-shadow:none}.not-enough{gap:8px}.disclaimer{color:var(--faint);border-top:none;padding-top:0;font-size:.76rem}.foot-note{color:var(--faint);text-align:center;padding:4px 8px 8px;font-size:.76rem}.foot-note a{color:var(--muted)}.carousel{margin:0 calc(-1 * var(--pad));padding:2px var(--pad) 8px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:78%;grid-auto-flow:column;gap:10px;list-style:none;display:grid;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}@media (min-width:640px){.carousel{grid-auto-columns:280px}}.fc-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:6px;min-height:180px;padding:14px;display:flex}.fc-when{border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:.74rem;font-weight:750}.fc-when.tone-ok{color:var(--ok);background:var(--ok-bg)}.fc-when.tone-warn{color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 16%, transparent)}.fc-name{font-size:1.08rem;font-weight:750;line-height:1.25}.fc-date{font-size:.86rem}.fc-date .date-chip{font-weight:700}.fc-dots{align-items:center;gap:6px;margin:4px 0;display:flex}.fc-dots .dot{background:var(--accent);opacity:.85;border-radius:50%;block-size:9px;inline-size:9px}.fc-dots .dot+.dot{position:relative}.fc-dots .dot-next{border:2px dashed var(--accent-2);background:0 0;block-size:11px;inline-size:11px}.fc-method{font-size:.78rem}.fc-card .sources{margin-top:auto}.rec{background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--info);border-radius:16px;padding:12px 14px}.money-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.money-list li{flex-direction:column;gap:6px;display:flex}.money-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.money-name{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-weight:600;display:inline-flex}.money-val{align-items:baseline;gap:8px;display:inline-flex}.pct{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 7px;font-size:.76rem;font-weight:650}.rank{background:var(--surface-3);block-size:22px;inline-size:22px;color:var(--muted);border-radius:7px;flex:none;place-items:center;font-size:.74rem;font-weight:800;display:inline-grid}.bar-track{background:var(--surface-3);border-radius:999px;block-size:8px}.bar-track.thin{block-size:5px}.bar-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 55%, transparent), var(--accent))}.chip-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.repeat-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.86rem;font-weight:600;display:inline-flex}.repeat-n{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:800}.mini-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mini-stat{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:2px;padding:10px;display:flex}.mini-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.mini-label{color:var(--muted);font-size:.72rem}.steps-big{flex-direction:column;gap:10px;margin:0;padding-inline-start:22px;display:flex}.attention{border-color:color-mix(in srgb, var(--accent-2) 40%, var(--line));background:linear-gradient(160deg, color-mix(in srgb, var(--accent-2) 12%, var(--surface)), var(--surface) 70%)}.draft-link .go{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:750}:root[data-theme=light] .draft-link .go{color:#fff}.card{border-radius:var(--radius);gap:14px}@media (min-width:960px){body[data-route=home] .view{max-width:1040px}.quick-row{grid-template-columns:repeat(4,minmax(0,180px))}.money-hero{font-size:3.6rem}}.receipt-row{border-radius:18px}.upload-card{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface) 65%);border-radius:22px}.page-head-text h1{font-size:1.7rem;font-weight:800}.line-card{border-radius:16px}.status-pill{font-size:.95rem}.hero-compact{padding:16px}.hero-compact .money-hero{font-size:2.5rem}.fact-list li{padding-block:4px}:root[data-theme=dark] .hero{box-shadow:0 18px 48px #3d5cff38,inset 0 0 0 1px #8ca0ff24}:root[data-theme=dark] .hero-glow{opacity:1;filter:blur(2px)}:root{--c1:#3549f2;--c2:#7b4fe0;--c3:#c76a1a;--c4:#d23e72;--c5:#9a7d0c;--c6:#6b7393;--c-other:#b4bad2;--c-ink:#fff}:root[data-theme=dark]{--c1:#6b8bff;--c2:#b08cff;--c3:#ffb06a;--c4:#ff7fa6;--c5:#e9d36b;--c6:#c9cde6;--c-other:#4a5180;--c-ink:#0a0d1f}.tone-1{--tone:var(--c1)}.tone-2{--tone:var(--c2)}.tone-3{--tone:var(--c3)}.tone-4{--tone:var(--c4)}.tone-5{--tone:var(--c5)}.tone-6{--tone:var(--c6)}.tone-other{--tone:var(--c-other)}#spend{scroll-margin-top:120px}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.seg-btn{min-height:42px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;font-size:.92rem;font-weight:700;transition:background-color .18s,color .18s,box-shadow .18s}.seg-btn[aria-pressed=true]{background:var(--accent-fill);color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in srgb, var(--accent-fill) 35%, transparent)}.seg-btn:focus-visible{box-shadow:var(--focus);outline:none}.spend-chart{place-items:center;padding:6px 0 2px;display:grid}.donut{aspect-ratio:1;inline-size:min(236px,66vw);position:relative}.donut-svg{block-size:100%;inline-size:100%;overflow:visible}.donut-track{stroke:var(--surface-3)}.donut-arc{stroke:var(--tone);cursor:pointer;transition:opacity .2s, stroke-width .2s var(--ease)}.donut.has-sel .donut-arc{opacity:.32}.donut.has-sel .donut-arc.is-on{opacity:1;stroke-width:32px}.donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.donut-total{font-size:1.55rem}.donut-center-label{color:var(--muted);font-size:.74rem}@keyframes donut-in{0%{opacity:0;transform:rotate(-50deg)scale(.86)}to{opacity:1;transform:none}}.reveal .donut-svg,.donut.is-fresh .donut-svg{animation:donut-in .7s var(--ease) both}.legend{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.legend-row{min-height:48px;color:var(--text);transition:background-color .16s, transform .16s var(--ease);border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:6px 10px;text-decoration:none;display:grid}a.legend-row:hover,a.legend-row:focus-visible{background:var(--surface-2)}a.legend-row:active{transform:scale(.98)}.swatch{background:var(--tone);block-size:26px;inline-size:26px;color:var(--c-ink);border-radius:9px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.tone-other.swatch{color:var(--text)}.legend-name{overflow-wrap:anywhere;min-width:0;font-weight:650;line-height:1.3}.legend-val{align-items:baseline;gap:6px;display:inline-flex}.legend-go{color:var(--faint);font-size:1.3rem;line-height:1}.money-sm{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.98rem;font-weight:750}.money-sm .m-dec,.money-sm .m-cur{color:var(--muted);font-size:.78em;font-weight:600}.trend-kpis{grid-template-columns:1fr 1fr;gap:8px;display:grid}.trend-kpi{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.delta{color:var(--muted);font-size:.76rem;font-weight:700}.delta.is-up{color:var(--accent-2)}.delta.is-down{color:var(--accent)}.cols{position:relative}.cols-svg{block-size:auto;inline-size:100%;display:block;overflow:visible}.cols-base{stroke:var(--line-strong);stroke-width:1px}.col-bar{fill:color-mix(in srgb, var(--accent) 45%, var(--surface-3));transform-box:fill-box;transform-origin:bottom;animation:col-in .6s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms + .15s)}.col.is-link{cursor:pointer}.col.is-link:hover .col-bar{fill:var(--accent)}@keyframes col-in{0%{transform:scaleY(0)}to{transform:none}}.col-x{fill:var(--muted);font-family:inherit;font-size:11px}.col-v{fill:var(--text);font-family:inherit;font-size:12px;font-weight:800}.cols-avg{stroke:var(--accent-2);stroke-width:1.5px;stroke-dasharray:4 4}.cols-avg-label{color:var(--accent-2);background:color-mix(in srgb, var(--surface) 85%, transparent);border-radius:6px;padding:0 4px;font-size:.7rem;font-weight:700;position:absolute;inset-inline-start:0;transform:translateY(-115%)}.data-table summary{cursor:pointer;color:var(--muted);align-items:center;min-height:32px;font-size:.8rem;display:flex}.data-table table{border-collapse:collapse;inline-size:100%;margin-top:6px;font-size:.86rem}.data-table th,.data-table td{text-align:start;border-bottom:1px solid var(--line);padding:6px 4px}.data-table td:last-child{font-variant-numeric:tabular-nums}.basket-lead{font-size:.95rem}.basket-lead strong{color:var(--accent);font-variant-numeric:tabular-nums;margin-inline-end:2px;font-size:1.5rem;font-weight:800}.basket{flex-direction:column;gap:4px;display:flex}.basket-row{min-height:44px;color:var(--text);border-radius:12px;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:10px;padding:4px 8px;text-decoration:none;display:grid}a.basket-row:hover,a.basket-row:focus-visible{background:var(--surface-2)}.basket-head{min-height:22px}.basket-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:650;overflow:hidden}.basket-cells{grid-template-columns:repeat(var(--cols), var(--cell,22px));gap:5px;display:grid}.basket-date{font-variant-numeric:tabular-nums;color:var(--faint);text-align:center;white-space:nowrap;font-size:.66rem}.cell{inline-size:var(--cell,22px);block-size:var(--cell,22px);background:var(--surface-3);border:1px solid var(--line);border-radius:7px}.cell.on{background:var(--accent);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 35%, transparent);border-color:#0000}.basket-n{color:var(--muted);font-variant-numeric:tabular-nums;text-align:end;font-size:.78rem;font-weight:800}.purchase-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.purchase{background:var(--surface-2);min-height:56px;color:var(--text);transition:transform .16s var(--ease);border-radius:14px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:grid}.purchase:active{transform:scale(.98)}.purchase-main{flex-direction:column;gap:2px;min-width:0;display:flex}.purchase-title{font-weight:700}.spark svg{block-size:auto;inline-size:100%;display:block;overflow:visible}.spark-line{stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.spark-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2.5px}.back-bottom{margin-top:4px}@media (prefers-reduced-motion:reduce){.reveal .donut-svg,.donut.is-fresh .donut-svg,.col-bar{animation:none!important}}.trend-kpis.one{grid-template-columns:1fr}.match-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}#root{display:contents}:root{--bg:#f3f5fc;--surface:#fff;--surface-2:#eef1fa;--surface-3:#e4e8f5;--line:#e1e5f2;--line-strong:#cdd3e8;--text:#0f1330;--muted:#4f5677;--faint:#626a8c;--accent:#3549f2;--accent-fill:#3549f2;--accent-soft:#e8ebff;--accent-ink:#fff;--syn:#464c6c;--syn-bg:#e9ecf6;--hero-a:#1d2a8c;--hero-b:#0d1236;--radius:20px;--radius-sm:14px;--shadow:none;--gap:28px;--c1:#3549f2;--c2:#c76a1a;--c3:#c93a6c;--c4:#8a700a;--c5:#5f6789;--c6:#7d93ff;--c-other:#c3c9de;--c-ink:#fff}:root[data-theme=dark]{--bg:#0a0d1f;--surface:#12162e;--surface-2:#181d3a;--surface-3:#1f2547;--line:#20264a;--line-strong:#2c3360;--text:#f0f2fc;--muted:#aab0cc;--faint:#8a90ae;--accent:#6b8bff;--accent-fill:#3d5cff;--accent-soft:#1a2150;--accent-ink:#fff;--syn:#c9cee6;--syn-bg:#181d3a;--hero-a:#1d2a8c;--hero-b:#0d1236;--shadow:none;--page-glow:none;--c1:#6b8bff;--c2:#ffb06a;--c3:#ff7fa6;--c4:#e9d36b;--c5:#c9cde6;--c6:#a9bcff;--c-other:#3a4170;--c-ink:#0a0d1f}:root[data-theme=dark] body{background:var(--bg)}body{-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}h1,.page-head-text h1{letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1.2}h2,.section-head h2{letter-spacing:-.005em;font-size:1.1rem;font-weight:700;line-height:1.35}.small{font-size:.9rem}.tiny{font-size:.8rem}.amount,.money-sm,.money-md,.money-hero,.stat-value,.headline-value,.facts-kv dd{font-variant-numeric:tabular-nums}.view{gap:var(--gap);padding:20px max(20px, env(safe-area-inset-right)) 24px max(20px, env(safe-area-inset-left))}.route-stage{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.page-head{gap:12px}.page-head-text p{color:var(--muted);font-size:.92rem;line-height:1.5}.page-head>.icon-btn{background:var(--surface);border:none;border-radius:999px}.plain,.sub-section,.block{flex-direction:column;gap:14px;display:flex}.card,.kpi,.fc-card,.line-card,.dialog,.state-empty,.measure-card{background:var(--surface);box-shadow:none;border:none}.card{border-radius:var(--radius);gap:14px;padding:20px}.card.soft{background:var(--surface-2)}.section-head{align-items:baseline}.section-head a{color:var(--accent);font-size:.88rem;font-weight:600;text-decoration:none}.section-sub{color:var(--muted);margin-top:-6px;font-size:.88rem}.disclaimer,.foot-note{color:var(--faint);font-size:.8rem}.foot-note{text-align:center;padding:0 12px}.dash-grid{gap:var(--gap)}.quiet-note{color:var(--muted);font-size:.86rem}.topbar{background:var(--bg);-webkit-backdrop-filter:none;border-bottom:none}.topbar-inner{flex-wrap:nowrap;padding:12px 20px 8px}.app-title{font-size:1rem;font-weight:700}.app-title img{border-radius:8px;block-size:26px;inline-size:26px}.settings-btn{background:var(--surface);min-height:40px;color:var(--muted);font:inherit;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;margin-inline-start:auto;padding:0 12px;font-size:.86rem;font-weight:600;display:inline-flex}.settings-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;block-size:18px;inline-size:18px}.settings-btn[aria-expanded=true]{color:var(--text)}.settings-panel{flex-wrap:wrap;align-items:center;gap:12px;max-width:760px;margin:0 auto;padding:4px 20px 14px;display:flex}.settings-panel[hidden]{display:none}.settings-panel .theme-switch{background:var(--surface);border:none;border-radius:12px;margin:0}.theme-btn[aria-pressed=true]{background:var(--surface-3);box-shadow:none;color:var(--text)}.settings-panel .hh-picker{flex:220px;order:0}.settings-panel .hh-label{display:inline}.hh-picker select{background:var(--surface);border:none;border-radius:12px;min-height:44px}.hh-banner,.hh-banner.tone-synthetic,.hh-banner.tone-sample{max-width:none;color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:0 auto;padding:0 20px 6px;font-size:.78rem;font-weight:500;display:flex;background:0 0!important}.hh-banner:before{content:"";background:var(--syn);border-radius:50%;block-size:6px;inline-size:6px;margin:0;display:block}.hh-banner.tone-sample:before{background:var(--info)}.home{flex-direction:column;gap:20px;padding-top:4px;display:flex}.home-hello{flex-direction:column;gap:2px;padding:4px;display:flex}.home-hello-title{letter-spacing:-.025em;font-size:1.9rem;font-weight:800;line-height:1.15}.home-hello-date{color:var(--muted);font-size:.9rem}.home-hero{color:#fff;background:linear-gradient(160deg, var(--hero-a) 0%, var(--hero-b) 100%);border-radius:28px;flex-direction:column;align-items:flex-start;gap:4px;padding:28px 24px 26px;display:flex}.home-label{color:#e2e6ffd1;font-size:.92rem;font-weight:500}.home-total-wrap{transform-origin:100%}.home-total{letter-spacing:-.045em;color:#fff;margin:4px 0 0;font-size:3.6rem;font-weight:800;line-height:1.05;display:block}.home-total .m-dec{opacity:.75;font-size:.4em}.home-total .m-cur{opacity:.7;font-size:.42em}.home-total-line{transform-origin:100%;background:#6b8bff;border-radius:3px;block-size:3px;inline-size:44px;margin-top:14px;display:block}.home-note{color:#e2e6ffc7;max-width:32ch;margin-top:8px;font-size:.86rem}.home-empty-title{letter-spacing:-.01em;font-size:1.45rem;font-weight:800}.home-cta{border-radius:999px;min-height:58px;font-size:1.05rem}.home-task{background:var(--surface);border-radius:20px;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;display:flex}.home-task-title{font-size:1.02rem;font-weight:700}.home-task-title:before{content:"";background:var(--accent-2);vertical-align:middle;border-radius:50%;block-size:8px;inline-size:8px;margin-inline-end:8px;display:inline-block}.home-task-text{color:var(--muted);font-size:.88rem}.btn-pill{background:var(--accent-soft);min-height:40px;color:var(--accent);border-radius:999px;margin-top:6px;padding:0 18px;font-size:.9rem;text-decoration:none}.home-more,.home-more span{color:var(--accent)}.home-more{align-self:center;align-items:center;gap:6px;min-height:48px;padding:0 16px;font-weight:650;text-decoration:none;display:inline-flex}.home-more span{font-size:1.3rem;line-height:1}.headline{flex-direction:column;gap:4px;padding:8px 0 0;display:flex}.headline-label{color:var(--muted);font-size:.92rem;font-weight:500}.headline-num,.headline .money-hero{color:var(--text);letter-spacing:-.04em;margin:0;font-size:3rem;font-weight:800;line-height:1.05}.headline .money-hero .m-dec,.headline .money-hero .m-cur{color:var(--muted);opacity:1}.headline-value{letter-spacing:-.03em;font-size:3rem;font-weight:800;line-height:1.05}.headline-note{color:var(--muted);max-width:44ch;margin-top:6px;font-size:.86rem}details.more{background:var(--surface);border-radius:16px}details.more>summary{min-height:52px;color:var(--accent);justify-content:space-between;align-items:center;gap:10px;padding:0 18px;font-weight:650;list-style:none;display:flex}details.more>summary::-webkit-details-marker{display:none}details.more>summary:after{content:"‹";color:var(--faint);font-size:1.3rem;line-height:1;transform:rotate(90deg)}details.more[open]>summary:after{transform:rotate(-90deg)}.more-body{flex-direction:column;gap:24px;padding:4px 18px 20px;display:flex}.more-body .card{background:var(--surface-2)}.facts-kv{flex-direction:column;margin:0;display:flex}.facts-kv>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.facts-kv>div:first-child{border-top:none}.facts-kv dt{color:var(--muted)}.facts-kv dd{margin:0;font-weight:700}details.home-how>summary{color:var(--text)}.btn{box-shadow:none;border-radius:16px;font-weight:700;transition:transform .1s,opacity .1s}.btn-primary{background:var(--accent-fill);color:#fff;box-shadow:none}.btn-primary:hover{background:color-mix(in srgb, var(--accent-fill) 90%, #000)}.btn-secondary{background:var(--surface);color:var(--text);border:none}.btn-quiet{color:var(--accent);background:0 0;border:none;min-height:48px}.icon-btn{background:var(--surface);border:none}input[type=text],input[type=date],input:not([type]),select{border-radius:12px}.chip{background:var(--surface);border:none}.badge{border:none}.badge.match-not_found,.badge.match-unresolved{border:1px dashed}.tone-synthetic.badge{background:var(--syn-bg);color:var(--syn)}.seg{background:var(--surface-2);border:none;border-radius:14px}.seg-btn{border-radius:10px}.seg-btn[aria-pressed=true]{box-shadow:none}.notice{border:none;border-radius:16px}.notice.tone-synthetic{background:var(--syn-bg);color:var(--syn)}.upload-card{background:0 0;border:none;gap:10px;padding:0}.upload-actions{grid-template-columns:1fr;gap:4px}.upload-actions .btn-lg{min-height:58px;font-size:1.05rem}.receipt-sections{gap:28px}.group-title{color:var(--muted);font-size:.86rem;font-weight:650}.receipt-list{gap:0}.receipt-row,.purchase{box-shadow:none;border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;min-height:68px;padding:16px 2px}.receipt-list li:last-child .receipt-row,.purchase-list li:last-child .purchase{border-bottom:none}.purchase-list{gap:0}.receipt-title{font-weight:650}.attention{background:var(--surface);border:none}.draft-link{background:var(--surface-2);border:none;border-radius:14px}.draft-link .go{background:var(--accent-fill);color:#fff}.rec{background:var(--surface);border:none;border-radius:16px}.carousel{gap:12px}.fc-card{border-radius:18px;min-height:0;padding:16px}.fc-dots .dot-next{border-color:var(--accent-2)}.mini-stat,.trend-kpi,.stat,.pct{background:var(--surface-2);border:none}.swatch{box-shadow:none}.cell.on,.bar-fill{background:var(--accent);box-shadow:none}.col-bar{fill:color-mix(in srgb, var(--accent) 35%, var(--surface-3))}.col.is-peak .col-bar{fill:var(--accent)}.state-empty{border-radius:var(--radius);border:none;padding:36px 20px}.state-empty h2{font-size:1.15rem}.skel{align-items:stretch;gap:14px;padding:0}.skel-blocks{flex-direction:column;gap:20px;display:flex}.sk{border-radius:var(--radius);background:var(--surface);display:block}.sk-hero{border-radius:28px;block-size:240px}.sk-hero-sm{block-size:110px}.sk-row4{display:block}.sk-row4 .sk{display:none}.sk-row4 .sk:first-child{border-radius:18px;block-size:58px;display:block}.sk-card{block-size:180px}.sk-line{block-size:64px}.skel-text{color:var(--faint);text-align:center;font-size:.82rem}.tabbar{inset-inline:max(14px, env(safe-area-inset-left));bottom:calc(10px + var(--safe-b));border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:none;max-inline-size:560px;box-shadow:none;border-radius:26px;margin-inline:auto;padding:6px;transform:none}.tabbar a{min-height:54px;color:var(--faint);border-radius:20px;gap:2px;font-size:.72rem;font-weight:500}.tabbar a:before,.tabbar a[aria-current=page]:before{display:none}.tabbar a[aria-current=page]{color:var(--accent);font-weight:700}.tab-ic{border-radius:999px;place-items:center;block-size:30px;inline-size:48px;display:grid}.tabbar a[aria-current=page] .tab-ic{background:var(--accent-soft)}.tabbar svg{block-size:22px;inline-size:22px}body:not(.mode-confirm){padding-bottom:calc(64px + 10px + var(--safe-b) + 28px)}.toast{bottom:calc(64px + 10px + var(--safe-b) + 14px)}@media (min-width:900px){.tabbar{inset-inline:0;inline-size:auto;max-inline-size:640px;bottom:14px}.tabbar a{flex-direction:row;gap:6px;font-size:.9rem}}.line-card{border:1px solid var(--line);border-inline-start-width:4px}.line-card.is-open{box-shadow:0 0 0 1.5px var(--accent)}.save-bar{background:var(--surface);-webkit-backdrop-filter:none;box-shadow:0 -1px 0 var(--line)}.save-btn:not([aria-disabled=true]){box-shadow:none}.toast{border-radius:14px}.reveal,.reveal .donut-svg,.donut.is-fresh .donut-svg,.col-bar,.bar-fill.grow,.hero-glow{animation:none}.hero-glow{display:none}@media (hover:hover){.receipt-row:hover,.fc-card:hover,.draft-link:hover,.quick:hover{box-shadow:none;transform:none}.receipt-row:hover .receipt-title{color:var(--accent)}}.receipt-row,.purchase,.draft-link,.legend-row,.basket-row,.fc-card{transition:opacity .1s}.receipt-row:active,.purchase:active,.draft-link:active,a.legend-row:active,a.basket-row:active,.fc-card:active{opacity:.7;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.home-total-wrap,.home-total-line{opacity:1!important;filter:none!important;transform:none!important}}.home-how .steps-big{gap:10px;padding-block:4px 20px;padding-inline:40px 18px}:root{--card-1:#3549f2;--card-2:#a8480f;--card-3:#b02a5c;--card-4:#75600a;--card-5:#2a3a9e;--sheet-scrim:#0a0d1f73;--task-warn:#9a5a00;--task-warn-bg:#fff1dc;--task-danger:#b3261e;--task-danger-bg:#ffe5e2}:root[data-theme=dark]{--card-1:#3d5cff;--card-2:#a8480f;--card-3:#b02a5c;--card-4:#75600a;--card-5:#2a3a9e;--sheet-scrim:#0000008c;--task-warn:#ffc46b;--task-warn-bg:#3a2a0c;--task-danger:#ff9a92;--task-danger-bg:#3d1614}.home{gap:26px}.home-hello-title{font-size:2rem}.home-hero{gap:6px;padding:26px 24px 24px}.home-total{font-size:3.4rem}.pill{background:var(--surface-2);min-height:44px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-flex}.pill .icon{block-size:20px;inline-size:20px}.pill-primary{background:var(--accent-fill);min-height:52px;color:var(--accent-ink);box-shadow:0 8px 22px -10px var(--accent-fill);padding:0 24px;font-size:1.05rem;font-weight:800}.pill-sm{min-height:40px;padding:0 16px;font-size:.9rem}.pill-sm.pill-primary{min-height:40px;box-shadow:none;font-size:.9rem}.pill-block{inline-size:100%;display:flex}.pill:focus-visible,.chain-card:focus-visible,.sheet-close:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.home-block{flex-direction:column;gap:12px;display:flex}.block-head{justify-content:space-between;align-items:baseline;gap:12px;padding-inline:2px;display:flex}.block-head h2{font-size:1.15rem;font-weight:800}.block-hint{color:var(--muted);font-size:.82rem}.chain-rail{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:12px;margin:0 -20px;padding:2px 20px 8px;scroll-padding-inline:20px;list-style:none;display:flex;overflow-x:auto}.chain-rail::-webkit-scrollbar{display:none}.chain-slot{scroll-snap-align:start;flex:0 0 78%;max-inline-size:320px;display:flex}.chain-card{background:var(--surface);min-block-size:168px;inline-size:100%;color:var(--text);text-align:start;font:inherit;cursor:pointer;border:0;border-radius:24px;flex-direction:column;padding:0;text-decoration:none;display:flex;overflow:hidden}.chain-card-ph{background:0 0}.chain-head{color:#fff;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.chain-name{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:800;overflow:hidden}.chain-count{opacity:.95;white-space:nowrap;font-size:.82rem;font-weight:600}.chain-body{flex-direction:column;align-items:flex-start;gap:2px;padding:14px 18px 16px;display:flex}.chain-label{color:var(--muted);font-size:.85rem}.chain-money{color:var(--text);letter-spacing:-.02em;font-size:1.8rem;font-weight:800}.chain-money .m-dec,.chain-money .m-cur{color:var(--muted);font-size:.55em}.chain-more{color:var(--accent);margin-top:6px;font-size:.88rem;font-weight:700}.sheet-layer{z-index:80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:var(--sheet-scrim);position:absolute;inset:0}.sheet{max-block-size:86vh;inline-size:100%;max-inline-size:560px;padding-bottom:calc(28px + var(--safe-b,0px));background:var(--surface);color:var(--text);flex-direction:column;margin-bottom:-28px;display:flex;position:relative;overflow:hidden;box-shadow:0 -12px 40px -12px #00000073}.sheet-grab{inset-inline:0;z-index:1;pointer-events:none;justify-content:center;display:flex;position:absolute;top:8px}.sheet-grab span{background:#ffffffb3;border-radius:3px;block-size:5px;inline-size:40px}.sheet-head{touch-action:none;cursor:grab;background:var(--card-1);color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:24px 20px 16px;display:flex}.sheet-title{font-size:1.2rem;font-weight:800}.sheet-close{color:#fff;cursor:pointer;background:#ffffff2e;border:0;border-radius:50%;place-items:center;block-size:44px;inline-size:44px;display:grid}.sheet-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;block-size:22px;inline-size:22px}.sheet-body{touch-action:pan-y;flex-direction:column;gap:6px;padding:18px 20px 20px;display:flex;overflow-y:auto}.sheet-label{color:var(--muted);font-size:.9rem}.sheet-total{color:var(--text);letter-spacing:-.03em;font-size:2.8rem;font-weight:800;line-height:1.1}.sheet-total .m-dec,.sheet-total .m-cur{color:var(--muted);font-size:.45em}.sheet-note{color:var(--muted);margin-bottom:8px;font-size:.88rem}.sheet-list{flex-direction:column;margin:4px 0 14px;padding:0;list-style:none;display:flex}.sheet-list a{min-block-size:48px;color:var(--text);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}body.sheet-open{overflow:hidden}.upload-status-slot:empty{display:none}.upload-status{background:var(--surface-2);border-radius:20px;gap:14px;padding:16px;display:flex}.up-ic{background:var(--accent-soft);block-size:40px;inline-size:40px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.up-saved .up-ic{background:var(--ok-bg,#e2f5e9);color:var(--ok)}.up-failed .up-ic{background:var(--task-danger-bg);color:var(--task-danger)}.up-ic .icon{block-size:22px;inline-size:22px}.up-spin{border:3px solid;border-inline-end-color:#0000;border-radius:50%;block-size:20px;inline-size:20px;animation:.8s linear infinite up-spin}@keyframes up-spin{to{transform:rotate(360deg)}}.up-main{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.up-title{font-weight:800}.up-text{color:var(--muted);font-size:.88rem}.up-actions{gap:8px;margin-top:6px;display:flex}.up-main>.pill{margin-top:6px}.receipt-row.is-pending{opacity:.85;border:1.5px dashed var(--line-strong)}.receipt-list.optimistic{margin-bottom:18px}.btn,.pill,.chain-card{transition:transform .12s,opacity .12s}.btn:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.up-spin{opacity:.6;border-inline-end-color:currentColor}.btn:active{transform:none}}.upload-status .pill:not(.pill-primary){background:var(--surface-3)}.money-hero .m-int,.money-md .m-int{opacity:1;visibility:visible}.home-simple{gap:34px;padding-top:10px}.home-simple .home-hello-title{font-size:1.75rem;line-height:1.2}.home-hello-name{color:var(--muted);font-size:.82em;font-weight:700}.status-card{gap:4px}.month-row{border-top:1px solid #e2e6ff2e;flex-direction:column;gap:8px;margin-top:18px;padding-top:16px;display:flex}.month-main{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;display:flex}.month-label{color:#ecefffe6;font-size:.92rem;font-weight:600}.month-amount{margin-inline-start:auto}.month-money{color:#fff;font-size:1.45rem;font-weight:800}.month-money .m-dec,.month-money .m-cur{color:#e2e6ffd1}.month-count{color:#e2e6ffcc;flex-basis:100%;font-size:.84rem}.month-empty .month-main{flex-direction:column;align-items:flex-start;gap:12px}.month-empty .month-cta{margin-inline-start:0;margin-top:0}.month-empty .month-text{flex:none}.month-empty .month-label{color:#fff;font-size:1rem}.month-text{flex-direction:column;flex:14ch;gap:4px;min-inline-size:0;display:flex}.month-explain{color:#e2e6ffd1;font-size:.84rem;line-height:1.4}.month-cta{margin-inline-start:auto;margin-top:4px}.month-note{color:#e2e6ffcc;align-items:center;gap:6px;font-size:.82rem;display:flex}.month-note:before{content:"";background:#ffc46b;border-radius:50%;flex:none;block-size:6px;inline-size:6px}.now{gap:14px}.now-title{padding-inline:2px;font-size:1.15rem;font-weight:800}.now-list{background:var(--surface);border-radius:22px;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.now-row>a,.now-row>div{min-block-size:64px;color:var(--text);align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.now-row+.now-row{border-top:1px solid var(--line)}.now-row>a:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:22px}.now-row>a:active{background:var(--surface-2)}.now-ic{background:var(--surface-3);block-size:38px;inline-size:38px;color:var(--text);border-radius:50%;flex:none;place-items:center;display:grid}.now-ic .icon{block-size:20px;inline-size:20px}.now-ic-accent{background:var(--accent-soft);color:var(--accent)}.now-ic-danger{background:var(--task-danger-bg);color:var(--task-danger)}.now-ic-calm{background:var(--ok-bg);color:var(--ok)}.now-main{flex-direction:column;flex:1;gap:2px;min-inline-size:0;display:flex}.now-row-title{font-size:.98rem;font-weight:700;line-height:1.35}.now-row-text{color:var(--muted);font-size:.86rem}.now-go{color:var(--faint);font-size:1.3rem;line-height:1}.now-calm .now-row-title{font-weight:600}.now-summary{min-block-size:44px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:4px 6px;font-size:.88rem;text-decoration:none;display:flex}.now-summary span:last-child{color:var(--accent);font-size:1.2rem}.now-summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:12px}.more-screens{flex-direction:column;gap:10px;margin-top:8px;display:flex}.more-screens-title{font-size:1rem;font-weight:800}.more-screens-row{flex-wrap:wrap;gap:8px;display:flex}.where{flex-direction:column;gap:22px;display:flex}.dock{grid-template-columns:repeat(5,1fr);align-items:end;overflow:visible}.dock .tab-label{text-align:center;max-inline-size:9ch;line-height:1.15}.dock-upload{min-height:54px;color:var(--text);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.dock-upload-btn{background:var(--accent-fill);block-size:58px;inline-size:58px;color:var(--accent-ink);box-shadow:0 10px 24px -8px var(--accent-fill), 0 0 0 6px var(--bg);border-radius:50%;place-items:center;margin-top:-30px;transition:transform .12s;display:grid}.dock-upload-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:26px;inline-size:26px}.dock-upload:active .dock-upload-btn{transform:scale(.94)}.dock-upload:focus-visible{outline:none}.dock-upload:focus-visible .dock-upload-btn{outline:3px solid var(--accent);outline-offset:3px}.dock-spin{border:3px solid;border-inline-end-color:#0000;border-radius:50%;block-size:24px;inline-size:24px;animation:.8s linear infinite up-spin}.dock-upload.up-uploading .tab-label{color:var(--accent)}@media (min-width:900px){.dock-upload{flex-direction:row;gap:8px;font-size:.9rem}.dock-upload-btn{block-size:44px;inline-size:44px;box-shadow:none;margin-top:0}.dock .tab-label{max-inline-size:none}}@media (prefers-reduced-motion:reduce){.dock-spin{opacity:.6;border-inline-end-color:currentColor;animation:none}.dock-upload-btn{transition:none}}.auth{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}body:has(.auth){padding-bottom:0!important}.auth-brand{color:var(--text);align-items:center;gap:10px;font-size:1.05rem;font-weight:800;display:flex}.auth-card{background:var(--surface);border-radius:28px;flex-direction:column;gap:16px;inline-size:100%;max-inline-size:420px;padding:28px 22px 22px;display:flex}.auth-card h1{letter-spacing:-.02em;outline:none;font-size:1.7rem;font-weight:800}.auth-sub{color:var(--muted);margin-top:-6px;font-size:.95rem;line-height:1.55}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .field input{text-align:left;min-block-size:50px;inline-size:100%;font-size:1.05rem}.code-input{letter-spacing:.06em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.auth .btn-lg{border-radius:999px;min-block-size:54px}.auth .btn .icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:22px;inline-size:22px}.auth-links{flex-direction:column;align-items:center;gap:2px;display:flex}.auth-links .btn-quiet{min-block-size:44px}.auth-error{color:var(--danger);background:var(--danger-bg);border-radius:14px;padding:10px 14px;font-size:.92rem}.auth-notice{color:var(--text);background:var(--accent-soft);border-radius:14px;padding:10px 14px;font-size:.92rem}.auth-warn{color:var(--warn);background:var(--warn-bg);border-radius:14px;padding:12px 14px;font-size:.92rem;line-height:1.5}.auth-who{font-weight:700}.auth-fine{color:var(--faint);text-align:center;font-size:.82rem}.codes{grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.codes li{background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.codes code{letter-spacing:.03em;color:var(--text);white-space:nowrap;direction:ltr;unicode-bidi:isolate;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem}.code-n{color:var(--faint);min-inline-size:1.2em;font-size:.72rem}.codes-actions{gap:10px;display:flex}.codes-actions .btn{flex:1}.auth-check{cursor:pointer;align-items:flex-start;gap:10px;font-weight:600;display:flex}.auth-check input{block-size:22px;inline-size:22px;accent-color:var(--accent-fill);flex:none;margin-top:2px}@media (max-width:520px){.codes{grid-template-columns:1fr;gap:6px}.codes li{padding:8px 12px}.codes code{font-size:.95rem}}.app-title-text{flex-direction:column;line-height:1.15;display:flex}.app-hh{color:var(--muted);font-size:.72rem;font-weight:500}.account-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.account-who{color:var(--muted);font-size:.9rem}.signout-btn{min-block-size:44px}
