:root{--bg:#f7f4fc;--surface:#fff;--ink:#2b2140;--muted:#5e5575;--line:#e8dff5;--primary:#6d28d9;--primary-soft:#ede4ff;--primary-ink:#fff;--neutral-soft:#eceaf0;--neutral-ink:#3f3a4d;--danger:#9b1c1c;--success:#14612b;--danger-soft:#ffe0e0;--success-soft:#d7f5dd;--shadow:0 2px 8px #2b21401a;--r-card:16px;--r-field:12px;--r-pill:999px;color:var(--ink);font-family:system-ui,sans-serif}body{background:var(--bg);margin:0}.card.wide{max-width:40rem}.card{background:var(--surface);border-radius:var(--r-card);max-width:28rem;box-shadow:var(--shadow);margin:3rem auto;padding:1.5rem}form{gap:.75rem;display:grid}label{gap:.25rem;font-size:.9rem;display:grid}label.inline{align-items:center;gap:.5rem;display:flex}input:not([type=checkbox]){border:1px solid var(--line);border-radius:var(--r-field);padding:.5rem;font-size:1rem}button{border-radius:var(--r-pill);background:var(--primary);color:var(--primary-ink);cursor:pointer;border:0;padding:.55rem .9rem;font-size:1rem;font-weight:700}button:disabled{opacity:.6;cursor:progress}[role=alert]{color:var(--danger);margin:0}code{background:var(--neutral-soft);-webkit-user-select:all;user-select:all;border-radius:.3rem;padding:.15rem .4rem}fieldset{border:1px solid var(--line);border-radius:var(--r-field);gap:.5rem;display:grid}select{padding:.5rem;font-size:1rem}.expense-list{padding:0;list-style:none}.expense-list li{border-bottom:1px solid var(--line);gap:.15rem;padding:.6rem 0;display:grid}.amount{font-variant-numeric:tabular-nums}.pay-actions{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.pay-actions button{background:var(--success);font-size:.85rem}.cochinito-controls{align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.cochinito-list{gap:.75rem;padding:0;list-style:none;display:grid}.cochinito-list>li{border:1px solid var(--line);border-radius:var(--r-field);gap:.35rem;padding:.75rem;display:grid}.cochinito-breakdown{color:var(--muted);margin:0;padding:0;font-size:.9rem;list-style:none}.category-icon{width:2rem;height:2rem;color:var(--category-fg);background:var(--category-bg);border-radius:50%;flex:none;place-items:center;display:inline-grid}.category-badge{align-items:center;gap:.5rem;display:inline-flex}.category-list{padding:0;list-style:none}.category-list>li{border-bottom:1px solid var(--line);gap:.35rem;padding:.6rem 0;display:grid}.color-choices{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.color-swatch{background:var(--category-bg);width:1rem;height:1rem;box-shadow:inset 0 0 0 2px var(--category-fg);border-radius:50%;display:inline-block}.icon-picker{gap:.5rem;display:grid}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.35rem;display:grid}.icon-grid button{place-items:center;padding:.5rem;display:grid}.icon-grid button[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:2px}[data-color]{--category-bg:#eceaf0;--category-fg:#3f3a4d}[data-color=red]{--category-bg:#ffe0e0;--category-fg:#9b1c1c}[data-color=orange]{--category-bg:#ffe8d1;--category-fg:#9a3f00}[data-color=yellow]{--category-bg:#fff1b8;--category-fg:#6b4e00}[data-color=green]{--category-bg:#d7f5dd;--category-fg:#14612b}[data-color=teal]{--category-bg:#d0f3f0;--category-fg:#0b5e58}[data-color=blue]{--category-bg:#dcebff;--category-fg:#1c4e9a}[data-color=purple]{--category-bg:#ebddff;--category-fg:#5b21b6}.expenses-page.card{max-width:none;box-shadow:none;background:0 0;gap:1rem;margin:0 auto;padding:1rem;display:grid}.expenses-page a{font-weight:600}.expenses-page .capture-form,.expenses-page>section{border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);padding:1.25rem}.expenses-page .capture-form{background:var(--primary-soft);color:var(--ink);box-shadow:none}.expenses-page .capture-form input:not([type=checkbox]),.expenses-page .capture-form select{border:2px solid var(--line);border-radius:var(--r-field);color:var(--ink)}.expenses-page .capture-form .amount-field input{border:0;border-bottom:2px solid var(--primary);color:var(--ink);background:0 0;border-radius:0;padding:.2rem 0;font-size:2rem;font-weight:800}.expenses-page .capture-form fieldset{border-color:var(--line)}.expenses-page .capture-form [role=alert]{border-radius:var(--r-field);background:var(--surface);color:var(--danger);padding:.5rem .75rem}.expenses-page .expense-list{gap:.6rem;display:grid}.expenses-page .expense-list li{border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);border:0;padding:.9rem 1rem}.expenses-page .expense-list .amount{font-size:1.15rem;font-weight:800}.expenses-page .category-badge{color:var(--category-fg,var(--neutral-ink));font-weight:600}@media (prefers-reduced-motion:no-preference){.expenses-page .expense-list li{transition:transform .15s}.expenses-page .expense-list li:hover{transform:translateY(-2px)}}.expenses-page .category-chips{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.expenses-page .category-chips legend{margin-bottom:.4rem;padding:0;font-size:.9rem}.expenses-page .category-chip{border-radius:var(--r-pill);background:var(--category-bg);color:var(--category-fg);cursor:pointer;align-items:center;gap:.4rem;padding:.25rem .75rem .25rem .3rem;font-weight:600;display:inline-flex;position:relative}.expenses-page .category-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.expenses-page .category-chip:has(input:checked){outline:3px solid var(--primary);outline-offset:1px}.expenses-page .category-chip:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}.choice-chips{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.choice-chips legend{margin-bottom:.4rem;padding:0;font-size:.9rem}.choice-chip{box-sizing:border-box;border:2px solid var(--line);border-radius:var(--r-pill);background:var(--surface);min-width:2.75rem;min-height:2.25rem;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:center;padding:.25rem .85rem;font-weight:700;display:inline-flex;position:relative}.choice-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice-chip:has(input:checked){border-color:var(--primary);background:var(--primary);color:var(--primary-ink)}.choice-chip:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}.expenses-page .category-chip .category-icon{background:var(--surface);width:1.5rem;height:1.5rem}a{color:var(--primary)}.app-shell{min-height:100vh}.app-content{padding:.5rem .75rem 5.5rem}.app-content>.card{max-width:72rem;margin:0 auto}.app-content>.card.wide:not(.expenses-page){background:var(--surface);box-shadow:var(--shadow);border-radius:var(--r-card)}.app-nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);position:fixed;inset:auto 0 0}.app-nav ul{margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.app-nav li{flex:1 0 auto}.app-nav a,.app-nav button{box-sizing:border-box;width:100%;min-height:3rem;color:var(--muted);text-align:center;white-space:nowrap;background:0 0;border-radius:0;padding:.85rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.app-nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary)}.app-nav a:focus-visible,.app-nav button:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}.app-brand{display:none}@media (width>=56rem){.app-shell{grid-template-columns:15rem 1fr;display:grid}.app-nav{top:0;box-sizing:border-box;border-top:0;border-right:1px solid var(--line);align-self:start;height:100vh;padding:1.5rem 1rem;position:sticky;inset:0 auto auto 0}.app-brand{color:var(--primary);margin:0 0 1.5rem .5rem;font-size:1.15rem;font-weight:800;display:block}.app-nav ul{flex-direction:column;gap:.25rem;overflow:visible}.app-nav a,.app-nav button{border-radius:var(--r-pill);text-align:left;font-size:.95rem}.app-nav li:last-child{margin-top:1.5rem}.app-content{padding:1.5rem 2rem 2rem}}:is(label:has(>input[type=radio]),label:has(>input[type=checkbox])){align-items:center;gap:.5rem;display:flex}select,input:not([type=checkbox]):not([type=radio]){box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-field);background:var(--surface);max-width:100%;color:var(--ink);font:inherit}h1{margin:.25rem 0 .5rem;font-size:1.6rem}h2{margin:0 0 .5rem;font-size:1.15rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.app-content>.card.wide{align-items:start;gap:1rem;display:grid}.app-content>.card.wide>header{grid-column:1/-1}.app-content>.card.wide:not(.expenses-page)>section{border:1px solid var(--line);border-radius:var(--r-card);min-width:0;padding:1.25rem}@media (width>=56rem){.app-content>.card.wide{grid-template-columns:repeat(auto-fit,minmax(24rem,1fr))}.app-content>.card.wide>header{margin-bottom:.5rem}}.app-content>.card.wide>:not(section):not(header):not(form){grid-column:1/-1;min-width:0}.app-content>.card.wide:not(.expenses-page)>form{border:1px solid var(--line);border-radius:var(--r-card);align-content:start;min-width:0;padding:1.25rem}.icon-grid button{background:var(--primary-soft);color:var(--primary)}.icon-grid button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}body>#root>.card:not(.wide){margin:1.5rem 1rem}@media (width>=40rem){body>#root>.card:not(.wide){margin:8vh auto}}.groups-page>.groups-list,.groups-page>.groups-side{min-width:0}.app-content>.card.groups-page>section.groups-list{border:0;padding:0}.group-cards{align-items:start;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.group-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);align-content:start;gap:.9rem;padding:1.25rem;display:grid}.group-card-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.group-card h2{overflow-wrap:anywhere;margin:0;font-size:1.2rem}.group-badge{border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);flex:none;padding:.2rem .7rem;font-size:.8rem;font-weight:700}.group-badge[data-kind=PERSONAL]{background:var(--neutral-soft);color:var(--neutral-ink)}.group-links{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;display:grid}.group-links a{border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);text-align:center;padding:.65rem .75rem;font-weight:700;text-decoration:none}.group-links a:hover{background:var(--primary);color:var(--primary-ink)}.group-card summary{color:var(--muted);cursor:pointer;font-weight:600}.group-detail{gap:.5rem;padding-top:.5rem;display:grid}.group-detail h3{margin:.5rem 0 0;font-size:1rem}.group-detail ul{margin:0}.groups-side{align-content:start;gap:1rem;display:grid}@media (width>=56rem){.app-content>.card.groups-page{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr)}.app-content>.card.groups-page>.groups-list{grid-column:1}.app-content>.card.groups-page>.groups-side{grid-column:2}.group-cards{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}}.groups-side form{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:1.25rem}.app-content>.card.wide>section.debt-account{border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);border:0;padding:0;overflow:hidden}.account-band{background:var(--primary-soft);gap:.35rem;padding:1.25rem;display:grid}.account-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.account-top h2{margin:0;font-size:1.05rem}.status-pill{border-radius:var(--r-pill);background:var(--neutral-soft);color:var(--neutral-ink);flex:none;margin:0;padding:.2rem .7rem;font-size:.8rem;font-weight:700}.account-headline{color:var(--muted);margin:.5rem 0 0;font-weight:600}.account-figure{font-variant-numeric:tabular-nums;margin:0;font-size:2.5rem;font-weight:800;line-height:1.05}.account-figure[data-tone=debe]{color:var(--danger)}.account-figure[data-tone=recibe]{color:var(--success)}.account-sub{color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.account-band form{margin-top:.75rem}.account-body{gap:1rem;padding:.5rem 1.25rem 1.25rem;display:grid}.account-body h3{margin:.5rem 0 0;font-size:1rem}.balances,.statements{margin:0;padding:0;list-style:none}.balance{border-bottom:1px dashed var(--line);align-items:baseline;gap:.6rem;padding:.75rem 0;display:flex}.balance-name{font-weight:700}.balance-verb{border-radius:var(--r-pill);background:var(--neutral-soft);color:var(--neutral-ink);padding:.1rem .6rem;font-size:.8rem;font-weight:700}.balance[data-tone=debe] .balance-verb{background:var(--danger-soft);color:var(--danger)}.balance[data-tone=recibe] .balance-verb{background:var(--success-soft);color:var(--success)}.balance-amount{font-variant-numeric:tabular-nums;margin-left:auto;font-size:1.15rem;font-weight:800}.statements{gap:.75rem;display:grid}.statement{border:1px solid var(--line);border-radius:var(--r-field);padding:.9rem 1rem}.statement-name{margin:0 0 .4rem;font-weight:700}.statement dl{margin:0}.statement-row{justify-content:space-between;gap:1rem;padding:.35rem 0;display:flex}.statement-row dt{color:var(--muted)}.statement-row dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.statement-row.total{border-top:2px solid var(--ink);margin-top:.3rem;padding-top:.55rem}.statement-row.total dt{color:var(--ink);font-weight:700}.statement-row.total dd{font-weight:800}.statement-row.total[data-tone=debe] dd{color:var(--danger)}button.ghost{background:var(--primary-soft);color:var(--primary)}button.danger-ghost{color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger-soft);background:0 0}.method-cards{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.method-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow);gap:.9rem;padding:1.1rem 1.25rem;display:grid}.method-head{flex-wrap:wrap;align-items:center;gap:.5rem .6rem;display:flex}.method-name{overflow-wrap:anywhere;font-size:1.1rem;font-weight:800}.method-type{border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);padding:.15rem .65rem;font-size:.8rem;font-weight:700}.method-status{color:var(--muted);margin-left:auto;font-size:.85rem;font-weight:600}.method-status[data-enabled=true]{color:var(--success)}.method-actions{flex-wrap:wrap;gap:.5rem;display:flex}.method-card [role=alert]{display:block}.app-content .method-permissions{border:1px solid var(--line);border-radius:var(--r-field);background:var(--bg);gap:0;margin:0;padding:.25rem 1rem .5rem;display:grid}.method-permissions>legend{color:var(--muted);padding:0 .35rem;font-size:.85rem;font-weight:700}.app-content .permission-row{border:0;border-bottom:1px dashed var(--line);border-radius:0;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin:0;padding:.7rem 0;display:flex}.permission-row:last-of-type{border-bottom:0}.permission-row>legend{float:left;min-width:8rem;margin-right:auto;padding:0;font-weight:700}.permission-row label{align-items:center;gap:.4rem;min-height:2.25rem;display:inline-flex}.permission-row input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--primary)}.app-content>.card.wide.pot-page{grid-template-columns:minmax(0,1fr);max-width:46rem}.pot-lead{max-width:60ch;color:var(--muted);margin:.25rem 0 0}.pot-num{font-variant-numeric:tabular-nums;font-weight:800}.pot-meta{color:var(--muted);margin:0;font-size:.85rem}.app-content>.card.wide>section.pot-hero{border-radius:var(--r-card);background:var(--primary-soft);border:0;gap:.9rem;padding:1.25rem;display:grid}.pot-hero-label{color:var(--muted);margin:0;font-size:1rem;font-weight:600}.pot-hero-label+.pot-hero-figure{margin-top:-.6rem}.pot-hero-figure{font-variant-numeric:tabular-nums;margin:0;font-size:3rem;font-weight:800;line-height:1}.pot-meter{gap:.35rem;display:grid}.pot-meter-bar{border-radius:var(--r-pill);background:var(--surface);height:10px;overflow:hidden}.pot-meter-bar span{border-radius:var(--r-pill);background:var(--primary);height:100%;display:block}.pot-meter p{color:var(--muted);margin:0;font-size:.85rem}.pot-stats{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.pot-stat{border-radius:var(--r-field);background:var(--surface);gap:.15rem;padding:.75rem .9rem;display:grid}.pot-stat span{color:var(--muted);font-size:.85rem}.pot-stat strong{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.pot-empty{color:var(--muted);margin:0}.pot-form{gap:.9rem;display:grid}.pot-form>.choice-chips>legend{font-weight:700}.pot-preview{border-radius:var(--r-field);background:var(--surface);font-variant-numeric:tabular-nums;margin:0;padding:.6rem .9rem;font-weight:700}.pot-form>button[type=submit]{justify-self:start}.app-content>.card.wide>section.pot-card{background:var(--surface);box-shadow:var(--shadow);border:0;gap:.75rem;display:grid}.pot-card h2{margin:0}.pot-card-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;display:flex}.pot-filter{min-width:14rem}.pot-entries,.pot-timeline,.pot-shares,.pot-coins{margin:0;padding:0;list-style:none}.pot-entry{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;padding:.9rem 0;display:grid}.pot-entry:first-child{border-top:0}.pot-entry-main{gap:.1rem;min-width:0;display:grid}.pot-entry-account{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.pot-entry-amount{justify-items:end;gap:.05rem;display:grid}.pot-label{color:var(--muted);font-size:.75rem;font-weight:600}.pot-entry-amount .pot-num{font-size:1.2rem}.pot-coins{flex-wrap:wrap;grid-column:1/-1;gap:.4rem;display:flex}.pot-coins li{border-radius:var(--r-pill);background:var(--neutral-soft);color:var(--neutral-ink);font-variant-numeric:tabular-nums;padding:.15rem .65rem;font-size:.8rem;font-weight:600}.pot-entry>button,.pot-entry>form{grid-column:1/-1;justify-self:start}.pot-entry>form{border-radius:var(--r-field);background:var(--bg);justify-self:stretch;padding:1rem}.pot-timeline{gap:.75rem;display:grid}.pot-distribution{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.pot-dot{background:var(--success);border-radius:50%;width:10px;height:10px;margin-top:.35rem}.pot-shares li{justify-content:space-between;gap:1rem;padding:.2rem 0;font-weight:600;display:flex}.pot-shares .pot-num{color:var(--success)}.page-lead{color:var(--muted);margin:.25rem 0 0}.app-nav-group{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;display:flex;position:fixed;inset:0 0 auto}.app-nav-group-name{max-width:7rem;color:var(--primary);text-overflow:ellipsis;white-space:nowrap;flex:none;margin:0;padding:0 .5rem 0 .9rem;font-weight:800;overflow:hidden}.app-nav-group ul{flex:1;min-width:0}.app-shell:has(.app-nav-group) .app-content{padding-top:3.75rem}@media (width>=56rem){.app-nav-group{border-radius:var(--r-card);background:var(--bg);border:0;margin:.5rem 0;padding:.6rem .5rem .5rem;display:block;position:static}.app-nav-group-name{max-width:none;color:var(--ink);padding:0 .5rem .4rem;font-size:.95rem}.app-nav-group ul{border-left:2px solid var(--line);margin-left:.6rem;padding-left:.4rem}.app-nav li.app-nav-group li:last-child{margin-top:0}.app-nav-group a{font-size:.9rem}.app-shell:has(.app-nav-group) .app-content{padding-top:1.5rem}}
