:root{--bg-primary: #F5EBDD;--bg-card: #FDF8F0;--bg-elevated: #FFFFFF;--accent-primary: #D2691E;--accent-gold: #F2B441;--positive: #3D8A5A;--negative: #C45B3C;--warning: #E8A33A;--text-primary: #3A2E24;--text-secondary: #8A7A68;--text-on-accent: #FDF8F0;--border: #E5D5C0;--shadow: 0 4px 16px rgba(58, 46, 36, .08);--font-display: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-card: 24px;--radius-button: 16px;--radius-input: 14px;--radius-chip: 999px;color-scheme:light}:root[data-theme=dark]{--bg-primary: #2B211A;--bg-card: #362A21;--bg-elevated: #41342A;--accent-primary: #E8833A;--accent-gold: #F2B441;--positive: #5BAD7B;--negative: #D9714F;--warning: #E8A33A;--text-primary: #F0E6D8;--text-secondary: #A89886;--text-on-accent: #2B211A;--border: #4A3B2E;--shadow: 0 4px 16px rgba(0, 0, 0, .3);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-primary);color:var(--text-primary);font:var(--text-body, 400 16px/1.5 var(--font-body));font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .5em;font-family:var(--font-display)}h1{font-size:28px;font-weight:700;line-height:1.2}h2{font-size:22px;font-weight:600;line-height:1.3}h3{font-size:18px;font-weight:600;line-height:1.4}.money,.amt,.value,.hero{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:600}.hero{font-size:40px;font-weight:700;line-height:1.1}.center-screen{display:grid;place-items:center;height:100%;color:var(--text-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.app{height:100vh;height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--bg-card);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.2px}.brand .logo{width:28px;height:28px;flex:0 0 auto;display:block}.nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.nav a{padding:8px 14px;border-radius:var(--radius-button);color:var(--text-secondary);font-weight:500;transition:background .18s ease-out,color .18s ease-out}.nav a:hover{background:color-mix(in srgb,var(--accent-primary) 8%,transparent);color:var(--text-primary)}.nav a.active{background:color-mix(in srgb,var(--accent-primary) 14%,transparent);color:var(--accent-primary);font-weight:600}.content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;max-width:1100px;width:100%;margin:0 auto}.icon-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-button);cursor:pointer;transition:background .18s ease-out,color .18s ease-out}.icon-btn:hover{background:color-mix(in srgb,var(--accent-primary) 10%,transparent);color:var(--text-primary)}.icon-btn.small-icon{width:32px;height:32px;border-radius:11px;flex:0 0 auto}.icon-btn.success{color:var(--positive)}.icon-btn.danger{color:var(--negative)}.card{background:var(--bg-card);border-radius:var(--radius-card);padding:20px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}.muted{color:var(--text-secondary)}.small{font-size:13px}.settings-list-row{min-height:52px;padding:4px 0;border-bottom:1px solid var(--border);border-radius:12px;transition:opacity .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out}.settings-list-row:last-of-type{border-bottom:none}.settings-list-row.is-dragging{opacity:.76;background:var(--bg-primary);box-shadow:var(--shadow)}.settings-list-row.is-drop-target{box-shadow:inset 0 3px 0 var(--accent-primary),var(--shadow)}.reorder-bank{margin-bottom:4px;border-radius:14px;transition:opacity .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out}.reorder-bank.is-dragging{opacity:.82;background:var(--bg-primary);box-shadow:var(--shadow)}.reorder-bank.is-drop-target{box-shadow:inset 0 3px 0 var(--accent-primary),var(--shadow)}.reorder-bank-accounts{padding-left:20px}.drag-handle{width:44px;height:44px;padding:0;border-radius:12px;cursor:grab;color:var(--text-secondary);touch-action:none;flex:0 0 44px;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.drag-handle:active{cursor:grabbing}.settings-item-main{min-width:0;flex:1 1 auto}.settings-actions{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.settings-actions strong{white-space:nowrap;margin-right:4px}.settings-edit-row{padding:10px 0 12px;border-bottom:1px solid var(--border)}.settings-edit-row .field{margin-bottom:8px}.settings-edit-footer{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.stat .label{color:var(--text-secondary);font-size:13px;font-weight:500}.stat .value{font-size:28px;margin-top:6px}.pos{color:var(--positive)}.neg{color:var(--negative)}button,.btn{font-family:var(--font-body);font-size:15px;cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);padding:10px 16px;border-radius:var(--radius-button);transition:background .18s ease-out,border-color .18s ease-out,filter .18s ease-out}button:hover,.btn:hover{background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-elevated))}button.primary,.btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent);font-weight:600}button.primary:hover,.btn.primary:hover{filter:brightness(.95);background:var(--accent-primary)}button.ghost{background:transparent;border-color:transparent}button.ghost:hover{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}button.danger{color:var(--negative)}button:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-sm{padding:6px 11px;font-size:13px;border-radius:11px}label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}input,select,textarea{width:100%;font-family:var(--font-body);font-size:15px;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 12px;transition:border-color .18s ease-out,box-shadow .18s ease-out}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 18%,transparent)}.field{margin-bottom:14px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.institution-select{min-width:0}.institution-create{display:grid;grid-template-columns:minmax(0,1fr) 44px auto;gap:8px;align-items:center;margin-top:8px;padding:10px;border-radius:var(--radius-input);background:color-mix(in srgb,var(--accent-primary) 7%,transparent)}.institution-create input[type=color]{width:44px;height:42px;padding:3px}.institution-create-actions{display:flex;gap:4px}.institution-create-deferred{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.institution-create .error{grid-column:1 / -1}.segmented{display:inline-flex;background:var(--bg-primary);border-radius:var(--radius-input);padding:4px;gap:2px}.segmented button{border:none;background:transparent;padding:8px 16px;border-radius:11px;color:var(--text-secondary);font-weight:500}.segmented button.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow)}.segmented button.active.expense{color:var(--negative)}.segmented button.active.income{color:var(--positive)}.segmented button.active.transfer{color:var(--text-secondary)}.period-nav{gap:4px;align-items:center;flex-wrap:nowrap}.period-nav-arrow{width:32px;padding:6px 0;text-align:center;font-size:18px;line-height:1}.period-nav-label{min-width:9.5em;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;text-transform:capitalize}.period-nav-label:disabled{opacity:1}.period-nav-arrow:disabled{opacity:.35}.period-nav-kind{margin-left:4px}.analytics-head h1{margin:0}.breakdown-head{margin-top:4px}.breakdown-head h2{margin:0}.spending-donut-body{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.spending-donut-svg{flex:0 0 auto}.donut-arc{stroke:var(--bg-card);stroke-width:2;transition:opacity .15s ease}.donut-arc.drillable{cursor:pointer}.donut-arc.drillable:hover{opacity:.82}.donut-center.clickable{cursor:pointer}.donut-center-value{font-family:Onest,system-ui,sans-serif;font-weight:600;font-size:20px;fill:var(--text-primary);font-variant-numeric:tabular-nums}.donut-center-label{font-size:11px;fill:var(--text-secondary)}.donut-legend{list-style:none;margin:0;padding:0;flex:1 1 220px;min-width:200px;display:flex;flex-direction:column;gap:2px}.donut-legend-row{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;background:transparent;border:none;padding:7px 6px;border-radius:10px;color:var(--text-primary);text-align:left;font:inherit}.donut-legend-row.drillable{cursor:pointer}.donut-legend-row.drillable:hover{background:var(--bg-primary)}.donut-swatch{width:12px;height:12px;border-radius:4px;flex:0 0 auto}.donut-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend-pct{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.donut-legend-val{font-family:Onest,system-ui,sans-serif;font-weight:600;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);padding:7px 13px;border-radius:var(--radius-chip);font-size:14px;cursor:pointer;transition:border-color .18s ease-out,background .18s ease-out}.chip:hover{border-color:var(--accent-primary)}.chip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent);font-weight:600}.chip .badge{font-size:11px;margin-left:6px;padding:1px 7px;border-radius:var(--radius-chip);background:color-mix(in srgb,var(--accent-gold) 28%,transparent);color:var(--text-primary)}.tier-chip-groups{display:flex;flex-direction:column;gap:10px}.tier-chip-group{display:flex;flex-direction:column;gap:6px}.tier-chip-root{display:inline-flex;align-items:center;gap:6px;color:var(--root-color, var(--text-secondary));font-size:12px;font-weight:700}.picker{position:relative}.picker-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-input);box-shadow:var(--shadow)}.picker-item{padding:9px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.picker-item:hover,.picker-item.highlight{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.picker-item .crumbs{color:var(--text-secondary);font-size:12px}.picker-selected{display:flex;align-items:center;justify-content:space-between}.txn-list{display:flex;flex-direction:column}.txn{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 4px;border-bottom:1px solid var(--border);align-items:center}.txn:last-child{border-bottom:none}.txn.planned{opacity:.55}.txn .main{font-weight:500}.txn .sub{color:var(--text-secondary);font-size:13px}.txn .amt{text-align:right;white-space:nowrap}.txn .amt.expense{color:var(--negative)}.txn .amt.income,.txn .amt.loan_disbursement{color:var(--positive)}.txn .amt.transfer{color:var(--text-secondary)}.txn .amt.settlement{color:var(--accent-primary)}.txn .amt-base{display:block;font-size:11px;font-weight:400;color:var(--text-secondary)}.txn .when{color:var(--text-secondary);font-size:13px;text-align:right}.txn-meta{grid-column:2;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:32px}.txn-actions{position:relative;flex:0 0 auto}.txn-actions-trigger.active{color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.txn-actions-menu{position:absolute;z-index:40;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;width:max-content;min-width:238px;padding:6px;border-radius:18px;background:var(--bg-elevated);box-shadow:0 14px 40px #3a2e242e;animation:txn-actions-in .16s ease-out}.txn-action-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.3;text-align:left}.txn-action-item:hover,.txn-action-item:focus-visible{background:color-mix(in srgb,var(--accent-primary) 8%,transparent);color:var(--accent-primary)}.txn-action-item.danger{margin-top:4px;color:var(--negative)}.txn-action-item.danger:hover,.txn-action-item.danger:focus-visible{background:color-mix(in srgb,var(--negative) 10%,transparent);color:var(--negative)}.txn-action-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:10px;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 9%,transparent)}.txn-action-item.danger .txn-action-icon{color:var(--negative);background:color-mix(in srgb,var(--negative) 9%,transparent)}.history-page{min-width:0}.history-tools{display:grid;gap:10px;min-width:0}.history-search{position:relative;display:flex;align-items:center}.history-search input{height:48px;padding:11px 44px;border-color:transparent;background:var(--bg-elevated);box-shadow:var(--shadow);-webkit-appearance:none;appearance:none}.history-search input::-webkit-search-cancel-button{display:none}.history-search-icon{position:absolute;left:15px;z-index:1;pointer-events:none;color:var(--text-secondary)}.history-search-clear{position:absolute;right:8px;z-index:1}.history-filter-rail{display:flex;gap:8px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 1px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.history-filter-rail::-webkit-scrollbar{display:none}.history-filter-chip{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;max-width:230px;min-height:40px;padding:8px 14px;border-radius:var(--radius-chip);white-space:nowrap;background:transparent;border-color:var(--border);box-shadow:none}.history-filter-chip:hover{border-color:var(--accent-primary)}.history-filter-chip.active{color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 60%,var(--border));background:color-mix(in srgb,var(--accent-primary) 9%,transparent)}.history-filter-chip-label{overflow:hidden;text-overflow:ellipsis}.history-filter-chevron{width:8px;height:8px;flex:0 0 auto;margin-top:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.history-filter-reset{flex:0 0 auto;min-height:40px;padding:8px 11px;border-color:transparent;background:transparent;color:var(--accent-primary)}.history-filter-reset:hover{border-color:transparent}.history-filter-options{display:flex;flex-direction:column;gap:2px;padding-bottom:4px}.history-filter-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:10px 12px;border:0;border-radius:13px;background:transparent;text-align:left}.history-filter-option:hover,.history-filter-option:focus-visible{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.history-filter-option.active{color:var(--accent-primary);font-weight:600}.history-filter-option-mark{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto}.history-period-form{display:grid;gap:18px;padding:4px 0 2px}.history-period-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-list-card{min-width:0}@keyframes txn-actions-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.txn-actions-menu{animation:none}}.shared-card h2{margin-bottom:2px}.shared-summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 0;border-bottom:1px solid var(--border)}.shared-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-top:14px}.shared-metrics div{padding:10px 12px;border-radius:var(--radius-input);background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-primary))}.shared-metrics span{display:block;color:var(--text-secondary);font-size:12px}.shared-metrics strong{display:block;margin-top:2px;font-family:var(--font-display);font-variant-numeric:tabular-nums}.shared-sublist{display:flex;flex-direction:column;gap:6px;margin-top:12px}.shared-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}.shared-row:last-child{border-bottom:none}.shared-inline-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.shared-participant-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px;align-items:center}.shared-actions{flex-wrap:wrap}.bar-row{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center;margin:8px 0}.bar-track{background:var(--bg-primary);border-radius:var(--radius-chip);height:22px;overflow:hidden}.bar-fill{height:100%;background:var(--accent-primary);border-radius:var(--radius-chip)}.bar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-val{white-space:nowrap;font-family:var(--font-display);font-variant-numeric:tabular-nums}.period-chart-scroll{width:100%;max-width:100%;min-width:0;margin-top:16px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.period-chart-scroll.is-static{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.period-chart-scroll::-webkit-scrollbar{display:none}.period-cursor{stroke:var(--text-secondary);stroke-width:1.5;opacity:.4;stroke-linecap:round;pointer-events:none}.nw-chart{display:block;overflow:visible;cursor:crosshair}.nw-chart .nw-total{font-size:12px;fill:var(--text-secondary);font-family:var(--font-display);font-variant-numeric:tabular-nums}.nw-chart .nw-total-neg{fill:var(--negative)}.nw-chart .nw-total.active{fill:var(--text-primary);font-weight:600}.nw-chart .nw-xlabel{font-size:12px;fill:var(--text-secondary)}.nw-chart .nw-xlabel.active{fill:var(--text-primary);font-weight:600}.nw-chart .nw-col{transition:opacity .12s ease-out}.nw-chart .nw-col:not(.active){opacity:.82}.nw-chart .nw-segment{cursor:pointer;outline:none;transition:opacity .12s ease-out,stroke-width .12s ease-out}.nw-chart .nw-segment:hover,.nw-chart .nw-segment:focus,.nw-chart .nw-segment.selected{opacity:1;stroke:var(--text-primary);stroke-width:2}.nw-readout{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.nw-readout strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;color:var(--text-primary)}.nw-readout strong.neg{color:var(--negative)}.nw-account-label{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;max-width:min(72vw,360px);overflow:hidden;color:var(--text-secondary);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.nw-account-label .nw-legend-dot{width:10px;height:10px}.nw-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.nw-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.nw-legend-dot{width:12px;height:12px;border-radius:4px;flex:0 0 auto}.calc-analytics{background:var(--accent-gold-soft, rgba(214, 167, 78, .12))}.calc-analytics-figures{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px}.calc-analytics-figures>span{font-size:14px;color:var(--text-secondary)}.calc-analytics-figures strong{color:var(--text-primary);font-family:var(--font-display);font-variant-numeric:tabular-nums}.cashflow-card{overflow:hidden}.cashflow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.cashflow-heading h2{margin-bottom:3px}.cashflow-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}.cashflow-legend-item{display:inline-grid;grid-template-columns:18px auto;align-items:center;column-gap:6px;font-size:12px;color:var(--text-secondary)}.cashflow-legend-item strong{grid-column:2;color:var(--text-primary);font-family:var(--font-display);font-variant-numeric:tabular-nums}.cashflow-line-key{width:18px;border-top:3px solid currentColor;border-radius:var(--radius-chip)}.cashflow-legend-item.income{color:var(--positive)}.cashflow-legend-item.expense{color:var(--negative)}.cashflow-legend-item.expense .cashflow-line-key{border-top-style:dashed}.cashflow-bar-key{width:15px;height:12px;border-radius:4px;background:var(--cashflow-savings, var(--positive));opacity:.28}.cashflow-chart{display:block;overflow:visible;cursor:crosshair}.cashflow-grid{stroke:var(--border);stroke-width:1;opacity:.52}.cashflow-grid.zero{stroke:var(--text-secondary);opacity:.72}.cashflow-xlabel{fill:var(--text-secondary);font-size:12px;font-family:var(--font-body)}.cashflow-xlabel.active{fill:var(--text-primary);font-weight:600}.cashflow-value{font-family:var(--font-display);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.cashflow-value.income{fill:var(--positive)}.cashflow-value.expense{fill:var(--negative)}.cashflow-savings-bar{fill:var(--cashflow-savings, var(--positive));stroke:var(--cashflow-savings, var(--positive));stroke-width:1;opacity:.2;transition:opacity .12s ease-out}.cashflow-savings-bar.active{opacity:.42}.cashflow-line{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.cashflow-line.income{stroke:var(--positive)}.cashflow-line.expense{stroke:var(--negative);stroke-dasharray:9 7}.cashflow-endpoint{stroke:var(--bg-card);stroke-width:2}.cashflow-endpoint.income{fill:var(--positive)}.cashflow-endpoint.expense{fill:var(--negative)}.spending-plan-list{display:flex;flex-direction:column;gap:14px}.spending-plan-row{display:flex;flex-direction:column;gap:7px}.spending-plan-head,.spending-plan-name{display:flex;align-items:center;justify-content:space-between;gap:8px}.spending-plan-name{justify-content:flex-start;font-weight:700;color:var(--root-color, var(--text-primary))}.spending-plan-track{position:relative;height:18px}.spending-plan-track:after{content:"";position:absolute;top:-3px;bottom:-3px;left:var(--target-width, 0);width:2px;border-radius:var(--radius-chip);background:var(--text-primary);opacity:.45}.spending-plan-fill{background:var(--root-color, var(--accent-primary))}.budget-summary{margin:10px 0 16px;color:var(--text-secondary);font-size:15px;line-height:1.5}.budget-summary strong{color:var(--text-primary);font-family:var(--font-display);font-variant-numeric:tabular-nums}.budget-surplus{color:var(--positive);font-weight:600;white-space:nowrap}.budget-surplus{font-family:var(--font-display);font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;inset:0;background:#2b211a73;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:36px 16px;overflow-y:auto}.modal{background:var(--bg-elevated);border-radius:var(--radius-card);width:100%;max-width:460px;padding:24px;box-shadow:0 18px 50px #2b211a4d}.sheet-backdrop{position:fixed;inset:0;background:#2b211a73;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg-elevated);border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:560px;max-height:88vh;padding:0 20px 24px;box-shadow:0 -14px 44px #2b211a47;display:flex;flex-direction:column;transition:transform .25s ease-out;animation:sheet-up .26s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle-zone{padding:10px 0 6px;display:flex;justify-content:center;cursor:grab;touch-action:none;flex:0 0 auto}.sheet-handle{width:38px;height:4px;border-radius:999px;background:var(--border)}.sheet-head{margin-bottom:8px;flex:0 0 auto}.sheet-body{overflow-y:auto;flex:1 1 auto}.sheet-balance-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-primary);border-radius:var(--radius-button)}.sheet-balance-amt{font-family:Onest,system-ui,sans-serif;font-weight:600;font-variant-numeric:tabular-nums;font-size:19px;margin-right:auto}.login-wrap{display:grid;place-items:center;height:100%;padding:20px}.login-card{width:100%;max-width:360px}.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:20px;background:var(--bg-primary);border-radius:var(--radius-button)}.auth-switch button{padding:9px 12px;border:0;background:transparent;color:var(--text-secondary);box-shadow:none}.auth-switch button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow)}.login-dev{display:grid;gap:6px;margin-top:12px}.login-dev button{width:100%}.login-dev-hint{margin:0;text-align:center}.account-security{max-width:760px}.account-security form+form{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.security-conflict{margin-top:20px;padding:16px;border-radius:var(--radius-button);background:color-mix(in srgb,var(--warning) 12%,transparent)}.security-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.security-choice-grid button{display:grid;gap:4px;text-align:left;background:var(--bg-card);color:var(--text-primary)}.security-choice-grid span{color:var(--text-secondary);font-size:13px;font-weight:400}.notice.success{margin-top:12px;color:var(--positive)}@media(max-width:640px){.security-choice-grid{grid-template-columns:1fr}}.error{color:var(--negative);font-size:14px;margin:6px 0}.empty{color:var(--text-secondary);padding:28px;text-align:center}@media(max-width:560px){.content{padding:16px}.field-row{grid-template-columns:1fr}.institution-create{grid-template-columns:minmax(0,1fr) 44px}.institution-create-actions{grid-column:1 / -1}.shared-participant-row{grid-template-columns:1fr}.bar-row{grid-template-columns:110px 1fr}.bar-row .bar-val{grid-column:2;text-align:right}.cashflow-heading{gap:12px}.cashflow-legend{justify-content:flex-start;width:100%}}.board{display:flex;flex-direction:column;gap:22px;--tile-col: 84px}.board-onboarding{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius-input);background:color-mix(in srgb,var(--accent-primary) 7%,var(--bg-card));color:var(--text-secondary)}.board-onboarding-text{font-size:13px;font-weight:600;color:var(--text-primary)}.board-onboarding .btn-sm{flex:0 0 auto;margin-left:auto}.board-flow-guide{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex:1 1 520px;flex-wrap:wrap}.board-flow{min-height:32px;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:var(--radius-chip);background:color-mix(in srgb,var(--accent-primary) 7%,var(--bg-card));border:1px solid color-mix(in srgb,var(--accent-primary) 10%,transparent);color:var(--text-secondary);font-size:12px;line-height:1.15;white-space:nowrap}.board-flow-node{display:inline-flex;align-items:center;gap:4px;color:var(--text-primary);font-weight:600}.board-flow-node.income{color:var(--positive)}.board-flow-node.account{color:var(--text-primary)}.board-flow-node.expense{color:var(--negative)}.board-flow-node svg,.board-flow.blocked svg{flex:0 0 auto}.board-flow-arrow{color:var(--text-secondary);font-family:var(--font-display)}.board-flow-result{padding-left:2px;color:var(--text-primary);font-weight:600}.board-flow.blocked{background:transparent;border-style:dashed;color:var(--text-secondary)}.board-section h2{margin-bottom:12px}.board-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.board-section-head h2{margin-bottom:0}.board-section-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;color:var(--text-secondary);white-space:nowrap}.board-row{display:flex;flex-wrap:wrap;gap:10px 6px}.board-carousel-wrap{display:flex;flex-direction:column;gap:8px}.board-carousel{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 0 2px}.board-carousel::-webkit-scrollbar{display:none}.board-carousel>*{flex:0 0 auto;scroll-snap-align:start}.board-carousel[data-rows="3"] .bank-group-row{grid-template-rows:repeat(3,auto)}.board-dots{display:flex;justify-content:center;align-items:center;gap:6px}.board-dot{width:7px;height:7px;border-radius:50%;padding:0;border:none;cursor:pointer;background:var(--border);transition:background .15s ease-out,transform .15s ease-out}.board-dot.active{background:var(--accent-primary);transform:scale(1.25)}.tile{border:none;background:transparent;cursor:grab;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;width:var(--tile-col, 84px);border-radius:var(--radius-card);touch-action:pan-x;user-select:none;-webkit-user-select:none;transition:transform .12s ease-out,opacity .12s ease-out}.tile:hover{background:color-mix(in srgb,var(--accent-primary) 5%,transparent)}.tile-avatar{width:56px;height:56px;border-radius:var(--radius-chip);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:22px;background:color-mix(in srgb,var(--accent-primary) 14%,var(--bg-card));color:var(--accent-primary);transition:box-shadow .12s ease-out,transform .12s ease-out}.tile-avatar svg{display:block}.tile.tint-income .tile-avatar{background:color-mix(in srgb,var(--positive) 16%,var(--bg-card));color:var(--positive)}.tile.tint-account .tile-avatar{background:color-mix(in srgb,var(--accent-gold) 24%,var(--bg-card));color:var(--text-primary)}.tile.tint-expense .tile-avatar{background:color-mix(in srgb,var(--negative) 14%,var(--bg-card));color:var(--negative)}.tile-name{font-size:13px;text-align:center;line-height:1.2;max-width:var(--tile-col, 84px)}.tile-sub{font-size:12px;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-secondary)}.tile.valid .tile-avatar{box-shadow:0 0 0 2px var(--accent-primary)}.tile.over .tile-avatar{box-shadow:0 0 0 3px var(--accent-primary);transform:scale(1.07)}.tile.dragging{opacity:.4}.drag-ghost{position:fixed;z-index:60;transform:translate(-50%,-50%);pointer-events:none}.drag-ghost .tile-avatar{box-shadow:var(--shadow)}.bank-group{display:inline-flex;flex-direction:column;gap:4px;align-self:flex-start;border:2px solid var(--bank-color, var(--border));border-radius:var(--radius-card);padding:6px 8px 8px;background:color-mix(in srgb,var(--bank-color, transparent) 5%,transparent)}.bank-group-head{display:flex;align-items:center;gap:6px;padding:0 2px;font-size:12px;font-weight:700;color:var(--bank-color, var(--text-secondary));-webkit-text-stroke:.8px var(--text-primary);paint-order:stroke fill}.bank-group-dot{width:8px;height:8px;border-radius:50%;background:var(--bank-color, var(--border));flex:0 0 auto}.bank-group-name{display:flex;align-items:center;gap:6px;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;-webkit-text-stroke:inherit;paint-order:inherit}.bank-group-total{margin-left:auto;padding-left:8px;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.bank-group-row{display:grid;grid-auto-flow:column;grid-auto-columns:var(--tile-col, 84px);gap:6px;align-items:start}.tier-group{border-width:1px}.icon-pick-btn{flex:0 0 auto;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;cursor:pointer;padding:0;background:color-mix(in srgb,var(--accent-primary) 9%,var(--bg-card));border:1px solid var(--border);color:var(--accent-primary);transition:border-color .12s ease-out,background .12s ease-out}.icon-pick-btn svg{display:block}.icon-pick-btn:hover{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 16%,var(--bg-card))}.icon-pick-btn.compact{width:28px;height:28px;border-radius:9px;background:transparent;border-color:transparent;color:var(--text-secondary)}.icon-pick-btn.compact:hover{background:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-card));border-color:var(--border);color:var(--accent-primary)}.cat-row{display:flex;align-items:center;gap:8px;padding:3px 0;flex-wrap:nowrap}.cat-chevron{flex:0 0 auto;width:10px;text-align:center;color:var(--text-secondary)}.cat-name{min-width:0;flex:1 1 auto}.cat-edit-row{display:flex;align-items:center;gap:8px;padding:6px 0;flex-wrap:wrap}.cat-edit-row input{flex:1 1 160px;min-width:120px}.cat-edit-row select{flex:1 1 140px;min-width:120px}.root-targets,.tier-root-list{display:flex;flex-direction:column;gap:8px}.root-targets{margin-bottom:14px}.root-target-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}.root-target-name{flex:1;color:var(--root-color, var(--text-primary));font-weight:700}.root-target-input{width:76px;flex:0 0 auto;text-align:right}.tier-root-section{display:flex;flex-direction:column;gap:4px;padding:8px 0 10px;border-top:1px solid var(--border)}.tier-root-section-head{display:flex;align-items:center;gap:6px;color:var(--root-color, var(--text-secondary));font-size:12px;font-weight:800}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;max-height:50vh;overflow-y:auto;padding:2px}.icon-grid-item{aspect-ratio:1;border-radius:var(--radius-chip);display:grid;place-items:center;cursor:pointer;padding:0;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);transition:border-color .12s ease-out,transform .1s ease-out,background .12s ease-out}.icon-grid-item svg{display:block}.icon-img{display:inline-block;object-fit:contain;vertical-align:middle;border-radius:4px}.icon-grid-item:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px)}.icon-grid-item.active{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 14%,var(--bg-card));color:var(--accent-primary)}.consumer-icon-picker{display:grid;gap:10px}.icon-picker-search{width:100%}.icon-picker-hint{margin:-2px 0 0}.icon-picker-more{justify-self:center}.project-create-row input{flex:1 1 180px;min-width:0}.tile.add{cursor:pointer}.tile.add .tile-avatar{background:transparent;border:1px dashed var(--border);color:var(--text-secondary)}.tile.add:hover .tile-avatar{border-color:var(--accent-primary);color:var(--accent-primary)}.tile-wrap{position:relative;display:inline-flex}.tile-remove{position:absolute;top:0;right:0;width:18px;height:18px;border-radius:50%;border:none;background:var(--bg-card);color:var(--text-secondary);box-shadow:var(--shadow);cursor:pointer;display:grid;place-items:center;padding:0;font-size:0;line-height:1;opacity:0;transition:opacity .12s ease-out,color .12s ease-out}.tile-remove svg{display:block}.tile-wrap:hover .tile-remove,.tile-remove:focus-visible{opacity:1}.tile-remove:hover{color:var(--negative)}.pick-list{display:flex;flex-direction:column;gap:6px;max-height:56vh;overflow-y:auto}.pick-row{display:flex;align-items:center;gap:10px;padding:9px 11px;text-align:left;border-radius:12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:border-color .12s ease-out,color .12s ease-out}.pick-row:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.asset-placeholder{display:grid;place-items:center;color:var(--text-secondary);background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-card));border:1px dashed var(--border);border-radius:var(--radius-card)}.asset-placeholder.icon{border-radius:var(--radius-chip);border-style:solid;font-family:var(--font-display);font-weight:600}.tabbar{display:none}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;border:none;padding:6px 2px;cursor:pointer;min-width:0;color:var(--text-secondary);font-family:var(--font-body);font-size:11px;font-weight:500;text-decoration:none}.tab span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab.active{color:var(--accent-primary)}.tab-fab{flex:0 0 auto;display:grid;place-items:center;width:54px;height:54px;margin-top:-20px;border-radius:var(--radius-chip);border:4px solid var(--bg-primary);padding:0;line-height:0;background:var(--accent-primary);color:var(--text-on-accent);cursor:pointer;box-shadow:var(--shadow);transition:filter .18s ease-out}.tab-fab svg{display:block;flex:0 0 auto}.tab-fab:hover{filter:brightness(.96)}.more-backdrop{position:fixed;inset:0;z-index:45}.more-menu{position:fixed;right:12px;z-index:46;bottom:calc(74px + env(safe-area-inset-bottom));background:var(--bg-elevated);border-radius:var(--radius-card);padding:8px;box-shadow:0 14px 44px #3a2e2438;display:flex;flex-direction:column;min-width:210px}.more-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-input);color:var(--text-primary);text-decoration:none;font-weight:500;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left}.more-item:hover,.more-item.active{background:color-mix(in srgb,var(--accent-primary) 8%,transparent);color:var(--accent-primary)}.capital-breakdown{margin-top:7px;line-height:1.45}.calculator-heading{align-items:center}.calculator-heading h1{margin:0}.calculator-tabs{flex:0 0 auto}.loan-card{display:flex;flex-direction:column;gap:14px}.loan-card-main{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(170px,auto) auto;gap:14px;align-items:center}.loan-type-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 11%,var(--bg-card))}.loan-type-icon.auto{color:var(--accent-gold);background:color-mix(in srgb,var(--accent-gold) 14%,var(--bg-card))}.loan-type-icon.mortgage{color:var(--positive);background:color-mix(in srgb,var(--positive) 11%,var(--bg-card))}.loan-card-copy h2{margin:0}.loan-card-copy .row{gap:8px}.loan-progress{height:5px;margin-top:10px;border-radius:99px;overflow:hidden;background:var(--border)}.loan-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent-primary)}.loan-balance{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-variant-numeric:tabular-nums}.loan-balance strong{font-size:20px;font-family:var(--font-display)}.loan-toggle{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-secondary);cursor:pointer}.loan-toggle input{width:18px;height:18px;accent-color:var(--accent-primary)}.loan-actions{display:flex;gap:8px;flex-wrap:wrap}.loan-details{display:flex;flex-direction:column;gap:13px;padding-top:14px;border-top:1px solid var(--border)}.loan-details .cols-3>div{display:flex;flex-direction:column;gap:4px}.loan-collateral{padding:12px;border-radius:var(--radius-input);background:var(--bg-elevated)}.loan-collateral>div{display:flex;flex-direction:column;gap:3px}.loan-event{gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.loan-event:last-child{border-bottom:none}.mortgage-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mortgage-principal-tabs{margin-bottom:14px;width:fit-content}.mortgage-option{text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--text-primary);cursor:pointer}.mortgage-option.active{border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 16%,transparent)}.mortgage-option strong{font-family:var(--font-display);font-size:20px}.mortgage-option span:not(.label){font-size:13px;color:var(--text-secondary)}.mortgage-prepay-row{align-items:end}.loan-schedule-wrap{overflow-x:auto}.loan-schedule{width:100%;border-collapse:collapse;min-width:760px;font-size:13px;font-variant-numeric:tabular-nums}.loan-schedule th,.loan-schedule td{padding:9px 10px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.loan-schedule th:first-child,.loan-schedule td:first-child,.loan-schedule th:nth-child(2),.loan-schedule td:nth-child(2){text-align:left}.checkline{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.checkline input{width:18px;height:18px;accent-color:var(--accent-primary)}.wrap{flex-wrap:wrap}@media(max-width:640px){.nav,.topbar-user{display:none}.topbar{padding:10px 16px;gap:10px}.content{padding:16px}.app.miniapp .topbar{display:none}.app.miniapp .content{padding-top:calc(16px + env(safe-area-inset-top))}.board{--tile-col: calc((100vw - 56px)/4) }.board-onboarding{align-items:flex-start}.board-onboarding .btn-sm{margin-left:0}.board-flow-guide{flex-basis:100%;justify-content:flex-start;flex-wrap:nowrap;margin-right:-16px;padding:0 16px 2px 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.board-flow-guide::-webkit-scrollbar{display:none}.board-flow{flex:0 0 auto}.txn-actions-menu{top:auto;bottom:calc(100% + 6px)}.tabbar{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;background:var(--bg-card);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 16px #3a2e240f}.calculator-heading{align-items:flex-start;flex-direction:column;gap:10px}.calculator-tabs{width:100%}.calculator-tabs button{flex:1}.loan-card-main{grid-template-columns:auto 1fr;align-items:start}.loan-balance{grid-column:1 / -1;align-items:flex-start;padding-top:10px;border-top:1px solid var(--border)}.loan-toggle{grid-column:1 / -1}.loan-actions>button{flex:1 1 auto}.mortgage-options{grid-template-columns:1fr}.mortgage-prepay-row{align-items:stretch}.loan-collateral{align-items:flex-start;flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.dinara-fab{position:relative;overflow:visible;background:linear-gradient(145deg,var(--accent-primary),var(--accent-gold))}.dinara-fab-face{display:block;width:32px;height:32px;border-radius:50%;clip-path:circle(50% at 50% 50%);background-color:var(--bg-card);background-position:center;background-repeat:no-repeat;background-size:114%;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-gold) 32%,transparent)}.dinara-fab svg{position:absolute;right:-2px;bottom:-1px;padding:3px;border-radius:50%;background:var(--bg-elevated);color:var(--accent-primary)}.dinara-chat{display:flex;flex-direction:column;gap:16px}.dinara-hero{display:flex;gap:14px;align-items:center}.dinara-avatar{flex:0 0 auto;width:68px;height:68px;border-radius:50%;clip-path:circle(50% at 50% 50%);background-color:var(--bg-card);background-position:center;background-repeat:no-repeat;background-size:114%;box-shadow:var(--shadow)}.dinara-eyebrow{margin:0 0 3px;color:var(--accent-primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dinara-hero h2{margin:0 0 4px}.dinara-messages{display:flex;flex-direction:column;gap:8px}.dinara-bubble{max-width:86%;padding:10px 12px;border-radius:18px;font-size:14px;line-height:1.45}.dinara-bubble.assistant{align-self:flex-start;background:var(--bg-primary);border-bottom-left-radius:7px}.dinara-bubble.user{align-self:flex-end;background:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-card));border-bottom-right-radius:7px}.dinara-paywall-note{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:var(--radius-input);background:color-mix(in srgb,var(--accent-gold) 13%,var(--bg-card));color:var(--text-primary);font-size:13px}.dinara-paywall-note svg{flex:0 0 auto;color:var(--accent-primary);margin-top:1px}.dinara-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dinara-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding-inline:10px}.dinara-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.dinara-input-row input:disabled{opacity:1;color:var(--text-secondary)}@media(max-width:520px){.dinara-actions{grid-template-columns:1fr}}.assistant-intro{display:flex;align-items:center;gap:14px}.assistant-intro-avatar{flex:0 0 auto;width:56px;height:56px;border-radius:50%;clip-path:circle(50% at 50% 50%);background-color:var(--bg-primary);background-position:center;background-repeat:no-repeat;background-size:114%;box-shadow:var(--shadow)}.assistant-intro-copy{flex:1 1 auto;min-width:0}.assistant-intro-copy h2{margin:0 0 3px;font-size:17px}.assistant-intro-copy p{margin:0;font-size:13px;line-height:1.45}.assistant-intro>button{flex:0 0 auto}@media(max-width:520px){.assistant-intro{flex-wrap:wrap}.assistant-intro>button{margin-left:70px}}.paywall-sheet{display:flex;flex-direction:column;gap:16px}.paywall-lead{margin:0;font-size:15px;line-height:1.5}.paywall-benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.paywall-benefits li{display:flex;align-items:center;gap:10px;font-size:14px}.paywall-benefits svg{flex:0 0 auto;color:var(--accent-primary)}.paywall-usage{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.paywall-usage li{display:flex;justify-content:space-between;font-size:14px}.paywall-usage .muted{font-variant-numeric:tabular-nums}.paywall-offers{display:flex;flex-direction:column;gap:8px}.dashboard-page{width:min(100%,920px);margin:0 auto;display:grid;gap:18px}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.dashboard-heading h1{margin:0}.dashboard-kicker{margin:0 0 4px;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.dashboard-add{display:inline-flex;align-items:center;justify-content:center;gap:7px}.dashboard-heading-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;justify-content:flex-end}.dashboard-shop{width:44px;height:44px;flex:0 0 auto;border-radius:50%;background:var(--bg-card);box-shadow:var(--shadow)}.shop-menu-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px;border:none;background:var(--bg-primary);border-radius:var(--radius-input)}.shop-product-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,.7fr) 76px 32px;gap:8px;align-items:center}.dashboard-load-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-input);background:color-mix(in srgb,var(--warning) 14%,var(--bg-card))}.dashboard-hero{position:relative;min-height:260px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:24px;padding:28px 30px}.dashboard-hero-copy{position:relative;z-index:1;min-width:0}.dashboard-balance-label{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px}.dashboard-balance{margin:7px 0 6px;overflow-wrap:anywhere}.dashboard-balance{max-width:100%;white-space:nowrap;overflow:hidden}.dashboard-networth strong{color:var(--text-primary);font-family:var(--font-display)}.dashboard-insight{max-width:520px;margin:24px 0 0;padding:12px 14px;border-radius:var(--radius-input);background:var(--bg-primary);line-height:1.45}.dashboard-mascot{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;padding:0;border:none;background:transparent;color:var(--accent-primary)}.dashboard-mascot:hover{background:transparent}.dashboard-mascot-frame{width:206px;height:206px;flex:0 0 206px;overflow:hidden;border:3px solid var(--bg-elevated);border-radius:50%;background:var(--bg-primary);box-shadow:0 8px 20px #3a2e2424;transition:transform .18s ease-out}.dashboard-mascot-frame img{width:100%;height:100%;object-fit:cover;display:block}.dashboard-mascot:hover .dashboard-mascot-frame{transform:translateY(-3px)}.dashboard-mascot-label{font-size:13px;font-weight:600}.dashboard-section-heading{align-items:flex-start}.dashboard-section-heading h2{margin:0;text-transform:capitalize}.text-link{color:var(--accent-primary);font-size:14px;font-weight:600}.dashboard-month{padding:24px}.dashboard-month-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}.dashboard-month-stats>div{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:var(--radius-input);background:var(--bg-primary)}.dashboard-month-stats span{color:var(--text-secondary);font-size:13px}.dashboard-month-stats strong{font-family:var(--font-display);font-size:18px;overflow-wrap:anywhere}.dashboard-spending{padding-top:20px;border-top:1px solid var(--border)}.dashboard-spending h3{margin-bottom:14px}.dashboard-root-list{display:grid;gap:13px}.dashboard-root-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:14px}.dashboard-root-label strong{font-family:var(--font-display)}.dashboard-root-track{height:8px;overflow:hidden;border-radius:var(--radius-chip);background:var(--border)}.dashboard-root-track span{display:block;width:var(--root-width);height:100%;border-radius:inherit;background:var(--root-color);transition:width .25s ease-out}.dashboard-top-category{margin:16px 0 0;color:var(--text-secondary);font-size:14px}.dashboard-attention{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}.dashboard-attention h2,.dashboard-attention p{margin-bottom:3px}.dashboard-attention-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,var(--bg-card))}.dashboard-attention-link{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-button);color:var(--accent-primary)}.dashboard-attention-link:hover{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.dashboard-recent-list{display:grid}.dashboard-recent-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--border)}.dashboard-recent-row:last-child{border-bottom:none;padding-bottom:0}.dashboard-recent-row .main{font-weight:600}.dashboard-recent-row .amt{font-family:var(--font-display);font-weight:600}.asset-rate-row{padding:8px 0;border-bottom:1px solid var(--border);transition:margin .18s ease-out,padding .18s ease-out,background .18s ease-out}.asset-rate-row.is-targeted{margin:4px -10px;padding:12px 10px;border-bottom-color:transparent;border-radius:var(--radius-input);background:color-mix(in srgb,var(--accent-primary) 9%,var(--bg-card))}.asset-rate-hint{margin:7px 0 0;color:var(--text-secondary);font-size:13px}@media(max-width:640px){.dashboard-page{gap:14px}.dashboard-heading{align-items:flex-start;gap:12px}.dashboard-heading h1{font-size:24px}.dashboard-add{flex:0 0 auto}.shop-product-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 72px 32px}.shop-product-row .shop-name{grid-column:1 / -1}.dashboard-hero{min-height:236px;grid-template-columns:minmax(0,1fr) 116px;gap:8px;padding:22px 18px}.dashboard-insight{grid-column:1 / -1;margin-top:18px}.dashboard-mascot{align-self:center}.dashboard-mascot-frame{width:116px;height:116px;flex-basis:116px;border-width:2px}.dashboard-mascot-label{font-size:11px}.dashboard-month{padding:19px 16px}.dashboard-month-stats{grid-template-columns:1fr;gap:8px}.dashboard-month-stats>div{flex-direction:row;align-items:center;justify-content:space-between}.dashboard-attention{align-items:flex-start;padding:17px 15px}.dashboard-attention-icon{width:40px;height:40px}}
