:root { --ink:#102232; --muted:#566570; --paper:#f8f6f2; --line:rgba(16,34,50,.15); --red:#e4232b; --red-dark:#b4161c; --navy:#0c2940; --aqua:#ccefe8; --green:#1d8b7b; --amber:#ffc567; --white:#fff; --shell:min(1180px, calc(100% - 44px)); --shadow:0 22px 60px rgba(16,34,50,.12); }
*{box-sizing:border-box} body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}.portal-shell{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:fixed;top:-50px;left:20px;z-index:50;padding:10px 13px;background:var(--navy);color:white;border-radius:0 0 8px 8px;text-decoration:none}.skip-link:focus{top:0}:focus-visible{outline:3px solid #1f8ab9;outline-offset:3px}.portal-header{width:var(--shell);min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.portal-wordmark{display:flex;flex-direction:column;color:var(--ink);line-height:.92;text-decoration:none;letter-spacing:-.04em}.portal-wordmark strong{font-size:1rem}.portal-wordmark span{margin-top:5px;color:var(--red);font-size:.73rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.trainer-link{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;color:var(--navy);border:1px solid var(--line);border-radius:999px;font-size:.8rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,transform .2s}.trainer-link:hover{color:white;background:var(--navy);transform:translateY(-1px)}.access-main{width:var(--shell);margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,.78fr);gap:clamp(55px,10vw,150px);align-items:center;padding:68px 0 92px;flex:1}.access-intro{position:relative;padding:25px 0}.access-intro::before{content:"";position:absolute;z-index:-1;left:-100px;top:-110px;width:430px;height:430px;border:1px solid rgba(16,34,50,.08);border-radius:50%;box-shadow:0 0 0 55px rgba(16,34,50,.025),0 0 0 110px rgba(16,34,50,.015)}.portal-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--red);font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.portal-eyebrow span{display:inline-block;width:23px;height:2px;background:currentColor}.access-intro h1,.access-card h2,.trainer-login-card h1,.dashboard-intro h1,.privacy-main h1,.privacy-main h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.055em;line-height:1}.access-intro h1{max-width:630px;font-size:clamp(3.2rem,5.6vw,5.45rem)}.access-lead{max-width:545px;margin:25px 0 38px;color:var(--muted);font-size:1.05rem;line-height:1.7}.access-principles{display:grid;gap:12px;max-width:500px}.access-principles article{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.access-principles article:last-child{border-bottom:1px solid var(--line)}.access-principles span{color:var(--red);font-family:Georgia,serif;font-size:1.05rem}.access-principles strong{font-size:.92rem}.access-principles p{margin:2px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}.access-card,.trainer-login-card{padding:29px;background:var(--navy);color:white;border-radius:20px;box-shadow:var(--shadow)}.card-topline{display:flex;align-items:center;gap:8px;color:var(--aqua);font-size:.71rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.access-dot{width:8px;height:8px;background:var(--aqua);border-radius:50%;box-shadow:0 0 0 5px rgba(204,239,232,.14)}.access-card h2{margin-top:19px;font-size:2.25rem}.access-card>p,.trainer-login-card>p{margin:9px 0 25px;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.6}.access-card label,.trainer-login-card label,.cohort-form label{display:block;margin:0 0 8px;font-size:.82rem;font-weight:800}.access-card label span,.trainer-login-card label span,.cohort-form label span{display:block;margin-top:2px;color:rgba(255,255,255,.64);font-size:.7rem;font-weight:500;line-height:1.4}.access-card input,.trainer-login-card input{width:100%;margin-bottom:17px;padding:12px;color:var(--ink);background:white;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:.9rem}.portal-button{width:100%;min-height:49px;padding:12px 16px;border:0;border-radius:999px;color:white;background:var(--red);font-weight:850;font-size:.87rem;transition:background .2s,transform .2s}.portal-button:hover{background:var(--red-dark);transform:translateY(-1px)}.portal-button:disabled{opacity:.72;cursor:wait;transform:none}.form-status{min-height:20px;margin:13px 0 0;font-size:.78rem;line-height:1.45}.form-status.error{color:#ffb8a7}.form-status.success{color:var(--aqua)}.privacy-note,.trainer-security-note{display:flex;gap:9px;margin-top:23px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);font-size:.72rem;line-height:1.5}.privacy-note>span,.trainer-security-note>span{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;color:var(--navy);background:var(--amber);border-radius:50%;font-size:.75rem;font-weight:900}.privacy-note p,.trainer-security-note p{margin:0}.privacy-note strong{color:white}.privacy-note a{color:var(--aqua)}.portal-footer{display:flex;justify-content:space-between;gap:20px;width:100%;padding:21px max(22px,calc((100% - 1180px)/2));color:rgba(255,255,255,.65);background:#081722;font-size:.72rem}.portal-footer p{margin:0}.portal-footer strong{color:white}.trainer-login-shell{background:linear-gradient(115deg,var(--paper) 0%,var(--paper) 58%,#e8f2ef 58%,#e8f2ef 100%)}.single-card-main{width:var(--shell);min-height:calc(100vh - 159px);margin:0 auto;display:grid;place-items:center;padding:54px 0 72px}.trainer-login-card{width:min(100%,490px);padding:34px}.trainer-login-card h1{font-size:2.8rem}.trainer-login-card form{margin-top:27px}.privacy-main{width:min(780px,var(--shell));margin:0 auto;padding:65px 0 90px;flex:1}.privacy-main h1{max-width:700px;font-size:clamp(2.7rem,5vw,4.8rem)}.privacy-main>p{max-width:720px;margin:25px 0 48px;color:var(--muted);font-size:1rem;line-height:1.7}.privacy-main h2{margin-top:33px;font-size:1.7rem}.privacy-main h2+p{color:var(--muted);line-height:1.65}.trainer-shell{background:#edf2f0}.trainer-main{width:var(--shell);margin:0 auto;padding:44px 0 74px;flex:1}.trainer-header{background:var(--white);border-bottom:1px solid var(--line)}.trainer-header-inner{width:var(--shell);min-height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.trainer-actions{display:flex;align-items:center;gap:10px}.trainer-actions a,.quiet-button{padding:9px 12px;color:var(--navy);background:transparent;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.76rem;font-weight:800}.quiet-button{cursor:pointer}.quiet-button:hover{background:#f1f4f5}.dashboard-intro{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.dashboard-intro h1{font-size:clamp(2.6rem,4.7vw,4.45rem)}.dashboard-intro p{max-width:430px;margin:0;color:var(--muted);font-size:.91rem;line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.dashboard-panel{padding:24px;background:white;border:1px solid rgba(16,34,50,.09);border-radius:16px}.panel-kicker{margin:0 0 7px;color:var(--red);font-size:.69rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.dashboard-panel h2{margin:0;font-size:1.2rem}.dashboard-panel>p:not(.panel-kicker){margin:6px 0 20px;color:var(--muted);font-size:.82rem;line-height:1.55}.cohort-form label{color:var(--ink)}.cohort-form label span{color:var(--muted)}.cohort-form input,.cohort-form textarea,.cohort-form select{width:100%;margin-bottom:14px;padding:10px;color:var(--ink);background:#fbfaf8;border:1px solid var(--line);border-radius:8px;font-size:.84rem}.cohort-form textarea{min-height:74px;resize:vertical}.cohort-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.cohort-form-grid>div{min-width:0}.cohort-form .portal-button{margin-top:6px}.form-secondary{display:none;width:100%;margin-top:8px;padding:10px;border:0;background:transparent;color:var(--navy);font-weight:800;font-size:.78rem}.form-secondary.visible{display:block}.code-reveal{display:none;margin-top:15px;padding:13px;background:#fff4de;border:1px solid #f1d79b;border-radius:10px;color:#5a4312}.code-reveal.visible{display:block}.code-reveal strong,.code-reveal code{display:block}.code-reveal strong{font-size:.75rem}.code-reveal code{margin:5px 0;font-family:"SFMono-Regular",Consolas,monospace;font-size:1.05rem;font-weight:800}.code-reveal small{font-size:.69rem;line-height:1.4}.cohort-list{display:grid;gap:11px}.empty-state{padding:28px;color:var(--muted);background:#fbfaf8;border:1px dashed var(--line);border-radius:10px;text-align:center;font-size:.85rem}.cohort-card{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px;border:1px solid var(--line);border-radius:12px}.cohort-card.closed{opacity:.72;background:#fafafa}.cohort-card h3{margin:0;font-size:1rem}.cohort-card p{margin:4px 0 0;color:var(--muted);font-size:.76rem;line-height:1.45}.cohort-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.cohort-meta span{padding:4px 6px;background:#f2f4f4;border-radius:5px;color:var(--muted);font-size:.67rem;font-weight:750}.cohort-meta .status-active{color:#096d5c;background:#e3f4ef}.cohort-meta .status-closed{color:#7b5368;background:#f4e8ed}.cohort-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;gap:6px}.cohort-actions button,.cohort-actions a{padding:7px 9px;color:var(--navy);background:#f2f4f4;border:0;border-radius:6px;font-size:.7rem;font-weight:800;text-decoration:none;cursor:pointer}.cohort-actions button:hover,.cohort-actions a:hover{background:#e1e7e8}.registrations-panel{margin-top:18px}.registrations-panel[hidden]{display:none}.registration-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.registration-head h3{margin:0;font-size:.98rem}.registration-head p{margin:3px 0 0;color:var(--muted);font-size:.73rem}.registration-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.registration-table{width:100%;border-collapse:collapse;font-size:.75rem}.registration-table th,.registration-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.registration-table th{color:var(--muted);background:#f8f8f7;font-size:.67rem;letter-spacing:.06em;text-transform:uppercase}.registration-table tr:last-child td{border-bottom:0}.table-note{margin:0;color:var(--muted);font-size:.78rem}.dashboard-status{min-height:19px;margin:12px 0 0;color:var(--muted);font-size:.76rem}.dashboard-status.error{color:#a51b23}.dashboard-status.success{color:#087160}@media(max-width:880px){.access-main,.dashboard-grid{grid-template-columns:1fr;gap:38px}.access-main{padding-top:35px}.access-card{max-width:580px}.dashboard-intro{align-items:start;flex-direction:column}.portal-footer{flex-direction:column;gap:6px}.trainer-main{padding-top:30px}}@media(max-width:620px){:root{--shell:min(100% - 32px,1180px)}.portal-header{min-height:69px}.access-main{padding:28px 0 55px}.access-intro h1{font-size:3.2rem}.access-card,.trainer-login-card{padding:22px}.trainer-login-card h1{font-size:2.35rem}.access-intro::before{left:-190px;top:-170px}.cohort-form-grid{grid-template-columns:1fr}.cohort-card{grid-template-columns:1fr}.cohort-actions{justify-content:flex-start}.trainer-header-inner{min-height:68px}.trainer-actions a{display:none}.dashboard-intro h1{font-size:2.8rem}.dashboard-panel{padding:18px}.registration-table{min-width:600px}.privacy-main{padding-top:35px}.privacy-main h1{font-size:2.8rem}}

.cohort-form-section{margin:4px 0 17px;padding:14px 13px 1px;background:#f5f8f7;border:1px solid rgba(16,34,50,.1);border-radius:10px}.learner-access-section{background:#edf8f5;border-color:rgba(29,139,123,.2)}.form-section-title{margin:0;color:var(--navy);font-size:.75rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.form-section-copy{margin:3px 0 12px;color:var(--muted);font-size:.72rem;line-height:1.45}.cohort-timing{display:grid;gap:5px;margin-top:11px}.cohort-timing p{display:flex;flex-wrap:wrap;gap:7px;margin:0;color:var(--muted);font-size:.72rem}.cohort-timing strong{min-width:92px;color:var(--ink);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}@media(max-width:620px){.cohort-timing p{display:block}.cohort-timing strong{display:block;margin-bottom:2px}}
