@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f6f8;--surface: #ffffff;--surface-2: #f7f9fb;--text: #1b2733;--muted: #6b7885;--border: #e6ebf0;--primary: #0f766e;--on-primary: #ffffff;--pos: #127c5a;--neg: #e11d48;--warn: #a5741a;--radius: 12px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(20, 40, 60, .04), 0 12px 32px rgba(20, 40, 60, .06);--shadow-sm: 0 1px 2px rgba(20, 40, 60, .05);--font: "Hanken Grotesk Variable", "Hanken Grotesk", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0d1116;--surface: #12161c;--surface-2: #161b22;--text: #e7edf3;--muted: #8695a2;--border: #232c36;--primary: #2dd4bf;--on-primary: #04231d;--pos: #34d399;--neg: #fb7185;--warn: #d9a441;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);color-scheme:dark}}:root[data-theme=dark]{--bg: #0d1116;--surface: #12161c;--surface-2: #161b22;--text: #e7edf3;--muted: #8695a2;--border: #232c36;--primary: #2dd4bf;--on-primary: #04231d;--pos: #34d399;--neg: #fb7185;--warn: #d9a441;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}button{font:inherit;cursor:pointer}a{color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.center-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.app{max-width:640px;margin:0 auto;padding:0 16px calc(48px + env(safe-area-inset-bottom))}.app-header{position:sticky;top:0;z-index:10;min-height:var(--header-h);display:flex;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;margin:0 -16px 20px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:700;font-size:17px;letter-spacing:-.01em}.brand-name,.header-meta .who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-meta{min-width:0;max-width:45%}.brand img{height:26px;width:auto;border-radius:6px}.spacer{flex:1}.header-meta{text-align:right;line-height:1.25;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.header-meta .who{font-size:13px;font-weight:500;max-width:100%}.brand{flex:0 1 auto}.brand-name{flex-shrink:0}.who-short{display:none}@media(max-width:480px){.who-full{display:none}.who-short{display:inline}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;margin-bottom:16px}.card>h2{margin:0 0 14px;font-size:15px;font-weight:700;letter-spacing:-.01em}.card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title-row h2{margin:0;font-size:15px;font-weight:700}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:6px;font-weight:500}.field input,.field select,.input{width:100%;padding:10px 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.field input:focus,.field select:focus,.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.row{display:flex;gap:12px}.row>*{flex:1}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin-bottom:14px;color:var(--muted)}.checkbox input{margin-top:3px;accent-color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;background:var(--primary);color:var(--on-primary)}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn svg{width:17px;height:17px}.btn-block{width:100%}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-danger{background:transparent;color:var(--neg);border:none;padding:2px;border-radius:6px;display:inline-grid;place-items:center}.btn-danger:hover{background:color-mix(in srgb,var(--neg) 12%,transparent)}.btn-danger svg{width:15px;height:15px}.link-btn{background:none;border:none;color:var(--primary);font-weight:600;padding:0}.icon-btn{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:var(--radius-sm);background:transparent;color:var(--muted);border:1px solid var(--border)}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.error{color:var(--neg);background:color-mix(in srgb,var(--neg) 9%,transparent);border:1px solid color-mix(in srgb,var(--neg) 25%,transparent);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;margin-bottom:14px}.muted{color:var(--muted)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:30px 12px;color:var(--muted)}.empty svg{width:30px;height:30px;color:var(--muted);opacity:.7}.empty .empty-title{font-weight:600;color:var(--text);font-size:14px}.empty p{margin:0;font-size:13px;max-width:34ch}.txn-item{border-top:1px solid var(--border)}h2+.txn-item{border-top:none}.txn{display:flex;align-items:center;gap:12px;padding:11px 0}.txn-toggle{width:100%;text-align:left;font:inherit;color:inherit;background:none;border:none;border-radius:0}.txn-toggle:focus-visible{outline-offset:-2px}.txn-chevron{flex:0 0 auto;color:var(--muted);transition:transform .15s ease}.txn-chevron.open{transform:rotate(180deg)}.txn-main,.txn-right{display:flex;flex-direction:column}.txn-right{align-items:flex-end}.txn-ic{flex:0 0 auto;width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center}.txn-ic svg{width:16px;height:16px}.txn-main{flex:1;min-width:0}.txn-desc{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-sub{font-size:11.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:1px}.txn-sub .tag{margin-left:0;flex:0 0 auto}.txn-sub{flex-wrap:nowrap}.txn-sub-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-detail{display:grid;gap:12px;padding:0 0 14px 46px;font-size:13.5px}@media(max-width:480px){.txn-detail{padding-left:0}}.txn-detail-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.txn-saved{margin:0;font-size:12.5px;color:var(--pos)}.txn-lines{list-style:none;margin:0;padding:0}.txn-lines li{padding:8px 0;border-top:1px solid var(--border)}.txn-lines li:first-child{border-top:none}.txn-line{display:flex;align-items:baseline;gap:8px}.txn-line-name{flex:1;min-width:0}.txn-line-amount{font-family:var(--mono);font-variant-numeric:tabular-nums}.txn-line-cat{display:flex;gap:10px;align-items:center;margin-top:2px;font-size:12px}.txn-line-cat .link-btn{font-size:12px}.txn-receipt{margin-top:10px}.cat-editor{display:grid;gap:10px;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.cat-editor .field,.cat-editor .checkbox{margin-bottom:0}.cat-editor .checkbox{color:var(--text);font-size:13px}.cat-editor-hint{display:block;margin:2px 0 0;font-size:12px;color:var(--muted)}.cat-editor-actions{display:flex;gap:8px}.dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.txn-right{text-align:right;flex:0 0 auto}.amount{font-family:var(--mono);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--neg)}.amount.credit{color:var(--pos)}.amount .cents{opacity:.5;font-size:11px}.badge{display:inline-block;margin-top:3px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px}.badge.confirmed{color:var(--pos);background:color-mix(in srgb,var(--pos) 15%,transparent)}.badge.pending{color:var(--warn);background:color-mix(in srgb,var(--warn) 18%,transparent)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:500}.chip.readonly{padding:5px 12px}.skel{background:color-mix(in srgb,var(--muted) 18%,transparent);border-radius:6px}.skel-line{height:11px}.skel-txn{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--border)}.skel-txn:first-child{border-top:none}.skel-txn .skel-ic{width:34px;height:34px;border-radius:var(--radius-sm);flex:0 0 auto}.skel-txn .grow{flex:1}@keyframes shimmer{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.skel{animation:shimmer 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.skel{animation:none}}.viewfinder{position:relative;overflow:hidden;border-radius:var(--radius);background:#000;aspect-ratio:3 / 4;margin-bottom:14px}.viewfinder video{width:100%;height:100%;object-fit:cover;display:block}.vf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.vf-guide{fill:none;stroke:#ffffff80;stroke-width:3;stroke-dasharray:14 12}.vf-quad{fill:color-mix(in srgb,var(--primary) 12%,transparent);stroke:var(--primary);stroke-width:4}.vf-quad.warn{fill:color-mix(in srgb,var(--warn) 14%,transparent);stroke:var(--warn)}.vf-quad.reject{fill:color-mix(in srgb,var(--neg) 14%,transparent);stroke:var(--neg)}.vf-status,.vf-hint{position:absolute;left:50%;transform:translate(-50%);padding:7px 13px;border-radius:999px;font-size:13px;font-weight:600;background:#0000009e;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.vf-status{top:50%;transform:translate(-50%,-50%)}.vf-hint{bottom:14px}.vf-hint.warn{background:color-mix(in srgb,var(--warn) 88%,black)}.vf-hint.reject{background:color-mix(in srgb,var(--neg) 88%,black)}.vf-note{font-size:12.5px;margin:0 0 14px}.vf-actions>.btn{flex:1}.btn.active{background:var(--primary);color:var(--on-primary);border-color:transparent}.capture-preview{margin-bottom:14px}.capture-preview img{width:100%;max-height:420px;object-fit:contain;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.capture-file{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:13px;word-break:break-all}.straighten-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;margin:0 0 10px}.quality-line{display:flex;align-items:center;gap:7px;font-size:13.5px;margin:0 0 14px}.quality-line.ok{color:var(--pos)}.quality-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.quality-list li{display:flex;gap:9px;font-size:13px}.quality-list li.warn{color:var(--warn)}.quality-list li.reject{color:var(--neg)}.quality-list li svg{flex:0 0 auto;margin-top:2px}.quality-list strong{display:block;font-size:13.5px}.quality-list p{margin:2px 0 0;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.steps li.active{color:var(--text);font-weight:600}.steps li.done{color:var(--pos)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1.1s linear infinite}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.question{border-top:1px solid var(--border);padding-top:16px;margin-top:16px}.question-head{display:flex;gap:9px;margin-bottom:12px}.question-head svg{flex:0 0 auto;margin-top:3px;color:var(--muted)}.question-head strong{font-size:14px}.question-head p{margin:2px 0 0;font-size:12.5px}.answer{display:grid;gap:10px}.answer .field,.answer .row{margin-bottom:0}.answer-note{margin:0;font-size:13px;color:var(--muted)}.answer-warn{margin:0;font-size:13px;color:var(--warn)}.answer .answer-confirm{justify-self:end;width:auto}.option{display:flex;align-items:center;gap:10px;padding:11px 13px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent)}.option input{accent-color:var(--primary)}.option span{display:flex;flex-direction:column}.option em{font-style:normal;font-size:12px;color:var(--muted)}.chip.pick{background:transparent;color:var(--text);cursor:pointer;padding:5px 12px}.chip.pick.selected{border-color:var(--primary);color:var(--primary);font-weight:600}.answered{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px}.answered li{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--pos)}.commit-note{font-size:12px;text-align:center;margin:9px 0 0}.duplicate-matches{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.duplicate-matches li{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius)}.duplicate-matches li>span{flex:1;display:grid;gap:2px;min-width:0}.duplicate-matches em{font-style:normal;color:var(--muted);font-size:12px}.batch-duplicates{margin-top:8px}.draft{border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:4px}.draft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.draft-merchant{font-weight:600;font-size:14.5px}.draft-note{font-size:13px;margin:0 0 12px}.warn-banner{display:flex;gap:9px;margin-top:12px;padding:10px 12px;font-size:13px;color:var(--warn);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent)}.warn-banner svg{flex:0 0 auto;margin-top:2px}.draft-lines{list-style:none;margin:14px 0 0;padding:0}.draft-lines li{padding:7px 0;border-top:1px solid var(--border);font-size:13.5px}.draft-line{display:flex;align-items:baseline;gap:8px}.draft-line-tax{display:flex;justify-content:space-between;gap:8px;margin:3px 0 0 12px;font-size:12px;color:var(--muted)}.draft-line-tax span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}.draft-line-name{flex:1;min-width:0}.draft-line-product{margin-top:1px;font-size:12px;color:var(--muted)}.draft-line-qty{font-family:var(--mono);font-size:12px;color:var(--muted)}.draft-line-amount{font-family:var(--mono);font-variant-numeric:tabular-nums}.draft-totals{margin:12px 0 0;display:grid;gap:5px;font-size:13px}.draft-totals>div{display:flex;justify-content:space-between;gap:12px}.draft-totals dt{color:var(--muted)}.draft-totals dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums}.draft-total{padding-top:6px;border-top:1px solid var(--border);font-weight:600}.draft-total dt{color:var(--text)}.scan-blurb,.queue-note{display:flex;gap:8px;font-size:13px;margin:0}.queue-note{margin-bottom:8px}.scan-blurb svg,.queue-note svg{flex:0 0 auto;margin-top:2px}.queue-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--text)}.queue-main{flex:1;min-width:0}.queue-title{display:block;font-weight:600;font-size:14px}.queue-row svg{color:var(--muted)}.review-wide{width:min(1120px,calc(100vw - 32px));margin-left:calc(50% - min(560px,(100vw - 32px) / 2))}.review-layout{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}@media(max-width:899px){.review-wide{width:auto;margin-left:0}.review-aside .preview img{max-height:36vh}}@media(min-width:900px){.review-layout:has(.review-aside){grid-template-columns:minmax(300px,440px) minmax(0,1fr)}.review-aside{position:sticky;top:calc(var(--header-h) + var(--review-bar-h) + 12px)}.review-aside .preview img,.review-aside .preview object{max-height:calc(100vh - var(--header-h) - var(--review-bar-h) - 80px)}}.review-main{margin-bottom:0}:root{--header-h: calc(64px + env(safe-area-inset-top)) ;--review-bar-h: 54px}.review-bar{position:sticky;top:var(--header-h);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:var(--review-bar-h);padding:8px 0;margin-bottom:8px;background:var(--bg)}.review-bar-nav{display:flex;align-items:center;gap:6px}.review-bar-nav .icon-btn:disabled{opacity:.4;cursor:not-allowed}.review-bar-picker{position:relative}.review-bar-where{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-weight:600;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.review-bar-list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(360px,calc(100vw - 32px));max-height:60vh;overflow:auto;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.review-bar-list button{display:flex;width:100%;text-align:left;padding:9px 10px;color:var(--text);background:none;border:none;border-radius:var(--radius-sm)}.review-bar-list button:hover{background:var(--surface-2)}.review-bar-list button.current{background:color-mix(in srgb,var(--primary) 10%,transparent)}.btn-sm{padding:7px 12px;font-size:13px}.btn-sm svg{width:14px;height:14px}.btn-ghost.danger{color:var(--neg)}.review-actions{position:sticky;bottom:0;z-index:2;margin:18px -20px -20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius)}.review-actions-row{display:flex;gap:10px}.review-actions-row .btn:last-child{flex:1}.review-actions .commit-note{margin-top:7px}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;font-size:11.5px;font-weight:700;border-radius:999px;vertical-align:1px;color:var(--on-primary);background:var(--primary)}.mono-sm{font-family:var(--mono);font-variant-numeric:tabular-nums}.queue-status{font-weight:600}.queue-status.ok{color:var(--pos)}.queue-status.todo{color:var(--muted)}.queue-status.warn{color:var(--warn)}.queue-row:disabled{cursor:progress}.duplicate-actions{display:flex;gap:14px;flex:0 0 auto}.duplicate-replace{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-basis:100%;padding-left:22px}@media(max-width:520px){.duplicate-matches li{flex-wrap:wrap}.duplicate-actions{width:100%;padding-left:22px}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0000008c}.compare{width:min(1040px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.compare-note{font-size:13px;margin:0 0 14px}.compare-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:700px){.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.compare-grid h3{margin:0;font-size:13.5px}.compare-sub{margin:2px 0 8px;font-size:12.5px;color:var(--muted)}.compare-grid .preview img,.compare-grid .preview object{max-height:60vh}.compare-actions{position:sticky;bottom:-20px;margin:16px -20px -20px;padding:12px 20px;background:var(--surface);border-top:1px solid var(--border)}@media(max-width:520px){.review-actions .commit-note,.review-actions-row .btn-ghost .label{display:none}.review-actions-row .btn-ghost{flex:0 0 auto;padding-inline:14px}}.preview{margin:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:10px;overflow:hidden}.preview img,.preview object{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-2)}.preview object{height:70vh}.preview figcaption{margin-top:8px;text-align:center;font-size:12px}.preview figcaption a{display:inline-flex;align-items:center;gap:5px;font-weight:600;text-decoration:none}.preview-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:20px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius)}.preview-state p{margin:0;max-width:32ch}.mono{font-family:var(--mono);font-size:13px}.tag{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--muted) 15%,transparent)}.link-btn.with-icon{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}.danger-link{color:var(--neg);margin-top:14px}.read-back{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13px}.read-back li{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.reconcile{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.reconcile-gap{margin-top:4px;color:var(--warn);font-weight:600}.reconcile-gap dt{color:inherit}.product-rows{list-style:none;margin:0;padding:0;display:grid;gap:10px}.product-rows li{display:grid;gap:6px;padding:10px;font-size:13px;grid-template-columns:minmax(0,1fr) 72px 72px;border:1px solid var(--border);border-radius:var(--radius-sm)}.product-rows .product-raw{grid-column:1 / -1;font-weight:600}.product-rows input{width:100%;padding:7px 9px;font:inherit;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.product-rows input:focus{outline:none;border-color:var(--primary)}.upload-note{font-size:12px;margin:12px 0 0}.batch-list{list-style:none;margin:0 0 14px;padding:0}.batch-list li{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid var(--border)}.batch-list li:first-child{border-top:none}.batch-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted)}.batch-main{flex:1;min-width:0}.batch-name{display:block;font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-note{font-size:11.5px;color:var(--muted)}.batch-note.warn{color:var(--warn)}.batch-note.reject{color:var(--neg)}.batch-straighten{display:block;font-size:11.5px;margin-top:2px}.batch-thumb{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted)}.batch-thumb img{width:100%;height:100%;object-fit:cover}.quality-line.warn{color:var(--warn);align-items:flex-start}.nothing-asked{font-size:13px;margin:14px 0 0}.pending-row{cursor:default;gap:10px;color:var(--muted)}.pending-row .queue-main{display:flex;align-items:center}.toast{position:fixed;z-index:40;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom));width:min(560px,calc(100vw - 32px));display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.toast>span{flex:1;min-width:0}.toast>svg{flex:0 0 auto}.toast.added>svg{color:var(--pos)}.toast.discarded>svg{color:var(--muted)}.toast.error>svg{color:var(--neg)}.toast .link-btn{font-size:13.5px}.toast .icon-btn{width:28px;height:28px;border:none}@media(max-width:1023.98px){body:has(.review-actions) .toast{bottom:calc(var(--review-actions-h, 96px) + 8px)}}@media(min-width:1024px){.toast{top:calc(var(--header-h) + 12px);bottom:auto;left:auto;right:16px;transform:none;width:min(420px,calc(100vw - 32px))}}.tabs{display:flex;gap:4px;padding:4px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:1 0 auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:8px 10px;font-size:13.5px;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:var(--radius-sm)}.tab:hover{color:var(--text)}.tab.current{color:var(--text);background:var(--surface-2);box-shadow:var(--shadow-sm)}.tab .count{margin-left:6px}.tab-activity{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:11px;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}@media(max-width:420px){.tab-activity-count{display:none}}.section-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.add-panel{position:relative}.add-close{position:absolute;top:14px;right:14px;border:none}.btn-discard{background:var(--neg);color:#fff}.bulk-confirm{display:grid;gap:10px;margin:4px 0 10px;padding:12px;font-size:13.5px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.bulk-confirm p{margin:0}.bulk-done{margin-bottom:12px;padding:10px 12px;font-size:14px;color:var(--pos);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--pos) 10%,transparent);border:1px solid color-mix(in srgb,var(--pos) 25%,transparent)}.draft-lines li.suspect{margin:0 -8px;padding-inline:8px;border-radius:6px;background:color-mix(in srgb,var(--warn) 9%,transparent)}.draft-line-suspect{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:12px;color:var(--warn)}.zoom-frame{position:relative;overflow:hidden;touch-action:pan-y;cursor:zoom-in;border-radius:var(--radius-sm);background:var(--surface-2)}.zoom-frame.zoomed{touch-action:none;cursor:grab}.zoom-frame.zoomed:active{cursor:grabbing}.zoom-frame img{transform-origin:center;transition:transform .08s ease-out;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px}.zoom-controls .icon-btn{width:30px;height:30px}.zoom-controls .icon-btn:disabled{opacity:.4;cursor:default}.zoom-level{min-width:44px;text-align:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.zoom-frame img{transition:none}}.entry-actions{flex-wrap:wrap}.entry-actions>.btn{flex:1 1 150px;white-space:nowrap}@media(max-width:480px){.app{padding-inline:12px}.app-header{margin-inline:-12px;padding-inline:12px;gap:8px}.card{padding:16px}.review-actions{margin:16px -16px -16px;padding-inline:16px}.txn{gap:10px}.txn-chevron{margin-left:-4px}.amount{font-size:13.5px}}.preparing-note{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:0 0 14px}.preparing-note svg{flex:0 0 auto;color:var(--primary)}.progress{height:4px;margin-bottom:12px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.progress>span{display:block;height:100%;background:var(--primary);transition:width .2s ease}@media(prefers-reduced-motion:reduce){.progress>span{transition:none}}.preparing-list{margin-bottom:0}.preparing-list li.waiting{color:var(--muted)}.preparing-list li.prepared .batch-icon{color:var(--pos)}.preparing-list li.rejected .batch-icon{color:var(--neg)}.preparing-list li.current .batch-icon{color:var(--primary)}.batch-note.send-sent{color:var(--pos)}.batch-note.send-failed{color:var(--warn)}.send-nudge{margin:0 0 12px}.send-nudge-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.sort-select{padding:5px 8px;font:inherit;font-size:12.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented{display:inline-flex;gap:2px;padding:3px;margin-bottom:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented button{padding:4px 12px;font-size:12.5px;font-weight:600;color:var(--muted);background:transparent;border:none;border-radius:6px}.segmented button[aria-pressed=true]{color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.period-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -20px 6px;padding:2px 20px 8px}.period-tabs::-webkit-scrollbar{display:none}.period-tabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:500;white-space:nowrap;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:999px}.period-tabs button[aria-pressed=true]{border-color:var(--primary);color:var(--primary);font-weight:600}.period-count{font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.period-tabs button[aria-pressed=true] .period-count{color:inherit}.segmented+.txn-item,.period-tabs+.txn-item{border-top:none}@media(max-width:480px){.period-tabs{margin-inline:-16px;padding-inline:16px}}.pull-refresh{position:fixed;z-index:20;left:50%;top:calc(var(--header-h) - 28px);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--muted);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:none}.pull-refresh.ready{color:var(--primary)}.dialog{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.dialog:focus{outline:none}.dialog-text{margin:0;font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.setting{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.setting input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}.setting>span{display:grid;gap:3px;font-size:14px}.setting .muted{font-size:13px}.queue-filters{margin-top:2px}.queue-filter-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 6px;font-size:13px}.queue-filter-bar>.muted{margin-right:auto}.menu-anchor{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:200px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.menu button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;text-align:left;font-size:13.5px;font-weight:600;color:var(--text);background:none;border:none;border-radius:var(--radius-sm)}.menu button:hover{background:var(--surface-2)}.menu button.danger{color:var(--neg)}.queue-head-actions{display:flex;align-items:center;gap:14px}.queue-row{-webkit-touch-callout:none}.queue-row.selecting{-webkit-user-select:none;user-select:none}.queue-row.ticked{background:color-mix(in srgb,var(--primary) 7%,transparent)}.queue-row .tick{flex:0 0 auto;color:var(--muted)}.queue-row .tick.on{color:var(--primary)}.selection-bar .review-actions-row .btn{flex:1}.selection-confirm{margin:0 0 10px;font-size:13.5px}.about{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.about h3{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.about dl{display:grid;gap:6px;margin:0;font-size:13.5px}.about dl>div{display:flex;gap:12px}.about dt{flex:0 0 64px;color:var(--muted)}.about dd{margin:0;min-width:0;overflow-wrap:anywhere}.drop-target{position:relative}.drop-target.dragging{border-color:var(--primary)}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--primary);pointer-events:none;background:color-mix(in srgb,var(--surface) 88%,transparent);border:2px dashed var(--primary);border-radius:var(--radius)}@media(hover:none),(pointer:coarse){.drop-hint{display:none}}.txn-actions{display:flex;gap:16px;flex-wrap:wrap}.link-btn.danger{color:var(--neg)}.remove-effects{margin:0 0 10px;padding-left:18px;display:grid;gap:4px;font-size:13.5px}.tag.unconverted{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.chip.selected{border-color:var(--primary);color:var(--primary)}button.chip{cursor:pointer;font-family:inherit;background:transparent;color:var(--text);padding:5px 12px}.category-detail{display:grid;gap:10px;margin-bottom:14px}.category-detail p{margin:0}.line-editor{display:grid;gap:8px;margin:8px 0 4px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.line-editor .row{gap:8px}.line-editor .field{margin-bottom:0}.line-editor .field input{font-family:var(--mono, inherit);font-variant-numeric:tabular-nums}.draft-line-edit{font-size:12.5px}.draft-line-suspect .link-btn{margin-left:8px;font-size:12.5px}.included-taxes{color:var(--muted)}.included-taxes .included-head dt{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.setting-choice{border:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.setting-choice legend{display:grid;gap:3px;margin-bottom:8px;padding:0}.setting-choice legend .muted{font-size:13px}@media(min-width:640px){:root{--header-h: 0px}.app.railed{max-width:none;padding:0}.workspace.railed{display:grid;grid-template-columns:56px minmax(0,1fr);min-height:100vh;min-height:100dvh}.content{min-width:0;padding:18px 20px calc(48px + env(safe-area-inset-bottom))}.app.railed .review-wide{width:auto;margin-left:0}}.side-nav{position:sticky;top:0;height:100vh;height:100dvh;z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0;background:var(--surface);border-right:1px solid var(--border)}.side-brand{margin-bottom:8px;display:flex;align-items:center}.side-brand img{height:26px;width:auto;border-radius:6px}.side-label{display:none}.side-modules{display:flex;flex-direction:column;align-items:center;gap:6px}.side-item{position:relative;width:36px;height:36px;display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted)}.side-item:hover{color:var(--text);background:var(--surface-2)}.side-item.on{color:var(--text);background:var(--surface-2);box-shadow:var(--shadow-sm);outline:1px solid var(--border)}.side-item .side-end{position:absolute;top:-5px;right:-7px;display:inline-flex}.side-item .count{min-width:17px;height:17px;padding:0 4px;font-size:10px;margin:0}.side-activity{display:none}.side-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:8px}.side-foot-icons{display:flex;flex-direction:column;gap:8px}.side-who{display:none}.side-signout{display:inline-flex;align-items:center;gap:5px;font-size:12px}@media(min-width:1024px){.workspace.railed{grid-template-columns:200px minmax(0,1fr)}.content{max-width:1280px;padding:18px 24px calc(48px + env(safe-area-inset-bottom))}.side-nav{align-items:stretch;gap:3px;padding:16px 12px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.side-label{display:inline}.side-brand{gap:10px;margin:0 4px 16px;font-weight:700;font-size:17px;letter-spacing:-.01em}.side-brand .side-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-modules{align-items:stretch;gap:3px}.side-item{width:auto;height:auto;display:flex;align-items:center;gap:9px;padding:8px 10px;font-weight:600;font-size:13.5px;text-align:left}.side-item .side-end{position:static;margin-left:auto;align-items:center;gap:6px}.side-item .count{min-width:20px;height:20px;font-size:11.5px;padding:0 6px}.side-activity{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--primary);font-variant-numeric:tabular-nums}.side-foot{align-items:stretch;border-top:1px solid var(--border);padding-top:12px}.side-foot-icons{flex-direction:row}.side-who{display:block;font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.split{display:grid;gap:16px;align-items:start}@media(min-width:1024px){.split{grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr)}.split>.card{margin-bottom:0}.pane{position:sticky;top:18px;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow:auto}}.pane{container-type:inline-size}.pane-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.pane-title{flex:1;min-width:0}.pane-title h2{margin:0 0 2px;display:flex;align-items:center;gap:8px}.pane-head .txn-right{text-align:right}.pane-empty{display:grid;place-items:center;min-height:180px;text-align:center}@container (max-width: 360px){.pane-head{flex-wrap:wrap}.pane-head .txn-right{order:3;width:100%;text-align:left}}.txn-item.selected>.txn{background:var(--surface-2);border-radius:var(--radius-sm)}.ledger-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ledger-controls .segmented{margin:0}.ledger-find{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ledger-find .input{flex:1 1 220px;min-width:0}.category-add{margin-bottom:14px}.category-rows{list-style:none;margin:0;padding:0;display:grid}.category-row{width:100%;display:flex;align-items:center;gap:12px;padding:9px 4px;text-align:left;border:none;border-top:1px solid var(--border);background:transparent;color:var(--text)}.category-row:disabled{cursor:default}.category-row-main{flex:1;min-width:0;display:grid;gap:2px}.category-row .amount{font-size:13.5px}@media(min-width:1024px){.receipts-page:not(.reviewing){display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.receipts-page:not(.reviewing) .card{margin-bottom:0}.receipts-page:has(.drop-target.dragging){outline:2px dashed var(--primary);outline-offset:6px;border-radius:var(--radius)}}.receipts-page:not(:has(.queue-col .card)) .queue-col{display:none}.queue-card,.nothing-waiting{container-type:inline-size}.queue-day:empty,.queue-amount:empty{display:none}@container (min-width: 520px){.queue-row .queue-main{display:grid;grid-template-columns:minmax(0,1.4fr) 110px 130px 150px;align-items:center;gap:10px}.queue-row .queue-main .txn-sub{display:contents}.queue-row .queue-day:empty,.queue-row .queue-amount:empty{display:block}.queue-row .queue-amount{text-align:right}}.review-rail{display:none}@media(min-width:1280px){.review-layout.with-rail{grid-template-columns:240px minmax(0,1fr)}.review-layout.with-rail:has(.review-aside){grid-template-columns:240px minmax(300px,440px) minmax(0,1fr)}.review-rail{display:flex;flex-direction:column;gap:2px;padding:10px;position:sticky;top:calc(var(--header-h) + var(--review-bar-h) + 12px);max-height:calc(100vh - var(--header-h) - var(--review-bar-h) - 40px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.review-rail-head{margin:0 0 6px 6px;font-size:12.5px}.review-rail-row{display:block;width:100%;text-align:left;padding:8px 9px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text)}.review-rail-row:hover{background:var(--surface-2)}.review-rail-row.current{background:color-mix(in srgb,var(--primary) 12%,transparent)}.review-rail-row .txn-sub{flex-wrap:wrap}}.pane .txn-detail{padding:0;margin:0;border:none;background:none}.merchants-search{position:relative;display:block;margin-bottom:10px}.merchants-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.merchants-search .input{padding-left:32px;width:100%}.category-row.selected{background:var(--surface-2);border-radius:var(--radius-sm)}.merchant-section{display:grid;gap:6px;margin-top:16px}.merchant-heading{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--muted)}.merchant-lesson{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:7px 0;border-top:1px solid var(--border);font-size:14px}.merchant-lesson>.cat-editor{flex:1}.merchant-lesson-text{display:grid;gap:1px}.merchant-lesson-text .note{font-size:12px;color:var(--muted)}.merchant-lesson-actions{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:12.5px}.merchant-shops{list-style:none;margin:0;padding:0;display:grid}.merchant-shop{border-top:1px solid var(--border);padding:8px 0;display:grid;gap:8px}.merchant-shop.child{margin-left:22px;padding-bottom:0}.merchant-shop-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.merchant-shop-main{display:grid;gap:2px;min-width:0}.merchant-merge select{flex:1}.merchant-outcome{display:grid;gap:4px;margin:0;font-size:13px}.merchant-outcome>div{display:grid;grid-template-columns:72px 1fr;gap:8px}.merchant-outcome dt{color:var(--muted)}.merchant-outcome dd{margin:0}.merchant-pane .pane-title h2 .icon-btn{width:26px;height:26px}@container (max-width: 420px){.merchant-shop-row,.merchant-lesson{flex-direction:column}.merchant-lesson-actions{justify-content:flex-start}}.setting-link{width:100%;justify-content:space-between;align-items:center;text-align:left;background:none;border:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0;color:var(--text);font:inherit;margin:4px 0 16px}.setting-link svg{color:var(--muted);flex:0 0 auto}.merchant-row{display:grid;gap:8px}dl.read-back{margin:10px 0}dl.read-back>div{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}dl.read-back dt{color:var(--muted)}dl.read-back dd{margin:0}.add-statement{display:grid;gap:6px;justify-items:start}.add-statement .note{margin:0}.statement-body{margin-bottom:14px}.statement-body h3{margin:6px 0 2px;font-size:15px}.statement-check{font-size:13px}.statement-check .queue-status{margin-right:6px}.statement-lines{list-style:none;margin:8px 0;padding:0;display:grid;gap:0}.statement-line,.check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.statement-line-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statement-weak h4,.parts-picker h4{margin:14px 0 4px;font-size:13.5px}.check-row{cursor:pointer}.mono-sm.pos{color:var(--pos)}.warn-text{color:var(--warn)}.match-rows{list-style:none;margin:8px 0;padding:0}.match-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.match-main{display:grid;gap:2px;min-width:0}.match-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.match-pair{display:grid;gap:10px;margin:10px 0}@container (min-width: 520px){.match-pair{grid-template-columns:1fr 1fr}}.match-side{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.match-reasons{margin:6px 0;padding-left:18px;font-size:13px;color:var(--muted)}.match-choices{display:grid;margin:8px 0}.txn-links{display:grid;gap:6px}.txn-links .read-back li{align-items:center}.parts-picker{display:grid;gap:4px}p.with-icon{display:flex;align-items:center;gap:8px}.inline-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}.inline-edit .input{flex:1 1 140px;min-width:0}.statement-descriptor{margin:0 0 6px;overflow-wrap:anywhere}.statement-line-detail{display:grid;gap:4px}.txn-hints{display:grid;gap:8px}.txn-hint{padding:8px 10px;border:1px dashed var(--border);border-radius:var(--radius-sm)}.txn-hint .note{margin:0 0 6px}.answer-choices{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.card-slip-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px}.card-slip-row .mono-sm{color:var(--muted)}.queue-section-head{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px;font-size:12px;font-weight:600;color:var(--muted)}.queue-section{display:grid}.queue-kind{color:var(--muted);flex:none}.slip-step{border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.slip-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px}.slip-main{display:grid;gap:1px;flex:1 1 160px;min-width:0}.period-totals{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.period-totals>div{display:grid;gap:1px}.period-totals dt{font-size:12px;color:var(--muted)}.period-totals dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.period-totals dd.pos{color:var(--pos)}.period-totals .note{flex-basis:100%;margin:0}@media(min-width:1024px){.split.ask-split{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}}.ask-thread{display:flex;flex-direction:column;gap:12px;min-height:420px}.ask-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative}.ask-head h2,.ask-head h3{margin:0}.ask-head .row>*{flex:0 0 auto}.ask-bubbles{display:flex;flex-direction:column;gap:10px;flex:1}.ask-turn{display:flex;flex-direction:column;gap:10px}.ask-hint{font-size:13.5px}.bubble{padding:9px 12px;border-radius:12px;max-width:88%;font-size:14px}.bubble.me{align-self:flex-end;background:var(--surface-2);border:1px solid var(--border)}.bubble.pn{align-self:flex-start;border:1px solid var(--border)}.bubble.error-text{color:var(--neg)}.ask-text{margin:0}.ask-caveat-line{margin:6px 0 0;font-size:12.5px}.ask-choices{flex-wrap:wrap;gap:8px;margin-top:8px}.ask-choices>*{flex:0 0 auto}.ask-input{display:flex;gap:8px;align-items:center}.ask-input .input{flex:1}.ask-result{display:flex;flex-direction:column;gap:12px}.ask-result .note{font-size:12.5px;color:var(--muted);margin:0}.ask-pills,.ask-pill,.ask-pins{position:relative}.ask-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:180px;max-height:260px;overflow:auto;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.ask-pins .ask-menu{left:auto;right:0}.ask-menu-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:6px 8px;border:none;background:none;color:var(--text);font:inherit;font-size:13px;border-radius:6px;cursor:pointer}.ask-menu-item:hover,.ask-menu-item:focus-visible{background:var(--surface-2)}.ask-pin-row{display:flex;align-items:center;gap:4px}.ask-chart{width:100%;min-height:220px}.ask-chart-failed{font-size:13px}.ask-table-wrap{overflow-x:auto}.ask-table{width:100%;border-collapse:collapse;font-size:13px}.ask-table th{text-align:left;font-weight:600;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--border)}.ask-table td{padding:6px 8px;border-bottom:1px solid var(--border)}.ask-table .num{text-align:right}.ask-table .mono{font-family:var(--mono, "IBM Plex Mono", monospace);font-variant-numeric:tabular-nums}.ask-menu.ask-menu-right{left:auto;right:0}.ask-export-done{display:block;font-size:12px;margin-top:4px;text-align:right}.btn.listening{color:var(--neg);border-color:var(--neg)}
