@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600..800&family=Inter:wght@400;500;600;700;800&display=swap";:root{--page:#faf7ff;--surface:#fff;--ink:#30233f;--muted:#6b5c79;--line:#ebe1f4;--control-line:#d6c7e6;--lavender-wash:#f6effb;--lavender-soft:#efe5fb;--lavender-fill:#e5d6f8;--mauve-soft:#f3e4f4;--mauve-ink:#71476e;--accent:#6e459a;--accent-fill:#6a4095;--accent-hover:#56327e;--accent-mid:#8d62ba;--hero:#4b2e6a;--hero-muted:#e9d7fa;--focus:#8b5cb7;--warning-wash:#f9edf6;--warning-ink:#864057;--inactive:#746683;--overlay:#28163c70;--shadow:#2a16421a}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font:14px Inter,system-ui,sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}:is(button:focus-visible,a:focus-visible){outline:3px solid var(--focus);outline-offset:3px}a{color:inherit;text-decoration:none}.shell{max-width:1600px;min-height:100vh;margin:auto;display:flex}aside{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;width:240px;padding:40px 25px;display:flex;position:fixed;top:0;bottom:0}.brand{letter-spacing:-1px;align-items:center;gap:10px;font-size:30px;font-weight:800;display:flex}.logo{background:var(--lavender-fill);color:var(--accent);border-radius:13px;padding:9px;display:flex}.dot{color:var(--accent-mid);margin-left:-9px}aside>small{letter-spacing:1.6px;color:var(--muted);margin:17px 0 45px;font-size:9px}nav{gap:9px;display:grid}nav button{text-align:left;color:var(--muted);border-radius:12px;align-items:center;gap:13px;padding:15px;font-weight:600;display:flex}nav .selected{background:var(--lavender-soft);color:var(--accent)}.side-note{background:var(--lavender-wash);border-radius:15px;margin-top:auto;padding:22px}.side-note strong{margin-top:13px;display:block}.side-note p{color:var(--muted);line-height:1.8}.side-note>span{color:var(--muted);font-size:10px}.avatars{padding-left:0;display:flex}.avatars b{background:var(--lavender-fill);border:3px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:12px;display:flex}.avatars b+b{background:var(--mauve-soft);margin-left:-8px}main{flex:1;min-width:0;margin-left:240px;padding:42px 46px}header{justify-content:space-between;align-items:center;gap:15px;display:flex}.eyebrow{letter-spacing:1.7px;color:var(--muted);font-size:10px;font-weight:700}h1{letter-spacing:-1.5px;margin:10px 0 24px;font-size:34px;font-weight:800}.heading-dot{color:var(--accent-mid);font-size:30px}h2{letter-spacing:-1px;margin:16px 0;font-size:31px}h3{margin:0;font-size:16px}.primary,.secondary{border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:13px 18px;font-size:12px;font-weight:700;display:inline-flex}.primary{background:var(--accent-fill);color:#fff}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--surface);border:1px solid var(--control-line)}.toolbar{justify-content:space-between;align-items:center;gap:10px;margin:5px 0 25px;display:flex}.period{align-items:center;gap:15px;display:flex}.period strong{font-size:12px}.period button{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:6px;display:flex}.sync{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.sync i{background:var(--accent-mid);border-radius:50%;width:6px;height:6px}.metrics{grid-template-columns:1.25fr 1fr 1fr;gap:18px;display:grid}.metrics article,.panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:25px}.metrics .hero{background:var(--hero);color:var(--surface);border-color:var(--hero)}.hero>span{color:var(--hero-muted);font-size:12px}.hero h2{font-size:34px}.hero p{color:var(--hero-muted);font-size:11px}.hero button{background:var(--lavender-fill);color:var(--hero);border-radius:8px;align-items:center;gap:15px;margin-top:20px;padding:10px 14px;font-size:11px;font-weight:700;display:flex}.metric>span{color:var(--muted);font-size:12px}.metric h2{font-size:28px}.metric>p{color:var(--muted);font-size:10px}.mini-bars{align-items:flex-end;gap:9px;height:48px;margin:8px 0;display:flex}.mini-bars i{background:var(--lavender-soft);border-radius:4px;flex:1;max-width:25px}.mini-bars i:nth-child(4){background:var(--accent-mid)}.account-mini{padding-top:10px}.account-mini p{justify-content:space-between;margin:12px 0;font-size:10px;display:flex}.account-mini span{color:var(--muted)}.two-col{grid-template-columns:1.55fr 1fr;gap:20px;margin:22px 0;display:grid}.section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.section-head>span{color:var(--muted);font-size:10px}.empty{text-align:center;padding:27px 10px}.empty>span{font-size:34px}.empty h3{margin:12px}.empty p{color:var(--muted);font-size:12px;line-height:1.9}.empty .secondary{margin-top:8px}.settle{text-align:center;background:var(--lavender-wash)}.settle .large{justify-content:center;margin:22px 0}.large b{width:50px;height:50px;font-size:17px}.settle h2{margin:12px;font-size:27px}.settle p{color:var(--muted);font-size:11px;line-height:1.9}.settle .secondary{margin-top:10px}.chart-row{margin:22px 0}.chart-row>div:first-child{justify-content:space-between;font-size:12px;display:flex}.track{background:var(--lavender-wash);border-radius:8px;height:7px;margin-top:10px;overflow:hidden}.track i{background:var(--accent-mid);border-radius:8px;height:100%;display:block}.entry{border-top:1px solid var(--line);align-items:center;gap:12px;padding:17px 0;display:flex}.entry-icon{background:var(--mauve-soft);width:36px;height:36px;color:var(--mauve-ink);border-radius:11px;place-items:center;font-size:20px;display:grid}.entry-icon.income{background:var(--lavender-soft);color:var(--accent)}.entry-icon.transfer{background:var(--mauve-soft);color:var(--mauve-ink)}.entry-name{flex:1;min-width:0}.entry-name b{overflow-wrap:anywhere;font-size:12px;display:block}.entry-name small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.entry>strong{white-space:nowrap;font-size:12px}.entry>button{color:var(--inactive);padding:5px}.positive{color:var(--accent)}.no-entries{color:var(--muted);padding:25px 0;font-size:12px}.link{color:var(--accent);font-size:11px}footer{color:var(--muted);justify-content:space-between;margin-top:32px;font-size:12px;font-weight:700;display:flex}footer span{font-size:10px;font-weight:400}.budget-banner{background:var(--lavender-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:22px;display:flex}.budget-banner strong{margin-left:12px}.hint{color:var(--muted);max-width:800px;margin:20px 0;font-size:12px;line-height:1.8}.budget-table{margin-bottom:20px;padding:10px 25px}.budget-row{border-bottom:1px solid var(--line);grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:center;gap:10px;padding:21px 0;font-size:12px;display:grid}.budget-row>:not(:first-child){text-align:right}.budget-row.labels{color:var(--muted);font-size:10px}.pill{color:var(--accent)}.negative{color:var(--warning-ink)}.accounts-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.wallet-icon{color:var(--accent-mid)}.accounts-grid p{color:var(--muted);font-size:11px}.actions{gap:12px;margin:24px 0;display:flex}.guide p{color:var(--muted);font-size:12px;line-height:1.9}.overlay{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:22px;width:440px;max-height:92vh;padding:32px;position:relative;overflow:auto}.dialog h2{font-size:23px;line-height:1.3}.close{color:var(--muted);position:absolute;top:20px;right:20px}.type-tabs{background:var(--lavender-wash);border-radius:9px;margin:20px 0;padding:4px;display:flex}.type-tabs button{border-radius:7px;flex:1;padding:9px;font-size:12px}.type-tabs .on{box-shadow:0 2px 7px var(--shadow);background:#fff}form{gap:15px;display:grid}label{gap:7px;font-size:11px;font-weight:600;display:grid}input,select{border:1px solid var(--control-line);background:var(--surface);width:100%;color:var(--ink);border-radius:9px;min-height:43px;padding:12px}input:focus,select:focus{outline:2px solid var(--focus)}label small{color:var(--muted);font-size:9px;font-weight:400}.submit{width:100%;margin-top:6px}.error{background:var(--warning-wash);color:var(--warning-ink);border-radius:9px;margin-bottom:15px;padding:12px;font-size:12px}details{color:var(--muted);margin-top:25px;font-size:12px}summary{cursor:pointer}@media (min-width:1500px){aside{height:100vh;position:sticky}main{margin-left:0}}@media (max-width:1100px){aside{width:195px;padding:30px 18px}main{margin-left:195px;padding:30px 24px}.metrics{grid-template-columns:1fr 1fr}.metrics .hero{grid-column:span 2}.two-col{grid-template-columns:1.2fr 1fr}.sync{text-align:right;max-width:150px}h1{font-size:30px}}@media (max-width:700px){aside{z-index:5;border-top:1px solid var(--line);width:100%;height:69px;padding:0;position:fixed;top:auto;bottom:0}aside .brand,aside>small,.side-note{display:none}nav{justify-content:space-around;gap:0;height:100%;display:flex}nav button{border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:5px;padding:9px 3px;font-size:9px}main{margin-left:0;padding:25px 17px 95px}header{align-items:center}h1{margin-bottom:18px;font-size:29px}.eyebrow{font-size:8px}.heading-dot{font-size:22px}header .primary{padding:12px}header .primary span{display:none}.toolbar{align-items:center;margin-bottom:20px}.period{gap:7px}.period strong{font-size:10px}.sync{max-width:110px;font-size:8px}.metrics{gap:11px}.metrics article{padding:19px}.metrics .hero h2{font-size:36px}.metric h2{font-size:22px}.metric>span{font-size:10px}.mini-bars{height:32px}.account-mini p{font-size:9px;display:block}.account-mini b{margin-top:4px;display:block}.two-col{grid-template-columns:1fr;gap:15px;margin:15px 0}.panel{border-radius:15px;padding:20px}.settle .large{margin:15px}.entry{gap:8px}.entry-name small{font-size:9px}.entry>strong{font-size:11px}.entry>button{padding:2px}.entry-icon{flex-shrink:0;width:30px;height:30px}.budget-row{grid-template-columns:1.35fr .8fr .8fr .9fr;gap:5px;font-size:9px}.budget-table{padding:8px 12px}.budget-row.labels{font-size:8px}.budget-banner{align-items:flex-start;padding:17px;font-size:11px}.budget-banner strong{margin:8px 0 0;font-size:18px;display:block}.budget-banner .secondary{padding:10px;font-size:10px}.accounts-grid{grid-template-columns:1fr}.dialog{padding:26px 22px}.actions{flex-wrap:wrap}footer span{text-align:right;max-width:180px}.section-head h3{font-size:14px}}.personal-section{margin-bottom:26px}.personal-section>.section-head{margin-bottom:13px}.personal-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.personal-card{padding:22px 25px}.personal-title{align-items:center;gap:11px;margin-bottom:20px;display:flex}.person-avatar{background:var(--lavender-fill);border-radius:50%;place-items:center;width:33px;height:33px;font-size:12px;font-weight:800;display:grid}.person-avatar.husband{background:var(--mauve-soft)}.cash-label{color:var(--muted);font-size:11px}.personal-card h2{margin:9px 0;font-size:29px}.cash-note{color:var(--muted);margin-bottom:19px;font-size:10px;line-height:1.6}.personal-card dl{margin:0 0 17px}.personal-card dl>div{justify-content:space-between;gap:10px;padding:8px 0;font-size:11px;display:flex}.personal-card dt{color:var(--muted)}.personal-card dd{white-space:nowrap;margin:0;font-weight:700}.pending-return{background:var(--warning-wash);color:var(--warning-ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:13px;font-size:11px;display:flex}.pending-return small{color:var(--warning-ink);flex-basis:100%;font-size:9px}.owed-note{color:var(--warning-ink);margin-bottom:0;font-size:10px}.personal-explanation{color:var(--muted);max-width:780px;margin:14px 0 10px;font-size:11px;line-height:1.8}@media (max-width:700px){.personal-grid{grid-template-columns:1fr;gap:12px}.personal-section>.section-head{align-items:flex-start;gap:15px}.personal-section>.section-head>span{text-align:right;max-width:145px;font-size:9px}.personal-card{padding:20px}.personal-card h2{font-size:28px}}.entry>.edit-entry{min-height:36px;color:var(--accent);border-radius:8px;flex:0 0 34px;place-items:center;display:grid}.entry>.edit-entry:hover{background:var(--lavender-soft)}@media (max-width:700px){.entry>.edit-entry{flex-basis:32px}}.metrics h2,.personal-card h2,.entry>strong,.budget-row{font-variant-numeric:tabular-nums}.brand,main h1,.dialog h2,.metrics h2,.personal-card h2,.settle h2{font-optical-sizing:auto;font-family:Bricolage Grotesque,Inter,system-ui,sans-serif}.welcome{place-items:center;min-height:100vh;margin:0;padding:24px;display:grid}.welcome-card{width:min(100%,460px)}.welcome-card p,.invite-panel p{color:var(--muted);line-height:1.6}.welcome-card .primary{display:inline-flex}.welcome-card .link{margin-top:18px;display:inline-block}.join-form{gap:9px;margin-top:24px;display:grid}.join-form input,.invite-code input{width:100%;min-width:0}.invite-panel{margin-bottom:16px}.invite-code{gap:8px;max-width:380px;display:grid}.language-switch{z-index:30;background:var(--surface);border:1px solid var(--control-line);box-shadow:0 3px 12px var(--shadow);border-radius:999px;align-items:center;gap:5px;padding:4px 6px;font-size:11px;font-weight:700;display:flex;position:fixed;top:12px;right:16px}.language-switch button{color:var(--muted);border-radius:999px;min-width:34px;padding:7px 9px}.language-switch button.active{background:var(--accent-fill);color:#fff}.language-switch span{color:var(--muted)}@media (max-width:700px){.language-switch{top:7px;right:8px}.shell main,.welcome{padding-top:65px}}.logo{background:0 0;flex:none;width:42px;height:42px;padding:0;overflow:hidden}.logo img{object-fit:cover;width:100%;height:100%;display:block}.dashboard-status{color:var(--muted);margin:-8px 0 22px;font-size:12px;line-height:1.65}.profile-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:20px;display:grid}.profile-card{gap:15px;display:grid}.profile-card h2{margin:0;font-size:22px}.profile-card h3{margin:8px 0 0;font-size:15px}.profile-card form{gap:15px}.profile-card input:disabled{background:var(--lavender-wash);color:var(--muted)}.profile-help{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.profile-success{color:var(--accent);font-size:13px}
