.invoices-page{flex-direction:column;gap:28px;display:flex}.invoices-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.invoices-header__actions{flex-wrap:nowrap;align-items:center;gap:12px;display:inline-flex}.invoices-toggle{color:var(--ink-2,var(--ink));letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.invoices-toggle input[type=checkbox]{appearance:none;background:var(--paper-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;width:32px;height:18px;transition:background .12s;position:relative}.invoices-toggle input[type=checkbox]:after{content:"";background:var(--ink);border-radius:999px;width:14px;height:14px;transition:transform .12s;position:absolute;top:1px;left:1px}.invoices-toggle input[type=checkbox]:checked{background:var(--accent)}.invoices-toggle input[type=checkbox]:checked:after{transform:translate(14px)}.invoices-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invoices-empty{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.invoices-empty h3{font-variation-settings:"wght" 640;margin:0;font-size:22px}.invoices-empty p{color:var(--muted);margin:0;font-size:14.5px}.invoices-list{flex-direction:column;gap:10px;display:flex}.invoices-row{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.invoices-row__main{flex-direction:column;gap:2px;min-width:0;display:flex}.invoices-row__period{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:12.5px}.invoices-row__currency{border-left:1px solid var(--line);font-variation-settings:"wght" 600;margin-left:8px;padding-left:8px}.invoices-row__counterparty{font-variation-settings:"wght" 580;align-items:center;gap:8px;min-width:0;font-size:16px;display:inline-flex}.invoices-row--muted{opacity:.78}.invoices-row__edit{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.invoices-row__edit:hover,.invoices-row__edit:focus-visible{background:var(--paper-2);border-color:var(--line);color:var(--ink);outline:none}.invoices-row__count{color:var(--muted);font-size:12px}.invoices-row__amount{color:var(--income);font-variation-settings:"wght" 620;white-space:nowrap;font-size:18px}.invoices-row__actions{flex-wrap:nowrap;align-items:center;gap:8px;display:inline-flex}.invoices-row__issued{flex-direction:column;align-items:flex-end;gap:2px;font-size:12.5px;display:inline-flex}.invoices-row__date{color:var(--muted)}.invoices-row__confirm{align-items:center;gap:6px;display:inline-flex}.invoice-modal{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);z-index:100;flex-direction:column;gap:14px;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);padding:22px 24px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 48px #14150f2e}.invoice-modal__head h2{font-variation-settings:"wght" 640;margin:0;font-size:20px}.invoice-modal__hint{color:var(--muted);margin:6px 0 0;font-size:13.5px}.invoice-modal__field{flex-direction:column;gap:6px;display:flex}.invoice-modal__field label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-variation-settings:"wght" 580;font-size:12.5px}.invoice-modal__field input,.invoice-modal__field textarea{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);resize:vertical;border-radius:10px;padding:9px 12px;font-family:inherit;font-size:14.5px}.invoice-modal__field input:focus-visible,.invoice-modal__field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.invoice-modal__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.invoice-modal__sub{color:var(--muted);font-size:12.5px}.invoice-modal__error{color:var(--negative,#b3261e);margin-left:4px}.invoice-modal__check{color:var(--ink-2);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.invoice-modal__actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:inline-flex}.invoice-modal__section{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:8px;display:flex}.invoice-modal__lines-bulk{align-items:center;gap:8px;margin-bottom:6px;display:flex}.invoice-modal__lines-bulk input{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:10px;flex:auto;padding:8px 12px;font-family:inherit;font-size:14px}.invoice-modal__lines-bulk input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.invoice-modal__lines{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.invoice-modal__lines th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);font-variation-settings:"wght" 580;padding:6px 8px 6px 0;font-size:11px}.invoice-modal__lines th.num,.invoice-modal__lines td.num{text-align:right}.invoice-modal__lines td{vertical-align:middle;border-bottom:1px solid var(--line);padding:8px 8px 8px 0}.invoice-modal__lines tr:last-child td{border-bottom:none}.invoice-modal__lines td:last-child{padding-right:0}.invoice-modal__lines-date{color:var(--muted);white-space:nowrap;width:110px;font-size:12.5px}.invoice-modal__lines input{border:1px solid var(--line);background:var(--paper-2);width:100%;color:var(--ink);border-radius:8px;padding:6px 9px;font-family:inherit;font-size:13.5px}.invoice-modal__lines input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.invoice-modal__section:first-of-type{border-top:none;padding-top:0}.invoice-modal__section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variation-settings:"wght" 620;font-size:11px}.invoice-form-modal,.client-modal{width:min(620px,100vw - 32px)}.client-modal__alias-search{border:1px solid var(--line);background:var(--paper-2);width:100%;color:var(--ink);border-radius:10px;margin:4px 0 0;padding:7px 12px;font-family:inherit;font-size:13.5px}.client-modal__alias-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.client-modal__alias-list{border:1px solid var(--line);background:var(--paper-2);border-radius:10px;flex-direction:column;gap:4px;max-height:220px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.client-modal__alias-item label{cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink);font-variation-settings:"wght" 480;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;display:flex}.client-modal__alias-item label:hover{background:#00000008}.client-modal__alias-display{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.client-modal__alias-currency{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.client-modal__no-suggestions{color:var(--muted);border:1px dashed var(--line);background:var(--paper-2);border-radius:10px;padding:10px 12px;font-size:13px}.client-modal__extras{margin-top:8px}.client-modal__extras-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variation-settings:"wght" 580;margin-bottom:4px;font-size:11px}.client-modal__manual{align-items:center;gap:8px;margin-top:8px;display:flex}.client-modal__manual input{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:10px;flex:auto;padding:8px 12px;font-family:inherit;font-size:14px}.client-modal__manual input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.client-modal__delete{color:var(--negative,#b3261e)}.client-modal__spacer{flex:auto}.invoice-print-region{width:800px;position:fixed;top:0;left:-10000px}.invoice-doc{color:#111;background:#fff;padding:36px 40px;font-family:Inter,system-ui,sans-serif;font-size:12pt;line-height:1.4}.invoice-doc__head{border-bottom:1px solid #ddd;justify-content:space-between;gap:32px;margin-bottom:20px;padding-bottom:18px;display:flex}.invoice-doc__sender-name{font-variation-settings:"wght" 640;font-size:14pt}.invoice-doc__sender-line{color:#444;font-size:11pt}.invoice-doc__meta{text-align:right;min-width:200px}.invoice-doc__title{font-variation-settings:"wght" 720;letter-spacing:-.02em;margin:0 0 12px;font-size:22pt}.invoice-doc__meta dl{text-align:left;grid-template-columns:auto 1fr;justify-content:end;gap:4px 14px;margin:0;display:grid}.invoice-doc__meta dl>div{display:contents}.invoice-doc__meta dt{color:#666;font-size:10.5pt}.invoice-doc__meta dd{margin:0;font-size:11pt}.invoice-doc__recipient{margin-bottom:18px}.invoice-doc__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#666;margin-bottom:4px;font-size:9pt}.invoice-doc__counterparty{font-variation-settings:"wght" 580;font-size:14pt}.invoice-doc__recipient-details{color:#333;white-space:pre-wrap;margin-top:4px;font-size:10.5pt;line-height:1.45}.invoice-doc__table{border-collapse:collapse;width:100%;margin-bottom:18px}.invoice-doc__table thead th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:#555;border-bottom:1px solid #ccc;padding:8px 6px;font-size:10pt}.invoice-doc__table tbody td{vertical-align:top;border-bottom:1px solid #eee;padding:8px 6px;font-size:11pt}.invoice-doc__table tfoot td{font-variation-settings:"wght" 640;padding:12px 6px 0;font-size:12pt}.invoice-doc__table .num{text-align:right}.invoice-doc__footer{color:#666;border-top:1px solid #ddd;margin-top:28px;padding-top:14px;font-size:10pt;font-style:italic}@media print{@page{size:A4;margin:14mm}body.printing-invoice{background:#fff}body.printing-invoice>:not(.invoice-print-region){display:none!important}body.printing-invoice .invoice-print-region{width:auto!important;position:static!important;top:auto!important;left:auto!important}body.printing-invoice .invoice-doc{padding:0}}.invoices-empty--early{margin-bottom:24px}.invoices-early-section{margin:24px 0 32px}.invoices-early-section__title{text-transform:uppercase;letter-spacing:.06em;color:#666;margin:0 0 12px;font-size:14px}.invoices-row--early{background:#faf8ff;border-left:3px solid #6b21a8}.invoices-row__candidates{border-top:1px dashed #ccc;grid-column:1/-1;margin-top:8px;padding:12px 12px 0;font-size:13px}.invoices-row__candidates-title{color:#444;margin-bottom:6px;font-weight:600}.invoices-row__candidates ul{margin:0;padding:0;list-style:none}.invoices-row__candidates li{grid-template-columns:auto 1fr auto auto auto auto;align-items:center;gap:12px;padding:6px 0;display:grid}.invoices-row__candidates li.is-dismissed{opacity:.65}.invoices-row__candidates em{color:#b91c1c;font-size:12px;font-style:normal}.invoice-doc__notes{background:#fafafa;border-left:3px solid #ccc;margin:20px 0;padding:12px 16px;font-size:14px;line-height:1.5}:root{--bg:#f1ede2;--paper:#faf7ed;--paper-2:#f3eedf;--ink:#14150f;--ink-2:#2a2b22;--muted:#6c6a5a;--muted-2:#a5a18d;--line:#ddd6c2;--line-2:#e9e2cd;--accent:#1f9a55;--accent-ink:#0e4a26;--accent-soft:#d2efc9;--pop:#c6ff61;--pop-2:#ffb84d;--hot:#ff5a3a;--income:#1f9a55;--income-soft:#d4ecd0;--expense:#14150f;--withdraw:#d27d2a;--negative:#d94a36;--row-h:44px;--gutter:32px;--maxw:1240px;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:28px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-variation-settings:"wght" 440, "wdth" 100, "opsz" 14;-webkit-font-smoothing:antialiased;margin:0;font-family:Bricolage Grotesque,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14.5px;line-height:1.45}.serif{font-variation-settings:"wght" 700, "wdth" 80, "opsz" 96;letter-spacing:-.02em;font-family:Bricolage Grotesque,sans-serif}.display{font-variation-settings:"wght" 720, "wdth" 75, "opsz" 96;letter-spacing:-.025em;font-family:Bricolage Grotesque,sans-serif}.mono{font-variant-numeric:tabular-nums;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button{font-family:inherit}::selection{background:var(--pop);color:var(--ink)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:50;background:color-mix(in oklab, var(--bg) 84%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{max-width:var(--maxw);padding:14px var(--gutter);grid-template-columns:auto 1fr auto;align-items:center;gap:28px;margin:0 auto;display:grid}.brand{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;text-decoration:none;display:inline-flex}.brand .mark{background:var(--ink);width:30px;height:30px;color:var(--pop);font-variation-settings:"wght" 800, "wdth" 75;box-shadow:2px 2px 0 var(--accent);border-radius:10px;justify-content:center;align-items:center;font-family:Bricolage Grotesque,sans-serif;font-size:18px;display:inline-flex;position:relative;transform:rotate(-6deg)}.brand .mark:after{content:"";background:var(--accent);border:2.5px solid var(--bg);border-radius:999px;width:12px;height:12px;position:absolute;bottom:-5px;right:-5px}.brand .word{font-variation-settings:"wght" 720, "wdth" 80;letter-spacing:-.025em;font-family:Bricolage Grotesque,sans-serif;font-size:22px}.brand .word em{color:var(--accent);font-variation-settings:"wght" 720, "wdth" 80;font-style:normal}.nav{gap:2px;display:flex}.nav button{color:var(--muted);font-variation-settings:"wght" 520;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;text-decoration:none;transition:color .15s,background .15s;display:inline-flex;position:relative}.nav button:hover{color:var(--ink)}.nav button.active{background:var(--ink);color:var(--paper)}.nav button .ct{background:var(--accent);color:#fff;font-variant-numeric:tabular-nums;font-variation-settings:"wght" 700;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 7px;font-size:11px;display:inline-flex}.nav button.active .ct{background:var(--pop);color:var(--ink)}.topbar-right{align-items:center;gap:12px;display:flex}.privacy-pill{background:var(--paper);border:1px solid var(--line);height:30px;color:var(--muted);font-variation-settings:"wght" 520;cursor:default;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;transition:border-color .15s,color .15s;display:inline-flex}.privacy-pill:hover{color:var(--ink);border-color:var(--ink)}.privacy-pill .dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent);border-radius:999px}.menu-btn{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 9px}.menu-btn:hover{background:color-mix(in oklab, var(--ink) 6%, transparent);color:var(--ink)}.menu-btn:disabled{cursor:not-allowed;opacity:.35}.page{max-width:var(--maxw);padding:44px var(--gutter) 80px;width:100%;margin:0 auto}.page-narrow{max-width:820px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-variation-settings:"wght" 600;align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);border-radius:2px;width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.page-title{font-variation-settings:"wght" 720, "wdth" 78, "opsz" 96;letter-spacing:-.03em;margin:10px 0 0;font-family:Bricolage Grotesque,sans-serif;font-size:56px;line-height:.98}.page-title em{color:var(--accent);font-variation-settings:"wght" 720, "wdth" 78, "opsz" 96;background:var(--pop);border-radius:8px;padding:0 8px;font-style:normal;display:inline-block;transform:rotate(-2deg)translateY(-2px)}.page-sub{color:var(--muted);max-width:56ch;margin-top:14px;font-size:15px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}.kbd{text-align:center;background:var(--paper);border:1px solid var(--line);min-width:20px;height:20px;color:var(--ink);vertical-align:1px;border-bottom-width:2.5px;border-radius:6px;padding:0 6px;font:500 11px/19px DM Mono,monospace;display:inline-block}.btn{appearance:none;color:inherit;font-variation-settings:"wght" 580;cursor:pointer;letter-spacing:-.005em;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:14.5px;transition:background .15s,border-color .15s,color .15s,transform 80ms,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover:not(:disabled){background:var(--accent-ink)}.btn.primary:disabled{background:var(--muted-2);color:var(--paper);opacity:1}.btn.accent{background:var(--accent);color:#fff;box-shadow:2px 2px 0 var(--ink)}.btn.accent:hover:not(:disabled){box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.btn.pop{background:var(--pop);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.btn.pop:hover:not(:disabled){box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.btn.ghost{color:var(--ink);border:1.5px solid var(--ink);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn.link{color:var(--ink);text-underline-offset:4px;background:0 0;padding:0;text-decoration:underline;text-decoration-thickness:1.5px}.btn.link:hover:not(:disabled){color:var(--accent)}.btn.danger,.btn.destructive{color:var(--negative)}.btn.danger:hover:not(:disabled),.btn.destructive:hover:not(:disabled){background:color-mix(in oklab, var(--negative) 8%, transparent)}.btn.sm{padding:6px 12px;font-size:12.5px}.amount{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.chip{font-variation-settings:"wght" 580;background:var(--paper-2);height:24px;color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.chip .swatch{opacity:.85;background:currentColor;border-radius:2px;width:7px;height:7px}.chip.income{color:var(--accent-ink);background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 30%, var(--line))}.chip.expense{color:var(--ink);background:var(--paper);border-color:var(--line)}.chip.withdraw{color:#7c4a16;background:color-mix(in oklab, var(--withdraw) 18%, var(--paper));border-color:color-mix(in oklab, var(--withdraw) 35%, var(--line))}.chip.transfer{color:var(--muted);background:color-mix(in oklab, var(--muted) 12%, var(--paper));border-color:color-mix(in oklab, var(--muted) 30%, var(--line))}.chip.unknown{color:#7a2e16;background:color-mix(in oklab, var(--hot) 12%, var(--paper));border-color:color-mix(in oklab, var(--hot) 30%, var(--line))}.chip.flag{color:#7a2e16;background:color-mix(in oklab, var(--hot) 16%, var(--paper));border-color:color-mix(in oklab, var(--hot) 30%, var(--line))}.tx-table{border-collapse:collapse;width:100%}.tx-table th,.tx-table td{text-align:left;font-variation-settings:"wght" 450;height:var(--row-h);border-bottom:1px solid var(--line);vertical-align:middle;padding:0 16px;font-size:14px}.tx-table thead th{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-variation-settings:"wght" 600;border-bottom:1px solid var(--line);background:var(--paper-2);z-index:1;cursor:pointer;height:40px;font-size:11px;position:sticky;top:118px}.tx-table tbody tr{cursor:pointer;transition:background .12s}.tx-table tbody tr:hover{background:color-mix(in oklab, var(--ink) 3%, transparent)}.tx-table tbody tr.active{background:var(--accent-soft)}.tx-table tbody tr.flagged td:first-child{box-shadow:inset 4px 0 0 var(--hot)}.tx-table td.fx-col{white-space:nowrap}.tx-rate-note{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:11.5px;display:inline-flex}.tx-rate-tag{letter-spacing:.08em;font-variation-settings:"wght" 700;background:var(--accent-soft);color:var(--accent-ink);border-radius:4px;padding:2px 5px;font-size:9px}.tx-table td.amt-col{text-align:right;font-variant-numeric:tabular-nums;font-variation-settings:"wght" 540;padding-right:20px}.tx-table .cp{text-overflow:ellipsis;white-space:nowrap;font-variation-settings:"wght" 520;align-items:center;gap:10px;max-width:280px;display:inline-flex;overflow:hidden}.tx-table .cp .ico{background:var(--paper-2);font-variation-settings:"wght" 700;width:26px;height:26px;color:var(--ink);border:1px solid var(--line);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.tx-table-card{margin-top:14px;padding:0;overflow:clip}.tx-expanded td{padding:0!important}.tx-expanded .panel{background:var(--paper-2);border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr;gap:28px;padding:20px 22px 24px;display:grid}.tx-expanded h4{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-variation-settings:"wght" 600;margin:0 0 8px;font-size:11px}.tx-expanded .reason{color:var(--ink-2);max-width:60ch;font-size:14px;line-height:1.55}.tx-expanded dl{grid-template-columns:max-content 1fr;gap:5px 16px;margin:0;font-size:13.5px;display:grid}.tx-expanded dt{color:var(--muted)}.tx-expanded dd{margin:0}.tx-expanded .actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tx-expanded .pair-undo{color:var(--ink-2);border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:13px;display:flex}.tx-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.tx-header .meta{color:var(--muted);font-size:13.5px}.tx-header .meta .num{color:var(--ink);font-variation-settings:"wght" 580}.tx-footnote{color:var(--muted);align-items:center;gap:14px;margin-top:14px;font-size:12px;display:flex}.tx-footnote .swatch-flag{background:var(--hot);border-color:var(--hot);color:#fff;min-width:24px}.conf-bar{color:var(--muted);align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.conf-bar .track{background:var(--line-2);border-radius:999px;width:64px;height:6px;overflow:hidden}.conf-bar .fill{background:var(--ink);border-radius:999px;height:100%}.conf-bar.low .fill{background:var(--hot)}.conf-bar.mid .fill{background:var(--pop-2)}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.dash-head-left{flex:1 1 0;min-width:0}.hero-grid{grid-template-columns:1.6fr 1fr;gap:18px;margin-top:30px;transition:grid-template-columns .45s cubic-bezier(.4,0,.2,1);display:grid}.hero-grid.solo{grid-template-columns:1fr 0fr;gap:0}.hero{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 30px 30px;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle, var(--pop) 0%, transparent 70%);opacity:.35;pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.hero .label-row{justify-content:space-between;align-items:center;display:flex;position:relative}.hero .label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-variation-settings:"wght" 600;font-size:11.5px}.hero .label-note{color:var(--muted);font-size:12.5px}.hero .big{font-variation-settings:"wght" 740, "wdth" 75, "opsz" 96;letter-spacing:-.045em;align-items:baseline;gap:6px;margin-top:22px;font-family:Bricolage Grotesque,sans-serif;font-size:102px;line-height:.95;transition:opacity .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.hero:has(.horizon-chart-wrap:hover) .big{opacity:.18}.hero .big .sym{color:var(--muted);font-variation-settings:"wght" 600, "wdth" 80;font-size:56px}.hero .big .frac{color:var(--muted);font-size:42px}.hero .big.neg{color:var(--negative)}.hero .big.pos{color:var(--accent)}.hero .sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;font-size:14px;display:flex;position:relative}.hero .sub .delta{color:var(--accent);font-variation-settings:"wght" 600}.hero .sub .delta.neg{color:var(--negative)}.hero .spark{margin-top:18px;position:relative}.spark-labels{color:var(--muted-2);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;margin-top:4px;font-size:10.5px;display:flex}.review-nudge{background:var(--ink);color:var(--paper);border-radius:var(--r-xl);flex-direction:column;padding:26px 26px 22px;display:flex;position:relative;overflow:hidden}.review-nudge:before{content:"";background:var(--hot);opacity:.9;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-40px;left:-40px}.review-nudge .n{font-variation-settings:"wght" 740, "wdth" 75;color:var(--pop);letter-spacing:-.03em;font-family:Bricolage Grotesque,sans-serif;font-size:64px;line-height:1;position:relative}.review-nudge .lbl{text-transform:uppercase;letter-spacing:.16em;color:var(--pop);font-variation-settings:"wght" 700;font-size:11px;position:relative}.review-nudge .desc{color:#ffffffc7;margin-top:8px;font-size:14px;line-height:1.5;position:relative}.review-nudge .cta{margin-top:auto;padding-top:16px;position:relative}.review-nudge.celebrate{background:var(--paper);color:var(--ink);border:1px solid var(--line);text-align:center;transform-origin:50%;justify-content:center;align-items:center;padding:32px 26px;animation:.5s cubic-bezier(.34,1.56,.64,1) both celebrate-enter}.review-nudge.celebrate:before{background:var(--accent-soft);opacity:.7;animation:1.6s ease-out both celebrate-blob}.review-nudge.celebrate.exiting{animation:.5s cubic-bezier(.4,0,.6,1) forwards celebrate-exit}.review-nudge.celebrate .celebrate-tick{font-variation-settings:"wght" 740, "wdth" 75;color:var(--income);font-family:Bricolage Grotesque,sans-serif;font-size:140px;line-height:1;animation:.7s cubic-bezier(.34,1.56,.64,1) .1s both celebrate-tick;position:relative}.review-nudge.celebrate .celebrate-lbl{font-variation-settings:"wght" 740, "wdth" 75;letter-spacing:-.03em;color:var(--income);margin-top:12px;font-family:Bricolage Grotesque,sans-serif;font-size:44px;animation:.5s ease-out .25s both celebrate-lbl;position:relative}@keyframes celebrate-enter{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes celebrate-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes celebrate-tick{0%{opacity:0;transform:scale(.2)rotate(-12deg)}60%{opacity:1;transform:scale(1.15)rotate(0)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes celebrate-lbl{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrate-blob{0%{opacity:0;transform:scale(.6)}60%{opacity:.7;transform:scale(1.6)}to{opacity:.35;transform:scale(2.2)}}@media (prefers-reduced-motion:reduce){.hero-grid,.review-nudge.celebrate,.review-nudge.celebrate:before,.review-nudge.celebrate.exiting,.review-nudge.celebrate .celebrate-tick,.review-nudge.celebrate .celebrate-lbl{transition:none!important;animation:none!important}}.breakdown{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);margin-top:18px;overflow:hidden}.bd-head{justify-content:space-between;align-items:baseline;padding:20px 24px 10px;display:flex}.bd-head h3{font-variation-settings:"wght" 700, "wdth" 78;letter-spacing:-.015em;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:26px}.bd-head .meta{color:var(--muted);font-variation-settings:"wght" 500;font-size:13px}.bd-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.bd-grid:has(>:nth-child(4)){grid-template-columns:repeat(4,1fr)}.bd-cell{border-right:1px solid var(--line);padding:22px 24px 24px;position:relative}.bd-cell:last-child{border-right:0}.bd-cell .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-variation-settings:"wght" 600;align-items:center;gap:8px;font-size:12px;display:flex}.bd-cell .lbl .swatch{border-radius:2px;width:8px;height:8px}.bd-cell .v{font-variation-settings:"wght" 720, "wdth" 78, "opsz" 96;letter-spacing:-.025em;align-items:baseline;gap:4px;margin-top:12px;font-family:Bricolage Grotesque,sans-serif;font-size:36px;line-height:1.05;display:flex}.bd-cell .v .sym{color:var(--muted);font-variation-settings:"wght" 540;font-size:22px}.bd-cell .v .frac{color:var(--muted);font-size:18px}.bd-cell .count{color:var(--muted);font-variation-settings:"wght" 500;margin-top:8px;font-size:13px}.bd-cell.income .v{color:var(--accent)}.bd-cell.expense .v{color:var(--ink)}.bd-cell.withdraw .v{color:var(--withdraw)}.bd-cell.transfer .v{color:var(--muted)}.bd-cell .bar{height:4px;position:absolute;top:0;left:0;right:0}.bd-cell.income .bar{background:var(--accent)}.bd-cell.expense .bar{background:var(--ink)}.bd-cell.withdraw .bar{background:var(--withdraw)}.bd-cell.transfer .bar{background:var(--muted)}.balance-summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);margin-top:20px;margin-bottom:28px;overflow:hidden}.balance-grid{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.bal-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 24px 24px}.bal-cell:last-child{border-right:0}.bal-cell .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-variation-settings:"wght" 600;align-items:center;gap:8px;font-size:12px;display:flex}.bal-cell .lbl .flag{border-radius:3px;align-items:center;width:22px;height:14px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.bal-cell .lbl .flag svg{width:100%;height:100%;display:block}.bal-cell .v{font-variation-settings:"wght" 720, "wdth" 78, "opsz" 96;letter-spacing:-.025em;color:var(--ink);align-items:baseline;gap:4px;margin-top:12px;font-family:Bricolage Grotesque,sans-serif;font-size:36px;line-height:1.05;display:flex}.bal-cell .v .sym{color:var(--muted);font-variation-settings:"wght" 540;font-size:22px}.bal-cell .v .frac{color:var(--muted);font-size:18px}.bal-cell.neg .v{color:var(--ink)}.bal-cell .count{color:var(--muted);font-variation-settings:"wght" 500;margin-top:8px;font-size:13px}.balance-total{border-top:1px solid var(--line);background:var(--paper-2,transparent);justify-content:space-between;align-items:baseline;padding:18px 24px;display:flex}.balance-total .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-variation-settings:"wght" 600;align-items:center;gap:8px;font-size:12px;display:inline-flex}.balance-total .lbl .flag{border-radius:3px;flex:none;align-items:center;width:22px;height:14px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.balance-total .lbl .flag svg{width:100%;height:100%;display:block}.balance-total .v{font-variation-settings:"wght" 720, "wdth" 78, "opsz" 96;letter-spacing:-.02em;color:var(--ink);align-items:baseline;gap:4px;font-family:Bricolage Grotesque,sans-serif;font-size:28px;line-height:1;display:inline-flex}.balance-total .v .sym{color:var(--muted);font-variation-settings:"wght" 540;font-size:18px}.balance-total .v .frac{color:var(--muted);font-size:14px}.balance-total .v.neg{color:var(--ink)}.balance-total .pending{color:var(--muted);font-variation-settings:"wght" 500;font-size:13px}.balance-note{color:var(--muted);border-top:1px solid var(--line);padding:12px 24px 16px;font-size:13px}.ccy-block+.ccy-block{margin-top:36px}.ccy-header{justify-content:space-between;align-items:baseline;padding:0 4px 14px;display:flex}.ccy-header .name{font-variation-settings:"wght" 700, "wdth" 78;letter-spacing:-.015em;align-items:center;gap:12px;font-family:Bricolage Grotesque,sans-serif;font-size:30px;display:flex}.ccy-header .name .flag{border-radius:4px;width:26px;height:18px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.ccy-header .meta{color:var(--muted);font-variation-settings:"wght" 500;font-size:13px}.period{border:1.5px solid var(--ink);background:var(--paper);border-radius:999px;align-items:center;gap:0;padding:3px;display:inline-flex;overflow:hidden}.period .mode{gap:2px;display:flex}.period .mode button{appearance:none;color:var(--muted);cursor:pointer;font-variation-settings:"wght" 560;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:13px}.period .mode button.on{background:var(--ink);color:var(--paper)}.period .nav-arrows{align-items:center;display:flex}.period .nav-arrows button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 8px}.period .nav-arrows button:hover{color:var(--ink);background:var(--paper-2)}.period .nav-arrows button:disabled{opacity:.3;cursor:not-allowed}.period .label{font-variation-settings:"wght" 600;text-align:center;font-variant-numeric:tabular-nums;min-width:100px;padding:6px 12px;font-size:13.5px}.fx-control{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px;padding:12px 16px;display:flex}.fx-field{align-items:center;gap:8px;display:flex}.fx-label{color:var(--muted);font-variation-settings:"wght" 560;font-size:12px}.fx-select{border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);font-variation-settings:"wght" 560;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.fx-mode{border:1.5px solid var(--ink);background:var(--paper);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.fx-mode button{appearance:none;color:var(--muted);cursor:pointer;font-variation-settings:"wght" 560;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:13px}.fx-mode button.on{background:var(--ink);color:var(--paper)}.fx-rates{flex-wrap:wrap;gap:10px;display:flex}.fx-rate-input{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.fx-rate-input input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);width:86px;color:var(--ink);font-variant-numeric:tabular-nums;padding:5px 8px;font-size:13px}.fx-rate-ccy{font-variation-settings:"wght" 600;color:var(--ink)}.fx-notice{border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);color:var(--muted);margin-top:16px;padding:12px 16px;font-size:13px}.fx-notice.pending{border-style:dashed}.ingest-stale-banner{border-radius:var(--r-md);border:1px solid var(--accent);background:var(--paper);color:var(--ink);align-items:center;gap:12px;margin:12px 24px 0;padding:12px 16px;font-size:13px;display:flex}.ingest-stale-banner .ingest-stale-msg{flex:1;line-height:1.4}.ingest-stale-banner svg{color:var(--accent);flex:none}.tx-converted{align-items:baseline;gap:6px;display:inline-flex}.tx-converted .tx-arrow{color:var(--muted)}.tx-converted .tx-home{font-variation-settings:"wght" 600}.tx-converted .tx-unconv{color:var(--muted);font-size:11px}.review-progress{align-items:center;gap:16px;margin-top:26px;display:flex}.review-progress .pill{border:1.5px solid var(--ink);background:var(--paper);font-variation-settings:"wght" 560;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:13px;display:inline-flex}.review-progress .pill .mono{font-size:12.5px}.review-progress .track{background:var(--line-2);border-radius:999px;flex:1;max-width:240px;height:6px;overflow:hidden}.review-progress .track .fill{background:var(--accent);height:100%;transition:width .3s cubic-bezier(.4,.2,.2,1)}.review-progress .undo{margin-left:auto}.review-progress .remaining{color:var(--muted);font-size:12.5px}.card-stack{height:480px;margin-top:26px;position:relative}.review-card{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-xl);box-shadow:6px 6px 0 var(--ink);z-index:3;flex-direction:column;padding:30px 34px 26px;transition:transform .25s cubic-bezier(.4,.2,.2,1),opacity .25s;display:flex;position:absolute;inset:0}.review-card.bg-1{opacity:.7;z-index:2;box-shadow:4px 4px 0 color-mix(in oklab, var(--ink) 50%, transparent);transform:translateY(10px)scale(.97)}.review-card.bg-2{opacity:.4;z-index:1;box-shadow:3px 3px 0 color-mix(in oklab, var(--ink) 25%, transparent);transform:translateY(18px)scale(.94)}.review-card.exit-left{opacity:0;transform:translate(-120%)rotate(-8deg)}.review-card.exit-right{opacity:0;transform:translate(120%)rotate(8deg)}.review-card.exit-up{opacity:0;transform:translateY(-120%)rotate(-2deg)}.rc-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.rc-head .date{color:var(--muted);font-variation-settings:"wght" 540;font-size:13px}.rc-amount{font-variation-settings:"wght" 740, "wdth" 75;letter-spacing:-.035em;margin:14px 0 6px;font-family:Bricolage Grotesque,sans-serif;font-size:64px;line-height:1}.rc-amount.neg{color:var(--ink)}.rc-amount.pos{color:var(--income)}.rc-amount .sym{color:var(--muted);font-variation-settings:"wght" 600;font-size:36px}.rc-amount .frac{color:var(--muted);font-size:28px}.rc-amount .ccy{color:var(--muted);font-variation-settings:"wght" 540;margin-left:10px;font-family:Bricolage Grotesque,sans-serif;font-size:14px;position:relative;top:-10px}.rc-cp{font-variation-settings:"wght" 640, "wdth" 82;letter-spacing:-.015em;font-size:20px}.rc-cp .raw{color:var(--muted);font-variation-settings:"wght" 460;margin-left:8px;font-family:DM Mono,monospace;font-size:13px}.rc-prop{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);margin-top:18px;padding:16px 18px}.rc-prop .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rc-prop .row b{font-variation-settings:"wght" 640;font-size:13.5px}.rc-prop .row-note{color:var(--muted);font-size:12px}.rc-prop .reason{color:var(--ink-2);margin-top:10px;font-size:14px;line-height:1.55}.rc-fanout{color:var(--ink-2);align-items:center;gap:10px;margin-top:16px;font-size:13.5px;display:flex}.rc-fanout .badge{background:var(--pop);min-width:26px;height:26px;color:var(--ink);font-variation-settings:"wght" 700;border:1.5px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:12.5px;display:inline-flex}.rc-actions{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin-top:auto;padding-top:24px;display:grid}.rc-btn{appearance:none;cursor:pointer;border:1.5px solid var(--ink);background:var(--paper);border-radius:var(--r-md);text-align:left;box-shadow:3px 3px 0 var(--ink);color:inherit;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;font-family:inherit;transition:transform 80ms,box-shadow 80ms;display:flex}.rc-btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.rc-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.rc-btn .top{justify-content:space-between;align-items:center;width:100%;display:flex}.rc-btn .kbd-group{gap:4px;display:inline-flex}.rc-btn .lbl{font-variation-settings:"wght" 640;font-size:14.5px}.rc-btn .sub{color:var(--muted);font-variation-settings:"wght" 500;font-size:12px}.rc-btn .pair-hint{color:var(--ink-2);font-variation-settings:"wght" 600}.rc-btn.proposed{box-shadow:3px 3px 0 var(--pop)}.rc-btn.proposed:hover{box-shadow:4px 4px 0 var(--pop)}.rc-btn .pick{border:1px solid var(--ink);background:var(--pop);color:var(--ink);font-variation-settings:"wght" 700;letter-spacing:.04em;text-transform:uppercase;vertical-align:1.5px;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:9.5px;display:inline-block}.rc-btn.income .lbl:before,.rc-btn.expense .lbl:before,.rc-btn.withdraw .lbl:before,.rc-btn.transfer .lbl:before{content:"";vertical-align:1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.rc-btn.income .lbl:before{background:var(--accent)}.rc-btn.expense .lbl:before{background:var(--ink)}.rc-btn.withdraw .lbl:before{background:var(--withdraw)}.rc-btn.transfer .lbl:before{background:var(--muted)}.review-shortcuts{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:20px;font-size:12.5px;display:flex}.caught-up{text-align:center;padding:70px 20px}.caught-up .icn{background:var(--pop);width:72px;height:72px;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:30px;display:inline-flex}.caught-up h2{font-variation-settings:"wght" 720, "wdth" 78;letter-spacing:-.025em;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:44px}.caught-up p{color:var(--muted);margin:12px 0 24px;font-size:15px}.caught-up .actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.upload-grid{grid-template-columns:1.5fr 1fr;gap:22px;margin-top:30px;display:grid}.dropzone{border:2px dashed var(--ink);border-radius:var(--r-xl);background:var(--paper);text-align:center;flex-direction:column;align-items:center;padding:44px 36px;transition:border-color .15s,background .15s,transform .15s;display:flex;position:relative;overflow:hidden}.dropzone:before{content:"";background:var(--pop);opacity:.25;pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-50px;right:-50px}.dropzone.drag{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.01)}.dropzone .icn{background:var(--pop);width:72px;height:72px;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:18px;justify-content:center;align-items:center;margin-bottom:20px;display:flex;position:relative;transform:rotate(-4deg)}.dropzone h3{font-variation-settings:"wght" 720, "wdth" 78;letter-spacing:-.02em;margin:0 0 6px;font-family:Bricolage Grotesque,sans-serif;font-size:28px;position:relative}.dropzone .hint{color:var(--muted);text-align:left;max-width:42ch;font-size:14px;position:relative}.dropzone .hint ul{margin:8px 0 0;padding-left:20px}.dropzone .hint li{margin:5px 0}.dropzone .or{color:var(--muted-2);text-transform:uppercase;letter-spacing:.16em;font-variation-settings:"wght" 600;margin:18px 0 12px;font-size:12px;position:relative}.dropzone input[type=file]{display:none}.dropzone .file-pill{background:var(--paper-2);border:1.5px solid var(--ink);border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:9px 14px;font-size:13px;display:inline-flex;position:relative}.dropzone .file-pill.error{background:color-mix(in oklab, var(--negative) 10%, var(--paper));border-color:color-mix(in oklab, var(--negative) 35%, var(--line));color:var(--negative)}.privacy-card{border-radius:var(--r-xl);padding:24px}.privacy-card h3{font-variation-settings:"wght" 700, "wdth" 78;letter-spacing:-.015em;margin:0 0 6px;font-family:Bricolage Grotesque,sans-serif;font-size:22px}.privacy-card p{color:var(--ink-2);margin:4px 0 0;font-size:13.5px;line-height:1.55}.privacy-card .meter{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;padding-top:18px;display:flex}.privacy-card .meter .v{font-variation-settings:"wght" 720, "wdth" 78;letter-spacing:-.02em;font-family:Bricolage Grotesque,sans-serif;font-size:32px}.privacy-card .meter .v .size{color:var(--muted);font-variation-settings:"wght" 460;font-size:13px}.privacy-card .meter .l{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-variation-settings:"wght" 600;font-size:11.5px}.privacy-list{color:var(--ink-2);margin:14px 0 0;padding:0;font-size:14px;list-style:none}.privacy-list li{font-variation-settings:"wght" 480;padding:7px 0 7px 24px;position:relative}.privacy-list li:before{content:"✓";width:16px;height:16px;color:var(--accent);font-variation-settings:"wght" 700;font-size:13px;position:absolute;top:7px;left:0}.classify-action{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.classify-action .note{color:var(--muted);font-size:13px}.classify-progress{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-lg);box-shadow:4px 4px 0 var(--ink);margin-top:24px;padding:20px 24px}.classify-progress .row{justify-content:space-between;align-items:baseline;display:flex}.classify-progress .row b{font-variation-settings:"wght" 660;font-size:14px}.classify-progress .row .pct{color:var(--accent);font-variation-settings:"wght" 600;font-family:DM Mono,monospace;font-size:13.5px}.classify-progress .bar{background:var(--line-2);border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.classify-progress .bar .fill{background:var(--accent);height:100%;transition:width .25s linear}.classify-progress .ticker{color:var(--muted);margin-top:12px;font-family:DM Mono,monospace;font-size:12.5px}.classify-progress .dots{letter-spacing:1px;margin-left:1px;display:inline-block}.classify-progress .dots span{opacity:0;animation:1.2s infinite both classify-dots}.classify-progress .dots span:nth-child(2){animation-delay:.2s}.classify-progress .dots span:nth-child(3){animation-delay:.4s}@keyframes classify-dots{0%,80%,to{opacity:0}40%{opacity:1}}.upload-last{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;font-size:13.5px;display:flex}.upload-last .filename{color:var(--ink)}.tx-toolbar{background:var(--paper);border:1.5px solid var(--ink);z-index:10;box-shadow:3px 3px 0 var(--ink);border-radius:999px;align-items:center;gap:10px;margin-top:24px;padding:6px 8px;display:flex;position:sticky;top:60px}.tx-toolbar .search{flex:1;align-items:center;gap:8px;padding:0 14px;display:flex}.tx-toolbar .search input{font:inherit;color:var(--ink);font-variation-settings:"wght" 500;background:0 0;border:0;outline:none;flex:1;padding:9px 0}.tx-toolbar .search input::placeholder{color:var(--muted-2)}.tx-toolbar .seg{background:var(--paper-2);border-radius:999px;gap:2px;padding:3px;display:flex}.tx-toolbar .seg button{appearance:none;cursor:pointer;font:inherit;color:var(--muted);font-variation-settings:"wght" 560;background:0 0;border:0;border-radius:999px;padding:6px 13px;font-size:13px}.tx-toolbar .seg button.on{background:var(--ink);color:var(--paper)}.tx-toolbar .seg button .ct{color:var(--muted-2);margin-left:6px;font-size:11px}.tx-toolbar .seg button.on .ct{color:var(--pop)}.tx-empty{text-align:center;color:var(--muted);padding:80px 20px}.clear-anchor{display:inline-flex;position:relative}.popover-back{z-index:90;background:0 0;position:fixed;inset:0}.clear-popover{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-lg);width:300px;max-width:calc(100vw - 32px);box-shadow:4px 4px 0 var(--ink);z-index:100;padding:16px 18px 14px;position:absolute}.clear-popover.below-right{top:calc(100% + 10px);right:0}.clear-popover.above-right{bottom:calc(100% + 10px);right:0}.clear-popover h3{font-variation-settings:"wght" 720, "wdth" 78;letter-spacing:-.01em;margin:0 0 6px;font-family:Bricolage Grotesque,sans-serif;font-size:18px}.clear-popover p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.45}.clear-popover .actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn.primary.clear-confirm{background:var(--negative)}.btn.primary.clear-confirm:hover:not(:disabled){background:color-mix(in oklab, var(--negative) 85%, black)}.dash-head-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.share-btn{appearance:none;background:var(--paper);border:1.5px solid var(--ink);color:var(--ink);font-variation-settings:"wght" 560;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13.5px;transition:background .15s,color .15s,transform 80ms;display:inline-flex}.share-btn:hover:not(:disabled){background:var(--ink);color:var(--paper)}.share-btn:active:not(:disabled){transform:translateY(1px)}.share-btn:disabled{opacity:.5;cursor:not-allowed}.share-dialog{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-xl);width:min(540px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:6px 6px 0 var(--ink);z-index:100;flex-direction:column;gap:14px;padding:22px 24px 20px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.popover-back:has(+.share-dialog){background:#14150f6b}.share-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-dialog-head h3{font-variation-settings:"wght" 720, "wdth" 80;letter-spacing:-.015em;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:22px}.share-dialog-close{appearance:none;width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:24px;line-height:1;transition:background .12s,color .12s}.share-dialog-close:hover{background:var(--line);color:var(--ink)}.share-picker{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-picker-label{color:var(--muted);font-variation-settings:"wght" 500;font-size:13px}.share-picker-pills{flex-wrap:wrap;gap:6px;display:flex}.share-picker-pills .pill{appearance:none;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);letter-spacing:.02em;cursor:pointer;border-radius:999px;padding:5px 12px;font-family:DM Mono,ui-monospace,monospace;font-size:12px;transition:background .12s,border-color .12s,color .12s}.share-picker-pills .pill:hover:not(.active){border-color:var(--ink)}.share-picker-pills .pill.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.share-preview{aspect-ratio:1080/1350;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.share-preview img{object-fit:contain;width:100%;height:100%;display:block}.share-preview-loading{color:var(--muted);font-variation-settings:"wght" 460;font-size:13.5px}.share-status{color:var(--ink-2);font-variation-settings:"wght" 460;padding:4px 0;font-size:13px}.share-dialog .actions{justify-content:flex-end;gap:8px;display:flex}.spark{width:100%;height:64px;display:block;overflow:visible}.spark .line{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.spark .area{fill:color-mix(in oklab, var(--accent) 10%, transparent);stroke:none}.spark .zero{stroke:var(--line);stroke-dasharray:2 3;stroke-width:1px}.spark .dot{fill:var(--accent);stroke:var(--ink);stroke-width:1.5px}.horizon-chart-wrap{-webkit-user-select:none;user-select:none;width:100%;margin-top:22px;position:relative}.horizon-chart{width:100%;height:100%;display:block;overflow:visible}.horizon-chart .zero-baseline{stroke:var(--ink);stroke-width:1px;opacity:.18;vector-effect:non-scaling-stroke}.horizon-chart .income-area{fill:var(--accent);fill-opacity:.14;stroke:none}.horizon-chart .expense-area{fill:var(--ink);fill-opacity:.11;stroke:none}.horizon-chart .net-line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.horizon-chart .hover-guide{stroke:var(--ink);stroke-width:1px;opacity:.22;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.horizon-chart .dot{stroke:var(--paper);stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:r .12s}.horizon-chart .dot.income{fill:var(--income)}.horizon-chart .dot.expense{fill:var(--ink)}.horizon-chart .dot.net{fill:var(--accent)}.horizon-chart-labels{letter-spacing:.12em;height:14px;color:var(--muted-2);pointer-events:none;font-variation-settings:"wght" 600;font-size:10.5px;position:absolute;bottom:4px;left:0;right:0}.horizon-chart-labels span{transition:color .15s,font-variation-settings .15s;position:absolute;transform:translate(-50%)}.horizon-chart-labels span.active{color:var(--ink);font-variation-settings:"wght" 720}.horizon-chart-caption{pointer-events:none;background:var(--ink);color:var(--paper);white-space:nowrap;z-index:5;border-radius:11px;min-width:140px;padding:11px 14px 12px;font-size:12px;animation:.16s ease-out both horizon-caption-in;position:absolute;top:8px;transform:translate(12px);box-shadow:0 10px 22px #0000002e}.horizon-chart-caption.flip{transform:translate(calc(-100% - 12px))}.horizon-chart-caption .m{font-variation-settings:"wght" 720, "wdth" 78;color:var(--pop);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;font-family:Bricolage Grotesque,sans-serif;font-size:11px}.horizon-chart-caption .r{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;align-items:baseline;gap:18px;line-height:1.45;display:grid}.horizon-chart-caption .r+.r{margin-top:1px}.horizon-chart-caption .r .k{color:#ffffff80;letter-spacing:.02em;font-size:11px}.horizon-chart-caption .r .v{text-align:right;font-variation-settings:"wght" 600}.horizon-chart-caption .r.income .v{color:var(--income-soft)}.horizon-chart-caption .r.expense .v{color:#ffffffd9}.horizon-chart-caption .r.net .v{color:var(--pop);font-variation-settings:"wght" 720, "wdth" 80;font-size:13px}@keyframes horizon-caption-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(12px)}}@media (prefers-reduced-motion:reduce){.hero .big,.horizon-chart-labels span,.horizon-chart-caption,.horizon-chart .dot{transition:none!important;animation:none!important}}.footer{max-width:var(--maxw);padding:26px var(--gutter) 36px;color:var(--muted);border-top:1px solid var(--line);font-variation-settings:"wght" 500;justify-content:space-between;align-items:center;margin:0 auto;font-size:12.5px;display:flex}.footer .dot{background:var(--accent);vertical-align:1px;width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent);border-radius:999px;margin-right:6px;display:inline-block}.footer .coffee{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, var(--muted) 45%, transparent);text-decoration-color:color-mix(in oklab, var(--muted) 45%, transparent);transition:color .12s,text-decoration-color .12s}.footer .coffee:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@media (width<=880px){.topbar-inner{grid-template-columns:auto 1fr}.topbar-right{display:none}.nav{overflow-x:auto}.hero-grid,.upload-grid,.bd-grid{grid-template-columns:1fr}.bd-cell{border-right:0;border-bottom:1px solid var(--line)}.bd-cell:last-child{border-bottom:0}.balance-grid{grid-template-columns:1fr}.bal-cell{border-right:0}.bal-cell:last-child{border-bottom:0}.hero .big{font-size:72px}.page-title{font-size:40px}.rc-actions,.tx-expanded .panel{grid-template-columns:1fr}}.tabbie-loading{font-variation-settings:"wght" 500;min-height:100vh;color:var(--ink-2);letter-spacing:.01em;justify-content:center;align-items:center;font-family:Bricolage Grotesque,sans-serif;font-size:16px;display:flex}.spin{animation:.9s linear infinite tabbie-spin}@keyframes tabbie-spin{to{transform:rotate(360deg)}}.clear-error{color:var(--negative);margin-top:8px;font-size:13px;font-weight:500}.clear-popover.inline{position:absolute;bottom:calc(100% + 8px);right:0}.company-switcher{display:inline-flex;position:relative}.company-switcher__chip{background:var(--paper);border:1.5px solid var(--ink);font-variation-settings:"wght" 500;cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:6px;max-width:160px;padding:6px 10px;font-family:Bricolage Grotesque,sans-serif;font-size:13px;display:inline-flex}.company-switcher__chip:hover{background:color-mix(in oklab, var(--paper) 90%, var(--ink))}.company-switcher__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.company-switcher__menu{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-lg);min-width:200px;max-width:260px;box-shadow:4px 4px 0 var(--ink);z-index:110;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.company-switcher__item{text-align:left;border-radius:calc(var(--r-lg) - 4px);font-variation-settings:"wght" 500;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-family:Bricolage Grotesque,sans-serif;font-size:13px;display:block}.company-switcher__item:hover{background:color-mix(in oklab, var(--paper) 88%, var(--ink))}.company-switcher__item--active{font-variation-settings:"wght" 700}.company-switcher__item--manage{color:var(--ink-2)}.company-switcher__divider{background:var(--line);height:1px;margin:4px 6px}.settings-drawer{z-index:100;background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r-lg);width:min(640px,100vw - 32px);max-height:calc(100vh - 64px);box-shadow:6px 6px 0 var(--ink);flex-direction:column;margin:auto;display:flex;position:fixed;inset:0;overflow:hidden}.settings-drawer__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.settings-drawer__head h2{font-variation-settings:"wght" 720, "wdth" 78;letter-spacing:-.01em;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:24px}.settings-drawer__close{cursor:pointer;color:var(--ink-2);background:0 0;border:0;padding:4px 10px;font-size:28px;line-height:1}.settings-drawer__close:hover{color:var(--ink)}.settings-drawer__body{flex-direction:column;gap:24px;padding:18px 22px 22px;display:flex;overflow-y:auto}.settings-section h3{font-variation-settings:"wght" 720, "wdth" 80;letter-spacing:-.005em;margin:0 0 4px;font-family:Bricolage Grotesque,sans-serif;font-size:16px}.settings-section__hint{color:var(--ink-2);margin:0 0 12px;font-size:13px;line-height:1.45}.settings-section__actions{align-items:center;gap:10px;margin-top:12px;display:flex}.settings-section__saved{color:var(--ink-2);font-size:12px}.settings-company-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.settings-company-row{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.settings-company-row--active{border-color:var(--ink)}.settings-company-row__name{font-variation-settings:"wght" 500;text-overflow:ellipsis;white-space:nowrap;font-family:Bricolage Grotesque,sans-serif;font-size:14px;overflow:hidden}.settings-company-row__badge{font-variation-settings:"wght" 700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:11px}.settings-company-row__actions{gap:6px;display:flex}.settings-company-row__delete{color:var(--negative)}.settings-company-row__input{border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);flex:1;padding:6px 8px;font-family:Bricolage Grotesque,sans-serif;font-size:14px}.settings-add-company{margin-top:4px}.settings-add-company-form{align-items:center;gap:6px;margin-top:6px;display:flex}.settings-add-company-form input{border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);flex:1;padding:6px 10px;font-family:Bricolage Grotesque,sans-serif;font-size:14px}.settings-storage-estimate{color:var(--ink-2);margin:0;font-size:13px}.settings-danger{border-top:1px solid var(--line);padding-top:18px}.settings-danger__row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.settings-danger__row:last-child{margin-bottom:0}.settings-danger__copy{flex-direction:column;gap:2px;max-width:380px;display:flex}.settings-danger__copy strong{font-variation-settings:"wght" 620;font-family:Bricolage Grotesque,sans-serif;font-size:14px}.settings-danger__copy span{color:var(--ink-2);font-size:12.5px;line-height:1.45}.settings-danger__action{flex-shrink:0;display:inline-flex;position:relative}.invoice-modal__settings-link{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);margin-top:4px;padding:12px}.invoice-modal__settings-link .invoice-modal__hint{margin:6px 0 0}.privacy-card__settings-hint{color:var(--ink-2);margin-top:10px;font-size:12.5px}@media (width<=880px){.topbar-right .company-switcher{display:none}.settings-drawer{width:100vw;max-height:100vh;box-shadow:none;border-radius:0}.settings-danger__row{flex-direction:column;align-items:stretch}}.tx-account-filter,.dash-account-filter{appearance:none;font:inherit;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font-variation-settings:"wght" 560;border-radius:999px;padding:7px 12px;font-size:13px}.account-picker{flex-direction:column;gap:6px;width:100%;display:flex}.account-picker__label{color:var(--muted);font-variation-settings:"wght" 560;font-size:13px}.account-picker__select,.account-picker__name,.account-picker__institution{border:1.5px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);padding:7px 11px;font-family:Bricolage Grotesque,sans-serif;font-size:14px}.account-picker__new{flex-wrap:wrap;gap:6px;display:flex}.account-picker__name{flex:1;min-width:160px}.account-picker__hint{color:var(--muted);font-size:12px}.settings-account-row__institution{color:var(--muted);font-size:13px}.settings-add-company-form select{border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--paper);padding:6px 10px;font-family:Bricolage Grotesque,sans-serif;font-size:14px}.balance-accounts{flex-direction:column;display:flex}.balance-account{border-top:1px solid var(--line)}.balance-account__name{color:var(--muted);font-variation-settings:"wght" 620;text-transform:uppercase;letter-spacing:.04em;padding:12px 24px 0;font-size:13px}.balance-note--muted{color:var(--muted-2);font-size:12px}.rc-account{border:1px solid var(--line);color:var(--muted);font-variation-settings:"wght" 600;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;display:inline-flex}.rc-account svg{opacity:.75;flex:none}
