:root{--brand: #eb6834;--brand-strong: #c2410c;--brand-deep: #9a3412;--brand-tint: #fdeee6;--brand-line: rgba(194, 65, 12, .2);--brand-wash: rgba(194, 65, 12, .12);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");--page: #f9f9f7;--card: #ffffff;--ink: #0b0b0b;--ink-2: #52514e;--ink-3: #898781;--hairline: rgba(11, 11, 11, .1);--grid: #e1e0d9;--input-border: #d9d8d2;--good-text: #006300;--bad-text: #c22f2f;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(11, 11, 11, .05);--primary-color: var(--brand-strong);--text-color: var(--ink)}.card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-title{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:14px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-header h1{font-size:26px;font-weight:700}.page-note{color:var(--ink-3);font-size:14px;margin:-8px 0 16px}.btn{display:inline-block;padding:10px 18px;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .12s ease}.btn-primary{background-color:var(--brand-strong);color:#fff}.btn-primary:hover{background-color:var(--brand-deep)}.btn-secondary{background-color:var(--card);color:var(--ink);border:1px solid var(--input-border)}.btn-secondary:hover{background-color:var(--page)}.btn:disabled{opacity:.55;cursor:default}.link-button{background:none;border:none;padding:0;color:var(--brand-strong);font-size:14px;font-weight:600;cursor:pointer}.link-button:hover{text-decoration:underline}.link-button.danger{color:var(--bad-text)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink-2);cursor:pointer}.icon-button:hover{background:var(--page);color:var(--ink)}.icon-button svg{width:16px;height:16px}.input-field{margin-bottom:14px;text-align:left}.input-field label{display:block;margin-bottom:6px;color:var(--ink-2);font-size:14px;font-weight:600}.req{color:var(--bad-text);font-weight:700}.input-field input,.input-field select,.filter-row select,.filter-row input,.panel-toolbar select,.invite-code-row input{padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card);font-size:15px}.input-field input,.input-field select{width:100%}.input-field select,.filter-row select,.panel-toolbar select,.paginator-size select,.activity-group-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 12px center;background-size:14px;padding-right:38px}.paginator-size select{background-position:right 10px center;background-size:12px;padding-right:30px}.input-field input:focus,.input-field select:focus,.filter-row select:focus,.filter-row input:focus,.panel-toolbar select:focus,.invite-code-row input:focus{outline:2px solid var(--brand-tint);border-color:var(--brand-strong)}.input-field .error,.error{color:var(--bad-text);font-size:13px;margin-top:5px;display:block}.form-error{color:var(--bad-text);font-size:14px;margin:10px 0}.form-success{color:var(--good-text);font-size:14px;margin:10px 0}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-label{font-size:14px;color:var(--ink-2);font-weight:600}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}.stat-item{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat-item h2{font-size:13px;font-weight:600;color:var(--ink-3);margin-bottom:6px}.stat-amount{font-size:28px;font-weight:650;line-height:1.1}.stat-amount.stat-good{color:var(--good-text)}.stat-amount.stat-bad{color:var(--bad-text)}.stat-caption{font-size:12px;color:var(--ink-3);margin-top:4px}.empty-state{color:var(--ink-3);text-align:center;padding:28px 12px;font-size:15px}.panel-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.panel-toolbar .card-title{margin-bottom:0}.panel-toolbar-spacer{flex:1}.tabs{display:inline-flex;background:var(--page);border:1px solid var(--hairline);border-radius:999px;padding:3px}.tab{border:none;background:none;padding:7px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}.tab.active{background:var(--card);color:var(--brand-strong);box-shadow:var(--shadow)}.tx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tx-table{width:100%;border-collapse:collapse;font-size:14px}@media (max-width: 700px){.tx-table{min-width:560px}.tx-date{font-size:13px}}.tx-table th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);padding:8px 10px;border-bottom:1px solid var(--grid)}.tx-table td{padding:10px;border-bottom:1px solid var(--hairline);vertical-align:middle}.tx-table tbody tr:hover{background:var(--page)}.tx-table .num{text-align:right}.tx-table .menu-col{width:44px;text-align:right}.tx-date{color:var(--ink-2);white-space:nowrap}.tx-desc:first-letter,.recent-desc:first-letter{text-transform:uppercase}.tx-desc{font-weight:600;max-width:340px}.tx-desc-inner{display:flex;align-items:center;gap:0;min-width:0}.tx-desc-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}.tx-desc .group-badge,.tx-desc .scope-badge{flex-shrink:0}.tx-cat,.tx-card{color:var(--ink-2);white-space:nowrap}td.tx-card{text-transform:uppercase}.tx-none{color:var(--ink-3)}.tx-amount{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.tx-amount.income{color:var(--good-text)}.card-dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:baseline}.view-all{display:block;margin:12px auto 0}.subs-total-row{border-top:1px solid var(--grid)}.subs-total-row .subs-name,.subs-total-row .subs-amount{font-weight:700}.subs-menu-spacer{width:30px}.scope-badge{margin-left:8px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-2);background:var(--page);border:1px solid var(--input-border);border-radius:999px;padding:2px 8px;vertical-align:1px}.paginator{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:14px;font-size:13px;color:var(--ink-2)}.paginator-size{display:inline-flex;align-items:center;gap:8px;font-weight:600}.paginator-size select{padding:6px 8px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card)}.paginator-info{color:var(--ink-3)}.paginator-buttons{margin-left:auto;display:flex;gap:8px}.paginator-buttons button{padding:6px 14px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}.paginator-buttons button:hover:not(:disabled){background:var(--page)}.paginator-buttons button:disabled{opacity:.45;cursor:default}.row-menu{position:relative;display:inline-block}.row-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer}.row-menu-trigger:hover{background:var(--page);color:var(--ink)}.row-menu-trigger svg{width:16px;height:16px}.row-menu-pop{position:absolute;right:0;top:calc(100% + 4px);min-width:130px;background:var(--card);border:1px solid var(--hairline);border-radius:10px;box-shadow:0 8px 24px #0b0b0b1f;padding:5px;z-index:40}.row-menu-item{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:7px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer}.row-menu-item:hover{background:var(--page)}.row-menu-item.danger{color:var(--bad-text)}.row-menu-check{float:right;margin-left:10px;color:var(--brand-strong);font-weight:700}.row-menu-trigger.highlight{color:var(--brand-strong);background:var(--brand-tint)}.panel-toolbar .row-menu-trigger{width:38px;height:38px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card)}.panel-toolbar .row-menu-trigger:hover{background:var(--page)}.panel-toolbar .row-menu-trigger.highlight{background:var(--brand-tint);border-color:var(--brand-strong)}.swatch-row{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:30px;height:30px;border-radius:9px;border:2px solid transparent;cursor:pointer;padding:0}.swatch.selected{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--card)}.subs-cadence{display:block;font-size:12px;font-weight:400;color:var(--ink-3);margin-top:1px}.subs-per{font-size:11px;font-weight:500;color:var(--ink-3);margin-left:2px}.subs-table tr.paused td,.subs-table tr.paused .tx-desc{color:var(--ink-3)}.subs-status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:3px 9px;white-space:nowrap}.subs-status.upcoming{color:var(--brand-deep);background:var(--brand-tint)}.subs-status.paid{color:var(--good-text);background:#e7f5ef}.subs-status.paused{color:var(--ink-3);background:var(--page);border:1px solid var(--hairline)}.subs-total-row td{border-bottom:none;border-top:1px solid var(--grid)}.subs-total-name{display:block;font-size:14px;font-weight:700}.subs-total-note{display:block;font-size:12px;color:var(--ink-3);margin-top:1px}.subs-total-amount{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.recent-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.recent-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--hairline)}.recent-row:last-child{border-bottom:none}@media (prefers-reduced-motion: no-preference){.recent-row{animation:recent-rise .36s ease-out backwards}.rightbar-recents .recent-row{animation:none}}@keyframes recent-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.recent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.recent-amount.savings{color:var(--brand-strong)}.recent-info{display:flex;flex-direction:column;min-width:0;flex:1}.recent-desc{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-date{font-size:12px;color:var(--ink-3)}.recent-amount{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;flex-shrink:0}.recent-amount.income{color:var(--good-text)}.goal-name{font-size:16px;font-weight:650}.goal-emoji{font-size:17px}.goal-amounts{font-size:14px;color:var(--ink-2)}.goal-remaining{font-size:13px;color:var(--ink-3)}.goal-complete{font-size:13px;font-weight:600;color:var(--good-text)}.goal-actions{display:flex;gap:14px;margin-top:auto;padding-top:12px}.settings-card{max-width:560px;margin-bottom:18px}.members-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:8px}.members-row{display:flex;align-items:center;gap:10px}.avatar-small{width:32px;height:32px;font-size:13px}.members-name{font-size:14px;font-weight:600}.members-you{color:var(--ink-3);font-weight:500}.theme-row{display:flex;flex-wrap:wrap;gap:10px}.theme-option{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--input-border);border-radius:999px;background:var(--card);font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}.theme-option:hover{background:var(--page)}.theme-option.selected{border-color:var(--brand-strong);background:var(--brand-tint);color:var(--ink)}.theme-swatch{width:16px;height:16px;border-radius:50%;flex-shrink:0}.settings-note{font-size:13px;color:var(--ink-3);margin:8px 0 12px}.settings-note.warning{color:var(--bad-text)}.invite-section,.join-section{border-top:1px solid var(--hairline);margin-top:18px;padding-top:16px}.invite-section h3,.join-section h3{font-size:14px;font-weight:650}.invite-code-row{display:flex;align-items:center;gap:10px;margin-top:10px}.invite-code-row input{flex:1;width:auto}.invite-code{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;letter-spacing:2px;background:var(--page);border:1px dashed var(--input-border);border-radius:var(--radius-sm);padding:10px 14px}.toast-host{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:500;width:min(420px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:10px;padding:11px 14px;box-shadow:0 8px 30px #0b0b0b40;font-size:14px}@media (prefers-reduced-motion: no-preference){.toast{animation:toast-rise .2s ease-out}}@keyframes toast-rise{0%{opacity:0;transform:translateY(10px)}}.toast-msg{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-action{background:none;border:none;color:var(--brand);font-size:14px;font-weight:700;cursor:pointer;padding:0;flex-shrink:0}.toast-action:hover{text-decoration:underline}.toast-close{background:none;border:none;color:#fff9;font-size:18px;line-height:1;cursor:pointer;padding:0;flex-shrink:0}.toast-close:hover{color:#fff}.skeleton{display:flex;flex-direction:column;gap:16px}.skel{background:linear-gradient(100deg,var(--hairline) 30%,rgba(11,11,11,.04) 50%,var(--hairline) 70%);background-size:200% 100%;border-radius:var(--radius)}@media (prefers-reduced-motion: no-preference){.skel{animation:skel-shimmer 1.3s linear infinite}}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-title{width:200px;height:30px}.skel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.skel-tile{height:92px}.skel-duo{display:grid;grid-template-columns:5fr 6fr;gap:16px}.skel-card{height:300px}.skel-table{height:260px}@media (max-width: 900px){.skel-duo{grid-template-columns:1fr}}.stat-delta{font-size:12px;font-weight:700;margin-top:3px}.stat-delta.good{color:var(--good-text)}.stat-delta.bad{color:var(--bad-text)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:5}.confetti-bit{position:absolute;left:50%;top:40%;width:8px;height:8px;border-radius:2px;opacity:0}@media (prefers-reduced-motion: no-preference){.confetti-bit{opacity:1;animation:confetti-fly 1.2s ease-out forwards}}@keyframes confetti-fly{0%{transform:rotate(var(--angle)) translateY(-8px) rotate(0);opacity:1}to{transform:rotate(var(--angle)) translateY(-92px) rotate(220deg);opacity:0}}.confetti-bit.b0{background:#d6478f}.confetti-bit.b1{background:#2a78d6}.confetti-bit.b2{background:#eb6834}.confetti-bit.b3{background:#0f8a5f}.confetti-bit.b4{background:#eda100}.confetti-bit.b5{background:#4a3aa7}.payment-history{border-top:1px solid var(--hairline);margin-top:6px;padding-top:12px;text-align:left}.payment-history h3{font-size:14px;font-weight:650;margin-bottom:8px}.payment-history ul{list-style:none;padding:0;margin:0 0 10px}.payment-history li{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--hairline);font-size:14px}.payment-history li:last-child{border-bottom:none}.payment-history li span:first-child{color:var(--ink-2)}.payment-amount{flex:1;font-weight:650;font-variant-numeric:tabular-nums}.loans-header{margin-top:30px}.goal-est{font-size:12px;color:var(--ink-3)}.goal-est.warning{color:var(--bad-text);font-weight:600}.plan-rows{text-align:left;margin-bottom:12px}.plan-row{padding:9px 0;border-bottom:1px solid var(--hairline)}.plan-label{display:block;font-size:13px;font-weight:700}.plan-value{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}.plan-list{list-style:none;padding:0;margin:6px 0 0}.plan-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:3px 0;font-size:14px}.plan-list li span{color:var(--ink-2)}.plan-list li strong{font-weight:700;font-variant-numeric:tabular-nums}.plan-savings{margin-top:10px;font-size:14px;font-weight:700;color:var(--good-text)}.loan-facts{width:100%;margin-top:4px}.loan-fact-good{color:var(--good-text)}.loan-fact-bad{color:var(--bad-text)}.reorder-heading{margin:14px 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.reorder-list{list-style:none;margin:8px 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.reorder-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--hairline);border-radius:10px;background:var(--card);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;transition:transform .12s ease}.reorder-row.dragging{position:relative;z-index:2;transition:none;cursor:grabbing;box-shadow:0 8px 20px #00000024;border-color:var(--brand-strong)}.reorder-grip{flex-shrink:0;color:var(--ink-3)}.reorder-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.reorder-name{flex:1;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reorder-last4{font-size:12px;color:var(--ink-3)}.reorder-star{width:14px;height:14px;color:var(--brand-strong);flex-shrink:0}.activity-toolbar{flex-wrap:wrap}.activity-search{flex:1;min-width:160px;padding:8px 12px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card);font:inherit;font-size:14px;color:var(--ink)}.activity-search:focus{outline:none;border-color:var(--brand-strong)}.tx-cat .recent-dot{display:inline-block;margin-right:7px}.requests-heading{margin:16px 0 8px}.request-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.request-actions .btn{padding:7px 14px;font-size:13px}.request-pending{background:var(--brand-tint);border-radius:var(--radius-sm);padding:10px 12px}.members-remove{margin-left:auto;font-size:13px}.stat-item{container-type:inline-size}.stats .stat-item .stat-amount{font-size:clamp(15px,13cqw,28px);white-space:nowrap}.input-field input:disabled{background:var(--page);color:var(--ink-3);cursor:not-allowed}.th-sort{display:inline-flex;align-items:center;gap:3px;background:none;border:none;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.th-sort:hover{color:var(--ink)}.th-sort svg{width:12px;height:12px;opacity:0;transition:transform .12s ease,opacity .12s ease}.th-sort.active{color:var(--ink)}.th-sort.active svg{opacity:1}.th-sort.active.asc svg{transform:rotate(180deg)}th.num .th-sort{width:100%;justify-content:flex-end}.tx-recurring{width:12px;height:12px;color:var(--ink-3);margin-left:6px;vertical-align:-1px}.budgets-note{margin:0}.budgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.budget-head{display:flex;align-items:flex-start;gap:8px}.budget-head .card-title{flex:1;margin-bottom:4px}.budget-figures{margin:2px 0 10px}.budget-spent{font-size:24px;font-weight:650}.budget-limit{font-size:14px;color:var(--ink-3)}.budget-bar{height:10px;border-radius:999px;background:var(--grid);overflow:hidden}.budget-fill{height:100%;border-radius:999px;background:var(--brand-strong);transition:width .3s ease}.budget-fill.warn{background:#eda100}.budget-fill.over{background:var(--bad-text)}.budget-status{margin-top:8px;font-size:13px;color:var(--ink-2)}.budget-status.bad{color:var(--bad-text);font-weight:600}.budget-cats{margin-top:6px;font-size:12px;color:var(--ink-3)}.budget-cat-picker{display:flex;flex-wrap:wrap;gap:6px}.budget-cat-chip{border:1px solid var(--input-border);border-radius:999px;background:var(--card);color:var(--ink-2);font-size:13px;font-weight:600;padding:5px 12px;cursor:pointer}.budget-cat-chip.selected{background:var(--brand-tint);border-color:var(--brand-strong);color:var(--brand-strong)}.budgets-summary{display:flex;align-items:center;gap:24px;margin-bottom:16px}.budgets-summary-figures{flex-shrink:0}.budgets-summary-figures .budget-figures{margin:0}.budgets-summary-bar{flex:1}.budget-penalize{margin-top:10px;display:inline-block;border:none;border-radius:var(--radius-sm);background:var(--bad-text);color:#fff;font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer}.budget-penalize:hover{background:#a62828}@media (max-width: 560px){.budgets-summary{flex-direction:column;align-items:stretch;gap:10px}}.avatar-img{object-fit:cover;display:inline-block}.avatar-editor{display:flex;align-items:center;gap:16px;margin-bottom:18px}.avatar-editor-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.avatar-upload-btn{cursor:pointer}.avatar-upload-btn input{display:none}.avatar-note{margin:0;font-size:12px}.activity-selection{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--brand-line);border-radius:var(--radius-sm);background:var(--brand-tint);font-size:14px;font-weight:600}.btn-danger{border:none;border-radius:var(--radius-sm);background:var(--bad-text);color:#fff;font:inherit;font-size:14px;font-weight:600;padding:9px 16px;cursor:pointer}.btn-danger:hover:not(:disabled){background:#a62828}.btn-danger:disabled{opacity:.6;cursor:default}.select-col{width:34px;padding-right:0}.select-col input{cursor:pointer;accent-color:var(--brand-strong)}.tx-table tr.selected td{background:var(--brand-wash)}.groups-note{margin-bottom:18px;max-width:68ch}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.group-card.archived{opacity:.6}.group-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.group-head .card-title{flex:1;margin-bottom:0}.group-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.group-total{font-size:26px;font-weight:700;line-height:1.1}.group-caption{font-size:12px;color:var(--ink-3);margin-top:4px;margin-bottom:12px}.group-offset{font-size:13px;color:var(--ink-2);margin-top:10px}.group-view{margin-top:12px;font-size:13px}.groups-archived-toggle{margin-top:18px;font-size:13px}.activity-group-select{max-width:190px}.group-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:1px 8px;border:1px solid var(--hairline);border-radius:999px;font-size:11px;font-weight:600;color:var(--ink-2);white-space:nowrap;vertical-align:middle;min-width:0;max-width:100%}.group-badge-name{overflow:hidden;text-overflow:ellipsis;min-width:0}.group-badge-emoji{flex-shrink:0;line-height:1}.group-badge:has(.group-badge-emoji) .group-badge-dot{display:none}@media (max-width: 900px){.group-badge:has(.group-badge-emoji) .group-badge-name{display:none}.group-badge:has(.group-badge-emoji){padding:1px 5px;gap:0}}.group-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.activity-selection-spacer{flex:1 1 auto}.activity-group-select{max-width:200px;height:35px;padding:0 38px 0 12px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background-color:var(--card);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.activity-group-select:hover:not(:disabled){border-color:var(--brand-strong)}.activity-group-select:disabled{opacity:.6;cursor:default}@media (max-width: 640px){.tx-table-wrap{overflow-x:visible}.tx-table,.tx-table tbody,.tx-table tr,.tx-table td{display:block;width:auto}.tx-table{min-width:0;font-size:14px}.tx-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tx-table tbody tr{position:relative;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--card);padding:10px 12px;margin-bottom:10px}.tx-table tbody tr:hover{background:var(--card)}.tx-table td{border:none;padding:2px 0}.tx-table td:empty{display:none}.tx-table .tx-desc{max-width:none;white-space:normal;font-size:15px;padding-right:78px}.tx-table .tx-date{font-size:12px;color:var(--ink-3);padding-right:78px}.tx-table .tx-cat:before,.tx-table .tx-card:before{content:attr(data-label) ": ";color:var(--ink-3);font-size:12px}.tx-table .tx-cat,.tx-table .tx-card{display:inline-block;font-size:12.5px;color:var(--ink-2);margin-right:12px}.tx-table .num.tx-amount{position:absolute;top:10px;right:12px;text-align:right;font-size:16px;font-weight:700;padding:0}.tx-table .menu-col{position:absolute;right:6px;bottom:6px;width:auto}}.budget-app{min-height:100vh;display:flex;flex-direction:column}.budget-main{flex:1;width:min(1120px,100% - 40px);margin:0 auto;padding:28px 0 48px}.auth-split{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:center;max-width:940px;margin:24px auto 0}.auth-split .auth-page{margin:0;width:100%;max-width:none}.auth-preview{display:flex;flex-direction:column;gap:16px;pointer-events:none;-webkit-user-select:none;user-select:none}.preview-balance{align-self:flex-start;display:flex;flex-direction:column;gap:2px;background:var(--brand-strong);color:#fff;border-radius:14px;padding:14px 22px;transform:rotate(-1deg);box-shadow:0 10px 28px #0b0b0b24}.preview-balance-label{font-size:11px;font-weight:600;opacity:.85}.preview-balance-amount{font-size:22px;font-weight:700}.preview-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:0 14px 34px #0b0b0b1a;padding:16px 18px}.preview-title{font-size:13px;font-weight:600;margin-bottom:8px}.preview-tilt-left{transform:rotate(-1.5deg)}.preview-tilt-right{transform:rotate(1.25deg);align-self:flex-end;width:min(320px,100%);margin-top:-8px}@media (prefers-reduced-motion: no-preference){.preview-balance{animation:preview-drift 6s ease-in-out infinite alternate}.preview-tilt-left{animation:preview-drift 7s ease-in-out .4s infinite alternate-reverse}.preview-tilt-right{animation:preview-drift 6.5s ease-in-out .8s infinite alternate}}@keyframes preview-drift{0%{translate:0 -4px}to{translate:0 4px}}@media (max-width: 940px){.auth-split{grid-template-columns:1fr;max-width:420px}.auth-preview{display:none}}.auth-page{max-width:420px;margin:48px auto 0;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px;text-align:center}.auth-page h1{font-size:24px;font-weight:700}.auth-subtitle{color:var(--ink-2);font-size:14px;margin-top:8px}.auth-form{margin-top:22px;text-align:left}.auth-form .btn{width:100%;margin-top:6px}.auth-links{margin-top:18px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.auth-links a{color:var(--brand-strong);text-decoration:none;font-size:14px;font-weight:600}.auth-links a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr) 300px;min-height:100vh;background:var(--page)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--card);border-right:1px solid var(--hairline);padding:18px 14px;display:flex;flex-direction:column;gap:20px}.balance-tile{background:var(--brand-strong);color:#fff;border-radius:14px;padding:18px 16px;display:flex;flex-direction:column;gap:3px}.balance-label{font-size:12px;font-weight:600;opacity:.85}.balance-amount{font-size:25px;font-weight:700;line-height:1.15}.balance-caption{font-size:11px;opacity:.75}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav-link{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:10px;background:none;color:var(--ink-2);font-size:14px;font-weight:600;text-decoration:none;text-align:left;cursor:pointer}.side-nav-link:hover{background:var(--page);color:var(--ink)}.side-nav-link.active{background:var(--brand-tint);color:var(--brand-strong)}.side-nav-icon{width:18px;height:18px;flex-shrink:0}.sidebar-footer{margin-top:auto}.app-main{min-width:0;padding:26px 28px 48px}.rightbar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--brand-tint);border-left:1px solid var(--hairline);padding:18px 14px;display:flex;flex-direction:column;gap:14px}.rightbar-card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.rightbar-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.avatar{width:56px;height:56px;border-radius:50%;background:var(--brand-strong);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.rightbar-name{font-size:15px;font-weight:700}.rightbar-household{font-size:13px;color:var(--ink-2)}.rightbar-recents-head{display:flex;align-items:center;gap:4px;margin-bottom:4px}.rightbar-recents-head .rightbar-heading{flex:1}.refresh-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer;flex-shrink:0}.refresh-button:hover{background:var(--page);color:var(--ink)}.rail-expand{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:var(--brand-strong);cursor:pointer;flex-shrink:0}.rail-expand:hover{background:var(--brand-wash)}.rail-expand svg{width:15px;height:15px}.refresh-button svg{width:15px;height:15px}.refresh-button.spinning svg{animation:refresh-spin .9s linear infinite}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rightbar-heading{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3)}.rightbar-recents .recent-row{border-color:var(--brand-line)}.rightbar-setup-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.rightbar-setup-count{font-size:12px;font-weight:700;color:var(--ink-3)}.setup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.setup-item>span,.setup-link{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.35;color:var(--ink);text-decoration:none}.setup-link:hover{color:var(--brand-strong)}.setup-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--input-border);border-radius:50%;flex-shrink:0}.setup-check svg{width:11px;height:11px}.setup-item.done>span{color:var(--ink-3);text-decoration:line-through}.setup-item.done .setup-check{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff;text-decoration:none}.rightbar-empty{font-size:14px;color:var(--ink-3)}.dashboard-duo{display:grid;grid-template-columns:5fr 6fr;gap:16px;margin-bottom:16px;align-items:stretch}.donut-card{display:flex;flex-direction:column}.donut-card .donut-layout{flex:1}.donut-card .empty-state{flex:1;display:flex;align-items:center;justify-content:center}.donut-layout{display:flex;flex-direction:column;gap:6px}.donut-layout .donut-wrap{width:min(250px,100%);margin:0 auto}.dashboard-duo-right{display:flex;flex-direction:column;gap:16px}.dashboard-duo-right .trend-card{flex:1;margin-bottom:0}.tx-card,.subs-card{margin-bottom:16px}.savings-panel{background:var(--brand-tint);border-color:var(--brand-line)}.savings-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.savings-title{display:inline-flex;align-items:center;gap:8px}.savings-piggy{width:19px;height:19px;color:var(--brand-strong)}.savings-headline{position:relative;display:inline-block}.slot-number{font-variant-numeric:tabular-nums}.savings-coin{position:absolute;top:-16px;right:-20px;width:18px;height:18px;border-radius:50%;background:var(--brand-strong);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;opacity:0}@media (prefers-reduced-motion: no-preference){.savings-coin{animation:coin-drop .7s ease-in forwards}}@keyframes coin-drop{0%{opacity:1;transform:translateY(-14px) rotate(-12deg)}70%{opacity:1;transform:translateY(8px) rotate(4deg)}to{opacity:0;transform:translateY(12px)}}.deposit-tabs{margin-bottom:14px}.savings-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}.savings-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:var(--brand-strong);color:#fff;cursor:pointer;transition:background-color .12s ease}.savings-add:hover{background:var(--brand-deep)}.savings-add svg{width:15px;height:15px}.savings-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer}.savings-toggle:hover{background:var(--brand-wash);color:var(--ink)}.savings-toggle svg{width:16px;height:16px;transition:transform .14s ease}.savings-toggle.open svg{transform:rotate(180deg)}.savings-headline{margin-top:2px}.savings-total-row .savings-name,.savings-total-row .savings-amount{font-weight:700}.savings-total-row{border-top:1px solid var(--grid)}.savings-menu-spacer{width:30px}.savings-list{list-style:none;padding:0;margin:0 0 6px}.savings-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--brand-line)}.savings-row:last-child{border-bottom:none}.savings-name{flex:1;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.savings-amount{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.savings-empty{font-size:13px;color:var(--ink-3);margin-bottom:8px}.empty-dashboard{text-align:center;padding:48px 24px}.empty-dashboard h2{margin-bottom:10px}.trend-card,.charts-duo{margin-bottom:16px}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch;margin-bottom:16px}.card-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.card-title-row .chart-legend{margin-bottom:0}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,340px));gap:18px}.card-visual{container-type:inline-size;width:100%;max-width:400px;aspect-ratio:1.586;border-radius:16px;color:#fff;padding:6.5% 7%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.card-visual.archived{filter:grayscale(.85);opacity:.55;box-shadow:none}.archived-cards{margin-top:18px}.archived-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 2px;background:none;border:none;cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:600}.archived-toggle:hover{color:var(--ink)}.archived-chevron{width:14px;height:14px;transition:transform .15s ease}.archived-chevron.open{transform:rotate(180deg)}.archived-cards .cards-grid{margin-top:12px}.card-visual-top{display:flex;align-items:flex-start;justify-content:space-between}.card-visual-balance{display:flex;flex-direction:column;gap:1px}.card-visual-nickname{display:inline-flex;align-items:center;gap:6px;font-size:clamp(10px,4cqw,14px);font-weight:700;letter-spacing:.8px;text-transform:uppercase;opacity:.85;margin-bottom:1.6cqw}.card-fav{width:clamp(10px,4cqw,14px);height:clamp(10px,4cqw,14px);flex-shrink:0}.card-visual-label{font-size:clamp(9px,3.6cqw,13px);font-weight:600;letter-spacing:.4px;opacity:.8}.card-visual-amount{font-size:clamp(18px,7.2cqw,27px);font-weight:700;line-height:1.15}.card-visual-spent{font-size:clamp(9px,3.6cqw,13px);opacity:.8;margin-top:2px}.card-visual-corner{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.card-visual-network{font-size:clamp(12px,5cqw,18px);font-weight:800;font-style:italic;letter-spacing:1px;text-transform:uppercase;opacity:.95}.card-visual .row-menu-trigger{color:#ffffffe6}.card-visual .row-menu-trigger:hover{background:#ffffff26}.card-visual-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(13px,5.4cqw,20px);letter-spacing:.85cqw;opacity:.95}.card-visual-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.card-visual-field{display:flex;flex-direction:column;gap:1px;min-width:0}.card-visual-field.right{text-align:right;flex-shrink:0}.card-visual-value{font-size:clamp(11px,4.6cqw,17px);font-weight:650;min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.goal-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.goal-card-menu{position:absolute;top:10px;right:10px}@media (max-width: 1280px){.app-shell{grid-template-columns:236px minmax(0,1fr)}.rightbar{display:none}}.mobile-topbar,.sidebar-close{display:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b73;z-index:190}@media (min-width: 901px){.drawer-backdrop{display:none}}@media (max-width: 900px){.app-shell{display:block}.mobile-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:120;background:var(--card);border-bottom:1px solid var(--hairline);padding:10px 14px}.hamburger{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);cursor:pointer}.hamburger svg{width:21px;height:21px}.mobile-brand{font-size:16px;font-weight:800;color:var(--brand-strong)}.mobile-brand-sub{font-weight:500;color:var(--ink-3)}.mobile-balance{margin-left:auto;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:274px;z-index:200;transform:translate(-105%);transition:transform .22s ease}.sidebar.open{transform:none;box-shadow:0 10px 40px #0b0b0b40}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;width:34px;height:34px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink-3);cursor:pointer;margin-bottom:-8px}.sidebar-close svg{width:18px;height:18px}.app-main{padding:16px 12px 40px}.dashboard-duo,.reports-grid,.donut-layout{grid-template-columns:1fr}}@media (max-width: 560px){.budget-main{width:min(1120px,100% - 24px)}.auth-page{margin-top:20px;padding:24px 18px}.page-header h1{font-size:22px}.stat-amount{font-size:24px}.card{padding:14px}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-item{padding:12px 14px}.panel-toolbar{gap:8px}.modal{padding:10px}.modal-main{padding:20px 16px}.cards-grid{grid-template-columns:1fr;justify-items:center}.goals-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.side-collapse{display:none}@media (min-width: 901px){.side-collapse{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;width:28px;height:28px;border:none;border-radius:8px;background:none;color:var(--ink-3);cursor:pointer;margin:-6px -4px -8px 0;flex-shrink:0}.side-collapse:hover{background:var(--page);color:var(--ink)}.side-collapse svg{width:16px;height:16px}.rightbar .side-collapse{align-self:flex-start;margin:-6px 0 -8px -4px}.rightbar .side-collapse:hover{background:#ffffffb3}.app-shell.left-collapsed .sidebar{padding:18px 10px}.app-shell.left-collapsed .sidebar .balance-tile,.app-shell.left-collapsed .sidebar .side-nav-text{display:none}.app-shell.left-collapsed .sidebar .side-collapse{align-self:center;margin:-6px 0 -8px}.app-shell.left-collapsed .side-nav-link{justify-content:center;padding:10px}}@media (min-width: 901px) and (max-width: 1280px){.app-shell.left-collapsed{grid-template-columns:64px minmax(0,1fr)}}@media (min-width: 1281px){.app-shell.left-collapsed{grid-template-columns:64px minmax(0,1fr) 300px}.app-shell.right-collapsed{grid-template-columns:236px minmax(0,1fr) 44px}.app-shell.left-collapsed.right-collapsed{grid-template-columns:64px minmax(0,1fr) 44px}.app-shell.right-collapsed .rightbar{padding:18px 7px}.app-shell.right-collapsed .rightbar .rightbar-card{display:none}.app-shell.right-collapsed .rightbar .side-collapse{align-self:center;margin:-6px 0}}.auth-side{display:flex;flex-direction:column;gap:16px;min-width:0}.auth-perks{display:flex;flex-direction:column;gap:14px}.preview-budget-figures{font-size:14px;color:var(--ink-2);margin-bottom:8px}.preview-budget-figures strong{font-size:18px;color:var(--ink)}.preview-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.preview-feature{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--ink-2)}.preview-feature-icon{width:16px;height:16px;flex-shrink:0;color:var(--brand-strong)}.preview-tip{background:var(--brand-tint);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:var(--ink-2);line-height:1.5}@media (max-width: 560px){.preview-features{grid-template-columns:1fr}}.statement-upload{display:inline-flex;align-items:center;justify-content:center;padding:10px;border:1px solid var(--brand-strong);border-radius:var(--radius-sm);background:var(--brand-strong);color:#fff;cursor:pointer;flex-shrink:0;order:2}.statement-upload:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.statement-upload svg{width:18px;height:18px;display:block}.statement-upload:disabled{opacity:.6;cursor:default}.page-header .filter-row{margin-left:auto}.statement-input{display:none}.sidebar-legal{display:flex;gap:14px;padding:0 12px 10px}.sidebar-legal a{font-size:12px;font-weight:600;color:var(--ink-3);text-decoration:none}.sidebar-legal a:hover{color:var(--brand-strong)}@media (min-width: 901px){.app-shell.left-collapsed .sidebar-legal{display:none}}.category-row{display:flex;align-items:stretch;gap:8px}.category-row select{flex:1;min-width:0}.split-toggle{flex-shrink:0;width:42px;align-self:stretch;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-tint);color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease}.split-toggle svg{width:17px;height:17px}.split-toggle:hover{background:var(--brand-wash);border-color:var(--brand-strong)}.split-toggle:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.split-editor{border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px}.split-editor-head{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px}.split-editor-total{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.split-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,104px) 26px;gap:8px;align-items:center;margin-bottom:8px}@media (max-width: 480px){.split-editor{padding:10px 9px}.split-row{grid-template-columns:minmax(0,1fr) minmax(0,84px) 22px;gap:6px}.split-row select{padding-right:26px;background-position:right 7px center}.split-row select,.split-row input{padding-left:9px;font-size:13px}}.split-row select,.split-row input{width:100%;min-width:0;padding:9px 12px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card);font-size:14px;font-family:inherit;color:var(--ink)}.split-row select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 10px center;background-size:13px;padding-right:32px}.split-row select:focus,.split-row input:focus{outline:none;border-color:var(--brand-strong)}.split-row input{text-align:right;font-variant-numeric:tabular-nums}.split-drop{border:none;background:none;color:var(--ink-3);font-size:20px;line-height:1;cursor:pointer;padding:0}.split-drop:hover{color:var(--bad-text)}.split-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.split-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:6px;width:18px;height:18px;border-radius:999px;background:var(--brand-wash);color:var(--brand-deep);flex-shrink:0}.split-badge svg{width:11px;height:11px}.split-context{border:1px solid var(--hairline);border-left:3px solid var(--brand);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px}.split-context-list{list-style:none;margin:0 0 6px;padding:0}.split-context-list li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:13.5px;color:var(--ink-2)}.split-context-list li.current{font-weight:700;color:var(--ink)}.split-context-amt{font-variant-numeric:tabular-nums;flex-shrink:0}.split-context .settings-note{margin:0;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card);border-bottom:1px solid var(--hairline);padding:14px clamp(16px,4vw,32px)}.header-brand{font-size:20px;font-weight:800;letter-spacing:.5px;color:var(--brand-strong);text-decoration:none}.header-brand-sub{font-weight:500;color:var(--ink-3);letter-spacing:0}.header-back{font-size:14px;font-weight:600;color:var(--ink-3);text-decoration:none}.header-back:hover{color:var(--ink)}.footer{border-top:1px solid var(--hairline);padding:16px;text-align:center;color:var(--ink-3);font-size:13px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b80;display:flex;justify-content:center;align-items:center;padding:20px;z-index:1000}.modal-main{background:var(--card);padding:24px;border-radius:var(--radius);width:480px;max-width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0b0b0b2e}.modal-main h2{font-size:19px;margin-bottom:16px}.modal-main .btn{width:100%;margin-top:6px}.modal-main.modal-wide{width:min(960px,100%)}.modal-main.modal-wide .btn{width:auto;margin-top:0}.close-button{position:absolute;top:12px;right:14px;background:transparent;border:none;font-size:22px;line-height:1;color:var(--ink-3);cursor:pointer}.close-button:hover{color:var(--ink)}@media (prefers-reduced-motion: no-preference){.modal{animation:modal-fade .14s ease-out}.modal-main{animation:modal-pop .18s cubic-bezier(.2,.9,.3,1.05)}}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:scale(.96) translateY(8px)}}.landing{--landing-accent: #c2410c;--landing-accent-deep: #9a3412;--landing-accent-pale: #e07a45;--landing-slate: #234b5e;--landing-slate-mid: #dbe5ea;--landing-slate-pale: #eef3f6;--landing-tile: var(--landing-slate);--landing-max: 1020px;--landing-canvas: #ffffff;--landing-sand: var(--landing-slate-pale);--landing-sand-deep: var(--landing-slate-mid);--landing-tint: var(--landing-slate-pale);min-height:100vh;display:flex;flex-direction:column;background:#fff;color:var(--ink)}.landing-section-inner{width:min(var(--landing-max),100% - 48px);margin:0 auto}.landing-hero{position:relative;display:flex;flex-direction:column;min-height:100svh;background:var(--landing-canvas);background-image:radial-gradient(circle at 84% 18%,rgba(35,75,94,.09),transparent 52%),radial-gradient(circle at 6% 92%,rgba(194,65,12,.06),transparent 48%);color:var(--ink);border-bottom:1px solid var(--hairline);overflow:hidden}.landing-nav{padding:22px 0}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between}.landing-wordmark{font-size:16px;font-weight:800;letter-spacing:4px}.landing-nav-links{display:flex;gap:26px}.landing-nav-links a{color:var(--ink-2);text-decoration:none;font-size:14px;font-weight:600}.landing-nav-links a:hover{color:var(--landing-accent)}.landing-hero-grid{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:56px;padding:40px 0 96px}.landing-hero h1{font-size:clamp(34px,5vw,54px);font-weight:750;line-height:1.08;letter-spacing:-.02em;max-width:16ch}.landing-hero-rule{width:200px;height:3px;margin:26px 0;border-radius:2px;background:var(--landing-accent)}.landing-tagline{font-size:clamp(16px,1.6vw,19px);font-weight:500;line-height:1.6;color:var(--ink-2);max-width:52ch}.landing-hero-cue{position:absolute;left:50%;bottom:26px;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(47,42,38,.28);border-radius:999px;display:grid;justify-items:center;padding-top:8px}.landing-hero-cue span{width:4px;height:8px;border-radius:2px;background:var(--ink-2);animation:cue-fall 1.8s ease-in-out infinite}@keyframes cue-fall{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(12px);opacity:.3}}.landing-cta-row{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;margin-top:30px}.landing-cta-center{justify-content:center}.landing-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border:1px solid var(--landing-accent);border-radius:999px;background:var(--landing-accent);color:#fff;font-size:15px;font-weight:650;text-decoration:none;transition:background .16s ease,transform .16s ease}.landing-cta:hover{background:var(--landing-accent-deep);border-color:var(--landing-accent-deep);transform:translateY(-2px)}.landing-cta-ghost{display:inline-flex;align-items:center;padding:14px 24px;border-radius:999px;border:1px solid var(--input-border);color:var(--ink);font-size:15px;font-weight:650;text-decoration:none}.landing-cta-ghost:hover{border-color:var(--landing-accent);color:var(--landing-accent)}.landing-hero-art{position:relative;width:340px;height:320px}.shape{position:absolute;display:block}.shape-ring{width:150px;height:150px;border:2px solid var(--landing-accent);border-radius:50%;top:34px;left:96px;animation:drift 7s ease-in-out infinite alternate}.shape-square{width:58px;height:58px;background:var(--landing-accent);border-radius:14px;top:0;left:28px;animation:drift 5.5s ease-in-out .6s infinite alternate-reverse}.shape-pill{width:96px;height:40px;background:var(--landing-sand-deep);border-radius:999px;top:216px;left:0;animation:drift 6.5s ease-in-out .3s infinite alternate}.shape-diamond{width:48px;height:48px;background:var(--landing-tile);border-radius:10px;top:208px;left:218px;transform:rotate(45deg);animation:drift-spin 8s ease-in-out infinite alternate}.shape-dot{width:30px;height:30px;background:var(--landing-accent);border-radius:50%;top:118px;left:8px;animation:drift 5s ease-in-out 1s infinite alternate-reverse}.shape-dot-small{width:14px;height:14px;background:var(--ink-3);border-radius:50%;top:62px;left:262px;animation:drift 6s ease-in-out 1.4s infinite alternate}@keyframes drift{0%{transform:translateY(-9px)}to{transform:translateY(9px)}}@keyframes drift-spin{0%{transform:translateY(-8px) rotate(40deg)}to{transform:translateY(8px) rotate(50deg)}}.landing-eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--landing-slate);margin-bottom:16px}.product-section{padding:clamp(64px,9vw,104px) 0}.product-planthat{background:#fff;border-top:1px solid var(--hairline)}.product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.product-headline{font-size:clamp(26px,3.2vw,38px);font-weight:750;line-height:1.14;letter-spacing:-.02em;margin-bottom:14px}.product-copy{color:var(--ink-2);font-size:16px;line-height:1.65;max-width:54ch}.product-note{color:var(--ink-3);font-size:14px;font-weight:600}.product-tile{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--landing-tile);color:#fff;flex-shrink:0}.product-tile svg{width:17px;height:17px}.product-copy+.product-points{margin-top:22px}.product-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.product-points li{padding-left:16px;border-left:2px solid var(--landing-slate-mid);color:var(--ink-2);font-size:15px;font-weight:500;line-height:1.5}.product-steps{list-style:none;counter-reset:step;margin:28px 0 0;padding:24px 0 0;border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:16px}.product-steps li{counter-increment:step;position:relative;padding-left:42px;display:flex;flex-direction:column;gap:2px}.product-steps li:before{content:counter(step);position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:8px;background:var(--landing-slate);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.product-steps strong{font-size:15px}.product-steps span{color:var(--ink-3);font-size:13px}.product-budgeting{background:var(--landing-sand);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.product-grid-flip .product-panel{order:-1}.product-panel{background:#fff;color:var(--ink);border:1px solid var(--hairline);border-radius:16px;padding:24px;box-shadow:0 18px 40px #2f2a261a}.product-panel-title{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.panel-balance{display:flex;flex-direction:column;gap:2px;background:var(--landing-tile);color:#fff;border-radius:11px;padding:14px 16px;margin-bottom:16px}.panel-balance-label{font-size:11px;font-weight:600;opacity:.8}.panel-balance-amount{font-size:22px;font-weight:700}.panel-budget-figures{font-size:13px;color:var(--ink-2);margin-bottom:8px}.panel-budget-figures strong{font-size:16px;color:var(--ink)}.panel-budget-bar{height:8px;border-radius:999px;background:var(--grid);overflow:hidden}.panel-budget-bar span{display:block;height:100%;border-radius:999px;background:var(--landing-slate)}.panel-foot{margin-top:16px;font-size:12px;color:var(--ink-3)}.product-snackbyte{background:var(--landing-canvas)}.product-head-centered{max-width:620px;margin:0 auto 44px;text-align:center}.product-head-centered .landing-eyebrow{justify-content:center}.product-head-centered .product-copy{margin:0 auto}.game-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.game-card{background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:26px 24px}.game-status{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--landing-slate);margin-bottom:10px}.game-card h3{font-size:19px;font-weight:700;margin-bottom:8px}.game-card p{color:var(--ink-2);font-size:15px;line-height:1.55}.landing-about{background:#fff;padding:clamp(64px,9vw,104px) 0;border-top:1px solid var(--hairline)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}.about-body p{color:var(--ink-2);font-size:16px;line-height:1.7}.about-body p+p{margin-top:14px}.landing-principles{list-style:none;margin:48px 0 0;padding:36px 0 0;border-top:1px solid var(--hairline);display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px}.landing-principles li{display:grid;gap:6px}.principle-icon{width:20px;height:20px;color:var(--landing-slate)}.landing-principles strong{font-size:15px;font-weight:700}.landing-principles span{color:var(--ink-2);font-size:14px;line-height:1.55}.product-more{display:flex;align-items:center;gap:8px;margin-top:36px;color:var(--ink-3);font-size:14px;font-weight:600}.product-more-icon{width:16px;height:16px}.landing-footer{margin-top:auto;background:var(--landing-sand);border-top:1px solid var(--hairline);color:var(--ink-2)}.landing-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding:56px 0}.landing-footer-brand .landing-wordmark{display:block;margin-bottom:14px;color:var(--ink)}.landing-footer-brand p{font-size:14px;line-height:1.6;max-width:34ch}.landing-footer-heading{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}.landing-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.landing-footer-col a{font-size:14px;color:var(--ink-2);text-decoration:none}.landing-footer-col a:hover{color:var(--landing-accent)}.landing-footer-phone{display:block;font-size:18px;font-weight:700;color:var(--landing-accent);text-decoration:none;margin-bottom:6px}.landing-footer-phone:hover{color:var(--landing-accent-deep)}.landing-footer-email{display:block;font-size:14px;color:var(--ink-2);text-decoration:none;margin-bottom:12px}.landing-footer-email:hover{color:var(--landing-accent)}.landing-footer-note{font-size:13px;line-height:1.55;color:var(--ink-3);max-width:30ch}.landing-footer-bar{border-top:1px solid var(--hairline)}.landing-footer-bar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;font-size:13px}.landing-footer-bar-inner a{color:var(--ink-2);font-weight:600;text-decoration:none}.landing-footer-bar-inner a:hover{color:var(--landing-accent)}.fallback{display:flex;align-items:center;justify-content:center;min-height:100svh;padding:96px 24px;background:#fff;text-align:center}.fallback-inner{max-width:520px}.fallback-label{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--landing-accent);margin-bottom:16px}.fallback-title{font-size:clamp(26px,3vw,36px);font-weight:750;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}.fallback-body{color:var(--ink-2);font-size:16px;line-height:1.6;margin-bottom:30px}.fallback-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px}.fallback-link{font-size:15px;font-weight:650;color:var(--landing-accent);text-decoration:none;background:none;border:none;font-family:inherit;cursor:pointer}.fallback-link:hover{text-decoration:underline}@media (max-width: 860px){.landing-hero-grid,.product-grid,.about-grid{grid-template-columns:1fr;gap:32px}.landing-hero-art{display:none}.product-grid-flip .product-panel{order:0}.landing-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.landing-footer-brand,.landing-footer-contact{grid-column:1 / -1}}@media (max-width: 560px){.landing-footer-grid{grid-template-columns:1fr}.landing-nav-links{gap:18px}}@media (prefers-reduced-motion: reduce){.shape,.landing-hero-cue span{animation:none}}.landing-menu{position:relative}.landing-menu-trigger{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:0;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}.landing-menu-trigger:hover,.landing-menu-trigger[aria-expanded=true]{color:var(--landing-accent)}.landing-menu-chevron{width:13px;height:13px;transition:transform .16s ease}.landing-menu.is-open .landing-menu-chevron{transform:rotate(180deg)}.landing-menu-list{position:absolute;top:100%;right:0;z-index:5;min-width:200px;margin-top:12px;display:flex;flex-direction:column;padding:6px;border-radius:12px;background:#fff;box-shadow:0 22px 48px #03101a57;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.landing-menu-list:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}.landing-menu.is-open .landing-menu-list{opacity:1;visibility:visible;transform:none}.landing-menu-list a{padding:9px 12px;border-radius:8px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.landing-menu-list a:hover{background:var(--landing-tint);color:var(--landing-accent)}#planthat,#budgeting,#snackbyte,#about{scroll-margin-top:24px}.site-nav{background:#fff;border-bottom:1px solid var(--hairline);padding:18px 0}.site-nav-inner{display:flex;align-items:center;gap:14px}.site-nav-wordmark{color:var(--ink);text-decoration:none}.site-nav-product{padding-left:14px;border-left:1px solid var(--hairline);font-size:15px;font-weight:600;color:var(--ink-3)}.site-nav-links{margin-left:auto;display:flex;gap:24px}.site-nav-links a{font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none}.site-nav-links a:hover{color:var(--landing-accent)}.legal-page{flex:1 0 auto;padding:clamp(44px,6vw,72px) 0 80px;background:#fff}.legal-inner{max-width:46rem}.legal-page h1{font-size:clamp(28px,3.4vw,38px);font-weight:750;line-height:1.15;letter-spacing:-.02em;margin-bottom:8px}.legal-updated{font-size:13px;font-weight:600;color:var(--ink-3);padding-bottom:24px;border-bottom:1px solid var(--hairline)}.legal-body{font-size:15px;line-height:1.7;color:var(--ink-2)}.legal-body>*+*{margin-top:18px}.legal-body h2{margin-top:44px;padding-top:26px;border-top:1px solid var(--hairline);font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--ink);scroll-margin-top:24px}.legal-body>h2+*{margin-top:14px}.legal-body ul{list-style:disc;padding-left:22px}.legal-body li+li{margin-top:8px}.legal-body a{color:var(--landing-accent);font-weight:600;text-decoration:underline}.legal-body a:hover{color:var(--landing-accent-deep)}.legal-term{font-weight:650;color:var(--ink)}.auth-consent{margin:4px 0 14px;font-size:13px;line-height:1.55;color:var(--ink-3);text-align:left}.auth-consent a{color:var(--brand-strong);font-weight:600;text-decoration:none}.auth-consent a:hover{text-decoration:underline}@media (max-width: 620px){.site-nav-inner{flex-wrap:wrap;row-gap:10px}.site-nav-links{width:100%;margin-left:0;gap:18px}}.landing-faq{background:var(--landing-sand);border-top:1px solid var(--hairline);padding:clamp(56px,8vw,88px) 0}.landing-eyebrow-plain{color:var(--landing-slate)}.faq-list{max-width:46rem;margin:0 auto}.faq-item{padding:22px 0;border-top:1px solid var(--landing-sand-deep)}.faq-item:first-child{border-top:none;padding-top:0}.faq-item dt{font-size:17px;font-weight:700;line-height:1.35;margin-bottom:8px}.faq-item dd{margin:0;color:var(--ink-2);font-size:15px;line-height:1.65}.faq-promise{max-width:46rem;margin:28px auto 0;padding-top:22px;border-top:1px solid var(--landing-sand-deep);font-size:15px;font-weight:500;color:var(--ink-2);text-align:center}.faq-promise a{color:var(--landing-accent);font-weight:650;text-decoration:none}.faq-promise a:hover{text-decoration:underline}.breadcrumbs{margin-bottom:14px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:600;color:var(--ink-3)}.breadcrumbs li+li:before{content:"/";margin-right:8px;color:var(--ink-3)}.breadcrumbs a{color:var(--landing-accent);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#faf8f5f5;border-top:1px solid var(--hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(110%);transition:transform .26s ease}.sticky-cta.is-visible{transform:none}.sticky-cta-primary,.sticky-cta-secondary{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-size:15px;font-weight:650;text-decoration:none}.sticky-cta-primary{flex:1;background:var(--landing-accent);color:#fff}.sticky-cta-secondary{border:1px solid var(--input-border);color:var(--ink)}@media (max-width: 860px){.sticky-cta{display:flex}.landing-footer-bar-inner{padding-bottom:78px}}@media (prefers-reduced-motion: reduce){.sticky-cta{transition:none}}@media (min-width: 1600px){.landing{--landing-max: min(1260px, 80vw)}.landing-hero h1{font-size:clamp(54px,4vw,68px)}.landing-tagline{font-size:21px}.product-headline{font-size:clamp(38px,2.6vw,46px)}.product-copy,.product-points li,.faq-item dd{font-size:17px}.landing-hero-art{width:420px;height:380px;transform:scale(1.15)}.product-section,.landing-about,.landing-faq{padding-top:120px;padding-bottom:120px}}.custom-work{margin-top:40px;padding-top:32px;border-top:1px solid var(--hairline)}.custom-work-heading{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--landing-slate);margin-bottom:20px}.custom-work-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}.custom-work-list li{display:grid;gap:6px;padding-left:16px;border-left:2px solid var(--landing-slate-mid)}.custom-work-list strong{font-size:16px;font-weight:700}.custom-work-list span{color:var(--ink-2);font-size:14px;line-height:1.6}.chart-tooltip{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0b0b0b14;padding:8px 12px;font-size:13px}.chart-tooltip-label{color:var(--ink-3);font-size:12px;margin-bottom:4px}.chart-tooltip-row{display:flex;align-items:center;gap:7px;padding:2px 0}.chart-tooltip-key{width:12px;height:3px;border-radius:2px;flex-shrink:0}.chart-tooltip-value{font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.chart-tooltip-name{color:var(--ink-2)}.chart-legend{display:flex;gap:18px;margin-bottom:6px;font-size:13px;color:var(--ink-2)}.chart-legend-item{display:inline-flex;align-items:center;gap:6px}.chart-legend-line{display:inline-block;width:14px;height:3px;border-radius:2px}.donut-wrap{position:relative}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.donut-total{font-size:21px;font-weight:650;line-height:1.1;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-caption{font-size:12px;color:var(--ink-3);margin-top:2px;max-width:130px;text-align:center;line-height:1.3}.breakdown-list{list-style:none;padding:0;margin:0}.breakdown-row{display:grid;grid-template-columns:12px 1fr auto 44px;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--hairline);font-size:14px}.breakdown-row:last-child{border-bottom:none}.breakdown-swatch{width:12px;height:12px;border-radius:4px}.breakdown-name{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-value{font-weight:650;font-variant-numeric:tabular-nums}.breakdown-percent{color:var(--ink-3);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.goal-gauge{position:relative;margin:0 auto}.goal-gauge-label{position:absolute;bottom:0;left:0;right:0;text-align:center;pointer-events:none}.goal-gauge-percent{font-size:24px;font-weight:650}.chart-footnote{font-size:12px;color:var(--ink-3);margin-top:8px}.chart-footnote strong{color:var(--ink-2);font-weight:700}.stack-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}.stack-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.stack-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.movers{display:grid;grid-template-columns:1fr 1fr;gap:18px}.movers-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.movers-heading{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}.movers-row{display:flex;justify-content:space-between;gap:10px;font-size:14px}.movers-amount{font-weight:600;white-space:nowrap}.movers-amount.bad{color:var(--bad-text)}.movers-amount.good{color:var(--good-text)}@media (max-width: 560px){.movers{grid-template-columns:1fr}}.ava-fab{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;border:none;background:var(--brand-strong);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #0b0b0b38;z-index:400;transition:background .15s ease,transform .15s ease}.ava-fab:hover{background:var(--brand-deep);transform:translateY(-1px)}.ava-fab svg{width:24px;height:24px}.ava-title{display:flex;align-items:center;gap:8px}.ava-title svg{width:20px;height:20px;color:var(--brand-strong)}.modal-main:has(.ava-chat){width:640px}.ava-chat{display:flex;flex-direction:column;height:min(560px,68vh)}.ava-chat .btn{width:auto;margin-top:0}.ava-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 10px}.ava-msg-group{align-self:flex-start;max-width:86%;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.ava-msg-group .ava-msg{max-width:100%}.ava-stage{font-style:italic;font-size:12.5px;color:var(--ink-3);padding-left:8px}.ava-inline-stage{font-style:italic;color:var(--ink-2)}.ava-msg{max-width:86%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.ava-msg.user{align-self:flex-end;background:var(--brand-strong);color:#fff;border-bottom-right-radius:4px}.ava-msg.ava{align-self:flex-start;background:var(--brand-tint);color:var(--ink);border-bottom-left-radius:4px}.ava-msg.ava.error{background:transparent;border:1px solid var(--hairline);color:var(--bad-text)}.ava-msg .ava-sub{margin-top:5px;font-size:13px;color:var(--ink-2)}.ava-typing{font-style:italic;color:var(--ink-2)}.ava-dots{display:inline-block;width:14px;margin-left:2px;color:var(--ink-3)}.ava-receipt{align-self:stretch;border:1px solid var(--brand-line);border-radius:var(--radius-sm);background:var(--card);padding:10px 12px;cursor:pointer;transition:border-color .15s ease}.ava-receipt:hover:not(.editing){border-color:var(--brand-strong)}.ava-receipt.editing{cursor:default}.ava-receipt.removed{cursor:default;color:var(--ink-3);font-size:13px;font-style:italic}.ava-receipt-head{display:flex;align-items:center;gap:8px}.ava-chip{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--brand-wash);color:var(--brand-deep);flex-shrink:0}.ava-chip.income{background:color-mix(in srgb,var(--good-text) 12%,transparent);color:var(--good-text)}.ava-receipt-title{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ava-receipt-amount{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.ava-receipt-amount.income{color:var(--good-text)}.ava-receipt-amount.expense{color:var(--ink)}.ava-receipt-meta{margin-top:4px;font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ava-receipt-edit{margin-top:12px;border-top:1px solid var(--hairline);padding-top:12px}.ava-edit-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ava-receipt-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.ava-delete{margin-left:auto;color:var(--bad-text)}.ava-notes{align-self:flex-start;font-size:12px;color:var(--ink-3);padding-left:4px}.ava-composer{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--hairline)}.ava-composer input{flex:1;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-size:14px}.ava-composer input:focus{outline:none;border-color:var(--brand-strong)}@media (max-width: 900px){.ava-fab{right:16px;bottom:16px}}@media (max-width: 640px){.modal:has(.ava-chat){padding:0;align-items:stretch;justify-content:stretch}.modal-main:has(.ava-chat){width:100%;height:100dvh;height:var(--ava-vvh, 100dvh);max-height:none;border-radius:0;padding:14px 14px calc(10px + env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column;transform:translateY(var(--ava-vvo, 0px))}.modal-main:has(.ava-chat) h2{margin-bottom:10px}.ava-chat{height:auto;flex:1;min-height:0}.ava-msg,.ava-msg-group{max-width:92%}.ava-composer input{font-size:16px}}.ava-chip.loan{background:color-mix(in srgb,var(--bad-text) 10%,transparent);color:var(--bad-text)}.ava-chip.savings_goal{background:color-mix(in srgb,var(--good-text) 12%,transparent);color:var(--good-text)}.ava-cardpick{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}.ava-cardpick-chip{border:1px solid var(--brand-line);border-radius:999px;background:var(--card);color:var(--brand-strong);font:inherit;font-size:13px;font-weight:600;padding:7px 13px;cursor:pointer}.ava-cardpick-chip:hover:not(:disabled){background:var(--brand-wash)}.ava-cardpick-chip.subtle{color:var(--ink-3);border-color:var(--hairline)}.ava-cardpick-chip:disabled{opacity:.5;cursor:default}.ava-receipt.readonly{cursor:default}.ava-receipt.readonly:hover{border-color:var(--brand-line)}.ava-audit{align-self:stretch;display:flex;flex-direction:column;gap:8px;margin:2px 0 4px}.ava-audit-summary{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;color:var(--ink-2);padding-left:2px}.ava-audit-summary .ava-audit-net{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.ava-finding{border:1px solid var(--hairline);border-left:3px solid var(--brand);border-radius:var(--radius-sm);background:var(--card);padding:10px 12px}.ava-finding.extra{border-left-color:var(--bad-text)}.ava-finding.date{border-left-color:var(--ink-3)}.ava-finding-head{display:flex;align-items:center;gap:8px}.ava-finding-head[role=button]{cursor:pointer}.ava-finding-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--brand-wash);color:var(--brand-deep);flex-shrink:0}.ava-finding-title{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ava-finding-amount{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.ava-finding-amount.income{color:var(--good-text)}.ava-finding-amount.expense{color:var(--ink)}.ava-finding-detail{margin-top:4px;font-size:12.5px;color:var(--ink-2)}.ava-finding-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.ava-finding-btn{border:1px solid var(--brand-line);border-radius:999px;background:var(--card);color:var(--brand-strong);font:inherit;font-size:13px;font-weight:600;padding:6px 12px;cursor:pointer}.ava-finding-btn.apply{background:var(--brand-strong);border-color:var(--brand-strong);color:#fff}.ava-finding-btn.subtle{color:var(--ink-2);border-color:var(--hairline)}.ava-finding-btn:hover:not(:disabled){filter:brightness(1.05)}.ava-finding-btn:disabled{opacity:.55;cursor:default}.ava-finding.resolved{display:flex;align-items:center;gap:8px;border-left-color:var(--hairline);opacity:.6}.ava-finding.resolved .ava-finding-title{font-weight:500}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f9f7;color:#0b0b0b}h1,h2,h3,p{margin:0}a{color:inherit}button{font:inherit}input,select,textarea{font:inherit;color:inherit}
