/* Shared account surfaces and readability refinements. */
:root{--ink:#314433;--muted:#687568;--accent:#587b52;--page:#f6f7f2;--surface:#fff;--line:#e5e9df;color-scheme:light}
body{color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button{touch-action:manipulation}.muted,.subtle{color:#677464!important}.small,.subtle{font-size:12px!important}.card p{line-height:1.75}.card h2{font-size:19px;color:#354d38}.btn{font-size:13px!important;min-height:44px;line-height:1.4;letter-spacing:0!important}.btn-primary{background:#587b52;color:white;border-color:#587b52}.btn-secondary{color:#4b6748;border-color:#d8e2d1;background:#f4f7ef}.btn-danger{background:#a7443d;color:white;border:1px solid #a7443d}.btn-ghost{color:#536d4e}.field>span{font-size:13px;color:#465c43}.field input,.field textarea,.field select{color:#354d38;background:#fff;font-size:15px;min-height:46px}.field small{font-size:12px;color:#64705f}input::placeholder,textarea::placeholder{color:#859080}h1,h2,h3{color:#314933}.section-heading h1{color:#314933;font-weight:550;letter-spacing:-.7px}.section-heading .muted{font-size:14px}.card{border-color:#e2e8db;box-shadow:0 4px 18px #223d2104}.badge{color:#526c49;font-size:11px!important}.modal{background:#fff;max-width:calc(100vw - 24px)}.modal-heading h2{color:#314933}.modal .dialog-copy{color:#4e6049}.icon-button{min-width:36px;min-height:36px}.sidebar-account strong,.side-nav-item strong{color:#486641}.side-nav-item small,.sidebar-caption{color:#778672}.main-content{max-width:1500px;margin:0 auto;width:100%}.auth-form-wrap h2{font-size:29px;color:#314d35}.auth-form-wrap .muted{font-size:14px;line-height:1.8}.auth-tabs button{font-size:14px;color:#5c7157}.auth-tabs button.active{color:#385630}.auth-submit{min-height:50px}.code-field{display:flex;gap:10px;align-items:stretch}.code-field input{min-width:0;flex:1}.code-field button{white-space:nowrap;flex-shrink:0;padding:10px 15px}.test-code-note{padding:12px 15px;border-radius:12px;background:#f4ecd9;color:#6d5b33;font-size:13px;line-height:1.7}.test-code-note:empty{display:none}.auth-more{margin:0 0 20px;border:1px solid #e4e9dd;border-radius:12px;padding:12px 15px}.auth-more summary{cursor:pointer;font-size:13px;color:#5e7555;line-height:1.8}.auth-more[open] summary{margin-bottom:18px}.auth-more .field{margin-bottom:12px}.agreement-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:#68735f;line-height:1.9;margin:18px 0}.agreement-check input{flex-shrink:0;margin-top:3px}.agreement-check button{color:#486c40;text-decoration:underline;padding:0 4px;background:none;border:none;font:inherit}.auth-env{color:#8b7955;text-align:center;font-size:11px;line-height:1.7;margin-top:18px}.authorization-state{text-align:center;padding:25px 10px}.authorization-state h3{margin-top:25px}.authorization-state p{font-size:14px;color:#6b7e64;line-height:1.9;margin:18px 0}.legal-copy{line-height:2.2!important;font-size:14px!important;white-space:pre-line}.membership-entry{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:30px;background:#f0eadb;color:#846d3e;font-size:12px;white-space:nowrap;border:1px solid #e6dcc5}.membership-entry svg{width:16px;height:16px}.member-row{display:flex;gap:18px;align-items:center;padding:23px 0;border-bottom:1px solid #edf0e9;min-width:0}.member-row:last-child{border-bottom:0}.member-row>div:first-of-type{flex:1;min-width:0}.member-row strong{font-size:15px;font-weight:550}.member-row p{font-size:13px;margin:6px 0;color:#6b7c64}.member-row small{display:block;font-size:12px;line-height:1.8;color:#7c8673}.member-row .member-avatar{width:52px;height:52px;font-size:27px;flex-shrink:0}.row-actions{display:flex;flex-wrap:wrap;gap:9px}.member-card{background:#f8faf4;border:1px solid #e1e9d8;border-radius:20px;box-shadow:none;padding:25px;text-align:center;min-width:0}.member-card h3{font-size:19px;margin:10px 0;color:#3a5235}.member-card .child-id{font-family:ui-monospace,monospace;font-size:15px;display:flex;align-items:center;justify-content:center;gap:6px;color:#5a7052;margin:10px 0}.member-card>p{color:#637a58;font-size:14px;margin:14px 0}.member-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:14px}.member-actions .btn{padding:10px 13px;font-size:12px!important}.member-actions .btn-ghost{font-size:11px!important}.authorization-card{border-color:#b9cfa6;background:#fbfff5}.invite-code{font-family:ui-monospace,monospace;font-size:32px!important;letter-spacing:4px;text-align:center;color:#45613a!important;padding:20px}.child-login-card{text-align:center;padding:20px}.child-login-card>span{display:block;font-size:62px}.child-login-card>strong{display:block;font-family:ui-monospace,monospace;font-size:28px;letter-spacing:2px;margin:18px 0}.child-login-card>p{font-size:14px;line-height:1.9;margin:15px 0;overflow-wrap:anywhere}.membership-hero{position:relative;overflow:hidden;border-radius:26px;padding:36px 40px;margin-bottom:25px;background:radial-gradient(ellipse at 95% 0,#edf3cb,transparent 60%),linear-gradient(115deg,#e8efdd,#f6f4e8);border:1px solid #dfe5ce}.membership-hero h2{font-size:36px;line-height:1.4;font-weight:550;margin:18px 0;color:#405d37;letter-spacing:-1px}.membership-hero p{font-size:14px;line-height:1.9;color:#657456;max-width:660px}.membership-perks{display:flex;flex-wrap:wrap;gap:13px 24px;margin-top:27px}.membership-perks span{display:flex;gap:8px;align-items:center;color:#5a704c;font-size:13px}.membership-perks svg{width:19px;height:19px}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.price-card{position:relative;text-align:left;padding:25px 22px}.price-card.featured{border-color:#729460;box-shadow:0 6px 25px #506b3610}.price-card h3{font-size:21px;margin:18px 0}.plan-price{font-size:38px;color:#446337;font-weight:550;letter-spacing:-1px;margin:18px 0}.plan-price small{font-size:18px;margin-right:4px}.price-card .muted{font-size:12px;margin-bottom:22px}.price-card .btn{width:100%}.plan-recommend{position:absolute;top:-11px;left:20px;background:#63834f;color:#fff;border-radius:30px;padding:5px 12px;font-size:10px}.membership-notes ul{padding-left:20px;font-size:13px;line-height:2.3;color:#627258}.order-price,.checkout-price{font-size:32px!important;color:#47623c!important;margin:20px 0;font-weight:550}.theme-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.theme-options label{display:flex;align-items:center;gap:8px;padding:13px;background:#f5f8ef;border:1px solid #e3eadb;border-radius:12px;font-size:13px;cursor:pointer}.theme-options label:has(input:checked){border-color:#8ca87b;background:#edf4e6}.danger-zone{border-color:#ead8d3;background:#fffdfb}.danger-zone h2{color:#963f3b}.danger-zone p{font-size:13px;color:#80635c;line-height:1.9;margin:16px 0 24px}.support-ticket{padding:20px 0;border-bottom:1px solid #e6edde}.support-ticket>p{margin:13px 0;font-size:14px;overflow-wrap:anywhere}.support-ticket small{color:#7c8974;font-size:11px}.support-preview{background:#f3f6ed;padding:12px 15px;border-radius:10px}.support-conversation{max-height:45vh;overflow:auto;margin-bottom:24px}.support-message{background:#f7f9f3;padding:16px;border-radius:15px;margin:12px 0}.support-message.support{background:#eaf2e2;margin-left:25px}.support-message strong{font-size:12px}.support-message p{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.support-message small{font-size:10px;color:#859077}.support-image{width:100%;max-height:240px;object-fit:contain;border-radius:12px;margin:10px 0}.message-meta{display:flex;align-items:center;gap:12px}.message-meta .btn{font-size:11px!important;min-height:28px;padding:4px 7px}.reply-marker{display:block;margin:5px 0;color:#8b967f}.message-bubble{font-size:14px!important;white-space:pre-wrap}.message-history{max-height:540px}.member-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}.grid-2>.card{min-width:0}.topbar-actions{min-width:0}.report-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.report-controls select,.report-controls input{max-width:180px}.report-card .report-number{font-size:30px;color:#46683c;margin:10px 0}.report-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.report-detail>div{background:#f5f8f0;padding:18px;border-radius:15px}.report-detail span{display:block;font-size:12px;color:#708364}.report-detail strong{display:block;font-size:23px;color:#44643b;margin-top:10px}.report-list{margin-top:24px}.report-list .card{margin-bottom:18px}.report-generated{font-size:12px;color:#74866a;margin-top:15px}.report-insights{padding:20px;background:#f3f6ec;border-radius:15px;line-height:2;color:#5f7651;font-size:14px}
[data-theme=ocean]{--page:#f2f9f4;--accent:#4b965a}[data-theme=ocean] .btn-primary{background:#529860;border-color:#529860}[data-theme=ocean] .workspace,[data-theme=ocean] body{background:#f2f9f4}[data-theme=ocean] .card{border-color:#ddede0}[data-theme=peach]{--page:#fcf5f2;--accent:#aa766e}[data-theme=peach] .btn-primary{background:#a76f68;border-color:#a76f68}[data-theme=peach] .workspace,[data-theme=peach] body{background:#fcf5f2}[data-theme=lavender]{--page:#f4faf5;--accent:#73a57d}[data-theme=lavender] .btn-primary{background:#73a47d;border-color:#73a47d}[data-theme=lavender] .workspace,[data-theme=lavender] body{background:#f4faf5}
@media(max-width:1100px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-entry{padding:8px}.membership-entry span{font-size:11px}.topbar-actions{gap:8px}}
@media(max-width:700px){input,select,textarea{font-size:16px!important}.main-content{padding:24px 18px 100px!important}.section-heading h1{font-size:25px!important}.section-heading .muted{font-size:13px}.topbar{padding:12px 15px!important;gap:8px}.mobile-brand{font-size:15px!important}.topbar-actions{gap:5px}.role-toggle{padding:8px!important;gap:3px;font-size:10px!important}.role-toggle>svg:last-child{display:none}.membership-entry{padding:8px!important}.membership-entry span{display:none}.topbar .header-avatar{display:none}.topbar .sync-button{display:none}.member-row{flex-wrap:wrap;gap:12px}.member-row .row-actions{margin-left:64px}.card{padding:23px 20px}.member-row .member-avatar{width:42px;height:42px}.plan-grid{gap:12px}.price-card{padding:22px 17px}.price-card h3{font-size:19px}.plan-price{font-size:31px}.price-card .eyebrow{font-size:8px}.membership-hero{padding:27px 24px}.membership-hero h2{font-size:30px}.membership-perks{gap:13px 18px}.membership-perks span{font-size:12px}.membership-perks svg{width:16px}.auth-panel{padding:32px 23px!important}.auth-form-wrap h2{font-size:27px}.modal{padding:25px 22px;max-height:calc(100dvh - 24px);border-radius:22px}.modal-heading{margin-bottom:20px}.modal .form-grid{gap:12px}.code-field button{padding:8px 12px}.code-field input{width:100px}.agreement-check{font-size:12px}.menu-tile strong{font-size:14px!important}.menu-tile small{font-size:11px!important}.profile-hero h2{font-size:23px}.profile-hero p{font-size:12px!important}.message-item{max-width:100%}.report-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.report-detail strong{font-size:21px}.btn,.menu-tile{touch-action:manipulation}.sidebar-account small{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
[data-reduced-motion=true] *,[data-reduced-motion=true] *::before,[data-reduced-motion=true] *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}

/* Requirements 10: balanced tools and one row of desktop services. */
.family-dashboard .family-tools{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.family-dashboard .family-tools-child{grid-template-columns:repeat(2,minmax(0,1fr))}
.family-dashboard .family-services{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}
.family-dashboard .family-tools>.family-tile,.family-dashboard .family-services>.family-tile{width:100%;min-height:108px;padding:12px 6px;gap:9px;text-align:center}
.family-dashboard .family-tools strong,.family-dashboard .family-services strong{max-width:100%;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:700px){.family-dashboard .family-tools,.family-dashboard .family-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.family-dashboard .family-tools-child{grid-template-columns:repeat(2,minmax(0,1fr))}.family-dashboard .family-tools>.family-tile,.family-dashboard .family-services>.family-tile{min-height:100px;padding:10px 4px}}
