:root{--blue:#07579f;--navy:#063f78;--bright:#0a8fc5;--gold:#f2a11b;--gold-light:#ffc74b;--bg:#f5f9fd;--text:#20262d;--muted:#68727d;--line:#e4ecf4;--purple:#7757c8}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.loginShell{grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.brandPanel{color:#fff;background:linear-gradient(145deg,#063f78 0%,#07579f 58%,#0a8fc5 100%);padding:54px;position:relative;overflow:hidden}.brandPanel:before,.brandPanel:after{content:"";background:#ffffff12;border-radius:999px;position:absolute}.brandPanel:before{width:380px;height:380px;top:-90px;right:-130px}.brandPanel:after{width:240px;height:240px;bottom:-90px;left:-110px}.brandContent{z-index:2;flex-direction:column;min-height:calc(100vh - 108px);display:flex;position:relative}.brandMark,.mobileBrand,.sideBrand{align-items:center;gap:12px;display:flex}.miniLogo{flex:none;width:43px;height:43px;position:relative}.logoBlue,.logoGold{border-radius:8px;display:block;position:absolute}.logoBlue{background:var(--bright);width:17px;height:35px;top:4px;left:3px}.logoGold{background:var(--gold);width:23px;height:13px;top:4px;left:18px}.brandName{letter-spacing:.7px;font-size:18px;font-weight:950;line-height:1}.brandSub{letter-spacing:4px;opacity:.88;margin-top:4px;font-size:10px;font-weight:800}.heroCopy{max-width:670px;margin:auto 0}.eyebrow,.smallEyebrow{letter-spacing:1.5px;align-items:center;gap:8px;font-size:12px;font-weight:900;display:inline-flex}.heroCopy .eyebrow{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;padding:9px 12px}.heroCopy h1{letter-spacing:-2.4px;margin:25px 0 20px;font-size:clamp(43px,5vw,72px);line-height:1.02}.heroCopy h1 span{color:var(--gold-light)}.heroCopy p{color:#ffffffd4;max-width:560px;margin:0;font-size:18px;line-height:1.65}.featureStrip{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:auto;display:grid}.featureItem{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:17px;align-items:center;gap:11px;padding:15px;display:flex}.featureItem>span{background:#ffffff21;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.featureItem strong,.featureItem small{display:block}.featureItem strong{font-size:13px}.featureItem small{color:#ffffffb3;margin-top:3px;font-size:10.5px;line-height:1.3}.brandTagline{color:#ffffffad;margin:22px 0 0;font-size:12px}.formPanel{background:radial-gradient(circle at 80% 10%,#edf8ff 0,transparent 30%),var(--bg);justify-content:center;align-items:center;padding:44px;display:flex}.loginCard{border:1px solid var(--line);background:#fff;border-radius:26px;width:min(100%,455px);padding:42px;box-shadow:0 24px 70px #063f781a}.mobileBrand{margin-bottom:30px;display:none}.welcomeIcon{width:50px;height:50px;color:var(--blue);background:#eaf5fd;border-radius:15px;place-items:center;margin-bottom:23px;display:grid}.loginCard h2{letter-spacing:-1px;margin:0;font-size:33px}.intro{color:var(--muted);margin:10px 0 30px;font-size:14.5px;line-height:1.55}.loginCard label{margin:17px 0 8px;font-size:12.5px;font-weight:850;display:block}.loginCard input{width:100%;height:52px;color:var(--text);background:#fbfdff;border:1px solid #d9e3ed;border-radius:13px;outline:none;padding:0 15px;transition:all .18s}.loginCard input:focus{border-color:var(--bright);background:#fff;box-shadow:0 0 0 3px #0a8fc51a}.passwordWrap{position:relative}.passwordWrap input{padding-right:52px}.eyeButton{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:6px;right:8px}.signInButton{background:linear-gradient(100deg,var(--blue),var(--bright));color:#fff;border:0;border-radius:13px;justify-content:center;align-items:center;gap:11px;width:100%;height:54px;margin-top:24px;font-weight:900;display:flex;box-shadow:0 11px 25px #07579f33}.signInButton:disabled{opacity:.7;cursor:not-allowed}.errorBox{color:#9f1239;background:#fff0f0;border:1px solid #fecdd3;border-radius:11px;margin-top:15px;padding:11px 13px;font-size:12.5px;font-weight:700}.helpText{text-align:center;color:var(--muted);margin-top:24px;font-size:11.5px;line-height:1.6}.privacyLine{color:#89949f;font-size:10.5px;position:absolute;bottom:24px}.formPanel{position:relative}.statusPage{min-height:100vh;color:var(--navy);place-items:center;padding:30px;display:grid}.dashboardShell{background:var(--bg);min-height:100vh;display:flex}.sideNav{border-right:1px solid var(--line);z-index:10;background:#fff;flex-direction:column;width:245px;padding:25px 18px;display:flex;position:fixed;top:0;bottom:0;left:0}.sideBrand{border-bottom:1px solid var(--line);padding:5px 8px 25px}.sideBrand .brandName{color:var(--blue)}.sideBrand .brandSub{color:var(--muted)}.sideNav nav{flex-direction:column;gap:8px;margin-top:25px;display:flex}.navItem{color:#586470;border-radius:12px;align-items:center;gap:12px;padding:12px 13px;font-size:13px;font-weight:750;display:flex}.navItem.active{color:var(--blue);background:#eaf5fd}.logoutButton{color:#66727d;background:#f7f9fb;border:0;border-radius:12px;align-items:center;gap:10px;margin-top:auto;padding:12px;font-weight:750;display:flex}.dashboardMain{width:calc(100% - 245px);margin-left:245px;padding:34px 40px 60px}.mobileHeader{display:none}.dashboardTop{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:27px;display:flex}.dashboardTop .smallEyebrow{color:var(--bright)}.dashboardTop h1{letter-spacing:-1px;margin:7px 0 4px;font-size:31px}.dashboardTop p{color:var(--muted);margin:0;font-size:13px}.studentBadge{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:145px;padding:11px 14px}.studentBadge span,.studentBadge strong{display:block}.studentBadge span{color:var(--muted);font-size:11px}.studentBadge strong{text-transform:capitalize;color:var(--navy);margin-top:3px;font-size:13px}.summaryGrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.summaryCard,.nextClassCard,.quickCard,.materialsCard{border:1px solid var(--line);background:#fff;border-radius:20px;box-shadow:0 12px 35px #1e466e0b}.summaryCard{padding:20px}.summaryIcon{border-radius:11px;place-items:center;width:39px;height:39px;margin-bottom:15px;display:grid}.summaryIcon.blue{color:var(--blue);background:#eaf5fd}.summaryIcon.gold{color:#b87500;background:#fff5de}.summaryIcon.purple{color:var(--purple);background:#f1ecff}.summaryCard>span{color:var(--muted);font-size:11.5px;font-weight:800;display:block}.summaryCard>strong{margin:5px 0 2px;font-size:26px;display:block}.summaryCard>small{color:#8a949d;font-size:10.5px}.contentGrid{grid-template-columns:1.45fr .8fr;gap:16px;margin-top:16px;display:grid}.nextClassCard,.quickCard,.materialsCard{padding:22px}.sectionHeading{color:var(--navy);justify-content:space-between;align-items:center;display:flex}.sectionHeading .smallEyebrow{color:var(--bright);font-size:10px}.sectionHeading h2{margin:4px 0 0;font-size:18px}.nextClassBody{background:linear-gradient(110deg,#f2f8fd,#f8fbfe);border-radius:15px;justify-content:space-between;align-items:end;gap:15px;margin-top:27px;padding:18px;display:flex}.nextClassBody strong{color:var(--bright);font-size:12px}.nextClassBody h3{margin:5px 0;font-size:20px}.nextClassBody p{color:var(--muted);margin:0;font-size:11.5px}.joinButton{background:var(--blue);color:#fff;border-radius:11px;flex:none;padding:11px 15px;font-size:12px;font-weight:850}.classStatus{color:var(--muted);font-size:10.5px}.emptyState{text-align:center;color:var(--muted);padding:29px 5px 10px}.emptyState svg{color:#a4b4c4;margin-bottom:9px}.emptyState strong{color:var(--text);font-size:14px;display:block}.emptyState p{margin:5px 0;font-size:11.5px}.quickLinks{gap:9px;margin-top:20px;display:grid}.quickLinks button{border:1px solid var(--line);color:var(--navy);background:#fbfdff;border-radius:13px;align-items:center;gap:11px;padding:13px;font-weight:800;display:flex}.materialsCard{margin-top:16px}.emptyMaterials{color:var(--muted);background:#f8fafc;border-radius:14px;margin-top:18px;padding:22px;font-size:12px}.materialList{gap:9px;margin-top:18px;display:grid}.materialItem{border:1px solid var(--line);border-radius:12px;align-items:center;gap:11px;padding:11px;display:flex}.fileIcon{width:37px;height:37px;color:var(--blue);background:#eaf5fd;border-radius:10px;place-items:center;display:grid}.materialItem strong,.materialItem span{display:block}.materialItem strong{font-size:12.5px}.materialItem span{color:var(--muted);margin-top:2px;font-size:10.5px}.bottomNav{display:none}@media (max-width:980px){.loginShell{grid-template-columns:1fr}.brandPanel{display:none}.formPanel{min-height:100vh;padding:24px}.mobileBrand{display:flex}.privacyLine{text-align:center;margin-top:22px;position:static}.sideNav{display:none}.dashboardMain{width:100%;margin-left:0;padding:0 18px 90px}.mobileHeader{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:70px;margin:0 -18px 22px;padding:0 18px;display:flex}.mobileHeader .mobileBrand{margin:0;display:flex}.mobileHeader .miniLogo{width:34px;height:34px;transform:scale(.82)}.iconOnly{background:#f4f8fb;border:0;border-radius:10px;place-items:center;width:39px;height:39px;display:grid}.bottomNav{z-index:12;border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);height:70px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNav a{color:#7b8792;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9.5px;font-weight:750;display:flex}.bottomNav a.active{color:var(--blue)}}@media (max-width:680px){.loginCard{border-radius:22px;padding:28px 22px}.formPanel{padding:18px}.dashboardTop{display:block}.studentBadge{margin-top:14px;display:inline-block}.summaryGrid{grid-template-columns:1fr 1fr}.summaryCard:nth-child(3){grid-column:1/-1}.contentGrid{grid-template-columns:1fr}.dashboardTop h1{font-size:25px}.nextClassBody{flex-direction:column;align-items:flex-start}}
