*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f8fc;color:#20304a}button,input,select{font:inherit}.loading{display:grid;place-items:center;font-size:20px}.loading,.shell{min-height:100vh}.shell{display:grid;grid-template-columns:285px 1fr}.sidebar{background:#10213b;color:#fff;padding:26px 22px;display:flex;flex-direction:column;gap:22px}.brand{display:flex;gap:12px;align-items:center}.brand h1{font-size:21px;margin:0 0 4px}.brand p{margin:0;font-size:12px;color:#b6c4d8}.loginLogo,.logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#2f6fed,#58b784)}nav{display:grid;grid-gap:8px;gap:8px}.nav{border:0;color:#c7d2e3;background:transparent;text-align:left;padding:11px 13px;border-radius:11px;cursor:pointer}.nav.active,.nav:hover{background:rgba(255,255,255,.1);color:#fff}.studentSwitcher{display:grid;grid-gap:8px;gap:8px;padding:14px;background:rgba(255,255,255,.07);border-radius:14px}.studentSwitcher label{font-size:11px;color:#b6c4d8;text-transform:uppercase;font-weight:800}.studentSwitcher select{width:100%;padding:9px;border:0;border-radius:9px}.studentSwitcher button{border:0;background:transparent;color:#bcd6ff;text-align:left;padding:2px;cursor:pointer}.level{margin-top:auto;padding:15px;background:rgba(255,255,255,.08);border-radius:15px}.level small,.level span{display:block;color:#b6c4d8;font-size:12px}.level strong{display:block;margin:6px 0}.content{padding:28px 32px 48px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.eyebrow{margin:0 0 6px;color:#2f6fed;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.topbar h2{margin:0;font-size:28px}.stats{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pill,.stats span{background:#fff;border:1px solid #e4eaf2;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}.smallBtn{border:0;background:#edf1f6;border-radius:10px;padding:8px 10px;cursor:pointer}.saveNotice{position:fixed;right:24px;top:18px;background:#173b2a;color:#fff;padding:10px 14px;border-radius:10px;z-index:50}.hero{background:linear-gradient(135deg,#eaf1ff,#edf9f2);padding:34px;border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;box-shadow:0 10px 30px rgba(35,63,101,.07)}.hero h3{font-size:31px;margin:16px 0 10px}.hero p,.muted,.subject p{color:#6f7f95;line-height:1.58}.heroBtns{display:flex;gap:10px;flex-wrap:wrap}.coach{min-width:180px;display:grid;justify-items:center;grid-gap:8px;gap:8px}.face{width:110px;height:110px;border-radius:28px;display:grid;place-items:center;font-size:52px;background:#fff;box-shadow:0 8px 25px rgba(35,63,101,.07)}.coach span{font-size:12px;color:#6f7f95}.primary,.secondary{border:0;border-radius:12px;padding:12px 17px;font-weight:800;cursor:pointer}.primary{background:#2f6fed;color:#fff}.secondary{background:#eaf1ff;color:#2f6fed}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.card,.emptyState,.statgrid div,.subject{background:#fff;border:1px solid #e4eaf2;border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(35,63,101,.05)}.card h3{margin-top:0}.focusList{display:grid;grid-gap:10px;gap:10px}.focusList div{border:1px solid #e4eaf2;padding:11px;border-radius:11px}.big{font-size:42px;font-weight:800;margin:24px 0;color:#2ca56c}.big small{display:block;font-size:13px;color:#6f7f95}.subjectGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.subject>div{font-size:28px}.subject h3{margin:10px 0 8px}.statgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.statgrid span{color:#6f7f95;font-size:13px}.statgrid strong{display:block;font-size:34px;margin-top:8px}.levelTable{display:grid;grid-gap:8px;gap:8px}.levelHeader,.levelRow{display:grid;grid-template-columns:1.5fr .8fr .9fr;grid-gap:10px;gap:10px;align-items:center}.levelHeader{font-size:12px;color:#6f7f95;font-weight:800;text-transform:uppercase;padding:0 10px}.levelRow{border:1px solid #e4eaf2;border-radius:12px;padding:10px}.formLabel input,.formLabel select,.levelRow select{width:100%;border:1px solid #dbe2ec;border-radius:10px;padding:10px;background:#fff}.formLabel{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:800;margin-bottom:14px}.overlay{position:fixed;inset:0;background:rgba(9,22,41,.62);display:grid;place-items:center;padding:20px;z-index:40}.modal{width:min(650px,100%);background:#fff;border-radius:22px;padding:28px;position:relative}.smallModal{width:min(440px,100%)}.x{position:absolute;top:15px;right:15px;width:36px;height:36px;border-radius:50%;border:0;background:#edf1f6;font-size:22px;cursor:pointer}.wide{width:100%}.emptyState{text-align:center;padding:55px 25px}.loginPage{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eaf1ff,#edf9f2);padding:20px}.loginCard{width:min(430px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 18px 50px rgba(35,63,101,.12)}.loginCard h1{margin-bottom:5px}.loginCard>p{color:#6f7f95;margin-top:0}.loginCard form{display:grid;grid-gap:14px;gap:14px}.loginCard label{display:grid;grid-gap:6px;gap:6px;font-weight:700;font-size:13px}.loginCard input{border:1px solid #dbe2ec;border-radius:11px;padding:11px}.notice{margin-top:14px;background:#f0f4fa;padding:10px;border-radius:10px;font-size:13px}.linkBtn{border:0;background:transparent;color:#2f6fed;padding:14px 0 0;cursor:pointer}@media(max-width:980px){.subjectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.levelHeader,.levelRow{grid-template-columns:1fr}.levelHeader{display:none}}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{padding-bottom:18px}.level{margin-top:0}.grid2,.statgrid,.subjectGrid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.content{padding:20px}.topbar{align-items:flex-start;flex-direction:column}}