:root{--portal-blue:#002a5c;--portal-gold:#f5c400;--portal-ink:#172a45;--portal-slate:#56677a;--portal-ice:#edf4f9;--portal-line:#c9d5de}.student-shell{min-height:100vh;color:var(--portal-ink);background:#fff;font-family:Arial,Helvetica,sans-serif}.student-header{border-bottom:1px solid #dce4e9;justify-content:space-between;align-items:center;height:82px;padding:0 8vw;display:flex}.student-brand{color:var(--portal-blue);align-items:center;gap:10px;text-decoration:none;display:flex}.student-brand>span{background:var(--portal-blue);width:38px;height:38px;color:var(--portal-gold);place-items:center;font:700 23px Georgia,serif;display:grid}.student-brand b{letter-spacing:1px;font-size:19px;line-height:.9}.student-brand small{letter-spacing:1.7px;margin-top:5px;font-size:7px;display:block}.back-home{color:var(--portal-blue);font-size:13px;font-weight:700;text-decoration:none}.student-hero{background:var(--portal-blue);color:#fff;justify-content:space-between;gap:50px;min-height:304px;padding:58px 12vw;display:flex;position:relative;overflow:hidden}.student-hero:after{content:"";border:1px solid #6a91b3;border-radius:50%;width:460px;height:460px;position:absolute;bottom:-170px;right:-130px}.portal-kicker{color:inherit;letter-spacing:1.4px;margin:0;font-size:11px;font-weight:800}.student-hero h1{letter-spacing:-2.5px;margin:15px 0 13px;font-size:clamp(39px,5vw,63px);line-height:1.01}.student-hero h1 em{color:var(--portal-gold);font:400 1em Georgia,serif}.student-hero>div>p:not(.portal-kicker){color:#d3e2ef;max-width:520px;margin:0;line-height:1.55}.student-hero-note{z-index:1;border-left:4px solid var(--portal-gold);align-self:center;min-width:240px;padding:13px 0 13px 20px;position:relative}.student-hero-note strong{font-size:20px;line-height:1.15;display:block}.student-hero-note span{color:#cadbe9;margin-top:11px;font-size:13px;line-height:1.4;display:block}.portal-area{background:#f7fafc;padding:76px 12vw 95px}.auth-layout{grid-template-columns:.83fr 1.17fr;gap:9vw;max-width:1120px;margin:auto;display:grid}.auth-layout aside{padding-top:24px}.auth-layout aside .portal-kicker{color:var(--portal-blue)}.auth-layout aside h2{letter-spacing:-1.5px;margin:18px 0 27px;font-size:clamp(31px,3.2vw,46px);line-height:1.1}.auth-layout ul{border-top:3px solid var(--portal-blue);margin:0;padding:0;list-style:none}.auth-layout li{border-bottom:1px solid var(--portal-line);color:var(--portal-slate);padding:16px 0 16px 30px;font-size:14px;position:relative}.auth-layout li:before{content:"✓";color:var(--portal-blue);font-weight:800;position:absolute;left:4px}.auth-card{border-top:5px solid var(--portal-blue);background:#fff;padding:40px 45px 38px;box-shadow:0 13px 30px #002a5c12}.auth-tabs{border-bottom:1px solid var(--portal-line);grid-template-columns:1fr 1fr;margin:-40px -45px 34px;display:grid}.auth-tabs button{color:var(--portal-slate);background:#f7fafc;border:0;border-bottom:4px solid #0000;padding:18px 15px 14px;font:700 14px Arial,Helvetica,sans-serif}.auth-tabs button.active{color:var(--portal-blue);border-color:var(--portal-gold);background:#fff}.auth-card h2{letter-spacing:-1.2px;color:var(--portal-blue);margin:0 0 10px;font-size:32px;line-height:1.05}.auth-card form>p{color:var(--portal-slate);margin:0 0 25px;font-size:15px;line-height:1.5}.auth-card label{letter-spacing:.8px;text-transform:uppercase;color:var(--portal-blue);margin:17px 0 0;font-size:11px;font-weight:800;display:block}.auth-card input{border:1px solid var(--portal-line);width:100%;color:var(--portal-ink);margin-top:8px;padding:14px;font:16px Arial,Helvetica,sans-serif}.auth-card input:focus{border-color:var(--portal-blue);outline:3px solid #f5c40066}.portal-button{border:1px solid var(--portal-blue);background:var(--portal-blue);color:#fff;width:100%;margin-top:25px;padding:15px;font:700 15px Arial,Helvetica,sans-serif}.portal-button:hover:not(:disabled){background:#003e7e}.portal-button:disabled{opacity:.65;cursor:wait}.text-button{color:var(--portal-blue);background:0 0;border:0;padding:15px 0 0;font:700 13px Arial,Helvetica,sans-serif;text-decoration:underline;display:block}.text-button.back{margin-bottom:24px;padding-top:0}.notice{margin:22px 0 0;padding:13px 14px;font-size:14px;line-height:1.45}.notice.success{color:#155c36;background:#e6f5eb}.notice.error{color:#982934;background:#fff0f1}.notice.info{color:#134f7a;background:#eaf3fa}.loading-state{max-width:900px;color:var(--portal-slate);margin:auto;padding:80px 0;font-weight:700}.dashboard{max-width:1120px;margin:auto}.dashboard-top{justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:33px;display:flex}.dashboard-top .portal-kicker,.dashboard p{color:var(--portal-blue)}.dashboard h2{letter-spacing:-1.8px;margin:14px 0 8px;font-size:43px;line-height:1.05}.dashboard-top div>p:last-child{color:var(--portal-slate);margin:0;font-size:16px}.signout{border:1px solid var(--portal-blue);color:var(--portal-blue);background:#fff;padding:11px 14px;font:700 13px Arial,Helvetica,sans-serif}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.dashboard-grid article{border-top:4px solid var(--portal-blue);background:#fff;flex-direction:column;min-height:166px;padding:24px;display:flex}.dashboard-grid .next-class{background:var(--portal-blue);color:#fff;border-color:var(--portal-gold);grid-column:span 3;min-height:190px}.dashboard-grid p{letter-spacing:1.3px;margin:0 0 14px;font-size:10px;font-weight:800}.dashboard-grid .next-class p{color:#cadbe9}.dashboard-grid h3{letter-spacing:-.7px;margin:0 0 9px;font-size:28px}.dashboard-grid strong{color:var(--portal-blue);margin:3px 0 12px;font:50px/1 Georgia,serif}.dashboard-grid span{color:var(--portal-slate);font-size:13px;line-height:1.45}.dashboard-grid .next-class span{color:#d5e3ef}.portal-help{background:var(--portal-ice);border-left:4px solid var(--portal-gold);align-items:baseline;gap:20px;margin-top:28px;padding:21px 24px;font-size:14px;line-height:1.5;display:flex}.portal-help b{color:var(--portal-blue);white-space:nowrap}.portal-help span{color:var(--portal-slate)}@media (width<=800px){.student-header{height:72px;padding:0 6vw}.student-hero{padding:49px 7vw;display:block}.student-hero-note{margin-top:32px}.portal-area{padding:55px 7vw 70px}.auth-layout{display:block}.auth-layout aside{margin-bottom:39px;padding-top:0}.auth-card{padding:34px 25px 30px}.auth-tabs{margin:-34px -25px 29px}.dashboard-top{display:block}.signout{margin-top:20px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .next-class{grid-column:auto}.portal-help{display:block}.portal-help span{margin-top:8px;display:block}.back-home{font-size:12px}}.portal-nav{border-bottom:1px solid var(--portal-line);gap:0;margin:-10px 0 35px;display:flex}.portal-nav button{color:var(--portal-blue);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;margin-right:20px;padding:0 20px 16px 0;font:800 13px Arial,Helvetica,sans-serif}.portal-nav button.active{border-bottom-color:var(--portal-gold)}.portal-nav button:hover{color:#005199}.portal-nav button:focus-visible{outline-offset:3px;outline:3px solid #f5c40099}.learning-loading{color:var(--portal-slate);padding:54px 0;font-weight:700}.portal-error,.empty-record{border-top:5px solid var(--portal-blue);background:#fff;padding:35px 38px;box-shadow:0 12px 30px #002a5c12}.portal-error{color:#982934;border-color:#982934;gap:7px;display:grid}.portal-error span{color:var(--portal-slate);font-size:14px}.empty-record{max-width:800px}.empty-record .portal-kicker,.section-intro .portal-kicker{color:var(--portal-blue)}.empty-record h3{color:var(--portal-blue);letter-spacing:-1px;margin:16px 0 9px;font-size:32px}.empty-record>p:not(.portal-kicker){max-width:600px;color:var(--portal-slate);font-size:16px;line-height:1.55}.empty-record>div{border-top:1px solid var(--portal-line);color:var(--portal-slate);grid-template-columns:28px 1fr;gap:11px 15px;margin-top:26px;padding-top:20px;font-size:14px;line-height:1.4;display:grid}.empty-record>div b{background:var(--portal-gold);width:27px;height:27px;color:var(--portal-blue);border-radius:50%;place-items:center;font-size:12px;display:grid}.hours-overview{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;display:grid}.hours-overview article{border-top:4px solid var(--portal-blue);background:#fff;flex-direction:column;min-height:160px;padding:23px 25px;display:flex}.hours-overview p,.next-class-panel>p,.course-card p,.material-card p,.sessions-list p{letter-spacing:1.2px;color:var(--portal-blue);margin:0 0 13px;font-size:10px;font-weight:800}.hours-overview strong{color:var(--portal-blue);margin:4px 0 10px;font:50px/1 Georgia,serif}.hours-overview span{color:var(--portal-slate);font-size:13px}.next-class-panel{background:var(--portal-blue);border-top:4px solid var(--portal-gold);color:#fff;margin-bottom:57px;padding:28px 31px}.next-class-panel>p{color:#c7dcec}.next-class-panel h3{letter-spacing:-.8px;margin:0 0 10px;font-size:29px;line-height:1.08}.next-class-panel>span{color:#d3e2ef;font-size:15px;display:block}.next-class-panel>span b{color:#fff}.next-class-panel small{color:#b7d0e5;letter-spacing:.7px;margin-top:14px;font-size:11px;font-weight:700;display:block}.learning-section{border-bottom:1px solid var(--portal-line);margin-bottom:55px;padding:0 0 57px}.learning-section:last-of-type{border-bottom:0}.section-intro{max-width:620px;margin-bottom:26px}.section-intro h3{color:var(--portal-blue);letter-spacing:-1.3px;margin:15px 0 8px;font-size:34px;line-height:1.05}.section-intro>p:not(.portal-kicker){color:var(--portal-slate);margin:0;font-size:14px;line-height:1.5}.course-list{border-top:4px solid var(--portal-blue)}.course-card{border-bottom:1px solid var(--portal-line);background:#fff;grid-template-columns:1.1fr .9fr;gap:22px;padding:24px 26px 18px;display:grid;position:relative}.course-card h4,.material-card h4,.sessions-list h4{color:var(--portal-blue);letter-spacing:-.6px;margin:0 0 8px;font-size:22px;line-height:1.15}.course-card-main>span,.course-card-meta span{color:var(--portal-slate);font-size:13px;line-height:1.4}.course-card-meta{text-align:right;align-self:center;justify-items:end;gap:12px;display:grid}.course-card-meta b{color:var(--portal-blue);font-size:13px}.hours-bar{background:var(--portal-ice);grid-column:1/-1;height:6px;margin-top:2px}.split-section{grid-template-columns:.72fr 1.28fr;gap:8vw;display:grid}.split-section .section-intro{margin:0}.materials-list,.sessions-list{border-top:4px solid var(--portal-blue)}.material-card{border-bottom:1px solid var(--portal-line);background:#fff;grid-template-columns:66px 1fr auto;align-items:start;gap:16px;padding:20px;display:grid}.material-week{background:var(--portal-ice);width:54px;height:54px;color:var(--portal-blue);letter-spacing:.7px;border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid}.material-card h4{font-size:18px}.material-card div>span{color:var(--portal-slate);font-size:13px;line-height:1.45;display:block}.material-card a,.material-pending,.material-download{color:var(--portal-blue);white-space:nowrap;align-self:center;font-size:12px;font-weight:800;text-decoration:none}.material-card a,.material-download{text-decoration:underline}.material-download{cursor:pointer;background:0 0;border:0;padding:0}.material-pending{color:#5e7388}.muted-copy{color:var(--portal-slate);background:#fff;margin:0;padding:25px;font-size:14px}.sessions-list article{border-bottom:1px solid var(--portal-line);grid-template-columns:108px 1fr 45px 80px;align-items:center;gap:17px;padding:18px 0;display:grid}.sessions-list time{color:var(--portal-blue);font-size:13px;font-weight:800}.sessions-list h4{margin:0;font-size:17px}.sessions-list p{margin-bottom:6px}.sessions-list>article>span{color:var(--portal-slate);font-size:13px;font-weight:800}.sessions-list>article>b{text-align:center;text-transform:uppercase;letter-spacing:.6px;padding:7px 5px;font-size:10px}.sessions-list b.completed{color:#15663d;background:#e7f5ec}.sessions-list b.scheduled{color:#164e77;background:#edf4f9}.dashboard .portal-help{margin-top:0}@media (width<=800px){.portal-nav{margin-bottom:28px;overflow:auto}.portal-nav button{white-space:nowrap}.hours-overview{grid-template-columns:1fr}.next-class-panel{margin-bottom:43px;padding:26px 23px}.learning-section{margin-bottom:42px;padding-bottom:43px}.split-section{display:block}.split-section .section-intro{margin-bottom:25px}.course-card{display:block}.course-card-meta{text-align:left;justify-items:start;margin-top:17px}.material-card{grid-template-columns:52px 1fr}.material-card a,.material-pending{grid-column:2}.sessions-list article{grid-template-columns:1fr auto;gap:8px 14px;padding:17px 0}.sessions-list time{grid-column:1/-1}.sessions-list>article>b{justify-self:end}.empty-record,.portal-error{padding:27px 23px}}
