:root{--bg:#f4f3ee;--surface:#fffffe;--surface-soft:#fbfaf6;--line:#e7e2d6;--line-strong:#d8d2c3;--sunken:#eeede6;--ink:#1b1813;--muted:#6c665b;--subtle:#4b4640;--blue:#2b6cb0;--green:#1f4e46;--green-deep:#163a33;--green-soft:#e9f1ec;--amber:#92400e;--amber-soft:#fff7e8;--red:#9c3226;--red-soft:#f4e3de;--blue-soft:#e9eef3;--shadow:0 22px 54px #2821141a;--shadow-soft:0 8px 22px #2821140f;--radius:10px;--mono:ui-monospace, SFMono-Regular, Menlo, "Cascadia Code", monospace;--ease-out:cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;font-family:Aptos,SF Pro Text,Helvetica Neue,ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--green);flex:none}:where(button,input,select,textarea,a[href],[tabindex]:not([tabindex="-1"])):focus-visible{outline-offset:3px;outline:3px solid #1f4e46b8;box-shadow:0 0 0 5px #1f4e4624}.skip-link{z-index:20;border:1px solid var(--line-strong);background:var(--surface);color:var(--green-deep);min-height:44px;box-shadow:var(--shadow);border-radius:10px;align-items:center;padding:10px 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex;position:fixed;top:12px;left:12px;transform:translateY(-140%)}.skip-link:focus-visible{transform:translateY(0)}.num,.kbd,.nav-count,.amount,.tab-count,.page-count,.state-stamp,.source-icon,code{font-family:var(--mono);font-variant-numeric:tabular-nums}.app-shell{background:var(--bg);grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface-soft);flex-direction:column;gap:16px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;padding:2px 6px 14px;display:flex}.brand-mark{border-radius:12px;flex:none;width:42px;height:42px;display:block}.brand-title{letter-spacing:-.025em;font-size:15px;font-weight:650}.brand-subtitle{color:var(--muted);letter-spacing:.04em;margin-top:2px;font-size:10px}.nav-section{gap:12px;display:grid}.nav-group{gap:2px;display:grid}.nav-eyebrow{color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;margin:6px 8px 5px;font-size:9.5px;font-weight:700}.nav-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;min-height:44px;padding:10px 11px;font-size:13.5px;font-weight:450;text-decoration:none;transition:background .16s,color .16s;display:flex;position:relative}.nav-item svg{color:var(--muted);transition:color .16s}.nav-item:hover{color:var(--green-deep);background:#efede3}.nav-item:hover svg{color:var(--ink)}.nav-item.active{background:var(--green-soft);color:var(--green-deep);font-weight:550}.nav-item.active svg{color:var(--green)}.nav-count{color:var(--muted);background:var(--sunken);text-align:center;border-radius:999px;min-width:22px;margin-left:auto;padding:1px 8px;font-size:10.5px;font-weight:500}.nav-item.active .nav-count{background:var(--surface);color:var(--green-deep);box-shadow:inset 0 0 0 1px #1f4e4647}.nav-label-mobile{display:none}.sidebar-footer{gap:10px;margin-top:auto;display:grid}.health-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%;flex:none}.health-dot.idle{background:var(--line-strong);box-shadow:0 0 0 3px var(--surface-soft)}.state-stamp{color:var(--muted);letter-spacing:.02em;font-size:10px;font-weight:500}.sys-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:7px;padding:10px 11px;display:grid}.sys-label{color:var(--ink);font-size:11.5px;font-weight:600}.sys-sub{border-top:1px solid var(--line);padding-top:7px}.sidebar-sync{align-items:center;gap:8px;display:flex}.sidebar-sync .state-stamp{margin-left:auto}.account-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:14px;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:9px;padding:11px 12px;display:grid}.account-avatar{background:var(--green);color:#f2f6f2;width:32px;height:32px;font:700 11px var(--mono);letter-spacing:.04em;border-radius:10px;place-items:center;display:grid}.account-copy{gap:2px;min-width:0;display:grid}.account-copy strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;font-size:12px;line-height:1.25;overflow:hidden}.account-copy span{color:var(--muted);font-size:10px}.account-actions{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.main{min-width:0;padding:14px 18px 18px}.topbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:48px;margin-bottom:12px;display:flex}.commandbar{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;flex:1;align-items:center;gap:10px;min-width:min(100%,320px);height:48px;padding:0 13px;display:flex;box-shadow:0 1px #28211405}.commandbar:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 4px #1f4e461a}.command-icon{color:var(--muted)}.commandbar input{height:100%;min-height:44px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.kbd{border:1px solid var(--line);border-bottom-color:var(--line-strong);color:var(--muted);background:var(--surface-soft);border-radius:6px;padding:2px 6px;font-size:11px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.heading-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.heading-row>h2,.heading-row>h3{min-width:0}.page-count{vertical-align:3px;color:var(--muted);margin-left:10px;font-size:13px;font-weight:650}.info-disclosure{flex:none;place-items:center;display:inline-grid;position:relative}.info-disclosure summary{border:1px solid var(--line-strong);background:var(--surface);width:34px;height:34px;color:var(--green-deep);cursor:pointer;font:750 13px var(--mono);-webkit-user-select:none;user-select:none;border-radius:999px;place-items:center;display:grid;box-shadow:0 1px #28211405}.info-disclosure summary::-webkit-details-marker{display:none}.info-disclosure summary::marker{content:""}.info-disclosure[open] summary{background:var(--green-soft);border-color:#1f4e4642}.info-popover{z-index:40;border:1px solid var(--line-strong);background:var(--surface);width:min(320px,100vw - 32px);color:var(--muted);border-radius:14px;padding:12px;font-size:12.5px;line-height:1.5;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #28211429}.info-popover p{color:var(--muted);margin:0 0 8px;font-size:12.5px;line-height:1.5}.info-popover p:last-child{margin-bottom:0}.info-popover .checklist{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1{letter-spacing:-.028em;margin:0;font-size:24px;font-weight:650}.page-head p{color:var(--muted);margin:5px 0 0;font-size:13px}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);min-height:44px;transition:background .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease, transform .16s var(--ease-out);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 1px #28211405}.btn:hover:not(:disabled){border-color:var(--green);background:var(--surface-soft);color:var(--green-deep)}.btn:active:not(:disabled){transform:scale(.97)}.btn.pending,.btn[aria-busy=true]{cursor:progress;opacity:.82}.btn.pending:before,.btn[aria-busy=true]:before{content:"";transform-origin:0;background:currentColor;flex:none;width:12px;height:2px;animation:.9s ease-in-out infinite alternate status-scan}.btn.primary{background:var(--green);color:#f2f6f2;border-color:var(--green);box-shadow:none}.btn.primary:hover:not(:disabled){background:var(--green-deep);color:#fff;border-color:var(--green-deep)}.btn.ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface);border-color:var(--line)}.btn.danger{color:var(--red);background:var(--red-soft);border-color:#ebc4bd}.btn.danger:hover:not(:disabled){color:var(--red);border-color:var(--red);background:#efd5ce}.btn.success{background:var(--green);color:#f2f6f2;border-color:var(--green)}.btn.success:hover:not(:disabled){background:var(--green-deep);color:#fff;border-color:var(--green-deep)}.btn.large{min-height:50px;padding:12px 15px;font-size:14px}.btn.small{border-radius:10px;min-height:40px;padding:8px 12px;font-size:12px}.tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:14px;display:flex}.workspace-panel .tabs{margin-bottom:0}.tab{min-height:46px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 2px;font-size:13px;font-weight:600}.tab:hover{color:var(--ink)}.tab.active{color:var(--green-deep);border-bottom-color:var(--green);background:0 0}.tab-count{opacity:.75;margin-left:7px;font-size:11.5px}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:none;border-radius:9px}.action-table{overflow:auto hidden}.action-list-head,.action-row{grid-template-columns:1.9fr .86fr .6fr 92px 150px;align-items:center;column-gap:12px;min-width:720px;display:grid}.action-list-head{height:40px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:0 14px;font-size:10px;font-weight:600;position:relative}.action-list-rows{min-width:720px;margin:0;padding:0;list-style:none}.action-row{border-bottom:1px solid var(--line);min-height:64px;padding:0 14px;font-size:12px;transition:background .14s;position:relative}.action-row:focus-within,.action-row:hover{background:var(--surface-soft)}.action-row.selected{background:var(--green-soft);box-shadow:inset 0 0 0 1px #1f4e462e}.action-status-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-title-button{color:var(--ink);text-align:left;background:0 0;border:0;align-content:center;gap:3px;min-height:44px;padding:0;display:grid}.row-title-button:hover .item-title{color:var(--green-deep)}.item-title{letter-spacing:-.01em;font-weight:600}.item-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:56ch;margin-top:3px;font-size:11px;overflow:hidden}.badge{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:650;display:inline-flex}.badge-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.badge.red{color:var(--red);background:var(--red-soft);border-color:#ebc4bd}.badge.green{color:var(--green);background:var(--green-soft);border-color:#c5d9cb}.badge.blue{color:var(--blue);background:var(--blue-soft);border-color:#c7d6e6}.badge.amber{color:var(--amber);background:var(--amber-soft);border-color:#f2d9a8}.action-row .badge{background:0 0;border:0;border-radius:0;padding:0}.source{color:var(--subtle);align-items:center;gap:8px;display:flex}.source-icon{color:#f2f6f2;background:var(--green);border-radius:7px;place-items:center;width:22px;height:22px;font-size:9.5px;font-weight:700;display:grid}.record>.heading-row{margin-bottom:4px}.email-draft{border:1px solid var(--line);background:var(--surface-soft);color:var(--subtle);border-radius:12px;padding:11px;font-size:12px}.email-draft code{word-break:break-all;color:var(--ink);font-weight:700}.form-note{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:12px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45}.form-note.warning{background:var(--amber-soft);color:#92400e;border-color:#f2d9a8;font-weight:600}@media (max-width:1380px){.btn,.tab,.form-grid input{min-height:48px}.commandbar{height:46px}.action-list-head,.action-row{grid-template-columns:minmax(0,1.5fr) minmax(120px,.9fr) 76px 150px}.action-list-head span:nth-child(4),.action-row>:nth-child(4){display:none}}@media (max-width:760px){.app-shell{min-height:100dvh;display:block}.sidebar{z-index:30;width:100%;height:calc(76px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, var(--green-soft));padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:block;position:fixed;inset:auto 0 0;overflow:hidden}.brand,.sidebar-footer,.nav-eyebrow,.nav-count{display:none}.nav-group{display:contents}.sidebar .primary-nav{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;height:100%;display:flex;overflow:auto hidden}.sidebar .primary-nav::-webkit-scrollbar{display:none}.nav-item{text-align:center;border-radius:16px;flex-direction:column;flex:0 0 72px;justify-content:center;align-items:center;gap:4px;width:72px;min-width:72px;min-height:60px;padding:7px 5px 6px;font-size:10.5px;font-weight:650;line-height:1.05;display:flex}.nav-item svg{width:22px;height:22px}.nav-label-desktop{display:none}.nav-label-mobile{text-overflow:ellipsis;white-space:nowrap;max-width:68px;display:block;overflow:hidden}.nav-item.active{background:var(--green-soft);box-shadow:inset 0 0 0 1px #1f4e461f}.main{padding:12px 12px calc(92px + env(safe-area-inset-bottom))}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px;display:grid}.commandbar{border-radius:18px;grid-column:1/-1;min-width:0;height:46px}.commandbar input{min-width:0;font-size:16px}.kbd{display:none}.topbar>button{border-radius:12px;min-height:40px;padding:7px 11px;font-size:12px}.page-head{gap:12px;margin-bottom:12px;display:grid}h1{font-size:28px;line-height:1.05}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;margin-top:0;display:grid}.toolbar .btn{width:100%;min-height:46px;padding:9px 10px}.toolbar .btn.primary{grid-column:1/-1}.btn,.tab{min-height:48px}.tabs{padding-bottom:2px;overflow:auto}.action-list-head{display:none}.action-list-rows{gap:10px;min-width:0;display:grid}.action-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;padding:14px}.action-row>:nth-child(2),.action-row>:nth-child(3),.action-row>:nth-child(4){display:none}.item-title{font-size:15px;line-height:1.25}.item-sub{font-size:13px;line-height:1.35}}.ledger-table{overflow:auto hidden}.ledger-head,.ledger-row{grid-template-columns:96px minmax(0,1.8fr) 130px minmax(180px,.9fr);align-items:center;column-gap:12px;min-width:640px;display:grid}.ledger-head{height:40px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:0 14px;font-size:10px;font-weight:600;position:relative}.ledger-rows{min-width:640px;margin:0;padding:0;list-style:none}.ledger-row{border-bottom:1px solid var(--line);min-height:56px;padding:6px 14px;font-size:12.5px;transition:background .14s}.ledger-row:hover,.ledger-row:focus-within{background:var(--surface-soft)}.ledger-date{color:var(--muted);font-size:11px}.ledger-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ledger-amount{text-align:right;justify-self:end;font-weight:600}.ledger-amount.credit{color:var(--green)}.ledger-action{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.payout-form{border-top:1px dashed var(--line);grid-column:1/-1;gap:6px;padding:8px 0 4px;display:grid}.payout-form-fields{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.payout-form-fields .field{min-width:140px}.payout-form-hint{color:var(--muted);font-size:11.5px}.ledger-action .btn.small{max-width:100%}.ledger-status{color:var(--muted);font-size:11.5px;font-weight:600}@media (max-width:760px){.ledger-head{display:none}.ledger-rows{gap:10px;min-width:0;display:grid}.ledger-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px;min-width:0;padding:12px 14px}.ledger-desc{white-space:normal;order:1;font-size:14px}.ledger-amount{order:2}.ledger-date{order:3}.ledger-action{order:4;grid-column:1/-1;justify-content:flex-start}}.away-feed{background:var(--green-soft);border-color:#1f4e4652}.away-list{gap:0;margin:4px 0 0;padding:0;list-style:none;display:grid}.away-list li{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0;font-size:12.5px;display:flex}.away-list li:first-child{border-top:0}.away-list li .state-stamp{flex:none}.budget-track{background:var(--sunken);border-radius:999px;height:8px;overflow:hidden}.budget-fill{background:var(--green);border-radius:999px;height:100%}.budget-fill.over{background:var(--red)}.cashflow-head,.cashflow-row{grid-template-columns:130px repeat(4,minmax(0,1fr));align-items:center;column-gap:12px;min-width:560px;display:grid}.cashflow-head{height:40px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:0 14px;font-size:10px;font-weight:600;position:relative}.cashflow-row{border-bottom:1px solid var(--line);min-height:48px;padding:6px 14px;font-size:12.5px}.cashflow-row:last-child{border-bottom:0}.cashflow-head .right,.cashflow-row .right{text-align:right;justify-self:end}.cashflow-row .credit{color:var(--green)}.cashflow-row .debit-text{color:var(--red)}@media (max-width:760px){.cashflow-head,.cashflow-row{min-width:480px}}.stat-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;display:grid;overflow:hidden}.stat-card{border:0;border-right:1px solid var(--line);background:var(--surface);gap:4px;padding:14px 16px;display:grid}.stat-card:last-child{border-right:0}.stat-label{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:650}.stat-value{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:22px;font-weight:650;overflow:hidden}.stat-value.credit{color:var(--green)}.stat-value.debit{color:var(--red)}.stat-sub{color:var(--muted);font-size:11.5px}.dashboard-actions{gap:10px;min-width:0;display:grid}.dashboard-actions .tabs{margin-bottom:0}@media (max-width:760px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.pager{justify-content:flex-end;align-items:center;gap:10px;padding:2px 2px 0;display:flex}.pager-range,.pager-page{color:var(--muted);font-size:11.5px}.month-filter{justify-self:start;gap:5px;max-width:220px;display:inline-grid}.month-filter select{border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--ink);border-radius:10px;padding:9px 12px;font-size:13px}.invoice-form{gap:10px}.invoice-billto textarea{min-height:64px}.invoice-lines{gap:8px;display:grid}.invoice-line{grid-template-columns:minmax(0,2.2fr) 90px 140px 110px auto;align-items:end;gap:8px;display:grid}.invoice-line-total{color:var(--muted);text-align:right;padding-bottom:14px;font-size:12.5px}.invoice-grand{color:var(--ink);align-self:center;margin-left:auto;font-size:14px;font-weight:650}.invoice-link-field{min-width:min(320px,100%)}.doc-kind-banner{color:var(--subtle);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:flex}.doc-kind-banner.doc-kind-invoice{background:var(--blue-soft)}.doc-kind-banner.doc-kind-receipt{background:var(--green-soft)}@media (max-width:760px){.invoice-line{grid-template-columns:1fr 1fr}.invoice-line>:first-child{grid-column:1/-1}}.loading-screen{background:var(--bg);min-height:100vh;color:var(--muted);place-items:center;padding:32px;display:grid}.loading-ledger{border-block:1px solid var(--line-strong);background:var(--surface);grid-template-columns:190px minmax(0,1fr);width:min(720px,100%);min-height:350px;display:grid}.loading-brand{border-right:1px solid var(--line);grid-row:1/span 2;align-items:flex-start;gap:12px;padding:28px 24px;display:flex}.loading-brand img{border-radius:13px}.loading-brand div{gap:2px;padding-top:6px;display:grid}.loading-brand strong{color:var(--ink);font-size:15px}.loading-brand span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.loading-copy{align-self:end;padding:44px 42px 24px}.loading-kicker,.dialog-kicker{color:var(--green-deep);font:650 10px var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;display:block}.loading-copy h1{max-width:14ch;font-size:34px;line-height:1.08}.loading-copy p{max-width:48ch;color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.55}.loading-progress{background:var(--line);width:100%;height:2px;margin-top:32px;overflow:hidden}.loading-progress span{background:var(--green);transform-origin:0;width:34%;height:100%;animation:ledger-progress 1.4s var(--ease-out) infinite;display:block}.loading-ledger>.record-actions{grid-column:2;align-self:start;margin:0;padding:0 42px 44px}.workspace-panel{gap:10px;display:grid}.notice-bar{border-block:1px solid var(--line);background:var(--surface-soft);min-height:40px;color:var(--subtle);align-items:center;gap:10px;margin:-2px 0 12px;padding:8px 2px;font-size:12px;font-weight:600;display:flex}.notice-indicator{background:var(--green);flex:none;width:10px;height:2px}.notice-bar.pending .notice-indicator{transform-origin:0;animation:.9s ease-in-out infinite alternate status-scan}.notice-bar.error{color:var(--red);background:0 0;border-color:#ebc4bd}.notice-bar.error .notice-indicator{background:var(--red)}.upload-dialog-backdrop{z-index:60;background:#1b181394;place-items:center;padding:20px;transition:opacity .18s;display:grid;position:fixed;inset:0}.upload-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(820px,100%);max-height:min(820px,100vh - 40px);transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);border-radius:10px;padding:0;overflow:auto;box-shadow:0 28px 70px #1b18133d}@starting-style{.upload-dialog-backdrop{opacity:0}.upload-dialog{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.upload-dialog{transition:opacity .2s;transform:none}}.upload-dialog-head{justify-content:space-between;align-items:flex-start;gap:14px;padding:24px 26px 18px;display:flex}.upload-dialog h2{letter-spacing:-.035em;margin:0 0 6px;font-size:26px;font-weight:650}.upload-dialog p{color:var(--muted);max-width:62ch;margin:0}.dialog-close{width:44px;height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;display:grid}.dialog-close:hover{border-color:var(--line);background:var(--surface-soft);color:var(--ink)}.capture-tabs{margin:0;padding:0 26px}.capture-body{padding:24px 26px 28px}.capture-mode-panel{gap:20px;display:grid}.capture-mode-panel>form+form,.capture-mode-panel>form+.expense-form{border-top:1px solid var(--line);padding-top:20px}.capture-dropzone{border:1px solid var(--line-strong);background:var(--surface-soft);cursor:pointer;border-radius:8px;padding:18px;position:relative}.capture-dropzone:hover,.capture-dropzone:focus-within{border-color:var(--green);background:var(--green-soft)}.capture-dropzone strong{max-width:44ch;font-size:15px}.capture-file-type{color:var(--green-deep);font:650 10px var(--mono);letter-spacing:.08em}.capture-file-name{width:fit-content;color:var(--green-deep);border-bottom:1px solid;margin-top:4px;font-size:12px;font-weight:650}.capture-dropzone input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.capture-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capture-submit-row{justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.capture-submit-row .field-helper{max-width:48ch}.field-helper.error{color:var(--red);font-weight:600}.record{border:1px solid var(--line);background:var(--surface);box-shadow:none;overflow-wrap:anywhere;border-radius:8px;gap:6px;padding:14px;display:grid}.record strong{color:var(--ink)}.record span,.record p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.empty-state{border-block:1px solid var(--line-strong);background:var(--surface);grid-template-columns:126px minmax(0,1fr);min-height:190px;display:grid}.empty-state.activation{min-height:250px}.empty-index{border-right:1px solid var(--line);background:var(--surface-soft);color:var(--green-deep);align-content:space-between;padding:22px 20px;display:grid}.empty-index span{font:650 32px/1 var(--mono);letter-spacing:-.06em}.empty-index small{color:var(--muted);font:650 9px var(--mono);text-transform:uppercase;letter-spacing:.1em}.empty-content{align-self:center;max-width:720px;padding:30px 34px}.empty-content>p{max-width:62ch;color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.55}.empty-visual{color:var(--green);place-items:center;display:grid}.empty-title{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:650;line-height:1.2}.empty-detail{max-width:60ch;color:var(--subtle)}.empty-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.record.setup-note{border-color:var(--line-strong);background:var(--surface-soft)}.query-state{border-block:1px solid var(--line);grid-template-columns:70px minmax(0,1fr);align-items:center;gap:16px;min-height:72px;padding:12px 4px;display:grid}.query-state-index{color:var(--green-deep);font:650 9px var(--mono);letter-spacing:.1em}.query-state strong{font-size:13px}.query-state p{color:var(--muted);margin:4px 0 0;font-size:12px}.query-state.error,.query-state.error .query-state-index{color:var(--red)}.query-state.pending .query-state-index{transform-origin:0;animation:.9s ease-in-out infinite alternate status-scan}.chat-kit{gap:12px}.chat-shell{border:1px solid var(--line-strong);background:var(--surface-soft);box-shadow:none;border-radius:10px;gap:12px;padding:14px;display:grid}.chat-hero{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chat-hero h2{letter-spacing:-.035em;margin:8px 0 4px;font-size:24px;font-weight:650}.chat-hero p{color:var(--muted);max-width:72ch;margin:0;font-size:12px;line-height:1.5}.chat-shell>.record.setup-note{background:0 0;border-inline:0;border-radius:0;padding-inline:0}.chat-empty p{color:var(--subtle);max-width:72ch;margin:0;font-size:12px;line-height:1.5}.chat-thread{border:1px solid var(--line);background:var(--surface);border-radius:16px;height:min(54vh,560px);min-height:340px;position:relative;overflow:hidden}.chat-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;padding:16px;overflow-y:auto}.chat-messages{flex-direction:column;justify-content:flex-end;gap:24px;min-height:100%;display:flex}.chat-msg{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.chat-msg.user{align-items:flex-end}.chat-msg-role{color:var(--muted);font-size:11px;font-weight:650}.chat-msg-bubble{border-radius:var(--radius);background:var(--surface-soft);min-width:0;max-width:min(100%,72ch);color:var(--ink);overflow-wrap:anywhere;padding:10px 12px;font-size:13px;line-height:1.55}.chat-msg.user .chat-msg-bubble{background:var(--green);color:#f2f6f2;max-width:80%}.chat-thinking{color:var(--muted);align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.chat-thinking i{background:var(--green);transform-origin:0;width:12px;height:2px;animation:.9s ease-in-out infinite alternate status-scan}.chat-jump{box-shadow:var(--shadow-soft);position:absolute;bottom:12px;right:12px}.chat-empty{text-align:left;height:100%;min-height:240px;color:var(--subtle);place-content:center;justify-items:start;gap:7px;padding:32px;display:grid}.chat-empty-index{color:var(--green-deep);font:650 10px var(--mono);letter-spacing:.1em}.chat-empty h3{color:var(--ink);letter-spacing:-.025em;margin:3px 0 0;font-size:20px}.chat-markdown{min-width:0;font-size:13px;line-height:1.55}.chat-markdown>div{gap:10px;display:grid}.chat-markdown :where(p,ul,ol,pre,blockquote,h1,h2,h3,h4,h5,h6){margin:0}.chat-markdown :where(ul,ol){padding-left:20px}.chat-markdown li{margin:3px 0;padding-left:2px}.chat-markdown li::marker{color:var(--green)}.chat-markdown :where(h1,h2){font-size:16px;line-height:1.3}.chat-markdown :where(h3,h4,h5,h6){font-size:14px;line-height:1.35}.chat-markdown :where(h1,h2,h3,h4,h5,h6){color:var(--ink);letter-spacing:-.015em;font-weight:700}.chat-markdown [data-streamdown=inline-code]{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:1px 4px;font-size:12px}.chat-markdown [data-streamdown=code-block]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);gap:6px;padding:8px;display:grid;position:relative;overflow:hidden}.chat-markdown [data-streamdown=code-block-header]{min-height:28px;color:var(--muted);font:11px var(--mono);align-items:center;padding:0 4px;display:flex}.chat-markdown [data-streamdown=code-block-actions]{gap:4px;display:flex;position:absolute;top:8px;right:8px}.chat-markdown [data-streamdown=code-block-body]{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:12px;overflow-x:auto}.chat-markdown pre{background:var(--sdm-bg,transparent);color:var(--sdm-fg,var(--ink));font-size:12px;line-height:1.55;overflow-x:auto}.chat-markdown [data-streamdown=code-block-body] code>span{counter-increment:line;display:block}.chat-markdown [data-streamdown=code-block-body] code>span:before{content:counter(line);width:2ch;color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;margin-right:12px;display:inline-block}.chat-markdown [data-streamdown=code-block-body] code span{color:var(--sdm-c,inherit);background:var(--sdm-tbg,transparent)}.chat-markdown :where(a,[data-streamdown=link]){appearance:none;color:var(--green-deep);font:inherit;text-align:left;text-underline-offset:2px;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.chat-markdown blockquote{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);padding:10px 12px}.chat-markdown [data-streamdown=table-wrapper]{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:6px;max-width:100%;padding:8px;display:grid}.chat-markdown [data-streamdown=table-wrapper]>div:first-child{justify-content:flex-end;gap:4px;display:flex}.chat-markdown [data-streamdown=table-wrapper]>div:first-child>div{position:relative}.chat-markdown [data-streamdown=table-wrapper]>div:first-child>div>div:last-child:not(:first-child){z-index:10;border:1px solid var(--line-strong);background:var(--surface);min-width:140px;box-shadow:var(--shadow-soft);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.chat-markdown [data-streamdown=table-wrapper]>div:last-child{border:1px solid var(--line);border-radius:7px;overflow:auto}.chat-markdown table,[data-streamdown=table-fullscreen] table{border-collapse:collapse;width:100%;font-size:12px}.chat-markdown th,.chat-markdown td,[data-streamdown=table-fullscreen] :where(th,td){border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.chat-markdown th,[data-streamdown=table-fullscreen] th{background:var(--surface-soft);color:var(--ink);white-space:nowrap;font-weight:700}.chat-markdown tr:last-child td,[data-streamdown=table-fullscreen] tr:last-child td{border-bottom:0}.chat-markdown img{border-radius:var(--radius);max-width:100%;height:auto}.chat-markdown hr{border:0;border-top:1px solid var(--line);width:100%;margin:4px 0}.chat-markdown [data-streamdown=code-block-actions] button,.chat-markdown [data-streamdown=table-wrapper] button,[data-streamdown=table-fullscreen] button{border:1px solid var(--line);background:var(--surface);min-width:36px;min-height:36px;color:var(--muted);border-radius:7px;place-items:center;padding:6px;display:inline-grid}.chat-markdown [data-streamdown=table-wrapper]>div:first-child>div>div:last-child:not(:first-child) button{white-space:nowrap;border:0;justify-content:flex-start;width:100%}.chat-markdown [data-streamdown=code-block-actions] button:hover,.chat-markdown [data-streamdown=table-wrapper] button:hover,[data-streamdown=table-fullscreen] button:hover{background:var(--green-soft);color:var(--green-deep)}.chat-markdown [data-streamdown=code-block-actions] svg,.chat-markdown [data-streamdown=table-wrapper] svg,[data-streamdown=table-fullscreen] svg{width:14px;height:14px}[data-streamdown=link-safety-modal]{z-index:70;background:#28211466;place-items:center;padding:16px;display:grid;position:fixed;inset:0}[data-streamdown=link-safety-modal]>div{border:1px solid var(--line-strong);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow);border-radius:14px;gap:14px;padding:20px;display:grid;position:relative}[data-streamdown=link-safety-modal]>div>button:first-child{position:absolute;top:10px;right:10px}[data-streamdown=link-safety-modal] p{color:var(--muted);margin:0;line-height:1.5}[data-streamdown=link-safety-modal]>div>div:last-child{justify-content:flex-end;gap:8px;display:flex}[data-streamdown=link-safety-modal] button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);border-radius:8px;padding:8px 10px}[data-streamdown=table-fullscreen]{z-index:70;background:var(--surface);padding:16px;position:fixed;inset:0;overflow:auto}[data-streamdown=table-fullscreen]>div{flex-direction:column;gap:8px;min-height:100%;display:flex}[data-streamdown=table-fullscreen]>div>div:first-child{justify-content:flex-end;gap:4px;display:flex}[data-streamdown=table-fullscreen]>div>div:last-child{border:1px solid var(--line);border-radius:var(--radius);flex:1;overflow:auto}.chat-suggestions{flex-wrap:wrap;gap:8px;display:flex}.chat-composer{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;padding:10px;display:grid}.chat-input textarea{resize:vertical;min-height:96px}.chat-status-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.chat-status-row .field-helper{margin:0}.chat-history{gap:10px;display:grid}.form-note.warning .btn{margin-left:10px}@media (max-width:760px){.chat-hero,.chat-status-row{display:grid}.chat-thread{min-height:300px;max-height:none}.workspace-panel{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.token-row{display:grid}}.btn:disabled{opacity:1;cursor:not-allowed;color:#475467;box-shadow:none;background:#f8fafc;border-color:#cbd5e1}.btn.primary:disabled,.btn.success:disabled{color:#475467;background:#eef0f3;border-color:#cbd5e1}.expense-form{gap:10px}.receipt-inbox-note{border-bottom:1px solid var(--line);color:var(--ink);gap:4px;padding:14px 2px;display:grid}.receipt-inbox-note span{color:var(--muted);font-size:12.5px;line-height:1.45}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:8px;display:grid}.field{min-width:0;color:var(--ink);gap:5px;display:grid}.field-label{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:650}.field input,.field textarea,.field select{border:1px solid var(--line-strong);background:var(--surface);min-width:0;min-height:48px;color:var(--ink);border-radius:10px;outline:0;padding:11px 12px;font-size:14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.field textarea{width:100%}.field-helper{color:var(--muted);font-size:12px;line-height:1.4}.checkline{min-height:44px;color:var(--muted);align-items:center;gap:8px;font-weight:700;display:inline-flex}.checkline input[type=checkbox],.form-grid input[type=checkbox]{min-height:18px}.record-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.record-actions .btn{border-radius:10px;min-height:40px;padding:8px 13px;font-size:12.5px}.checklist{color:var(--muted);margin:8px 0 0;padding-left:20px;line-height:1.7}.checklist li::marker{color:var(--green)}@media (max-width:760px){.form-grid,.capture-dialog .form-grid{grid-template-columns:1fr}.subscription-form-heading{justify-items:start;display:grid}.upload-dialog-backdrop{place-items:end center;padding:0}.upload-dialog{border-bottom:0;border-radius:10px 10px 0 0;width:100%;max-height:calc(100dvh - 24px)}.upload-dialog-head{padding:20px 18px 16px}.capture-tabs{padding:0 18px}.capture-body{padding:20px 18px calc(24px + env(safe-area-inset-bottom))}.capture-submit-row{display:grid}.capture-submit-row .btn{width:100%}.loading-screen{padding:18px}.loading-ledger{grid-template-columns:1fr;min-height:0}.loading-brand{border-right:0;border-bottom:1px solid var(--line);grid-row:auto;padding:18px}.loading-copy{padding:34px 20px 22px}.loading-copy h1{font-size:30px}.loading-ledger>.record-actions{grid-column:1;padding:0 20px 32px}.empty-state{grid-template-columns:72px minmax(0,1fr)}.empty-index{padding:18px 12px}.empty-index span{font-size:24px}.empty-content{padding:24px 20px}.empty-title{font-size:19px}}.login-shell{background:#e7e4dc;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line-strong);background:var(--surface);width:min(940px,100%);min-height:480px;box-shadow:var(--shadow);border-radius:22px;grid-template-columns:1.05fr 1fr;display:grid;overflow:hidden}.login-art{background:var(--green);color:#f2f6f2;flex-direction:column;gap:18px;padding:40px 36px;display:flex;position:relative;overflow:hidden}.login-art:after{content:"";pointer-events:none;background:#ffffff06;position:absolute;inset:0}.login-art-lines{opacity:.13;background-size:100% 36px;position:absolute;inset:0}.login-art-brand{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.login-art-mark{border-radius:14px;width:48px;height:48px;display:block}.login-art-name{letter-spacing:-.02em;font-size:16px;font-weight:650}.login-art-sub{color:#f2f6f29e;letter-spacing:.05em;margin-top:2px;font-size:10px}.login-art h2{z-index:1;letter-spacing:-.025em;max-width:22ch;margin:auto 0 0;font-size:27px;font-weight:650;line-height:1.18;position:relative}.login-art h2 em{border-bottom:2px solid #ffffff80;padding-bottom:1px;font-style:normal}.login-art>p{z-index:1;color:#f2f6f2bd;max-width:36ch;margin:0 0 4px;font-size:13px;line-height:1.6;position:relative}.login-card{text-align:left;align-content:center;padding:36px 32px;display:grid}.login-eyebrow{color:var(--green-deep);text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px;font-size:11px;font-weight:700}.login-card h1{margin:0 0 10px;font-size:27px;font-weight:650}.login-card p{color:var(--muted);line-height:1.5}.login-mark{border-radius:16px;width:64px;height:64px;margin-bottom:16px;display:block}.login-button{margin-top:16px;text-decoration:none}.login-warning{background:var(--red-soft);color:var(--red);border:1px solid #ebc4bd;border-radius:14px;gap:4px;margin-top:16px;padding:12px;font-size:13px;display:grid}@media (max-width:760px){.login-panel{grid-template-columns:1fr}.login-art{padding:18px 20px}.login-art h2,.login-art>p{display:none}.login-card{padding:24px 20px}}.record-heading{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:650;line-height:1.35}.not-found-card{border-block:1px solid var(--line-strong);background:var(--surface);justify-items:start;gap:12px;width:min(560px,100%);padding:34px;display:grid}.not-found-card .login-mark{margin-bottom:6px}.next-step{color:var(--green-deep);margin:2px 0 0;font-size:12px;font-weight:600}@keyframes status-scan{0%{opacity:.48;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}@keyframes ledger-progress{0%{transform:translate(-110%)}55%,to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.btn.pending:before,.btn[aria-busy=true]:before,.notice-bar.pending .notice-indicator,.chat-thinking i,.query-state.pending .query-state-index,.loading-progress span{animation:none;transform:none}}
