:root{
  --navy:#17384d;--navy2:#0f2d3f;--ink:#1d2730;--muted:#66727d;--paper:#fbfaf7;--white:#fff;
  --sky:#dff1fb;--sky2:#7dc7e6;--mint:#e3f4e8;--mint2:#79bc8d;--sun:#fff0bd;--sun2:#e8bd46;
  --coral:#ffe2d8;--coral2:#e78b72;--lav:#eee6fa;--lav2:#9f88ce;--line:#e2e7ea;
  --shadow:0 20px 55px rgba(15,45,63,.10);--radius:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}
.topline{background:var(--navy2);color:#eaf4f8;font-size:12px;font-weight:800;letter-spacing:.03em}.topline .container{min-height:34px;display:flex;align-items:center;justify-content:center}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand img{width:52px;height:52px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-family:"Trebuchet MS","Avenir Next",sans-serif;font-size:19px;color:var(--navy2);letter-spacing:.01em}.brand-copy small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:900;margin-top:5px}
.main-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.main-nav>a,.nav-drop>summary{font-size:12px;font-weight:850;color:#40515d;cursor:pointer;list-style:none;white-space:nowrap}.main-nav>a:hover,.main-nav>a.active,.nav-drop>summary:hover{color:var(--navy2)}.nav-drop{position:relative}.nav-drop>summary::-webkit-details-marker{display:none}.nav-drop>summary:after{content:" ▾"}.nav-drop[open] .nav-menu{display:grid}.nav-menu{display:none;position:absolute;right:0;top:30px;min-width:215px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow)}.nav-menu a{padding:10px 12px;border-radius:10px;font-size:12px;font-weight:800}.nav-menu a:hover{background:var(--sky)}
.nav-actions{display:flex;gap:9px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--navy);color:white;padding:13px 20px;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(23,56,77,.14);transition:.2s}.btn:hover{transform:translateY(-2px);background:var(--navy2)}.btn.secondary{background:white;color:var(--navy2);border:1px solid #cad6dd;box-shadow:none}.btn.secondary:hover{background:var(--sky)}.btn.small{padding:10px 15px}.btn.mint{background:#3e8260}.btn.sun{background:#9b7519}.btn.coral{background:#a8523e}
.mobile-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px;font-size:19px;color:var(--navy2)}
.mobile-panel{display:none;border-top:1px solid var(--line);padding:10px 20px 18px;background:#fff}.mobile-panel.open{display:grid}.mobile-panel a{padding:11px 4px;font-size:13px;font-weight:850;border-bottom:1px solid #f0f2f3}.mobile-panel .mobile-actions{display:flex;gap:9px;padding-top:12px}.mobile-panel .mobile-actions a{border:0;flex:1}
.hero{padding:74px 0 62px;background:radial-gradient(circle at 93% 5%,var(--sun) 0,transparent 24%),radial-gradient(circle at 72% 84%,var(--mint) 0,transparent 28%),linear-gradient(180deg,#fff,var(--paper))}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:950;color:#5b7484}.hero h1,.page-hero h1,.section-head h2,.about-card h2,.portal-welcome h1{font-family:Charter,"Iowan Old Style",Georgia,serif;color:var(--navy2);font-weight:500;line-height:1.05;margin:10px 0 18px}.hero h1{font-size:64px;max-width:740px}.hero h1 em{font-style:normal;color:#4d819a}.hero-copy{font-size:18px;color:var(--muted);max-width:690px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}.hero-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px}.hero-proof span{font-size:11px;color:var(--muted)}.hero-proof b{display:block;color:var(--navy2);font-size:14px;margin-bottom:2px}.hero-visual{background:#fff;border:1px solid var(--line);border-radius:30px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-visual:before{content:"";position:absolute;width:160px;height:160px;background:var(--coral);border-radius:50%;right:-70px;top:-70px}.hero-visual .logo-badge{width:88px;height:88px;background:var(--sky);border-radius:26px;display:grid;place-items:center;position:relative}.hero-visual .logo-badge img{width:68px}.hero-visual h2{font-family:Charter,Georgia,serif;font-size:31px;color:var(--navy2);font-weight:500;line-height:1.14}.hero-visual p{color:var(--muted)}.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.branch-chip{border-radius:16px;padding:14px;background:var(--sky)}.branch-chip:nth-child(2){background:var(--mint)}.branch-chip span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#60737f}.branch-chip b{font-size:12px;color:var(--navy2)}
.impact-section{padding:26px 0 74px}.impact-shell{background:var(--navy2);color:#fff;border-radius:30px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:34px;box-shadow:var(--shadow)}.impact-shell .section-kicker{color:#a9c6d5}.impact-copy h2{font-family:Charter,Georgia,serif;font-size:38px;font-weight:500;line-height:1.08;margin:7px 0 10px}.impact-copy p{color:#c8d9e1}.impact-number{display:flex;align-items:baseline;gap:11px}.impact-count{font-family:Charter,Georgia,serif;font-size:86px;line-height:1}.impact-number small{color:#c7dae4;font-weight:800}.growth-track{height:20px;position:relative;border-bottom:2px solid rgba(255,255,255,.3);margin-top:16px}.growth-fill{position:absolute;left:0;bottom:-2px;width:0;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--sky2),var(--sun2));transition:width 1.5s cubic-bezier(.2,.8,.2,1)}.growth-dot{position:absolute;left:0;bottom:-7px;width:14px;height:14px;background:var(--sun2);border-radius:50%;transition:left 1.5s cubic-bezier(.2,.8,.2,1)}.growth-arrow{position:absolute;right:-3px;bottom:-12px;color:var(--sun2);font-size:25px}.impact-shell.in-view .growth-fill{width:84%}.impact-shell.in-view .growth-dot{left:84%}.impact-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid rgba(255,255,255,.15);padding-top:18px}.impact-facts div{display:flex;flex-direction:column}.impact-facts strong{font-size:14px}.impact-facts span{font-size:11px;color:#bfd2dc}
.section{padding:72px 0}.section.soft-blue{background:#f1f8fb}.section.soft-mint{background:#f1f8f3}.section.soft-sun{background:#fffaf0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-head h2{font-size:42px;margin-bottom:0}.section-head p{color:var(--muted);max-width:620px;margin:0}.quick-grid,.program-grid,.pricing-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-card,.program-card,.price-card,.feature-card,.review-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(15,45,63,.055);transition:.2s}.quick-card:hover,.program-card:hover,.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,45,63,.10)}.quick-card:nth-child(1){border-top:5px solid var(--sky2)}.quick-card:nth-child(2){border-top:5px solid var(--mint2)}.quick-card:nth-child(3){border-top:5px solid var(--sun2)}.quick-card:nth-child(4){border-top:5px solid var(--coral2)}.quick-card span,.program-card>span,.price-card .tag{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;color:#687b86}.quick-card h3,.program-card h2,.feature-card h3{color:var(--navy2);margin:7px 0}.quick-card p,.program-card p,.feature-card p{color:var(--muted);font-size:13px}.quick-card i{font-style:normal;font-size:11px;font-weight:900;color:#4b7187}.about-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:40px}.about-card h2{font-size:40px}.about-copy p{color:var(--muted)}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.about-point{border-radius:16px;padding:16px}.about-point:nth-child(1){background:var(--sky)}.about-point:nth-child(2){background:var(--mint)}.about-point:nth-child(3){background:var(--sun)}.about-point b{display:block;color:var(--navy2)}.about-point span{font-size:11px;color:#53646f}
.page-hero{padding:58px 0 34px;background:linear-gradient(180deg,#fff,var(--paper))}.page-hero h1{font-size:50px}.page-hero p{color:var(--muted);font-size:17px;max-width:720px}.program-grid{grid-template-columns:repeat(2,1fr)}.program-card{display:flex;flex-direction:column;justify-content:space-between;min-height:260px}.program-card:nth-child(1){background:linear-gradient(145deg,#fff,var(--sky))}.program-card:nth-child(2){background:linear-gradient(145deg,#fff,var(--mint))}.program-card:nth-child(3){background:linear-gradient(145deg,#fff,var(--lav))}.program-card:nth-child(4){background:linear-gradient(145deg,#fff,var(--sun))}.program-card:nth-child(5){background:linear-gradient(145deg,#fff,var(--coral))}.program-card:nth-child(6){background:#fff}.hs-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.hs-tags b{background:rgba(255,255,255,.75);border:1px solid rgba(23,56,77,.10);padding:7px 10px;border-radius:999px;font-size:10px}.text-link{font-size:11px;font-weight:950;color:#426f86}
.finder-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;display:grid;grid-template-columns:.85fr 1.15fr;gap:32px}.finder-card h2{font-family:Charter,Georgia,serif;color:var(--navy2);font-size:36px;font-weight:500;margin:8px 0}.finder-card p{color:var(--muted)}.finder-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.finder-options button{border:1px solid var(--line);background:var(--paper);padding:14px;border-radius:14px;font-weight:850;color:var(--navy2);cursor:pointer;text-align:left}.finder-options button.active,.finder-options button:hover{background:var(--sky);border-color:#a8d7ea}.finder-result{margin-top:10px;padding:15px;background:linear-gradient(135deg,var(--lav),var(--coral));border-radius:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.finder-result small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.12em;font-weight:950;color:#776a82}.finder-result strong{display:block;color:var(--navy2)}.finder-result p{font-size:11px;margin:3px 0 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.step .num{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--sky);font-weight:950;color:var(--navy2)}.step:nth-child(2) .num{background:var(--mint)}.step:nth-child(3) .num{background:var(--sun)}.step:nth-child(4) .num{background:var(--coral)}.step h3{color:var(--navy2);font-size:16px}.step p{font-size:12px;color:var(--muted)}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.location-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px;text-align:left;cursor:pointer;transition:.2s}.location-card:hover,.location-card.active{transform:translateY(-3px);border-color:#8fcde6;box-shadow:var(--shadow)}.location-card span{width:44px;height:44px;border-radius:13px;background:var(--sky);display:grid;place-items:center;font-size:20px}.location-card:nth-child(2) span{background:var(--sun)}.location-card:nth-child(3) span{background:var(--mint)}.location-message{text-align:center;font-size:12px;font-weight:850;color:var(--navy2);margin-top:18px}
.pricing-grid{grid-template-columns:repeat(3,1fr)}.price-card{position:relative;overflow:hidden}.price-card:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--sky2)}.price-card:nth-child(2):before{background:var(--lav2)}.price-card:nth-child(3):before{background:var(--mint2)}.price-card .price{font-family:Charter,Georgia,serif;font-size:50px;color:var(--navy2);line-height:1;margin:15px 0 4px}.price-card .price small{font:800 12px "Avenir Next",sans-serif;color:var(--muted)}.price-card ul{padding-left:18px;color:var(--muted);font-size:12px}.price-note{background:var(--sun);border-radius:18px;padding:18px;font-size:12px;color:#5f512e;margin-top:18px}
.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.review-card blockquote{font-family:Charter,Georgia,serif;font-size:20px;color:var(--navy2);margin:10px 0}.review-card .stars{color:#b58119;letter-spacing:.12em}.review-card small{font-weight:850;color:var(--muted)}.review-form,.contact-card,.form-card,.login-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}
.gallery-gateway{max-width:760px;margin:auto;text-align:center;background:linear-gradient(135deg,var(--sky),var(--lav),var(--coral));border-radius:30px;padding:56px 34px}.gallery-gateway h2{font-family:Charter,Georgia,serif;color:var(--navy2);font-size:42px;font-weight:500}.gallery-gateway p{color:#5c6871}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.contact-list{display:grid;gap:10px}.contact-item{padding:18px;border-radius:16px;background:#fff;border:1px solid var(--line)}.contact-item:nth-child(1){background:var(--sky)}.contact-item:nth-child(2){background:var(--mint)}.contact-item b{display:block;color:var(--navy2)}.contact-item span{font-size:12px;color:var(--muted)}
.form-intro{max-width:760px}.intake-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:20px 0}.intake-tabs button{border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px 8px;font-size:10px;font-weight:900;color:#49606e;cursor:pointer}.intake-tabs button.active{background:var(--navy);color:#fff}.form-card{max-width:860px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:900;color:#435763}.optional{font-weight:650;color:#86939b}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8dd;background:#fff;border-radius:12px;padding:12px 13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#79bdd8;box-shadow:0 0 0 3px rgba(125,199,230,.16)}.field textarea{min-height:110px;resize:vertical}.branch-select{display:grid;grid-template-columns:1fr 1fr;gap:10px}.branch-option{position:relative}.branch-option input{position:absolute;opacity:0}.branch-option label{display:block;border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff;cursor:pointer}.branch-option input:checked+label{background:var(--sky);border-color:#87c7e2}.track-row{display:flex;gap:8px;flex-wrap:wrap}.track-row button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:850;cursor:pointer}.track-row button.active{background:var(--lav);border-color:#b8a6dd}.hidden{display:none!important}.form-note{background:var(--mint);border-radius:15px;padding:14px;font-size:11px;color:#476454;margin-bottom:18px}
.confirmation{max-width:740px;margin:80px auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:46px;box-shadow:var(--shadow)}.confirmation-mark{width:62px;height:62px;border-radius:50%;background:var(--mint);display:grid;place-items:center;margin:0 auto 14px;font-size:28px;color:#427158}.confirmation h1{font-family:Charter,Georgia,serif;color:var(--navy2);font-weight:500}.confirmation p{color:var(--muted)}.callout{background:var(--sky);border-radius:16px;padding:17px;color:#405a69;font-weight:800;font-size:13px;margin:20px 0}
/* portal */
.portal-body{background:#f4f7f8}.portal-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.portal-top .container{height:72px;display:flex;align-items:center;justify-content:space-between}.portal-brand{display:flex;align-items:center;gap:10px}.portal-brand img{width:44px}.portal-brand strong{color:var(--navy2)}.portal-tools{display:flex;align-items:center;gap:9px}.portal-shell{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:28px 0 60px}.portal-side{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;height:max-content;position:sticky;top:96px}.portal-side a,.portal-side button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:none;padding:11px 12px;border-radius:12px;font-size:12px;font-weight:850;color:#53636d;text-align:left;cursor:pointer}.portal-side a.active,.portal-side button.active,.portal-side a:hover,.portal-side button:hover{background:var(--sky);color:var(--navy2)}.portal-main{min-width:0}.portal-welcome{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.portal-welcome h1{font-size:40px;margin-bottom:3px}.portal-welcome p{color:var(--muted);margin:0}.status-pill{background:var(--mint);color:#437056;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900}.portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.kpi:nth-child(1){border-top:5px solid var(--sky2)}.kpi:nth-child(2){border-top:5px solid var(--mint2)}.kpi:nth-child(3){border-top:5px solid var(--sun2)}.kpi:nth-child(4){border-top:5px solid var(--lav2)}.kpi small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.12em;font-weight:950;color:#7b8991}.kpi strong{display:block;font-size:25px;color:var(--navy2);margin-top:6px}.kpi span{font-size:10px;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.panel-head h2{margin:0;color:var(--navy2);font-size:16px}.panel-head a,.panel-head button{font-size:10px;font-weight:900;color:#4d7890;border:0;background:none;cursor:pointer}.session-list,.message-list,.student-list{display:grid;gap:8px}.session-row,.message-row,.student-row{display:grid;grid-template-columns:1.3fr .7fr .7fr auto;gap:10px;align-items:center;border:1px solid #edf0f2;border-radius:13px;padding:12px}.session-row b,.message-row b,.student-row b{color:var(--navy2);font-size:12px}.session-row span,.message-row span,.student-row span{color:var(--muted);font-size:10px}.tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--mint);font-size:9px;font-weight:900;color:#477057}.tag.upcoming{background:var(--sky);color:#426b80}.tag.due{background:var(--sun);color:#755e1f}.message-preview{background:#f8fafb;border-radius:13px;padding:12px;margin-top:8px;font-size:11px;color:#53636d}.progress-block{display:grid;gap:10px}.progress-item{display:grid;grid-template-columns:1fr auto;gap:8px}.progress-item b{font-size:11px;color:var(--navy2)}.progress-item span{font-size:10px;color:var(--muted)}.progress-bar{grid-column:1/-1;height:8px;background:#edf1f3;border-radius:999px;overflow:hidden}.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--sky2),var(--mint2));border-radius:999px}.portal-view{display:none}.portal-view.active{display:block}.message-box{display:grid;grid-template-columns:260px 1fr;gap:12px}.thread-list{border-right:1px solid var(--line);padding-right:12px}.thread{padding:12px;border-radius:12px;cursor:pointer}.thread.active,.thread:hover{background:var(--sky)}.thread b{display:block;font-size:12px;color:var(--navy2)}.thread span{font-size:10px;color:var(--muted)}.chat{display:flex;flex-direction:column;min-height:420px}.chat-log{flex:1;display:flex;flex-direction:column;gap:9px}.bubble{max-width:76%;padding:10px 12px;border-radius:14px;background:#eef3f5;font-size:11px}.bubble.me{align-self:flex-end;background:var(--sky)}.chat-compose{display:flex;gap:8px;margin-top:14px}.chat-compose input{flex:1;border:1px solid var(--line);border-radius:999px;padding:11px 14px}.prototype-note{background:var(--sun);border:1px solid #ead58c;border-radius:14px;padding:12px 14px;color:#685620;font-size:10px;font-weight:800;margin-bottom:14px}
.login-shell{min-height:calc(100vh - 116px);display:grid;place-items:center;padding:50px 20px;background:radial-gradient(circle at 15% 10%,var(--sky) 0,transparent 28%),radial-gradient(circle at 90% 90%,var(--coral) 0,transparent 26%),var(--paper)}.login-card{width:min(500px,100%)}.login-card h1{font-family:Charter,Georgia,serif;color:var(--navy2);font-size:40px;font-weight:500;margin:8px 0}.login-card p{color:var(--muted)}.role-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0}.role-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-size:10px;font-weight:900;color:#546672;cursor:pointer}.role-tabs button.active{background:var(--navy);color:#fff}.login-card .field{margin-bottom:12px}.login-help{font-size:10px;color:var(--muted);margin-top:14px}.login-help a{font-weight:900;color:#4e788f}
.footer{background:var(--navy2);color:#dce7ec;padding:42px 0 24px;margin-top:50px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}.footer .brand-copy strong{color:#fff}.footer .brand-copy small{color:#a9c2ce}.footer .brand img{filter:brightness(0) invert(1);opacity:.94}.footer p{font-size:11px;color:#afc3cd}.footer b{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.footer a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:9px;color:#93acb8}
@media(max-width:1040px){.main-nav{display:none}.mobile-toggle{display:block}.hero-grid,.about-card,.contact-grid,.finder-card{grid-template-columns:1fr}.quick-grid,.pricing-grid,.feature-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.intake-tabs{grid-template-columns:repeat(3,1fr)}.portal-shell{grid-template-columns:1fr}.portal-side{position:static;display:flex;overflow:auto}.portal-side a,.portal-side button{min-width:max-content}.portal-kpis{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr}.message-box{grid-template-columns:1fr}.thread-list{border-right:0;border-bottom:1px solid var(--line);padding:0 0 10px;display:flex;overflow:auto}}
@media(max-width:700px){.container{width:min(100% - 28px,1160px)}.nav-wrap{height:70px}.brand img{width:44px;height:44px}.brand-copy strong{font-size:16px}.nav-actions .secondary{display:none}.hero{padding:48px 0}.hero h1{font-size:45px}.hero-copy{font-size:16px}.branch-grid,.quick-grid,.program-grid,.pricing-grid,.feature-grid,.review-grid,.steps,.location-grid,.about-points,.form-grid,.branch-select,.impact-shell,.portal-kpis{grid-template-columns:1fr}.impact-facts{grid-template-columns:1fr}.impact-count{font-size:70px}.section{padding:50px 0}.section-head{display:block}.section-head h2{font-size:35px}.page-hero h1{font-size:40px}.footer-grid{grid-template-columns:1fr 1fr}.intake-tabs{grid-template-columns:1fr 1fr}.portal-welcome{display:block}.session-row,.message-row,.student-row{grid-template-columns:1fr 1fr}.session-row>*:first-child,.message-row>*:first-child,.student-row>*:first-child{grid-column:1/-1}.role-tabs{grid-template-columns:1fr}.message-box{display:block}.login-card{padding:24px}}
.branch-grid.single-area{grid-template-columns:1fr}.branch-chip small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.backend-status{display:none;background:var(--sun);border:1px solid #ead58c;border-radius:14px;padding:12px 14px;color:#685620;font-size:11px;font-weight:800;margin:14px 0}.backend-status.show{display:block}.empty-state{color:var(--muted);font-size:11px}.mini-action{border:0;border-radius:999px;padding:7px 10px;background:var(--sky);color:var(--navy2);font-size:9px;font-weight:900;cursor:pointer}.mini-action:disabled{opacity:.5;cursor:default}.portal-main textarea,.portal-main select{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;color:var(--navy2);font:inherit}.portal-main textarea{resize:vertical}

/* Tutor session workflow */
.portal-grid.two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}.portal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-help{margin:4px 0 20px;color:#637282;line-height:1.6}.optional{font-weight:500;color:#7a8793;font-size:.82em}.form-status{margin:14px 0 0;font-weight:700;min-height:1.4em}.form-status.success{color:#287a4b}.form-status.error{color:#b73c37}.portal-form button[disabled],.mini-action[disabled]{opacity:.6;cursor:not-allowed}@media(max-width:900px){.portal-grid.two{grid-template-columns:1fr}.portal-form .form-row{grid-template-columns:1fr}}

.payment-status{margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#eef8f2;border:1px solid #c9ead4;color:#173b2a;font-weight:700}.payment-status[hidden]{display:none}.btn:disabled{opacity:.6;cursor:not-allowed}

.payment-balance-card{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:18px 20px;margin:18px 0;border:1px solid #dbe6ee;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fffdf5)}.payment-balance-card small{font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5d7282}.payment-balance-card strong{font-size:2rem;color:#10364a}.payment-status{margin:14px 0;padding:12px 14px;border-radius:12px;background:#eef8f2;color:#2f6b42}.payment-status.error{background:#fff0ee;color:#9b342b}

/* progress reporting */
.progress-timeline{display:grid;gap:14px;margin-top:18px}.progress-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfcfd);box-shadow:0 8px 26px rgba(17,54,73,.04)}.progress-card:nth-child(4n+1){border-left:5px solid var(--sky2)}.progress-card:nth-child(4n+2){border-left:5px solid var(--mint2)}.progress-card:nth-child(4n+3){border-left:5px solid var(--sun2)}.progress-card:nth-child(4n+4){border-left:5px solid var(--lav2)}.progress-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.progress-card h3{margin:3px 0 0;color:var(--navy2);font-size:18px}.progress-date{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#768690}.progress-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:950;white-space:nowrap}.progress-status.improving{background:var(--mint);color:#38704f}.progress-status.on-track{background:var(--sky);color:#3e6f88}.progress-status.attention{background:var(--sun);color:#795f1e}.progress-detail{padding:11px 0;border-top:1px solid #edf1f3}.progress-detail b,.progress-parent-note b{display:block;color:var(--navy2);font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.progress-detail p,.progress-parent-note p{margin:0;color:#526573;line-height:1.6;font-size:12px}.progress-parent-note{margin-top:10px;padding:13px 14px;border-radius:14px;background:#f5f8fa;border:1px solid #ebf0f2}.portal-main input[type="date"],.portal-main input[type="time"]{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;color:var(--navy2);font:inherit}@media(max-width:700px){.progress-card-head{display:block}.progress-status{margin-top:10px}}

/* Secure portal messaging */
.message-center{display:grid;grid-template-columns:300px minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;min-height:590px;box-shadow:0 14px 40px rgba(28,52,64,.05)}
.message-threads{background:#fbfcfd;border-right:1px solid var(--line);padding:14px;max-height:680px;overflow:auto}.message-threads-head{padding:8px 8px 14px}.message-threads-head h2{margin:4px 0 0;color:var(--navy2);font-size:20px}.message-thread{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:0;background:transparent;border-radius:15px;padding:11px;cursor:pointer;margin-bottom:5px;transition:.18s}.message-thread:hover,.message-thread.active{background:var(--sky)}.thread-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--sky),var(--mint));color:var(--navy2);font-size:11px;font-weight:950}.message-thread:nth-of-type(3n) .thread-avatar{background:linear-gradient(135deg,var(--sun),var(--coral))}.thread-copy{min-width:0}.thread-copy b,.thread-copy small,.thread-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-copy b{color:var(--navy2);font-size:11px}.thread-copy small{color:#7a8a93;font-size:9px;margin-top:2px}.thread-copy em{font-style:normal;color:#89969d;font-size:9px;margin-top:5px}.unread-badge{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--navy2);color:#fff;font-size:9px;font-weight:900}.message-conversation{display:flex;flex-direction:column;min-width:0;min-height:590px}.conversation-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.conversation-head h2{margin:3px 0 0;font-size:18px;color:var(--navy2)}.conversation-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.conversation-log{flex:1;display:flex;flex-direction:column;gap:10px;padding:22px;overflow:auto;max-height:470px;background:linear-gradient(180deg,#fff,#fbfcfd)}.portal-message{max-width:min(76%,600px);border-radius:17px;padding:11px 13px;background:#eef3f5;align-self:flex-start}.portal-message.mine{align-self:flex-end;background:linear-gradient(135deg,#dff2fb,#e5f7ed)}.portal-message-meta{display:flex;gap:9px;align-items:center;justify-content:space-between;margin-bottom:5px}.portal-message-meta b{font-size:9px;color:var(--navy2)}.portal-message-meta span,.portal-message small{font-size:8px;color:#7d8b93}.portal-message p{margin:0;color:#42545e;font-size:11px;line-height:1.55;white-space:pre-wrap}.portal-message small{display:block;text-align:right;margin-top:5px}.conversation-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:16px 20px;border-top:1px solid var(--line);background:#fff}.conversation-compose textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:15px;padding:11px 13px;font:inherit;color:#42545e;outline:none}.conversation-compose textarea:focus{border-color:#9bcfe3;box-shadow:0 0 0 3px rgba(155,207,227,.18)}.conversation-compose .btn{align-self:end}.conversation-empty{margin:auto;text-align:center;color:#89969d;display:grid;gap:4px}.conversation-empty b{color:var(--navy2);font-size:13px}.conversation-empty span{font-size:10px}.oversight-note{margin:14px 20px 20px;background:var(--sun);border-radius:14px;padding:12px 14px;font-size:10px;font-weight:750;color:#6f5b23}.message-conversation>.form-status{padding:0 20px 14px;margin:0}.admin-message-center .message-threads{max-height:720px}
@media(max-width:900px){.message-center{grid-template-columns:1fr;min-height:0}.message-threads{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:7px;overflow:auto;max-height:none}.message-threads-head{min-width:130px}.message-thread{min-width:230px;margin:0}.message-conversation{min-height:520px}}
@media(max-width:600px){.conversation-head{padding:16px}.conversation-log{padding:16px}.conversation-compose{grid-template-columns:1fr;padding:14px}.conversation-compose .btn{width:100%}.portal-message{max-width:88%}.message-thread{min-width:210px}}

/* Admin operations and intake pipeline */
.nav-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;background:var(--coral);color:#8b493c;font-size:8px;font-weight:950}.nav-count:empty{display:none}.admin-kpis{grid-template-columns:repeat(3,1fr)}.kpi.accent-sky{border-top:4px solid var(--sky2)}.kpi.accent-mint{border-top:4px solid var(--mint2)}.kpi.accent-lav{border-top:4px solid var(--lav2)}.kpi.accent-sun{border-top:4px solid var(--sun2)}.kpi.accent-coral{border-top:4px solid var(--coral2)}.admin-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.panel-head,.manage-card-head,.intake-card-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.panel-head h2{margin:3px 0 0;color:var(--navy2);font-size:20px}.admin-mini-row,.payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.admin-mini-row:first-child,.payment-history-row:first-child{border-top:0}.admin-mini-row div,.payment-history-row div{display:grid;gap:3px}.admin-mini-row b,.payment-history-row b{font-size:11px;color:var(--navy2)}.admin-mini-row span,.payment-history-row span{font-size:9px;color:var(--muted)}.pipeline-filter{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.pipeline-filter button{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-size:9px;font-weight:900;color:#62737e;cursor:pointer}.pipeline-filter button.active,.pipeline-filter button:hover{background:var(--navy2);color:#fff;border-color:var(--navy2)}.intake-admin-list,.admin-card-list{display:grid;gap:14px}.admin-intake-card,.admin-manage-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px;box-shadow:0 9px 28px rgba(18,52,69,.045)}.admin-intake-card:nth-child(4n+1){border-left:5px solid var(--sky2)}.admin-intake-card:nth-child(4n+2){border-left:5px solid var(--mint2)}.admin-intake-card:nth-child(4n+3){border-left:5px solid var(--sun2)}.admin-intake-card:nth-child(4n+4){border-left:5px solid var(--lav2)}.intake-date{font-size:8px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#86949b}.intake-card-top h3,.manage-card-head h3{margin:4px 0;color:var(--navy2);font-size:19px}.intake-card-top h3 small{font-size:10px;color:var(--muted);font-weight:800}.intake-card-top p,.manage-card-head p{margin:0;color:var(--muted);font-size:10px}.intake-card-top a{color:#4e7f98}.pipeline-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--paper);font-size:8px;font-weight:950;color:#62737e;white-space:nowrap}.pipeline-pill.new{background:var(--coral);color:#8f493d}.pipeline-pill.contacted{background:var(--sun);color:#775c1c}.pipeline-pill.tutor_matching{background:var(--lav);color:#695c7c}.pipeline-pill.registered{background:var(--sky);color:#3e6d84}.pipeline-pill.active{background:var(--mint);color:#366c4d}.pipeline-pill.closed{background:#eef1f2;color:#65757e}.intake-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.intake-detail-grid>div{background:#f8fafb;border-radius:12px;padding:11px}.intake-detail-grid b{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#819099;margin-bottom:4px}.intake-detail-grid span{font-size:10px;color:#435761}.intake-need{background:linear-gradient(135deg,var(--sky),#fff);border-radius:14px;padding:13px 14px}.intake-need b{font-size:9px;color:var(--navy2)}.intake-need p{margin:4px 0;color:#4e626e;font-size:11px}.intake-need small{display:block;border-top:1px solid rgba(50,80,95,.1);padding-top:7px;color:#687a84}.intake-admin-controls{display:flex;align-items:end;gap:10px;margin-top:14px}.intake-admin-controls label,.manage-grid label{display:grid;gap:5px;color:#62737e;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.intake-admin-controls .grow{flex:1}.intake-admin-controls select,.intake-admin-controls textarea,.manage-grid input,.manage-grid select,.billing-actions select,.billing-actions input{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;color:#425660;font:inherit;font-size:10px}.manage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.manage-grid .span-two{grid-column:span 2}.manage-actions,.billing-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:14px}.manage-actions span,.billing-actions span{margin-right:auto;color:var(--muted);font-size:9px}.tutor-stat-row{display:grid;grid-template-columns:130px 150px 1fr;gap:10px;margin-top:14px}.tutor-stat-row>div{background:#f7fafb;border-radius:13px;padding:12px;display:grid;gap:3px}.tutor-stat-row small,.balance-big small,.billing-kpi small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#839199}.tutor-stat-row strong,.balance-big strong,.billing-kpi strong{color:var(--navy2);font-size:20px}.tutor-stat-row span{font-size:10px;color:#566b76}.billing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.billing-kpi{background:linear-gradient(135deg,#fff,var(--sky));border:1px solid var(--line);border-radius:16px;padding:15px;display:grid;gap:4px}.balance-big{display:grid;text-align:right;gap:3px}.balance-big strong{font-size:25px}.billing-actions select{width:105px}.billing-actions input{width:180px}.paid-label{background:var(--mint);color:#366c4d!important;padding:7px 9px;border-radius:999px;font-weight:900}.admin-payment-history{margin-top:18px}.payment-history-row{display:grid;grid-template-columns:1fr auto auto}.payment-history-row strong{color:var(--navy2);font-size:12px}
@media(max-width:1050px){.admin-kpis{grid-template-columns:1fr 1fr}.admin-overview-grid{grid-template-columns:1fr}.intake-detail-grid{grid-template-columns:1fr 1fr}.manage-grid{grid-template-columns:1fr 1fr}.tutor-stat-row{grid-template-columns:1fr 1fr}.tutor-stat-row>div:last-child{grid-column:1/-1}}
@media(max-width:700px){.admin-kpis,.intake-detail-grid,.manage-grid,.billing-summary{grid-template-columns:1fr}.manage-grid .span-two{grid-column:auto}.intake-admin-controls,.manage-actions,.billing-actions{align-items:stretch;flex-direction:column}.intake-admin-controls .btn,.manage-actions .btn,.billing-actions .btn{width:100%}.manage-actions span,.billing-actions span{margin-right:0}.tutor-stat-row{grid-template-columns:1fr}.tutor-stat-row>div:last-child{grid-column:auto}.billing-actions select,.billing-actions input{width:100%}.payment-history-row{grid-template-columns:1fr auto}.payment-history-row .pipeline-pill{grid-column:1/-1;justify-self:start}}

/* Step 8 family registration */
.intake-registration{margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,35,58,.12)}
.intake-register-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.intake-register-head p{margin:3px 0 0;color:var(--muted)}
.registration-panel{display:none;margin-top:14px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(218,241,255,.62),rgba(236,229,255,.62));border:1px solid rgba(41,90,132,.12)}
.registration-panel.open{display:block}
.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.registration-grid label{font-weight:700;font-size:.84rem;color:var(--navy)}
.registration-grid input,.registration-grid select{width:100%;margin-top:7px}
.registration-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.registered-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-radius:15px;background:rgba(211,243,225,.7);border:1px solid rgba(30,122,76,.14);color:#145c3a;font-weight:700}
.activation-card{max-width:590px}
.activation-card>p{color:var(--muted);line-height:1.7}
@media(max-width:720px){.registration-grid{grid-template-columns:1fr}.registration-actions{align-items:stretch}.registration-actions .btn{width:100%}}
\n/* Admin review management */\n.review-admin-card{border-top:4px solid #b8a7f2}.review-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.review-admin-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--ink)}.review-admin-grid input,.review-admin-grid select,.review-admin-grid textarea{width:100%;border:1px solid rgba(30,45,70,.18);border-radius:13px;padding:12px 13px;background:#fff;font:inherit;color:var(--ink)}.review-admin-grid textarea{resize:vertical;line-height:1.55}.review-admin-grid .span-two{grid-column:1/-1}.review-admin-grid small{font-weight:500;color:var(--muted)}.review-admin-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.review-admin-actions>div{display:flex;gap:10px;flex-wrap:wrap}.danger-action{border:1px solid rgba(185,55,65,.28);background:#fff5f5;color:#9a2c35;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.danger-action:hover{background:#ffe9e9}.pipeline-pill.pending{background:#fff3c8;color:#715200}.pipeline-pill.published{background:#dff7ea;color:#19643b}.pipeline-pill.hidden{background:#edf0f5;color:#586274}@media(max-width:720px){.review-admin-grid{grid-template-columns:1fr}.review-admin-grid .span-two{grid-column:auto}.review-admin-actions{align-items:stretch}.review-admin-actions>div{width:100%}.review-admin-actions .btn,.danger-action{width:100%;text-align:center}}\n

/* Study Buddy invitation management */
.tutor-invite-panel{margin-bottom:1.4rem;background:linear-gradient(135deg,rgba(226,240,255,.9),rgba(246,238,255,.78));border:1px solid rgba(35,75,130,.12)}
.tutor-invite-panel .panel-head{margin-bottom:1rem}.tutor-invite-panel .panel-head p{max-width:720px;margin:.35rem 0 0;color:var(--muted)}
.tutor-invite-form .registration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tutor-invite-form input{width:100%}
.tutor-directory-head{margin:1.2rem 0 .8rem}.tutor-access-actions{border-top:1px solid rgba(30,58,90,.09);padding-top:.9rem;margin-top:.9rem}
@media (max-width:760px){.tutor-invite-form .registration-grid{grid-template-columns:1fr}.tutor-invite-panel .registration-actions{align-items:stretch}.tutor-invite-panel .registration-actions .btn{width:100%}}

/* Admin communication oversight */
.message-oversight-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.message-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 17px;box-shadow:0 10px 28px rgba(28,52,64,.045);display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.message-stat span{font-size:9px;font-weight:850;color:var(--muted);max-width:140px;line-height:1.35}.message-stat strong{font-size:24px;line-height:1;color:var(--navy2)}.admin-message-oversight{grid-template-columns:360px minmax(0,1fr);min-height:650px}.admin-message-tools{position:sticky;top:0;z-index:2;background:#fbfcfd;border-bottom:1px solid var(--line);padding-bottom:13px}.admin-message-tools p{font-size:9px;color:var(--muted);margin:5px 0 12px}.message-search-label,.message-filter-label{display:grid;gap:5px;margin-top:8px}.message-search-label span,.message-filter-label span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#768791}.message-search-label input,.message-filter-label select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;font:inherit;font-size:10px;color:var(--navy2);outline:none}.message-search-label input:focus,.message-filter-label select:focus{border-color:#9bcfe3;box-shadow:0 0 0 3px rgba(155,207,227,.14)}.message-filter-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.message-filter-chip{border:1px solid var(--line);background:#fff;color:#647681;border-radius:999px;padding:6px 8px;font:inherit;font-size:8px;font-weight:850;cursor:pointer}.message-filter-chip:hover,.message-filter-chip.active{background:var(--navy2);border-color:var(--navy2);color:#fff}.message-unread-toggle{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:9px;font-weight:800;color:#647681}.message-unread-toggle input{accent-color:var(--navy2)}.message-thread-list{padding-top:5px}.admin-message-oversight .message-thread{grid-template-columns:42px minmax(0,1fr) auto;padding:12px 10px}.thread-title-line{display:flex;align-items:center;gap:6px;min-width:0}.thread-title-line b{flex:1}.thread-title-line i{font-style:normal;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#eef3f5;color:#6d7c84;padding:3px 5px;border-radius:999px;white-space:nowrap}.thread-copy time{display:block;color:#9aa6ac;font-size:8px;margin-top:3px}.message-no-results{padding:24px 12px;text-align:center;display:grid;gap:4px;color:#89969d}.message-no-results b{font-size:11px;color:var(--navy2)}.message-no-results span{font-size:9px}.admin-conversation-head{align-items:flex-start}.conversation-participants{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.conversation-participants span{font-size:8px;background:#f3f6f7;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:#72828a}.conversation-participants b{color:var(--navy2);margin-right:3px}.conversation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-no-conversation{min-height:500px}.admin-message-oversight .oversight-note{line-height:1.5}.admin-message-oversight .oversight-note b{color:#5f4d1d}
@media(max-width:1050px){.admin-message-oversight{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:900px){.message-oversight-summary{grid-template-columns:1fr}.message-stat{align-items:center}.admin-message-oversight{grid-template-columns:1fr}.admin-message-oversight .message-threads{display:block;max-height:470px;border-bottom:1px solid var(--line)}.admin-message-tools{position:static}.admin-message-oversight .message-thread{min-width:0;width:100%;margin-bottom:5px}.conversation-actions{justify-content:flex-start}.admin-conversation-head{display:grid}}
.tutor-action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn.danger-outline{background:#fff;color:#a33b3b;border:1px solid #e3b5b5}.btn.danger-outline:hover{background:#fff4f4;border-color:#cf8585}

/* Existing family onboarding */
.existing-family-panel{max-width:1100px}.existing-children-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 14px}.existing-children-head h3{margin:3px 0 0}.existing-child-card{border:1px solid rgba(20,41,74,.12);background:linear-gradient(135deg,rgba(225,241,255,.58),rgba(246,242,255,.58));border-radius:20px;padding:20px;margin:14px 0}.existing-child-card:nth-child(2n){background:linear-gradient(135deg,rgba(235,250,243,.72),rgba(255,248,219,.62))}.existing-child-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.text-action{border:0;background:transparent;font:inherit;font-weight:700;cursor:pointer}.danger-text{color:#a63a49}.activation-link-result{margin-top:20px;padding:18px;border-radius:18px;background:#f1f8ff;border:1px solid rgba(0,116,212,.16)}.activation-link-result p{margin:4px 0 12px;color:var(--muted)}.activation-link-row{display:flex;gap:10px}.activation-link-row input{flex:1;min-width:0}.activation-link-result[hidden]{display:none!important}@media(max-width:720px){.existing-children-head,.activation-link-row{align-items:stretch;flex-direction:column}.activation-link-row .btn{width:100%}}

/* Flexible admin billing */
.billing-control-section{margin-top:18px;padding:16px;border:1px solid rgba(20,45,75,.12);border-radius:18px;background:rgba(255,255,255,.72)}
.billing-control-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.billing-control-head b{display:block;color:var(--ink)}
.billing-control-head small,.billing-note{display:block;color:var(--muted);margin-top:3px}
.billing-rate-chips{display:flex;flex-wrap:wrap;gap:8px}
.billing-rate-chips span{padding:8px 11px;border-radius:999px;background:var(--soft-sky);font-size:.9rem}
.billing-session-row{padding:12px 0;border-top:1px solid rgba(20,45,75,.09)}
.billing-session-row:first-of-type{border-top:0}
.billing-session-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.billing-session-row small{color:var(--muted)}
.session-override-controls,.billing-adjustment-form{display:grid;grid-template-columns:auto minmax(90px,120px) minmax(160px,1fr) auto;gap:8px;align-items:center;margin-top:10px}
.session-override-controls input,.billing-adjustment-form input,.billing-adjustment-form select{min-width:0}
.adjustment-list{margin-top:12px;border-top:1px solid rgba(20,45,75,.09)}
.adjustment-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(20,45,75,.07)}
.credit-text{color:#147a59}
.billing-adjustments-parent{margin:16px 0;padding:14px;border-radius:16px;background:var(--soft-mint)}
.empty-state.compact{padding:8px 0;margin:0}
@media(max-width:820px){
  .session-override-controls,.billing-adjustment-form{grid-template-columns:1fr}
}

/* Account recovery, access management, and security review */
.login-inline-help{text-align:right;margin-top:-6px;margin-bottom:12px;font-size:.92rem}
.login-inline-help a{font-weight:700}
.family-directory-head{margin-top:32px}
.account-family-students{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.account-family-students span{padding:7px 10px;border-radius:999px;background:var(--soft-sky);font-size:.9rem}
.account-access-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.account-email-correction{display:flex;gap:8px;align-items:center;flex:1;min-width:300px}
.account-email-correction input{flex:1;min-width:190px}
.change-tutor-label small{display:block;color:var(--muted);margin-top:6px;line-height:1.45}
.security-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.security-checklist{padding-left:20px;margin:12px 0 0}
.security-checklist li{margin:10px 0;line-height:1.55}
.privacy-copy{display:grid;gap:16px;max-width:900px}
.privacy-copy .panel h2{margin-top:0}
@media(max-width:800px){.security-review-grid{grid-template-columns:1fr}.account-email-correction{min-width:0;width:100%;flex-direction:column;align-items:stretch}.account-access-controls{align-items:stretch;flex-direction:column}}

/* Intake helper text, Assigned Students, and Documents */
.field-help{display:block;margin-top:6px;color:#7a8793;font-size:9px;line-height:1.5}
.student-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.student-select-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafb;border:1px solid var(--line);border-radius:16px;padding:14px 15px}
.student-select-card h3{margin:0;font-size:13px;color:var(--navy)}
.student-select-card p{margin:3px 0 0;font-size:10px;color:#5b6f7a}
.student-select-card .student-select-school{color:#7a8793}
.student-detail{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px;box-shadow:0 9px 28px rgba(18,52,69,.045)}
.student-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}
.student-detail-head h2{margin:4px 0 0;font-size:20px;color:var(--navy)}
.student-detail-head p{margin:4px 0 0;font-size:11px;color:#5b6f7a}
.student-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.student-detail-card{background:linear-gradient(135deg,var(--sky),#fff);border:1px solid var(--line);border-radius:16px;padding:15px 16px}
.student-detail-card h3{margin:0 0 10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:var(--navy2)}
.student-detail-rows{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.student-detail-row{background:rgba(255,255,255,.72);border-radius:12px;padding:10px 11px;min-width:0}
.student-detail-row.wide{grid-column:1/-1}
.student-detail-row b{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#819099;margin-bottom:4px}
.student-detail-row .detail-value{display:block;font-size:11px;color:#3f5460;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.student-detail-row .detail-value.missing{color:#96a3ac;font-style:italic}
.student-detail-note{margin:16px 0 0;padding-top:13px;border-top:1px solid var(--line);color:#7a8793;font-size:9px;line-height:1.6}
.document-list{display:grid;gap:12px;margin-top:14px}
.document-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#f8fafb;border:1px solid var(--line);border-radius:16px;padding:14px 15px}
.document-card.admin{background:#fff;box-shadow:0 8px 24px rgba(18,52,69,.04)}
.document-card-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1 1 260px}
.document-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;font-size:9px;font-weight:950;letter-spacing:.04em}
.document-card h3{margin:0;font-size:13px;color:var(--navy);overflow-wrap:anywhere}
.document-description{margin:4px 0 0;font-size:10px;color:#5b6f7a;line-height:1.55}
.document-meta{margin:5px 0 0;font-size:9px;color:#84929c;text-transform:uppercase;letter-spacing:.05em}
.document-audience{margin:6px 0 0;font-size:10px;color:#4e626e;line-height:1.5;overflow-wrap:anywhere}
.document-audience b{color:var(--navy2)}
.document-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.document-replace{margin:0;cursor:pointer}
.document-card .form-status{flex:1 1 100%;margin:0;font-size:10px;min-height:0}
.document-card .form-status:empty{display:none}
@media(max-width:820px){
  .student-select-grid,.student-detail-grid{grid-template-columns:1fr}
  .student-select-card{flex-direction:column;align-items:stretch}
  .student-select-card .btn{width:100%}
  .student-detail{padding:16px}
  .student-detail-head{flex-direction:column;align-items:stretch}
  .student-detail-head .btn{width:100%}
  .student-detail-rows{grid-template-columns:1fr}
  .document-card{flex-direction:column;align-items:stretch}
  .document-actions{width:100%}
  .document-actions .btn{flex:1 1 auto;text-align:center}
}

/* ---------------------------------------------------------------------------
   One parent account, many students.
   The student switcher, the My Students cards, the per student balance
   breakdown, and the administrator's "add a student to an existing family"
   controls.
   --------------------------------------------------------------------------- */
.family-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-left:5px solid var(--sky2);border-radius:18px;padding:13px 16px;margin-bottom:16px;box-shadow:0 8px 24px rgba(18,52,69,.045)}
.family-bar[hidden]{display:none!important}
.family-bar-current{display:grid;gap:2px;min-width:max-content}
.family-bar-current small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:#7b8991}
.family-bar-current strong{font-size:17px;color:var(--navy2);line-height:1.2}
.family-bar-meta{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.family-bar-meta span{background:#f5f8fa;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:850;color:#5b6f7a}
.family-bar-switch{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.student-chip{display:grid;gap:1px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:8px 13px;text-align:left;font-size:11px;font-weight:900;color:#53636d;cursor:pointer}
.student-chip small{font-size:8px;font-weight:800;color:#8b979f;letter-spacing:.04em}
.student-chip:hover{border-color:var(--sky2);background:#f6fbfe}
.student-chip.active{background:var(--navy2);border-color:var(--navy2);color:#fff}
.student-chip.active small{color:#bcd6e2}
.viewing-line{margin:0 0 10px}
.viewing-line[hidden]{display:none!important}
.family-student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.family-student-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 9px 28px rgba(18,52,69,.045);display:flex;flex-direction:column;gap:13px}
.family-student-card.selected{border-color:var(--sky2);box-shadow:0 12px 30px rgba(41,90,132,.13)}
.family-student-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.family-student-head h3{margin:0;font-size:17px;color:var(--navy2)}
.family-student-head span{font-size:10px;color:var(--muted)}
.family-student-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.family-student-facts>div{background:#f8fafb;border-radius:12px;padding:10px 11px;min-width:0}
.family-student-facts dt{font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#819099;margin-bottom:3px}
.family-student-facts dd{margin:0;font-size:11px;color:#3f5460;overflow-wrap:anywhere}
.family-student-metrics{display:flex;flex-wrap:wrap;gap:7px}
.family-student-metrics span{background:var(--sky);border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;color:#3e6d84}
.family-student-metrics b{font-weight:950}
.family-student-card .btn{margin-top:auto;text-align:center}
.family-balance-panel{margin-top:14px}
.family-balance-section{margin-top:16px}
.family-balance-list{display:grid;gap:2px}
.family-balance-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(20,45,75,.07)}
.family-balance-row span{display:grid;gap:2px}
.family-balance-row b{font-size:13px;color:var(--navy2)}
.family-balance-row small{font-size:9px;color:var(--muted);font-weight:700}
.family-balance-row.total{border-bottom:0;border-top:2px solid var(--navy2);margin-top:4px;padding-top:12px}
.family-balance-row.total b{font-size:16px}
.family-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.family-detail-grid>div{background:#f8fafb;border-radius:13px;padding:11px 12px;display:grid;gap:3px;min-width:0}
.family-detail-grid small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#819099}
.family-detail-grid b{font-size:12px;color:var(--navy2);overflow-wrap:anywhere}
.family-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.family-detail-columns>div{display:grid;gap:8px;align-content:start}
.family-detail-progress{display:grid;gap:3px;border:1px solid #edf0f2;border-radius:13px;padding:11px 12px}
.family-detail-progress span{font-size:9px;color:var(--muted)}
.family-detail-progress b{font-size:12px;color:var(--navy2)}
.family-detail-progress .progress-status{justify-self:start}
.family-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.account-student-list{margin:8px 0 0;padding-left:18px;color:#4e626e;font-size:11px}
.account-student-list li{margin-bottom:5px}
.account-student-list b{color:var(--navy2)}
.document-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.document-filter[hidden]{display:none!important}
.document-filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;color:#62737e;cursor:pointer}
.document-filter-chip small{background:#f0f4f6;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:950;color:#7b8991}
.document-filter-chip:hover{border-color:var(--sky2);color:var(--navy2)}
.document-filter-chip.active{background:var(--navy2);border-color:var(--navy2);color:#fff}
.document-filter-chip.active small{background:rgba(255,255,255,.2);color:#e6f1f7}
.document-owner{margin:3px 0 0;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#4e7f98}
.thread-group{padding:12px 12px 4px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:#7b8991}
.thread-group[data-current="true"]{color:var(--navy2)}
.registration-mode{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.registration-mode button{border:1px solid rgba(41,90,132,.18);background:rgba(255,255,255,.75);border-radius:999px;padding:9px 14px;font-size:10px;font-weight:900;color:#4d6b7d;cursor:pointer}
.registration-mode button.active{background:var(--navy2);border-color:var(--navy2);color:#fff}
.possible-family-notice{background:var(--sun);border:1px solid #ead58c;border-radius:16px;padding:15px 16px;margin-top:14px}
.possible-family-head b{display:block;font-size:12px;color:#5f4d16}
.possible-family-head p{margin:4px 0 10px;font-size:10px;color:#6d5a1f}
.possible-family-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:rgba(255,255,255,.72);border-radius:13px;padding:11px 12px;margin-bottom:8px}
.possible-family-row div{display:grid;gap:2px;min-width:0}
.possible-family-row b{font-size:12px;color:var(--navy2)}
.possible-family-row small{font-size:9px;color:#6d7c85;overflow-wrap:anywhere}
.possible-family-note{display:block;font-size:9px;color:#6d5a1f;font-weight:800}
.parent-search{display:flex;align-items:end;gap:10px;margin-bottom:12px}
.parent-search label{display:grid;gap:5px;flex:1;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#62737e}
.parent-search input{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 11px;color:#425660;font:inherit;font-size:11px;width:100%}
.parent-search-results{display:grid;gap:7px;max-height:260px;overflow:auto}
.parent-result{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid rgba(41,90,132,.14);background:rgba(255,255,255,.8);border-radius:13px;padding:11px 12px;cursor:pointer}
.parent-result span{display:grid;gap:2px;min-width:0}
.parent-result b{font-size:12px;color:var(--navy2)}
.parent-result small{font-size:9px;color:#6d7c85;overflow-wrap:anywhere}
.parent-result-kids{text-align:right;min-width:max-content}
.parent-result:hover{border-color:var(--sky2);background:#fff}
.parent-result.active{background:var(--navy2);border-color:var(--navy2)}
.parent-result.active b,.parent-result.active small{color:#fff}
.attach-selected{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--mint);border:1px solid rgba(60,120,85,.2);border-radius:14px;padding:12px 13px;margin:12px 0}
.attach-selected[hidden]{display:none!important}
.attach-selected div{display:grid;gap:2px}
.attach-selected small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#4a7059}
.attach-selected b{font-size:13px;color:#2f5c42}
.attach-selected span{font-size:9px;color:#4a7059}
.attach-selected .text-action{color:#2f5c42;text-decoration:underline;font-size:10px}
.family-add-student{margin-top:14px}
.admin-sibling-note{margin:5px 0 0!important;font-size:9px!important;color:#4e7f98!important;font-weight:800}
@media(max-width:900px){
  .family-detail-grid{grid-template-columns:1fr 1fr}
  .family-detail-columns{grid-template-columns:1fr}
}
@media(max-width:700px){
  .family-bar{flex-direction:column;align-items:stretch}
  .family-bar-meta,.family-bar-switch{margin-left:0}
  .family-student-facts{grid-template-columns:1fr}
  .family-detail-grid{grid-template-columns:1fr}
  .parent-search{flex-direction:column;align-items:stretch}
  .parent-search .btn{width:100%}
  .parent-result{flex-direction:column;align-items:flex-start}
  .parent-result-kids{text-align:left}
  .attach-selected{flex-direction:column;align-items:flex-start}
}
