:root{color-scheme:dark;--bg:#0d100e;--surface:#171b18;--surface-muted:#202520;--line:#2a302b;--line-strong:#3b443d;--text:#f0f1eb;--muted:#9ba19a;--accent:#82ad90;--accent-hover:#95bda1;--accent-soft:#243429;--good:#82bd94;--warn:#d4a06b;--danger:#df837c;--shadow:rgba(0,0,0,0.32)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Avenir Next,Avenir,Segoe UI,sans-serif;line-height:1.45;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:transform .14s ease,border-color .18s ease,background .18s ease,color .18s ease}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent),transparent 65%);outline-offset:2px}input,select,textarea{min-height:44px;border:1px solid var(--line-strong);border-radius:9px;background:#0f1310;color:var(--text);caret-color:var(--accent);padding:0 12px;outline:none}input::placeholder,textarea::placeholder{color:#737b74;opacity:1}input:hover,select:hover,textarea:hover{border-color:#657068}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(130,173,144,.13)}select option{background:#121613;color:var(--text)}input[type=date]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{filter:invert(.82);cursor:pointer}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{box-shadow:inset 0 0 0 1000px #0f1310;-webkit-text-fill-color:var(--text);caret-color:var(--accent)}textarea{min-height:96px;padding:11px 12px;resize:vertical}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:15px 12px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}td{font-size:14px}tbody tr:last-child td{border-bottom:0}.transaction-row{cursor:pointer;outline:none;transition:background-color .16s ease}.transaction-row:focus-visible,.transaction-row:hover{background:#1d231e}.transaction-row:focus-visible{box-shadow:inset 3px 0 0 var(--accent)}.transaction-row:active{background:var(--accent-soft)}.account-row small,.table-account small,td small{display:block;color:var(--muted);font-size:12px;margin-top:3px}code{border-radius:5px;background:var(--surface-muted);padding:2px 6px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(28px,3vw,36px);letter-spacing:-.02em;line-height:1.15;text-wrap:balance}h1,h2{font-weight:600}h2{margin-bottom:0;font-size:17px;letter-spacing:-.01em}h3{margin-bottom:10px;font-size:13px}h3,strong{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{min-height:100dvh}.chat-fab,.ghost,.icon-button,.nav-item,.notice,.primary{display:inline-flex;align-items:center;gap:9px}.primary-nav{display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;overflow-x:auto;margin-bottom:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:4px;scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.nav-item{justify-content:center;min-height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);padding:0 13px;font-size:12.5px;text-align:center;white-space:nowrap}.nav-item svg{stroke-width:1.8}.nav-item:hover{background:rgba(255,255,255,.045);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px rgba(130,173,144,.12)}.workspace{width:min(1280px,100%);margin:0 auto;padding:34px 42px 72px}.stack{display:grid;grid-gap:18px;gap:18px;animation:rise .22s ease-out}.dashboard-toolbar,.page-header,.panel-header,.settings-row,.top-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-header{min-height:66px;margin-bottom:10px}.page-header p{margin-bottom:0;color:var(--muted);font-size:14px}.dashboard-toolbar{min-height:46px}.dashboard-month{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.month-controls{display:flex;align-items:center;gap:8px}.month-switcher{display:grid;grid-template-columns:36px minmax(142px,auto) 36px;overflow:hidden;border:1px solid var(--line-strong);border-radius:9px;background:#0f1310}.month-switcher>button{display:grid;width:36px;min-height:38px;place-items:center;border:0;background:transparent;color:var(--muted)}.month-switcher>button:hover{background:var(--surface-muted);color:var(--text)}.month-picker{position:relative;display:flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border-right:1px solid var(--line);border-left:1px solid var(--line);color:var(--text);cursor:pointer;font-size:13px;font-weight:600}.month-picker input{position:absolute;inset:0;width:100%;height:100%;min-height:0;cursor:pointer;opacity:0}.month-today{min-height:38px;border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:600}.top-actions{justify-content:flex-end;flex-wrap:wrap}.top-actions>button{height:40px;min-height:40px}.top-actions>.primary{height:38px;min-height:38px}.ghost,.icon-button,.notice,.primary{min-height:41px;border:1px solid var(--line-strong);border-radius:9px;padding:0 14px}.primary{border-color:var(--accent);background:var(--accent);color:#101510;font-weight:600}.primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.ghost,.icon-button,.notice{background:var(--surface);color:var(--text)}.ghost:hover,.icon-button:hover{border-color:#59625b;background:#1d221e}.icon-button{width:41px;justify-content:center;padding:0}.text-button{border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:600;padding:4px}.text-button:hover{color:var(--accent-hover)}.notice{position:fixed;z-index:26;right:20px;bottom:84px;max-width:min(360px,calc(100vw - 40px));overflow:hidden;border-color:color-mix(in srgb,var(--accent),transparent 62%);background:rgba(23,27,24,.96);color:var(--accent);box-shadow:0 18px 44px rgba(0,0,0,.38);animation:toast-in .18s ease-out}.notice:before{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:var(--accent);transform-origin:left;animation:toast-progress 4.2s linear forwards}.notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-setup{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;border:1px solid #385042;border-radius:14px;background:var(--accent-soft);color:var(--text);padding:14px 16px;text-align:left}.month-setup:hover{border-color:var(--accent);background:#293c2f}.month-setup span{display:block}.month-setup small{display:block;margin-top:3px;color:#b5c3b9;font-size:12px}.summary-hero{display:grid;grid-template-columns:minmax(290px,1.2fr) minmax(470px,.9fr);grid-gap:24px;gap:24px;align-items:end;overflow:hidden;border-radius:20px;background:#20372a;color:#f7f5ed;padding:32px;box-shadow:0 22px 52px rgba(0,0,0,.24)}.hero-label-row{display:flex;align-items:center;gap:8px;margin-bottom:22px}.hero-label{margin-bottom:0;color:#bac8be;font-size:13px}.privacy-toggle{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:0;border-radius:8px;background:transparent;color:#d9e1da;padding:0}.privacy-toggle:hover{background:rgba(255,255,255,.08)}.hero-money{display:block;font-size:clamp(40px,5vw,64px);font-weight:600;letter-spacing:-.025em;line-height:1}.hero-note{display:block;margin-top:12px;color:#d9e1da;font-size:14px}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.14);overflow:hidden}.metric{min-width:0;background:var(--surface);padding:13px 18px}.metric>span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;margin-top:8px;font-size:clamp(16px,1.45vw,19px);letter-spacing:-.01em;line-height:1.15}.stat-strip .metric{border-radius:0;background:rgba(22,39,30,.84)}.stat-strip .metric>span{color:#aebdb3}.stat-strip .metric strong{color:#fff;font-size:16px}.metric.good strong{color:var(--good)}.metric.warn strong{color:var(--warn)}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line)}.panel,.skeleton{border:1px solid var(--line);border-radius:16px;background:var(--surface)}.panel{padding:20px}.table-panel{overflow-x:auto}.due-panel,.table-panel{padding:8px 12px}.transaction-filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.transaction-filter-bar input[type=search]{flex:1 1 220px;min-width:180px;min-height:32px;padding:0 10px;font-size:13px}.transaction-filter-bar select{min-width:130px;min-height:32px;padding:0 10px;font-size:13px}.txn-groups{display:grid}.txn-columns,.txn-row{display:grid;grid-template-columns:108px 84px 110px 1fr 1fr 1fr;align-items:center;grid-gap:12px;gap:12px}.txn-columns{padding:10px 12px;border-bottom:1px solid var(--line)}.txn-columns>span{color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.txn-day{display:grid}.txn-day+.txn-day{border-top:1px solid var(--line)}.txn-row{width:100%;min-height:44px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:14px;outline:none;padding:8px 12px;text-align:left;transition:background-color .16s ease}.txn-row:focus-visible,.txn-row:hover{background:#1d231e}.txn-row:focus-visible{box-shadow:inset 3px 0 0 var(--accent)}.txn-row:active{background:var(--accent-soft)}.txn-row>span:first-child{font-size:13px}.txn-row .pill{font-size:11px;padding:3px 7px}.txn-row>span:nth-child(n+3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-day-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.txn-day-body.open{grid-template-rows:1fr}.txn-day-inner{min-height:0;overflow:hidden}.day-group-button{display:flex;width:100%;min-height:40px;align-items:center;gap:14px;border:0;border-radius:0;background:var(--surface-muted);color:var(--text);padding:6px 12px;text-align:left}.day-group-button:hover{background:#242b26}.day-group-button svg{flex:0 0 auto;color:var(--muted)}.day-group-chevron{flex:0 0 auto;transition:transform .16s ease}.day-group-chevron.open{transform:rotate(90deg)}.day-group-date{font-size:13px;font-weight:600;white-space:nowrap}.day-group-totals{display:grid;grid-template-columns:repeat(3,120px);align-items:center;grid-gap:0 14px;gap:0 14px;margin-left:auto}.day-total{display:grid;grid-template-columns:52px 1fr;align-items:baseline;grid-column-gap:12px;column-gap:12px;font-size:12px;white-space:nowrap}.day-total-label{color:var(--muted);font-size:11px;text-align:right;text-transform:uppercase}.day-total .money{justify-self:end}.overview-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);grid-gap:18px;gap:18px;align-items:stretch}.heatmap-panel{display:flex;min-width:0;flex-direction:column;padding:14px 16px}.heatmap-header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px!important}.heatmap-header h2{font-size:15px}.heatmap-header p{font-size:11px;margin:0}.heatmap-wrap{position:relative;display:flex;flex:1 1;min-height:0;align-items:center;justify-content:center;min-width:0}.heatmap-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:4px;gap:4px;width:100%}.heatmap-cell{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:3px;background:var(--surface-muted);color:var(--muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0}.heatmap-cell.empty{background:transparent}.heatmap-cell.earn1{background:#223a2e;color:#9fc5ab}.heatmap-cell.earn2{background:#28513a;color:#b4dcc0}.heatmap-cell.earn3{background:#2f6a48;color:#c9ebd3}.heatmap-cell.earn4{background:#3a8a5c;color:#e0f5e6;font-weight:600}.heatmap-cell.spend1{background:#3a3426;color:#e6d3b0}.heatmap-cell.spend2{background:#5a4526;color:#f0dca8}.heatmap-cell.spend3{background:#7a5026;color:#f5dda9}.heatmap-cell.spend4{background:#c96a3c;color:#fdf3e6;font-weight:600}.heatmap-cell.today{box-shadow:inset 0 0 0 1px var(--line-strong)}.heatmap-cell.legend{width:12px;height:12px;aspect-ratio:auto;border-radius:3px}.heatmap-legend .heatmap-cell.flat0{background:var(--surface-muted)}.heatmap-tooltip{position:absolute;z-index:30;display:grid;grid-gap:4px;gap:4px;transform:translate(-50%,-108%);pointer-events:none;border:1px solid var(--line-strong);border-radius:8px;background:#202520;color:var(--text);box-shadow:0 14px 34px rgba(0,0,0,.42);padding:9px 12px;white-space:nowrap}.heatmap-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--line-strong)}.heatmap-tooltip strong{font-size:12px;font-weight:600}.heatmap-tooltip-row{display:grid;grid-template-columns:44px auto;align-items:baseline;grid-gap:8px;gap:8px;font-size:12px}.heatmap-tooltip-row span{color:var(--muted);font-size:11px;text-align:right;text-transform:uppercase}.heatmap-tooltip-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:10px;color:var(--muted);font-size:10px;white-space:nowrap}.heatmap-legend>span:first-child{margin-right:2px}.heatmap-legend>span:last-child{margin-left:2px}.content-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);grid-gap:18px;gap:18px;align-items:start}.dashboard-card-grid,.dashboard-main-grid{align-items:stretch}.dashboard-side-stack{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:18px;gap:18px;min-height:0;overflow:hidden}.dashboard-side-stack>.panel{min-height:0;overflow:auto}.dashboard-card{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.dashboard-card .budget-list,.dashboard-card .compact-list,.dashboard-card .empty-state,.dashboard-card .reserve-list,.dashboard-coming-panel{min-height:0}.dashboard-card .budget-list,.dashboard-card .compact-list,.dashboard-card .reserve-list{align-content:start}.dashboard-card .compact-list{margin-inline:-8px}.dashboard-card .compact-row{padding-inline:8px}.dashboard-card .compact-action-row:focus-visible,.dashboard-card .compact-action-row:hover{background:transparent}.dashboard-card .empty-state{display:grid;min-height:64px;place-items:center;padding:14px 16px}.panel-header{align-items:flex-start;margin-bottom:18px}.panel-header p{margin:3px 0 0}.panel-footnote,.panel-header p{color:var(--muted);font-size:12px}.panel-footnote{margin:16px 0 0}.account-list,.budget-list,.compact-list,.reserve-list{display:grid}.account-row{display:grid;grid-template-columns:46px 1fr auto;grid-gap:12px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.account-row:last-child{border-bottom:0}.account-copy>span{display:block;margin-top:2px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-balance{text-align:right}.account-icon{display:grid;width:44px;height:44px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);color:var(--muted)}.account-icon.branded{border-color:#384039;background:#111}.account-icon img{width:100%;height:100%;object-fit:cover}.account-icon.generic{background:#1e2822;color:var(--accent)}.account-icon.bitcoin{border-color:#4b3823;background:#2d2419;color:#f2a33a}.table-account{display:flex;min-width:170px;align-items:center;gap:10px}.budget-row{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto;grid-gap:9px 14px;gap:9px 14px;width:100%;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:8px 0 10px;text-align:left}.budget-row:before{content:"";position:absolute;z-index:-1;inset:0 -12px;border-radius:12px;background:transparent;transition:background-color .16s ease}.budget-row:focus-visible:before,.budget-row:hover:before{background:rgba(130,173,144,.055)}.budget-row:focus-visible{outline:none;box-shadow:inset 3px 0 0 var(--accent)}.budget-row>div>span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.budget-percent{align-self:center;font-size:13px}.due-item,.due-list{display:grid}.due-item{position:relative;grid-template-columns:minmax(0,1fr) auto 128px;grid-gap:16px;gap:16px;align-items:center;border:0;border-radius:0;padding:12px 14px;cursor:pointer;outline:none;transition:background-color .16s ease}.due-item:not(:last-child):after{content:"";position:absolute;right:14px;bottom:0;left:14px;height:1px;background:var(--line);pointer-events:none}.due-item:focus-visible,.due-item:hover{border-radius:12px;background:rgba(130,173,144,.055)}.due-item:focus-visible{box-shadow:inset 3px 0 0 var(--accent)}.due-main{display:grid;grid-gap:4px;gap:4px}.due-main strong{font-size:15px}.due-main span{color:var(--muted);font-size:12px}.reserve-row{position:relative;isolation:isolate;display:grid;grid-template-columns:24px minmax(170px,1fr) minmax(96px,auto) minmax(96px,auto);grid-gap:10px;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:13px 0;text-align:left}.reserve-row:last-child{border-bottom:0}.reserve-row:before{content:"";position:absolute;z-index:-1;inset:0 -12px;border-radius:12px;background:transparent;transition:background-color .16s ease}.reserve-row:focus-visible:before,.reserve-row:hover:before{background:rgba(130,173,144,.055)}.reserve-row:focus-visible{outline:none;box-shadow:inset 3px 0 0 var(--accent)}.reserve-row>svg{align-self:center;color:var(--accent)}.reserve-row strong{display:block;font-size:14px}.reserve-row div>span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.reserve-value{display:block;justify-items:start;white-space:nowrap}.reserve-value small{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:600}.reserve-progress{grid-column:3/5}.bar{grid-column:1/-1;height:6px;overflow:hidden;border-radius:6px;background:var(--surface-muted)}.bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.compact-row{display:grid;grid-template-columns:28px 1fr auto;grid-gap:10px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.compact-action-row{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.compact-action-row:focus-visible,.compact-action-row:hover{background:rgba(130,173,144,.055)}.compact-row.due-row{grid-template-columns:1fr auto}.compact-row:last-child{border-bottom:0}.compact-row small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.activity-dot{width:9px;height:9px;margin-left:8px;border-radius:50%;background:var(--muted)}.activity-dot.income{background:var(--good)}.activity-dot.expense{background:#bd7650}.empty-state{margin:0;border:1px dashed var(--line-strong);border-radius:11px;color:var(--muted);padding:20px;text-align:center}.empty-action{width:100%;background:transparent}.empty-action:hover{border-color:var(--accent);color:var(--accent)}.table-empty-state{display:grid;min-height:260px;place-items:center;align-content:center;padding:36px 20px;text-align:center}.table-empty-state>strong{margin-top:14px}.table-empty-state p{max-width:340px;margin:5px 0 18px;color:var(--muted);font-size:13px}.empty-state-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.cell-input{width:100%;min-width:120px;border-color:var(--line-strong);background:#0f1310;padding:0 10px}.cell-input:focus,.cell-input:hover{border-color:var(--line-strong);background:var(--surface-muted)}.money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.amount-income{color:var(--good)}.amount-due,.amount-expense,.amount-warn{color:var(--danger)}.amount-transfer{color:var(--muted)}.privacy-mask{filter:blur(7px);opacity:.82}.hero-privacy-mask,.privacy-mask{display:inline-block;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.hero-privacy-mask{filter:blur(14px);opacity:.72}.pill{display:inline-block;border-radius:6px;background:var(--surface-muted);padding:4px 8px;color:var(--muted);font-size:12px;text-transform:capitalize}.pill.income{background:#21382a;color:var(--good)}.pill.expense{background:#3a2921;color:#dda078}.pill.transfer{background:#292d36;color:#aab2c0}.danger,.warn-text{color:var(--danger)}.settings-list{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.settings-list details{border-bottom:1px solid var(--line)}.settings-list details:last-child{border-bottom:0}.settings-list summary{display:flex;align-items:center;justify-content:space-between;min-height:62px;cursor:pointer;list-style:none;padding:12px 20px}.settings-list summary::-webkit-details-marker{display:none}.settings-list summary:hover{background:#1b201c}.settings-list summary small{display:block;margin-top:3px;color:var(--muted)}.settings-list summary svg{transition:transform .18s ease}.settings-list details[open] summary svg{transform:rotate(180deg)}.settings-content{border-top:1px solid var(--line);background:#131714;padding:16px 20px}.settings-content>.ghost,.settings-row>.ghost{min-height:34px;font-size:13px;padding-inline:12px}.guide-content{display:grid;grid-gap:18px;gap:18px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.guide-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:#171b18;padding:14px}.guide-card h3{margin-bottom:8px}.guide-card p{margin-bottom:12px;color:#c6ccc5;font-size:13px}.guide-card code{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;overflow-wrap:anywhere;color:#d6e5d9;font-size:12px}.term-list{display:grid;border-top:1px solid var(--line)}.term-row{display:grid;grid-template-columns:minmax(140px,.3fr) 1fr;grid-gap:16px;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.term-row:last-child{border-bottom:0}.term-row strong{font-size:13px}.term-row span{color:var(--muted);font-size:13px}.settings-row{align-items:center;padding-block:12px}.settings-row p{margin:0;color:var(--muted)}.data-tools{display:grid;grid-gap:16px;gap:16px}.activity-list{display:grid;grid-gap:0;gap:0}.activity-item{border-bottom:1px solid var(--line);padding:11px 0}.activity-item:last-child{border-bottom:0}.activity-item small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.category-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px}.settings-content>.ghost+.category-columns{margin-top:16px}.category-columns>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;grid-column-gap:22px;column-gap:22px}.category-columns h3{grid-column:1/-1}.category-item{display:block;border-bottom:1px solid var(--line);padding:8px 0;font-size:14px}.modal-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;overflow-y:auto;background:rgba(0,0,0,.7);padding:24px;animation:backdrop-in .16s ease-out}.modal{width:min(570px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border-radius:18px;background:var(--surface);box-shadow:0 28px 80px rgba(0,0,0,.5);animation:modal-in .18s ease-out}.modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:22px 22px 18px}.modal>header h2{font-size:21px}.modal>header p{margin:4px 0 0;color:var(--muted);font-size:13px}.modal-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px;padding:22px}.auth-form label,.modal-form label{display:grid;grid-gap:6px;gap:6px}.auth-form label>span,.modal-form label>span{color:var(--muted);font-size:12px;font-weight:600}.modal-form label>span small{font-weight:400}.modal-form .full{grid-column:1/-1}.interest-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--accent),transparent 66%);border-radius:8px;background:var(--accent-soft);color:#dce9df;padding:7px 10px}.interest-banner strong{display:block;font-size:12px;line-height:1.2}.interest-banner span{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.2}.interest-banner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.interest-banner-actions>button{min-height:30px;padding-inline:9px;font-size:12px}.input-with-action{display:grid;grid-template-columns:minmax(0,1fr) 41px;grid-gap:8px;gap:8px}.input-with-action input{width:100%}.form-error{margin:-2px 0 0;color:var(--danger);font-size:13px}.modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.submit-tooltip{position:relative;display:inline-flex}.submit-tooltip[data-disabled=true] .primary{pointer-events:none}.submit-tooltip[data-disabled=true]:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);width:max-content;max-width:230px;border:1px solid var(--line-strong);border-radius:8px;background:#202520;color:var(--text);box-shadow:0 12px 32px rgba(0,0,0,.34);font-size:12px;line-height:1.25;opacity:0;padding:8px 10px;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease;white-space:normal;z-index:2}.submit-tooltip[data-disabled=true]:focus-visible:after,.submit-tooltip[data-disabled=true]:hover:after{opacity:1;transform:translateY(0)}.modal-actions.split-actions{display:grid;grid-template-columns:auto 1fr auto auto}.danger-action{border-color:var(--danger);background:transparent;color:var(--danger)}.danger-action:hover{border-color:var(--danger);background:var(--danger);color:#fff}.delete-confirm-row{align-items:center;border:0;border-radius:0;background:transparent;padding:4px 0;animation:confirm-in .16s ease-out}.delete-confirm-copy{display:grid;grid-gap:2px;gap:2px;margin-right:auto;border-left:2px solid var(--danger);padding-left:10px}.delete-confirm-copy strong{color:var(--text);font-size:13px;font-weight:600}.delete-confirm-copy small{color:var(--muted);font-size:12px}.danger-confirm{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid var(--danger);border-radius:9px;background:var(--danger);color:#fff;padding:0 14px;font-weight:600}.danger-confirm:hover{background:#ff8e8e;color:#111510}@keyframes confirm-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-progress{to{transform:scaleX(0)}}.rollover-modal{width:min(680px,100%)}.rollover-form{gap:12px}.rollover-accounts{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#111612}.rollover-account{display:grid;grid-template-columns:36px 1fr;grid-gap:11px;gap:11px;align-items:center;border-bottom:1px solid var(--line);padding:9px 12px}.rollover-account:last-child{border-bottom:0}.rollover-account .account-icon{width:36px;height:36px;border-radius:9px}.rollover-account label{grid-template-columns:minmax(0,1fr) 155px;align-items:center;gap:14px}.rollover-account label>span strong{color:var(--text);font-size:14px}.rollover-account label>span small{display:block;margin-top:1px;color:var(--muted);font-size:11px;font-weight:400}.rollover-account input{width:100%;min-height:38px;padding-inline:11px}.rollover-carry{display:grid;grid-gap:8px;gap:8px}.modal-form .copy-option{display:flex;min-height:44px;align-items:center;gap:10px;border-radius:10px;background:var(--surface-muted);padding:10px 12px}.copy-option:has(input:disabled){color:var(--muted);background:transparent;border:1px dashed var(--line);opacity:.78}.copy-option input{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.copy-option input:disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:5px;background:#141814}.copy-option input:disabled:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--line-strong)}.rollover-note{margin:0;color:var(--muted);font-size:13px}.chat-fab{position:fixed;z-index:25;right:20px;bottom:20px;width:48px;height:48px;justify-content:center;border:0;border-radius:15px;background:var(--accent);color:#101510;box-shadow:0 12px 32px rgba(0,0,0,.34)}.chat-fab:hover{background:var(--accent);transform:translateY(-2px)}.chat-fab-open{display:none}.chat-panel{position:fixed;z-index:24;right:20px;bottom:20px;display:grid;width:min(480px,calc(100vw - 40px));height:min(720px,calc(100dvh - 40px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 8px 8px rgba(0,0,0,.32);transform-origin:bottom right;animation:chat-panel-in .19s cubic-bezier(.22,1,.36,1) both}.chat-panel-closing{pointer-events:none;animation:chat-panel-out .14s cubic-bezier(.4,0,1,1) both}.chat-panel-dragging{border-color:var(--accent)}.chat-dropzone{position:absolute;z-index:3;inset:58px 8px 8px;display:grid;place-items:center;border:1px dashed var(--accent);border-radius:11px;background:rgba(36,52,41,.94);color:var(--text);font-size:13px;font-weight:600;pointer-events:none}.chat-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:13px 14px 13px 16px}.chat-panel>header strong{display:block;font-size:14px}.chat-panel>header span{display:block;margin-top:2px;color:var(--muted);font-size:12px}.chat-header-actions{display:flex;align-items:center;gap:4px}.message-scroller{display:flex;min-height:0;flex-direction:column;gap:12px;overflow-y:auto;padding:18px}.chat-empty-state{display:grid;flex:1 1;align-content:center;grid-gap:15px;gap:15px;padding:8px 2px 4px}.chat-empty-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(130,173,144,.2);border-radius:15px;background:var(--accent-soft);color:var(--accent);box-shadow:0 10px 28px rgba(6,14,8,.22)}.chat-empty-state h2{font-size:20px;letter-spacing:-.02em}.chat-empty-state p{max-width:36ch;margin:5px 0 0;color:var(--muted);font-size:13px;text-wrap:pretty}.chat-suggestions{display:grid;grid-gap:7px;gap:7px}.chat-suggestions button{display:grid;grid-template-columns:28px 1fr 16px;min-height:46px;align-items:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:11px;background:#131714;color:var(--text);padding:7px 10px;text-align:left}.chat-suggestions button svg:first-child{color:var(--accent)}.chat-suggestions button svg:last-child{color:#657068}.chat-suggestions button:hover{border-color:#465148;background:var(--surface-muted);transform:translateX(2px)}.chat-suggestions button:hover svg:last-child{color:var(--accent)}.chat-suggestions span,.message{font-size:13px}.message{--message-entry-x:-8px;width:-moz-fit-content;width:fit-content;max-width:88%;border-radius:13px;padding:10px 12px;animation:chat-message-in .18s cubic-bezier(.22,1,.36,1) both}.message p{margin:0;white-space:pre-wrap}.message small{display:block;overflow-wrap:anywhere;margin-top:5px;opacity:.75}.chat-message-entry{display:flex;max-width:88%;flex-direction:column;gap:7px}.user-message-entry{align-self:flex-end;align-items:flex-end}.assistant-message-entry{align-self:flex-start;align-items:flex-start}.chat-message-entry .message{max-width:100%}.chat-message-images{display:flex;flex-wrap:wrap;gap:6px;animation:rise .18s cubic-bezier(.22,1,.36,1)}.chat-image-thumbnail,.chat-message-images button{overflow:hidden;border:0;border-radius:9px;background:#111512;padding:0}.chat-message-images button{width:80px;height:106px;border:1px solid var(--line-strong);box-shadow:0 6px 18px rgba(0,0,0,.18)}.chat-image-thumbnail img,.chat-message-images img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s cubic-bezier(.22,1,.36,1)}.chat-image-thumbnail:hover img,.chat-message-images button:hover img{transform:scale(1.035)}.chat-message-images button:hover{border-color:var(--accent)}.user-message{--message-entry-x:8px;align-self:flex-end;border-bottom-right-radius:4px;background:var(--accent);color:#101510}.assistant-message{align-self:flex-start;border-bottom-left-radius:4px;background:var(--surface-muted)}.assistant-message p:last-child{margin-bottom:0}.chat-message-action{display:flex;align-items:center;gap:7px;align-self:flex-start;margin:0 0 0 3px;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:5px 7px;font-size:12px;font-weight:600;transition:transform .14s ease,color .18s ease}.chat-message-action svg{color:var(--accent)}.chat-message-action:hover,.chat-message-action:hover svg{color:var(--accent-hover)}.chat-message-action:disabled{cursor:wait;opacity:.6}.shimmer{color:var(--muted);animation:chat-pulse 1.2s ease-in-out infinite alternate}.chat-account-options{display:grid;grid-gap:8px;gap:8px;width:100%;animation:rise .18s cubic-bezier(.22,1,.36,1)}.chat-account-options>small{color:var(--muted);font-size:11px}.chat-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.chat-account-grid button{display:grid;min-width:0;min-height:54px;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;border:1px solid var(--line-strong);border-radius:10px;background:#131714;color:var(--text);padding:8px;text-align:left}.chat-account-grid button:hover{border-color:var(--accent);background:var(--accent-soft)}.chat-account-grid .account-icon{width:34px;height:34px;border-radius:9px}.chat-account-grid button>span:last-child{min-width:0}.chat-account-grid button small,.chat-account-grid button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-account-grid button strong{font-size:12px}.chat-account-grid button small{margin-top:2px;color:var(--muted);font-size:10px}.chat-import-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:13px 12px;gap:13px 12px;width:100%;border:1px solid var(--line);border-radius:12px;background:#131714;padding:14px;transform-origin:50% 100%;animation:chat-import-card-in .24s cubic-bezier(.22,1,.36,1) both}.chat-import-header{display:flex;min-width:0;align-items:center;gap:10px}.chat-import-header>span:last-child{min-width:0}.chat-import-header small,.chat-import-header strong{display:block}.chat-import-header strong{font-size:14px}.chat-import-header small{margin-top:2px;color:var(--muted);font-size:11px}.chat-import-status-icon{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.chat-import-summary{display:grid;align-self:center;justify-items:end;grid-gap:2px;gap:2px;color:var(--muted);font-size:12px;text-align:right;white-space:nowrap}.chat-import-summary strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-import-summary .ready strong{color:var(--good)}.chat-import-summary .review strong{color:var(--warn)}.chat-import-summary .error strong{color:var(--danger)}.chat-import-action,.chat-import-card>.empty-state{grid-column:1/-1}.chat-import-action{justify-content:center;min-height:42px}.chat-composer-shell{border-top:1px solid var(--line)}.chat-attachments{display:flex;gap:6px;overflow-x:auto;padding:9px 12px 0;animation:rise .16s cubic-bezier(.22,1,.36,1)}.chat-attachment-preview{position:relative;flex:0 0 58px;height:58px}.chat-image-thumbnail{width:58px;height:58px}.chat-attachment-remove{position:absolute;top:-6px;right:-6px;display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:999px;background:#2b312c;color:var(--text);padding:0}.chat-composer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-gap:8px;gap:8px;padding:12px}.chat-composer textarea{min-height:42px;max-height:110px;border-color:transparent;background:var(--surface-muted);resize:none}.chat-attach-button,.chat-composer>button{display:grid;width:44px;height:44px;place-items:center;align-self:center;border:0;border-radius:10px;background:var(--accent);color:#101510}.chat-composer>button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.chat-attach-button{position:relative;background:var(--surface-muted);color:var(--muted);cursor:pointer}.chat-attach-button:hover{color:var(--text)}.chat-attach-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chat-lightbox{position:fixed;z-index:60;inset:0;display:grid;place-items:center;background:rgba(3,6,4,.84);padding:20px;animation:backdrop-in .16s ease-out}.chat-lightbox-content{position:relative;overflow:hidden;max-width:min(720px,92vw);max-height:92dvh;border-radius:14px;background:#080b09;box-shadow:0 8px 8px rgba(0,0,0,.38);animation:lightbox-in .22s cubic-bezier(.16,1,.3,1)}.chat-lightbox-content img{display:block;max-width:100%;max-height:92dvh;object-fit:contain}.chat-lightbox-content .icon-button{position:absolute;top:10px;right:10px;background:rgba(13,16,14,.86);color:var(--text)}.import-review-page{min-height:100dvh;background:var(--bg);animation:review-page-in .24s cubic-bezier(.22,1,.36,1)}.import-review-header{position:-webkit-sticky;position:sticky;z-index:10;top:0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:var(--bg);padding:6px max(24px,calc((100vw - 1400px) / 2))}.import-review-editor-header>.ghost,.import-review-header>.ghost{min-height:36px;flex:0 0 auto;border-color:transparent;background:transparent;color:var(--muted);padding:0 8px;font-size:13px;white-space:nowrap}.import-review-editor-header>.ghost:hover,.import-review-header>.ghost:hover{border-color:transparent;background:var(--surface-muted);color:var(--text)}.import-review-heading{display:flex;min-width:0;flex:1 1;align-items:center;gap:6px}.import-review-header h1{overflow:hidden;margin:0;font-size:17px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.import-review-info{position:relative;display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0}.import-review-info:hover{background:var(--surface-muted);color:var(--text)}.import-review-info:before{content:"";position:absolute;inset:-9px}.import-review-info:after{content:attr(data-tooltip);position:absolute;z-index:11;top:calc(100% + 8px);right:0;width:max-content;max-width:min(280px,calc(100vw - 28px));border:1px solid var(--line-strong);border-radius:8px;background:#202520;color:var(--text);box-shadow:0 8px 16px rgba(0,0,0,.3);font-size:12px;font-weight:500;line-height:1.35;opacity:0;padding:8px 10px;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease;white-space:normal}.import-review-info:focus:after,.import-review-info:hover:after{opacity:1;transform:translateY(0)}.import-review-content{width:min(1400px,calc(100% - 48px));margin:0 auto;padding:28px 0 84px}.import-review-columns{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr);min-height:calc(100dvh - 124px);align-items:start;grid-gap:24px;gap:24px}.import-review-columns.without-source{grid-template-columns:1fr}.import-review-source{position:-webkit-sticky;position:sticky;top:60px;min-width:0;scroll-margin-top:60px}.import-review-source>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.import-review-source>header small,.import-review-source>header strong{display:block}.import-review-source>header strong{font-size:14px}.import-review-source>header small{margin-top:3px;color:var(--muted);font-size:11px}.import-review-source-actions{display:flex;gap:4px}.import-review-source-actions .icon-button{width:34px;height:34px}.import-review-image{position:relative;display:grid;width:100%;height:auto;max-height:min(calc(100dvh - 183px),960px);overflow:hidden;place-items:center;border:0;border-radius:12px;background:transparent;padding:0;cursor:zoom-in}.import-review-image img{display:block;max-width:100%;max-height:min(calc(100dvh - 183px),960px);object-fit:contain}.import-review-image>span{position:absolute;right:10px;bottom:10px;border-radius:999px;background:rgba(13,16,14,.82);color:var(--muted);padding:5px 8px;font-size:10px}.import-review-thumbnails{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding-top:10px}.import-review-thumbnail{position:relative;flex:0 0 54px;width:54px;height:72px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#080b09;padding:0}.import-review-thumbnail.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.import-review-thumbnail img{width:100%;height:100%;object-fit:cover}.import-review-thumbnail span{position:absolute;right:4px;bottom:4px;display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:rgba(13,16,14,.85);color:var(--text);font-size:10px}.import-review-results{--review-columns:24px minmax(180px,1.6fr) minmax(86px,.7fr) minmax(86px,.7fr) 92px minmax(120px,1fr);min-width:0}.import-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.import-review-toolbar-main{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:10px}.import-review-summary{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.import-review-summary strong{color:var(--text);font-size:14px}.import-review-summary span{border-radius:999px;background:var(--surface-muted);padding:5px 9px}.import-review-selection-toggle{min-height:36px;padding-inline:12px;font-size:12px}.import-review-sort{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.import-review-sort select{width:154px;min-height:36px;padding-inline:10px;font-size:12px}.import-review-table-header{display:grid;grid-template-columns:var(--review-columns);grid-gap:12px;gap:12px;border-bottom:1px solid var(--line-strong);color:var(--muted);padding:0 10px 9px;font-size:11px;font-weight:600}.import-review-table-header span:nth-last-child(2){text-align:right}.import-review-row{position:relative;display:grid;grid-template-columns:var(--review-columns);align-items:center;grid-gap:12px;gap:12px;border-bottom:1px solid var(--line);padding:16px 10px;transition:background .14s ease-out}.import-review-row.clickable{cursor:pointer}.import-review-row.clickable:focus-within,.import-review-row.clickable:hover{background:var(--surface-muted)}.import-review-row-select{position:absolute;z-index:2;display:grid;top:0;bottom:0;left:10px;width:24px;place-items:center;margin:0;cursor:pointer}.import-review-row-select input{width:17px;min-height:17px;margin:0;accent-color:var(--accent)}.import-review-row>span{min-width:0}.import-review-row small,.import-review-row strong{display:block}.import-review-row strong{overflow-wrap:anywhere;font-size:13px}.import-review-row small{margin-bottom:3px;color:var(--muted);font-size:11px;text-transform:capitalize}.import-review-details small{margin:4px 0 0;text-transform:capitalize}.import-review-account>small,.import-review-amount>small,.import-review-category>small{display:none}.import-review-source-link{position:relative;z-index:2;border:0;background:transparent;color:var(--muted);padding:4px 0 0;font-size:10px;text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;text-underline-offset:3px}.import-review-source-link.active,.import-review-source-link:hover{color:var(--accent);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.import-review-amount{text-align:right}.import-review-amount strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-review-amount.income strong{color:var(--good)}.import-review-status>strong{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:999px;background:var(--surface-muted);color:var(--muted);padding:3px 8px;font-size:11px;text-transform:capitalize;white-space:nowrap}.import-review-status.ready>strong{background:var(--accent-soft);color:var(--good)}.import-review-status.duplicate>strong,.import-review-status.review>strong{background:color-mix(in srgb,var(--warn),transparent 86%);color:var(--warn)}.import-review-status.error>strong{background:color-mix(in srgb,var(--danger),transparent 86%);color:var(--danger)}.import-review-row.duplicate,.import-review-row.skipped{cursor:default}.import-review-status small{margin:4px 0 0;line-height:1.35;text-transform:none}.import-review-row-open{position:absolute;z-index:1;inset:0;border:0;border-radius:0;background:transparent;padding:0}.import-review-row-open:focus-visible{outline-offset:-3px}.import-review-editor-view{animation:import-editor-view-in .2s cubic-bezier(.22,1,.36,1) both}.import-review-list-view.returning{animation:import-list-return-in .18s cubic-bezier(.22,1,.36,1) both}.import-review-editor-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;border-bottom:1px solid var(--line-strong);padding-bottom:16px}.import-review-editor-header>div{min-width:0}.import-review-editor-header h2{overflow-wrap:anywhere;font-size:16px}.import-review-editor-guidance{display:flex;align-items:center;gap:7px;margin-top:5px}.import-review-editor-guidance>span{border-radius:999px;background:color-mix(in srgb,var(--warn),transparent 86%);color:var(--warn);padding:3px 8px;font-size:11px;font-weight:600}.import-review-editor-guidance>p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.import-review-editor-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px;margin:20px clamp(32px,6vw,88px) 0}.import-review-editor-form label{display:grid;grid-gap:6px;gap:6px}.import-review-editor-form label>span{color:var(--muted);font-size:11px}.import-review-editor-form input,.import-review-editor-form select{min-width:0;min-height:40px;font-size:14px}.import-review-editor-form label.needs-review>span{color:var(--warn)}.import-review-editor-form label.needs-review input,.import-review-editor-form label.needs-review select{border-color:color-mix(in srgb,var(--warn),transparent 42%);background:color-mix(in srgb,var(--warn) 6%,#0f1310)}.import-review-field-compact{grid-column:span 2}.import-review-field-wide{grid-column:span 3}.import-review-editor-actions,.import-review-editor-form .import-review-note{grid-column:1/-1}.import-review-editor-actions{display:flex;justify-content:flex-end;padding-top:2px}.import-review-editor-actions .primary{min-width:72px;min-height:34px;justify-content:center;padding-inline:14px;font-size:13px}.import-review-footer{position:fixed;z-index:11;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;gap:20px;border-top:1px solid var(--line);background:var(--surface);padding:8px max(24px,calc((100vw - 1400px) / 2))}.import-review-footer-balance{display:flex;min-width:0;align-items:center;gap:12px;margin-right:auto}.import-review-footer-balance>div{display:grid;min-width:0;grid-gap:2px;gap:2px}.import-review-footer-balance span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.import-review-footer-balance strong{font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-review-footer-balance>svg{flex:0 0 auto;color:var(--muted)}.import-review-footer .primary{min-width:190px;min-height:38px;justify-content:center}.draft-card{width:100%}.draft-card dl{margin:10px 0}.draft-card dl div{display:grid;grid-template-columns:100px 1fr;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding:6px 0}.draft-card dt{color:var(--muted)}.draft-card dd{margin:0}.compact-button{min-height:35px;padding:0 10px;font-size:12px}.auth-shell{min-height:100dvh;display:grid;place-items:center;background:var(--bg);padding:24px}.auth-panel{width:min(390px,100%);border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.32)}.auth-kicker{margin-bottom:18px;color:var(--accent);font-size:12px}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-button{justify-content:center;margin-top:6px}.skeleton{position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(130,173,144,.1),transparent);animation:loading 1.1s infinite}.skeleton-dashboard{display:grid;grid-gap:18px;gap:18px}.skeleton-hero{display:grid;grid-template-columns:minmax(290px,1.2fr) minmax(470px,.9fr);grid-gap:24px;gap:24px;align-items:end;min-height:210px;border-radius:20px;background:#1b2b22;padding:32px}.sk-line,.sk-money,.sk-row b,.sk-row em,.sk-row i,.sk-stat-strip b,.sk-stat-strip i{display:block;border-radius:999px;background:color-mix(in srgb,var(--accent),transparent 84%)}.sk-line.short{width:min(360px,72%);height:13px}.sk-line.tiny{width:86px;height:11px}.sk-line.medium{width:140px;height:18px;margin-top:11px}.sk-money{width:min(310px,58%);height:58px;margin:42px 0 16px;border-radius:14px}.sk-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:13px}.sk-stat-strip span{display:grid;grid-gap:13px;gap:13px;min-height:88px;border-right:1px solid rgba(255,255,255,.14);padding:18px}.sk-stat-strip span:last-child{border-right:0}.sk-stat-strip i{width:76px;height:12px;opacity:.75}.sk-stat-strip b{width:98px;height:18px}.skeleton-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line)}.sk-metric{min-height:92px;border:0;border-radius:0;padding:18px}.sk-panel{display:grid;grid-gap:16px;gap:16px;min-height:220px;padding:20px}.sk-row{display:grid;grid-template-columns:44px 1fr 94px;grid-gap:12px;gap:12px;align-items:center}.sk-row i{width:44px;height:44px;border-radius:12px}.sk-row b{height:14px}.sk-row em{height:18px}.spin{animation:spin .9s linear infinite}@keyframes loading{to{transform:translateX(100%)}}@keyframes chat-pulse{to{opacity:.45}}@keyframes chat-panel-in{0%{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chat-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}@keyframes chat-message-in{0%{opacity:0;transform:translateX(var(--message-entry-x)) translateY(3px) scale(.985)}to{opacity:1;transform:translateX(0) translateY(0) scale(1)}}@keyframes chat-import-card-in{0%{opacity:0;transform:translateY(10px) scale(.98);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes lightbox-in{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes review-page-in{0%{opacity:0;transform:translateX(24px)}}@keyframes import-editor-view-in{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes import-list-return-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1050px){.content-grid,.overview-metrics,.skeleton-hero,.summary-hero{grid-template-columns:1fr}.hero-label-row{margin-bottom:24px}.dashboard-side-stack{grid-template-rows:auto auto;overflow:visible}.dashboard-side-stack>.panel{overflow:visible}}@media (max-width:820px){.workspace{padding:24px 20px 72px}.signal-grid,.skeleton-signal-grid{grid-template-columns:repeat(2,1fr)}.import-review-header{padding-inline:20px}.import-review-content{width:calc(100% - 40px)}.import-review-columns{grid-template-columns:1fr}.import-review-source{position:static}.import-review-image{max-height:min(calc(100dvh - 183px),800px)}.import-review-toolbar{align-items:flex-start;flex-direction:column}.import-review-summary{flex-wrap:wrap}.import-review-table-header{display:none}.import-review-row{grid-template-columns:24px minmax(0,1fr) auto;gap:12px}.import-review-row>span:not(.import-review-spacer):not(.import-review-details):not(.import-review-amount):not(.import-review-status){grid-column:2}.import-review-account>small,.import-review-amount>small,.import-review-category>small{display:block}.import-review-amount{grid-column:3;grid-row:1/span 2}.import-review-status{grid-column:2;display:flex;align-items:flex-start;flex-direction:column;gap:5px}.import-review-status small{margin:0}}@media (max-width:620px){.workspace{padding-inline:14px}.notice{right:14px;bottom:82px;max-width:calc(100vw - 28px)}.primary-nav{width:100%;display:grid;grid-template-columns:repeat(5,minmax(68px,1fr));grid-gap:2px;gap:2px;margin-bottom:20px}.nav-item{min-height:52px;flex-direction:column;justify-content:center;gap:2px;padding:0 4px;font-size:11px}.dashboard-toolbar,.page-header{align-items:stretch;flex-direction:column}.dashboard-toolbar .top-actions,.page-header .top-actions{justify-content:stretch}.dashboard-toolbar .top-actions>*,.page-header .top-actions>*{flex:1 1}.dashboard-month{justify-content:space-between}.month-controls{width:100%}.month-switcher{flex:1 1;grid-template-columns:36px 1fr 36px}.skeleton-hero,.summary-hero{padding:24px 20px}.sk-stat-strip,.stat-strip{grid-template-columns:1fr}.sk-stat-strip span{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.sk-stat-strip span:last-child{border-bottom:0}.stat-strip .metric{min-height:auto}.signal-grid,.skeleton-signal-grid{grid-template-columns:1fr 1fr}.metric{padding:15px}.hero-money{font-size:42px}.account-row{grid-template-columns:46px 1fr}.account-balance{grid-column:2;text-align:left}.due-item{grid-template-columns:1fr auto}.due-item button,.due-item select{grid-column:2}.interest-banner{align-items:stretch;flex-direction:column}.interest-banner-actions{justify-content:stretch}.interest-banner-actions>button{flex:1 1}.reserve-row{grid-template-columns:24px 1fr auto;align-items:center}.reserve-value{grid-column:3;grid-row:1;justify-items:end}.reserve-progress,.reserve-value+.reserve-value{grid-column:2/-1}.reserve-value+.reserve-value{grid-row:auto;justify-items:start}.compact-row{grid-template-columns:28px 1fr}.compact-row.due-row{grid-template-columns:1fr}.compact-row>.money{grid-column:2}.category-columns,.category-columns>div,.guide-grid,.modal-form,.term-row{grid-template-columns:1fr}.term-row{gap:4px}.modal-actions,.modal-form .full{grid-column:1}.rollover-account label{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92dvh;border-radius:18px 18px 0 0}.settings-row{align-items:stretch;flex-direction:column}.chat-fab{right:14px;bottom:max(14px,env(safe-area-inset-bottom))}.chat-panel{inset:0;width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none;transform-origin:bottom center}.chat-panel>header{padding-top:max(13px,env(safe-area-inset-top))}.message-scroller{padding:16px 14px}.chat-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.message{max-width:92%}.chat-import-card{padding:10px}.import-review-header{gap:10px;padding:max(6px,env(safe-area-inset-top)) 14px 6px}.import-review-header>.ghost{width:36px;padding:0}.import-review-header>.ghost span{display:none}.import-review-header h1{font-size:16px}.import-review-content{width:100%;padding:18px 14px 88px}.import-review-image{max-height:min(calc(100dvh - 183px),720px)}.import-review-sort{width:100%;justify-content:space-between}.import-review-sort select{width:min(180px,62vw)}.import-review-row{padding:14px 4px}.import-review-row-select{left:4px}.import-review-editor-header{grid-template-columns:auto minmax(0,1fr);gap:9px}.import-review-editor-header>.ghost{width:36px;padding:0}.import-review-editor-header>.ghost span{display:none}.import-review-editor-guidance{align-items:flex-start;flex-direction:column}.import-review-editor-form{grid-template-columns:1fr;margin:18px 0 0}.import-review-editor-actions,.import-review-editor-form .import-review-note,.import-review-field-compact,.import-review-field-wide{grid-column:1}.import-review-editor-actions .primary{width:100%}.import-review-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:8px 14px max(8px,env(safe-area-inset-bottom))}.import-review-footer-balance{gap:8px}.import-review-footer-balance strong{font-size:12px}.import-review-footer .primary{width:auto;min-width:160px;min-height:44px}}