/* Shared public-page finish and consistent navigation branding. */
.recovery-card{width:100%;box-sizing:border-box}.recovery-code-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:24px 0}.recovery-code-list li{padding:12px;border:1px solid #dce6ee;border-radius:10px;background:#f7fafc;text-align:center}.recovery-code-list code{display:inline-block;overflow-wrap:anywhere;font-size:14px}@media(max-width:420px){.recovery-code-list{grid-template-columns:1fr}}
/* Account screens use the same quiet hierarchy and controls as registration. */
html body.access-auth,html body.join-page{font-family:'Plus Jakarta Sans',Arial,sans-serif}
body.access-auth .card.auth{box-sizing:border-box;border-color:#dce6ee;border-radius:24px;box-shadow:0 12px 34px rgba(11,45,91,.035);padding:32px}
body.access-auth .auth h1{color:#0b2d5b;font-size:clamp(28px,3.5vw,36px);line-height:1.2;letter-spacing:-.035em;margin:14px 0 24px}
body.access-auth .auth form{display:grid;gap:18px;margin:24px 0}
body.access-auth .auth form label{margin:0;line-height:1.5}
body.access-auth .auth input:not([type="checkbox"]):not([type="hidden"]){box-sizing:border-box;width:100%;min-height:48px;font-family:inherit;font-size:16px;font-weight:400;border-color:#c5d4e1;border-radius:12px}
body.access-auth .auth form button{justify-self:start;min-height:48px;max-width:100%;padding:12px 24px;background:#0b2d5b;border:1px solid #0b2d5b;border-radius:999px;color:#fff;font-family:inherit;font-size:15px;font-weight:600;line-height:1.5;white-space:normal}
body.access-auth .auth form button:hover{background:#173e6c}
body.access-auth .auth>p,body.access-auth .auth>a{font-size:15px;line-height:1.75}
body.access-auth .auth>a{display:inline-block;text-underline-offset:4px}
body.access-auth .auth .eyebrow{font-size:11px;letter-spacing:.14em}
body.access-auth .auth .remember-device{margin:0;align-items:flex-start}
body.access-auth .auth .remember-device input{margin-top:3px}
body.access-auth .auth input[name="code"]{direction:ltr;text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:22px!important}
body.access-auth .auth input[name="recovery_code"]{direction:ltr}
body.join-page .join-card h2{color:#0b2d5b}
body.join-page .join-card .join-action{border-radius:999px;background:#0b2d5b;border-color:#0b2d5b;font-family:inherit}
body.join-page .join-card .join-action-secondary{background:#fff;color:#0b2d5b;border-color:#c5d4e1}
@media(max-width:600px){body.access-auth .card.auth{padding:26px 22px;border-radius:20px}body.access-auth .auth form button{width:100%;justify-self:stretch}body.access-auth .auth h1{margin-bottom:20px}}
body { background-color: #f0f6fb !important; }
@media(max-width:640px){body.join-page>header{flex-wrap:nowrap!important;gap:10px}html:root body.join-page>header .brand img.brand-logo{width:108px!important}body.join-page>header nav{flex-wrap:nowrap!important;gap:6px!important}body.join-page>header .website-return{font-size:12px;white-space:nowrap}body.join-page .portal-language select{box-sizing:border-box;min-width:0!important;width:80px!important;padding:6px 12px 6px 2px!important;font-size:12px!important}body.join-page .portal-language label{gap:3px!important}}
@media(max-width:480px){.application-page .wizard-steps li:not([aria-current="step"]) .wizard-step-label{display:none}.application-page .wizard-steps{min-height:48px}.application-page .wizard-steps li[aria-current="step"] .wizard-step-label{font-size:11px;white-space:nowrap}}
body > main { background-color: #f0f6fb; }
.progress-bar { display: none !important; }
.hero, .why, .languages, .academic-support, .journey, .testimonials,
.plans, .faq, .cta, .contact.section { background: #f0f6fb !important; }
.hero .hero-blob, .hero .hero-grid-bg { display: none !important; }
.header { background: #fff !important; height: 68px !important; }
.header > .container { padding-top: 10px !important; padding-bottom: 10px !important; }
.header .navbar { min-height: 44px; }
.header .navbar-logo-img { width: 142px !important; height: auto !important; max-height: 48px; object-fit: contain; }
.header .nav-actions .btn { padding: 10px 18px; min-height: 44px; }
.application-page { background: #f0f6fb !important; }
.application-header { padding: 12px 0 !important; background: #fff !important; }
.application-logo img { width: 142px !important; height: auto !important; }
body.access-auth > header { min-height: 64px !important; padding: 10px 24px !important; box-sizing: border-box; background: #fff !important; }
body.access-auth > header .brand-logo { width: 142px !important; height: auto !important; }
body.access-auth > main { background: #f0f6fb !important; }
@media (max-width: 767px) {
 .header { height: 64px !important; }
 .header > .container { padding-top: 8px !important; padding-bottom: 8px !important; }
  .header .navbar-logo-img, .application-logo img,
  body.access-auth > header .brand-logo { width: 125px !important; }
  body.access-auth > header { padding: 10px 16px !important; }
}

.application-header { padding: 10px 0 !important; }
.application-header > .container { min-height: 48px !important; }
.application-header .btn { padding: 10px 18px !important; min-height: 44px; }

/* Approved logo red; semantic warning and success colours remain independent. */
:root { --brand-red: #AB0F26; --red: var(--brand-red); --red-light: var(--brand-red); --form-red: var(--brand-red); }
.language-suggestion .accept-language { background: var(--brand-red); }
.i18n-legal-note { border-left-color: var(--brand-red); }
[dir="rtl"] .process-note, [dir="rtl"] .i18n-legal-note { border-right-color: var(--brand-red); }
.join-icon-teach { color: var(--brand-red); }

/* White browser/status-bar canvas; content areas retain the portal blue. */
html { background-color:#fff; }
html:root body,html:root body[class] { background-color:#fff!important; }
body > main, .application-page .application-hero { background-color:#f0f6fb; }

/* Optional personal-device sign-in. */
.auth .remember-device{display:flex;align-items:center;gap:10px;margin:16px 0 6px;font-weight:500}
.auth .remember-device input[type="checkbox"]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#193d56}
.auth .remember-help{font-size:13px;line-height:1.5;margin:0 0 16px}

/* Temporary notices overlay the page without changing its layout. */
[data-site-notice]{position:fixed;top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:20000;max-width:min(560px,calc(100vw - 32px))}
.site-toast-stack{position:fixed;z-index:20000;top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;right:auto;transform:translateX(-50%);width:min(560px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;max-height:50dvh;overflow-y:auto;padding:8px;box-sizing:content-box}
.site-toast-stack .site-toast{position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none;box-sizing:border-box;display:grid;grid-template-columns:20px minmax(0,1fr) 36px;align-items:center;gap:10px;width:auto;max-width:100%;min-height:52px;margin:0;padding:8px 8px 8px 18px;border:1px solid #b8d7ed;border-radius:28px;background:#e1f1ff;color:#193d56;box-shadow:0 5px 18px #193d561a;font-size:14px;line-height:1.45;pointer-events:auto;animation:site-toast-in 180ms ease-out;transition:opacity 160ms ease,transform 160ms ease}
.site-toast-stack .site-toast--success{border-color:#a2dfc3;background:#d7f5e6;color:#15543e}
.site-toast-stack .site-toast--error{border-color:#efb4c0;background:#ffe2e8;color:#85283c}
.site-toast-stack .site-toast--warning{border-color:#ead293;background:#fff2ce;color:#704d10}
.site-toast-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box;font-size:13px;font-weight:700;line-height:1}
.site-toast-content{min-width:0;overflow-wrap:anywhere}.site-toast-content p{margin:0 0 6px}.site-toast-content p:last-child{margin-bottom:0}
.site-toast-stack .site-toast-close{position:static;display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;margin:0;border:0;border-radius:50%;box-shadow:none;background:transparent;color:inherit;font:inherit;font-size:23px;cursor:pointer}
.site-toast-close:hover{background:#193d5610}.site-toast-close:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.site-toast-stack .site-toast.is-leaving{opacity:0}
@keyframes site-toast-in{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.site-toast-stack{bottom:calc(16px + env(safe-area-inset-bottom,0px));width:calc(100vw - 48px)}.site-toast-stack .site-toast{font-size:13px}}
@media(prefers-reduced-motion:reduce){.site-toast-stack .site-toast{animation:none;transition:none}}

/* Registration choice page: compact header and calm, welcoming cards. */
html:root body.join-page{min-height:100vh;min-height:100dvh;background:#fff!important}
body.join-page>header{box-sizing:border-box;width:100%;max-width:none;min-height:64px;height:64px;margin:0;padding:10px clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:#fff}
body.join-page>header .brand img.brand-logo{width:140px!important;height:auto!important;max-height:44px;object-fit:contain}
body.join-page>header nav{margin:0;gap:16px}body.join-page>header .website-return{font-size:14px}
body.join-page>main{box-sizing:border-box;width:100%;max-width:980px;margin:0 auto;padding:32px 28px 40px}
.join-intro{margin:0 0 26px;padding:0}.join-intro h1{margin:0;font-size:clamp(28px,3.5vw,38px);line-height:1.2;letter-spacing:-1px}
.join-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.join-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;background:#fff;border:1px solid #d9e5ee;border-radius:22px;box-shadow:0 8px 28px #193d5608}
.join-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:15px;background:#e8f3fc;color:#315d7c;margin-bottom:20px}.join-icon svg{display:block;width:30px;height:30px}.join-icon-teach{background:#f9eaf0;color:#9c2340}
.join-card h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px}.join-card p{font-size:16px;line-height:1.65;margin:0 0 26px;color:#527088}
.join-card .join-action{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;box-sizing:border-box;padding:11px 18px;margin-top:auto;border:1px solid #193d56;border-radius:11px;background:#193d56;color:white;font-size:15px;font-weight:600;text-decoration:none;transition:background 150ms ease,box-shadow 150ms ease}
.join-card .join-action-secondary{background:white;color:#193d56;border-color:#bfd3e2}.join-action:hover{box-shadow:0 4px 12px #193d561f}.join-action:focus-visible{outline:3px solid #5287b0;outline-offset:3px}
.join-guardian{font-size:14px;line-height:1.6;color:#527088;margin:22px 0 0;padding:0}.join-guardian strong{color:#193d56;font-weight:600}
.join-signin{font-size:15px;line-height:1.6;margin:18px 0 0;color:#527088}.join-signin a{font-weight:600;color:#193d56;text-underline-offset:4px}
@media(max-width:640px){body.join-page>header{height:64px;padding:10px 20px}body.join-page>header .brand img.brand-logo{width:125px!important}body.join-page>main{padding:24px 20px 32px}.join-intro{margin-bottom:22px}.join-options{grid-template-columns:1fr;gap:16px}.join-card{padding:22px;border-radius:18px}.join-icon{width:42px;height:42px;margin-bottom:16px}.join-icon svg{width:27px;height:27px}.join-card h2{font-size:22px}.join-card p{font-size:15px;margin-bottom:20px}.join-guardian{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.join-card .join-action{transition:none}}

body.join-page>main{min-height:calc(100dvh - 64px);max-width:none;padding-inline:max(28px,calc((100% - 924px)/2))}
@media(max-width:640px){body.join-page>main{padding-inline:20px}}
.application-page>main{min-height:calc(100dvh - 64px)}
@media(max-width:640px){body>.header>.container{width:100%;max-width:none;padding-inline:24px!important;box-sizing:border-box}}

/* Guardian-led learning and optional child sign-in. */
.family-space > .card{margin-block:24px}.family-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}.family-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid #193e58;border-radius:10px;background:#193e58;color:#fff!important;text-decoration:none!important;font-weight:600;line-height:1.4}.family-action-secondary{background:#fff;color:#193e58!important;border-color:#c9dbe8}.family-action:focus-visible{outline:3px solid #5488ad;outline-offset:3px}.family-hint{font-size:14px;color:#526b7d}.family-space .family-next{background:#e8f2fa;border-color:#cbdfea}.family-space details{margin-block:18px}.family-space summary{cursor:pointer;font-weight:600}.family-space form{margin-block:20px}.family-space article{padding-block:18px;border-bottom:1px solid #dce6ee}.family-space .hero{margin-bottom:24px}@media(max-width:640px){.family-actions{gap:8px}.family-action{font-size:14px}.family-space .card{padding:22px}.family-space h1{font-size:30px}}

/* Registration headers match the compact public navbar. */
.application-header{height:68px;box-sizing:border-box;padding:0!important}
.application-header>.container{height:100%;min-height:0!important;box-sizing:border-box;padding-top:0;padding-bottom:0;align-items:center}
.application-header .application-logo{display:flex;align-items:center;flex-shrink:0}
.application-header .application-logo img{display:block}
.application-header .application-back{position:relative;top:-3px;white-space:nowrap}
.application-header .language-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:0;background:transparent;box-shadow:none;color:#0b2d5b}
.application-header .language-trigger svg{width:18px;height:18px}
.application-header .language-trigger:hover{background:#f0f6fb}
.application-header .language-trigger:focus-visible{outline:2px solid #5287b0;outline-offset:2px}
@media(max-width:767px){.application-header{height:64px}.application-header-actions{gap:8px}.application-header .language-name{display:none}}

/* Calm, compact registration forms; field names and validation are unchanged. */
html:root body.application-page{background:#fff!important;min-height:100vh;min-height:100dvh}
.application-page .application-hero{padding:32px 0 20px;background:#f0f6fb!important}
.application-page .application-hero::before,.application-page .application-hero::after{display:none}
.application-page .application-hero>.container,.application-page .application-shell{max-width:960px;margin-inline:auto;box-sizing:border-box;padding-inline:28px}
.application-page .application-hero h1{font-size:clamp(28px,3.6vw,40px);line-height:1.2;letter-spacing:-1.2px;margin:0 0 12px;max-width:none}
.application-page .application-hero p{font-size:16px;line-height:1.65;margin:0;max-width:660px;color:#527088}
.application-page .application-shell{padding-top:0;padding-bottom:40px}
.application-page details.process-overview{padding:0;margin:0 0 24px;border:1px solid #dce7ef;border-radius:14px;background:#fff;box-shadow:none}
.application-page details.process-overview>summary{cursor:pointer;padding:16px 20px;color:#193d56;font-size:14px;font-weight:650}
.application-page .process-content{padding:0 20px 20px}.application-page .process-heading .application-eyebrow{display:none}
.application-page .process-heading h2{font-size:21px;line-height:1.35;margin:0 0 10px}.application-page .process-heading p{font-size:14px}
.application-page .process-grid{gap:20px}.application-page .process-step{border:0;background:transparent;padding:0;box-shadow:none}.application-page .process-step p{font-size:14px;line-height:1.65}
.application-page .form-intro-note{font-size:14px;line-height:1.65;color:#527088;margin:0 0 20px}.application-page .form-intro-note>span{display:block;margin-top:6px}
.application-page .form-section{padding:30px;margin-bottom:24px;border:1px solid #dce7ef;border-radius:20px;background:#fff;box-shadow:0 5px 20px #193d5605}
.application-page .form-section-heading{margin-bottom:26px;gap:14px;align-items:start}.application-page .form-section-heading h2{font-size:22px;letter-spacing:-.5px;line-height:1.35;margin:0 0 6px}.application-page .form-section-heading p{font-size:14px;line-height:1.6;color:#527088}
.application-page .form-section-number{width:32px;height:32px;border-radius:10px;background:#eaf3fb;color:#315d7c;font-size:14px;box-shadow:none}
.application-page .field-grid{gap:22px 24px}.application-page .form-field:has(textarea){grid-column:1/-1}
.application-page .form-field label,.application-page .choice-title{font-size:14px;line-height:1.5;font-weight:650;color:#193d56}
.application-page .field-help{font-size:13px;line-height:1.6;color:#607489;margin:6px 0 8px}
.application-page .form-field input,.application-page .form-field select,.application-page .form-field textarea{box-sizing:border-box;border:1px solid #cbd9e5;border-radius:10px;background:#fff;font-size:16px;line-height:1.5;padding:12px 14px;min-height:48px;box-shadow:none}
.application-page .form-field textarea{min-height:112px;resize:vertical}
.application-page .form-field input:focus,.application-page .form-field select:focus,.application-page .form-field textarea:focus{outline:2px solid #5488ad;outline-offset:2px;border-color:#5488ad;box-shadow:none}
.application-page .choice-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.application-page .choice{padding:12px 14px;border:1px solid #dce7ef;border-radius:10px;box-shadow:none;font-size:14px;line-height:1.6;min-height:46px;align-items:start}
.application-page .choice:has(input:checked){background:#eaf3fb;border-color:#5488ad;color:#193d56}
.application-page .choice:has(input:focus-visible){outline:2px solid #5488ad;outline-offset:2px}
.application-page .choice input{accent-color:#193d56;flex:0 0 auto;margin-top:4px;width:17px;height:17px}
.application-page .acknowledgements{display:flex;flex-direction:column;gap:0}.application-page .acknowledgements .choice{border:0;border-bottom:1px solid #e8eef4;border-radius:0;padding:16px 0;background:transparent;display:block}.application-page .acknowledgements .choice input{margin:3px 10px 0 0;vertical-align:top}.application-page .acknowledgements .choice a{display:inline;text-underline-offset:3px}
.application-page .form-notice{border-radius:10px;font-size:13px;line-height:1.65;box-shadow:none}
.application-page .application-submit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:4px 0 24px}.application-page .application-submit>p{font-size:14px;line-height:1.6;max-width:500px;margin:0;color:#527088}.application-page .application-submit .btn{min-height:48px;border-radius:10px;background:#193d56;color:#fff;box-shadow:none;padding:13px 22px}
.application-page .application-footer{background:transparent;border-top:1px solid #dce7ef;padding:20px 0;font-size:13px}
@media(max-width:767px){.application-page .application-hero{padding:24px 0 18px}.application-page .application-hero>.container,.application-page .application-shell{padding-inline:20px}.application-page .form-section{padding:22px 18px;border-radius:16px;margin-bottom:18px}.application-page .field-grid,.application-page .choice-grid{grid-template-columns:1fr}.application-page .form-section-heading h2{font-size:20px}.application-page .application-submit{align-items:stretch;flex-direction:column}.application-page .application-submit .btn{width:100%}.application-page .process-grid{grid-template-columns:1fr}}

/* Registration finishing: readable submit area/footer and portal-style birthday calendar. */
.application-page .application-submit{background:transparent!important;border:0;border-radius:0;box-shadow:none;padding:4px 0 24px!important;color:#193d56}
.application-page .application-submit .btn{border:1px solid #193d56!important;background:#193d56!important;color:#fff!important}
.application-page .application-footer,.application-page .application-footer span,.application-page .application-footer a{color:#527088!important}.application-page .application-footer a{color:#193d56!important;text-decoration:underline;text-underline-offset:3px}
.application-page .custom-date-picker{position:relative}.application-page .custom-date-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 14px;background:#fff;border:1px solid #cbd9e5;border-radius:10px;color:#193d56;font:inherit;font-size:16px;cursor:pointer}
.application-page .custom-date-menu{position:absolute;top:calc(100% + 8px);left:0;width:min(340px,100%);box-sizing:border-box;padding:14px;border:1px solid #dce7ef;border-radius:14px;background:#fff;box-shadow:0 12px 32px #193d5626;z-index:40}.application-page .custom-date-menu[hidden]{display:none}
.application-page .custom-date-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;margin-bottom:10px}.application-page .custom-date-menu button{min-height:36px;border:0;border-radius:7px;background:transparent;color:#193d56;font:inherit;cursor:pointer;padding:6px}
.application-page .birth-date-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.application-page .birth-date-selects label{font-size:12px}.application-page .birth-date-selects select{padding:6px;min-height:40px;font-size:14px;width:100%}
.application-page .custom-date-weekdays,.application-page .custom-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.application-page .custom-date-weekdays{font-size:11px;color:#607489;margin-bottom:6px}.application-page .custom-date-grid button{font-size:13px;min-width:0}.application-page .custom-date-grid .is-outside-month{color:#71869a}.application-page .custom-date-grid button:hover{background:#eaf3fb}.application-page .custom-date-grid .is-selected{background:#193d56;color:white}.application-page .custom-date-grid button:disabled{opacity:.3;cursor:default}.application-page .custom-date-menu button:focus-visible,.application-page .custom-date-trigger:focus-visible{outline:2px solid #5488ad;outline-offset:2px}.application-page [data-birth-error]{color:#85283c;font-size:13px;margin-top:8px}

/* Choice controls must not inherit text-input height. */
.application-page .choice input[type="radio"],.application-page .choice input[type="checkbox"]{width:17px;height:17px;min-width:17px;min-height:17px;max-height:17px;padding:0;box-sizing:border-box;flex:0 0 17px}
.application-page .choice-grid .choice{align-items:center}
.application-page .choice-grid .choice input[type="radio"],.application-page .choice-grid .choice input[type="checkbox"]{margin:0}
.application-page .form-field{align-content:start}

/* Form navigation: one optically aligned action row. */
.application-header .application-header-actions{align-items:center;gap:24px;position:relative;top:-3px}
.application-header .application-back{top:0;line-height:24px}
.application-header .language-trigger{line-height:24px;font-size:14px;gap:8px}
.application-header .language-trigger svg{display:block;flex-shrink:0}
@media(min-width:901px){.application-header .language-trigger .language-name{display:inline}}
@media(max-width:900px){.application-header .language-trigger .language-name{display:none}.application-header .application-header-actions{gap:12px}}

/* Guided registration selections and non-disappearing field feedback. */
.application-page .timezone-suggestion{justify-self:start;margin-top:8px;padding:8px 12px;border:1px solid #cbd9e5;border-radius:8px;background:#f0f6fb;color:#193d56;font:inherit;font-size:13px;line-height:1.5;cursor:pointer;text-align:start}
.application-page .field-validation{color:#85283c;font-size:13px;line-height:1.5;margin:6px 0 0;grid-column:1/-1}
.application-page [aria-invalid="true"]{border-color:#b4465c!important;outline-color:#b4465c}
.application-page #timezone-search{margin-bottom:8px}

/* Secondary navbar controls: quieter than the logo and primary actions. */
body .language-menu{box-sizing:border-box;width:200px;max-width:calc(100vw - 32px);scrollbar-gutter:auto!important;padding:8px}
body .language-menu .language-option{box-sizing:border-box;width:100%;min-width:0;margin:0;text-align:start}
@media(max-width:900px){body .language-trigger{box-sizing:border-box;justify-content:center;gap:0;width:44px;height:44px;padding:0;border-radius:50%}}
.language-trigger,
.application-back,
.website-return {
  color: #526b7d !important;
  font-weight: 400 !important;
}
.language-trigger .language-name { font-family: inherit !important; font-size: 16px !important; font-weight: inherit !important; line-height: 24px !important; }
body .portal-mobile-drawer .portal-language > .language-trigger { width: auto; gap: 8px; padding: 8px 10px; justify-content: flex-start; border-radius: 10px; }
body .portal-mobile-drawer .portal-language > .language-trigger .language-name { display: inline !important; }
.language-trigger {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  min-width: 44px;
  min-height: 44px;
}
.language-trigger svg,
.language-trigger svg circle,
.language-trigger svg path { stroke-width: 1.5; }
.language-trigger:hover,
.language-trigger[aria-expanded="true"],
.application-back:hover,
.website-return:hover { color: #193d56 !important; }
.language-trigger:hover,
.language-trigger[aria-expanded="true"] { background: #f0f6fb !important; }
.language-trigger:focus-visible,
.application-back:focus-visible,
.website-return:focus-visible { outline: 2px solid #5287b0; outline-offset: 3px; }

/* Refined expandable process guide, scoped to application forms. */
.application-page details.process-overview{border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(25,61,86,.025)}
.application-page details.process-overview>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:20px 26px;font-size:15px;font-weight:600;line-height:1.5}
.application-page details.process-overview>summary::-webkit-details-marker{display:none}
.application-page details.process-overview>summary::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .18s ease;flex-shrink:0;margin-inline-end:3px}
.application-page details.process-overview[open]>summary::after{transform:rotate(225deg)}
.application-page details.process-overview>summary:hover{background:#f8fbfd}
.application-page details.process-overview>summary:focus-visible{outline:2px solid #5287b0;outline-offset:-5px;border-radius:14px}
.application-page details.process-overview[open]>summary{border-bottom:1px solid #e6edf3}
.application-page .process-content{padding:28px}
.application-page .process-heading{margin:0 0 24px;max-width:680px}
.application-page .process-heading h2{font-size:24px;font-weight:650;letter-spacing:-.025em;line-height:1.35;margin:0 0 10px;color:#193d56}
.application-page .process-heading p{font-size:14px;line-height:1.75;color:#526b7d;margin:0}
.application-page .process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.application-page .process-step{display:grid;grid-template-columns:34px minmax(0,1fr);align-content:start;column-gap:14px;row-gap:8px;padding:22px;border:1px solid #e3ecf3;border-radius:14px;background:#f8fbfd;box-shadow:none}
.application-page .process-step .process-number{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;margin:0;border:1px solid #d9e5ee;border-radius:50%;background:#fff;color:#193d56;font-size:12px;font-weight:600;line-height:1}
.application-page .process-step h3{grid-column:2;margin:5px 0 0;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.015em;color:#193d56}
.application-page .process-step p{grid-column:2;margin:0;font-size:14px;line-height:1.75;color:#526b7d}
.application-page .process-note{margin:24px 0 0;padding:18px 0 0;border:0;border-top:1px solid #e3ecf3;background:transparent;font-size:13px;line-height:1.75;color:#526b7d;box-shadow:none;border-radius:0}
.application-page .process-note strong{color:#193d56;font-weight:600}
@media(max-width:640px){.application-page details.process-overview>summary{padding:18px 20px}.application-page .process-content{padding:22px 18px}.application-page .process-heading{margin-bottom:20px}.application-page .process-heading h2{font-size:21px}.application-page .process-grid{grid-template-columns:1fr;gap:12px}.application-page .process-step{padding:18px 16px;column-gap:12px}.application-page .process-note{margin-top:20px;padding-top:16px}}
@media(prefers-reduced-motion:reduce){.application-page details.process-overview>summary::after{transition:none}}

/* Notifications are isolated from dashboard cards and inline notices. */
/* Shared progressive enhancement keeps native field names and validation intact. */
body .portal-field-picker{display:flex;flex-wrap:wrap;gap:12px;position:relative;margin-top:8px;min-width:0}
body .portal-field-picker>input[hidden],body .portal-field-picker [hidden]{display:none!important}
body .portal-field-picker>.custom-date-picker,body .portal-field-picker>.custom-time-picker{position:relative;flex:1 1 180px;min-width:0}
body .portal-field-picker .custom-date-trigger,body .portal-field-picker .custom-time-trigger{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;border:1px solid #b9cdda;border-radius:10px;background:#fff;color:#17354e;box-shadow:none;font:inherit;text-align:start}
body .portal-field-picker .custom-date-menu,body .portal-field-picker .custom-time-menu{position:absolute;inset-inline-start:0;top:calc(100% + 8px);z-index:70;width:min(300px,calc(100vw - 80px));box-sizing:border-box;padding:14px;background:#fff;border:1px solid #d9e5ee;border-radius:14px;box-shadow:0 12px 36px #17354e22}
body .portal-field-picker .custom-date-heading,body .portal-field-picker .picker-month-jump{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}
body .portal-field-picker .picker-month-jump select{min-width:0;width:50%;padding:8px;min-height:40px}
body .portal-field-picker .custom-date-grid,body .portal-field-picker .custom-date-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center;font-size:12px}
body .portal-field-picker .custom-date-grid button{padding:0;min-height:36px;min-width:0;margin:0;background:#fff;color:#17354e;border:0;border-radius:8px;box-shadow:none;font-size:13px}
body .portal-field-picker .custom-date-grid button.is-selected{background:#17354e;color:#fff}
body .portal-field-picker .custom-date-grid button.is-outside-month{opacity:.55}
body .portal-field-picker .custom-date-grid button:disabled{opacity:.25;cursor:not-allowed}
body .portal-field-picker .picker-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body .portal-field-picker .custom-time-menu{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body .portal-field-picker .custom-time-menu label{min-width:0;margin:0;font-size:14px}
body .portal-field-picker .custom-time-menu select{width:100%;min-height:44px;padding:8px}
body .portal-field-picker [data-time-done]{grid-column:1/-1}
body .portal-field-picker .picker-clear{padding:6px 10px;min-height:40px;font-size:13px;border:0;background:transparent;box-shadow:none;color:#526b7d}
body .portal-field-picker .picker-error{flex-basis:100%;margin:0;color:#a91232;font-size:14px}
body .portal-field-picker button:focus-visible{outline:2px solid #17354e;outline-offset:3px}
body .admin-manual-tools>summary{padding:16px 0;cursor:pointer;font-weight:600}
body .admin-manual-tools[open]>summary{margin-bottom:16px}
body [data-pause-only][hidden]{display:none!important}
body .site-toast-stack{width:min(560px,calc(100vw - 32px));box-sizing:border-box;align-items:stretch;padding:4px;max-height:50dvh}
body .site-toast-stack>.site-toast{display:grid!important;grid-template-columns:20px minmax(0,1fr) 36px!important;width:100%!important;min-width:0!important;max-width:100%!important;flex:none!important;margin:0!important;border-radius:18px;padding:12px 10px 12px 16px!important}
body .site-toast-stack>.site-toast::before,body .site-toast-stack>.site-toast::after{content:none!important;display:none!important}
body .site-toast-stack .site-toast-content{min-width:0;width:auto!important;max-width:none!important;white-space:normal;overflow-wrap:break-word;word-break:normal}
/* Compact application headers and a separate review shortcut. */
.application-page .wizard-nav{flex-wrap:wrap;gap:12px}
.application-page .wizard-return-review{background:transparent;color:#17354e;border:0;text-decoration:underline;text-underline-offset:4px;flex-basis:100%;min-height:44px}
.application-page .wizard-return-review[hidden]{display:none}
/* Navigation logos share one responsive size; footer artwork is unchanged. */
html:root body header .brand img.brand-logo,
html:root body .header .navbar img.navbar-logo-img,
html:root body .application-header .application-logo img,
html:root body .learning-sidebar .sidebar-brand img{
  width:130px!important;height:auto!important;max-width:none!important;object-fit:contain;flex-shrink:0;
}
@media(max-width:800px){
  html:root body header .brand img.brand-logo,
  html:root body .header .navbar img.navbar-logo-img,
  html:root body .application-header .application-logo img,
  html:root body .learning-sidebar .sidebar-brand img{width:108px!important}
}
@media(max-width:800px){.application-page .application-header .container{min-height:64px;padding-top:8px;padding-bottom:8px}.application-page .application-logo img{width:116px!important;height:auto!important}.application-page .application-header-actions{gap:12px}.application-page .application-back{font-size:13px}.application-page .wizard-nav .wizard-next{white-space:nowrap}}
/* Shared disclosures remain compatible with the portal's strict style CSP. */
html body.learning-dashboard #schedule.schedule-panel{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
html body #schedule.schedule-panel > .schedule-anchor-targets{display:none!important}
html body #schedule .course-workspace{width:100%;box-sizing:border-box;margin:0;grid-column:1/-1}
html body #schedule .course-workspace .course-routine-summary{border:0;margin:14px 0;padding:0}
html body #schedule .schedule-lesson-card{margin-block:16px!important}
html body #schedule .calendar-showcase{margin:0;box-shadow:none;background:#fff}
html body #schedule .calendar-showcase summary small{display:none}
html body #schedule .schedule-next-lesson{display:flex;align-items:center;justify-content:space-between;gap:24px;grid-column:1/-1;background:#173b58;color:#fff;border-radius:20px;padding:30px 32px;box-sizing:border-box}
html body #schedule .schedule-next-lesson h2{color:#fff;margin:8px 0 14px;font-size:clamp(22px,2.4vw,30px);line-height:1.3}
html body #schedule .schedule-next-lesson p{color:#fff;margin:0}
html body #schedule .schedule-next-lesson .eyebrow{color:#d7e7f2;font-size:11px;letter-spacing:.1em}
html body #schedule .next-timezone{display:block;color:#d7e7f2;font-size:13px;margin-top:7px}
html body #schedule .schedule-next-actions{display:flex;flex-direction:column;align-items:center;gap:14px;flex-shrink:0}
html body #schedule .schedule-next-actions a{color:#fff;font-size:14px}
html body #schedule .schedule-next-actions .button{background:#fff3d8;color:#173b58!important;border-color:#fff3d8;font-weight:700;padding:14px 24px;white-space:nowrap}
html body details.portal-language > summary{padding:10px 14px!important;min-height:40px;box-sizing:border-box;white-space:nowrap;gap:8px!important;width:auto!important}
html body > header nav .portal-language{flex-shrink:0;margin-inline-end:8px;min-width:max-content}
html body > header nav{column-gap:16px!important}
html body .learning-sidebar .learning-nav{min-width:0;width:100%;box-sizing:border-box}
html body .learning-sidebar .learning-nav a{white-space:normal!important;overflow-wrap:anywhere;min-width:0;max-width:100%;width:100%;box-sizing:border-box;line-height:1.4!important}
html body .learning-sidebar .sidebar-label{white-space:normal!important;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}
html body .learning-sidebar .learning-nav .inbox-unread-count{white-space:nowrap!important;overflow-wrap:normal;min-width:26px;width:auto;flex-shrink:0}
html body .learning-sidebar .learning-nav a svg{flex-shrink:0}
html body #schedule .course-outcome-tasks + .course-outcome-tasks{margin-top:8px}
html body #schedule .course-outcome-tasks > a{padding-block:12px;margin:0}
html body #schedule .course-outcome-tasks > a + a{border-top:1px solid #e5d6b4;margin-top:12px}
html body details.portal-language > summary::after{content:none!important;display:none!important}
html body details.portal-language > summary > svg{display:block!important;width:18px;height:18px}
@media(max-width:650px){html body #schedule .schedule-next-lesson{align-items:stretch;flex-direction:column;padding:24px}html body #schedule .schedule-next-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center}}
html body #schedule.schedule-panel > .course-workspace,html body #schedule.schedule-panel > .eyebrow,html body #schedule.schedule-panel > nav{grid-column:1/-1;min-width:0}
html body.panel-schedule #schedule.schedule-panel{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
html body #schedule.schedule-panel > .calendar-showcase{margin:0!important}
html body #schedule .course-disclosure{padding:0!important}
html body #schedule .course-disclosure > summary{padding:22px 56px 22px 24px!important;margin:0;border:0}
html body #schedule .course-disclosure > summary::after{right:24px}
html body #schedule .course-summary-copy{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}
html body #schedule .course-summary-copy > span{font-size:14px;font-weight:400;color:#526b80}
html body #schedule .course-workspace-content{padding:0 24px 24px;min-width:0}
html body #schedule .course-outcome-tasks{padding:20px 24px;background:#fff8e8;border:1px solid #e5d6b4;border-radius:16px}
html body #schedule .course-outcome-tasks h2{font-size:20px;margin:0 0 12px}
html body #schedule .course-outcome-tasks a{display:block;margin-block:8px}
html body #schedule .outcome-review-item + .outcome-review-item{border-top:1px solid #e5d6b4;padding-top:16px;margin-top:16px}
html body #schedule .older-lesson-history{margin-top:16px}
html body #schedule .lesson-history-entry{border:1px solid #d4e3ed;border-radius:12px;margin-block:12px;scroll-margin-top:90px}
html body #schedule .lesson-history-entry > summary{padding:14px 44px 14px 16px!important;flex-wrap:wrap;gap:8px 16px}
html body #schedule .lesson-history-entry.needs-outcome{border-color:#d8b66d}
html body #schedule .status-awaiting-outcome{background:#fff0c9;color:#6e4b09}
html body #schedule .lesson-history-entry .schedule-lesson-card{border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important;border-radius:0 0 12px 12px}
html body #schedule .lesson-history-entry .schedule-lesson-card::before{content:none!important;display:none!important}
html body #schedule .course-list-heading{font-size:22px;margin:8px 0 0;scroll-margin-top:100px}
html body #schedule .course-disclosure[open]{border-color:#7090a6}
html body #schedule .course-disclosure[open] > summary{background:#edf4f8;border-radius:19px 19px 0 0}
html body #schedule .course-back-link{display:inline-block;margin-block:16px 0;font-size:14px;text-underline-offset:3px}
html body #schedule .calendar-wrap{min-width:0;overflow-x:auto}
html body #schedule .calendar{min-width:760px}
@media(max-width:600px){html body #schedule .course-workspace-content{padding:0 16px 16px}html body #schedule .course-disclosure > summary{padding-inline-start:16px!important}}
html body #schedule.schedule-panel > span:empty{display:none}
html body details > summary{display:flex!important;align-items:center;gap:12px;position:relative;list-style:none!important;padding-inline-end:42px!important;cursor:pointer;min-height:44px;box-sizing:border-box}
html body details > summary::-webkit-details-marker{display:none!important}
html body details > summary::marker{content:''!important}
html body details > summary::before{content:none!important}
html body details > summary > span[aria-hidden="true"]{display:none!important}
html body details > summary::after{content:'+'!important;position:absolute!important;inset-inline-end:8px!important;inset-block-start:50%!important;display:block!important;width:24px!important;height:24px!important;line-height:24px!important;font-size:24px!important;font-weight:400!important;text-align:center!important;border:0!important;background:none!important;transform:translateY(-50%) rotate(0deg)!important;transition:transform 220ms ease!important}
html body details[open] > summary::after{transform:translateY(-50%) rotate(45deg)!important}
html body details > summary:focus-visible{outline:3px solid #87b6d4;outline-offset:4px;border-radius:6px}
html body .course-workspace{margin-block:28px;padding:24px;border:1px solid #d4e3ed;border-radius:20px;background:#fff;scroll-margin-top:100px}
html body .course-workspace .course-management-options{margin-block:20px;border:0;padding-block:0}
html body .calendar-showcase .schedule-month-picker{margin:16px 24px;max-width:340px}
html body .course-workspace .lesson-card{box-shadow:none}
html body .learning-sidebar .sidebar-brand{margin-bottom:36px!important}
html body.learning-dashboard .workspace-bar{height:auto!important;min-height:0!important;margin:0 0 16px!important;padding:0!important}
html body.learning-dashboard .dashboard-heading.portal-welcome{display:flex!important;flex-flow:row wrap!important;align-items:baseline!important;justify-content:space-between!important;gap:12px 24px!important;margin:0 0 24px!important;padding:0 0 20px!important}
html body.learning-dashboard .portal-welcome h1{display:block!important;margin:0!important;font-size:18px!important;font-weight:400!important;line-height:1.5!important;color:#526b7d!important}
html body.learning-dashboard .portal-welcome .welcome-greeting{display:inline!important;margin:0!important;font-size:inherit!important;font-weight:400!important;color:inherit!important}
html body.learning-dashboard .portal-welcome .welcome-name{display:inline!important;margin-inline-start:6px;font-size:inherit!important;font-weight:500!important;line-height:inherit;color:inherit!important}
html body.learning-dashboard .portal-welcome .welcome-date{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:baseline!important;gap:6px!important;margin:0!important;padding:0!important;border:0!important}
html body #schedule .course-outcome-tasks{padding:0;background:#fffaf0;border:1px solid #e6d7b5;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(23,61,86,.035)}
html body #schedule .outcome-panel-heading{display:block!important;padding:24px 28px;border-bottom:1px solid #ece2cc}
html body #schedule .outcome-panel-heading h2{font-size:22px;line-height:1.35;margin:0 0 10px}
html body #schedule .outcome-panel-heading p{max-width:75ch;font-size:15px;line-height:1.65;margin:0}
html body #schedule .outcome-panel-list{display:grid;gap:16px;padding:20px}
html body #schedule .outcome-review-item{padding:22px 24px;border:1px solid #e4e8e9;border-radius:14px;background:#fff;min-width:0}
html body #schedule .outcome-review-item + .outcome-review-item{margin:0;padding:22px 24px;border:1px solid #e4e8e9}
html body #schedule .outcome-review-item h3{font-size:18px;line-height:1.4;margin:0;overflow-wrap:anywhere}
html body #schedule .outcome-review-item .outcome-lesson-date{font-size:14px;margin:6px 0 18px;color:#5a7182}
html body #schedule .outcome-record{display:grid;gap:5px;padding:14px 16px;background:#f2f7fa;border-radius:10px;line-height:1.5}
html body #schedule .outcome-record span{font-size:13px;color:#526b7d}
html body #schedule .outcome-record strong{font-size:16px;color:#173d56}
html body #schedule .outcome-deadline{font-size:14px;line-height:1.6;margin:16px 0;overflow-wrap:anywhere}
html body #schedule .outcome-review-item .outcome-action{display:inline-block;margin:0;padding:8px 0;font-size:15px;font-weight:600;text-underline-offset:4px}
html body.learning-dashboard .portal-welcome .welcome-date,html body.learning-dashboard .portal-welcome .welcome-date span,html body.learning-dashboard .portal-welcome .welcome-date strong{font-size:14px!important;font-weight:400!important;color:#526b7d!important;line-height:1.5!important}
html body .course-summary-copy .course-reference{font-size:13px;color:#526b7d}
html body .course-summary-copy .course-state{display:inline-block;width:fit-content;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.5;background:#edf2f5;color:#526b7d}
html body .course-summary-copy .course-state-active{background:#e7f3ed;color:#246447}
html body .course-summary-copy .course-state-paused{background:#fff2d5;color:#7b5718}
@media(max-width:480px){html body #schedule .outcome-panel-heading{padding:20px}html body #schedule .outcome-panel-list{padding:12px}html body #schedule .outcome-review-item,html body #schedule .outcome-review-item + .outcome-review-item{padding:18px}}
@media(prefers-reduced-motion:reduce){html body details > summary::after{transition:none!important}}
@media(max-width:600px){html body .course-workspace{padding:16px}}
@media(max-width:1000px){
html body.learning-dashboard .dashboard-heading.portal-welcome{display:flex!important;flex-flow:column nowrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;text-align:start!important;padding-block:24px 18px!important}
html body .portal-welcome h1{margin:0!important;min-width:0;max-width:100%;overflow-wrap:anywhere}
html body .portal-welcome .welcome-date{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:8px!important;margin:0!important;padding:0!important;border:0!important;text-align:start!important}
html body .workspace-bar{display:block!important;margin-block:12px!important;overflow-wrap:anywhere}
html body #schedule .calendar-showcase{margin-bottom:24px!important}
html body .lesson-hero .hero-content{min-width:0}
}
html body .learning-nav a.selected-student{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0 12px 14px;padding:10px 14px;border-inline-start:2px solid #c9dce9;border-radius:0;background:transparent;font-size:14px;line-height:1.4}
html body .learning-nav a.selected-student small{position:static!important;display:block!important;align-self:flex-start!important;margin:0!important;padding:0!important;border:0!important;background:none!important;font-size:11px!important;color:#617b8c!important;font-weight:400!important}
html body .selected-student strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
html body .learning-nav a.selected-student{margin-block:0 8px!important;padding:8px 12px!important;gap:2px!important}
html body a.selected-student .student-switch-label{position:static!important;display:block!important;width:auto!important;min-width:0!important;height:auto!important;flex:0 0 auto!important;font-size:12px!important;font-weight:400!important;line-height:1.4!important;color:#315a78;margin-top:3px;white-space:normal!important}
html body.learning-dashboard .payment-workspace-hero{max-width:none!important;width:100%!important;box-sizing:border-box;text-align:start!important;padding:0 0 20px!important;margin:0 0 24px!important;border:0!important;background:none!important;box-shadow:none!important}
html body.learning-dashboard .payment-workspace-hero h1{font-size:28px!important}
html body.learning-dashboard .payment-workspace-hero .eyebrow{display:none}
html body.learning-dashboard #requests.task-workspace .task-heading{display:block!important;width:100%!important;max-width:none!important;margin:0 0 20px!important;text-align:start!important;padding:0 0 20px;border-bottom:1px solid #dae6ee}
html body .request-history-item{margin-block:12px;border:1px solid #d4e3ed;border-radius:12px;background:#fff;padding:14px 18px}
html body .request-history-item>summary small{display:block;margin-top:4px;color:#617b8c;font-size:12px;font-weight:400}
html body .task-workspace .task-heading h2{font-size:28px;margin:0 0 8px}
html body .task-workspace .task-heading p{margin:0 0 8px;font-size:16px}
html body .task-workspace .task-heading small{font-size:13px;color:#617b8c}
html body .task-workspace .requests-stage{padding:0;border:0;background:transparent;box-shadow:none;margin:0 0 24px}
html body .task-workspace .requests-stage>h3{font-size:18px;margin:0 0 16px}
html body .task-workspace .request-card{margin:16px 0 0;padding:24px;border:1px solid #d4e3ed;border-radius:16px;box-shadow:0 4px 16px #17364b05}
html body .task-workspace .request-card h3{font-size:20px;margin:0 0 10px}
html body .task-workspace .request-card p{font-size:15px;line-height:1.6;margin:12px 0}
html body .task-workspace .request-card form{margin-top:20px;padding-top:18px;display:grid;gap:16px;max-width:none}
html body .task-workspace .request-card form label{margin:0}
html body .task-workspace .request-card textarea{min-height:80px}
html body .task-workspace .request-card form button{justify-self:start;margin:0}
html body .task-workspace .financial-choice-card h3{margin:0;font-size:20px}
html body .task-workspace .financial-choice-card .request-when{margin:8px 0 0;color:#617b8c;font-size:14px}
html body .task-workspace .financial-choice-card form{margin-top:20px;padding-top:0;border:0;max-width:480px}
html body .task-workspace .request-times:empty{display:none}
html body.learning-dashboard #requests.task-workspace .requests-stage{display:block!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body.learning-dashboard #requests.task-workspace .request-card{display:block;gap:0}
html body.learning-dashboard #requests.task-workspace .request-card .request-times:empty{display:none!important}
html body .portal-mobile-drawer a.selected-student,html body #portal-mobile-menu a:has(.student-switch-label){display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding-block:10px;border-inline-start:2px solid #c9dce9;margin-inline:12px;font-size:14px}
html body .task-workspace .course-private-terms{padding:14px 16px;margin:16px 0}
html body .task-workspace .course-private-terms small{font-size:12px;line-height:1.5}
html body .history-more{margin-top:16px;padding:0;border:0;box-shadow:none;background:transparent}
html body .history-more>summary{font-size:14px;padding:12px 0;color:#315a78}
html body .finance-hub .finance-hero{padding:0 0 20px;margin:0 0 20px;background:none;border:0;box-shadow:none}
html body .finance-hub .finance-hero h2{font-size:28px;margin:0 0 8px}
html body .finance-hub .finance-hero .eyebrow{display:none}
html body .finance-hub .finance-hero p{font-size:15px;margin:0}
html body.learning-dashboard .finance-hub .finance-section{margin-block:20px;padding:20px 24px;border:1px solid #d4e3ed;box-shadow:none;border-radius:16px;background:#fff}
html body.learning-dashboard .finance-hub .finance-hero::before,html body.learning-dashboard .finance-hub .finance-hero::after{display:none!important}
html body.learning-dashboard .finance-hub>p:has(.text-action){margin:8px 0 16px!important}
html body.learning-dashboard .finance-hub>p>.text-action{display:inline!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;font-size:14px!important;font-weight:400!important;text-decoration:underline;text-underline-offset:4px}
html body .finance-hub .finance-section h3{font-size:18px}
html body .finance-hub .finance-record{padding:18px}
html body .finance-hub .finance-requests .finance-section>header{display:none}
@media(max-width:600px){html body .task-workspace .request-card{padding:18px}html body .task-workspace .task-heading h2,html body .finance-hub .finance-hero h2{font-size:24px}}
