@font-face{font-family:system-fallback;src:local("Arial")}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18362d;background:#f4f6f5;font-synthesis:none;font-variant-numeric:tabular-nums;--green:#165c46;--muted:#667a71;--line:#e1e9e4;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #76b79a;outline-offset:2px}.brand{font-size:1.2rem;font-weight:760;display:flex;align-items:center;gap:10px;letter-spacing:-.04em}.mark{display:inline-grid;place-items:center;width:35px;height:35px;background:#c9f0ab;color:#123d32;border-radius:10px;font-size:1.1rem;letter-spacing:-.1em;padding-right:3px}.loading{max-width:440px;margin:18vh auto;padding:24px}.loading p{color:var(--muted)}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#123d32;color:white;padding:clamp(30px,6vw,95px);display:flex;flex-direction:column;justify-content:space-between;gap:50px}.auth-story h1{font-size:clamp(2.3rem,5vw,4.4rem);font-weight:650;line-height:1.05;letter-spacing:-.06em;margin:0 0 24px;max-width:540px}.auth-story h1 span{color:#c9f0ab}.auth-story p{color:#c1d4c9;max-width:390px;line-height:1.7;font-size:1rem}.auth-example{border:1px solid #48695b;border-radius:18px;padding:22px;max-width:390px;margin-top:35px}.example-row{display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:.95rem}.example-row.total{border-top:1px solid #48695b;font-size:1.3rem;font-weight:700;margin-top:8px;padding-top:18px;color:#c9f0ab}.eyebrow{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.12em}.auth-content{display:flex;align-items:center;justify-content:center;padding:35px 25px;background:white}.auth-card{width:100%;max-width:390px}.auth-card h2{font-size:1.8rem;letter-spacing:-.04em;margin:0 0 10px}.muted{color:var(--muted);line-height:1.5}.auth-card label,.form-label{display:block;font-size:.9rem;font-weight:650;margin:22px 0 8px}.input{border:1px solid #cbd9d0;background:#fff;border-radius:10px;width:100%;padding:13px;color:#18362d;min-height:48px}.primary,.secondary,.text-button{min-height:44px;padding:11px 15px;border-radius:10px;font-weight:650;font-size:.9rem}.primary{border:1px solid var(--green);background:var(--green);color:white}.secondary{border:1px solid #cbd9d0;background:white;color:#234638}.text-button{border:0;background:transparent;color:var(--green)}.full{width:100%}.form-actions{margin-top:25px;display:grid;gap:12px}.form-note{font-size:.84rem;line-height:1.6;margin-top:16px;color:var(--muted)}.error{color:#a13126;font-size:.9rem;line-height:1.5;margin-top:14px}.success{color:#1c6946;font-size:.9rem;line-height:1.6;margin-top:14px}.topbar{background:#123d32;color:white}.bar-inner{max-width:1050px;padding:19px 22px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:15px}.bar-inner .text-button{color:#e0eee5;padding-right:0}.shell{max-width:1050px;margin:auto;padding:28px 22px 80px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-top h1{font-size:1.8rem;margin:0 0 5px;letter-spacing:-.04em}.status{font-size:.84rem;color:var(--muted);margin:0}.status.error{color:#a13126}.month-control{display:flex;align-items:center;gap:13px}.month-control strong{min-width:140px;text-align:center;font-size:.96rem;text-transform:capitalize}.arrow{border:1px solid #cbd9d0;background:white;border-radius:10px;width:40px;height:40px;font-size:1.35rem;color:var(--green)}.totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.tile{background:white;border:1px solid var(--line);border-radius:15px;padding:19px 17px;min-height:110px}.tile p{font-size:.83rem;color:var(--muted);margin:0 0 12px}.tile strong{font-size:clamp(1.2rem,2.6vw,1.85rem);letter-spacing:-.05em;white-space:nowrap}.tile.featured{background:#123d32;color:#c9f0ab;border-color:#123d32}.tile.featured p{color:#d1e2d5}.tile.unpaid strong{color:#975c24}.progress-line{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;font-size:.83rem;color:var(--muted)}.progress{height:5px;background:#dce6de;border-radius:10px;flex:1;max-width:250px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green);border-radius:10px}.budget-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:15px}.card-head{padding:19px 19px 15px;display:flex;justify-content:space-between;align-items:center;gap:15px}.card-head h2{font-size:1rem;margin:0;letter-spacing:-.015em}.card-head strong{font-size:.95rem}.row{display:grid;grid-template-columns:30px minmax(0,1fr) 120px 28px;align-items:center;gap:11px;padding:12px 19px;border-top:1px solid #edf1ee;min-height:84px}.row.paid{background:#e1f4e5}.check{display:inline-flex;align-items:center;justify-content:center;min-height:40px;cursor:pointer}.check input{width:22px;height:22px;accent-color:var(--green);cursor:pointer}.row-name,.row-amount{border:1px solid transparent;border-radius:7px;padding:6px 5px;width:100%;min-width:0;background:transparent;color:#18362d}.row-name:focus,.row-amount:focus{border-color:#81b09a;outline:0;background:white}.row-name{font-weight:550}.row-amount{text-align:right;font-weight:650;background:#f5f8f5;border-color:#e1e9e4;min-height:40px;padding:8px}.row.paid .row-amount{background:#f2fff3;border-color:#b4d9bb}.row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:.8rem;color:var(--muted);padding-left:5px;margin-top:2px}.row-meta select{border:1px solid #dce5df;background:#f7faf8;border-radius:6px;padding:4px;color:#385d4c;font-size:.8rem;max-width:115px}.remove{border:0;background:transparent;font-size:1.25rem;color:#84958c;width:28px;height:35px}.add-row{padding:13px 19px;text-align:left;border:0;border-top:1px solid #edf1ee;background:transparent;color:var(--green);width:100%;font-size:.9rem;font-weight:650;min-height:48px}.tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.bottom-note{font-size:.82rem;color:var(--muted);line-height:1.7;margin-top:20px}.onboarding{max-width:480px;margin:12vh auto;background:white;border:1px solid var(--line);border-radius:20px;padding:30px}.onboarding h1{font-size:1.7rem;letter-spacing:-.04em}#toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#123d32;color:white;border-radius:12px;padding:13px 18px;max-width:calc(100% - 32px);width:max-content;font-size:.9rem;box-shadow:0 6px 25px #0002;z-index:20;display:none}dialog{max-width:480px;width:calc(100% - 32px);border:0;border-radius:18px;padding:30px;box-shadow:0 20px 80px #0003;color:#18362d}dialog::backdrop{background:#0c241e88}dialog h2{font-size:1.4rem;margin:5px 30px 15px 0;letter-spacing:-.03em}dialog p{font-size:.9rem;line-height:1.7}.close{position:absolute;right:15px;top:13px;border:0;background:#edf3ee;color:#385d4c;width:33px;height:33px;border-radius:50%;font-size:1.4rem}.invite-link{font-size:.8rem;margin:15px 0}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.offline-banner{padding:12px 18px;background:#fff0cf;color:#79542b;font-size:.87rem;text-align:center}.mobile-brand{display:none}.auth-example .eyebrow{margin:0 0 6px}.auth-bottom{font-size:.8rem;color:#a9c3b2}.summary-negative{color:#b23529!important}.toolbar-title{margin:0;font-size:.83rem;color:var(--muted)}
@media(max-width:700px){.auth-shell{display:block}.auth-story{padding:24px;gap:28px}.auth-story h1{font-size:2.35rem;margin-bottom:14px}.auth-story p{margin:0}.auth-example,.auth-bottom{display:none}.auth-content{padding:30px 24px 45px;align-items:start}.auth-card h2{font-size:1.45rem}.auth-card label{margin-top:17px}.bar-inner{padding:15px 17px}.brand{font-size:1.08rem}.shell{padding:23px 14px 55px}.page-top{align-items:flex-start;flex-direction:column;gap:19px}.page-top h1{font-size:1.5rem}.month-control{width:100%;justify-content:space-between}.totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tile{padding:16px 13px;min-height:99px}.tile strong{font-size:1.55rem}.tile p{font-size:.8rem;margin-bottom:10px}.card-head{padding:16px 13px}.row{grid-template-columns:26px minmax(0,1fr) 89px 20px;gap:7px;padding:10px 11px;min-height:90px}.row-name{font-size:1rem}.row-amount{font-size:1rem}.row-meta{gap:4px;font-size:.77rem}.row-meta select{font-size:.78rem;max-width:98px}.remove{width:20px}.onboarding{margin:35px 15px;padding:25px}.progress{max-width:130px}.progress-line{font-size:.78rem;gap:10px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,transform .1s}button:active{transform:scale(.98)}.row{transition:background .15s}}
