:root{--ink:#26242a;--paper:#f8f5ef;--panel:#fffdfa;--line:#e8e0d6;--purple:#7460d6;--muted:#77737c;--mint:#d9f5e8;--peach:#ffe1da}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}button,input{font:inherit}.setup-shell{background:radial-gradient(circle at 92% 8%,var(--peach) 0,transparent 26%),radial-gradient(circle at 7% 90%,var(--mint) 0,transparent 24%),var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:var(--panel);border-radius:28px;width:min(100%,570px);padding:52px;box-shadow:0 20px 65px #493e4d12}.eyebrow,.section-kicker{color:var(--purple);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.auth-card h1,.app-header h1{letter-spacing:-.04em;margin:0;font:600 clamp(36px,5vw,58px)/1.02 Fraunces,serif}.lede{max-width:560px;color:var(--muted);margin:22px 0;font-size:16px;line-height:1.6}.auth-form{gap:16px;margin-top:30px;display:grid}.auth-form label,.inline-form label{gap:7px;font-size:13px;font-weight:700;display:grid}.auth-form input,.inline-form input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:13px 14px;font:500 15px Manrope,Arial,sans-serif}.auth-form input:focus,.inline-form input:focus{border-color:var(--purple);outline:3px solid #dcd5ff}button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:11px;padding:14px 17px;font-size:14px;font-weight:700}button:disabled{cursor:wait;opacity:.65}.text-button{color:var(--purple);text-underline-offset:3px;background:0 0;margin-top:18px;padding:0;text-decoration:underline}.signin-note{color:var(--muted);margin:18px 0 0;font-size:12px;line-height:1.5}.form-message{border-radius:10px;margin:18px 0 0;padding:11px 13px;font-size:13px;line-height:1.45}.form-message.error,.app-notice{color:#a73b3e;background:#fff0ef}.form-message.success{color:#276a4a;background:#e7f7ee}.loading-shell{background:var(--paper);place-items:center;min-height:100vh;display:grid}.loading-mark{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font:600 18px Fraunces,serif;display:grid}.app-shell{background:radial-gradient(circle at 96% 5%,#ffe1da 0,transparent 26%),var(--paper);grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{border-right:1px solid var(--line);background:#fcfaf5;flex-direction:column;height:100vh;padding:30px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;padding:0 12px 34px;font-weight:700}.brand i{font:600 17px Fraunces,serif}.app-sidebar nav{gap:5px;display:grid}.nav-item{color:var(--muted);text-align:left;background:0 0;border-radius:9px;padding:11px 12px}.nav-item.active{color:#4b3ba1;background:#e9e3ff}.sidebar-signout{color:var(--muted);text-align:left;text-underline-offset:3px;background:0 0;margin-top:auto;padding:11px 12px;text-decoration:underline}.app-content{width:min(1240px,100%);padding:54px clamp(24px,5vw,76px) 80px}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.today{color:var(--muted);padding-top:6px;font-size:13px}.app-notice{border-radius:10px;margin:20px 0 0;padding:12px 14px;font-size:13px}.snapshot{color:#fff;background:#33284b radial-gradient(circle at 92% 20%,#806adf 0,#0000 25%);border-radius:20px;justify-content:space-between;align-items:end;gap:26px;margin:46px 0 18px;padding:30px 34px;display:flex}.snapshot .section-kicker{color:#cfc4ff}.snapshot h2{letter-spacing:-.04em;max-width:600px;margin:0;font:600 clamp(29px,3.5vw,47px)/1.02 Fraunces,serif}.snapshot p:not(.section-kicker){color:#d9d4df;max-width:500px;margin:12px 0 0;font-size:14px;line-height:1.55}.snapshot button{color:#33284b;background:#fff;flex:none}.snapshot button span{padding-left:12px;font-size:20px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.metric-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;min-height:134px;padding:20px}.metric-card span{color:var(--muted);font-size:12px;font-weight:700;display:block}.metric-card strong{letter-spacing:-.04em;margin-top:26px;font:600 clamp(21px,2.4vw,31px)/1 Fraunces,serif;display:block}.metric-card.lavender{background:#eee9ff}.metric-card.coral{background:#ffebe5}.metric-card.mint{background:#e6f8ef}.metric-card.sun{background:#fff3cf}.split-grid{grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:25px}.panel-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.panel h2,.panel h3{letter-spacing:-.03em;margin:0;font:600 26px/1.1 Fraunces,serif}.panel-heading>strong{color:#539b77;font-size:13px}.bar-row{grid-template-columns:75px 1fr 75px;align-items:center;gap:12px;margin-top:27px;font-size:12px;font-weight:700;display:grid}.bar-row i{background:#eee9e3;border-radius:20px;height:9px;overflow:hidden}.bar-row b{border-radius:inherit;background:#806adf;height:100%;display:block}.bar-row.expense b{background:#ed907a}.bar-row strong{text-align:right}.owner-pay{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:23px;padding-top:17px;font-size:12px;display:flex}.mini-link{color:var(--purple);background:0 0;padding:0;font-size:12px;text-decoration:underline}.category-list{gap:14px;margin-top:23px;display:grid}.category-list>div{justify-content:space-between;gap:15px;font-size:13px;display:flex}.category-list span{align-items:center;gap:9px;display:flex}.category-list i{border-radius:50%;width:8px;height:8px}.empty-copy,.helper-copy{color:var(--muted);margin:20px 0 0;font-size:13px;line-height:1.6}.next-actions{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:18px;display:grid}.next-actions button{border:1px solid var(--line);background:var(--panel);min-height:130px;color:var(--ink);text-align:left;padding:19px}.next-actions button span{color:var(--purple);font:600 20px Fraunces,serif;display:block}.next-actions button b{margin-top:17px;display:block}.next-actions button small{color:var(--muted);margin-top:7px;font-size:11px;font-weight:500;display:block}.full-panel{min-height:430px;margin-top:46px}.inline-form{align-items:end;gap:12px;max-width:650px;margin-top:28px;display:flex}.inline-form label{flex:1}.review-list{margin-top:27px}.review-list>div{border-top:1px solid var(--line);grid-template-columns:100px 1fr 90px 100px;align-items:center;gap:14px;padding:17px 0;font-size:13px;display:grid}.review-list span,.review-list em{color:var(--muted);font-style:normal}.review-list strong{text-align:right}.empty-state{text-align:center;justify-items:center;max-width:470px;margin:52px auto;display:grid}.empty-state>span{color:#6651c8;background:#eee9ff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:20px;display:grid}.empty-state h3{margin:16px 0 0}.empty-state p{color:var(--muted);margin:10px 0 18px;font-size:14px;line-height:1.6}.tax-preview{grid-template-columns:1fr 1fr;gap:13px;margin-top:28px;display:grid}.tax-preview>div{background:#ede8ff;border-radius:14px;padding:23px}.tax-preview>div+div{background:#e5f7ec}.tax-preview span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;display:block}.tax-preview strong{margin-top:16px;font:600 24px/1.05 Fraunces,serif;display:block}.tax-preview p{color:var(--muted);margin:9px 0 0;font-size:12px}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:20px;position:static}.brand{padding:0 0 15px}.app-sidebar nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}.sidebar-signout{display:none}.app-content{padding-top:32px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.auth-card{padding:35px 26px}.app-content{padding:30px 16px 60px}.app-header{display:block}.today{margin-top:13px;display:block}.snapshot{margin-top:30px;padding:25px;display:block}.snapshot button{margin-top:22px}.split-grid,.next-actions,.tax-preview{grid-template-columns:1fr}.review-list>div{grid-template-columns:1fr 75px}.review-list span,.review-list em{display:none}.inline-form{align-items:stretch;display:grid}.full-panel{margin-top:30px}}
