/* Shared release styles: one approved logo; no generated branding. */
footer.mosaeli-footer{display:block!important;width:100%;max-width:none;margin:32px 0 0!important;background:#0c1739!important;color:#e1e8fa!important;padding:40px 24px!important;border:0!important;font-size:14px;line-height:1.65}
.mosaeli-footer-inner{max-width:1132px;margin:auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:48px}
.mosaeli-footer p{color:#e1e8fa!important;max-width:650px;margin:12px 0 0}
.mosaeli-footer .mosaeli-footer-tagline{color:#fff!important;font-size:18px;font-weight:700;margin-top:20px}
footer.mosaeli-footer .mosaeli-footer-logo{display:block!important;min-width:0!important;width:190px!important;padding:0!important;background:none!important;text-decoration:none!important}
.mosaeli-footer-logo img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain;filter:none!important}
.mosaeli-footer nav{display:flex;flex-wrap:wrap;gap:10px;align-content:start}
footer.mosaeli-footer nav a{display:inline-flex!important;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #8494b8;border-radius:10px;background:#0c1739;color:#fff!important;text-decoration:none;font-weight:600}
footer.mosaeli-footer nav a:hover{background:#263c6b}footer.mosaeli-footer a:focus-visible{outline:3px solid #ffc62f;outline-offset:4px}
.legal-summary-links a.legal-all,.legal-summary-links a.legal-all:visited{display:inline-flex;align-items:center;background:#101b42!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:2px solid #101b42!important;opacity:1!important;padding:13px 19px;min-height:48px;border-radius:12px;text-decoration:none;font-weight:800}
.legal-summary-links a.legal-all:hover{background:#263c6b!important;border-color:#263c6b!important;color:#fff!important}
.legal-summary-links a.legal-all:focus-visible{background:#101b42!important;color:#fff!important;outline:3px solid #1261ef!important;outline-offset:4px!important}
.about-content{max-width:1000px;margin:auto;padding:20px 24px 48px}.about-content section{scroll-margin-top:30px;margin:24px 0 40px}.about-content h2{font-size:clamp(27px,4vw,38px);margin-bottom:20px}.about-content p,.about-content li{font-size:17px;line-height:1.8;color:#45516d}.about-content .story{max-width:780px}.about-jumps{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.about-jumps a{padding:10px 14px;border:1px solid #b9c7df;border-radius:10px;color:#174ea6;font-weight:700}.about-boundaries{display:grid;grid-template-columns:1fr 1fr;gap:24px}.about-boundaries section{background:#f4f7fb;padding:28px;border-radius:20px}.about-boundaries li{margin:12px 0}.legal-banner{line-height:1.7}
@media(max-width:650px){.mosaeli-footer-inner,.about-boundaries{grid-template-columns:1fr;gap:26px}footer.mosaeli-footer{padding:32px 20px!important}.mosaeli-footer-logo{width:170px!important}.about-content{padding:12px 20px 32px}.about-boundaries section{margin:0}.legal-summary-links a.legal-all{max-width:100%;white-space:normal}}

/* Auth screens start at the top; tall or zoomed layouts retain natural scrolling. */
.auth-shell{min-height:0!important;align-items:stretch}
.auth-story{justify-content:flex-start!important;padding:28px clamp(24px,5vw,72px)!important;gap:18px!important}
.auth-story h1{font-size:clamp(36px,3.6vw,52px);margin:4px 0 10px}
.auth-story .brand{width:220px!important}
.auth-panel-wrap{align-items:start;padding:20px!important}
.auth-panel{width:min(510px,100%);padding:22px}
.auth-tabs{margin-bottom:14px}.auth-tabs button{min-height:44px;padding:9px}
.auth-panel label{margin-top:10px;gap:5px}.auth-panel .input{min-height:44px;padding:10px 12px}
.auth-panel .btn{min-height:44px;margin-top:10px;padding:10px 12px}.auth-panel .btn-blue{margin-top:14px}
.auth-divider{margin-top:12px}.auth-links{margin-top:10px}
.auth-panel .auth-alt{grid-template-columns:1fr 1fr;margin-top:12px;gap:8px}
.auth-panel .auth-alt .btn{margin:0;font-size:13px;line-height:1.35;min-height:48px}
.auth-alt small{grid-column:1/-1}.auth-boundary{margin-top:12px;padding:10px;line-height:1.45}
footer.auth-footer{margin:0!important;padding:16px 24px!important;font-size:12px}
.auth-footer .mosaeli-footer-inner{max-width:none;grid-template-columns:1fr auto;gap:20px;align-items:center}
.auth-footer .mosaeli-footer-inner>div{display:flex;align-items:center;gap:16px}.auth-footer p{margin:0!important}
footer.auth-footer .mosaeli-footer-logo{width:108px!important;flex-shrink:0}

@media(max-width:860px){.auth-story{padding:24px 22px!important}.auth-story h1{font-size:36px}.auth-panel-wrap{padding:20px 16px!important}.auth-footer .mosaeli-footer-inner{grid-template-columns:1fr}.auth-footer .mosaeli-footer-inner>div{flex-wrap:wrap}.auth-points{display:grid!important}.auth-panel .auth-alt .btn{font-size:13px}}

#legal .legal-summary-intro{color:#e1e8fa!important}#legal .eyebrow{color:#9ec5ff!important}
.legal-summary-links a.legal-all,.legal-summary-links a.legal-all:visited,.legal-summary-links a.legal-all:hover{border-color:#dbe5ff!important}
.legal-summary-links a.legal-all:focus-visible{outline-color:#ffc62f!important}
#authForm{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
#authForm>*{grid-column:1/-1}
#authForm:has([name="adminName"])>label:has([name="adminName"]),#authForm:has([name="adminName"])>label:has([name="email"]){grid-column:auto}
.auth-panel label{margin-top:8px}.auth-panel .auth-alt .btn{font-size:12px;min-height:44px;padding:8px}
.auth-panel-wrap{padding:14px!important}.auth-panel{padding:18px}.auth-tabs{margin-bottom:10px}
.auth-panel .auth-alt{margin-top:8px}.auth-divider{margin-top:8px}.auth-panel .btn-blue{margin-top:10px}
.password-rules{display:grid;grid-template-columns:1fr 1fr;gap:1px 10px;font-size:12px;line-height:1.45;font-weight:500;color:#5b6682}
.password-rules [data-met="true"]{color:#066340;font-weight:700}
@media(max-width:480px){#authForm:has([name="adminName"])>label:has([name="adminName"]),#authForm:has([name="adminName"])>label:has([name="email"]){grid-column:1/-1}}

.mobile-downloads{background:#f4f7fb;border-radius:24px}.mobile-downloads h2{font-size:clamp(28px,4vw,42px);margin:14px 0}.mobile-downloads p{max-width:650px;color:#45516d;line-height:1.7}.mobile-store-cards{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px}.mobile-store-cards article{display:grid;gap:14px;padding:22px;background:white;border:1px solid #dfe5ef;border-radius:16px}.mobile-store-cards img{display:block;background:#fff;max-width:100%;height:auto}@media(max-width:650px){.mobile-downloads{border-radius:0}.mobile-store-cards article{width:100%;justify-items:center}}

@media(min-width:861px){.auth-panel-wrap{padding:10px!important}.auth-panel{padding:16px}.auth-tabs{margin-bottom:8px}.auth-panel h2{font-size:23px}.auth-panel .auth-alt{grid-template-columns:repeat(4,1fr)}.auth-panel .auth-alt .btn{font-size:11px;line-height:1.3;padding:7px 5px;min-height:50px}.auth-panel .auth-alt small{font-size:11px}.auth-panel .btn-blue{grid-column:1;margin-top:10px;font-size:13px}.auth-panel .auth-links{grid-column:2;align-items:center;justify-content:flex-end}.auth-links button{font-size:11px;line-height:1.4;text-align:right}.auth-story{gap:16px!important}.auth-points>div{padding:10px 12px}}

.auth-shell,.auth-shell h1,.auth-shell h2{font-family:"Segoe UI",Arial,sans-serif}.auth-footer .privacy-access-link{position:static!important;min-height:44px;padding:9px 13px;border:1px solid #8494b8;border-radius:10px;background:#0c1739;color:white;box-shadow:none;font-size:12px}.auth-footer .privacy-access-link:focus-visible{outline:3px solid #ffc62f;outline-offset:3px}@media(min-width:861px){.auth-panel .auth-alt .btn{font-size:12px}.auth-panel .auth-alt small{font-size:12px}}

/* R18 regression repairs */
@media(min-width:761px) and (max-width:1000px){.topbar-center{display:none}.topbar{gap:10px}.topbar .family-avatar-menu{margin-left:auto}.main,.main>*{min-width:0}.main .local-results,.main .cost-grid,.main .content-grid{grid-template-columns:minmax(0,1fr)}.main .permission-matrix{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.cost-row-head,.local-resource-top{flex-wrap:wrap}.main .resource-hub-nav{grid-template-columns:minmax(0,1fr)}}
.status.is-success{color:#155337;background:#f0faf5;padding:14px;border-radius:12px;line-height:1.6}.email-draft-fallback{display:grid;gap:10px;margin-top:10px}.email-draft-fallback textarea{width:100%;min-height:150px;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical}.email-draft-fallback button,.email-draft-fallback a{min-height:44px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #9bbcae;border-radius:8px;background:white;color:#174b3c;font:700 14px/1.5 "Segoe UI",sans-serif;text-decoration:none}.email-draft-fallback summary{cursor:pointer;font-weight:700}.email-draft-fallback details{padding-top:4px}
@media(min-width:761px) and (max-width:1000px){.main .card-head{flex-wrap:wrap}.calendar-share-actions{max-width:100%}}

@media(min-width:761px) and (max-width:1000px){.main .page-head{flex-wrap:wrap}.calendar-share-actions{min-width:0}.calendar-share-actions .btn{white-space:normal}}

/* R22 auth branding and full-height footer */
#root:has(> .auth-shell){min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}#root>.auth-shell{flex:1;width:100%;min-height:0}#root>.auth-footer{flex:none;margin-top:0}.auth-shell .auth-story>.brand{width:360px!important;max-width:100%!important;height:auto!important;padding:0!important}.auth-panel [data-auth-provider]{opacity:1!important;display:flex;align-items:center;justify-content:center;min-height:48px!important;cursor:not-allowed}.auth-panel [data-auth-provider] img{width:28px;height:28px;display:block}.auth-panel [data-auth-provider]:focus-visible{outline:3px solid #165dff;outline-offset:3px}.auth-panel .auth-alt{grid-template-columns:repeat(4,minmax(0,1fr))!important}.local-family-picker{font-size:12px}.local-family-picker select{min-height:38px;padding:6px 10px}.auth-story{justify-content:flex-start!important}@media(max-width:860px){.auth-shell .auth-story>.brand{width:310px!important}.auth-shell .auth-story{gap:12px!important}}

/* R22 redesigned account entry */
.auth-shell{background:#f5f7fc!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0}.auth-shell .auth-story{background:linear-gradient(145deg,#edf3ff 0%,#f7f8fc 65%,#fff4ed 100%)!important;margin:18px 0 18px 18px;border:1px solid #e2e8f5;border-radius:26px;padding:24px 38px!important;gap:18px!important;color:#132248;justify-content:center!important}.auth-story .auth-back{align-self:flex-start;font-size:12px}.auth-shell .auth-story>.brand{width:360px!important;max-width:100%!important;mix-blend-mode:multiply;border-radius:0!important}.auth-story h1{font-size:clamp(36px,3.3vw,54px)!important;line-height:1.06;letter-spacing:-.045em;max-width:520px;margin:8px 0 0}.auth-story .eyebrow{font-size:11px;letter-spacing:.16em;color:#245be0}.auth-story>p{font-size:16px!important;line-height:1.6;max-width:460px;margin:0;color:#506080}.auth-values{padding-top:18px;border-top:1px solid #d3dceb;width:100%;max-width:460px}.auth-values-label{font-size:12px;font-weight:700;color:#52617b}.auth-values p{font-size:19px;font-weight:650;line-height:1.5;color:#172a54;margin:9px 0}.auth-values-note{font-size:11px;color:#52617b}.auth-shell .auth-panel-wrap{background:transparent!important;padding:18px 26px!important;align-items:center!important}.auth-panel{width:100%;max-width:510px;border:1px solid #e2e8f3;border-radius:24px!important;background:white;box-shadow:0 12px 36px rgba(25,44,81,.06);padding:20px!important}.auth-tabs{border-radius:12px;background:#f0f3f9;padding:4px;margin-bottom:14px}.auth-tabs button{font-size:13px;padding:9px;border-radius:9px}.auth-panel h2{font-size:24px!important;letter-spacing:-.025em}.auth-panel form>p{font-size:12px!important;line-height:1.5;color:#5a6882;margin:4px 0 8px}.auth-panel label{font-size:12px;margin-top:7px}.auth-panel .input{border:1px solid #d7dfed;border-radius:10px;min-height:42px;padding:10px 12px;font-size:13px;background:#fff}.auth-panel .input:focus{outline:3px solid #d7e4ff;border-color:#165dff}.auth-panel .btn-blue{font-weight:700;border-radius:10px;min-height:44px;background:#165dff;box-shadow:0 5px 12px #165dff20}.auth-panel .auth-links{margin-top:8px}.auth-panel .auth-alt{gap:8px;margin-top:12px}.auth-panel .auth-alt small{font-size:11px;line-height:1.5;color:#5a6882}.auth-panel [data-auth-provider]{border-radius:10px!important;background:#fff;border-color:#d7dfed!important;box-shadow:none}.auth-panel [data-auth-sample]{font-size:12px;min-height:40px;margin-top:10px;border-radius:10px;background:#f7f9fd;border:1px solid #e3e8f2;color:#263b64}.auth-panel .auth-boundary{font-size:11px;line-height:1.45;padding:10px;border-radius:10px;margin-top:10px;background:#f3f6fb;color:#52617b}.auth-panel .auth-boundary strong{color:#344564}.auth-footer .mosaeli-footer-inner{min-height:70px}.auth-footer .mosaeli-footer-inner nav a{font-size:11px}.auth-values br{display:block}
@media(max-width:860px){.auth-shell{grid-template-columns:1fr!important}.auth-shell .auth-story{margin:12px 12px 0;padding:22px!important;gap:14px!important}.auth-story h1{font-size:36px!important;max-width:500px}.auth-shell .auth-story>.brand{width:310px!important}.auth-story>p{font-size:15px!important}.auth-values{padding-top:12px}.auth-values p{font-size:16px;margin:6px 0}.auth-values br{display:none}.auth-values br:after{content:' '}.auth-shell .auth-panel-wrap{padding:16px 12px!important}.auth-panel{max-width:600px;padding:18px!important}.auth-panel .auth-alt{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:861px){.auth-shell .auth-panel-wrap{padding:12px 26px!important}.auth-panel{padding:16px!important}.auth-footer{padding:10px 24px!important}.auth-footer .mosaeli-footer-inner{min-height:44px}.auth-shell .auth-story{margin-top:12px;margin-bottom:12px}}

@media(min-width:861px){.auth-panel:has([data-local-family]) .auth-tabs{margin-bottom:6px}.auth-panel:has([data-local-family]) .input{min-height:38px;padding:8px 12px}.auth-panel:has([data-local-family]) .auth-alt{margin-top:8px}}
/* Keep every account action reachable on short and mobile screens. */
.account-popover{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
.topbar:has(.account-popover:not([hidden])){z-index:95}
#balancePlanForm [hidden]{display:none!important}
[data-plan-preview]{margin:16px 0;padding:16px;background:#f4f7ff;border:1px solid #d9e2f5;border-radius:12px}
[data-plan-preview] h3{margin:0 0 10px}
.plan-table-scroll{max-height:240px;overflow:auto;margin-top:12px}
.plan-table-scroll table{width:100%;border-collapse:collapse;font-size:13px}
.plan-table-scroll th,.plan-table-scroll td{text-align:left;padding:8px;border-bottom:1px solid #d9e2f5}
.plan-table-scroll th:last-child,.plan-table-scroll td:last-child{text-align:right}
@media(max-width:760px){.account-popover{max-height:calc(100dvh - 170px - env(safe-area-inset-bottom))}}
/* Public navigation can wrap without covering the page on narrow screens. */
.mosaeli-public header.topbar{height:auto;min-height:72px;flex-wrap:wrap;position:relative;gap:12px}
.mosaeli-public header.topbar .nav{min-width:0}
@media(max-width:860px){.mosaeli-public header.topbar{padding:16px;align-items:flex-start}.mosaeli-public header.topbar .nav{width:100%;gap:4px}.mosaeli-public header.topbar .nav a{padding:8px;font-size:13px}.mosaeli-public header.topbar .brand{width:180px;height:auto}}

footer.auth-footer .mosaeli-footer-logo img{border-radius:8px!important}
