:root{--teal:#30dda7;--blue:#0272e5;--ink:#0d1b1e;--muted:#66767a;--bg:#f5fbf9;--card:#fff;--line:#dcebe6;--danger:#b42318;--shadow:0 18px 50px rgba(18,73,62,.10)}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 0%,rgba(48,221,167,.14),transparent 32%),linear-gradient(180deg,#fbfffe,var(--bg));min-height:100vh}
a{color:inherit}.shell{min-height:100vh}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand img{width:150px;height:56px;object-fit:contain}.brand-title{font-weight:800;letter-spacing:-.02em}.brand-sub{font-size:12px;color:var(--muted)}.nav-actions{display:flex;gap:10px;align-items:center}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:750;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--teal),#22c99a);color:#06261e;box-shadow:0 8px 22px rgba(48,221,167,.28)}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-blue{background:var(--blue);color:white}.hero{max-width:1180px;margin:0 auto;padding:78px 24px 64px;display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(48,221,167,.16);color:#087b5d;font-size:13px;font-weight:800}.hero h1{font-size:clamp(44px,6vw,72px);line-height:.98;letter-spacing:-.055em;margin:18px 0}.gradient-text{background:linear-gradient(100deg,#0f9f7c,var(--blue));-webkit-background-clip:text;color:transparent}.hero p{font-size:18px;line-height:1.65;color:var(--muted);max-width:670px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-card,.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.hero-card{padding:30px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.mini{padding:18px;border-radius:18px;background:#f7fcfa;border:1px solid var(--line)}.mini b{display:block;margin-bottom:5px}.mini span{font-size:13px;color:var(--muted)}.section{max-width:1100px;margin:0 auto;padding:50px 24px}.auth-wrap{max-width:1020px;margin:42px auto;padding:0 24px 60px;display:grid;grid-template-columns:.78fr 1.22fr;gap:24px}.side-card{padding:28px;background:linear-gradient(155deg,#0b2a25,#0d5260);color:white;border-radius:24px;min-height:640px;position:relative;overflow:hidden}.side-card:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(48,221,167,.16);right:-80px;bottom:-60px}.side-card img{width:190px;height:90px;object-fit:contain;filter:brightness(1.08)}.side-card h2{font-size:34px;line-height:1.08;letter-spacing:-.035em;margin-top:44px}.side-card p{color:#c9e5dd;line-height:1.6}.steps{display:grid;gap:14px;margin-top:34px}.step{display:flex;gap:12px;align-items:flex-start}.step-num{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(48,221,167,.2);border:1px solid rgba(48,221,167,.4);color:var(--teal);font-weight:900;font-size:12px}.form-card{padding:30px}.form-card h1{font-size:30px;letter-spacing:-.035em;margin:0 0 6px}.form-card .lead{color:var(--muted);margin:0 0 26px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-size:13px;font-weight:800}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #cfe0db;border-radius:12px;font:inherit;background:white;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(48,221,167,.13)}.check{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfefd;margin-bottom:10px}.member{border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0;background:#fbfefd}.member-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.link-btn{background:none;border:0;color:var(--blue);font-weight:800;cursor:pointer}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.error{padding:12px 14px;border-radius:12px;background:#fff1f0;color:var(--danger);font-size:14px;margin-bottom:14px;display:none}.success{padding:12px 14px;border-radius:12px;background:#ecfdf3;color:#067647;font-size:14px;margin-bottom:14px;display:none}.login-card{max-width:470px;margin:70px auto;padding:30px}.logo-center{text-align:center}.logo-center img{width:190px;height:95px;object-fit:contain}.dashboard{max-width:1180px;margin:0 auto;padding:38px 24px 70px}.welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px}.welcome h1{font-size:38px;letter-spacing:-.045em;margin:0}.welcome p{margin:7px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.stat{padding:20px}.stat small{color:var(--muted);font-weight:700}.stat strong{display:block;font-size:30px;margin-top:5px}.family-card{padding:22px}.family-list{display:grid;gap:11px;margin-top:14px}.person-row{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px;align-items:center;padding:14px;border-radius:14px;background:#f8fcfb;border:1px solid var(--line)}.pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(48,221,167,.16);color:#087b5d;font-size:12px;font-weight:800}.pill.blue{background:rgba(2,114,229,.10);color:var(--blue)}.footer{text-align:center;color:var(--muted);font-size:12px;padding:28px}.muted{color:var(--muted)}
@media(max-width:800px){.hero,.auth-wrap{grid-template-columns:1fr}.hero{padding-top:44px}.side-card{min-height:auto}.grid-2,.stats{grid-template-columns:1fr}.topbar{padding:0 18px}.brand-title,.brand-sub{display:none}.person-row{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}}
.full{width:100%}.center{text-align:center}.small{font-size:12px;margin-top:4px}.stack-actions{display:grid;gap:10px;margin-top:22px}.content-card{max-width:820px;margin:48px auto;padding:32px}.content-card h1{margin-top:0}.content-card h2{font-size:19px;margin-top:28px}.content-card p{line-height:1.7;color:var(--muted)}.notice{padding:14px 16px;border-radius:14px;background:rgba(2,114,229,.08);border:1px solid rgba(2,114,229,.18);color:#064c91;line-height:1.5}.status-text{text-transform:capitalize}
.auth-choice-card{max-width:500px}.auth-provider-btn{font-size:15px;position:relative}.provider-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-weight:900;color:var(--blue);background:#fff}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.signed-in-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-radius:15px;background:#f4fbf8;border:1px solid var(--line);margin-bottom:22px}.signed-in-banner small{display:block;color:var(--muted);font-weight:700;margin-bottom:2px}.signed-in-banner b{display:block;overflow-wrap:anywhere}.trust-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;color:var(--muted);font-size:13px;font-weight:700}@media(max-width:600px){.nav-actions .muted{display:none}.signed-in-banner{align-items:flex-start;flex-direction:column}}
.field-help{font-size:12px;color:var(--muted);line-height:1.45}.step-copy{color:#b9d9d0;font-size:13px}.student-details{margin:14px 0 4px;padding:16px;border:1px solid rgba(2,114,229,.18);border-radius:16px;background:rgba(2,114,229,.045)}.student-details[hidden]{display:none}.form-section-title{margin:0 0 14px;font-size:20px;letter-spacing:-.02em}.section-divider{border:0;border-top:1px solid var(--line);margin:28px 0}.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.section-note{margin:4px 0 0}.member-student-details{margin-top:12px;padding:14px;border-radius:14px;background:rgba(2,114,229,.045);border:1px solid rgba(2,114,229,.14)}.member-student-details[hidden]{display:none}.btn[disabled]{opacity:.62;cursor:not-allowed}.legal-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:14px}@media(max-width:600px){.section-heading-row{align-items:flex-start;flex-direction:column}.section-heading-row .btn{width:100%}}

/* Registration wizard v1.4 */
.registration-shell{max-width:1120px;margin:34px auto 70px;padding:0 24px}.registration-card{background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.registration-head{display:flex;justify-content:space-between;gap:28px;padding:30px 34px 24px;border-bottom:1px solid var(--line)}.registration-head h1{font-size:34px;letter-spacing:-.04em;margin:12px 0 6px}.registration-head p{color:var(--muted);margin:0;max-width:700px;line-height:1.55}.signed-in-mini{min-width:220px;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:#f8fcfb;align-self:flex-start}.signed-in-mini small,.signed-in-mini span{display:block;color:var(--muted);font-size:11px}.signed-in-mini b{display:block;margin:3px 0;overflow-wrap:anywhere;font-size:13px}.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);padding:0 34px;border-bottom:1px solid var(--line);background:#fbfefd}.wizard-step{position:relative;border:0;background:none;padding:18px 6px;color:var(--muted);display:flex;justify-content:center;align-items:center;gap:8px;font:inherit}.wizard-step span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #cdded9;font-size:11px;font-weight:900;background:#fff}.wizard-step b{font-size:12px}.wizard-step.active{color:#087b5d}.wizard-step.active span,.wizard-step.done span{background:rgba(48,221,167,.16);border-color:var(--teal);color:#087b5d}.wizard-step.done span{font-size:0}.wizard-step.done span:after{content:'✓';font-size:12px}.wizard-panel{display:none;padding:34px}.wizard-panel.active{display:block}.panel-title{margin-bottom:24px}.step-kicker{font-size:12px;font-weight:900;color:#0b8d6d;text-transform:uppercase;letter-spacing:.08em}.panel-title h2{font-size:28px;letter-spacing:-.035em;margin:6px 0}.panel-title p{margin:0;color:var(--muted);line-height:1.55}.soft-panel{background:#f8fcfb;border:1px solid var(--line);padding:20px;border-radius:18px}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.mini-heading{font-size:17px;margin:4px 0 14px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 18px}.choice-row.compact{margin-bottom:0}.choice-card{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fbfefd;cursor:pointer}.choice-card input{margin-top:3px}.choice-card b,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:3px;line-height:1.35}.inline-student-field{max-width:350px;padding:14px 14px 0;border-radius:15px;background:rgba(2,114,229,.045);border:1px solid rgba(2,114,229,.13)}.family-heading{margin-top:26px}.clean-member{background:#fff}.student-stack,.review-stack{display:grid;gap:16px}.student-course-card,.student-schedule-card,.review-card{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fbfefd}.student-card-head{display:flex;align-items:center;gap:12px;margin-bottom:17px}.student-card-head h3{margin:0 0 3px;font-size:18px}.student-card-head p{margin:0;color:var(--muted);font-size:13px}.avatar-dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(48,221,167,.22),rgba(2,114,229,.14));font-weight:900;color:#087b5d}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course-option{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.course-option b,.course-option small{display:block}.course-option small{color:var(--muted);margin-top:2px}.empty-state{padding:30px;text-align:center;border:1px dashed #bfd5ce;border-radius:18px;background:#fbfefd}.empty-state b,.empty-state span{display:block}.empty-state span{color:var(--muted);margin-top:5px}.timezone-banner{display:inline-flex;margin-top:12px;padding:9px 11px;border-radius:10px;background:rgba(48,221,167,.12);color:#087b5d;font-size:13px}.enrollment-card{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff;margin-top:12px}.enrollment-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.format-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.format-options label{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px;cursor:pointer}.format-options b,.format-options small{display:block}.format-options small{color:var(--muted)}.preference-row{display:grid;grid-template-columns:105px 1fr 1fr;gap:8px;align-items:center;margin-top:9px}.preference-row select{padding:10px;border:1px solid #cfe0db;border-radius:10px;background:#fff}.pref-label{font-size:12px;font-weight:800;color:var(--muted)}.to-word{font-size:12px;color:var(--muted)}.schedule-note{margin-top:18px}.review-location{display:grid;gap:3px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(48,221,167,.12),rgba(2,114,229,.07));border:1px solid var(--line)}.review-location span,.review-location small{color:var(--muted);font-size:12px}.review-enrollment{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.review-enrollment>div:first-child b,.review-enrollment>div:first-child span{display:block}.review-enrollment>div:first-child span{color:var(--muted);font-size:12px;margin-top:3px}.review-prefs{display:grid;gap:4px;font-size:13px}.consent-block{margin-top:22px}
@media(max-width:760px){.registration-head{flex-direction:column;padding:24px}.signed-in-mini{width:100%}.wizard-progress{padding:0 10px}.wizard-step b{display:none}.wizard-panel{padding:24px}.choice-row,.course-grid,.format-options{grid-template-columns:1fr}.preference-row{grid-template-columns:1fr 1fr}.pref-label{grid-column:1/-1}.to-word{display:none}.preference-row select[data-day]{grid-column:1/-1}.review-enrollment{grid-template-columns:1fr}.wizard-actions .btn{min-width:120px}}

/* v1.6 phone + simplified schedule */
.phone-input{display:grid;grid-template-columns:82px 1fr;gap:8px}.phone-input .phone-code{font-weight:800;text-align:center;background:#f7fbfa}.preference-row.start-only{grid-template-columns:105px 1fr 1fr}.review-prefs small{color:var(--muted);font-weight:500}@media(max-width:760px){.preference-row.start-only{grid-template-columns:1fr 1fr}.preference-row.start-only .pref-label{grid-column:1/-1}.phone-input{grid-template-columns:76px 1fr}}

/* v1.8: keep family-member conditional fields truly hidden until their matching option is selected */
.student-dob[hidden],
.access-contact[hidden] {
  display: none !important;
}


/* v1.9: clearer family-member add / save / edit / remove experience */
.member-feedback{margin:14px 0 4px;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:750}
.member-feedback.success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.member-feedback.neutral{background:#f5f8f7;color:#475467;border:1px solid var(--line)}
.member-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}
.member-summary-main{display:flex;align-items:center;gap:12px;min-width:0}
.member-summary-main b{display:block;font-size:15px}
.member-summary-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:12px}
.member-status-pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(48,221,167,.14);color:#087b5d;font-weight:800}
.member-summary-actions{display:flex;align-items:center;gap:8px;flex:none}
.member-summary-actions .btn{padding:9px 13px}
.member-editor-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.member-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.member-editor-error{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff1f0;color:var(--danger);font-size:13px}
.member-editor[hidden],.member-summary[hidden]{display:none!important}
.clean-member:not(.member-editing){padding:14px 16px;background:#fbfefd}
@media(max-width:600px){.member-summary{align-items:flex-start;flex-direction:column}.member-summary-actions{width:100%;justify-content:flex-end}.member-editor-actions{flex-direction:column-reverse}.member-editor-actions .btn{width:100%}}

/* v1.10 class-format + timezone-aware scheduling UX */
.enrollment-card{padding:22px;border-radius:20px}
.enrollment-title>b{font-size:19px}
.format-options{gap:14px}
.format-options .format-card{position:relative;display:grid;grid-template-columns:24px 48px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:16px 18px;border:1px solid #cfe0db;border-radius:16px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.format-options .format-card:hover{border-color:#91cbb9;background:#fbfffd}
.format-options .format-card.selected{border-color:#0b9b77;background:linear-gradient(90deg,rgba(48,221,167,.105),rgba(255,255,255,.96));box-shadow:0 0 0 1px rgba(11,155,119,.06)}
.format-card input[type="radio"]{width:20px;height:20px;margin:0;accent-color:#0b9b77;justify-self:center}
.format-icon{width:46px;height:46px;display:grid;place-items:center;color:#087b5d;background:#eefaf6;border-radius:13px}
.format-icon svg{width:31px;height:31px}
.format-copy{min-width:0}
.format-options .format-copy b{font-size:15px;line-height:1.25}
.format-options .format-copy small{font-size:12px;margin-top:4px;line-height:1.35;color:var(--muted)}
.duration-chip{min-width:96px;padding:8px 10px;border-radius:12px;background:#f1f7f5;color:#475467;text-align:center;font-size:11px;font-weight:850;line-height:1.25}
.format-card.selected .duration-chip{background:rgba(48,221,167,.14);color:#087b5d}
.schedule-heading{margin-top:22px}
.preference-row.start-only{grid-template-columns:128px minmax(0,1fr) minmax(0,1fr);gap:12px}
.preference-row select{min-height:46px;padding:11px 13px;border-radius:12px;font-size:14px}
.preference-row select:disabled{color:#98a2b3;background:#f7f9f8;cursor:not-allowed}
.pref-label{font-size:13px}
.other-schedule-pref{margin-top:20px;padding:16px;border-radius:15px;background:#f8fcfb;border:1px solid var(--line)}
.other-schedule-pref label{display:flex;align-items:center;gap:8px}
.optional-label{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef2f6;color:#667085;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.other-schedule-pref textarea{width:100%;margin-top:8px;resize:vertical;min-height:82px}
.review-note{margin-top:7px;padding:9px 10px;border-radius:10px;background:#f8fcfb;color:#475467}
@media(max-width:760px){
  .format-options .format-card{grid-template-columns:24px 42px minmax(0,1fr);padding:14px}
  .duration-chip{grid-column:3;justify-self:start;min-width:0;padding:6px 9px}
  .preference-row.start-only{grid-template-columns:1fr 1fr}
}

/* v1.11 — full MUFIN Academy visual system: balanced teal + blue + warm accent */
:root{
  --teal:#16a58c;
  --teal-dark:#0b7f6d;
  --teal-soft:#eaf8f4;
  --blue:#1f82d2;
  --blue-dark:#185f9f;
  --blue-soft:#edf6fe;
  --gold:#f4a523;
  --ink:#102a43;
  --muted:#61758a;
  --bg:#f7fbfd;
  --card:#ffffff;
  --line:#d8e7eb;
  --line-blue:#d7e7f5;
  --shadow:0 16px 42px rgba(31,78,104,.09);
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(22,165,140,.10),transparent 26%),
    radial-gradient(circle at 92% 2%,rgba(31,130,210,.09),transparent 25%),
    linear-gradient(180deg,#fcfeff 0%,#f7fbfd 54%,#f8fcfb 100%);
  color:var(--ink);
}
body:before{
  content:"";position:fixed;z-index:-1;left:0;right:0;top:0;height:8px;
  background:linear-gradient(90deg,var(--teal) 0 40%,#47bfd0 54%,var(--blue) 72%,var(--gold) 100%);
}
.topbar{
  height:88px;padding:0 max(24px,4vw);border-bottom:1px solid rgba(216,231,235,.95);
  background:rgba(255,255,255,.95);box-shadow:0 4px 18px rgba(31,78,104,.04);
}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--teal),#6fc8d6,var(--blue),transparent);opacity:.32}
.brand img{width:170px;height:62px}.brand-title{color:var(--blue-dark);font-weight:850}.brand-sub{color:var(--teal-dark);font-weight:650}
.btn{border-radius:13px;min-height:44px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(100deg,var(--teal),#27b9aa 46%,var(--blue));color:#fff;box-shadow:0 9px 22px rgba(31,130,210,.17)}
.btn-secondary{border-color:#cfe0e7;color:var(--blue-dark);background:#fff}.btn-secondary:hover{border-color:#9bc5d9;background:#fbfdff}
.btn-blue{background:linear-gradient(135deg,var(--blue),#39a8ca);box-shadow:0 8px 20px rgba(31,130,210,.18)}
.eyebrow{background:linear-gradient(90deg,var(--teal-soft),var(--blue-soft));color:var(--teal-dark);border:1px solid rgba(31,130,210,.10)}
.page-icon,.hero-icon,.panel-title-icon{display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--teal-soft),var(--blue-soft));border:1px solid #d5ece8;border-radius:16px;box-shadow:0 6px 16px rgba(31,130,210,.06)}
.page-icon{width:58px;height:58px}.page-icon img{width:40px;height:40px}.page-icon.compact{width:50px;height:50px}.page-icon.compact img{width:34px;height:34px}
.hero-icon{width:68px;height:68px;margin-bottom:16px}.hero-icon img{width:48px;height:48px}
.panel-title-icon{width:52px;height:52px}.panel-title-icon img{width:36px;height:36px}

/* home */
.portal-hero{padding-top:64px}.hero-copy{position:relative}.hero h1{color:#102a43}.hero-card{border-color:#d6e7eb;background:linear-gradient(160deg,#fff 0%,#fbfffe 58%,#f2f8ff 100%)}
.hero-card:before{content:"";display:block;width:54px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--blue),var(--gold));margin-bottom:22px}
.mini:nth-child(odd){background:var(--teal-soft);border-color:#d5ece7}.mini:nth-child(even){background:var(--blue-soft);border-color:#d9e9f6}.mini b{color:#123d5c}.trust-row span:nth-child(1){color:var(--teal-dark)}.trust-row span:nth-child(2){color:var(--blue-dark)}.trust-row span:nth-child(3){color:#8f6a19}

/* login */
.login-shell{max-width:1040px;margin:54px auto 72px;padding:0 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}.login-intro{padding:44px 38px;border:1px solid #d7e8ee;border-radius:26px;background:linear-gradient(145deg,#f3fbf9 0%,#f7fbff 62%,#fffaf0 100%);position:relative;overflow:hidden}.login-intro:after{content:"♪  ♫";position:absolute;right:25px;bottom:18px;font-size:64px;color:rgba(31,130,210,.08);letter-spacing:8px}.login-intro h1{font-size:38px;line-height:1.08;letter-spacing:-.04em;margin:18px 0 14px}.login-intro p{font-size:16px;line-height:1.65;color:var(--muted)}.login-highlights{display:grid;gap:10px;margin-top:28px;color:#315b73;font-weight:700;font-size:13px}.login-highlights span:nth-child(1){color:var(--teal-dark)}.login-highlights span:nth-child(2){color:var(--blue-dark)}.login-highlights span:nth-child(3){color:#6f7480}.login-card{max-width:none;margin:0;padding:34px;border-color:#d7e7eb;align-self:stretch}.logo-center img{width:180px}.auth-provider-btn{border-color:#cfe0e7}.provider-icon{color:var(--blue);border-color:#dce8ef;background:linear-gradient(135deg,#fff,var(--blue-soft))}.field input:focus,.field select:focus,.field textarea:focus{border-color:#50b8ba;box-shadow:0 0 0 4px rgba(31,130,210,.09)}

/* registration */
.registration-shell{max-width:1240px;margin-top:30px}.registration-card{border-color:#d4e5ea;box-shadow:0 20px 55px rgba(31,78,104,.09)}
.registration-head{background:linear-gradient(100deg,#fbfffe 0%,#f7fbff 58%,#fffdf7 100%);padding:26px 32px}.registration-head-main{display:flex;align-items:flex-start;gap:16px}.registration-head h1{font-size:31px;color:#102a43;margin-top:8px}.registration-head p{font-size:14px}.signed-in-mini{background:#fff;border-color:#d7e6eb;box-shadow:0 5px 14px rgba(31,78,104,.04)}
.wizard-progress{background:#fff;padding:0 24px}.wizard-step{gap:7px;color:#718499}.wizard-step img{width:24px;height:24px;opacity:.58;filter:saturate(.7)}.wizard-step span{position:absolute;top:8px;left:calc(50% - 26px);width:18px;height:18px;font-size:9px;border-color:#d6e5e9;color:#788c9a}.wizard-step b{font-size:12px}.wizard-step.active{color:var(--blue-dark);background:linear-gradient(180deg,transparent,rgba(31,130,210,.055))}.wizard-step.active img{opacity:1}.wizard-step.active span{background:var(--teal-soft);border-color:#87d1c2;color:var(--teal-dark)}.wizard-step.done{color:var(--teal-dark)}.wizard-step.done img{opacity:.82}.wizard-step.done span{background:var(--teal);border-color:var(--teal);color:white}
.wizard-panel{padding:30px 34px 34px}.panel-title{display:flex;align-items:flex-start;gap:14px}.step-kicker{color:var(--blue-dark)}.panel-title h2{color:#12334d}.soft-panel{background:linear-gradient(145deg,#fbfffe,#f8fbff);border-color:#d9e8eb}.choice-card{background:#fff;border-color:#d5e5ea}.choice-card:hover{border-color:#9bcdbf;background:#fbfffd}.choice-card input{accent-color:var(--blue)}
.inline-student-field,.member-student-details{background:var(--blue-soft);border-color:#d2e6f6}.family-heading{padding-top:12px;border-top:1px solid #edf2f3}.member-feedback.success{background:var(--teal-soft);color:var(--teal-dark);border-color:#b8e7dd}.clean-member:not(.member-editing){background:linear-gradient(90deg,#fbfffe,#fbfdff)}.member-status-pill{background:var(--blue-soft);color:var(--blue-dark)}
.student-course-card,.student-schedule-card,.review-card{background:linear-gradient(145deg,#fff,#fbfefe);border-color:#d7e7eb}.student-card-head{padding-bottom:12px;border-bottom:1px solid #edf3f4}.avatar-dot{background:linear-gradient(135deg,#dff7f1,#e7f3ff);color:var(--blue-dark);border:1px solid #d2e8e7}.course-option{position:relative;border-color:#d5e4e9;min-height:78px;padding:14px 16px}.course-option:hover{border-color:#84c8bd;background:#fbfffe}.course-option:has(input:checked){border-color:#36af9a;background:linear-gradient(90deg,var(--teal-soft),#f8fcff);box-shadow:0 0 0 1px rgba(31,130,210,.04)}.course-option input{accent-color:var(--blue);width:18px;height:18px}.course-icon-img{width:40px;height:40px;flex:none}.course-title-with-icon{display:flex;align-items:center;gap:10px}.course-title-with-icon img{width:40px;height:40px}.enrollment-card{border-color:#d6e7eb;background:#fff}.enrollment-title{padding-bottom:12px;border-bottom:1px solid #edf3f4}.pill{background:var(--teal-soft);color:var(--teal-dark);border:1px solid #d2ece5}
.format-options .format-card{border-color:#d3e2e8;background:#fff}.format-options .format-card:hover{border-color:#79c7b9;background:#fbfffe}.format-options .format-card.selected{border-color:#25a990;background:linear-gradient(90deg,#eaf9f5 0%,#f3fbff 75%,#fff 100%);box-shadow:0 0 0 1px rgba(31,130,210,.08)}.format-card input[type="radio"]{accent-color:var(--blue)}.format-icon{color:var(--blue-dark);background:linear-gradient(135deg,var(--blue-soft),var(--teal-soft));border:1px solid #d8e9ee}.duration-chip{background:#f0f6fa;color:#526b7b}.format-card.selected .duration-chip{background:linear-gradient(135deg,#dff7ef,#e8f4fe);color:var(--teal-dark)}
.timezone-banner{background:linear-gradient(90deg,var(--teal-soft),var(--blue-soft));color:#285e73;border:1px solid #d5e9ea}.schedule-heading{margin-bottom:8px}.preference-row select{border-color:#cfdfe5;padding-left:42px}.select-wrap{position:relative}.select-wrap select{width:100%;appearance:auto}.select-leading-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:1;color:var(--teal-dark);font-size:17px;pointer-events:none}.select-leading-icon.clock{color:var(--blue)}.other-schedule-pref{background:linear-gradient(90deg,#f4fbf9,#f4f9fe);border-color:#d6e8ed;position:relative}.other-schedule-pref:before{content:"✎";float:left;margin-right:8px;color:var(--blue);font-size:16px}.optional-label{background:#fff;color:var(--blue-dark);border:1px solid #d6e5ef}.notice{background:linear-gradient(90deg,var(--blue-soft),#f3fbf9);border-color:#d2e5ed;color:#245a7d}.review-location{background:linear-gradient(100deg,var(--teal-soft),var(--blue-soft));border-color:#d3e8ea}.consent-block .check:nth-child(1){border-left:4px solid var(--teal)}.consent-block .check:nth-child(2){border-left:4px solid var(--blue)}

/* dashboard */
.dashboard-themed{max-width:1220px}.welcome{padding:22px 24px;border:1px solid #d7e7eb;border-radius:22px;background:linear-gradient(100deg,#f5fbf9,#f5faff,#fffdf7)}.welcome-copy{display:flex;gap:14px;align-items:center}.stats .card:nth-child(1){border-top:4px solid var(--teal)}.stats .card:nth-child(2){border-top:4px solid var(--blue)}.stats .card:nth-child(3){border-top:4px solid var(--gold)}.stat strong{color:#163d5a}.family-card{border-color:#d5e6ea}.person-row:nth-child(odd){background:#f7fcfa}.person-row:nth-child(even){background:#f7faff}

.footer a:first-of-type{color:var(--teal-dark)}.footer a:last-of-type{color:var(--blue-dark)}

@media(max-width:800px){
  .login-shell{grid-template-columns:1fr;margin-top:28px}.login-intro{padding:28px}.login-intro h1{font-size:31px}.registration-head-main{align-items:center}.wizard-step img{width:22px;height:22px}.wizard-step span{display:none}.panel-title-icon{width:46px;height:46px}.panel-title-icon img{width:31px;height:31px}.welcome-copy{align-items:flex-start}.portal-hero{padding-top:42px}
}
@media(max-width:600px){
  .topbar{height:76px}.brand img{width:145px}.registration-head-main{align-items:flex-start}.page-icon{width:48px;height:48px}.page-icon img{width:34px;height:34px}.wizard-panel{padding:24px 20px}.panel-title{gap:10px}.panel-title h2{font-size:24px}.wizard-progress{padding:0 6px}.wizard-step{padding:15px 2px}.wizard-step b{font-size:10px}.wizard-step img{width:19px;height:19px}.preference-row.start-only{grid-template-columns:1fr}.pref-label{grid-column:auto}.course-title-with-icon img{width:34px;height:34px}
}
.themed-content-card{border-color:#d7e7eb;background:linear-gradient(150deg,#fff,#fbfefe)}.content-title-row{display:flex;align-items:center;gap:14px;margin-bottom:20px}.content-title-row h1{margin:5px 0 0}.not-found-icon{margin:0 auto 18px}

/* v1.12 defensive sizing: keep decorative SVGs stable even if browser cache is stale. */
img{max-width:100%;}
.page-icon,.hero-icon,.panel-title-icon{overflow:hidden}
.page-icon>img{display:block;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain}
.page-icon.compact>img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}
.hero-icon>img{display:block;width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;object-fit:contain}
.panel-title-icon>img{display:block;width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;object-fit:contain}
.wizard-step>img{display:block!important;width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;object-fit:contain;flex:0 0 24px}
.course-icon-img{display:block;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain}
.course-title-with-icon>img{display:block;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain}
.format-icon svg{display:block;width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}
@media(max-width:800px){.wizard-step>img{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;flex-basis:22px}.panel-title-icon>img{width:31px!important;height:31px!important;max-width:31px!important;max-height:31px!important}}
@media(max-width:600px){.page-icon>img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}.wizard-step>img{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;flex-basis:19px}.course-title-with-icon>img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}}

/* v1.13 — Step 4 student schedule accordion */
.schedule-accordion{padding:0!important;overflow:hidden;background:#fff}
.student-schedule-toggle{width:100%;border:0;background:linear-gradient(90deg,#f7fcfb,#f8fbff);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;text-align:left;color:inherit;font:inherit}
.student-schedule-toggle:hover{background:linear-gradient(90deg,#f0faf7,#f1f8ff)}
.schedule-accordion.expanded .student-schedule-toggle{border-bottom:1px solid #dce9eb}
.student-schedule-ident,.student-schedule-meta{display:flex;align-items:center;gap:12px;min-width:0}
.student-schedule-name{display:grid;gap:2px;min-width:0}.student-schedule-name b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-schedule-name small{color:var(--muted);font-size:12px}
.schedule-student-status{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;background:#eef3f5;color:#66777d;white-space:nowrap}.schedule-student-status.in-progress{background:#eef6ff;color:#1769aa}.schedule-student-status.complete{background:#e5f8f1;color:#087b5d}
.schedule-toggle-hint{font-size:12px;font-weight:800;color:var(--blue-dark)}.schedule-chevron{font-size:20px;line-height:1;color:#63777d;transition:transform .18s ease}.schedule-accordion.expanded .schedule-chevron{transform:rotate(180deg)}
.student-schedule-body{padding:6px 18px 18px}.student-schedule-body[hidden]{display:none!important}
.student-schedule-body .enrollment-card:first-child{margin-top:12px}
@media(max-width:720px){.student-schedule-toggle{align-items:flex-start}.student-schedule-meta{gap:7px;flex-wrap:wrap;justify-content:flex-end}.schedule-toggle-hint{display:none}.student-schedule-name b{font-size:15px}.schedule-student-status{font-size:10px}.student-schedule-body{padding:4px 12px 14px}}

/* v1.14 — persistent portal shell, lightweight left navigation and signed-in header */
.portal-body{background:linear-gradient(180deg,#fbfffe 0%,#f6fbfb 100%)}
.portal-topbar{height:86px;padding:0 28px 0 24px;border-bottom:1px solid #d9e9e8;box-shadow:0 3px 18px rgba(26,76,86,.05);z-index:30}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.portal-topbar .brand img{width:148px;height:58px}.portal-topbar .brand-title{color:#143a54}.portal-topbar .brand-sub{color:#73858c}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid #d5e5e8;border-radius:12px;background:#fff;padding:10px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:#176ea9;border-radius:2px;margin:4px 0}
.user-menu{position:relative}.user-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:7px 9px;border:1px solid transparent;border-radius:16px}.user-menu summary::-webkit-details-marker{display:none}.user-menu[open] summary,.user-menu summary:hover{background:#f7fbfc;border-color:#dce9eb}.user-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#d9f5ec,#e2f1ff);border:1px solid #cae5e2;color:#126f86;font-weight:900;font-size:14px}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-copy{display:grid;line-height:1.15;min-width:100px}.user-copy small{font-size:10px;color:#77888f;font-weight:700}.user-copy b{font-size:13px;color:#143a54;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chevron{font-size:16px;color:#70828a;transition:transform .18s ease}.user-menu[open] .user-chevron{transform:rotate(180deg)}
.user-menu-popover{position:absolute;right:0;top:calc(100% + 9px);width:235px;background:#fff;border:1px solid #d9e7e9;border-radius:16px;box-shadow:0 18px 45px rgba(30,77,92,.15);padding:8px;z-index:40}.user-menu-identity{padding:10px 11px 12px;border-bottom:1px solid #edf2f3;margin-bottom:5px}.user-menu-identity small{display:block;color:#7a8a91;font-size:10px}.user-menu-identity b{display:block;font-size:12px;margin-top:3px;overflow-wrap:anywhere;color:#173f58}.user-menu-popover a,.user-menu-popover button{width:100%;border:0;background:transparent;text-decoration:none;color:#274c62;text-align:left;padding:10px 11px;border-radius:10px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;display:block}.user-menu-popover a:hover,.user-menu-popover button:hover{background:linear-gradient(90deg,#eef9f5,#f2f8fe);color:#0d6f9b}
.portal-layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 86px);max-width:1600px;margin:0 auto;width:100%}.portal-sidebar{position:sticky;top:86px;height:calc(100vh - 86px);padding:22px 14px 18px;border-right:1px solid #dce9e9;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:space-between;z-index:18}.portal-nav{display:grid;gap:7px}.portal-nav-link{min-height:48px;border-radius:14px;padding:9px 11px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;text-decoration:none;color:#476271;font-size:13px;font-weight:760;position:relative}.portal-nav-link img{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important;object-fit:contain}.portal-nav-link:hover:not(.locked){background:linear-gradient(90deg,#f0faf7,#f2f8ff);color:#195f89}.portal-nav-link.active{background:linear-gradient(100deg,#e6f8f2,#eaf4ff);color:#125d85;box-shadow:inset 3px 0 0 #16977e;border:1px solid #d3e9e7}.portal-nav-link.locked{opacity:.58;cursor:not-allowed}.portal-nav-link small{grid-column:2;font-size:9px;color:#8a999e;font-weight:650;margin-top:-6px}.sidebar-note{padding:14px;border:1px solid #dbe9e9;border-radius:15px;background:linear-gradient(145deg,#f3fbf8,#f3f8fd);display:grid;gap:5px}.sidebar-note b{font-size:12px;color:#176d75}.sidebar-note span{font-size:10px;line-height:1.45;color:#73868c}.portal-main{min-width:0}
.portal-layout .registration-shell{max-width:none;width:100%;margin:24px 0 60px;padding:0 28px}.portal-layout .dashboard{max-width:none;width:100%;padding:28px 28px 70px}.portal-layout .registration-card{max-width:1180px;margin:0 auto}.portal-layout .dashboard-themed{max-width:1220px;margin:0 auto}
.sidebar-scrim{display:none;position:fixed;inset:86px 0 0;background:rgba(15,42,50,.30);z-index:16}
.dashboard-section{margin-top:20px;scroll-margin-top:110px}.dashboard-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #edf2f3}.dashboard-section-head h2{margin:3px 0 3px}.dashboard-section-head p{margin:0}.dashboard-section-head img{width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#15816c;font-weight:900}.course-summary-list{display:grid;gap:10px;margin-top:14px}.course-summary-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.8fr);gap:12px;align-items:center;padding:14px 15px;border:1px solid #dce9eb;border-radius:14px;background:linear-gradient(90deg,#fbfffe,#fbfdff)}.course-summary-row small{display:block;color:#74868d;margin-top:3px}.course-summary-status{justify-self:start}.course-summary-status .pill{margin-right:5px}
@media(max-width:980px){.portal-layout{grid-template-columns:205px minmax(0,1fr)}.portal-layout .registration-shell,.portal-layout .dashboard{padding-left:18px;padding-right:18px}.portal-sidebar{padding-left:10px;padding-right:10px}.portal-nav-link{padding-left:9px;padding-right:9px}}
@media(max-width:800px){.portal-topbar{height:78px;padding:0 16px}.portal-topbar .brand img{width:135px;height:52px}.nav-toggle{display:block}.portal-layout{display:block;min-height:calc(100vh - 78px)}.portal-sidebar{position:fixed;left:0;top:78px;width:240px;height:calc(100vh - 78px);transform:translateX(-102%);transition:transform .2s ease;box-shadow:10px 0 35px rgba(17,60,74,.16);z-index:20}.portal-body.nav-open .portal-sidebar{transform:translateX(0)}.portal-body.nav-open .sidebar-scrim{display:block;inset:78px 0 0}.portal-layout .registration-shell{margin-top:18px;padding:0 14px}.portal-layout .dashboard{padding:20px 14px 60px}.user-copy{display:none}.user-menu summary{padding:4px}.user-avatar{width:38px;height:38px}.user-chevron{display:none}.course-summary-row{grid-template-columns:1fr}.course-summary-status{justify-self:start}}
@media(max-width:520px){.portal-topbar .brand-title,.portal-topbar .brand-sub{display:none}.portal-topbar .brand img{width:126px}.portal-topbar{padding-left:10px;padding-right:10px}.topbar-left{gap:7px}.nav-toggle{width:38px;height:38px;padding:8px}.portal-layout .registration-shell{padding:0 8px}.portal-layout .dashboard{padding-left:8px;padding-right:8px}.user-menu-popover{right:-2px;width:220px}}

.portal-body .registration-head .signed-in-mini{display:none}
.portal-body .registration-head{align-items:center}
