:root{--ink:#14211d;--ink-2:#4a5a54;--muted:#74827c;--bg:#f4f2ec;--surface:#fff;--line:#e3e0d6;--brand:#0f2a24;--brand-2:#1d5c4c;--gold:#e9c46a;--good:#1d7a55;--good-bg:#e6f3ec;--warn:#9a6400;--warn-bg:#fdf3dc;--bad:#b3261e;--bad-bg:#fbe9e7;--radius:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1{letter-spacing:-.02em;margin:0;font-size:1.6rem}h2{margin:0 0 .75rem;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{place-items:center;min-height:60vh;display:grid}.brand{letter-spacing:-.01em;align-items:center;gap:.6rem;font-weight:700;display:flex}.brand--auth{margin-bottom:1.5rem;font-size:1.15rem}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.7rem 1.1rem;font-weight:600;transition:background .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--brand-2);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand)}.btn--ghost{border-color:var(--line);color:var(--ink-2);background:0 0}.btn--sm{padding:.45rem .8rem;font-size:.9rem}.link{color:var(--brand-2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.form{gap:1rem;display:grid}.form label{color:var(--ink-2);gap:.35rem;font-size:.9rem;font-weight:600;display:grid}input,select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:.65rem .75rem;font-weight:400}input:focus,select:focus{outline:2px solid var(--brand-2);outline-offset:1px;border-color:#0000}.row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;display:grid}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.error{background:var(--bad-bg);color:var(--bad);border-radius:10px;margin:.5rem 0;padding:.7rem .9rem;font-size:.92rem}.auth-wrap{background:radial-gradient(1200px 600px at 10% -10%, #dfe9e3 0%, transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;width:100%;max-width:420px;padding:2rem;box-shadow:0 10px 40px #0f2a2414}.auth-card h1{margin-bottom:.35rem;font-size:1.4rem}.auth-card>p{margin-top:0}.steps{color:var(--ink-2);padding-left:1.2rem;font-size:.92rem}.steps li{margin-bottom:.35rem}.qr{border:1px solid var(--line);background:#fff;border-radius:12px;width:190px;height:190px;margin:.75rem auto;padding:8px;display:block}.secret{color:var(--ink-2);margin-bottom:1rem;font-size:.85rem}.secret code{word-break:break-all;background:var(--bg);border-radius:8px;margin-top:.4rem;padding:.5rem;display:block}.code-input{text-align:center;letter-spacing:.4em;font-variant-numeric:tabular-nums;font-size:1.6rem}.shell{min-height:100vh}.topbar{z-index:10;background:var(--brand);color:#fff;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.topbar .btn--ghost{color:#d5e2dd;border-color:#ffffff40}.tabs{gap:.25rem;margin-left:1rem;margin-right:auto;display:flex}.tabs button{white-space:nowrap;color:#b8cbc4;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.45rem .8rem;font-weight:600}.tabs button.on{color:#fff;background:#ffffff1f}.content{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.seg{background:#e8e5dc;border-radius:10px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.4rem .85rem;font-size:.9rem;font-weight:600}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 1px 2px #00000014}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem}.card--big{grid-column:1/-1;padding:1.5rem}.card__title{color:var(--ink-2);font-size:.88rem;font-weight:600}.card__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:.25rem 0 .4rem;font-size:1.6rem;font-weight:700}.card--big .card__value{font-size:2.6rem}.card--good{background:var(--good-bg);border-color:#cbe6d7}.card--good .card__value{color:var(--good)}.card--warn{background:var(--warn-bg);border-color:#f3e0b0}.card--warn .card__value{color:var(--warn)}.card--bad{background:var(--bad-bg);border-color:#f2c9c4}.card--bad .card__value{color:var(--bad)}.card__explain{color:var(--ink-2);margin:.5rem 0 0;font-size:.85rem}.notice{border:1px dashed var(--brand-2);border-radius:var(--radius);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.2rem;display:flex}.notice--warn{background:#fff8e6;border:1px solid #e3b341}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.2rem}.acct-list{margin:0;padding:0;list-style:none}.acct-list>li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.acct-list>li:first-child{border-top:0}.acct-name{font-weight:600}.acct-bal{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.acct-bal.debt{color:var(--bad)}.version{text-align:center;margin-top:3rem}h3{margin:1.25rem 0 .5rem;font-size:1rem}.grid--3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card__value.debt,.debt{color:var(--bad)}.chips{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.chip{color:var(--ink-2);background:#eef0ec;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.chip--warn{background:var(--warn-bg);color:var(--warn)}.chip--bad{background:var(--bad-bg);color:var(--bad)}.debt-item{display:block!important}.debt-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.debt-head>div:first-child{min-width:0}.debt-side,.upcoming-side{text-align:right;justify-items:end;gap:.3rem;display:grid}.terms-form{background:var(--bg);border-radius:12px;margin-top:1rem;padding:1rem}.promo summary,.assumptions summary{cursor:pointer;color:var(--brand-2);font-size:.92rem;font-weight:600}.promo[open] summary{margin-bottom:.75rem}.check{grid-template-columns:none;align-items:flex-start;margin-top:.75rem;gap:.6rem!important;font-weight:400!important;display:flex!important}.check input{width:auto;margin-top:.2rem}.budget-input{gap:.4rem;max-width:520px;margin-bottom:1rem;font-weight:400;display:grid}.budget-input input{font-size:1.2rem;font-weight:600}.strategies{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.strategy{text-align:left;font:inherit;color:inherit;border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;padding:1rem}.strategy.on{border-color:var(--brand-2);box-shadow:0 0 0 3px #1d5c4c1f}.strategy__name{color:var(--ink-2);font-size:.9rem;font-weight:700}.strategy__big{text-transform:capitalize;margin:.3rem 0 .1rem;font-size:1.35rem;font-weight:700}.strategy__bad{color:var(--bad);margin-top:.3rem;font-size:1.2rem;font-weight:700}.strategy dl{grid-template-columns:1fr auto;gap:.2rem .75rem;margin:.75rem 0 0;font-size:.88rem;display:grid}.strategy dt{color:var(--ink-2)}.strategy dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.good{color:var(--good)}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:.5rem;font-size:.8rem;font-weight:600}.table td{border-bottom:1px solid var(--line);padding:.6rem .5rem}.table .num{text-align:right;font-variant-numeric:tabular-nums}.warnings{background:var(--warn-bg);color:var(--warn);border-radius:10px;margin:1rem 0;padding:.75rem .75rem .75rem 2rem;font-size:.9rem}.warnings li{margin-bottom:.3rem}.assumptions{color:var(--ink-2);margin-top:1rem;font-size:.88rem}.assumptions ul{padding-left:1.2rem}.btn--gold{background:var(--gold);color:var(--brand)}.btn--block{width:100%;padding:.9rem;font-size:1.05rem}.badge{background:var(--gold);min-width:1.3rem;color:var(--brand);text-align:center;border-radius:999px;margin-left:.35rem;padding:0 .35rem;font-size:.75rem;line-height:1.3rem;display:inline-block}.chip--good{background:var(--good-bg);color:var(--good)}.small-val{font-size:1.05rem!important}.checks{gap:.35rem;margin:1rem 0;padding:0;list-style:none;display:grid}.checks .bad{color:var(--bad)}.review-list{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.review-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.suggest{background:var(--bg);color:var(--ink-2);border-radius:10px;margin:.75rem 0;padding:.6rem .8rem;font-size:.9rem}.suggest--good{background:var(--good-bg);color:var(--good)}.suggest--warn{background:var(--warn-bg);color:var(--warn)}.suggest .actions{justify-content:flex-start;margin-top:.5rem}.actions.wrap{flex-wrap:wrap}.review-form{gap:.75rem}.inline-input{width:auto;min-width:10rem;padding:.2rem .45rem;font-size:.88rem;display:inline-block}.fab{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:20;font:inherit;background:var(--gold);color:var(--brand);cursor:pointer;border:0;border-radius:999px;padding:.95rem 1.3rem;font-weight:700;display:none;position:fixed;box-shadow:0 8px 24px #0f2a244d}.quick{max-width:560px;margin:0 auto}.photo-drop{border:2px dashed var(--line);border-radius:var(--radius);background:var(--bg);cursor:pointer;min-height:120px;color:var(--ink-2);place-items:center;overflow:hidden;display:grid!important}.photo-drop input{display:none}.photo-drop img{object-fit:contain;width:100%;max-height:260px}.amount-input{font-size:1.6rem!important;font-weight:700!important}.seg--full{width:100%;display:flex}.seg--full button{flex:1;padding:.6rem}.label-like{color:var(--ink-2);margin-bottom:.4rem;font-size:.9rem;font-weight:600}.pay-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.pay-option{border:1.5px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;padding:.75rem;gap:.75rem!important;font-weight:400!important;display:flex!important}.pay-option.on{border-color:var(--brand-2);background:#f3f8f6}.pay-option input{width:auto;margin-top:.25rem}.reasons{color:var(--ink-2);margin:.4rem 0 0;padding-left:1.1rem;font-size:.85rem}.warn-text{color:var(--warn)}.center-panel{text-align:center;padding:2rem 1.2rem}.big-check{font-size:3rem}.spacer{flex:1}.bulk{border-color:var(--gold)}.table tr.off td{opacity:.45}.nowrap{white-space:nowrap}.prop-title{margin:1.5rem 0 .75rem}.drop{border:2px dashed var(--brand-2);border-radius:var(--radius);text-align:center;cursor:pointer;background:#f3f8f6;padding:1.4rem;font-weight:400!important;display:block!important}.drop input{margin-top:.75rem}.help{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.6rem .8rem;font-size:.9rem}.help summary{cursor:pointer;color:var(--brand-2);font-weight:600}.help ul{padding-left:1.1rem}.help li{margin-bottom:.3rem}.danger-link{color:var(--bad)!important;border-color:#f2c9c4!important}@media (max-width:640px){.fab{display:block}.hide-mobile{display:none}.tabs{overflow-x:auto}.tabs button{flex:none;padding:.45rem .7rem}.topbar{flex-wrap:wrap;padding:.6rem 1rem}.topbar .brand{margin-right:auto}.tabs{order:3;width:100%;margin:.25rem 0 0}.tabs button{flex:1}.content{padding:1rem .9rem 4rem}h1{font-size:1.35rem}.card--big .card__value{font-size:2.1rem}}.groups{margin:0 0 1rem;padding:0;list-style:none}.group{border-top:1px solid var(--line);padding:.6rem 0}.group-head{align-items:center;gap:.6rem;display:flex}.group-title{flex:1;min-width:0}tr.clickable{cursor:pointer}tr.clickable:hover{background:#00000008}tr.sub td{border-top:0;padding-top:.15rem;padding-bottom:.15rem}label.grow{flex:320px}.group-form{margin:.5rem 0 .25rem 1.6rem}
