.app-shell,.modal,.system-surface{--bg:#f6f5f2;--surface:#fff;--ink:#12163a;--muted:#5c627a;--line:#e8e6e1;--border:var(--line);--card-line:transparent;--accent:#c8381f;--tint:#fdece6;--on-accent:#fff;--success:#0f7b5c;--success-tint:#e1f3ec;--positive-text:#0f7b5c;--danger:#be2f1a;--danger-tint:#fbe7e3;--warning:#8a5a00;--warning-tint:#fbf1d9;--hero:#12163a;--on-hero:#fff;--on-hero-muted:#c5c8dc;--hero-accent:#ffa585;--shadow:0 1px 2px rgba(18,22,58,0.04),0 8px 24px rgba(18,22,58,0.06);--radius:1.25rem;--chart-0:#c8381f;color:var(--ink)}.app-shell.dark,.modal.dark{--bg:#0f1226;--surface:#1a1e38;--ink:#f3f3f8;--muted:#a6abc4;--line:#2b3050;--card-line:#2b3050;--accent:#ff8a5c;--tint:#3a2320;--on-accent:#12163a;--success:#4fd6a8;--success-tint:#15332b;--positive-text:#4fd6a8;--danger:#ff8e7c;--danger-tint:#3c1f1b;--warning:#f2c265;--warning-tint:#352b16;--hero:#20254a;--shadow:none}@media (prefers-color-scheme:dark){.system-surface{--bg:#0f1226;--surface:#1a1e38;--ink:#f3f3f8;--muted:#a6abc4;--line:#2b3050;--card-line:#2b3050;--accent:#ff8a5c;--tint:#3a2320;--on-accent:#12163a;--success:#4fd6a8;--success-tint:#15332b;--danger:#ff8e7c;--danger-tint:#3c1f1b;--warning:#f2c265;--warning-tint:#352b16;--hero:#20254a;--shadow:none}}.app-shell[data-accent=teal],html[data-accent=teal] .modal{--accent:#08776d;--tint:#e0f3f1}.app-shell[data-accent=orange],html[data-accent=orange] .modal{--accent:#a84a05;--tint:#fbefe3}.app-shell.dark[data-accent=teal],html[data-accent=teal] .modal.dark{--accent:#63d8cb;--tint:#153239}.app-shell.dark[data-accent=orange],html[data-accent=orange] .modal.dark{--accent:#ffb774;--tint:#352b16}.tone-coral{--tone-fg:#be2f1a;--tone-bg:#fdece6}.tone-amber{--tone-fg:#8a5a00;--tone-bg:#fbf1d9}.tone-green{--tone-fg:#0f7b5c;--tone-bg:#e1f3ec}.tone-blue{--tone-fg:#2e5bd8;--tone-bg:#e7edfc}.tone-violet{--tone-fg:#6b3fc4;--tone-bg:#efe9fb}.tone-pink{--tone-fg:#b8327a;--tone-bg:#fbe8f2}.tone-teal{--tone-fg:#0b7285;--tone-bg:#e0f3f6}.tone-slate{--tone-fg:#4a5170;--tone-bg:#ecedf2}.dark .tone-coral{--tone-fg:#ff8a5c;--tone-bg:#3a2320}.dark .tone-amber{--tone-fg:#f2c265;--tone-bg:#352b16}.dark .tone-green{--tone-fg:#4fd6a8;--tone-bg:#15332b}.dark .tone-blue{--tone-fg:#8faaff;--tone-bg:#1e2a4d}.dark .tone-violet{--tone-fg:#bba1ff;--tone-bg:#2a2147}.dark .tone-pink{--tone-fg:#ff9dcb;--tone-bg:#3a1f30}.dark .tone-teal{--tone-fg:#6ad4e6;--tone-bg:#153239}.dark .tone-slate{--tone-fg:#b4b9d0;--tone-bg:#262a44}@media (prefers-color-scheme:dark){.system-surface .tone-coral{--tone-fg:#ff8a5c;--tone-bg:#3a2320}.system-surface .tone-amber{--tone-fg:#f2c265;--tone-bg:#352b16}.system-surface .tone-green{--tone-fg:#4fd6a8;--tone-bg:#15332b}.system-surface .tone-blue{--tone-fg:#8faaff;--tone-bg:#1e2a4d}.system-surface .tone-violet{--tone-fg:#bba1ff;--tone-bg:#2a2147}}html{background:#f6f5f2;color-scheme:light}html[data-theme=dark]{background:#0f1226;color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-theme]){background:#0f1226;color-scheme:dark}}body{background:transparent}.app-shell,.system-surface{background:var(--bg);color:var(--ink);font-size:1rem}.app-shell :focus-visible,.modal :focus-visible,.system-surface :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell small,.modal small,.system-surface small{font-size:.875rem}.app-shell :is(.small,.muted.small,.help-note,.section-heading p,.import-guide p,.modal label,.forecast-warning){font-size:.875rem}.app-shell :is(.eyebrow,.nav-label,.hero-top,.currency-badge,.retained-pill,.snapshot-heading,.snapshot-heading .muted,.metric-label,.snapshot-values small,.budget-summary b,.budget-summary small,.chart-tabs button,.chart-summary span,.chart-caption,.spend-total span,.breakdown-name b,.breakdown-amount b,.breakdown-amount small,.breakdown-link,.balance-hero p,.spendable-label,.budget-pace small,.chart-data-table,.legend,.stat-card small,.stat-card>div,.spending-calendar>b,.calendar-cell span,.calendar-cell small,.period-control,.workspace-switch select,.workspace-avatar,.nav-count,.avatar,.breadcrumb,.finance-row-actions .button){font-size:.8125rem}.app-shell .eyebrow{letter-spacing:.08em;font-weight:700}.app-shell details>summary{font-size:.9375rem;font-weight:600;cursor:pointer}.app-shell .forecast-warning{font-size:.875rem!important}.modal .help-note,.modal label,.modal small{font-size:.875rem}:lang(hi) :is(h1,h2,h3,.hero-state,.hero-amount,.wordmark){letter-spacing:0}:lang(hi) .hero-state,:lang(hi) h1{line-height:1.3}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.accent-text,.button.ghost.accent-text{color:var(--accent)}.wordmark{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.wordmark .brand-logo{width:1.75rem;height:1.75rem;border-radius:.5rem;flex:none}.icon-badge{display:inline-flex;flex:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;color:var(--tone-fg);background:var(--tone-bg)}.icon-badge svg{width:50%;height:50%}.person-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:0;border-radius:50%;color:var(--accent);background:var(--tint);font-size:.9375rem;font-weight:700}button.person-avatar{width:2.75rem;height:2.75rem;cursor:pointer}.person-avatar.large{width:5rem;height:5rem;color:var(--on-hero);background:var(--hero);font-size:1.75rem}.app-shell .icon-button,.modal .icon-button,.system-surface .icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;border:0;border-radius:.75rem;color:var(--ink);background:transparent;cursor:pointer}.icon-button:hover:not(:disabled){background:var(--tint)}.icon-button:disabled{opacity:.35;cursor:default}.app-shell .button,.modal .button,.system-surface .button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.625rem 1.25rem;border:0;border-radius:.875rem;font-size:1rem;font-weight:600;line-height:1.25;white-space:normal;text-align:center;cursor:pointer;transition:none}.app-shell .button:disabled,.modal .button:disabled,.system-surface .button:disabled{opacity:.55;cursor:default}.app-shell .primary,.dark .primary,.modal .primary,.system-surface .primary{color:var(--on-accent);background:var(--accent)}.app-shell .primary:hover:not(:disabled),.modal .primary:hover:not(:disabled),.system-surface .primary:hover:not(:disabled){color:var(--on-accent);background:var(--accent);filter:brightness(.92)}.app-shell .button.secondary,.modal .button.secondary,.system-surface .button.secondary{color:var(--accent);background:var(--tint)}.app-shell .button.outline,.app-shell.dark .button.outline,.modal .button.outline,.modal.dark .button.outline,.system-surface .button.outline{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.app-shell .button.outline:hover:not(:disabled),.app-shell.dark .button.outline:hover:not(:disabled),.modal .button.outline:hover:not(:disabled),.modal.dark .button.outline:hover:not(:disabled){color:var(--ink);background:var(--tint)}.button.outline:not(:focus-visible){outline:none}.app-shell .button.ghost,.modal .button.ghost,.system-surface .button.ghost{color:var(--ink);background:transparent}.app-shell .button.ghost.accent-text,.system-surface .button.ghost.accent-text{color:var(--accent)}.app-shell .button.danger,.modal .button.danger{color:var(--danger);background:var(--danger-tint)}.app-shell .finance-row-actions .button{min-height:2.5rem;padding:.375rem .75rem;font-size:.875rem}.app-shell .text-link{display:inline-flex;align-items:center;gap:.25rem;min-height:2.75rem;border:0;color:var(--accent);background:none;font-size:.9375rem;font-weight:600;cursor:pointer}.app-shell :is(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea),.modal :is(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea),.system-surface :is(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea){min-height:3rem;max-width:100%;padding:.625rem .875rem;border:1px solid var(--line);border-radius:.875rem;color:var(--ink);background:var(--surface);font-size:1rem}.modal label,.onboarding-step label,.profile-name label,.row-panel label{display:grid;gap:.375rem;font-weight:600;font-size:.875rem}.onboarding-step label input,.profile-name label input,.row-panel label input,.row-panel label select,progress{width:100%}progress{height:.5rem;overflow:hidden;border:0;border-radius:.25rem;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.sidebar{overflow-y:auto;width:min(15rem,30vw);padding:1.5rem .875rem;color:var(--ink);background:var(--surface);border-right:1px solid var(--line)}.sidebar .brand{display:block;padding:0 .5rem;margin-bottom:1.5rem;font-size:inherit}.sidebar nav{display:grid;gap:.25rem}.sidebar nav button{display:flex;align-items:center;gap:.75rem;width:100%;min-height:3rem;padding:.5rem .75rem;border:0;border-radius:.75rem;color:var(--muted);background:transparent;font-size:1rem;font-weight:500;text-align:left}.sidebar nav button:hover{color:var(--ink);background:var(--bg)}.sidebar nav button.active{color:var(--accent);background:var(--tint);font-weight:600}.nav-title{flex:1;min-width:0;overflow-wrap:break-word}.nav-count{padding:.0625rem .5rem;border-radius:999px;color:inherit;background:transparent}.sidebar-bottom{margin-top:auto;padding-top:1rem}.workspace-switch{margin:0 0 1rem;color:var(--ink);background:var(--bg);border-radius:.875rem}.workspace-switch select{min-height:2.5rem;border:0;background:transparent}.workspace-avatar{color:var(--accent);background:var(--tint)}.user-row{gap:.25rem;padding:.75rem 0 0;color:var(--ink);background:transparent;border-top:1px solid var(--line)}.user-row,.user-row-link{display:flex;align-items:center}.user-row-link{flex:1;gap:.625rem;min-width:0;padding:.25rem;border:0;border-radius:.75rem;color:inherit;background:none;font:inherit;text-align:left;cursor:pointer}.user-row-link:hover{background:var(--bg)}.user-row-link>span:last-child{min-width:0}.user-row-link b,.user-row-link small{display:block;overflow-wrap:break-word}.user-row-link b{font-size:.875rem;font-weight:600}.user-row-link small{color:var(--muted);font-size:.8125rem}.main-area{margin-left:min(15rem,30vw);min-width:0}.topbar{flex-wrap:wrap;justify-content:space-between;gap:.75rem;height:auto;min-height:4rem;padding:.5rem 2rem;background:var(--bg);border-bottom:0}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:.25rem;margin-left:auto}.breadcrumb{color:var(--muted);font-size:.875rem}.desktop-breadcrumb b{color:var(--ink)}.mobile-wordmark{display:none}.workspace-main{width:100%;max-width:74rem;margin:0 auto;padding:.5rem 2rem 3rem}.page-heading{display:flex;flex-flow:row wrap;align-items:flex-start;gap:.5rem .75rem;margin-bottom:1.5rem}.page-title{flex:1 1 10rem;min-width:0}.page-heading h1{margin:0;color:var(--ink);font-size:clamp(1.75rem,1.4rem + 1.1vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;overflow-wrap:break-word}.page-heading p{max-width:42rem;margin:.25rem 0 0;color:var(--muted);font-size:1rem;line-height:1.45}.page-back{flex:none;margin-left:-.5rem}.peer-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.chart-shortcut{padding:.5rem}.finance-hub{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.mobile-nav{color:var(--muted);background:var(--surface);border-top:1px solid var(--line)}.mobile-nav button{color:var(--muted);background:transparent}.mobile-nav button.active{color:var(--accent);background:transparent;font-weight:600}.dark .panel,.panel{color:var(--ink)}.dark .finance-section,.dark .panel,.finance-section,.panel{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--radius);box-shadow:var(--shadow)}.dark .finance-section,.finance-section{padding:1.25rem}.finance-section>.section-heading{margin-bottom:.75rem}.section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem}.section-heading h2{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.finance-row{border-color:var(--line)}.finance-notice,.notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem;padding:.75rem 1rem;border:0;border-radius:.875rem;color:var(--ink);background:var(--tint)}.finance-notice button{min-width:2.75rem;min-height:2.75rem;border:0;color:inherit;background:none}.finance-error{color:var(--danger)}.finance-error p{color:var(--ink)}.category-pill{display:inline-block;padding:.125rem .625rem;border-radius:999px;color:var(--muted);background:var(--bg);font-size:.8125rem}.row-text{display:flex;flex:1 1 7rem;flex-direction:column;gap:.125rem;min-width:0;overflow-wrap:anywhere}.row-text b{font-size:1rem;font-weight:600;overflow-wrap:break-word}.row-text small{color:var(--muted);font-size:.875rem;line-height:1.35}.row-chevron{flex:none;margin-left:auto;color:var(--muted)}.goal-card,.link-row,.month-card,.profile-card,.stat-tile,.tile{width:100%;border:1px solid var(--card-line);border-radius:var(--radius);color:var(--ink);background:var(--surface);box-shadow:var(--shadow);font:inherit;text-align:left}:is(.link-row,.tile,.profile-card,.goal-card,.month-card){cursor:pointer}:is(.link-row,.tile,.profile-card,.goal-card,.month-card,button.row,.group-picker button):hover:not(:disabled){background:var(--tint)}.link-row{gap:.875rem;min-height:4.5rem;padding:1rem}.link-row,.row{display:flex;flex-wrap:wrap;align-items:center}.row{gap:.75rem;width:100%;min-height:3.5rem;padding:.75rem 1rem;border:0;color:inherit;background:none;font:inherit;text-align:left}button.row{cursor:pointer}.row-value{flex:none;margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}.finance-section>.row{padding-inline:0;border-top:1px solid var(--line)}.finance-section>.section-heading+.row{border-top:0}.row-group{min-width:0}.row-group-title{margin:0 0 .5rem .25rem;color:var(--muted);font-size:.875rem;font-weight:700}.row-card{overflow:hidden;border:1px solid var(--card-line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.row-card>*+*{border-top:1px solid var(--line)}.row-group-footer{margin:.5rem .25rem 0;color:var(--muted);font-size:.875rem;line-height:1.45}.row-panel{display:grid;gap:.875rem;padding:1rem}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:.75rem}.tile{display:flex;flex-direction:column;gap:.75rem;min-height:7.5rem;padding:1rem}.tile .row-text{flex:none}.today-sections{gap:1rem}.today-sections>*{min-width:0}.today-forecast,.today-wide{grid-column:1/-1}.today-forecast{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:1rem}.hero-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:1.5rem 1.5rem 1.75rem;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;color:var(--on-hero);background:var(--hero)}.hero-eyebrow{color:var(--hero-accent);font-size:.75rem;font-weight:700;letter-spacing:.08em}.hero-amount{font-size:2.5rem;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.hero-amount,.hero-state{letter-spacing:-.02em;overflow-wrap:break-word}.hero-state{font-size:2rem;font-weight:700;line-height:1.2}.hero-caption{color:var(--on-hero);font-weight:600}.hero-note{display:flex;gap:.375rem;margin:.25rem 0 0;color:var(--on-hero-muted);font-size:.875rem;line-height:1.45}.hero-note svg{flex:none;margin-top:.125rem}.hero-card .forecast-warning{color:var(--on-hero-muted);background:transparent;border:0;padding:0}.hero-link{display:inline-flex;align-items:center;gap:.25rem;min-height:2.75rem;padding:.25rem 0;border:0;color:var(--hero-accent);background:none;font:inherit;font-weight:600;text-align:left;cursor:pointer}.hero-card :focus-visible{outline-color:var(--on-hero)}.hero-card .finance-loading{color:var(--on-hero-muted)}.hero-card .finance-error{color:var(--on-hero)}.hero-card .finance-error p{color:var(--on-hero-muted)}.hero-card .button.outline{color:var(--on-hero);background:transparent;border-color:var(--on-hero-muted)}.receipt-edge{position:absolute;right:0;bottom:0;left:0;height:.5rem;background:radial-gradient(circle at .5rem 100%,var(--bg) .4375rem,transparent .46875rem) 0 0 /1rem .5rem repeat-x}.month-card{display:grid;gap:.875rem;padding:1.25rem}.month-card-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem}.month-card-top b{font-size:1.125rem;font-weight:700}.month-card-top span{color:var(--muted);font-size:.875rem}.month-card-totals{display:flex;flex-wrap:wrap;gap:1rem}.month-card-totals>span{display:grid;flex:1 1 8rem;gap:.125rem;min-width:0}.month-card-totals small{color:var(--muted);font-size:.875rem}.month-card-totals strong{font-size:1.375rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.month-card .income{color:var(--success)}.spend-bar{display:flex;gap:.1875rem;height:.5rem;overflow:hidden;border-radius:.25rem}.spend-bar i{display:block;flex-basis:0;background:var(--tone-fg)}.spend-key{display:grid;gap:.375rem}.spend-key>span{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem}.spend-key i{flex:none;width:.5625rem;height:.5625rem;border-radius:50%;background:var(--tone-fg)}.spend-key span span:first-of-type{flex:1 1 6rem;min-width:0;overflow-wrap:break-word}.spend-key .money-value{color:var(--muted);font-variant-numeric:tabular-nums}.goal-card{display:grid;gap:.5rem;padding:1.25rem}.goal-card-top{display:flex;align-items:center;gap:.75rem}.goal-card-top b{flex:1;min-width:0;font-size:1.125rem;font-weight:700;overflow-wrap:break-word}.goal-card .money-value{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums}.goal-card .money-value .muted{font-size:.875rem;font-weight:400}.hide-amounts .hero-amount{filter:blur(.6rem);user-select:none}.activity-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.75rem;margin-bottom:1rem}.stat-tile{display:grid;gap:.25rem;padding:1rem}.stat-tile small{color:var(--muted);font-size:.875rem}.stat-tile b{font-size:1.375rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:break-word}.stat-tile .income{color:var(--success)}.activity-tools{display:flex;flex-wrap:wrap;gap:.5rem}.app-shell .activity-tools .button{min-height:2.5rem;padding:.375rem .875rem;border-radius:999px;font-size:.875rem}.period-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:1rem}.period-control{display:inline-flex;align-items:center;gap:.25rem;border-radius:.875rem;color:var(--ink);background:var(--surface);border:1px solid var(--card-line);box-shadow:var(--shadow);font-weight:600}.app-shell .period-control{font-size:.9375rem}.period-control button{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;border:0;color:inherit;background:none;cursor:pointer}.transaction-panel .section-heading{padding:0;border:0}.transaction-panel{container:transactions/inline-size;display:grid;gap:.75rem;min-width:0;margin-top:1.25rem;padding:0;background:transparent;border:0;box-shadow:none}.table-toolbar{flex-wrap:wrap;justify-content:space-between;gap:.5rem .75rem;padding:0}.search-field,.table-toolbar{display:flex;align-items:center}.search-field{position:relative;flex:1 1 14rem;min-width:0;color:var(--muted)}.search-field svg{position:absolute;left:.875rem;pointer-events:none}.app-shell .search-field input{width:100%;padding-left:2.625rem}.transaction-panel .table-scroll{overflow-x:auto;border:1px solid var(--card-line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.transaction-table{width:100%;min-width:0;border-collapse:collapse}.transaction-panel .transaction-table th{padding:.625rem 1rem;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-align:left}.transaction-panel .transaction-table th.align-right{text-align:right}.transaction-panel .day-row th{padding:.5rem 1rem;border-top:1px solid var(--line);color:var(--muted);background:var(--bg);font-size:.875rem;font-weight:600;letter-spacing:0;text-transform:none}.transaction-panel .transaction-row td{padding:.75rem 1rem;border-top:1px solid var(--line);color:var(--ink);font-size:.9375rem;vertical-align:middle;white-space:normal}.merchant{display:flex;align-items:center;gap:.75rem}.merchant,.merchant>div{min-width:0}.merchant b{font-size:1rem;font-weight:600;overflow-wrap:break-word}.app-shell .merchant small{display:block;color:var(--muted);font-size:.8125rem;overflow-wrap:break-word}.transaction-panel .transaction-row .amount{color:var(--ink);font-size:1rem;font-weight:600;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.transaction-panel .transaction-row .amount.income{color:var(--success)}.transaction-panel .transaction-row .transaction-actions{text-align:right;white-space:nowrap}.transaction-actions .icon-button{min-width:2.25rem;min-height:2.25rem}@container transactions (max-width: 46rem){.transaction-panel .transaction-table thead{display:none}.day-row,.transaction-panel .day-row th,.transaction-table,.transaction-table tbody{display:block}.transaction-panel .transaction-row{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.75rem 1rem;border-top:1px solid var(--line)}.transaction-panel .transaction-row td{display:block;padding:0;border:0}.transaction-panel .transaction-row .transaction-main{order:1;flex:1 1 9rem;min-width:0}.transaction-panel .transaction-row .amount{order:2;margin-left:auto}.transaction-panel .transaction-row .transaction-category{order:3;flex:1 1 auto;padding-left:3.25rem}.transaction-panel .transaction-row .transaction-actions{order:4;margin-left:auto}.transaction-actions .icon-button{min-width:2.5rem;min-height:2.5rem}}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem}.more-page,.plan-page,.profile-page,.settings-form,.settings-page{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;min-width:0;max-width:48rem}.profile-card{flex-wrap:wrap}.plan-banner,.profile-card{display:flex;align-items:center;gap:.875rem;padding:1rem}.plan-banner{width:100%;min-height:4rem;border:0;border-radius:var(--radius);color:var(--on-hero);background:var(--hero);font:inherit;text-align:left;cursor:pointer}.plan-banner>svg:first-child{flex:none;color:var(--hero-accent)}.plan-banner>svg:last-child{flex:none;color:var(--on-hero-muted)}.plan-banner span{display:grid;flex:1;min-width:0}.plan-banner b{font-weight:600;overflow-wrap:break-word}.plan-banner small{color:var(--on-hero-muted);font-size:.875rem}.plan-banner :focus-visible,.plan-banner:focus-visible{outline-color:var(--accent)}@media (min-width:681px){.mobile-workspace-panel{display:none}}.home-order{margin:0;padding:0;list-style:none}.home-order li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;border:0;border-top:1px solid var(--line)}.home-order li:first-child{border-top:0}.home-order li .icon-badge{flex:none}.home-order li span:not(.icon-badge){flex:1 1 7rem;min-width:0;overflow-wrap:break-word}.app-shell .home-order .button{min-width:2.75rem;min-height:2.75rem;padding:.25rem}.segmented{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:.875rem;background:var(--bg)}.row-panel .segmented label{position:relative;display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:2.75rem;padding:.25rem .75rem;border-radius:.625rem;color:var(--muted);font-size:.9375rem;font-weight:600;text-align:center;cursor:pointer}.row-panel .segmented label.on{color:var(--ink);background:var(--surface);box-shadow:0 1px 2px rgba(18,22,58,.12)}.dark .row-panel .segmented label.on{outline:1px solid var(--line)}.accent-chips input,.segmented input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.accent-chips label:focus-within,.segmented label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.accent-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr));gap:.5rem}.row-panel .accent-chips label{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.375rem .625rem;border:1px solid var(--line);border-radius:.875rem;font-size:.9375rem}.row-panel .accent-chips label.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.accent-chips i{flex:none;width:1.125rem;height:1.125rem;border-radius:50%}[data-accent-chip=blue] i{background:#c8381f}[data-accent-chip=teal] i{background:#08776d}[data-accent-chip=orange] i{background:#a84a05}.dark [data-accent-chip=blue] i{background:#ff8a5c}.dark [data-accent-chip=teal] i{background:#63d8cb}.dark [data-accent-chip=orange] i{background:#ffb774}.toggle-row{position:relative;cursor:pointer}.toggle-row input{position:absolute;width:1px;height:1px;opacity:0}.switch{position:relative;flex:none;width:3rem;height:1.75rem;border-radius:999px;background:var(--muted);transition:background-color .15s}.switch:after{position:absolute;top:.1875rem;left:.1875rem;width:1.375rem;height:1.375rem;border-radius:50%;background:#fff;content:"";transition:transform .15s}.toggle-row input:checked+.switch{background:var(--accent)}.toggle-row input:checked+.switch:after{transform:translateX(1.25rem)}.toggle-row input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.toggle-row input:disabled+.switch{opacity:.55}.profile-hero{display:grid;justify-items:center;gap:.75rem;text-align:center}.profile-hero h2{margin:0;font-size:1.5rem;font-weight:700;overflow-wrap:break-word}.profile-name{display:grid;gap:.75rem;padding:1.25rem}.row-details summary{cursor:pointer;list-style:none}.row-details summary::-webkit-details-marker{display:none}.row-details-body{padding:1rem;border-top:1px solid var(--line)}.row-details-body .panel{padding:0;border:0;box-shadow:none}.profile-actions{display:flex;flex-wrap:wrap;gap:.625rem}.profile-actions .button{flex:1 1 12rem}.peer-hub{gap:1.25rem;max-width:48rem}.peer-hub,.peer-list{display:grid;grid-template-columns:minmax(0,1fr)}.peer-list{gap:.5rem;min-width:0}.finance-empty{justify-items:center;gap:.5rem;margin:0;padding:1.5rem 1rem;border-radius:var(--radius);color:var(--muted);text-align:center}.finance-empty,.group-picker{display:grid;background:var(--surface);box-shadow:var(--shadow)}.group-picker{overflow:hidden;border:1px solid var(--card-line);border-radius:var(--radius)}.group-picker:empty{display:none}.group-picker button{display:flex;align-items:center;gap:.75rem;width:100%;min-height:4rem;padding:.75rem 1rem;border:0;border-top:1px solid var(--line);border-radius:0;color:var(--ink);background:transparent;font:inherit;text-align:left;cursor:pointer}.group-picker button:first-child{border-top:0}.group-picker button>span:nth-of-type(2){flex:1;min-width:0}.group-picker b{display:block;font-weight:600;overflow-wrap:break-word}.group-picker small{color:var(--muted)}.peer-actions{display:flex;flex-wrap:wrap;gap:.625rem}.peer-actions .button{flex:1 1 12rem}.peer-welcome{background:var(--surface)}.peer-add-link{min-height:2.75rem}.loading-screen.system-surface,.setup.system-surface{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;min-height:100dvh;padding:2rem 1.25rem;color:var(--ink);text-align:center}.setup.system-surface h1{margin:0;font-size:1.75rem;font-weight:700}.setup.system-surface p{margin:0;color:var(--muted)}.setup.system-surface .button{width:min(100%,22rem)}.setup.system-surface form{display:grid;gap:.75rem;width:min(100%,22rem)}.auth-page.system-surface{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh}.system-surface .auth-story{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:3rem;color:var(--on-hero);background:var(--hero)}.auth-story-art{display:block;width:min(100%,22rem)}.auth-story-art .receipt-edge{--bg:var(--hero)}.auth-story-title{margin:.5rem 0 0;font-size:clamp(1.75rem,1.2rem + 1.5vw,2.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}.auth-story-body{margin:0;color:var(--on-hero-muted);font-size:1.0625rem}.system-surface .auth-form{display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;color:var(--ink);background:var(--bg)}.system-surface .auth-form-inner{display:grid;gap:.875rem;width:min(100%,26rem);max-width:26rem}.system-surface .auth-form h1{margin:.5rem 0 0;font-size:1.875rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.system-surface .auth-form p{margin:0;font-size:1rem;line-height:1.45}.system-surface .auth-form .notice{font-size:.9375rem}.system-surface .auth-form form{display:grid;gap:.875rem;margin:.25rem 0 0}.system-surface .auth-form label{display:grid;gap:.375rem;color:var(--ink);font-size:.875rem;font-weight:600}.system-surface .auth-form input{width:100%}.system-surface .auth-form .muted{color:var(--muted)}.password-field{position:relative;display:block}.system-surface .password-field input{padding-right:3.25rem}.password-field .icon-button{position:absolute;top:50%;right:.125rem;transform:translateY(-50%)}.demo-entry{display:grid;gap:.375rem;margin:0}.demo-entry small,.divider-text{color:var(--muted)}.divider-text{font-size:.875rem;text-align:center}.social-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.625rem}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem}.system-surface .auth-links button{min-height:2.75rem;padding:0;border:0;color:var(--accent);background:none;font:inherit;font-size:.9375rem;font-weight:600;text-align:left;cursor:pointer}.welcome{display:flex;flex-direction:column;align-items:center;min-height:100dvh}.welcome>*{width:min(100%,32rem)}.welcome-brand{padding:1.25rem 1.5rem 0;text-align:center}.welcome-pages{display:flex;flex:1;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.welcome-pages::-webkit-scrollbar{display:none}.welcome-page{display:flex;flex:0 0 100%;flex-direction:column;justify-content:center;gap:1.5rem;min-width:0;padding:1rem 1.5rem;scroll-snap-align:start}.welcome-art{display:grid;place-items:center;min-height:16rem;padding:1.5rem;border-radius:1.5rem;background:var(--tint)}.welcome-art .receipt-edge{--bg:var(--tint)}.welcome-copy{text-align:center}.welcome-copy h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.welcome-copy p{margin:0;color:var(--muted);font-size:1.0625rem;line-height:1.45}.welcome-actions{display:grid;gap:.625rem;padding:.5rem 1.5rem calc(1.25rem + env(safe-area-inset-bottom))}.welcome-actions>p{margin:0;color:var(--muted);font-size:.875rem;text-align:center}.welcome-pager{display:flex;align-items:center;gap:.75rem}.step-bar{display:flex;flex:1;gap:.375rem}.step-bar i{display:block;flex:1;height:.3125rem;border-radius:.25rem;background:var(--line)}.step-bar i.on{background:var(--accent)}.art-bars{display:grid;flex:1;gap:.375rem}.art-bars i{display:block;height:.5rem;border-radius:.25rem;background:var(--line)}.art-bars i.strong{background:var(--ink);opacity:.85}.art-receipt{position:relative;padding:1rem 1rem 1.5rem;border-radius:.75rem .75rem 0 0;color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.art-group,.art-receipt{display:grid;gap:.875rem;width:100%;max-width:16rem}.art-receipt-row{display:flex;align-items:center;gap:.75rem}.art-plan{display:grid;gap:.75rem;width:100%;max-width:18rem;padding:1.25rem;border-radius:1.25rem;color:var(--on-hero);background:var(--hero)}.art-plan-top{display:flex;align-items:center;justify-content:space-between;color:var(--hero-accent)}.art-plan-top i{display:block;width:40%;height:.5rem;border-radius:.25rem;background:var(--hero-accent)}.art-plan-amount{display:block;width:70%;height:1.25rem;border-radius:.375rem;background:var(--on-hero)}.art-track{display:block;height:.5rem;overflow:hidden;border-radius:.25rem;background:rgba(255,255,255,.18)}.art-track i{display:block;height:100%;background:var(--hero-accent)}.art-group{justify-items:center}.art-people{display:flex}.art-people i{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-left:-.625rem;border:3px solid var(--tint);border-radius:50%;color:#fff}.art-people i:first-child{margin-left:0}.art-people .ink{background:var(--hero)}.art-people .accent{background:var(--accent)}.art-people .success{background:var(--success)}.art-settled{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border-radius:1rem;background:var(--surface);box-shadow:var(--shadow)}.auth-story-art .art-receipt{max-width:none}.onboarding,.paywall{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;width:100%;max-width:34rem;margin:0 auto}.onboarding-top{display:flex;align-items:center;gap:.75rem}.onboarding-top .icon-button{flex:none;margin-left:-.5rem}.app-shell .button.onboarding-skip{flex:none;min-height:2.75rem;padding:.25rem .5rem}.onboarding-step{display:grid;gap:1rem}.onboarding-step h1,.paywall-intro h1{margin:0;color:var(--ink);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;overflow-wrap:break-word}.onboarding-step .muted{margin:0;line-height:1.45}.mode-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9.5rem,40%)),1fr));gap:.75rem}.mode-tile,.onboarding-step label.mode-tile{position:relative;display:grid;gap:.75rem;padding:1rem;border:2px solid var(--card-line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-size:1rem;cursor:pointer}.onboarding-step label.mode-tile.on{border-color:var(--accent);background:var(--tint)}.mode-tile input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.mode-tile b{font-weight:600;overflow-wrap:break-word}.mode-tile:focus-within{outline:2px solid var(--accent);outline-offset:2px}.tinted-note{margin:0;padding:.875rem 1rem;border-radius:.875rem;color:var(--ink);background:var(--tint);line-height:1.45}.onboarding-done{display:grid;justify-items:center;gap:.5rem;text-align:center}.done-mark{display:grid;place-items:center;width:5rem;height:5rem;border-radius:50%;color:var(--success);background:var(--success-tint)}.paywall-close{position:absolute;top:0;right:0;z-index:1}.app-shell .icon-button.surface-button{border-radius:50%;background:var(--surface);box-shadow:var(--shadow)}.paywall-intro{display:grid;justify-items:center;gap:.5rem;padding:.5rem clamp(0rem,8vw - 1rem,2.75rem) 0;text-align:center}.paywall-intro img{width:4rem;height:4rem;border-radius:1rem}.paywall-intro p{margin:0;color:var(--muted);line-height:1.45}.paywall-body{display:grid;gap:1.25rem}.plan-options{display:grid;gap:.625rem}.plan-option{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-height:3.5rem;padding:.875rem 1rem;border:2px solid var(--line);border-radius:1rem;background:var(--surface);cursor:pointer}.plan-option.on{border-color:var(--accent);background:var(--tint)}.plan-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.plan-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}.plan-radio{flex:none;width:1.25rem;height:1.25rem;border:2px solid var(--muted);border-radius:50%}.plan-option.on .plan-radio{border:.375rem solid var(--accent)}.plan-option-name{display:grid;flex:1 1 6rem;min-width:0}.plan-option-name b{font-weight:600;overflow-wrap:break-word}.plan-option-name small{color:var(--success)}.plan-price{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}.plan-benefits h2{margin:0 0 .625rem;font-size:1.125rem;font-weight:700}.plan-benefits ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.plan-benefits li{display:flex;gap:.5rem;line-height:1.4}.plan-benefits svg{flex:none;color:var(--success)}.paywall-footer{display:grid;gap:.625rem;text-align:center}.paywall-footer p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.45}.paywall-footer .text-link{justify-self:center;border:0;background:none;font:inherit;font-weight:600;cursor:pointer}.modal{color:var(--ink);background:var(--surface);border:1px solid var(--card-line);border-radius:1.5rem}.modal h2{color:var(--ink);font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.modal>p{color:var(--muted);font-size:.9375rem}@media (max-width:900px){.auth-page.system-surface{grid-template-columns:minmax(0,1fr)}.system-surface .auth-story{display:none}.today-forecast{grid-template-columns:minmax(0,1fr)}}@media (max-width:680px){.mobile-wordmark{display:block;font-size:inherit;letter-spacing:0}.main-area{margin-left:0}.app-shell .icon-button.theme-toggle{display:none}.topbar{min-height:3.5rem;padding:.375rem 1rem}.workspace-main{padding:.5rem 1rem calc(10rem + env(safe-area-inset-bottom))}.page-heading{flex-direction:row;align-items:flex-start;gap:.25rem .5rem;margin-bottom:1.25rem}.page-heading h1{font-size:1.75rem}.page-heading p{font-size:.9375rem}.peer-header-actions{flex:1 1 100%;width:100%}.peer-header-actions:not(:has(>:not(.add-transaction))){display:contents}.app-shell .page-heading .button{width:auto;flex:0 1 auto}.app-shell .page-heading .button.add-transaction{position:fixed;right:1rem;bottom:calc(5.75rem + env(safe-area-inset-bottom));z-index:30;width:3.5rem;height:3.5rem;min-height:0;padding:0;border-radius:50%;box-shadow:0 8px 20px rgba(18,22,58,.28)}.add-transaction-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mobile-nav{min-height:4.5rem;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1875rem;min-height:3.5rem;font-size:min(.75rem,3.4vw);line-height:1.1;overflow-wrap:break-word}.focus-view .mobile-nav,.focus-view .topbar{display:none}.focus-view .workspace-main{padding:1rem 1rem 2rem}.today-sections{grid-template-columns:minmax(0,1fr)}.hero-amount{font-size:2.25rem}.table-toolbar{padding:0}.modal{top:auto;right:0;bottom:0;left:0;width:100%;max-width:none;max-height:92dvh;margin:0;overflow-y:auto;border-width:1px 0 0;border-radius:1.5rem 1.5rem 0 0;transform:none}}@media (prefers-reduced-motion:reduce){.app-shell *,.modal *,.system-surface *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.public-page{max-width:720px;margin:0 auto;padding:32px 20px 48px;color:var(--ink);font-size:16px;line-height:1.6}.public-page main{margin-top:32px}.public-page h1{font-size:32px;line-height:1.2;margin:0 0 12px}.public-page h2{font-size:20px;line-height:1.3;margin:32px 0 8px}.public-page p,.public-page ul{margin:0 0 12px}.public-page ul{padding-left:22px}.public-page li{margin-bottom:8px}.public-page footer a,.public-page main a{color:var(--accent);text-decoration:underline}.public-page .public-date{color:var(--muted)}.public-page a.public-action{display:inline-block;padding:12px 18px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none}.public-page footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}.public-page footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}