body.auth-screen>aside,body.auth-screen>main,body.auth-screen>#landing{display:none}#authScreen{display:none}.auth-screen #authScreen{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fffcf6}.authStory{background:#06483d;color:#fff8e9;padding:55px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}.authStory .brand{color:#fff8e9;font-size:28px}.authStory .brandMark{background:#fffcf6;border-radius:8px}.authStory h1{font:600 clamp(38px,3.5vw,55px)/1.2 Manrope;letter-spacing:-2px;margin-top:65px}.authStory h1 em{font-family:Georgia;color:#ffb333;font-weight:400}.authStory p{color:#b9cdc0;font-size:14px;max-width:370px;line-height:1.9}.authStoryImage{margin-top:35px;position:relative;max-width:340px}.authStoryImage img{width:100%;height:225px;object-fit:cover;object-position:center 32%;border-radius:14px}.authStoryImage span{position:absolute;bottom:15px;left:15px;background:#fffcf6e8;border-radius:7px;padding:10px 14px;color:#075c4c;font-size:11px}.authStory>small{margin-top:auto;padding-top:35px;font-size:10px;color:#8eb7a7}.authFormSide{padding:40px max(30px,11%);display:flex;flex-direction:column;justify-content:center;max-width:690px;width:100%;margin:auto}.backHome{text-align:left;padding:0;font-size:12px;color:#769078;margin-bottom:38px}.authFormSide h2{font:700 29px Manrope;letter-spacing:-1px;margin:12px 0}.authLead{font-size:12px;line-height:1.8}.authRoleTabs{display:grid;grid-template-columns:1fr 1fr;background:#edf1e6;border-radius:9px;padding:5px;margin:25px 0 20px;gap:5px}.authRoleTabs button{padding:12px;border-radius:6px;font-size:12px}.authRoleTabs .chosen{background:white;box-shadow:0 2px 8px #254a3010;font-weight:700}.authFormSide label{display:block;font-size:11px;font-weight:600;margin:18px 0 8px}.authFormSide input{width:100%;font-size:12px;padding:13px;border:1px solid #dbe3d4;background:#fffdf8}.authFormSide .darkBtn{width:100%;margin-top:23px}.passwordWrap{position:relative}.passwordWrap input{padding-right:58px}.passwordWrap button{position:absolute;right:11px;top:13px;font-size:10px;color:#779078}.authSwitch{text-align:center;font-size:11px;color:#899683;margin-top:20px}.authSwitch button{color:#075c4c;font-weight:700;padding:0}.authError{font-size:11px;color:#a54732;background:#fbede6;padding:12px;border-radius:7px;margin-top:15px;line-height:1.7}.authError:empty{display:none}.serviceStatus{font-size:10px;color:#7c8b73;background:#f0f2e6;padding:12px;border-radius:7px;margin-top:20px;line-height:1.8}.previewButtons{display:flex;gap:10px;margin-top:12px}.previewButtons button{flex:1;border:1px solid #d9e3ce;border-radius:6px;padding:10px;font-size:10px}.authFoot{font-size:9px;color:#98a38f;margin-top:26px;line-height:1.8}.portalBanner{padding:10px 20px;border-radius:8px;background:#fff2d5;border:1px solid #f1dca8;font-size:11px;display:flex;gap:15px;justify-content:space-between;margin-bottom:24px;align-items:center;color:#867340}.portalBanner button{font-weight:bold;font-size:10px;text-decoration:underline;white-space:nowrap}.portalWelcome{padding:30px;background:#e9f0df;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:23px}.portalWelcome h2{font:700 24px Manrope;margin:8px 0 12px;letter-spacing:-.7px}.portalWelcome p{font-size:12px;max-width:500px}.portalWelcome .primary{white-space:nowrap}.portalStats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.portalStat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px}.portalStat small{color:#92a086;font-size:11px}.portalStat strong{font:700 28px Manrope;display:block;margin-bottom:6px}.portalGrid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.portalList{display:grid;gap:14px}.portalEmpty{background:#fff;border:1px dashed #dbe2d4;padding:34px;border-radius:12px;text-align:center}.portalEmpty h3{font:700 17px Manrope;margin:6px 0 12px}.portalEmpty p{font-size:12px}.portalEmpty .primary{margin-top:20px}.portalClass{background:#fff;border:1px solid #e3e9dd;border-radius:11px;padding:22px}.portalClassTop{display:flex;gap:13px;align-items:center}.portalClassTop img,.portalInitials{width:42px;height:42px;object-fit:cover;border-radius:50%}.portalInitials{display:grid;place-items:center;background:#edf1e5;color:#739069;font:700 16px Manrope;flex-shrink:0}.portalClass h3{font:700 14px Manrope;margin:0 0 6px}.portalClass p{font-size:11px}.portalClass .tag{margin-left:auto}.portalClassActions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #edf0e6;padding-top:16px;margin-top:18px}.portalClassActions small{align-self:center;font-size:10px;color:#85977a;margin-left:auto}.portalTeacherGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portalTeacher{background:#fff;border:1px solid #e1e7d9;border-radius:12px;padding:23px;display:flex;flex-direction:column}.portalTeacher img{width:70px;height:70px;border-radius:50%;object-fit:cover;margin-bottom:15px}.portalTeacher .portalInitials{width:70px;height:70px;font-size:26px;margin-bottom:15px}.portalTeacher h3{font:700 17px Manrope;margin:0 0 7px}.portalTeacher p{font-size:11px;margin:5px 0}.portalTeacher .primary{margin-top:23px}.portalTeacher .tag{align-self:flex-start;margin-top:10px}.portalTeacher .bio{line-height:1.9;flex:1}.portalFilters{display:flex;gap:10px;margin:0 0 22px;flex-wrap:wrap}.portalFilters input{min-width:230px}.portalForm label{display:block;font-size:11px;font-weight:600;margin:20px 0 8px}.portalForm input,.portalForm select,.portalForm textarea{width:100%;border:1px solid #dbe3d4;border-radius:7px;padding:12px;background:#fff;color:#234437;font:12px 'DM Sans',sans-serif}.portalForm textarea{resize:vertical}.portalForm .formRow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.portalForm fieldset{border:0;padding:0;margin:0}.portalForm legend{font-size:12px;font-weight:600;margin-top:22px}.portalForm input[type=checkbox]{width:auto}.portalForm .checkRow{display:flex;align-items:flex-start;gap:10px;line-height:1.7}.portalForm .checkRow label{margin:0;font-size:11px;font-weight:400}.portalForm .checkRow input{margin-top:4px}.portalForm .formHint{font-size:10px;color:#91a084;line-height:1.8;margin-top:7px}.portalForm .primary{margin-top:22px}.scoreFields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.scoreFields label{font-size:11px}.scoreFields input{padding:10px}.scorePreview{background:#eff3e8;text-align:center;padding:18px;border-radius:10px;margin-top:22px}.scorePreview strong{font:700 37px Manrope;display:block;color:#075c4c}.scorePreview small{font-size:10px;color:#7b8f70}.scoreTotal{display:flex;gap:20px;align-items:center;background:#edf3e5;border-radius:12px;padding:24px;margin:22px 0}.scoreTotal strong{font:700 44px Manrope;color:#075c4c}.scoreTotal small{font:400 15px Manrope;color:#8b9f7c}.scoreTotal h3{margin:0 0 6px;font:700 17px Manrope}.scoreTotal p{font-size:11px}.scoreBars{display:grid;gap:17px}.scoreBars>div>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.scoreBars .bar{height:7px}.scoreBars .bar span{background:#84a477}.scoreNotes{margin-top:23px;border-top:1px solid #e2e9d9;padding-top:8px}.scoreNotes h4{font:700 12px Manrope;margin:20px 0 8px}.scoreNotes p{font-size:11px;white-space:pre-wrap;line-height:1.9}.scoreCardHeading{display:flex;justify-content:space-between;gap:15px;align-items:center}.scoreCardHeading h3{font:700 15px Manrope;margin:0 0 5px}.scoreCardHeading p{font-size:10px}.courseBuyCard{display:flex;flex-direction:column;min-height:340px}.courseBuyCard h3{font:700 20px Manrope;line-height:1.5}.courseBuyCard p{font-size:12px}.courseBuyCard ul{font-size:11px;padding-left:17px;line-height:2.3;color:#7e9470}.courseBuyCard .primary{margin-top:auto}.pendingTag{background:#fff1d4;color:#9c7d3b;font-size:9px;padding:5px 8px;border-radius:4px}.portalStatus{display:flex;align-items:center;gap:8px;font-size:10px;color:#97a48e;margin-bottom:20px}.portalStatus span{width:6px;height:6px;border-radius:50%;background:#8da878}.portalAlert{font-size:12px;background:#fff1d5;color:#997537;padding:18px;border-radius:10px;line-height:1.9;margin-bottom:20px}.setupSteps{font-size:11px;line-height:2;color:#7e9274}.statusLabel{font-size:9px;text-transform:capitalize;background:#f0f3e9;padding:5px 8px;border-radius:4px;color:#809672}.sessionWindowInfo{background:#f0f4e8;padding:18px;border-radius:9px;margin:20px 0;font-size:12px;line-height:1.9}.studentProfileNote{font-size:10px;margin-top:12px;color:#899e7e}body.portal-screen .role{width:100%;text-align:left}.sidebarLogout{display:block;border-top:1px solid #e4eadc;margin-top:15px;padding:15px 0 0;color:#7c8e72;font-size:11px}#portalLoad{color:#87a079;padding:40px;text-align:center}button:disabled{opacity:.55;cursor:not-allowed}.authDivider{display:flex;gap:12px;align-items:center;color:#a0aa96;font-size:10px;margin:24px 0}.authDivider:before,.authDivider:after{content:'';height:1px;background:#e4e8d9;flex:1}.printScore{display:none}@media(max-width:1050px){.authStory{padding:45px 8%}.authStory h1{font-size:40px}.authFormSide{padding:35px 9%}.portalTeacherGrid{grid-template-columns:repeat(2,1fr)}.portalGrid{grid-template-columns:1fr}}@media(max-width:700px){.auth-screen #authScreen{display:block}.authStory{padding:28px}.authStory h1{font-size:32px;margin:30px 0 12px}.authStory p{font-size:12px}.authStoryImage,.authStory>small{display:none}.authFormSide{padding:30px 25px 45px}.backHome{margin-bottom:20px}.authFormSide h2{font-size:25px}.portalWelcome{padding:24px;display:block}.portalWelcome .primary{margin-top:20px}.portalWelcome h2{font-size:22px}.portalStats{gap:9px}.portalStat{padding:15px 12px}.portalStat strong{font-size:24px}.portalStat small{font-size:9px}.portalTeacherGrid{grid-template-columns:1fr}.portalTeacher{padding:22px}.scoreFields{gap:0 13px}.portalBanner{padding:12px;font-size:10px;align-items:flex-start}.portalForm .formRow{grid-template-columns:1fr}.portalClass{padding:18px}.portalClassActions small{margin-left:0;width:100%;margin-top:5px}.scoreTotal{padding:20px;gap:17px}.scoreTotal strong{font-size:36px}.portalFilters input{min-width:0;width:100%}}@media print{body>*{display:none!important}body>.printScore{display:block!important;padding:30px;font:14px sans-serif;color:#173f34}.printScore h1{font-size:30px}.printScore table{width:100%;border-collapse:collapse;margin:25px 0}.printScore td{border-bottom:1px solid #ddd;padding:10px}.printScore p{color:#345;white-space:pre-wrap}.printScore h3{margin-top:25px}}
.mobileAccountLinks{display:none}@media(max-width:760px){.landingNav .navActions>.softBtn{display:none}.mobileAccountLinks{display:flex;flex-direction:column;align-items:flex-start;gap:18px;border-top:1px solid #e1e7d8;padding-top:20px}.mobileAccountLinks button{padding:0;font-size:13px}}

.mobilePortalLogout{display:none}@media(max-width:700px){nav button.mobilePortalLogout{display:flex}}

.accountAccess{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:13px 6%;background:#eef3e6;border-bottom:1px solid #dae4d3;color:#164f40;font-size:12px}.accountAccess span{margin-right:auto;color:#687f60}.accountAccess button,.accountAccess a{font:600 12px Manrope,sans-serif;color:#104e3e;background:none;border:0;text-decoration:none;cursor:pointer;padding:8px 0}.accountAccess button:hover,.accountAccess a:hover{text-decoration:underline}@media(max-width:760px){.accountAccess{padding:10px 20px;justify-content:space-between;gap:8px}.accountAccess span{display:none}.accountAccess button,.accountAccess a{font-size:11px}}
