:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#111615;--paper-2:#171f1d;--card:#202a27;--card-2:#26332f;--ink:#edf6ef;--ink-2:#b6c8c0;--ink-3:#81958c;--rule:#34413c;--rule-2:#46564f;--rule-strong:#677a70;--ink-rgb:237, 246, 239;--accent:#2dd4bf;--accent-ink:#9df6e8;--accent-soft:#1f6d63;--accent-wash:#143f3a;--accent-contrast:#062c2a;--accent-rgb:45, 212, 191;--debit:#edf6ef;--credit:#86efac;--neg:#fb7185;--pos:#86efac;--danger:var(--neg);--danger-bg:#3b1722;--danger-border:#8f354d;--danger-hover:#e11d48;--ok-bg:#163224;--ok-border:#2f7a50;--positive-contrast:#092415;--highlight:#204f49;--focus-ring:#2dd4bf;--reg-date-bg:#332817;--reg-detail-bg:#1f2926;--reg-party-bg:#183326;--reg-ref-bg:#2a2441;--reg-money-bg:#20371d;--reg-bal-bg:#1c3040;--reg-status-bg:#3a1f2b;--split-date-bg:#433315;--split-detail-bg:#26332e;--split-party-bg:#1f4330;--split-ref-bg:#332852;--split-money-bg:#2a4621;--split-bal-bg:#243e52;--split-status-bg:#4a2535;--reg-date-head:#5b451b;--reg-detail-head:#35413a;--reg-party-head:#24563a;--reg-ref-head:#46366e;--reg-money-head:#406329;--reg-bal-head:#315978;--reg-status-head:#6f2c45;--reg-date-hover:#4d3a16;--reg-detail-hover:#2b3934;--reg-party-hover:#24523a;--reg-ref-hover:#3e3064;--reg-money-hover:#355b26;--reg-bal-hover:#2d526f;--reg-status-hover:#5c2b3d;--reg-border:#617169;--reg-border-rgb:97, 113, 105;--neg-rgb:251, 113, 133;--receipt-paper:#24231f;--ui:"Geist", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--serif:"Geist", system-ui, sans-serif;--row-h:34px;--radius:7px;--radius-lg:12px;--shadow-sm:0 1px 2px #00000042;--shadow:0 10px 26px -14px #000000b8, 0 1px 3px #00000061;--shadow-lg:0 24px 64px -18px #000000d1;--sidebar-w:252px;--sp-2xs:4px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:20px;--sp-xl:26px;--sp-2xl:34px;--tap:44px;--mobile-tabs-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--ui);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}#root{height:100%}button,input,select,textarea{min-width:0}.paper-grain{background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--row-h) - 1px), rgba(var(--accent-rgb), .055) calc(var(--row-h) - 1px), rgba(var(--accent-rgb), .055) var(--row-h))}::selection{background:var(--accent-soft);color:var(--ink)}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1, "zero" 1}.tnum{font-variant-numeric:tabular-nums;font-family:var(--mono)}.num-pos{color:var(--pos)}.num-neg{color:var(--neg)}.num-zero{color:var(--ink-3)}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:500}.btn{font-family:var(--ui);border:1px solid var(--rule-2);background:var(--card);color:var(--ink);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,transform 40ms;display:inline-flex}.btn:hover{background:var(--card-2);border-color:var(--rule-strong)}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn-danger{background:var(--neg);border-color:var(--neg);color:#fff}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--paper-2);color:var(--ink)}.btn-sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.45;cursor:default}.icon-btn{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.chip{font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--rule-2);color:var(--ink-2);background:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 7px;font-size:10.5px;display:inline-flex}.chip-accent{background:var(--accent-wash);border-color:var(--accent-soft);color:var(--accent-ink)}.chip-credit{background:var(--ok-bg);border-color:var(--ok-border);color:var(--credit)}.chip-warn{background:var(--danger-bg);border-color:var(--danger-border);color:var(--neg)}.chip-transfer{background:var(--reg-ref-bg);border-color:var(--reg-ref-head);color:#d8c9ff}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--rule-strong);border:3px solid var(--paper);border-radius:9px}::-webkit-scrollbar-thumb:hover{background:var(--accent-soft)}::-webkit-scrollbar-track{background:0 0}.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:.28s cubic-bezier(.2,.7,.2,1) both riseIn}.no-sb::-webkit-scrollbar{display:none}.no-sb{scrollbar-width:none}.tr{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.segmented{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);gap:2px;padding:2px;display:inline-flex}.seg-btn{font-family:var(--ui);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:4px 12px;font-size:12.5px;font-weight:500;transition:background .12s,color .12s,box-shadow .12s}.segmented[data-size=sm] .seg-btn{padding:3px 9px;font-size:11.5px}.seg-btn:hover{color:var(--ink)}.seg-btn.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100%;display:grid;overflow:hidden}.sidebar{background:var(--paper-2);border-right:1px solid var(--rule);flex-direction:column;display:flex;overflow:hidden}.main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.window-status-buffer{border-top:1px solid var(--rule);background:var(--paper-2);flex:0 0 18px}.brand{align-items:center;gap:10px;padding:18px 20px 14px;display:flex}.brand-mark{background:var(--ink);width:30px;height:30px;color:var(--paper);font-family:var(--serif);box-shadow:var(--shadow-sm);border-radius:8px;flex:none;place-items:center;font-size:18px;font-weight:600;display:grid}.brand-name{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:600}.brand-sub{color:var(--ink-3);margin-top:-2px;font-size:11px}.nav{flex-direction:column;gap:1px;padding:6px 12px;display:flex}.nav-item{border-radius:var(--radius);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:8px 12px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:rgba(var(--accent-rgb), .12);color:var(--ink)}.nav-item.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.nav-item.active .nav-ic{color:var(--accent)}.nav-ic{color:var(--ink-3);flex:none;place-items:center;display:grid}.nav-badge{font-family:var(--mono);background:var(--accent);color:var(--accent-contrast);border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:500}.nav-section{padding:14px 24px 5px}.sb-foot{border-top:1px solid var(--rule);margin-top:auto;padding:16px}.networth-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px 14px}.topbar{border-bottom:1px solid var(--rule);background:var(--paper);align-items:center;gap:14px;min-height:62px;padding:14px 26px;display:flex}.topbar-title{min-width:0}.topbar h1{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:600}.topbar-sub{color:var(--ink-3);font-size:12px}.topbar-spacer{flex:1}.account-select{font-family:var(--ui);border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--card);color:var(--ink);min-width:0;max-width:240px;padding:7px 10px;font-size:13px}.content{flex:1;min-width:0;min-height:0;overflow:hidden auto}.content-pad{width:100%;min-width:0;padding:26px}.table-scroll{overflow:auto hidden}.register-scroll{background:var(--card);border-top:1px solid var(--rule-2);padding-bottom:92px;overflow:auto}.register-summary{background:var(--rule-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-2);grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(150px,1fr));gap:1px;display:grid}.account-stat{background:var(--card);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px 12px;min-width:0;padding:10px 16px 11px;display:grid}.account-stat-balance{background:var(--reg-date-bg);grid-template-columns:1fr;gap:4px;display:grid}.balance-stat-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;min-width:0;display:grid}.balance-stat-primary{margin-bottom:1px}.balance-stat-row .account-stat-note{grid-column:auto}.account-stat-label{min-width:0;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.account-stat-value{color:var(--ink);font-size:17px;font-weight:650;line-height:1.15}.account-stat-note{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;grid-column:1/-1;font-size:10.5px}.app-error{background:var(--danger-bg);color:var(--neg);border-bottom:1px solid var(--danger-border);align-items:center;gap:10px;padding:8px 26px;font-size:13px;display:flex}.settings-shell{gap:14px;max-width:760px;display:grid}.settings-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;display:grid}.settings-action-title{font-family:var(--serif);margin-bottom:4px;font-size:18px;font-weight:600}.settings-action-meta{color:var(--ink-2);font-size:13px}.settings-counts{color:var(--ink-3);margin-top:8px;font-size:12px}.settings-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.settings-success{color:var(--credit);margin-top:10px;font-size:13px;font-weight:500}.settings-error{color:var(--neg);margin-top:10px;font-size:13px;font-weight:500}.bank-card{gap:12px;padding:18px 20px;display:grid}.bank-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.bank-card-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.bank-card-actions{flex-wrap:wrap;gap:8px;display:flex}.bank-card-meta{color:var(--ink-3);font-size:12px}.bank-badge{border:1px solid var(--rule);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.bank-badge-ok{color:var(--credit);border-color:color-mix(in srgb, var(--credit) 35%, transparent);background:var(--ok-bg)}.bank-badge-warn{color:var(--neg);border-color:var(--danger-border);background:var(--danger-bg)}.bank-badge-muted{color:var(--ink-3)}.bank-inbox-link{margin-left:8px}.bank-account-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bank-account{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card-2);gap:6px;padding:10px 12px;display:grid}.bank-account-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bank-account-name{font-weight:500}.bank-account-mask{color:var(--ink-3);font-family:var(--mono);font-size:12px}.bank-account-balance{font-family:var(--mono);font-weight:600}.bank-account-sub{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;display:flex}.bank-account-kind{text-transform:capitalize}.bank-detail-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 14px;margin:2px 0 0;display:grid}.bank-detail{flex-direction:column;gap:1px;display:flex}.bank-detail dt{color:var(--ink-3);font-size:11px}.bank-detail dd{font-size:13px;font-family:var(--mono);margin:0}.bank-detail-warn{color:var(--neg)}.bank-holdings{border-collapse:collapse;width:100%;margin-top:2px;font-size:12px}.bank-holdings th,.bank-holdings td{text-align:left;border-bottom:1px solid var(--rule);padding:4px 6px}.bank-holdings th{color:var(--ink-3);font-weight:500}.bank-holdings .num{text-align:right;font-family:var(--mono)}.bank-ticker{font-family:var(--mono);margin-right:6px;font-weight:600}.settings-warning{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--neg);border-radius:var(--radius);gap:7px;padding:12px 13px;font-size:13px;line-height:1.45;display:grid}.register{table-layout:fixed;border-collapse:collapse;border-left:1px solid var(--reg-border);border-right:1px solid var(--reg-border);width:100%;min-width:860px;box-shadow:inset 0 1px 0 var(--reg-border);font-size:13px}.register th:first-child,.register td:first-child{width:124px}.register th:nth-child(2),.register td:nth-child(2){width:auto}.register th:nth-child(3),.register td:nth-child(3){width:17%}.register th:nth-child(4),.register td:nth-child(4){width:54px}.register th:nth-child(5),.register td:nth-child(5),.register th:nth-child(6),.register td:nth-child(6){width:11%}.register th:nth-child(7),.register td:nth-child(7){width:12%}.register th:nth-child(8),.register td:nth-child(8){width:86px}.register thead th{z-index:3;border-bottom:2px solid var(--reg-border);border-right:1px solid var(--reg-border);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;-webkit-user-select:none;user-select:none;padding:9px 12px;font-size:10px;font-weight:500;position:sticky;top:0}.register thead th.r{text-align:right}.register thead th.c{text-align:center}.register thead th:first-child{background:var(--reg-date-head)}.register thead th:nth-child(2){background:var(--reg-detail-head)}.register thead th:nth-child(3){background:var(--reg-party-head)}.register thead th:nth-child(4){background:var(--reg-ref-head)}.register thead th:nth-child(5),.register thead th:nth-child(6){background:var(--reg-money-head)}.register thead th:nth-child(7){background:var(--reg-bal-head)}.register thead th:nth-child(8){background:var(--reg-status-head);border-right:none}.reg-row>td{border-right:1px solid rgba(var(--reg-border-rgb), .74);border-bottom:1px solid rgba(var(--reg-border-rgb), .64);height:var(--row-h);vertical-align:middle;padding:0;overflow:hidden}.register tbody tr.transaction-end-row>td{border-bottom:3px solid var(--reg-border)!important}.register tbody tr.least-recent-transaction>td{border-top:4px solid var(--reg-border)!important}.reg-row>td:last-child{border-right:none}.reg-cell{text-overflow:ellipsis;white-space:nowrap;padding:6px 12px;overflow:hidden}.reg-row{cursor:default;transition:background 80ms}.register tbody tr>td:first-child{background:var(--reg-date-bg)}.register tbody tr>td:nth-child(2){background:var(--reg-detail-bg)}.register tbody tr>td:nth-child(3){background:var(--reg-party-bg)}.register tbody tr>td:nth-child(4){background:var(--reg-ref-bg)}.register tbody tr>td:nth-child(5),.register tbody tr>td:nth-child(6){background:var(--reg-money-bg)}.register tbody tr>td:nth-child(7){background:var(--reg-bal-bg)}.register tbody tr>td:nth-child(8){background:var(--reg-status-bg)}.register tbody tr>td:first-child,.register tbody tr>td:nth-child(4),.register tbody tr>td:nth-child(6),.register tbody tr>td:nth-child(7){border-right-color:var(--reg-border)}.reg-row.sel>td,.reg-row.sel:hover>td{background:var(--highlight)}.reg-row.split-expanded>td,.reg-row.split-expanded:hover>td{border-bottom:1px dashed rgba(var(--reg-border-rgb), .9)}.reg-row.split-expanded>td:first-child{background:var(--reg-date-bg)!important}.reg-row.split-expanded>td:nth-child(2){background:var(--reg-detail-bg)!important}.reg-row.split-expanded>td:nth-child(3){background:var(--reg-party-bg)!important}.reg-row.split-expanded>td:nth-child(4){background:var(--reg-ref-bg)!important}.reg-row.split-expanded>td:nth-child(5),.reg-row.split-expanded>td:nth-child(6){background:var(--reg-money-bg)!important}.reg-row.split-expanded>td:nth-child(7){background:var(--reg-bal-bg)!important}.reg-row.split-expanded>td:nth-child(8){background:var(--reg-status-bg)!important}.reg-row.editing-entry.split-expanded>td,.reg-row.editing-entry.split-expanded:hover>td{background:var(--highlight)!important}.reg-row.editing-entry.split-expanded>td:nth-child(5),.reg-row.editing-entry.split-expanded>td:nth-child(6){background:var(--reg-money-hover)!important}.reg-row.editing-entry.split-expanded>td:nth-child(7){background:var(--reg-bal-hover)!important}.register-empty-row{pointer-events:none}.register-empty-row:hover>td:first-child{background:var(--reg-date-bg)}.register-empty-row:hover>td:nth-child(2){background:var(--reg-detail-bg)}.register-empty-row:hover>td:nth-child(3){background:var(--reg-party-bg)}.register-empty-row:hover>td:nth-child(4){background:var(--reg-ref-bg)}.register-empty-row:hover>td:nth-child(5),.register-empty-row:hover>td:nth-child(6){background:var(--reg-money-bg)}.register-empty-row:hover>td:nth-child(7){background:var(--reg-bal-bg)}.register-empty-row:hover>td:nth-child(8){background:var(--reg-status-bg)}.reg-row.save-refused>td,.reg-row.save-refused:hover>td{box-shadow:inset 0 1px 0 rgba(var(--neg-rgb), .28), inset 0 -1px 0 rgba(var(--neg-rgb), .28);background:var(--danger-bg)!important}.reg-row td.r,.reg-cell.r{text-align:right}.reg-row td.c,.reg-cell.c{text-align:center}.reg-date{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;font-size:12px}.reg-ref{font-family:var(--mono);color:var(--ink-3);font-size:10.5px}.reg-desc{color:var(--ink);font-weight:500}.reg-acct{color:var(--ink-2);font-size:12.5px}.reg-split-acct{color:var(--ink-2);padding-left:4px;font-size:12.5px}.reg-split-memo{color:var(--ink-3);padding-left:4px;font-size:11.5px}.reg-bal{font-family:var(--mono);font-size:12.5px}.split-row>td{border-right:1px solid rgba(var(--reg-border-rgb), .64);border-bottom:1px dashed rgba(var(--reg-border-rgb), .9)}.split-row>td:first-child{background:var(--split-date-bg)!important}.split-row>td:nth-child(2){background:var(--split-detail-bg)!important}.split-row>td:nth-child(3){background:var(--split-party-bg)!important}.split-row>td:nth-child(4){background:var(--split-ref-bg)!important}.split-row>td:nth-child(5),.split-row>td:nth-child(6){background:var(--split-money-bg)!important}.split-row>td:nth-child(7){background:var(--split-bal-bg)!important}.split-row>td:nth-child(8){background:var(--split-status-bg)!important}.split-row.split-editing-row>td,.split-row.split-editing-row:hover>td{background:var(--highlight)!important}.split-row.split-editing-row>td:nth-child(5),.split-row.split-editing-row>td:nth-child(6),.split-row.split-editing-row:hover>td:nth-child(5),.split-row.split-editing-row:hover>td:nth-child(6){background:var(--reg-money-hover)!important}.split-row.split-editing-row>td:nth-child(7),.split-row.split-editing-row:hover>td:nth-child(7){background:var(--reg-bal-hover)!important}.split-line{min-height:var(--row-h);grid-template-columns:18px 1fr;align-items:center;gap:8px;padding:0 12px 0 24px;display:grid}.split-elbow{color:var(--rule-strong);place-items:center;display:grid}.split-account-stack{gap:4px;min-width:0;display:grid}.split-memo-input{font-size:11.5px}.split-action-row>td{border-right:1px solid rgba(var(--reg-border-rgb), .64);border-bottom:1px dashed rgba(var(--reg-border-rgb), .9);padding:4px 0;background:var(--card-2)!important}.split-add-button{border:1px solid var(--accent-soft);background:var(--accent-wash);height:28px;color:var(--accent-ink);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin-left:50px;padding:0 10px;font-size:12px;display:inline-flex}.split-add-button:hover{border-color:var(--accent)}.split-remove-button{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;display:inline-grid}.split-remove-button:hover:not(:disabled){border-color:rgba(var(--neg-rgb), .34);background:var(--danger-bg);color:var(--neg)}.split-remove-button:disabled{cursor:not-allowed;opacity:.35}.transaction-toast{z-index:30;border:1px solid rgba(var(--neg-rgb), .34);background:var(--danger-bg);max-width:min(420px,100vw - 32px);box-shadow:var(--shadow);color:var(--neg);border-radius:8px;align-items:center;gap:9px;padding:11px 14px;font-size:13px;font-weight:600;display:inline-flex;position:fixed;bottom:22px;right:22px}.modal-panel.register-entry-dialog{flex-direction:column;width:min(1040px,100vw - 44px);max-height:calc(100vh - 44px);display:flex;overflow:hidden}.register-entry-scroll{border:1px solid var(--reg-border);min-height:0;overflow:auto}.register-entry-table{min-width:860px;box-shadow:none;border-left:none;border-right:none}.register-entry-table thead th{position:static}.entry-dialog-summary-row>td{border-bottom:2px dashed rgba(var(--reg-border-rgb), .9)}.register-entry-balance{margin-top:14px}.cell-input{width:100%;min-width:0;font-family:inherit;font-size:inherit;color:inherit;height:var(--row-h);background:0 0;border:none;outline:none;padding:6px 12px;display:block}.register tbody td:focus-within{box-shadow:inset 0 0 0 2px var(--accent);position:relative}.register .cell-input:focus,.register .cell-input:focus-visible{background:var(--accent-wash);box-shadow:inset 0 0 0 2px var(--accent)}.register input[type=date],.register input[type=number]{-webkit-appearance:none;appearance:textfield}.register input[type=date]{padding-left:10px;padding-right:6px;font-size:12px}.register input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;margin-left:2px;padding:0}.status-toggle{border:1.5px solid var(--rule-strong);width:22px;height:22px;font-family:var(--mono);color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;place-items:center;font-size:11px;font-weight:600;line-height:1;transition:background .1s,border-color .1s,color .1s;display:inline-grid}.status-toggle:hover{border-color:var(--accent)}.status-toggle:focus-visible,.split-add-button:focus-visible,.split-remove-button:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.status-toggle.status-pending{color:var(--ink-3);border-color:var(--rule-strong)}.status-toggle.status-cleared{color:var(--accent-ink);border-color:var(--accent-soft);background:var(--accent-wash)}.status-toggle.status-reconciled{color:var(--positive-contrast);border-color:var(--credit);background:var(--credit)}.register input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.register input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cell-input.mono{font-family:var(--mono)}.cell-input.r{text-align:right}.cell-input.c{text-align:center}.edit-row>td{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--card)!important}.editing-cell{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-wash);border-radius:4px}.balance-strip{font-family:var(--mono);border-radius:var(--radius);border:1px solid var(--rule-2);align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.balance-ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--credit)}.balance-off{background:var(--danger-bg);border-color:var(--danger-border);color:var(--neg)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.stat{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 18px}.stat-label{color:var(--ink-2);align-items:center;gap:7px;font-size:12px;display:flex}.stat-value{font-family:var(--mono);letter-spacing:-.02em;margin-top:8px;font-size:27px;font-weight:500}.stat-delta{font-family:var(--mono);margin-top:5px;font-size:11.5px}.tree-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px}.tree-table thead th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;border-bottom:1.5px solid var(--rule-2);padding:8px 14px;font-size:10px;font-weight:500}.tree-table thead th.r{text-align:right}.tree-row td{border-bottom:1px solid var(--rule);padding:0}.tree-row:hover{background:var(--card-2)}.tree-cell{align-items:center;gap:8px;min-width:0;padding:9px 14px;display:flex}.tree-toggle{width:18px;height:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;place-items:center;display:grid}.tree-toggle:hover{background:var(--paper-2);color:var(--ink)}.tree-name{font-weight:500}.tree-placeholder .tree-name{font-weight:600}.tree-leaf:hover{background:var(--card-2)}.tree-open-hint{font-family:var(--mono);letter-spacing:.04em;color:var(--accent-ink);opacity:0;align-items:center;gap:2px;margin-left:auto;padding-right:8px;font-size:10.5px;transition:opacity .12s,transform .12s;display:inline-flex;transform:translate(-4px)}.tree-leaf:hover .tree-open-hint{opacity:1;transform:none}.tree-bar-track{background:var(--paper-2);border-radius:3px;min-width:60px;height:5px;overflow:hidden}.tree-bar-fill{border-radius:3px;height:100%}.modal-panel.opening-balances-panel{flex-direction:column;width:min(1040px,100vw - 44px);max-height:min(760px,100vh - 44px);display:flex}.opening-balances-controls{grid-template-columns:minmax(170px,220px) auto;align-items:end;gap:14px;margin-bottom:14px;display:grid}.opening-balances-count{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);min-height:57px;padding:10px 12px}.opening-balances-count strong{font-family:var(--mono);margin-top:4px;font-size:18px;font-weight:600;display:block}.opening-balances-table-wrap{border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--card);min-height:220px;overflow:auto}.opening-balances-table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}.opening-balances-table th{z-index:1;background:var(--card);border-bottom:1.5px solid var(--rule-2);color:var(--ink-3);font-family:var(--mono);letter-spacing:.1em;text-align:left;text-transform:uppercase;padding:8px 12px;font-size:10px;font-weight:500;position:sticky;top:0}.opening-balances-table th.r{text-align:right}.opening-balances-table td{border-bottom:1px solid var(--rule);padding:7px 12px}.opening-balances-table tr:last-child td{border-bottom:none}.opening-placeholder-row td{background:var(--paper-2);font-weight:600}.opening-account-cell{align-items:center;gap:8px;min-width:0;display:flex}.opening-balance-input{border:1px solid var(--rule-2);background:var(--paper);width:132px;color:var(--ink);font-family:var(--mono);text-align:right;border-radius:6px;padding:6px 8px;font-size:13px}.opening-balance-input:focus{border-color:var(--accent)}.form-success,.form-error{border-radius:var(--radius);padding:9px 11px;font-size:13px}.form-success{background:var(--ok-bg);border:1px solid var(--ok-border);color:var(--credit)}.form-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--neg)}.sched-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;transition:border-color .12s,box-shadow .12s;display:grid}.sched-card:hover{border-color:var(--rule-strong);box-shadow:var(--shadow)}.sched-icon{background:var(--accent-wash);width:38px;height:38px;color:var(--accent-ink);border-radius:10px;place-items:center;display:grid}.modal-panel.scheduled-rule-panel{flex-direction:column;width:min(1120px,100vw - 44px);max-height:min(920px,100vh - 44px);display:flex;overflow:hidden}.scheduled-rule-body{flex:auto;grid-template-columns:minmax(0,1fr) minmax(220px,260px);gap:18px;min-height:0;max-height:calc(100vh - 154px);padding-right:2px;display:grid;overflow:auto}.scheduled-journal-section{align-content:start;gap:10px;min-width:0;display:grid}.scheduled-journal-section .sec-head,.scheduled-settings-panel .sec-head{margin-bottom:0}.scheduled-journal-section .sec-head{gap:12px}.scheduled-transaction-stack{gap:12px;min-width:0;display:grid}.scheduled-transaction-block{border:1px solid var(--rule);background:var(--card);min-width:0;box-shadow:var(--shadow-sm);border-radius:8px;gap:10px;padding:10px;display:grid}.scheduled-transaction-head{align-items:center;gap:10px;display:flex}.scheduled-transaction-head h3{font-family:var(--ui);margin:0;font-size:13px;font-weight:650}.scheduled-transaction-head .btn{margin-left:auto}.scheduled-entry-scroll{box-shadow:var(--shadow-sm);border-radius:4px}.scheduled-entry-table{box-shadow:none}.scheduled-entry-table th:first-child,.scheduled-entry-table td:first-child{width:126px}.scheduled-entry-table th:nth-child(3),.scheduled-entry-table td:nth-child(3){width:19%}.scheduled-entry-table th:nth-child(7),.scheduled-entry-table td:nth-child(7){width:12%}.scheduled-entry-table th:nth-child(8),.scheduled-entry-table td:nth-child(8){width:76px}.scheduled-entry-table .scheduled-register-row>td{height:var(--row-h);vertical-align:middle;padding:0}.scheduled-entry-table .scheduled-register-row>td:first-child{background:var(--reg-date-bg)!important}.scheduled-entry-table .scheduled-register-row>td:nth-child(2){background:var(--reg-detail-bg)!important}.scheduled-entry-table .scheduled-register-row>td:nth-child(3){background:var(--reg-party-bg)!important}.scheduled-entry-table .scheduled-register-row>td:nth-child(4){background:var(--reg-ref-bg)!important}.scheduled-entry-table .scheduled-register-row>td:nth-child(5),.scheduled-entry-table .scheduled-register-row>td:nth-child(6){background:var(--reg-money-bg)!important}.scheduled-entry-table .scheduled-register-row>td:nth-child(7){background:var(--reg-bal-bg)!important}.scheduled-entry-table .scheduled-register-row>td:nth-child(8){background:var(--reg-status-bg)!important}.scheduled-entry-table .scheduled-register-row:hover>td:first-child{background:var(--reg-date-hover)!important}.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(2){background:var(--reg-detail-hover)!important}.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(3){background:var(--reg-party-hover)!important}.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(4){background:var(--reg-ref-hover)!important}.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(5),.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(6){background:var(--reg-money-hover)!important}.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(7){background:var(--reg-bal-hover)!important}.scheduled-entry-table .scheduled-register-row:hover>td:nth-child(8){background:var(--reg-status-hover)!important}.scheduled-entry-table .cell-input{color:var(--ink)}.scheduled-entry-table select.cell-input{appearance:none}.scheduled-entry-table .split-memo-input{color:var(--ink-2);font-size:11.5px}.scheduled-entry-action-row>td{padding:5px 8px}.scheduled-transaction-block .register-entry-balance{margin-top:0}.scheduled-settings-panel{border:1px solid var(--rule);background:var(--paper-2);border-radius:8px;align-self:start;gap:12px;min-width:0;padding:14px;display:grid}.budget-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;margin-bottom:18px;display:flex}.budget-month-field{width:min(220px,100%)}.budget-actions,.budget-add-account{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.budget-empty,.budget-shell{border:1px solid var(--rule);background:var(--card);box-shadow:var(--shadow-sm)}.budget-empty{justify-content:space-between;align-items:center;gap:18px;min-height:180px;padding:20px;display:flex}.budget-empty h2,.budget-toolbar h2{font-family:var(--serif);margin:0;font-size:19px;font-weight:600}.budget-shell{gap:0;display:grid}.budget-toolbar{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.budget-add-account select{border:1px solid var(--rule-2);background:var(--card);min-width:190px;color:var(--ink);border-radius:var(--radius);font:inherit;padding:7px 9px}.budget-table-scroll{width:100%;overflow:auto}.budget-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.budget-table th,.budget-table td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:9px 12px}.budget-table th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;background:var(--paper-2);font-size:10px;font-weight:500}.budget-table th:first-child,.budget-table td:first-child{width:auto}.budget-table th:nth-child(2),.budget-table td:nth-child(2){width:112px}.budget-table th:nth-child(3),.budget-table td:nth-child(3),.budget-table th:nth-child(4),.budget-table td:nth-child(4),.budget-table th:nth-child(5),.budget-table td:nth-child(5),.budget-table th:nth-child(6),.budget-table td:nth-child(6){width:126px}.budget-table th:nth-child(7),.budget-table td:nth-child(7){width:54px}.budget-table th.r,.budget-table td.r{text-align:right}.budget-table th.c,.budget-table td.c{text-align:center}.budget-table tbody tr:hover{background:var(--card-2)}.budget-table td:first-child{align-items:center;gap:8px;min-width:0;display:flex}.budget-money-input{border:1px solid var(--rule-2);background:var(--card);width:100%;min-width:0;height:30px;color:var(--ink);font-family:var(--mono);text-align:right;border-radius:6px;outline:none;padding:5px 8px;font-size:12.5px}.budget-money-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}.budget-money-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-money-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.timeline-day{grid-template-columns:92px 1fr;gap:16px;display:grid}.timeline-date{text-align:right;font-family:var(--mono);color:var(--ink-2);padding-top:14px;font-size:12px}.timeline-line{border-left:1.5px solid var(--rule-2);padding-bottom:8px;padding-left:22px;position:relative}.timeline-node{background:var(--card);border:2.5px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:16px;left:-7px}.receipts-head{justify-content:space-between;align-items:center}.receipts-shell{grid-template-columns:minmax(236px,286px) minmax(0,1fr);align-items:start;gap:18px;width:min(100%,1480px);display:grid}.receipt-inbox{border:1px solid var(--rule);background:var(--paper-2);border-radius:8px;gap:12px;min-width:0;padding:12px;display:grid;position:sticky;top:18px}.receipt-upload-stack{gap:8px;display:grid}.receipt-upload-btn{justify-content:center;width:100%;min-height:38px}.receipt-upload-secondary{background:var(--card)}.receipt-list{gap:6px;min-width:0;display:grid}.receipt-list-head{justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 4px;display:flex}.receipt-empty-note{border:1px dashed var(--rule-2);background:var(--card);color:var(--ink-3);text-align:center;border-radius:8px;padding:18px 10px;font-size:13px}.receipt-workbench{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:18px;min-width:0;display:grid}.receipt-empty-workbench{border:1px dashed var(--rule-2);background:var(--card);min-height:206px;color:var(--ink-3);text-align:center;border-radius:8px;place-items:center;gap:10px;padding:28px;font-size:13px;display:grid}.receipt-review{gap:14px;min-width:0;display:grid}.receipt-review-top{border:1px solid var(--rule);background:var(--card);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:14px 16px;display:flex}.receipt-active-title{margin-top:2px;font-size:18px;font-weight:650;line-height:1.2}.receipt-review-grid{grid-template-columns:minmax(260px,.95fr) minmax(280px,1.05fr);align-items:start;gap:14px;min-width:0;display:grid}.receipt-source,.receipt-digital,.receipt-posting{border:1px solid var(--rule);background:var(--card);border-radius:8px;min-width:0}.receipt-source,.receipt-digital{gap:10px;padding:14px;display:grid}.receipt-posting{gap:14px;padding:14px;display:grid;position:sticky;top:18px}.receipt-panel-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:30px;display:flex}.receipt-source .scan-frame{aspect-ratio:3/4;min-height:360px;max-height:620px;display:grid}.receipt-source-img{object-fit:contain;background:var(--paper-2);width:100%;height:100%;display:block}.receipt-source-empty{aspect-ratio:3/4;border:1px dashed var(--rule-2);background:var(--paper-2);min-height:320px;color:var(--ink-3);border-radius:8px;place-items:center;display:grid}.receipt-digital .receipt-paper{min-height:360px}.receipt-error-paper{background:var(--danger-bg);box-shadow:none}.receipt-post-total{color:var(--ink);font-size:18px;font-weight:700}.receipt-post-empty{border:1px dashed var(--rule-2);background:var(--paper-2);min-height:220px;color:var(--ink-2);text-align:center;border-radius:8px;place-items:center;padding:18px;display:grid}.receipt-post-actions{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px;padding-top:12px;display:flex}.receipt-post-actions .btn-primary{flex:160px;justify-content:center}.receipt-discard-btn{color:var(--neg);margin-left:auto}.receipt-chip-spinner{border-width:2px;width:12px;height:12px;margin-right:2px}.receipt-chip-error{color:var(--neg);border-color:var(--danger-border);background:var(--danger-bg)}.receipt-paper{background:linear-gradient(var(--receipt-paper), var(--receipt-paper));border:1px solid var(--rule-2);box-shadow:var(--shadow);font-family:var(--mono);border-radius:4px;padding:22px 20px;font-size:12px;position:relative}.receipt-paper:after{content:"";background:repeating-linear-gradient(45deg, transparent 0 6px, var(--paper) 6px 12px);height:12px;position:absolute;bottom:-1px;left:0;right:0}.receipt-thumb{aspect-ratio:3/4;border-radius:8px;place-items:center;width:100%;display:grid}.receipt-queue-item{border-radius:var(--radius);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:11px;transition:background .12s,border-color .12s;display:grid}.receipt-queue-item:hover{background:var(--card-2)}.receipt-queue-item.active{background:var(--accent-wash);border-color:var(--accent-soft)}.draft-je{border:1px solid var(--rule-2);border-radius:var(--radius-lg);overflow:hidden}.draft-je-head{background:var(--paper-2);border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:10px 14px;display:flex}.draft-row select{width:100%}.receipt-split-account{gap:4px;min-width:0;display:grid}.receipt-split-memo{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-size:11.5px;overflow:hidden}.imports-page{gap:16px;display:grid}.imports-head{justify-content:space-between;align-items:center;gap:12px}.imports-head-title{align-items:center;gap:10px;display:flex}.imports-page{--rv-source:var(--neg);--rv-category:#f0c14b;--rv-transfer:#b9a6ff;--rv-ready:var(--credit);--rv-posted:var(--accent);--rv-ignored:var(--ink-3)}.import-dropzone{text-align:center;border:1.5px dashed var(--rule-2);border-radius:var(--radius-lg);background:var(--card);min-height:280px;color:var(--ink-3);cursor:pointer;align-content:center;place-items:center;gap:8px;padding:32px;transition:border-color .15s,background .15s,color .15s;display:grid}.import-dropzone:hover,.import-dropzone.over{border-color:var(--accent);background:var(--accent-wash);color:var(--ink-2)}.import-dropzone-icon{background:var(--paper-2);width:52px;height:52px;color:var(--accent);border-radius:14px;place-items:center;margin-bottom:4px;display:grid}.import-dropzone.over .import-dropzone-icon{background:var(--accent);color:var(--accent-contrast)}.import-dropzone-title{color:var(--ink);font-size:15px;font-weight:500}.import-dropzone-hint{font-size:12.5px}.imports-workspace{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.import-placeholder{border:1px dashed var(--rule-2);border-radius:var(--radius-lg);min-height:280px;color:var(--ink-3);background:var(--card);align-content:center;place-items:center;gap:10px;display:grid}.import-placeholder svg{color:var(--ink-3);opacity:.7}.import-empty-inline{min-height:120px}.import-batch-list{gap:8px;display:grid}.import-batch-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);transition:border-color .12s,background .12s;position:relative}.import-batch-card:hover{border-color:var(--rule-2)}.import-batch-card.active{border-color:var(--accent-soft);background:var(--accent-wash)}.import-batch-select{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;gap:8px;width:100%;min-width:0;padding:12px 38px 12px 13px;display:grid}.import-batch-card-head{align-items:center;gap:8px;min-height:16px;display:flex}.import-batch-parsing{color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.import-batch-select h3{margin:0;font-size:14px;font-weight:500;line-height:1.25}.import-batch-card-foot{color:var(--ink-3);flex-wrap:wrap;gap:4px 10px;font-size:11.5px;display:flex}.import-batch-card-foot .warn{color:var(--rv-category)}.import-batch-card-foot .ok{color:var(--credit)}.import-delete-btn{opacity:0;transition:opacity .12s;position:absolute;top:8px;right:8px}.import-batch-card:hover .import-delete-btn,.import-batch-card.active .import-delete-btn{opacity:1}.import-progress{background:var(--paper-2);border-radius:999px;height:5px;display:flex;overflow:hidden}.import-progress .seg{height:100%;display:block}.import-progress .seg.review{background:var(--rv-category)}.import-progress .seg.ready{background:var(--rv-ready)}.import-progress .seg.posted{background:var(--rv-posted)}.import-progress .seg.ignored{background:var(--rule-2)}.import-batch{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--card);gap:14px;padding:16px;display:grid}.import-batch-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.import-batch-head-main{gap:4px;min-width:0;display:grid}.import-batch-head-main h3{margin:2px 0 0;font-size:18px;font-weight:600}.import-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.import-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-processing{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.import-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.import-toolbar .segmented{flex-wrap:wrap}.seg-count{font-family:var(--mono);color:var(--ink-3);margin-left:6px;font-size:10.5px}.seg-btn.active .seg-count{color:var(--ink-2)}.import-sort-control{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;display:inline-flex}.import-sort-control span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.import-sort-control select{border:1px solid var(--rule);background:var(--paper-2);color:var(--ink);font:inherit;border-radius:6px;padding:6px 8px;font-size:12px}.staged-import-list{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-2);gap:6px;padding:0;display:grid;overflow:hidden}.staged-row{background:var(--card);border-left:2px solid #0000;transition:background .1s}.staged-row+.staged-row{border-top:1px solid var(--rule)}.staged-row:hover{background:var(--card-2)}.staged-row.expanded{background:var(--paper)}.staged-row.locked{opacity:.6}.staged-row[data-review=needs-source]{border-left-color:var(--rv-source)}.staged-row[data-review=needs-category]{border-left-color:var(--rv-category)}.staged-row[data-review=possible-transfer]{border-left-color:var(--rv-transfer)}.staged-row[data-review=ready]{border-left-color:var(--rv-ready)}.staged-row[data-review=posted]{border-left-color:var(--rv-posted)}.staged-row[data-review=ignored]{border-left-color:var(--rv-ignored)}.staged-row-main{grid-template-columns:10px 42px minmax(0,1fr) auto minmax(150px,210px) auto;align-items:center;gap:12px;padding:9px 12px;display:grid}.staged-status-dot{background:var(--rule-strong);border-radius:50%;width:7px;height:7px}.staged-row[data-review=needs-source] .staged-status-dot{background:var(--rv-source)}.staged-row[data-review=needs-category] .staged-status-dot{background:var(--rv-category)}.staged-row[data-review=possible-transfer] .staged-status-dot{background:var(--rv-transfer)}.staged-row[data-review=ready] .staged-status-dot{background:var(--rv-ready)}.staged-row[data-review=posted] .staged-status-dot{background:var(--rv-posted)}.staged-row[data-review=ignored] .staged-status-dot{background:var(--rv-ignored)}.staged-date{color:var(--ink-3);font-size:12px}.staged-desc{align-items:baseline;gap:8px;min-width:0;display:flex}.staged-desc>.tr{font-size:13.5px}.staged-sub{color:var(--ink-3);font-size:11px;font-family:var(--mono);flex:none}.staged-amount{text-align:right;white-space:nowrap;font-size:13.5px}.staged-amount.neg{color:var(--neg)}.staged-amount.pos{color:var(--credit)}.staged-row.locked .staged-amount.pos,.staged-row.locked .staged-amount.neg{color:var(--ink-2)}.staged-control{justify-content:flex-end;min-width:0;display:flex}.staged-control>.chip{justify-self:end}.staged-account-select{border:1px solid var(--rule-2);background:var(--paper-2);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:6px 8px;font-size:12.5px}.staged-account-select:hover{border-color:var(--rule-strong)}.staged-account-select.needs{border-color:var(--rv-category);color:var(--ink-2)}.staged-split-pill{justify-content:center;width:100%}.staged-row-actions{align-items:center;gap:2px;display:flex}.staged-row-actions .icon-btn{width:28px;height:28px}.icon-btn.post-now{color:var(--credit)}.icon-btn.post-now:hover{background:var(--ok-bg);color:var(--credit)}.staged-expand svg{transition:transform .15s}.staged-expand.open svg{transform:rotate(180deg)}.staged-editor{border-top:1px dashed var(--rule);gap:12px;margin-top:-1px;padding:4px 14px 16px;display:grid}.staged-back{margin-right:auto}.staged-field{min-width:0;color:var(--ink-3);text-transform:uppercase;font-size:10px;font-family:var(--mono);letter-spacing:.08em;gap:4px;display:grid}.staged-accounts{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:12px;display:grid}.staged-accounts-amount{color:var(--ink-2);white-space:nowrap;padding-bottom:8px;font-size:14px}.staged-field input,.staged-field select,.import-split-table input,.import-split-table select{border:1px solid var(--rule-2);background:var(--card);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:7px 8px;font-size:12.5px}.import-split-table{border-collapse:collapse;width:100%;min-width:440px;font-size:13px}.import-split-table th,.import-split-table td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:5px 6px}.import-split-table thead th{border-bottom-color:var(--rule-2)}.import-split-table th{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;text-align:left;letter-spacing:.06em;font-size:10px}.import-split-table th.r{text-align:right}.import-split-table td:first-child{width:auto}.import-split-table td:nth-child(2),.import-split-table td:nth-child(3){width:120px}.import-split-table td:nth-child(4){text-align:center;width:38px}.staged-editor-foot{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.staged-editor-totals{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.staged-editor-totals strong{color:var(--ink-2);font-family:var(--mono)}.staged-editor-totals .imbalanced,.staged-editor-totals .imbalanced strong{color:var(--neg)}.staged-editor-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.scan-frame{border:1px solid var(--rule-2);background:var(--paper-2);box-shadow:var(--shadow-sm);border-radius:10px;position:relative;overflow:hidden}.scan-zoom{color:#fff;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050f0eb8;border-radius:7px;place-items:center;width:28px;height:28px;transition:opacity .14s;display:grid;position:absolute;bottom:8px;right:8px}.scan-frame:hover .scan-zoom{opacity:1}.scan-overlay{background:linear-gradient(180deg, rgba(var(--accent-rgb), .16), rgba(var(--accent-rgb), .04));position:absolute;inset:0;overflow:hidden}.scan-line{background:linear-gradient(180deg, rgba(var(--accent-rgb), 0), rgba(var(--accent-rgb), .62), rgba(var(--accent-rgb), 0));height:28px;box-shadow:0 0 16px 4px rgba(var(--accent-rgb), .35);animation:1.5s ease-in-out infinite scanSweep;position:absolute;left:0;right:0}@keyframes scanSweep{0%{top:-28px}to{top:100%}}.scan-mini{background:linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .5), transparent);background-size:100% 50%;animation:1.4s ease-in-out infinite scanMini;position:absolute;inset:0}@keyframes scanMini{0%{background-position:0 -100%}to{background-position:0 200%}}.spinner{border:2px solid var(--rule-2);border-top-color:var(--accent);border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skel{background:linear-gradient(90deg, var(--paper-2) 25%, var(--card-2) 37%, var(--paper-2) 63%);background-size:400% 100%;border-radius:4px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.lightbox{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050f0ed6;place-items:center;padding:40px;animation:.2s both riseIn;display:grid;position:fixed;inset:0}.lightbox img{max-width:min(620px,92vw);max-height:86vh;box-shadow:var(--shadow-lg);cursor:default;border-radius:10px}.draft-row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(78px,110px) minmax(78px,110px);align-items:center;padding:9px 14px;display:grid}.draft-row:last-child{border-bottom:none}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--ink-2);font-size:11.5px;font-weight:500}.field input,.field select,.field textarea{font-family:var(--ui);color:var(--ink);border:1px solid var(--rule-2);background:var(--card);border-radius:var(--radius);outline:none;padding:8px 10px;font-size:13px}.field textarea{resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field input.mono,.field textarea.mono{font-family:var(--mono)}.field-full{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.transaction-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.check-row{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:inline-flex}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050f0e94;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--paper);border:1px solid var(--rule-2);width:min(520px,100%);box-shadow:var(--shadow-lg);border-radius:12px;padding:16px}.modal-panel.wide{width:min(820px,100%)}.modal-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.modal-head h2{font-family:var(--serif);margin:0;font-size:19px}.modal-head .btn{margin-left:auto}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.modal-actions .entry-delete{color:var(--neg);margin-right:auto}.mobile-entry-backdrop{z-index:60;background:#050f0e8f;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-entry-sheet{background:var(--paper);padding:10px 18px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:92vh;overflow:auto}.mobile-desc-input{text-align:center;width:100%;color:var(--ink-2);font-size:15px;font-family:var(--ui);background:0 0;border:none;outline:none;margin-bottom:14px}.keypad-btn{border:1px solid var(--rule);background:var(--card);height:54px;font-size:22px;font-family:var(--mono);color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:grid}.sec-head{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.sec-head h2{font-family:var(--serif);margin:0;font-size:17px;font-weight:600}.toolbar{border-bottom:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 26px;display:flex}.mobile-only,.mobile-tabs{display:none}@media (width<=860px){.app{grid-template-rows:minmax(0,calc(100% - 64px));grid-template-columns:1fr}.sidebar.desktop,.app>.mobile-only{display:none}.mobile-only{display:block}.topbar .mobile-only{display:inline-flex}.mobile-tabs{display:grid!important}.content-pad{padding:16px}.topbar{flex-wrap:wrap;gap:10px;min-height:56px;padding:12px 16px}.topbar-title{flex:100%}.topbar-spacer{display:none}.account-select{flex:150px;max-width:none}.toolbar{padding:10px 16px}.register-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-stat{padding:9px 12px 10px}.account-stat-value{font-size:15px}.receipt-review-grid{grid-template-columns:1fr}.receipt-review-top,.budget-empty{flex-direction:column;align-items:flex-start}.budget-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-action{grid-template-columns:1fr;align-items:flex-start}.settings-action-buttons{justify-content:flex-start}.form-grid,.transaction-grid{grid-template-columns:1fr}.modal-panel.scheduled-rule-panel{width:min(100%,100vw - 32px)}.scheduled-rule-body{grid-template-columns:1fr}.scheduled-settings-panel{width:auto}.imports-head,.import-batch-head,.staged-import-top{flex-direction:column;align-items:flex-start}.imports-workspace{grid-template-columns:1fr}.import-actions{justify-content:flex-start}.import-entry-fields,.import-summary-grid,.import-review-strip{grid-template-columns:1fr}.register{font-size:12.5px}.register th:first-child,.register td:first-child{width:116px}.register th:nth-child(3),.register td:nth-child(3){width:16%}.register th:nth-child(4),.register td:nth-child(4){display:none}.register th:nth-child(5),.register td:nth-child(5),.register th:nth-child(6),.register td:nth-child(6),.register th:nth-child(7),.register td:nth-child(7){width:12%}.register th:nth-child(8),.register td:nth-child(8){width:76px}}kbd{font-family:var(--mono);background:var(--card);border:1px solid var(--rule-2);color:var(--ink-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:10.5px}.help{color:var(--ink-3);font-size:12px}.vr{background:var(--rule);align-self:stretch;width:1px;margin:0 2px}.hr{background:var(--rule);border:none;height:1px;margin:0}.split-main{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.split-sched{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.split-receipts{grid-template-columns:minmax(210px,256px) minmax(0,1fr)}.split-main>*,.split-sched>*,.split-receipts>*{min-width:0}.spend-row{grid-template-columns:minmax(90px,120px) minmax(0,1fr) minmax(64px,78px);align-items:center;gap:12px;display:grid}.empty{text-align:center;color:var(--ink-3);padding:60px 20px}.empty-state{color:var(--ink-3);text-align:center;padding:18px}.auth-shell{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--rule);background:var(--card);width:min(380px,100%);box-shadow:var(--shadow);gap:14px;padding:24px;display:grid}.auth-panel h1{font-family:var(--serif);margin:0;font-size:28px}.auth-panel p{color:var(--ink-2);margin:0;line-height:1.45}.auth-panel label{color:var(--ink-2);gap:6px;font-size:12px;display:grid}.auth-panel input{border:1px solid var(--rule-2);background:var(--paper);width:100%;color:var(--ink);font:inherit;padding:10px 11px}.auth-error{color:var(--danger);font-size:13px}@media (width<=1180px){.receipt-workbench{grid-template-columns:1fr}.receipt-posting{position:static}.receipt-review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=980px){.split-main,.split-sched,.split-receipts,.imports-workspace{grid-template-columns:1fr}.import-batch-list{grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;padding-bottom:4px;overflow-x:auto}.import-placeholder{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.receipts-shell{grid-template-columns:1fr}.receipt-inbox{position:static}.receipt-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.receipt-review-grid{grid-template-columns:1fr}}@media (width<=560px){.stat-grid{grid-template-columns:1fr 1fr}.sec-head{flex-wrap:wrap}.sec-head .btn{margin-left:0!important}.receipts-shell,.receipt-workbench,.receipt-review{gap:12px}.receipt-inbox,.receipt-source,.receipt-digital,.receipt-posting,.receipt-review-top{padding:12px}.receipt-list{grid-template-columns:1fr}.receipt-source .scan-frame,.receipt-source-empty,.receipt-digital .receipt-paper{min-height:280px}.receipt-active-title{font-size:16px}.draft-row{grid-template-columns:minmax(0,1fr) 64px 64px;padding:8px 10px}.receipt-post-actions .btn{flex:100%;justify-content:center}.receipt-discard-btn{margin-left:0}.staged-row-main{grid-template-columns:8px minmax(0,1fr) auto auto;grid-template-areas:"dot desc desc amount""dot control control actions";row-gap:8px}.staged-status-dot{grid-area:dot;align-self:start;margin-top:6px}.staged-date{display:none}.staged-desc{grid-area:desc}.staged-amount{grid-area:amount}.staged-control{grid-area:control}.staged-row-actions{grid-area:actions;justify-content:flex-end}.staged-accounts{grid-template-columns:1fr;gap:8px}.staged-accounts-amount{color:var(--ink-3);order:-1;padding-bottom:0;font-size:12px}.budget-toolbar{flex-direction:column;align-items:flex-start}.budget-add-account{width:100%}.budget-add-account select{flex:180px;min-width:0}.sched-card{grid-template-columns:38px minmax(0,1fr);align-items:start}.sched-card>:last-child{grid-column:2;justify-content:space-between;align-items:center;text-align:left!important;display:flex!important}.timeline-day{grid-template-columns:74px 1fr;gap:12px}.balance-strip{flex-wrap:wrap}.register th:first-child,.register td:first-child{width:112px}.register th:nth-child(3),.register td:nth-child(3){display:none}.register th:nth-child(5),.register td:nth-child(5),.register th:nth-child(6),.register td:nth-child(6){width:18%}.register th:nth-child(7),.register td:nth-child(7){display:none}.register th:nth-child(8),.register td:nth-child(8){width:68px}}@media (width<=430px){.stat-grid{grid-template-columns:1fr}.stat-value{font-size:23px}.spend-row{grid-template-columns:minmax(0,1fr) minmax(58px,auto)}.spend-row .tree-bar-track{order:3;grid-column:1/-1}}.quick-add-fab{background:var(--accent);width:52px;height:52px;color:var(--accent-contrast);cursor:pointer;z-index:45;box-shadow:0 10px 26px -8px rgba(var(--accent-rgb), .65);border:none;border-radius:16px;place-items:center;display:grid;position:fixed;bottom:26px;right:26px}.quick-add-fab:hover{background:var(--accent-ink)}.quick-add-backdrop{z-index:60;background:#050f0e8f;justify-content:flex-end;display:flex;position:fixed;inset:0}.quick-add-drawer{background:var(--paper);border-left:1px solid var(--rule);flex-direction:column;width:420px;max-width:100%;height:100%;display:flex;overflow:hidden}.quick-add-header{align-items:center;padding:16px 20px 10px;display:flex}.quick-add-header h2{font-family:var(--serif);margin:0;font-size:19px}.quick-add-header button{margin-left:auto}.quick-add-tabs{background:var(--paper-2);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:4px;margin:0 20px 6px;padding:4px;display:grid}.quick-add-tab{color:var(--ink-2);font-family:var(--ui);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:8px 6px;font-size:13px;font-weight:600}.quick-add-tab.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.quick-add-body{flex-direction:column;flex:1;gap:12px;padding:10px 20px 16px;display:flex;overflow:auto}.quick-add-amount{justify-content:center;align-items:center;gap:4px;padding:8px 0 4px;display:flex}.quick-add-currency{color:var(--ink-3);font-size:30px}.quick-add-amount input{width:200px;font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);text-align:center;background:0 0;border:none;outline:none;font-size:44px;font-weight:600}.quick-add-chips{flex-wrap:wrap;gap:6px;margin-top:-4px;display:flex}.quick-add-chips .chip{cursor:pointer}.quick-add-row{align-items:flex-end;gap:10px;display:flex}.quick-add-splits{flex-direction:column;gap:8px;display:flex}.quick-add-split-line{grid-template-columns:1fr 96px 30px;align-items:center;gap:8px;display:grid}.quick-add-split-line select,.quick-add-split-line input{width:100%}.quick-add-split-foot{justify-content:space-between;align-items:center;display:flex}.quick-add-warning{color:var(--neg,#fb7185);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);padding:7px 10px;font-size:12.5px}.quick-add-footer{padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--rule);gap:10px;display:flex}.quick-add-footer .quick-add-save{flex:1;justify-content:center}.quick-add-footer .quick-add-delete{color:var(--neg)}.quick-add-delete-prompt{color:var(--ink-3);flex:1;align-self:center;font-size:.9em}.quick-add-error{display:none}@media (width<=860px){.quick-add-fab{display:none}.quick-add-backdrop{flex-direction:column;justify-content:flex-end}.quick-add-drawer{border-left:none;border-radius:20px 20px 0 0;width:100%;height:auto;max-height:92vh}}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group{margin-top:12px}.nav-group-head{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:4px 12px;font-size:10.5px;font-weight:600}.txn-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.txn-search{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);min-width:220px;color:var(--ink-3);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.txn-search input{color:var(--ink);font-size:13.5px;font-family:var(--ui);background:0 0;border:none;outline:none;flex:1}.txn-chips{flex-wrap:wrap;gap:6px;display:flex}.txn-chips .chip{cursor:pointer}.txn-meta{color:var(--ink-3);justify-content:space-between;align-items:baseline;margin-bottom:8px;padding:0 4px;font-size:12.5px;display:flex}.txn-net strong{font-family:var(--mono);margin-left:4px}.pos{color:var(--credit)}.neg{color:var(--neg)}.txn-empty{color:var(--ink-3);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:60px 20px;display:flex}.txn-empty p{color:var(--ink-2);margin:6px 0 0;font-size:15px}.txn-empty span{font-size:12.5px}.txn-list{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.txn-row{border-top:1px solid var(--rule);cursor:pointer;grid-template-columns:56px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 120px 26px;align-items:center;gap:12px;padding:11px 16px;display:grid}.txn-group:first-child .txn-row{border-top:none}.txn-row:hover{background:var(--card-2)}.txn-head{cursor:default;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:var(--paper-2);border-top:none;font-size:10.5px}.txn-head:hover,.txn-group.expanded{background:var(--paper-2)}.txn-date{color:var(--ink-2);font-size:12.5px}.txn-payee{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.txn-dir{border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.txn-dir-out{background:rgba(var(--neg-rgb), .14);color:var(--neg)}.txn-dir-out svg{transform:rotate(0)}.txn-dir-in{background:var(--ok-bg);color:var(--credit)}.txn-dir-transfer{background:var(--reg-ref-bg,var(--paper-2));color:#c9b8ff}.txn-receipt{color:var(--ink-3);display:inline-flex}.txn-cat{min-width:0}.txn-cat .chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.txn-account{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.txn-account:hover{color:var(--accent);text-decoration:underline}.txn-amount{text-align:right;font-size:14px;font-weight:600}.txn-status{text-align:center;color:var(--ink-3);font-size:12px}.txn-postings{padding:4px 16px 14px 84px}.txn-postings-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10.5px}.txn-postings-table{border-collapse:collapse;width:100%;max-width:460px}.txn-postings-table th,.txn-postings-table td{border-bottom:1px solid var(--rule);padding:4px 10px;font-size:12.5px}.txn-postings-table th{color:var(--ink-3);text-align:left;font-weight:500}.txn-postings-table .num{text-align:right}@media (width<=720px){.txn-row{grid-template-columns:48px minmax(0,1.4fr) minmax(0,1fr) 96px 22px}.txn-row .txn-account,.txn-head span:nth-child(4){display:none}.txn-postings{padding-left:16px}}.acct-select{width:100%;min-width:0;position:relative}.acct-select-trigger{text-align:left;cursor:pointer;width:100%;font-family:var(--ui);color:var(--ink);background:var(--card);border:1px solid var(--rule-2);border-radius:var(--radius);outline:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.acct-select-trigger:focus-visible,.acct-select-trigger[aria-expanded=true]{border-color:var(--accent)}.acct-select-trigger.cell-input{color:inherit;font:inherit;min-height:var(--row-h);background:0 0;border:none;border-radius:0;padding:6px 12px}.acct-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acct-select-placeholder{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acct-select-caret{color:var(--ink-3);flex:none}.register td:focus-within .acct-select-trigger.cell-input{background:var(--accent-wash)}.acct-select-panel{z-index:95;background:var(--card);border:1px solid var(--rule-2);border-radius:var(--radius);max-height:320px;box-shadow:var(--shadow-lg);flex-direction:column;animation:.12s both riseIn;display:flex;position:fixed;overflow:hidden}.acct-select-search{font-family:var(--ui);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule-2);border-radius:var(--radius);outline:none;margin:6px;padding:7px 9px;font-size:13px}.acct-select-search:focus{border-color:var(--accent)}.acct-select-list{padding:4px 0 6px;overflow-y:auto}.acct-select-group{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--ink-3);background:0 0;border:none;align-items:center;gap:4px;padding:8px 12px 3px;font-size:10.5px;font-weight:600;display:flex}.acct-select-group.is-active{color:var(--accent-ink)}.acct-select-option{width:100%;font-family:var(--ui);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.acct-select-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acct-select-option.is-branch{color:var(--ink-3);cursor:default;font-weight:500}.acct-select-option.is-active:not(.is-branch){background:var(--accent-wash);color:var(--accent-ink)}.acct-select-option.is-selected{color:var(--accent-ink)}.acct-select-empty{color:var(--ink-3);padding:10px 12px;font-size:12.5px}.acct-select-row{align-items:stretch;width:100%;display:flex}.acct-select-twirl{width:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.acct-select-twirl-spacer{flex:none;width:18px}.acct-select-chevron{transition:transform .12s}.acct-select-chevron.is-open{transform:rotate(90deg)}.acct-select-label{min-width:0;font-family:var(--ui);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;flex:auto;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px 6px 2px;font-size:13px;display:flex}.acct-select-label.is-branch{color:var(--ink-3);cursor:default;font-weight:500}.acct-select-row.is-active .acct-select-label:not(.is-branch){background:var(--accent-wash);color:var(--accent-ink)}.acct-select-row.is-selected .acct-select-label{color:var(--accent-ink)}.acct-select-panel.is-sheet{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:70vh;padding-bottom:var(--safe-b,0);animation:.16s both riseIn;position:fixed;inset:auto 0 0}.acct-select-panel.is-sheet .acct-select-search{font-size:16px}.acct-select-panel.is-sheet .acct-select-label{min-height:var(--tap,44px)}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel{background:linear-gradient(90deg, var(--card) 25%, var(--card-2) 38%, var(--card) 60%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skel-shimmer;display:block}.skel-text{border-radius:4px;height:12px}.skel-circ{border-radius:50%}.skel-stack{gap:10px;display:grid}.skel-card{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--card);padding:16px}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.mobile-tabs{height:calc(var(--mobile-tabs-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--card);border-top:1px solid var(--rule);z-index:40;grid-auto-columns:1fr;grid-auto-flow:column;align-items:stretch;position:fixed;inset:auto 0 0}.mobile-tab{min-height:var(--tap);color:var(--ink-3);letter-spacing:.01em;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:500;display:flex;position:relative}.mobile-tab.active{color:var(--accent)}.mobile-tab-add{place-items:center;display:grid}.mobile-tab-add-btn{background:var(--accent);width:52px;height:52px;color:var(--accent-contrast);cursor:pointer;box-shadow:0 8px 20px -6px rgba(var(--accent-rgb), .6);border:none;border-radius:16px;place-items:center;margin-top:-12px;display:grid}.mobile-tab-add-btn:active{transform:scale(.94)}.mobile-nav-backdrop{z-index:48;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#050f0e8c;animation:.16s forwards mn-fade;position:fixed;inset:0}@keyframes mn-fade{to{opacity:1}}.mobile-nav-sheet{z-index:49;-webkit-overflow-scrolling:touch;background:var(--card);border-top:1px solid var(--rule-2);max-height:82vh;padding:0 0 calc(var(--sp-md) + var(--safe-b));box-shadow:var(--shadow-lg);border-radius:18px 18px 0 0;animation:.24s cubic-bezier(.22,1,.36,1) forwards mn-rise;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%)}@keyframes mn-rise{to{transform:translateY(0)}}.mobile-nav-grip{background:var(--rule-2);border-radius:999px;width:38px;height:4px;margin:10px auto 2px}.mobile-nav-head{justify-content:space-between;align-items:center;padding:4px 18px 6px;display:flex}.mobile-nav-head h2{font-family:var(--serif);margin:0;font-size:16px;font-weight:600}.mobile-nav-section{padding:6px 0 2px}.mobile-nav-section-head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:12px 18px 4px;font-size:10px}.mobile-nav-item{width:100%;min-height:var(--tap);color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:13px;padding:12px 18px;font-size:14.5px;font-weight:500;display:flex}.mobile-nav-item:active{background:var(--card-2)}.mobile-nav-item .nav-ic{color:var(--ink-3);flex:none;place-items:center;display:grid}.mobile-nav-item.active{color:var(--ink);background:var(--card-2)}.mobile-nav-item.active .nav-ic{color:var(--accent)}.mobile-nav-item .nav-badge{margin-left:auto}@media (width<=860px){.app{grid-template-rows:minmax(0, calc(100% - var(--mobile-tabs-h) - var(--safe-b)))}.app>.mobile-tab-spacer{height:calc(var(--mobile-tabs-h) + var(--safe-b))}.content-pad{padding-bottom:calc(var(--sp-xl) + var(--mobile-tabs-h) + var(--safe-b))}.transaction-toast{left:16px;right:16px;bottom:calc(16px + var(--mobile-tabs-h) + var(--safe-b))}.table-scroll,.register-scroll{-webkit-overflow-scrolling:touch}.modal-backdrop{place-items:end center;padding:12px}.modal-panel{max-height:calc(100vh - 24px - var(--safe-b));margin-bottom:var(--safe-b);overflow-y:auto}.modal-actions .btn{flex:auto;justify-content:center}}@media (width<=640px){.txn-toolbar{flex-direction:column;align-items:stretch;gap:10px}.txn-chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.txn-chips .chip{flex:none}.txn-row.txn-head{display:none}.txn-row{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:12px 14px;display:flex}.txn-payee{flex:60%;order:1;font-size:14.5px;font-weight:600}.txn-amount{flex:none;order:2;margin-left:auto;font-size:15px}.txn-date{flex:none;order:3}.txn-cat{flex:0 auto;order:4;min-width:0}.txn-status{flex:none;order:5;margin-left:auto}.txn-account{display:none}.txn-postings{padding:4px 14px 14px}.txn-postings-table{max-width:none}.toolbar{flex-wrap:wrap;gap:8px;padding:10px 14px}.toolbar .help{display:none!important}.register{min-width:0;font-size:12px}.register th:nth-child(3),.register td:nth-child(3),.register th:nth-child(4),.register td:nth-child(4){display:none}.register th:first-child,.register td:first-child{width:84px}.register th:nth-child(5),.register td:nth-child(5),.register th:nth-child(6),.register td:nth-child(6){width:19%}.register th:nth-child(7),.register td:nth-child(7){width:21%}.register th:nth-child(8),.register td:nth-child(8){width:40px}.cell-input{padding:6px 8px}.modal-panel.register-entry-dialog{width:100%;max-height:calc(100vh - 16px - var(--safe-b))}.register-entry-table{min-width:0}.register-entry-table th:nth-child(3),.register-entry-table td:nth-child(3){display:none}.tree-table{min-width:0}.tree-table thead th:nth-child(2),.tree-row td:nth-child(2){display:none}.tree-cell{padding:11px 12px}.tree-open-hint{opacity:1;transform:none}.bank-card-actions{width:100%}.bank-card-actions .btn{min-height:var(--tap);flex:auto;justify-content:center}.bank-account-head{flex-direction:column;align-items:flex-start;gap:2px}.bank-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-holdings th:nth-child(2),.bank-holdings td:nth-child(2),.bank-holdings th:nth-child(3),.bank-holdings td:nth-child(3){display:none}.bank-inbox-link{margin-left:0}}@media (width<=480px){.bank-detail-grid{grid-template-columns:1fr}}.notification-stack{right:var(--sp-md);bottom:var(--sp-md);z-index:95;gap:var(--sp-sm);width:min(380px, calc(100vw - 2 * var(--sp-md)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.notification-banner{pointer-events:auto;align-items:flex-start;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);background:var(--card);border:1px solid var(--rule-2);border-left:3px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex}.notification-banner.notification-warning,.notification-banner.notification-critical{background:var(--danger-bg);border-color:var(--danger-border);border-left-color:var(--danger)}.notification-banner>svg{color:var(--ink-2);flex:none;margin-top:2px}.notification-body{flex:1;min-width:0}.notification-title{color:var(--ink);font-weight:600}.notification-message{color:var(--ink-2);margin-top:2px;font-size:.85rem}.notification-actions{flex-direction:column;flex:none;align-items:stretch;gap:6px;display:flex}@media (width<=640px){.notification-stack{left:var(--sp-md);right:var(--sp-md);bottom:calc(var(--sp-md) + var(--mobile-tabs-h) + var(--safe-b));width:auto}}.planner-view{padding:16px;padding-bottom:var(--sp-2xl);flex-direction:column;flex:1;gap:16px;width:100%;min-width:0;max-width:980px;min-height:0;margin:0 auto;display:flex;overflow:hidden auto}.planner-section{flex-direction:column;gap:12px;padding:16px;display:flex}.planner-section h2,.planner-section h3{margin:0}.planner-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.planner-disclaimer{color:var(--ink-3);margin:4px 0 0;font-size:12px;line-height:1.5}.planner-state{border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--rule);color:var(--ink-2);flex-direction:column;gap:12px;padding:24px;display:flex}.planner-error{border-color:var(--danger-border,var(--rule));background:var(--danger-bg,var(--card))}.planner-empty{text-align:center;align-items:center}.planner-consent{align-items:flex-start;gap:8px}.planner-skeleton{background:linear-gradient(90deg, var(--card-2) 25%, var(--paper-2,var(--card)) 50%, var(--card-2) 75%);background-size:200% 100%;border-radius:6px;height:18px;animation:1.2s ease-in-out infinite planner-shimmer}.planner-skeleton.short{width:40%}@keyframes planner-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.planner-narrative{flex-direction:column;gap:10px;padding:16px;display:flex}.planner-narrative-summary{color:var(--ink);margin:0;font-size:15px;line-height:1.55}.planner-claims{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.planner-claim{border-radius:var(--radius);background:var(--card-2);border-left:3px solid var(--rule-strong);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.planner-claim-fact{border-left-color:var(--accent)}.planner-claim-estimate{border-left-color:var(--rule-strong)}.planner-claim-recommendation{border-left-color:var(--credit,var(--pos))}.planner-claim-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;padding-top:2px;font-size:10px;font-weight:700}.planner-claim-body{flex-direction:column;gap:6px;display:flex}.planner-claim-body p{margin:0;line-height:1.45}.planner-evidence{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.planner-evidence-chip{color:var(--ink-2);background:var(--accent-wash,var(--card));border:1px solid var(--rule);border-radius:999px;padding:2px 8px;font-size:11px}.planner-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.planner-stat{border-radius:var(--radius);background:var(--card-2);border:1px solid var(--rule);padding:12px}.planner-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px}.planner-stat-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.profile-context-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.profile-context-value{font-size:18px}.profile-context-list{color:var(--ink);flex-direction:column;gap:4px;font-size:13px;line-height:1.4;display:flex}.planner-success{border-color:color-mix(in srgb, var(--credit,var(--pos)) 50%, var(--rule))}.profile-form{flex-direction:column;gap:16px;display:flex}.profile-form .field>span{color:var(--ink-2);font-size:11.5px;font-weight:500}.profile-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-card-list{flex-direction:column;gap:10px;display:flex}.profile-edit-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card-2);flex-direction:column;gap:10px;padding:12px;display:flex}.profile-remove{align-self:flex-start}.profile-savebar{z-index:3;background:linear-gradient(180deg, transparent, var(--paper) 35%);justify-content:flex-end;padding:12px 0;display:flex;position:sticky;bottom:0}.planner-pos{color:var(--credit,var(--pos))}.planner-neg{color:var(--neg,var(--danger))}.planner-nba{border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-wash,var(--card));flex-direction:column;gap:8px;padding:16px;display:flex}.planner-nba h3{margin:0}.planner-nba-impact{color:var(--ink-2);font-size:13px}.planner-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.planner-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.planner-row:last-child{border-bottom:none}.planner-row-amount{font-variant-numeric:tabular-nums;font-weight:600}.ask-ledger-backdrop{z-index:50;background:#00000047;position:fixed;inset:0}.ask-ledger-panel{background:var(--paper);border-left:1px solid var(--rule);width:min(440px,100vw);box-shadow:var(--shadow-lg);z-index:51;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.ask-ledger-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ask-ledger-head h2{margin:0;font-size:16px}.ask-ledger-body{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.ask-ledger-form{border-top:1px solid var(--rule);gap:8px;padding:12px 16px;display:flex}.ask-ledger-form input{flex:1}.ask-ledger-suggestions{flex-wrap:wrap;gap:6px;display:flex}.ask-ledger-suggestion{background:var(--card-2);border:1px solid var(--rule);cursor:pointer;color:var(--ink-2);border-radius:999px;padding:4px 10px;font-size:12px}.planner-draft{border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-wash,var(--card));flex-direction:column;gap:10px;padding:14px;display:flex}.planner-draft-impact{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 12px;display:grid}.planner-draft-arrow{color:var(--ink-3)}.planner-priority{border-bottom:1px solid var(--rule);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.planner-priority:last-child{border-bottom:none}.planner-priority-rank{background:var(--card-2);border:1px solid var(--rule);border-radius:999px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.planner-priority.active .planner-priority-rank{background:var(--accent);color:var(--accent-contrast,#fff);border-color:var(--accent)}.planner-priority.satisfied{opacity:.6}.planner-status-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:10px}@media (width<=860px){.planner-view{padding-bottom:calc(var(--sp-xl) + var(--mobile-tabs-h) + var(--safe-b))}}@media (width<=640px){.planner-view{padding:var(--sp-md);padding-bottom:calc(var(--sp-xl) + var(--mobile-tabs-h) + var(--safe-b));gap:var(--sp-md)}.planner-section{padding:var(--sp-md)}.planner-stat-grid{grid-template-columns:repeat(2,1fr)}.planner-actions{gap:var(--sp-xs)}.planner-actions .btn{min-height:var(--tap)}.ask-ledger-suggestion{min-height:var(--tap);align-items:center;display:inline-flex}.ask-ledger-panel{width:100vw}.ask-ledger-form{padding-bottom:calc(12px + var(--safe-b))}table.planner-compare{border-collapse:collapse;width:100%;display:block}table.planner-compare thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}table.planner-compare tbody{gap:var(--sp-sm);flex-direction:column;display:flex}table.planner-compare tr{padding:var(--sp-sm) var(--sp-md);border:1px solid var(--rule);border-radius:var(--radius);background:var(--card-2);display:block}table.planner-compare tr>th[scope=row]{text-align:left;color:var(--ink);padding:0 0 var(--sp-2xs);margin-bottom:var(--sp-2xs);border-bottom:1px solid var(--rule);font-weight:650;display:block}table.planner-compare td{justify-content:space-between;gap:var(--sp-md);padding:var(--sp-2xs) 0;text-align:right;font-variant-numeric:tabular-nums;align-items:baseline;display:flex}table.planner-compare td:before{content:attr(data-label);text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:normal;flex:none;font-size:11px}.planner-chart{-webkit-overflow-scrolling:touch;overflow-x:auto}.planner-chart .planner-chart-bar{flex:0 0 5px!important;min-width:5px!important}}@media (width<=480px){.planner-view{padding:var(--sp-sm);padding-bottom:calc(var(--sp-xl) + var(--mobile-tabs-h) + var(--safe-b))}.planner-stat-grid{grid-template-columns:1fr}.planner-actions{align-items:stretch}.planner-actions .btn{justify-content:center;width:100%}.planner-draft-impact{text-align:center;grid-template-columns:1fr}.planner-draft-arrow{transform:rotate(90deg)}}
