:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2d2026;background:#faf7f8;font-synthesis:none;text-rendering:optimizeLegibility;--burgundy: #65002f;--burgundy-dark: #3e001d;--rose: #f8eaf0;--silver: #a6a5a8;--navy: var(--burgundy-dark);--blue: var(--burgundy);--sky: var(--rose);--gold: #b29a57;--ink: #2d2026;--muted: #685b61;--line: #e3d7dc;--surface: #ffffff;--focus: #005fcc;--math-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='180' viewBox='0 0 240 180'%3E%3Cg fill='%2365002f' fill-opacity='.10' font-family='Arial,sans-serif' font-size='26' font-weight='700'%3E%3Ctext x='18' y='38'%3E%2B%3C/text%3E%3Ctext x='92' y='30'%3E%C3%97%3C/text%3E%3Ctext x='185' y='48'%3E%C3%B7%3C/text%3E%3Ctext x='45' y='118'%3E%CF%80%3C/text%3E%3Ctext x='137' y='105'%3E%E2%88%9A%3C/text%3E%3Ctext x='205' y='150'%3E=%3C/text%3E%3C/g%3E%3C/svg%3E")}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh;background-color:#faf7f8;background-image:var(--math-pattern);background-size:240px 180px}a{color:inherit}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:12px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{min-height:88px;padding:8px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#fffffff7}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;min-height:48px}.brand-logo{display:block;width:84px;height:56px;object-fit:contain}.brand strong,.brand small{display:block}.brand strong{font-size:1rem;line-height:1.1}.brand small{margin-top:3px;color:var(--muted);font-size:.72rem}nav{display:flex;align-items:center;gap:clamp(6px,2vw,24px)}nav a{min-height:48px;display:inline-flex;align-items:center;padding:0 8px;text-decoration:none;color:var(--muted);font-weight:650;font-size:.9rem}nav a[aria-current=page]{color:var(--navy);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}.nav-signin{border:1px solid var(--burgundy);border-radius:12px;padding-inline:18px;color:var(--burgundy)}.nav-signout{min-height:48px;padding:0 8px;border:0;background:none;color:var(--muted);font:inherit;font-weight:650;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.nav-signout:disabled{cursor:default;opacity:.7}.install-tip{display:flex;gap:16px;align-items:flex-start;margin:0 0 24px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#f6f9fc}.install-tip img{flex:none;border-radius:12px;border:1px solid var(--line);background:#fff}.install-tip h2{margin:0 0 6px;font-size:1.05rem}.install-tip p{margin:0 0 10px;color:var(--muted)}.install-tip ol{margin:0 0 12px;padding-left:20px}.install-tip .button-row{align-items:center;margin:0}.install-tip .text-button{margin:0}.install-page section{margin-top:18px}.pasted-link{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:8px}.pasted-link h2{margin:0;font-size:1.05rem}.pasted-link p{margin:0 0 6px;color:var(--muted)}.hero{padding:clamp(58px,9vw,120px) clamp(20px,8vw,120px);background-image:linear-gradient(135deg,#f8edf2e6,#ffffffe6 58%,#f4f2f3e6),var(--math-pattern);background-size:auto,240px 180px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:clamp(40px,8vw,100px);align-items:center}.hero-copy{max-width:680px}.eyebrow{margin:0 0 14px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.77rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:22px;font-size:clamp(2.6rem,6vw,5.2rem);line-height:.99;letter-spacing:-.055em;color:var(--navy)}.hero-lead{max-width:610px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:13px;text-decoration:none;font-weight:760}.button-primary{color:#fff;background:var(--burgundy);box-shadow:0 10px 28px #65002f33;border:0;cursor:pointer}.button-secondary{color:var(--navy);background:#fff;border:1px solid var(--line)}.availability,.phase-note{margin-top:18px;color:var(--muted);font-size:.9rem}.progress-preview{padding:clamp(24px,4vw,38px);border:1px solid rgba(101,0,47,.16);border-radius:24px;background:#ffffffeb;box-shadow:0 24px 70px #3e001d1f;transform:rotate(1deg)}.preview-topline{display:flex;justify-content:space-between;color:var(--muted);font-weight:700;font-size:.85rem}.status-pill{padding:6px 10px;color:#17653b;background:#e6f8ed;border-radius:99px}.status-pill.status-inactive{color:#7a2735;background:#f8e7eb}.progress-preview h2{margin:38px 0 8px;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--navy)}.progress-preview p{color:var(--muted)}.progress-track{height:12px;margin:30px 0 24px;border-radius:99px;background:#e8eef3;overflow:hidden}.progress-track span{display:block;width:30%;height:100%;background:linear-gradient(90deg,var(--burgundy),#a23b69)}.preview-stats{display:flex;gap:40px}.preview-stats strong,.preview-stats span{display:block}.preview-stats strong{font-size:1.8rem;color:var(--navy)}.preview-stats span{color:var(--muted);font-size:.85rem}.benefits{padding:clamp(58px,8vw,100px) clamp(20px,8vw,120px);background-image:linear-gradient(#ffffffeb,#ffffffeb),var(--math-pattern);background-size:auto,240px 180px}.benefits>h2{max-width:620px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.04em}.card-grid{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card-grid article{padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff}.card-grid .icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--sky);color:var(--blue);font-weight:850}.card-grid h3{margin:24px 0 10px}.card-grid p{color:var(--muted);line-height:1.6}.page{width:min(100% - 40px,920px);margin:0 auto;padding:clamp(48px,8vw,100px) 0;flex:1}.placeholder-card,.system-card,.auth-card,.contact-card{padding:clamp(28px,6vw,58px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 18px 50px #3e001d14}.placeholder-card h1,.system-card h1,.auth-card h1{font-size:clamp(2rem,5vw,3.7rem)}.placeholder-card>p:not(.eyebrow),.system-card>p:not(.eyebrow),.auth-card>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.65}.auth-card{max-width:680px;margin-inline:auto}.auth-card form{display:grid;gap:12px;margin:30px 0 10px}.auth-card label{font-weight:760}.auth-card input{width:100%;min-height:52px;padding:12px 14px;border:1px solid #9fb0bd;border-radius:12px;color:var(--ink);background:#fff;font:inherit}.auth-card form .button{margin-top:6px;border:0;cursor:pointer}.auth-card button:disabled{opacity:.62;cursor:wait}.contact-card{max-width:760px;margin-inline:auto}.contact-card h1{font-size:clamp(2rem,5vw,3.7rem)}.registration-card{padding:clamp(28px,6vw,58px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 18px 50px #3e001d14}.registration-card>h1{font-size:clamp(2rem,5vw,3.7rem)}.registration-card>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.65}.registration-card form{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:30px}.registration-card fieldset{min-width:0;margin:0;padding:22px;border:1px solid var(--line);border-radius:16px}.registration-card legend{padding:0 8px;color:var(--burgundy);font-size:1.05rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:grid;gap:7px;font-weight:700}.form-grid input,.form-grid select{width:100%;min-height:50px;padding:11px 13px;border:1px solid #a99aa0;border-radius:11px;color:var(--ink);background:#fff;font:inherit}.span-2{grid-column:1 / -1}.form-help{margin:18px 0 10px;color:var(--muted);font-size:.9rem}.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:12px;line-height:1.5}.check-row input{width:20px;height:20px;flex:0 0 auto;margin-top:1px;accent-color:var(--burgundy)}.text-button{margin-top:16px;padding:0;border:0;color:var(--burgundy);background:transparent;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.notice-box{padding:22px;border:1px solid rgba(101,0,47,.25);border-radius:16px;background:var(--rose)}.notice-box h2{font-size:1.35rem}.notice-summary{margin:0 0 14px;padding-left:20px;display:grid;gap:8px;color:var(--ink);line-height:1.5}.notice-full{margin:0 0 8px}.notice-full summary{cursor:pointer;color:var(--burgundy);font-weight:750;padding:10px 0}.notice-full .notice-text{margin-top:8px;padding:14px;border-radius:12px;background:#ffffffb3}.notice-text{white-space:pre-line;overflow-wrap:anywhere;color:var(--muted);line-height:1.6}.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:42px}.portal-heading h1{margin-bottom:.75rem;line-height:1.04}.portal-heading>div>p:last-child{margin-bottom:0;line-height:1.55}.portal-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.sr-live{min-height:1.5rem;color:var(--burgundy);font-weight:700}.student-portal{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fffffff5;box-shadow:0 12px 36px #3e001d0f}.inactive-student-card{padding:clamp(1.5rem,4vw,2.25rem);border:1px solid rgba(101,0,47,.22);border-radius:20px;background:var(--rose)}.inactive-student-card h2{margin-bottom:.45rem}.inactive-student-card>p:not(.eyebrow){max-width:700px;color:var(--muted);line-height:1.55}.program-setup{margin-bottom:2rem}.program-picker{display:grid;gap:.4rem;max-width:32rem;margin:1rem 0 1.5rem;font-weight:700}.program-setup-form{padding-top:1rem;border-top:1px solid var(--line)}.program-setup-form small{display:block;margin-top:.25rem;color:var(--muted);font-weight:400}.program-setup-form textarea{resize:vertical}.readiness-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-top:1.5rem;padding:1.25rem;border-radius:14px;background:var(--rose)}.readiness-panel h3{margin:0 0 .5rem}.readiness-panel ul{margin:.5rem 0}.readiness-counts{margin-bottom:0;color:var(--muted);font-size:.9rem}@media(max-width:680px){.readiness-panel{display:grid}}.student-tabs{display:flex;gap:.65rem;margin-bottom:1rem;padding:.2rem .15rem .65rem;overflow-x:auto;scrollbar-width:thin}.student-tabs button{min-width:130px;min-height:60px;display:grid;gap:.15rem;padding:.7rem 1rem;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:.85rem;cursor:pointer;font:inherit}.student-tabs button[aria-selected=true]{color:#fff;background:var(--burgundy);border-color:var(--burgundy)}.student-tabs small{opacity:.82}.student-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.progress-summary{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:.65rem}.progress-summary div{display:grid;gap:.1rem;padding:.75rem;border-radius:.8rem;background:var(--rose)}.progress-summary strong{color:var(--burgundy);font-size:1.35rem}.progress-summary span{color:var(--muted);font-size:.75rem}.work-section{margin-top:1.6rem}.work-section>h3{margin-bottom:.35rem;font-size:1.35rem}.work-section>p,.empty-state{color:var(--muted)}.catch-up-section{padding-top:1.2rem;border-top:1px solid var(--line)}.activity-list{display:grid;gap:18px;margin-top:24px}.activity-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.activity-student{display:flex;align-items:flex-start;gap:14px}.activity-student .icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;color:var(--burgundy);background:var(--rose);font-weight:850}.activity-student h3{margin:2px 0 5px}.activity-student p,.activity-content>p{color:var(--muted)}.activity-content h4{margin:0 0 10px;color:var(--burgundy-dark);font-size:1.4rem}.activity-content .button-row{align-items:center}.activity-meta{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:var(--muted);font-size:.85rem;font-weight:700}.student-editor{margin-top:16px}.student-editor summary{color:var(--burgundy);font-weight:750;cursor:pointer}.student-editor form{margin-top:16px;padding:18px;border-radius:14px;background:var(--rose)}.catch-up-toggle{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;cursor:pointer}.catch-up-toggle input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--burgundy)}.catch-up-toggle span{display:grid;gap:.15rem}.catch-up-toggle small{color:var(--muted)}.portal-disclosures,.settings-panel,.household-settings{margin-top:1.25rem}.portal-disclosures>details,.settings-panel{padding:1rem 0;border-top:1px solid var(--line)}.portal-disclosures summary,.settings-panel>summary,.household-settings>summary{color:var(--burgundy);font-weight:800;cursor:pointer}.compact-activity-list{display:grid;gap:.75rem;margin-top:1rem}.compact-activity-list .activity-card{padding:1rem;background:#faf8f9}.future-list{list-style:none;display:grid;gap:.5rem;margin:1rem 0 0;padding:0}.future-list li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:.7rem;background:#faf8f9}.future-list span{color:var(--muted)}.household-settings form{margin-top:1rem}.household-settings h3{margin:1.5rem 0 .5rem}.household-settings ul{margin-bottom:0}.household-settings>p:not(.eyebrow),.settings-intro{color:var(--muted);line-height:1.55}.caregiver-settings{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}.caregiver-settings form{margin-top:1rem}.preference-fieldset{margin:0;padding:1rem;border:1px solid var(--line);border-radius:.8rem}.preference-fieldset legend{padding-inline:.35rem;font-weight:800}.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.5rem;padding-top:.35rem}.form-grid .preference-grid .check-row{min-height:32px;display:flex;align-items:center;gap:.75rem;margin:0;padding:.2rem 0;line-height:1.35}.form-grid .preference-grid .check-row input{width:20px;height:20px;margin:0;flex:0 0 20px}.form-grid .preference-grid .check-row span{display:block}.email-change{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;margin:1.25rem 0;padding:1rem;border-radius:.8rem;background:#faf8f9}.email-change label{display:grid;gap:.4rem;font-weight:700}.email-change input{width:100%;min-height:50px;padding:11px 13px;border:1px solid #a99aa0;border-radius:11px;font:inherit}.email-change p{grid-column:1 / -1;margin:0}.caregiver-roster{list-style:none;padding:0}.caregiver-roster li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line)}.caregiver-roster div{display:grid;gap:.1rem}.caregiver-roster span,.caregiver-roster small{color:var(--muted)}.invite-caregiver{margin-top:1rem}.invite-caregiver>summary{color:var(--burgundy);font-weight:800;cursor:pointer}.demo-banner{margin:0 0 1.5rem;padding:.8rem 1rem;border:1px solid #d6c27d;border-radius:.75rem;background:#fff8df;color:var(--ink);font-weight:650}.review-signin{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.admin-portal{display:grid;gap:1.5rem}.admin-portal.page{width:min(100% - 40px,1180px)}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.metric-card{display:grid;gap:.2rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 10px 28px #3e001d0f}.metric-card strong{color:var(--burgundy);font-size:clamp(1.6rem,3vw,2.35rem)}.metric-card span{color:var(--muted);font-size:.9rem}.analytics-definition{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:.85rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.analytics-definition h3{margin-bottom:.45rem}.analytics-definition p{margin:.3rem 0;color:var(--muted);font-size:.88rem;line-height:1.5}.analytics-definition .button{flex:0 0 auto}.admin-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:1rem;align-items:start}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.section-heading h2{margin-bottom:.3rem}.section-heading p{margin-bottom:0;color:var(--muted)}.section-heading .status-definition{max-width:780px;margin-top:.55rem;font-size:.88rem;line-height:1.5}.directory-controls{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(125px,.75fr)) auto;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.directory-controls>label{display:grid;gap:.35rem;font-weight:700}.directory-controls select{width:100%;min-height:46px;padding:.6rem .7rem;border:1px solid #a99aa0;border-radius:.7rem;background:#fff;font:inherit}.clear-filters{margin:0 0 .75rem;white-space:nowrap}.search-field{width:min(100%,340px);display:grid;gap:.35rem;font-weight:700}.search-field input,.admin-household-form input,.admin-household-form select,.admin-student-editor input,.admin-student-editor select{width:100%;min-height:46px;padding:.65rem .75rem;color:var(--ink);background:#fff;border:1px solid #a99aa0;border-radius:.7rem;font:inherit}.household-workspace{min-height:560px;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.65fr);border:1px solid var(--line);border-radius:1rem;background:#fff;overflow:hidden}.household-list{padding:.75rem;border-right:1px solid var(--line);background:#faf8f9;overflow-y:auto}.result-count{margin:.2rem .5rem .6rem;color:var(--muted);font-size:.8rem}.household-list button{width:100%;display:grid;gap:.25rem;padding:.9rem;text-align:left;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:.75rem;cursor:pointer;font:inherit}.household-list button:hover{background:#fff}.household-list button.selected{color:var(--burgundy-dark);background:var(--rose);border-color:#65002f33}.household-list span{color:var(--muted);font-size:.8rem}.household-list small{color:var(--muted);font-size:.72rem}.pagination{display:flex;justify-content:space-between;gap:.5rem;padding:.75rem .35rem 0}.pagination button{min-height:38px;padding:.4rem .7rem;color:var(--burgundy);background:#fff;border:1px solid var(--line);border-radius:.6rem;font:inherit;font-weight:700;cursor:pointer}.pagination button:disabled{color:var(--muted);cursor:default}.detail-pane{min-width:0;padding:clamp(1rem,3vw,2rem)}.household-detail>header{display:flex;justify-content:space-between;gap:1rem}.household-detail h2{margin-bottom:1rem;font-size:clamp(1.6rem,3vw,2.25rem)}.admin-household-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.45fr) auto;align-items:end;gap:.75rem;padding:1rem;border-radius:.85rem;background:var(--rose)}.admin-household-form label{display:grid;gap:.35rem;font-weight:700}.admin-household-form>[role=status],.admin-household-form>[role=alert]{grid-column:1 / -1}.status-help{margin:.65rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.5}.record-section{margin-top:1.6rem}.admin-student-editor{border-top:1px solid var(--line)}.admin-student-editor>summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem .25rem;cursor:pointer}.admin-student-editor>summary span{color:var(--muted)}.admin-student-editor form{padding:1rem;background:#faf8f9;border-radius:.75rem}.caregiver-list{list-style:none;margin:0;padding:0}.caregiver-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem .25rem;border-top:1px solid var(--line)}.caregiver-list div{display:grid;gap:.15rem}.caregiver-list span,.caregiver-list small{color:var(--muted);overflow-wrap:anywhere}.action-list,.program-list{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}.action-list li,.program-list li{display:flex;align-items:center;gap:.75rem;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--line)}.action-list li:last-child,.program-list li:last-child{border-bottom:0}.action-list div,.program-list div{display:grid;gap:.1rem;margin-right:auto}.action-list small,.program-list small{color:var(--muted)}.status-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--gold);flex:0 0 auto}.compact-system{margin:0}.compact-system dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.compact-system dl div{display:block;border:0;padding:0}.compact-system dd{margin-top:.25rem;text-align:left}.contact-card>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.65}.contact-card form{display:grid;gap:12px;margin-top:30px}.contact-card label{font-weight:760}.contact-card select,.contact-card textarea{width:100%;padding:12px 14px;border:1px solid #a99aa0;border-radius:12px;color:var(--ink);background:#fff;font:inherit}.contact-card select{min-height:52px}.contact-card textarea{resize:vertical;min-height:150px}.contact-actions{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.contact-actions a{color:var(--burgundy);font-weight:700;overflow-wrap:anywhere}.privacy-note{margin:18px 0 0;font-size:.88rem!important}.live-message{min-height:46px;padding-top:8px;color:var(--blue);font-weight:650}.admin-signin{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.admin-signin h2{font-size:1.25rem}.admin-signin summary{cursor:pointer;color:var(--muted);font-weight:700;padding:8px 0}.admin-signin p{color:var(--muted)}.admin-signin button{cursor:pointer}.system-card dl{margin:34px 0 0}.system-card dl div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.system-card dt{color:var(--muted)}.system-card dd{margin:0;font-weight:760;text-align:right;overflow-wrap:anywhere}footer{min-height:74px;padding:20px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);border-top:1px solid var(--line);background:#fff;font-size:.82rem}footer a{color:var(--burgundy);font-weight:700}@media(max-width:760px){.app-header{height:auto;min-height:72px;padding-block:10px}nav a:not(.nav-signin){display:none}.nav-signin{padding-inline:12px}.hero{grid-template-columns:1fr;padding-top:54px}.progress-preview{transform:none}.card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:minmax(0,1fr)}.registration-card{padding:22px 16px}.registration-card fieldset,.notice-box{padding:16px 14px}.span-2{grid-column:auto}.portal-heading{align-items:flex-start;flex-direction:column}.activity-card{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.compact-system dl{grid-template-columns:1fr}.student-summary,.section-heading,.analytics-definition{align-items:stretch;flex-direction:column}.progress-summary{grid-template-columns:repeat(3,1fr)}.search-field{width:100%}.household-workspace{grid-template-columns:1fr}.directory-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-controls .search-field{grid-column:1 / -1}.preference-grid{grid-template-columns:1fr}.admin-household-form{grid-template-columns:1fr 1fr}.admin-household-form .button{grid-column:1 / -1}.household-list{max-height:260px;border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:430px){.brand-logo{width:68px;height:46px}.brand small{display:none}.brand strong{font-size:.9rem}.hero{padding-inline:20px}.button-row .button{width:100%}.progress-summary{grid-template-columns:1fr}.future-list li,.admin-household-form{grid-template-columns:1fr;flex-direction:column}.directory-controls,.email-change{grid-template-columns:1fr}.directory-controls .search-field,.email-change p{grid-column:auto}.system-card dl div{grid-template-columns:1fr;gap:5px}.system-card dd{text-align:left}footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.teacher-fields{border:0;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.schedule-table-scroll{overflow-x:auto}.schedule-preview table{width:100%;border-collapse:collapse;margin:1rem 0}.schedule-preview th,.schedule-preview td{text-align:left;padding:.65rem;border-bottom:1px solid #d7dfe5}.schedule-preview td small{display:block;max-width:20rem}.material-table{width:100%;border-collapse:collapse;margin:1rem 0}.material-table th,.material-table td{text-align:left;padding:.65rem;border-bottom:1px solid #d7dfe5}.calendar-weeks{display:grid;gap:1rem}.calendar-week{border:1px solid var(--border, #d9e3df);border-radius:12px;padding:1rem;min-width:0}.calendar-week h3,.calendar-week h4{margin:0 0 .5rem}.calendar-break{background:#f3f6ee}.calendar-week-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.calendar-activities{padding-left:1.2rem}.calendar-activities li{margin-bottom:.75rem;overflow-wrap:anywhere}.calendar-activities small{display:block;color:#4e6259}@media(max-width:600px){.calendar-week-columns{grid-template-columns:1fr}.calendar-page .portal-heading{flex-wrap:wrap}}[hidden]{display:none!important}.admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem 0;margin:0 0 1rem;position:sticky;top:0;z-index:5;background:#fff}.admin-tabs button{border:1px solid #c7d7ce;border-radius:8px;padding:.65rem 1rem;background:#fff;color:#214435;font:inherit;cursor:pointer}.admin-tabs button[aria-selected=true]{background:#214435;color:#fff}.admin-tabs button:focus-visible{outline:3px solid #c8a83b;outline-offset:2px}.admin-preview-scroll,.schedule-preview .schedule-table-scroll{max-height:28rem;overflow:auto}.schedule-preview details{border-top:1px solid #d9e3df;padding:.75rem 0}.schedule-preview summary{cursor:pointer;font-weight:600}.admin-portal .material-table{font-size:.9rem}@media(min-width:900px){.admin-portal .household-workspace{max-height:65vh;overflow:auto}.admin-portal .material-table{max-height:60vh}}.admin-portal .record-section>.schedule-table-scroll{max-height:60vh;overflow:auto}.program-setup .admin-tabs{position:static}.admin-portal .schedule-table-scroll thead{position:sticky;top:0;background:#f7faf8;z-index:1}.material-editor,.compact-help{margin:.75rem 0;border:1px solid #d9e3df;border-radius:8px;padding:.75rem}.material-editor summary,.compact-help summary,.compact-link-check summary{cursor:pointer;font-weight:600}.material-editor[open]>summary{margin-bottom:1rem}.material-list-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1rem 0}.material-list-controls label{margin:0}.material-list-controls .pagination{margin:0;align-items:center}.compact-link-check{margin-bottom:.5rem}.compact-link-check>a{display:inline-block;margin-left:.6rem}.compact-link-check details{margin-top:.25rem;font-size:.85rem}.compact-link-check details p{margin:.35rem 0}@media(max-width:600px){.material-list-controls .pagination{width:100%;justify-content:space-between}.material-list-controls .pagination button{min-height:44px}}.launch-check-scroll{max-height:26rem;overflow-y:auto}.launch-checks{list-style:none;padding:0}.launch-checks li{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #dbe3ed}.launch-checks p{margin:.4rem 0 0}@media(max-width:600px){.launch-checks li{flex-direction:column}}.guide-body{max-width:60rem;overflow-wrap:anywhere}.guide-body section{margin:1.5rem 0}.guide-body p{white-space:pre-wrap}.guide-body .guide-whats-new{padding:1rem;border:1px solid var(--line);background:var(--rose);border-radius:12px}.guide-preview{max-height:30rem;overflow:auto;margin:1rem auto;padding:1rem;background:#fff;border:1px solid var(--line)}.guide-preview-mobile{max-width:360px}.guide-preview-desktop{max-width:960px}.content-editor,.calendar-review{border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}.content-editor summary,.calendar-review summary{cursor:pointer;font-weight:700;min-height:48px}.content-fields{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1 / -1}.guide-update{padding:1rem;border:1px solid var(--line);background:var(--rose);border-radius:12px}@media(max-width:600px){.content-fields{grid-template-columns:1fr}}.guide-fields label:has(textarea),.guide-fields>p,.guide-fields>.button-row{grid-column:1 / -1}.guide-fields textarea{width:100%}.email-operations details{margin-block:1rem}.email-operations summary{cursor:pointer;font-weight:600}.email-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;background:#f6f8fb;padding:1rem}.email-queue-scroll{overflow-x:auto}.email-queue-scroll table{width:100%;border-collapse:collapse}.email-queue-scroll th,.email-queue-scroll td{padding:.65rem;text-align:left;border-bottom:1px solid #ddd}.email-queue-scroll small{display:block}.email-operations{min-width:0;overflow-wrap:anywhere}.email-operations .pagination{flex-wrap:wrap;align-items:center}.email-operations .pagination span{flex-basis:100%}.email-operations .pagination button{min-height:44px}.email-operations details>label{display:grid;gap:.5rem;margin-block:1rem}.email-operations select,.email-operations input[type=number]{min-width:0;max-width:100%;padding:.6rem;font:inherit;border:1px solid #a99aa0;border-radius:.6rem}.email-operations .record-section>label:not(.check-row){display:grid;gap:.5rem;margin-block:1rem}.email-queue-scroll table{min-width:640px;overflow-wrap:normal}.email-queue-scroll td small,.gmail-lifecycle{overflow-wrap:anywhere}.email-operations details.gmail-lifecycle>label{display:flex;align-items:flex-start;gap:.5rem}.gmail-lifecycle input[type=checkbox]{width:auto;flex:0 0 auto}.gmail-lifecycle .button{max-width:100%;white-space:normal}.operations-safety{overflow-wrap:anywhere}.operations-safety select{max-width:100%;min-width:0}.operations-safety .button{max-width:100%;white-space:normal}.certificate-review{overflow-wrap:anywhere}.certificate-review .directory-controls label{min-width:140px}.certificate-review select,.certificate-review input{max-width:100%}.certificate-class{border:1px solid #d7e0e7;border-radius:8px;margin-top:12px;padding:12px}.certificate-class summary{cursor:pointer}.certificate-class summary span{display:block;margin:6px 0 0 18px;color:#465364;font-size:.9rem}.certificate-table{overflow-x:auto;margin-top:12px}.certificate-table table{width:100%;border-collapse:collapse;min-width:460px}.certificate-table caption{text-align:left;margin-bottom:8px;font-weight:600}.certificate-table th,.certificate-table td{text-align:left;padding:10px;border-bottom:1px solid #d7e0e7}.site-updates{list-style:none;padding:0;display:grid;gap:1rem}.site-updates article{border-left:4px solid var(--brand, #1f5aa6);padding-left:1rem}.update-date{color:var(--muted, #555);font-size:.9rem;margin:0}.update-body,.email-sample{white-space:pre-line;overflow-wrap:anywhere}.update-dot{color:var(--brand, #1f5aa6)}.household-row{display:flex;gap:.5rem;align-items:stretch}.household-row>button{flex:1;min-width:0}.household-row .select-box{display:flex;align-items:center;padding:0 .25rem}.selection-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0}.danger-panel{border:2px solid #b42318;border-radius:8px;padding:1rem;margin:1rem 0;background:#fff6f5;color:#1d1d1d}.danger-panel h2:focus{outline:2px solid #b42318;outline-offset:2px}.deletion-list{display:grid;gap:.75rem;padding-left:1.25rem}.deletion-list li span{display:block;overflow-wrap:anywhere}.danger-text{color:#b42318;font-weight:600}.button-danger{background:#b42318;color:#fff;border-color:#b42318}.button-danger:disabled{opacity:.5;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.program-setup .program-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-block:8px 20px}.program-setup .program-bar .program-picker{margin:0}.setup-steps{display:block;margin-bottom:20px}.setup-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;counter-reset:none}.setup-step{width:100%;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:.84rem;font-weight:650;line-height:1.2;text-align:center;cursor:pointer}.setup-step .step-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--burgundy);color:var(--burgundy);font-weight:800;font-size:.85rem}.setup-step.state-done .step-number{background:var(--burgundy);color:#fff}.setup-step.state-locked{cursor:not-allowed;color:var(--muted);background:#f6f2f4}.setup-step.state-locked .step-number{border-color:var(--silver);color:var(--silver)}.setup-step[aria-current=step]{border:2px solid var(--burgundy);background:var(--rose)}.setup-notice{margin:0 0 16px;padding:10px 14px;border-left:4px solid #17653b;background:#e6f8ed;border-radius:6px}.setup-checklist{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}.setup-checklist li{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border:1px solid var(--line);border-radius:8px}.setup-checklist li>span{font-weight:700}.setup-checklist li.is-done>span{color:#17653b}.setup-checklist li p{margin:4px 0 0}.setup-body{display:block}.step-intro{color:var(--muted);max-width:70ch;margin-top:0}.step-footer{display:flex;justify-content:flex-end;margin-top:28px}.calendar-step .calculated{display:grid;gap:4px;align-content:start;padding:10px 14px;border:1px dashed var(--line);border-radius:11px;background:#fdfbfc}.calendar-step .calculated span{font-weight:700}.calendar-step .calculated small{color:var(--muted)}.calendar-step small.form-help{margin:0;font-weight:400}.break-weeks{margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px}.break-weeks legend{padding:0 6px;font-weight:800}.break-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:12px}.break-row .text-button{margin:0 0 14px}.field-error{color:#9b1c31;font-size:.86rem;font-weight:650}.form-grid [aria-invalid=true]{border-color:#9b1c31;box-shadow:0 0 0 1px #9b1c31}.field-errors{color:#9b1c31}.import-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.import-choice{display:grid;gap:10px;align-content:start;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.import-choice h4{margin:0}.import-choice p{margin:0;color:var(--muted)}.import-choice label{display:grid;gap:6px;font-weight:700}.import-choice textarea{width:100%;padding:10px 12px;border:1px solid #a99aa0;border-radius:11px;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.import-review{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fdfbfc}.import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.import-grid fieldset{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.import-grid legend{font-weight:800;padding:0 4px}.import-grid .check-row{margin-top:6px}.import-log{margin-top:12px}.setup-transfer{margin-top:28px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.setup-transfer summary{font-weight:750;cursor:pointer}.file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.preview-blockers{margin-block:12px;padding:12px 16px;border-left:4px solid #b26a00;background:#fff6e8;border-radius:6px}.preview-blockers h4{margin:0 0 6px}.launch-todo li{margin-bottom:6px}.launch-todo .text-button{margin:0 0 0 8px}.create-program{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:20px}.create-program h3{margin:0}@media(max-width:900px){.setup-steps ol{grid-template-columns:repeat(4,minmax(0,1fr))}.import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.break-row{grid-template-columns:1fr 1fr}.import-choices{grid-template-columns:1fr}}@media(max-width:480px){.setup-steps ol{grid-template-columns:repeat(2,minmax(0,1fr))}.import-grid,.break-row{grid-template-columns:1fr}}.form-grid label.check-row{display:flex;font-weight:650}.program-setup .program-picker{display:grid;gap:6px;font-weight:700}.program-setup .program-picker select{min-width:260px;min-height:46px;padding:9px 12px;border:1px solid #a99aa0;border-radius:11px;background:#fff;font:inherit;color:var(--ink)}.program-setup .program-bar .button{min-height:46px}.program-setup .button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.activation-box{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;display:grid;gap:.75rem;max-width:46rem}.activation-box h3,.activation-box p{margin:0}.family-email-preview .preview-picker{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.family-email-preview .preview-picker label{display:grid;gap:.25rem;min-width:14rem}.email-sample-view{border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}.email-sample-view dl{display:grid;gap:.25rem;margin:0 0 .75rem}.email-sample-view dl div{display:flex;gap:.5rem;flex-wrap:wrap}.email-sample-view dt{font-weight:700;min-width:5.5rem}.family-view-bar{display:grid;gap:.75rem;padding-block:1rem 0}.family-view-bar label{display:grid;gap:.25rem;max-width:16rem}@media(max-width:480px){.app-header:has(.nav-signout) .brand span{display:none}}.page{overflow-wrap:break-word}.page img,.page video{max-width:100%;height:auto}.program-setup .program-picker select{min-width:min(260px,100%);max-width:100%}@media(max-width:760px){.portal-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:28px}.portal-heading>div{grid-column:1 / -1}.portal-heading>.button{min-height:48px;margin:0;padding:8px 10px;justify-content:center;text-align:center;font-size:.9rem;line-height:1.2}.material-table{display:block;max-width:100%;overflow-x:auto}}.link-sent{font-weight:400;color:var(--ink);line-height:1.55}.link-sent p{margin:0 0 10px}.link-sent .text-button{margin:0}.admin-portal .button{min-height:40px;padding:0 16px;border-radius:10px;font-size:.92rem;box-shadow:none;vertical-align:middle}.admin-portal .button+.button{margin-left:8px}.admin-portal .portal-card>label,.admin-portal .portal-card p>label,.admin-portal .system-card>label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 16px 6px 0}.admin-portal .portal-card label>select,.admin-portal .system-card label>select{min-height:38px;padding:4px 8px;border:1px solid #a99aa0;border-radius:8px;background:#fff;font:inherit}.admin-portal .portal-card label>input[type=checkbox],.admin-portal .system-card label>input[type=checkbox]{width:18px;height:18px}.admin-portal .portal-card>.button,.admin-portal .portal-card>button.button{margin:6px 0}.code-entry{display:grid;gap:8px;margin:18px 0;padding:16px;background:var(--rose);border-radius:12px}.code-entry label{font-weight:750}.code-row{display:flex;gap:10px;flex-wrap:wrap}.code-row input{width:9.5ch;min-height:48px;padding:6px 12px;font:inherit;font-size:1.4rem;font-weight:750;letter-spacing:.12em;border:1px solid #a99aa0;border-radius:10px;background:#fff}.code-row .button{min-height:48px;box-shadow:none}.faq-page{max-width:860px}.faq-page h1{margin-bottom:12px}.faq-lead{color:var(--muted);font-size:1.1rem}.faq-groups{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 8px}.faq-groups a{min-height:44px;display:inline-flex;align-items:center;color:var(--burgundy);font-weight:700}.faq-page section{margin-top:40px;scroll-margin-top:16px}.faq-page h2{font-size:1.4rem;margin-bottom:8px}.faq-list details{border-radius:12px;background:#fff;margin:8px 0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 16px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";flex:none;font-size:1.5rem;font-weight:400;line-height:1;color:var(--burgundy)}.faq-list details[open] summary:after{content:"−"}.faq-answer{padding:0 16px 16px;line-height:1.6}.faq-more{margin-top:14px}.update-banner{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;max-width:560px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 12px 36px #3e001d2e}.update-banner span{flex:1 1 180px;font-weight:600}.update-banner .button{min-height:44px;padding:8px 18px}.update-banner .text-button{margin:0}
