@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--purple:#7257dc;--ink:#302d43;--muted:#8a8899;--line:#eeeef3;--bg:#f8f9fc;--green:#398879;--orange:#f6b368}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #d3b1ff;outline-offset:4px}h1,h2,h3,h4{font-family:Manrope,sans-serif;margin:0;letter-spacing:-.04em}h1{font-size:32px;font-weight:800;line-height:1.25}h2{font-size:24px}h3{font-size:17px;letter-spacing:-.025em}p{color:var(--muted);font-size:14px;line-height:1.65;margin:9px 0}small{font-size:12px;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#fff;border-right:1px solid var(--line);padding:35px 22px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 13px;line-height:1.12;font-size:16px;color:#777285}.brand b{font-family:Manrope;font-size:29px;color:var(--ink);font-weight:800}.brand-dot{color:var(--purple)}.brand-icon{width:43px;height:46px;border-radius:15px;background:var(--purple);color:white;display:inline-flex;align-items:center;justify-content:center;font-size:35px;transform:rotate(-6deg)}.family-badge{margin:32px 0 32px;padding:18px 8px;background:#faf8ff;border:1px solid #efebfa;border-radius:15px;text-align:center}.stack{display:flex;justify-content:center;padding-left:10px;margin-bottom:10px}.avatar{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:3px solid #fff;border-radius:50%;font-size:20px;flex-shrink:0}.stack .avatar{margin-left:-8px;width:37px;height:37px}.avatar.large{width:66px;height:66px;font-size:37px;border:4px solid #fff}.family-badge>span{font-size:12px;color:#91869f}.nav-caption{font-size:10px;font-weight:700;letter-spacing:.15em;color:#aaa5b5;margin:0 14px 15px}nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:9px;font-size:13px;font-weight:500;margin-bottom:4px;color:#797587}.nav-icon{font-size:22px;line-height:1;width:23px;text-align:center}nav a.active{background:#f0ebff;color:var(--purple);font-weight:700}.nav-count{margin-left:auto;font-size:10px;background:#e4dafc;border-radius:6px;padding:3px 6px}.sidebar-bottom{margin-top:auto;padding-top:20px}.little-note{border-radius:12px;padding:15px 13px;background:#fff9ef;font-size:11px;line-height:1.9;color:#a28a6b}.little-note b{font-size:11px;font-weight:500}.settings-link{display:block;color:#8a8599;font-size:13px;padding:21px 14px}.current-profile{width:100%;border-top:1px solid var(--line);display:flex;gap:8px;background:none;padding:18px 0 0;text-align:left;align-items:center}.current-profile b{display:block;font-size:13px}.current-profile small{font-size:10px;display:block;margin-top:4px}.current-profile>span:last-child{margin-left:auto;color:#aaa}main{margin-left:244px}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);padding:0 40px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8c8798}.breadcrumb{color:#aaa5b3;margin-left:8px}.topbar>div{display:flex;align-items:center;gap:16px}.demo-pill{padding:5px 9px;border:1px solid #eee9fb;color:#9b8dba;font-size:11px;border-radius:6px}.content{max-width:1500px;margin:auto;padding:34px 40px 25px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:700;color:#9b94ad}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-heading h1{margin-top:8px}.page-heading p{margin-top:9px}.wave{font-size:28px;margin-left:4px}.secondary{color:#736d82;background:white;border:1px solid #e8e5ee;padding:11px 15px;border-radius:9px;font-size:12px;font-weight:600}.primary{color:white;background:var(--purple);padding:12px 17px;border-radius:9px;font-size:13px;font-weight:600;box-shadow:0 4px 12px #7257dc15}.welcome-banner{min-height:213px;border-radius:18px;background:#eeebfb;position:relative;overflow:hidden;display:flex;justify-content:space-between;padding:29px 33px;margin-bottom:24px}.banner-label{font-size:9px;letter-spacing:.13em;font-weight:700;color:#a090bf}.welcome-banner h2{font-size:29px;color:#494067;margin-top:12px}.welcome-banner h2>span{color:#a58cdb;margin-left:12px;font-size:30px}.welcome-banner p{font-size:13px;color:#8e82a6;line-height:1.6}.banner-link{display:inline-flex;gap:30px;color:#7862b9;font-size:12px;font-weight:700;margin-top:9px}.banner-family{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:310px;padding:12px 20px;position:relative}.family-orbits{display:flex;align-items:center;gap:9px;transform:rotate(-4deg)}.family-orbits .avatar:nth-child(2){margin-top:-18px}.family-orbits .avatar:nth-child(3){margin-top:12px}.banner-family>span{font-size:11px;color:#8b7ca8;margin-top:19px}.family-stamp{position:absolute;top:0;right:0;transform:rotate(10deg);font-size:10px;border:1px dashed #c7b7df;color:#9a83b8;border-radius:30px;padding:8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{padding:19px 20px 17px;background:white;border:1px solid var(--line);border-radius:13px;min-width:0}.stat>div{display:flex;align-items:center;gap:9px}.stat small{font-size:11px;color:#928b9d;white-space:normal}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:20px;border-radius:9px;flex-shrink:0}.mint{background:#eaf6ef;color:#5ca28f}.peach{background:#fff2e7;color:#d99451}.lavender{background:#f1ecfc;color:#9b83cd}.tiny-tag{margin-left:auto;font-size:9px;background:#f7f7fa;padding:4px 6px;color:#aaa}.stat h2{font-size:25px;letter-spacing:-.04em;margin-top:14px}.stat p{font-size:10px;margin-top:10px;margin-bottom:0;white-space:normal}.positive{color:#65a294}.subtle{color:#b1aabb}.stat.balance{background:#7257dc;border-color:#7257dc;color:white}.balance small,.balance p{color:#d9cffc}.balance .stat-icon{color:#e4d5ff;background:#ffffff15}.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-heading p{font-size:11px;margin-top:5px;margin-bottom:0}.period{font-size:10px;color:#a29aac;border:1px solid var(--line);padding:7px 9px;border-radius:7px}.text-link{font-size:11px;color:var(--purple);font-weight:600}.legend{display:flex;justify-content:flex-end;gap:17px;font-size:10px;color:#a29aac;margin-top:-5px;margin-bottom:11px}.legend span:before{content:'';display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px;background:#ac96eb}.legend .legend-expense:before{background:#f8c48e}.chart{height:175px;display:flex;gap:15px}.axis{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;color:#b0aab9;width:35px;padding-bottom:22px}.bars{flex:1;display:flex;justify-content:space-around;background:repeating-linear-gradient(to top,transparent 0px,transparent 37px,#f3f2f7 38px,#f3f2f7 39px);gap:12px}.bar-group{height:100%;flex:1;text-align:center}.bar-pair{height:calc(100% - 24px);display:flex;align-items:flex-end;justify-content:center;gap:5px}.bar{width:15px;border-radius:5px 5px 0 0}.income{background:#b29ae9}.expense{background:#f7c691}.bar-group small{display:block;margin-top:10px;font-size:10px}.chart-foot{display:flex;justify-content:space-between;gap:10px;margin-top:19px;border-top:1px solid var(--line);padding-top:12px;font-size:9px;color:#b1a9bd}.bill-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #f1f0f5;padding:16px 0}.bill-row:last-child{border:0}.bill-icon{width:35px;height:35px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.bill-name{flex:1;min-width:0}.bill-name b{display:block;font-size:12px;font-weight:600}.bill-name small{font-size:10px;display:block;margin-top:5px}.bill-value{font-size:12px;white-space:nowrap}.status{font-size:10px;border-radius:5px;padding:5px 7px;white-space:nowrap}.status.pendente{color:#be9c59;background:#fff7e8}.status.pago{color:#65a18f;background:#edf7f0}.status.atrasado{color:#c86d73;background:#fff0ef}.pay-button{font-size:10px;color:var(--purple);background:#f2edfe;padding:7px 10px;border-radius:6px}.paid-check{font-size:22px;color:#70b398}.next-bills .bill-row{gap:9px}.next-bills .status{display:none}.gentle-note{font-size:10px;color:#a297af;background:#fbf9ff;border-radius:7px;padding:11px;margin-top:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:29px 0 18px}.section-heading h2{font-size:20px}.section-heading p{font-size:11px;margin:6px 0 0}.home-bottom{display:grid;grid-template-columns:1.9fr 1fr;gap:22px}.goals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.goal-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.goal-art{height:117px;background:#e7f1ef;display:flex;align-items:center;justify-content:center;position:relative}.goal-art>span:first-child{font-size:57px;filter:drop-shadow(0 5px 10px #859da333);transform:rotate(-8deg)}.goal-art.art-g2{background:#f4e8df}.goal-art.art-g3{background:#e6e9f6}.goal-scope{position:absolute;top:12px;left:12px;background:#ffffffab;border-radius:20px;padding:5px 8px;color:#81938d;font-size:9px}.goal-info{padding:17px 18px}.goal-info h3{font-size:14px}.goal-info p{font-size:10px;margin:5px 0 16px}.progress{height:6px;border-radius:10px;background:#f0ecf9;overflow:hidden}.progress i{display:block;height:100%;background:#ae91e7;border-radius:10px;transition:width .4s}.goal-amount{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:10px;color:#6e677c}.goal-amount small{font-size:9px;font-weight:400}.goal-amount>span{font-size:10px;color:#a78acb}.text-button{font-size:10px;color:#a091bb;background:none;padding:0;margin-top:13px}.market-teaser{background:#f4f1fb;border-radius:15px;padding:23px;display:flex;flex-direction:column;align-items:flex-start}.market-emoji{font-size:30px;margin-bottom:12px}.market-teaser .eyebrow{font-size:9px}.market-teaser h2{font-size:21px;line-height:1.4;margin-top:9px}.market-teaser p{font-size:11px;line-height:1.6;margin:9px 0}.market-budget{margin-top:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.market-budget small{font-size:10px}.market-budget b{font-size:21px}.link-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px}.market-teaser .link-button{width:100%;font-size:11px}.link-button span{font-size:9px;opacity:.7}.main-footer{max-width:1500px;margin:0 auto;padding:10px 40px 26px;display:flex;justify-content:space-between;color:#b3aabf;font-size:10px}.main-footer span{font-size:10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tabs button{padding:9px 16px;background:white;border:1px solid var(--line);border-radius:9px;color:#93899f;font-size:13px}.tabs .selected{background:var(--purple);color:white}.summary-strip{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px;background:#f0edfa;border-radius:13px;margin-bottom:22px;font-size:12px;color:#9586a9}.summary-strip b{display:block;font-size:19px;margin-top:8px;color:#5d5171}.full-goals{grid-template-columns:repeat(3,minmax(0,1fr))}.full-goals .goal-art{height:170px}.full-goals .goal-info h3{font-size:17px}.full-goals .goal-info p{font-size:13px}.full-goals .text-button{font-size:13px}.milestone-note{display:flex;gap:20px;align-items:center;font-size:33px;margin-top:25px}.planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.plan-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.plan-line:last-child{border:0}.comparison{margin-top:30px}.comparison>div:first-child{display:flex;justify-content:space-between;gap:14px;font-size:13px;margin-bottom:13px}.comparison span{color:#95899f}.market-hero{background:#eeeafa;border:1px solid #e7dff7;border-radius:18px;padding:28px;margin-bottom:22px}.market-hero>span{font-size:14px;color:#9486ad}.market-hero h1{font-size:40px;margin:12px 0}.market-hero p{margin-bottom:20px}.cart-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:15px;padding:23px;background:#eeeafa;margin-bottom:23px;position:sticky;top:0;z-index:3}.cart-summary span{font-size:12px;color:#9182a6}.cart-summary h2{margin-top:7px}.cart-summary.over{background:#ffe9e8}.cart-summary.near{background:#fff2d9}.budget-alert{padding:14px;border-radius:12px;background:#fff3df;color:#aa7a48}.shopping-layout{display:grid;grid-template-columns:2fr 1fr;gap:22px}.shopping-row{display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.shopping-row>div{flex:1}.shopping-row b{display:block;font-size:15px}.shopping-row small{display:block;margin-top:5px}.item-check{width:28px;height:28px;border:2px solid #ddd4ed;background:white;border-radius:9px;color:white;font-size:17px;flex-shrink:0}.bought .item-check{background:var(--purple);border-color:var(--purple)}.bought b{text-decoration:line-through;color:#aaa}.price-button{background:none;color:#5d5270;font-size:15px;text-align:right}.price-button small{font-size:10px}.always-list p{font-size:13px;margin-bottom:24px}.always-list h3{margin-top:18px}.always-item{display:flex;justify-content:space-between;width:100%;padding:13px 0;border-bottom:1px solid var(--line);background:none;color:#8d819e;font-size:14px}.always-list .text-button{display:block;margin-top:20px}.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.profile-card{text-align:center;padding:30px 18px}.profile-card h2{margin:16px 0}.profile-card p{font-size:13px;margin:20px 0}.profile-card .secondary{font-size:11px}.child-future{font-size:12px;line-height:2;color:#a28eaf;background:#faf8ff;padding:13px;border-radius:10px}.child-future small{display:block;font-size:10px;line-height:1.7;margin-top:9px}.toggle{width:48px;height:27px;border-radius:30px;background:#dad4e4;padding:4px;flex-shrink:0}.toggle span{width:19px;height:19px;display:block;border-radius:50%;background:white}.toggle.on{background:var(--purple)}.toggle.on span{margin-left:auto}.settings-panel h3{font-size:16px}.settings-panel p{max-width:580px}.empty{text-align:center;padding:32px;font-size:30px}.empty h3{margin-top:15px}.footnote{font-size:12px;margin-top:20px}.count{font-size:12px;color:#aa9eba;margin-left:8px}.bottom-nav,.mobile-menu{display:none}.icon-button{background:none;font-size:24px;color:#82758f;border-radius:6px}.login{min-height:100vh;background:radial-gradient(ellipse at 70% 20%,#efe5fe,transparent 55%),#faf9fd;display:flex;flex-direction:column;align-items:center;padding:40px 20px}.login-brand{display:flex;gap:10px;align-items:center;color:#81738f;font-size:24px}.login-brand b{color:#3d344b}.login-card{width:min(680px,100%);text-align:center;margin:auto;padding:50px 10px}.login-card h1{font-size:44px;margin:18px 0}.purple{color:var(--purple)}.login-card>p{max-width:440px;margin:0 auto;font-size:16px}.login-avatars{display:flex;justify-content:center;gap:10px;margin:30px 0}.login-card h3{margin-bottom:20px}.login-options{display:flex;justify-content:center;gap:15px}.profile-choice{background:#fff;border:1px solid #e9e0f6;border-radius:15px;padding:22px 27px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;max-width:240px}.profile-choice b{font-size:16px}.profile-choice>span:last-child{font-size:12px;color:#a092b2;width:100%}.demo-note{font-size:12px;line-height:1.6;color:#aaa0b7;max-width:460px;margin:26px auto}.login footer{font-size:12px;color:#a197ac}dialog{border:1px solid #e6dff0;border-radius:20px;width:min(520px,calc(100% - 32px));padding:25px;color:var(--ink);max-height:88vh;overflow:auto;box-shadow:0 20px 80px #302d4340}dialog::backdrop{background:#30243c70;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px}.modal-head h2{font-size:23px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#8a789b;margin:14px 0}input,select{border:1px solid #e4dced;padding:11px 12px;border-radius:9px;width:100%;background:#fff;color:#514359;outline-color:#aa8ce5;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.form-error{color:#c26669;font-size:13px}.history{background:#faf8fe;padding:13px;border-radius:10px;margin-top:16px}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);padding:15px 22px;background:#453851;color:white;box-shadow:0 8px 35px #3c234633;border-radius:13px;font-size:14px;opacity:0;pointer-events:none;z-index:1000;max-width:calc(100% - 30px);transition:all .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.confetti{position:fixed;inset:0;pointer-events:none;z-index:1001;overflow:hidden}.confetti i{position:absolute;top:-20px;left:var(--x);width:8px;height:13px;border-radius:2px;animation:fall 1.5s var(--d) ease-in forwards}@keyframes fall{to{transform:translateY(100vh) rotate(var(--r));opacity:0}}@media(min-width:1500px){.content{padding-top:45px}.chart{height:220px}.welcome-banner{min-height:235px}.stat h2{font-size:28px}}@media(max-width:1150px){.sidebar{width:210px;padding:30px 16px}.content{padding:25px}.topbar{padding:0 25px}main{margin-left:210px}.welcome-banner{padding:25px}.banner-family{min-width:240px;padding:15px 0}.banner-family .avatar.large{width:49px;height:49px;font-size:28px}.stats{gap:10px}.stat{padding:16px 12px}.stat h2{font-size:22px}.stat small{font-size:10px}.dashboard-grid{grid-template-columns:1fr}.next-bills .status{display:inline}.home-bottom{grid-template-columns:1.8fr 1fr}.profile-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){body{font-size:16px}.sidebar{display:none}.sidebar.open{display:flex;width:265px;box-shadow:20px 0 100px #302d4360}.sidebar nav a{font-size:14px;padding:11px}.sidebar-bottom{padding-top:10px}.little-note{display:none}main{margin-left:0}.topbar{height:65px;padding:0 20px}.topbar>span{font-size:12px}.breadcrumb{display:none}.topbar>div{gap:10px}.mobile-menu{display:block}.content{padding:25px 18px 30px}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:29px}.page-heading p{font-size:14px}.page-heading>.secondary{padding:10px;font-size:11px;margin-top:26px;max-width:130px}.eyebrow{font-size:10px}.welcome-banner{padding:23px;min-height:260px;display:block}.welcome-banner h2{font-size:23px}.welcome-banner p{font-size:13px}.banner-family{align-items:flex-end;position:absolute;right:12px;bottom:16px;min-width:0;padding:0}.banner-family .avatar.large{width:36px;height:36px;font-size:21px;border-width:2px}.family-orbits{gap:2px}.banner-family>span{display:none}.family-stamp{display:none}.banner-link{margin-top:20px}.banner-label{font-size:8px}.stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:16px 13px;min-height:137px}.stat h2{font-size:23px}.stat small{font-size:11px}.stat p{font-size:11px;line-height:1.5}.stat-icon{width:26px;height:26px;font-size:18px}.tiny-tag{display:none}.panel{padding:20px 16px}.panel-heading h3{font-size:17px}.panel-heading p{font-size:12px}.period{font-size:10px;max-width:80px;text-align:center}.chart{height:195px}.bar{width:14px}.bars{gap:5px}.axis{font-size:10px}.bar-group small{font-size:11px}.chart-foot{font-size:10px}.chart-foot>span:last-child{display:none}.bill-row{flex-wrap:wrap;gap:9px}.bill-name b{font-size:14px}.bill-name small{font-size:11px;line-height:1.5}.bill-value{font-size:13px}.bill-icon{width:32px;height:32px}.bill-row .status{font-size:10px}.pay-button{font-size:12px;padding:9px 10px}.next-bills .status{display:none}.gentle-note{font-size:12px;line-height:1.5}.home-bottom{grid-template-columns:1fr}.goals-grid{gap:12px}.goal-info{padding:15px 12px}.goal-info h3{font-size:14px;line-height:1.5}.goal-info p{font-size:11px;line-height:1.5;min-height:32px}.goal-amount{flex-wrap:wrap;gap:8px;font-size:11px}.goal-amount small{font-size:10px}.text-button{font-size:11px;line-height:1.6}.goal-art{height:110px}.goal-scope{font-size:10px}.goal-art>span:first-child{font-size:46px}.market-teaser{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;position:relative}.market-emoji{position:absolute;top:20px;right:20px}.market-teaser .eyebrow,.market-teaser h2,.market-teaser p{grid-column:1/-1}.market-teaser h2 br{display:none}.market-teaser p{max-width:80%;font-size:13px}.market-budget{margin:5px 0 0}.market-budget small{font-size:11px}.market-teaser .link-button{margin-top:10px;align-self:center;font-size:12px;padding:12px}.market-teaser .link-button span{display:none}.main-footer{padding:10px 20px 100px;font-size:11px}.main-footer span{display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#ffffffef;backdrop-filter:blur(16px);border-top:1px solid #eae5f2;padding:10px 5px calc(10px + env(safe-area-inset-bottom));z-index:20}.bottom-nav a{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;color:#a395b1;padding:0 9px;font-size:11px}.bottom-nav a span{font-size:23px;line-height:1}.bottom-nav a.active{color:var(--purple)}.planning-grid,.shopping-layout{grid-template-columns:1fr}.full-goals{grid-template-columns:1fr}.full-goals .goal-art{height:155px}.full-goals .goal-info{padding:22px}.full-goals .goal-info p{min-height:0;font-size:14px}.full-goals .goal-amount{font-size:14px}.full-goals .goal-amount small{font-size:12px}.cart-summary{display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:15px}.cart-summary h2{font-size:21px}.cart-summary span{font-size:11px}.cart-summary .primary{font-size:12px;padding:13px}.shopping-row{gap:10px}.shopping-row b{font-size:15px}.shopping-row small{font-size:11px}.summary-strip{font-size:12px}.summary-strip b{font-size:18px}.profile-grid{grid-template-columns:1fr 1fr;gap:12px}.profile-card{padding:22px 12px}.profile-card h2{font-size:22px}.profile-card p{font-size:12px}.profile-card .secondary{font-size:12px;padding:10px}.profile-card .avatar.large{width:60px;height:60px;font-size:34px}.child-future{font-size:11px;padding:10px}.settings-panel .plan-line{flex-wrap:wrap}.settings-panel .plan-line .secondary{margin-top:8px}.plan-line{font-size:13px}.plan-line p{font-size:13px}.comparison>div:first-child{font-size:12px;flex-wrap:wrap}.milestone-note{font-size:24px;gap:10px}.milestone-note p{font-size:13px}.login{padding:30px 20px}.login-card{padding:45px 0}.login-card h1{font-size:33px}.login-card>p{font-size:15px}.login-options{gap:10px}.profile-choice{padding:17px 12px;flex:1}.profile-choice>span:last-child{font-size:11px}.login-brand{font-size:22px}.form-grid{grid-template-columns:1fr}.form-grid label{margin:9px 0}#toast{bottom:92px;font-size:13px;width:max-content;max-width:calc(100% - 30px)}.footnote{font-size:12px}.section-heading h2{font-size:19px}.text-link{font-size:12px}small{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Recovery states only; the existing application styling is preserved. */
[hidden]{display:none!important}.startup-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:25px;text-align:center;background:var(--bg)}.startup-screen h1{font-size:32px}.startup-screen p{font-size:16px;max-width:450px}.startup-screen .brand-icon{width:58px;height:58px;font-size:42px}.dialog-fallback{position:fixed;top:50%;left:50%;margin:0;transform:translate(-50%,-50%);z-index:100;display:block;box-shadow:0 0 0 100vmax #30243c70,0 20px 80px #302d4340}
/* Existing surfaces reused for real edit controls and additional financial history. */
.edit-inline{margin-left:15px}.finance-history{margin-top:22px;margin-bottom:22px}.sidebar nav{overflow-y:auto;min-height:0}.sidebar-bottom{flex-shrink:0}
/* Local mode additions; original visual identity preserved above. */
.local-notice{font-size:12px;color:#766f8e;background:#f0ebff;border-radius:12px;padding:10px 14px;margin:0 0 22px}.local-notice a{color:#7257dc;font-weight:700}.financial-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.financial-extras .plan-line{align-items:flex-start;flex-wrap:wrap;gap:10px}.financial-extras small,.agenda-grid small{display:block;color:#817b92;margin-top:6px}.agenda-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.agenda-grid .plan-line{gap:12px;align-items:flex-start;flex-wrap:wrap}.purchase-detail{padding:15px 0;border-bottom:1px solid #f0edf5}.purchase-detail summary{cursor:pointer;font-weight:600}.confirm-check{display:flex;align-items:center;gap:12px}.confirm-check input{width:auto}.checked{background:#7257dc;color:white}.settings-panel .gentle-note{margin-bottom:24px;line-height:1.7}.bill-row .text-button{font-size:11px}.bill-row{flex-wrap:wrap}.goal-info .text-button{margin-right:10px}.shopping-row{gap:10px}.form-grid input,.form-grid select{min-width:0}.local-error{padding:30px}
@media(max-width:700px){.financial-extras,.agenda-grid{grid-template-columns:1fr}.panel-heading{gap:10px;flex-wrap:wrap}.settings-panel .plan-line{flex-wrap:wrap;gap:12px}.shopping-row{grid-template-columns:32px minmax(0,1fr) 78px}.bill-name{min-width:100px}.plan-line>div{min-width:0;overflow-wrap:anywhere}.stat h2{font-size:24px}.local-notice{font-size:11px}.cart-summary{gap:12px}.cart-summary h2{font-size:20px}}

.quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}.purchase-detail .plan-line{gap:16px}.bill-name small{overflow-wrap:anywhere}
