@charset "UTF-8";
:root{--ink:#293d36;--muted:#64766e;--green:#477962;--green-dark:#315e4c;--mint:#e5f0e8;--lilac:#eee9f5;--peach:#f8eae0;--blue:#e7eff7;--paper:#fafbf7;--line:#e3e8e0;--radius:24px}
*{box-sizing:border-box}html{font-size:17px;scroll-behavior:smooth;scroll-padding-top:30px}body{font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}a{color:var(--green-dark);text-underline-offset:4px}button,a,input,textarea,select{touch-action:manipulation}h1,h2,h3{color:var(--ink);line-height:1.2;letter-spacing:-.035em;font-weight:650}h1{font-size:clamp(2rem,4.25vw,3.5rem)}h2{font-size:1.5rem}h3{font-size:1.08rem;letter-spacing:-.02em}p{margin-bottom:1rem}small,.small{font-size:.8rem;line-height:1.5}.soft-text,small{color:var(--muted)}.btn{font-size:.88rem;font-weight:600;border-radius:12px;padding:.75rem 1.15rem;border-width:1px;box-shadow:none!important;line-height:1.4}.btn-lg{padding:1rem 1.4rem}.btn-sm{padding:.5rem .8rem;font-size:.8rem}.btn-primary{--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green-dark);--bs-btn-hover-border-color:var(--green-dark);--bs-btn-active-bg:var(--green-dark);--bs-btn-disabled-bg:#7a9485;--bs-btn-disabled-border-color:#7a9485}.btn-dark{background:var(--ink);border-color:var(--ink)}.btn-outline-dark{--bs-btn-color:var(--ink);--bs-btn-border-color:#bacac0;--bs-btn-hover-bg:var(--ink);--bs-btn-hover-border-color:var(--ink)}.btn-light{background:#f0f3ed;border-color:#f0f3ed}.form-control,.form-select{border:1px solid #cfd9d0;border-radius:10px;background-color:#fff;padding:.75rem .85rem;font-size:.9rem;color:var(--ink)}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 3px #47796222}.form-control::placeholder{color:#8a978f}label{font-size:.85rem;font-weight:600}label small{display:block;margin-top:7px;font-weight:400}textarea{resize:vertical}.form-check-input:checked{background-color:var(--green);border-color:var(--green)}:focus-visible{outline:3px solid #8c76b2!important;outline-offset:3px}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:#fff;padding:12px;border:2px solid var(--green)}.skip-link:focus{top:10px}.mint{background:var(--mint)!important}.lilac{background:var(--lilac)!important}.peach{background:var(--peach)!important}.blue{background:var(--blue)!important}.tiny-label,.eyebrow{display:block;font-size:.66rem;letter-spacing:.14em;font-weight:700;color:#5f7668}.eyebrow{margin-bottom:18px}.status-dot{width:7px;height:7px;display:inline-block;flex-shrink:0;border-radius:100%;background:#75a98b;margin-right:6px}.pill{display:inline-flex;background:#edf3eb;border:1px solid #dce6d9;border-radius:30px;padding:5px 11px;font-size:.66rem;font-weight:650;letter-spacing:.035em;line-height:1.5}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;font-size:1.26rem;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.brand-mark{width:40px;height:40px;border-radius:13px;background:#e2eee2;display:flex;align-items:center;justify-content:center;gap:1px;color:var(--green);font-size:21px;line-height:1;letter-spacing:-3px;padding-right:3px}.brand-mark span{color:#c995ac;font-size:15px;align-self:center}.brand-caption{display:block;font-size:.58rem;font-weight:400;letter-spacing:.02em;margin-top:3px}.public-header{height:100px;display:flex;justify-content:space-between;align-items:center;gap:20px}.public-header nav{display:flex;align-items:center;gap:30px}.public-header nav>a:not(.btn){font-size:.83rem;text-decoration:none;color:var(--muted)}.public-content{overflow:hidden}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:35px;min-height:570px;padding:35px 0 65px}.hero h1{font-size:clamp(3rem,5.3vw,4.65rem);letter-spacing:-.065em;line-height:1.08;margin-bottom:25px}.hero h1 span{color:#6e8e7d}.hero-copy>p{font-size:1.05rem;max-width:470px;color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px;flex-wrap:wrap}.hero-actions .btn span{margin-left:16px}.quiet-link{font-size:.8rem;text-decoration:none;color:var(--muted)}.hero-reassurance{display:flex;gap:18px;color:#718478;font-size:.68rem;margin-top:24px;flex-wrap:wrap}.hero-visual{position:relative;min-width:0}.family-stage{text-align:center;position:relative}.family-art{width:100%;height:auto;max-height:460px;display:block}.illustration-label{display:inline-block;font-size:.72rem;letter-spacing:.04em;color:#839387}.adult-skirt{display:none}.family-stage.family-1 .adult-left .adult-skirt,.family-stage.family-2 .adult-right .adult-skirt,.family-stage.family-3 .adult-skirt{display:block}.family-stage.boy .child-symbol{fill:#9dc5df;stroke:#9dc5df}.family-stage.boy .child-skirt{display:none}.floating-note{position:absolute;right:3%;bottom:11%;display:flex;align-items:center;gap:13px;background:#ffffffed;border:1px solid #fff;border-radius:16px;padding:14px 20px;box-shadow:0 10px 40px #3c4e3810;transform:rotate(-3deg)}.floating-note strong{display:block;font-size:.8rem}.floating-note small{font-size:.68rem}.note-icon{font-size:25px;color:#a87998;background:#f5edf2;border-radius:11px;padding:2px 10px}.trust-strip{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.72rem;color:var(--muted);gap:20px}.trust-strip strong{color:var(--ink);font-weight:500}.section-space{padding:90px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:20px}.section-heading h2,.child-banner h2,.pricing-section h2,.closing-note h2{font-size:2.5rem;line-height:1.15;letter-spacing:-.045em}.section-heading>p{color:var(--muted);font-size:.88rem;margin:0 0 5px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{padding:26px 24px 50px;border-radius:var(--radius);position:relative;min-height:280px}.feature-icon{font-size:26px;display:flex;width:43px;height:43px;align-items:center;justify-content:center;background:#ffffff7d;border-radius:13px;margin-bottom:25px;color:#5e7668}.feature-card h3{font-size:1.05rem;margin-bottom:14px}.feature-card p{font-size:.8rem;line-height:1.8;margin:0;color:#5c6d64}.card-arrow{position:absolute;right:23px;bottom:20px}.child-banner{background:#eef2e9;border-radius:32px;padding:50px 55px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.child-banner p,.pricing-section>div>p{font-size:.9rem;max-width:440px;color:var(--muted);line-height:1.85}.text-link{font-size:.85rem;text-decoration:none;font-weight:600}.message-preview{background:#ffffff80;padding:28px;border:1px solid #fff;border-radius:24px;box-shadow:0 12px 25px #43503905;transform:rotate(2deg)}.sample-message{display:flex;gap:12px;margin-top:25px}.sample-message p{background:#fff;padding:15px;border-radius:0 15px 15px;font-size:.8rem;line-height:1.5}.sample-message small,.sample-reply small{display:block;margin-top:8px;font-size:.6rem}.sample-reply{background:#dbe8dd;border-radius:15px 0 15px 15px;margin:0 0 20px 70px;padding:16px;font-size:.8rem}.sample-caption{font-size:.58rem;color:#7b8a80}.pricing-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.pricing-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:35px;box-shadow:0 15px 35px #31442f05}.pricing-card h3{font-size:1.35rem;margin:20px 0}.check-list{padding:0;list-style:none}.check-list li{font-size:.85rem;padding:8px 0 8px 25px;position:relative;color:#576c5d}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--green)}.tester-note{background:#f2f4e9;border:1px solid #e4e8d6;border-radius:13px;padding:16px 18px;margin:20px 0}.tester-note strong{display:block;font-size:.84rem}.tester-note span{display:block;font-size:.73rem;line-height:1.6;margin-top:4px;color:var(--muted)}.closing-note{text-align:center;padding:55px 20px 65px;border-top:1px solid var(--line)}.closing-note h2{margin-bottom:25px}.site-footer{display:flex;align-items:center;justify-content:space-between;padding:28px 35px;border-top:1px solid var(--line);color:#7b897e;font-size:.65rem;gap:20px;max-width:1320px;margin:auto}.site-footer>div{display:flex;gap:20px}.site-footer a{color:#6e7f72;text-decoration:none}.public-site .site-footer{margin-top:35px}.local-badge{font-size:.62rem;color:#697b66;border:1px solid #e0e6d8;border-radius:7px;padding:5px 10px;background:#f1f4e9;margin:10px 0 18px;display:inline-block}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.panel>h2{margin-bottom:16px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panel-heading h2{font-size:1.13rem;margin:0}.panel-heading>a{font-size:.72rem;white-space:nowrap;text-decoration:none}.stack-form{display:flex;flex-direction:column;gap:18px}.stack-form label{display:flex;flex-direction:column;gap:7px}.stack-form .checkbox-line,.checkbox-line{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:.77rem}.checkbox-line input{flex-shrink:0;margin-top:.25rem}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px}.two-column>*,.dashboard-grid>*,.expenses-layout>*,.messages-layout>*{min-width:0}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1000px;margin:50px auto 80px;align-items:center}.auth-intro h1{font-size:2.8rem;margin-bottom:22px}.auth-intro>p{color:var(--muted);font-size:.95rem;max-width:390px}.auth-intro .family-stage{max-width:370px}.auth-panel{max-width:480px;width:100%;padding:35px}.auth-panel h1{font-size:2rem}.auth-panel h2{margin:20px 0 10px}.auth-panel .btn{width:100%}.auth-footnote{font-size:.8rem;text-align:center;margin:24px 0 0}.centered{margin:60px auto 90px}.secret-code{display:block;background:#f3f0f8;padding:20px;border-radius:14px;overflow-wrap:anywhere;margin-bottom:20px;color:#554b69}.prose{max-width:800px;padding:40px}.prose h1{font-size:2.4rem}.alert{border-radius:12px;font-size:.86rem;line-height:1.7}.alert-success{background:#e7f1e9;border-color:#cbded0;color:#2f5942}.alert-danger{background:#faece7;border-color:#e9c9be;color:#7c3c2d}.alert-warning{background:#faf2dc;border-color:#eadbb0;color:#6a5729}.workspace{background:#f6f8f3}.sidebar{position:fixed;left:0;top:0;bottom:0;width:244px;background:#fff;border-right:1px solid var(--line);padding:30px 20px 20px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{font-size:1.12rem;gap:8px}.sidebar .brand-mark{width:35px;height:35px}.sidebar-family{background:#f5f7f0;border-radius:15px;padding:17px 14px;margin:32px 0 24px}.sidebar-family .tiny-label{font-size:.51rem;letter-spacing:.09em;margin-bottom:8px}.sidebar-family strong{display:block;font-size:.9rem}.sidebar-family>.soft-text{display:block;font-size:.66rem;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;text-decoration:none;color:#6a796e;font-size:.83rem;padding:12px 15px;border-radius:11px}.nav-item:hover{background:#f4f7f0;color:var(--green-dark)}.nav-item.active{color:#37684e;background:#e9f1e6;font-weight:600}.nav-symbol{font-size:19px;font-weight:400;width:20px;text-align:center;line-height:1.1}.sidebar-upgrade{display:block;text-decoration:none;background:#f3edf7;border:1px solid #eae1f0;border-radius:13px;padding:15px;margin-top:auto;color:#6f5a85;font-size:.75rem}.sidebar-upgrade span{font-weight:650}.sidebar-upgrade small{display:block;color:#8b789d;margin:6px 0 0;font-size:.65rem}.sidebar-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:.73rem}.sidebar-bottom>span:nth-child(2){overflow:hidden;flex:1}.sidebar-bottom strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom small{display:block;font-size:.6rem}.logout{border:0;background:none;color:var(--muted);font-size:21px}.avatar{width:36px;height:36px;border-radius:12px;background:#e4ede4;color:#52715d;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;font-weight:650;font-size:.85rem}.avatar.pink{background:#f4e4ea;color:#a46e85}.app-content{margin-left:244px;min-height:100vh}.app-header{height:83px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fafbf7;font-size:.75rem}.small-link{font-size:.75rem;text-decoration:none}.app-main{padding:24px 40px 45px;max-width:1520px;margin:auto;min-height:calc(100vh - 170px)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:6px 0 28px;gap:20px}.page-heading .eyebrow{margin-bottom:9px;font-size:.58rem}.page-heading h1{font-size:1.9rem;margin:0;letter-spacing:-.04em}.date-chip{font-size:.68rem;color:#697b6c;border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 12px;white-space:nowrap}.welcome-card{background:#e7f0e5;border:1px solid #dce7d8;border-radius:var(--radius);padding:34px 40px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:20px;min-height:300px;overflow:hidden}.welcome-card h2{font-size:2.1rem;margin:20px 0 14px;line-height:1.23}.welcome-card p{font-size:.85rem;color:#6d806e;max-width:365px}.welcome-art .family-art{max-height:270px}.welcome-art .illustration-label{font-size:.55rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.child-row{display:flex;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid #edf0e9}.child-row:last-child{border:0}.child-row>div{flex:1}.child-row strong{font-size:.85rem}.child-row small{display:block;margin-top:3px;font-size:.7rem}.empty-state{text-align:center;padding:30px 20px}.empty-state>span{display:block;font-size:30px;color:#8ea491;margin-bottom:15px}.empty-state h3{font-size:1rem}.empty-state p{font-size:.8rem;color:#7c8c7e;max-width:350px;margin:12px auto 20px}.empty-state.compact{padding:20px 10px}.message-snippet{padding:15px 0;border-bottom:1px solid var(--line)}.message-snippet strong{font-size:.8rem}.message-snippet small{float:right;font-size:.62rem}.message-snippet p{font-size:.78rem;color:#6a7b6e;margin:8px 0}.gentle-tip{display:flex;align-items:center;gap:18px;background:#f1eee4;border:1px solid #e8e3d4;border-radius:17px;padding:20px 24px;margin-top:25px}.gentle-tip>span{font-size:28px;color:#a08b5e}.gentle-tip p{font-size:.77rem;color:#7c765f;margin:0;flex:1}.gentle-tip strong{color:#5b614d}.gentle-tip a{font-size:.72rem;white-space:nowrap;text-decoration:none}.calendar-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,1fr);gap:24px}.calendar-side{display:flex;flex-direction:column;gap:24px}.calendar-side h2{font-size:1.1rem}.calendar-side p{font-size:.82rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;font-size:.63rem;color:#859382;padding:8px}.calendar-day{min-height:74px;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid transparent}.calendar-day>span{font-size:.8rem;font-weight:600}.calendar-day>small{font-size:.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day.today{border:2px solid var(--green)}.parent-a{background:#dfeee0}.parent-b{background:#eae3f2}.unplanned{background:#f2f3ed;color:#7d897b}.calendar-day.filler{background:transparent}.calendar-legend{display:flex;flex-wrap:wrap;gap:15px;margin:20px 0;font-size:.66rem;color:#71816f}.calendar-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:3px;display:inline-block}.calendar-child-select{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-child-select label{font-size:.7rem}.calendar-child-select select{width:auto;font-size:.75rem;padding:.4rem 2rem .4rem .7rem}.month-navigation{display:flex;gap:6px}.month-navigation .btn{padding:6px 11px}.check-row{display:flex;gap:10px;align-items:center;font-size:.78rem;padding:6px 0}.check-button{border:0;background:none;color:#8c9e89;font-size:22px;line-height:1.2}.check-button.done{color:var(--green)}.record-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);font-size:.8rem}.record-row:last-child{border-bottom:0}.record-row>div{flex:1}.record-row small{display:block;margin-top:4px;font-size:.67rem}.messages-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:24px}.message-feed{display:flex;flex-direction:column;gap:18px}.message-bubble{background:#f1f3ed;border-radius:15px 15px 15px 0;padding:18px 20px;margin-right:30px}.message-bubble.own{background:#e6eee1;margin:0 0 0 30px;border-radius:15px 15px 0 15px}.message-bubble header{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.74rem}.message-bubble time{font-size:.59rem;color:#7a8a75}.message-bubble p{font-size:.84rem;margin:13px 0;overflow-wrap:anywhere}.message-bubble small{font-size:.58rem}.compose-panel{align-self:start;position:sticky;top:20px}.preview-box{background:#f5f2e9;border:1px solid #e8e3d6;padding:20px;border-radius:15px;margin-bottom:20px;font-size:.83rem;overflow-wrap:anywhere}.preview-box ul{font-size:.75rem;padding-left:18px;margin:10px 0}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.stat-card{border:1px solid #dce3d5;border-radius:20px;padding:22px 25px;display:flex;flex-direction:column;gap:10px}.stat-card>span{font-size:.72rem;color:#677a68}.stat-card strong{font-size:1.65rem;letter-spacing:-.04em}.stat-card small{font-size:.65rem}.expenses-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:24px}.expense-record{padding:12px 0 22px;border-bottom:1px solid var(--line)}.expense-record:last-child{border:0}.expense-record .record-row{border:0}.expense-record h3{margin:7px 0;font-size:1rem}.expense-record .tiny-label{font-size:.52rem}.expense-amount{font-size:1.08rem;white-space:nowrap}.expense-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.file-link{display:block;font-size:.78rem;margin-top:12px;text-decoration:none}.file-link small{margin-left:5px}.privacy-banner{display:flex;gap:20px;align-items:center;background:#eae6f0;border:1px solid #dfd8e8;border-radius:20px;padding:25px 30px;margin-bottom:25px}.privacy-banner>span:first-child{font-size:38px;color:#9482a6}.privacy-banner>div{flex:1}.privacy-banner p{font-size:.8rem;color:#7c7289;margin:4px 0 0;max-width:650px}.file-row{display:flex;gap:15px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none}.file-row>div{flex:1;min-width:0}.file-row strong{display:block;font-size:.8rem;overflow-wrap:anywhere}.file-row small{display:block;margin-top:4px;font-size:.65rem}.file-icon{display:flex;align-items:center;justify-content:center;background:#f1edf5;color:#8e7ba3;border-radius:10px;width:42px;height:44px;font-size:.59rem;font-weight:700;flex-shrink:0}.private-note{padding:16px 0;border-bottom:1px solid var(--line)}.private-note p{font-size:.85rem;margin:8px 0;overflow-wrap:anywhere}.private-note small{font-size:.63rem}.family-child{padding:22px 0;border-bottom:1px solid var(--line)}.family-child:last-child{border:0}.family-child>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.family-child .stack-form{max-width:600px}.location-card{border-radius:18px;padding:25px}.location-card small{font-size:.7rem}.price{font-size:2.8rem;font-weight:650;letter-spacing:-.04em}.price small{display:block;font-weight:400;letter-spacing:0;font-size:.75rem}.table{--bs-table-color:var(--ink);font-size:.8rem;--bs-table-border-color:var(--line)}.table thead{font-size:.68rem;color:var(--muted)}.table small{font-size:.65rem}.table td{padding:18px 10px}.table .btn{font-size:.66rem}fieldset legend{font-size:.85rem;font-weight:600;margin-bottom:12px}.prose p{font-size:.9rem;color:#657669}.workspace .site-footer{max-width:none;padding:25px 40px}
.family-stage .adult{fill:#b5d3eb;stroke:#b5d3eb}
.family-stage.family-1 .adult-left,.family-stage.family-2 .adult-right,.family-stage.family-3 .adult{fill:#e8bbcc;stroke:#e8bbcc}
.family-stage .child-symbol{fill:#ca7598;stroke:#ca7598}
.family-stage.boy .child-symbol{fill:#649bc5;stroke:#649bc5}
.public-site.scene-1{background:#faf9f5}.public-site.scene-2{background:#f8faf8}.public-site.scene-3{background:#faf8fb}.workspace.scene-1{background:#f8f7f2}.workspace.scene-2{background:#f3f8f5}.workspace.scene-3{background:#f7f5f9}
@media(min-width:1200px){.container-xl{max-width:1160px}}
@media(max-width:1100px){.app-main{padding:24px}.app-header{padding:0 24px}.sidebar{width:218px;padding:25px 15px}.app-content{margin-left:218px}.sidebar .brand{font-size:1rem}.calendar-layout{grid-template-columns:1fr}.calendar-side{display:grid;grid-template-columns:1fr 1fr}.expenses-layout{grid-template-columns:1fr}.expenses-layout>div{display:grid;grid-template-columns:1fr 1fr;gap:24px}.expenses-layout>div>.mt-4{margin-top:0!important}.feature-grid{grid-template-columns:1fr 1fr}.feature-card{min-height:240px}.hero{gap:10px}.hero h1{font-size:3.6rem}.auth-layout{gap:50px}.child-banner{gap:35px;padding:40px}.pricing-section{gap:50px}.messages-layout{grid-template-columns:1fr}.compose-panel{position:static}.dashboard-grid{gap:18px}.welcome-card{padding:30px}.welcome-card h2{font-size:1.8rem}.record-row{flex-wrap:wrap}.record-row>.pill{max-width:100%}}
@media(max-width:767px){body{font-size:15px}.container-xl{padding-left:22px;padding-right:22px}.public-header{height:80px}.public-header nav{gap:10px}.public-header nav>a:not(.btn){display:none}.brand{font-size:1.1rem}.hero{grid-template-columns:1fr;padding:30px 0 40px;gap:10px}.hero h1{font-size:3.25rem;line-height:1.08}.hero-copy>p{font-size:.94rem;max-width:100%}.hero-visual{max-width:440px;width:100%;margin:auto}.hero-visual .family-art{max-height:320px}.floating-note{padding:9px 13px;bottom:8%;right:0}.floating-note strong{font-size:.72rem}.floating-note small{font-size:.62rem}.hero-actions{gap:18px;margin-top:23px}.hero-actions .btn{padding:14px 18px;font-size:.85rem}.hero-reassurance{font-size:.6rem;gap:12px}.trust-strip{align-items:start;flex-direction:column;gap:7px;padding:20px 0;font-size:.65rem}.section-space{padding:55px 0}.section-heading{display:block}.section-heading h2,.child-banner h2,.pricing-section h2,.closing-note h2{font-size:2.05rem}.section-heading>p{margin-top:17px;font-size:.8rem}.feature-grid{gap:12px}.feature-card{padding:20px 17px 40px;min-height:260px;border-radius:20px}.feature-icon{margin-bottom:20px}.feature-card h3{font-size:.97rem}.feature-card p{font-size:.73rem;line-height:1.7}.child-banner{grid-template-columns:1fr;padding:30px 25px;gap:25px;border-radius:24px}.child-banner p{font-size:.82rem}.message-preview{padding:20px}.pricing-section{grid-template-columns:1fr;gap:25px}.pricing-card{padding:25px}.closing-note{padding:40px 10px}.site-footer{flex-direction:column;align-items:start;padding:25px 22px;gap:10px;font-size:.6rem}.auth-layout{grid-template-columns:1fr;margin:25px 0 45px;gap:25px}.auth-intro h1{font-size:2.2rem}.auth-intro .family-stage{display:none}.auth-intro>p{font-size:.85rem}.auth-panel{max-width:100%;padding:27px}.centered{margin:30px auto 60px}.sidebar{position:static;width:100%;border-right:0;border-bottom:1px solid var(--line);padding:15px 18px;display:grid;grid-template-columns:1fr auto;gap:15px}.sidebar .brand{font-size:1.1rem}.sidebar .brand-caption{font-size:.55rem}.sidebar .brand-mark{width:34px;height:34px}.sidebar-family,.sidebar-upgrade{display:none}.sidebar nav{grid-column:1/-1;grid-row:2;flex-direction:row;overflow-x:auto;gap:5px;padding-bottom:3px;scrollbar-width:thin}.nav-item{padding:9px 12px;font-size:.7rem;white-space:nowrap;gap:7px}.nav-symbol{font-size:16px;width:15px}.sidebar-bottom{grid-column:2;grid-row:1;margin:0;padding:0;border:0;gap:7px}.sidebar-bottom .avatar{width:29px;height:29px;font-size:.7rem}.sidebar-bottom>span:nth-child(2){display:none}.logout{font-size:20px}.app-content{margin-left:0}.app-header{height:50px;padding:0 20px;font-size:.63rem}.app-header .small-link{font-size:.6rem}.app-main{padding:18px 18px 30px}.page-heading{margin:5px 0 22px;gap:10px}.page-heading h1{font-size:1.5rem}.page-heading .eyebrow{font-size:.5rem;margin-bottom:8px}.date-chip{font-size:.58rem;padding:5px 8px}.local-badge{font-size:.52rem;padding:5px 8px;line-height:1.5;margin-bottom:15px}.welcome-card{grid-template-columns:1fr;padding:25px;gap:0}.welcome-card h2{font-size:1.8rem}.welcome-card p{font-size:.8rem}.welcome-art{max-width:260px;margin:-5px auto 0}.welcome-art .family-art{max-height:180px}.welcome-art .illustration-label{display:none}.panel{padding:22px;border-radius:20px}.panel-heading{flex-wrap:wrap;gap:8px}.panel-heading h2{font-size:1.1rem}.dashboard-grid,.two-column,.summary-grid,.expenses-layout>div{grid-template-columns:1fr;gap:18px}.summary-grid{grid-template-columns:1fr 1fr;gap:12px}.summary-grid .stat-card:last-child{grid-column:1/-1}.stat-card{padding:18px;border-radius:17px;gap:6px}.stat-card strong{font-size:1.3rem}.stat-card>span{font-size:.65rem}.stat-card small{font-size:.58rem}.gentle-tip{padding:18px;flex-wrap:wrap;gap:12px}.gentle-tip p{font-size:.73rem;min-width:200px}.gentle-tip a{margin-left:35px}.calendar-panel{padding:17px}.calendar-day{min-height:61px;padding:6px;border-radius:7px}.calendar-grid{gap:3px}.calendar-day>span{font-size:.72rem}.calendar-day>small{font-size:.48rem}.calendar-side{grid-template-columns:1fr}.calendar-legend{font-size:.6rem;gap:12px}.calendar-child-select{gap:7px}.calendar-child-select label{width:100%}.record-row{font-size:.75rem;gap:10px}.record-row>.pill{font-size:.59rem}.messages-layout{gap:18px}.message-bubble{margin-right:10px;padding:15px}.message-bubble.own{margin-left:10px}.message-bubble header{font-size:.7rem}.message-bubble p{font-size:.8rem}.message-bubble time{font-size:.55rem}.expenses-layout>div>.mt-4{margin-top:0!important}.expense-amount{font-size:.95rem}.privacy-banner{padding:20px;gap:13px}.privacy-banner>span:first-child{font-size:28px}.privacy-banner>.pill{display:none}.privacy-banner p{font-size:.73rem}.workspace .site-footer{padding:20px}.prose{padding:25px}.prose h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{font-size:17px;scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.authenticator-qr{max-width:280px;margin:22px auto;background:#fff;border-radius:12px;overflow:hidden}.authenticator-qr svg{display:block;width:100%;height:auto}

.brand-logo{width:58px;height:52px;flex-shrink:0;object-fit:contain}.public-header .brand{gap:.65rem}

.feature-card{position:relative}.feature-card-link{color:inherit;text-decoration:none}.feature-card-link::after{content:"";position:absolute;inset:0;border-radius:inherit}.feature-card:focus-within{outline:3px solid #647f70;outline-offset:4px}.feature-card:hover .card-arrow{transform:translate(2px,-2px)}.feature-details{display:grid;gap:28px}.feature-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:42px;padding:42px;border-radius:28px;scroll-margin-top:24px}.feature-detail h2{font-size:2rem;letter-spacing:-.035em}.feature-detail p{line-height:1.75}.feature-example{align-self:center;background:#fffaf4;border:1px solid #e7e1d8;border-radius:20px;padding:26px;min-width:0}.feature-example>.tiny-label{display:block;margin-bottom:24px;line-height:1.7}.feature-example h3{font-size:1.15rem}.feature-example .sample-message p{margin-bottom:0}.example-checks{list-style:none;padding:0;margin:22px 0}.example-checks li{display:flex;align-items:center;gap:12px;margin:15px 0}.example-checks span{color:#52725c;font-size:1.3rem}.example-cost{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.example-cost h3{margin:0}.example-cost>strong{white-space:nowrap;font-size:1.4rem}.example-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.example-split>span{padding:16px;border-radius:14px;background:#f7eee5;font-size:.85rem}.example-split strong{display:block;font-size:1.2rem;margin-top:8px}@media(max-width:767px){.feature-detail{grid-template-columns:1fr;padding:26px 22px;gap:26px}.feature-detail h2{font-size:1.7rem}.feature-example{padding:21px}.example-cost{flex-wrap:wrap}}

.brand-wordmark{display:block;width:240px;height:auto;max-width:100%}.sidebar .brand-wordmark{width:218px}@media(max-width:767px){.public-header .brand-wordmark{width:205px}.sidebar .brand-wordmark{width:218px}}@media(max-width:380px){.public-header .brand-wordmark{width:175px}}

/* Selected logo and cream navigation, sticky from the protected area. */
.fixed-brand{position:fixed;top:14px;right:28px;z-index:50;border-radius:9px;box-shadow:0 3px 15px #425b550a}.fixed-brand .brand-wordmark{width:240px;height:auto}.public-header{justify-content:flex-start;padding-right:296px}.workspace{display:grid;grid-template-columns:244px minmax(0,1fr);align-items:start}.workspace .sidebar{grid-column:1;grid-row:1;position:sticky;top:16px;bottom:auto;left:auto;width:100%;height:calc(100vh - 116px);max-height:calc(100vh - 32px);margin-top:100px;background:#fffdf7;border-right:1px solid #e6dac6;overflow-y:auto;overscroll-behavior:contain;padding:20px}.workspace .sidebar-family{margin:0 0 24px;background:#faf4e9}.workspace .sidebar-upgrade{margin-top:auto}.workspace .sidebar nav{margin-bottom:24px}.workspace .app-content{grid-column:2;grid-row:1;margin-left:0;min-width:0}.workspace .app-header{padding-right:300px;min-height:100px}.skip-link{z-index:100}
@media(max-width:1100px) and (min-width:768px){.workspace{grid-template-columns:218px minmax(0,1fr)}.workspace .sidebar{padding:20px 15px}}
@media(max-width:767px){.fixed-brand{top:10px;right:18px}.fixed-brand .brand-wordmark{width:190px}.public-header{height:86px;padding-right:226px;padding-left:18px}.public-header nav{gap:0}.public-header .btn{white-space:nowrap}.workspace{display:block;padding-top:80px}.workspace .sidebar{position:sticky;top:80px;margin-top:0;height:auto;max-height:none;padding:12px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-right:0;border-bottom:1px solid #e6dac6;overflow:visible;z-index:30}.workspace .sidebar-family{display:block;grid-column:1;grid-row:1;padding:0;margin:0;background:transparent}.workspace .sidebar-family .tiny-label{margin:0;font-size:.53rem}.workspace .sidebar-family strong{font-size:.8rem}.workspace .sidebar-family>.soft-text{display:none}.workspace .sidebar nav{grid-column:1/-1;grid-row:2;margin:0;overflow-x:auto}.workspace .sidebar-bottom{grid-column:2;grid-row:1}.workspace .app-header{min-height:50px;padding:0 20px}.workspace .app-content{min-height:70vh}.workspace .app-main{padding-top:18px}}
@media(max-width:380px){.fixed-brand{right:12px}.fixed-brand .brand-wordmark{width:170px}.public-header{padding-right:195px;padding-left:12px}.public-header .btn{padding:.5rem .65rem}}



.message-editor-field>label{display:block;margin-bottom:8px}.message-editor{border:1px solid #cfd9d0;border-radius:12px;background:#fff;overflow:hidden}.message-editor:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #47796222}.message-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px;border-bottom:1px solid #e5e5dc;background:#faf7f0}.editor-tool,.editor-size{border:1px solid #dddcd2;border-radius:7px;background:#fffdf8;color:#425b55;padding:5px 10px;min-height:36px;font-size:.85rem}.editor-tool:hover,.editor-tool[aria-pressed=true]{background:#e5eee4;border-color:#adc1ac}.editor-size{max-width:110px}.message-emojis{display:flex;flex-wrap:wrap;gap:5px;padding:9px;border-bottom:1px solid #e5e5dc}.message-emojis[hidden],.message-editor[hidden]{display:none}.message-rich-input{min-height:190px;max-height:480px;overflow-y:auto;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.6;outline:none!important}.message-rich-input:empty::before{content:attr(data-placeholder);color:#8a978f;pointer-events:none}.message-editor #message-editor-help,.message-editor #message-editor-status{padding:0 12px;font-size:.7rem;margin:8px 0}.message-editor #message-editor-status:empty{display:none}.message-rich{white-space:pre-wrap;overflow-wrap:anywhere;margin:13px 0;line-height:1.7}.message-size-small{font-size:.85rem}.message-size-normal{font-size:1rem}.message-size-large{font-size:1.3rem}.message-snapshot{display:block;max-width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:8px;margin:10px 0}.snapshot-selected{outline:3px solid #8c76b2;outline-offset:2px}.message-editor-field .form-control[hidden]{display:none}
.app-notifications{position:fixed;left:18px;bottom:18px;z-index:1080;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow-y:auto;pointer-events:none;padding:4px}.app-notifications .app-toast{flex-shrink:0;width:100%;max-width:100%;margin:0;pointer-events:auto;border:1px solid #ddd8c9;border-left:4px solid #8da7ae;box-shadow:0 5px 24px #425b5520;background:#fffdf7;border-radius:12px;color:#425b55}.app-toast .toast-header{background:transparent;border-bottom:1px solid #e7e1d7;color:inherit;font-size:.85rem;padding:10px 13px}.app-toast .toast-body{font-size:.88rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 13px}.app-toast.app-toast-success{border-left-color:#6f9d7b;background:#f0f7ef}.app-toast.app-toast-warning{border-left-color:#c49942;background:#fff8e6}.app-toast.app-toast-danger{border-left-color:#bd7482;background:#fff0f1}.app-toast .btn-close{min-width:28px;min-height:28px;margin:0 0 0 12px;padding:5px;background-size:11px}@media(min-width:768px){.workspace .sidebar{top:0;margin-top:0;height:100dvh;max-height:100dvh;border-radius:0}}@media(max-width:767px){.app-notifications{left:10px;bottom:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 100px)}}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.settings-wide{grid-column:1/-1}.settings-grid .panel{min-width:0;align-self:start}.sidebar-account{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:inherit;text-decoration:none;border-radius:10px;padding:5px;margin:-5px}.sidebar-account:hover,.sidebar-account:focus-visible{background:#f5eddf}.sidebar-account>span:nth-child(2){min-width:0;flex:1}.sidebar-account strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-gear{font-size:1.1rem;color:#7d8c7a}.notification-options th,.notification-options td{vertical-align:middle;padding:14px 10px}.notification-options thead th:not(:first-child),.notification-options td{text-align:center}.notification-options .form-check-input{width:1.2rem;height:1.2rem}@media(max-width:767px){.settings-grid{grid-template-columns:1fr;gap:18px}.settings-wide{grid-column:auto}.sidebar-account>span:nth-child(2){display:none}.sidebar-account{gap:7px}.account-gear{font-size:1rem}.notification-options{font-size:.75rem}.notification-options th,.notification-options td{padding:12px 7px}}
