:root{--bg:#07111f;--panel:#0e1b2e;--panel2:#12243a;--line:#233a55;--text:#f5f8fc;--muted:#9fb2c8;--accent:#72e2c1;--accent2:#8eb8ff;--warn:#ffd27d;--danger:#ff9a9a;--ok:#8ce3a8;--shadow:0 20px 60px #0000003d;--radius:22px}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:linear-gradient(#06101d 0%,#0a1728 55%,#07111f 100%);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page{min-height:100vh;padding:22px}.shell{max-width:1320px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:12px 4px 24px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;display:flex}.brandMark{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#05111d;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand small{color:var(--muted);letter-spacing:0;font-weight:600;display:block}.nav{flex-wrap:wrap;gap:8px;display:flex}.nav a,.nav button,.ghostBtn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff08;border-radius:12px;padding:10px 14px}.nav a:hover,.nav button:hover,.ghostBtn:hover{background:#ffffff0f;border-color:#496986}.hero{grid-template-columns:1.25fr .75fr;align-items:center;gap:28px;padding:48px 0 30px;display:grid}.eyebrow{color:#baf5e3;background:#72e2c112;border:1px solid #2d4b63;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.hero h1{letter-spacing:-.055em;margin:18px 0;font-size:clamp(42px,7vw,82px);line-height:.95}.hero p{color:#bdd0e3;max-width:780px;font-size:19px;line-height:1.65}.heroCard{box-shadow:var(--shadow);background:linear-gradient(145deg,#10243b,#0b1728);border:1px solid #27445f;border-radius:28px;padding:24px}.metricRow{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.metric{border:1px solid var(--line);background:#0a1728;border-radius:16px;padding:15px}.metric strong{font-size:24px;display:block}.metric span{color:var(--muted);font-size:12px}.btnRow{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.primaryBtn,.secondaryBtn,.dangerBtn{cursor:pointer;border:0;border-radius:14px;padding:12px 17px;font-weight:800}.primaryBtn{background:linear-gradient(135deg,var(--accent),#8fd7ff);color:#05111d}.secondaryBtn{color:var(--text);background:#162a41;border:1px solid #2f4c68}.dangerBtn{color:#ffd8dd;background:#40222a;border:1px solid #713841}.section{padding:28px 0}.sectionTitle{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.sectionTitle h2{letter-spacing:-.03em;margin:0;font-size:30px}.sectionTitle p{color:var(--muted);margin:5px 0 0}.cards{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(160deg,#12243af5,#0a1728f5);border-radius:20px;padding:20px;box-shadow:0 10px 30px #00000021}.card h3{margin:8px 0 7px;font-size:19px}.card p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.iconBox{background:#0a1728;border:1px solid #34536d;border-radius:13px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.tag{color:#b7cbe0;border:1px solid #35516a;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.dashboardGrid{grid-template-columns:240px 1fr;gap:18px;display:grid}.sidebar{border:1px solid var(--line);background:#0b1829;border-radius:20px;height:fit-content;padding:12px;position:sticky;top:18px}.sideBtn{text-align:left;color:#bdcfe1;cursor:pointer;background:0 0;border:0;border-radius:12px;width:100%;margin:2px 0;padding:12px;font-weight:700}.sideBtn.active,.sideBtn:hover{color:#fff;background:#152a42}.mainPanel{min-width:0}.panel{border:1px solid var(--line);background:#0b1829;border-radius:20px;margin-bottom:16px;padding:20px}.panelHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.panelHeader h2,.panelHeader h3{margin:0}.kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kpi{background:#102239;border:1px solid #223c56;border-radius:17px;padding:16px}.kpi span{color:var(--muted);font-size:12px}.kpi strong{margin-top:4px;font-size:27px;display:block}.tableWrap{border:1px solid var(--line);border-radius:16px;overflow:auto}.table{border-collapse:collapse;width:100%;min-width:760px}.table th,.table td{text-align:left;border-bottom:1px solid #1d344b;padding:13px 14px;font-size:14px}.table th{color:#91a7be;text-transform:uppercase;letter-spacing:.08em;background:#0d1c2e;font-size:11px}.table tr:last-child td{border-bottom:0}.status{border:1px solid #37516b;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.status.Open{color:#9af0b3;background:#123420;border-color:#2b7244}.status.Closed{color:#becce0}.status.Scheduled{color:#ffe09a;background:#2f2714;border-color:#745d2a}.filters{grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:15px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field label{color:#9fb2c8;font-size:12px;font-weight:800}.field input,.field select,.field textarea{color:#fff;background:#091523;border:1px solid #28435d;border-radius:12px;outline:none;padding:11px 12px}.field textarea{resize:vertical;min-height:145px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5b8db4}.libraryGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.assignmentCard{border:1px solid var(--line);background:#0f2136;border-radius:18px;flex-direction:column;gap:10px;padding:17px;display:flex}.assignmentCard h3{margin:0;font-size:17px}.assignmentCard p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.assignmentCard .footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.modalBackdrop{z-index:50;background:#000000b3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(620px,100%);max-height:90vh;box-shadow:var(--shadow);background:#0d1c2e;border:1px solid #31506c;border-radius:22px;padding:22px;overflow:auto}.modal h2{margin-top:0}.studentShell{max-width:900px;margin:0 auto}.progressTrack{background:#142840;border-radius:999px;height:9px;overflow:hidden}.progressTrack>div{background:linear-gradient(90deg,var(--accent),var(--accent2));height:100%}.challenge{background:linear-gradient(145deg,#10243a,#0b1829);border:1px solid #284963;border-radius:24px;margin-top:18px;padding:24px}.challenge h1,.challenge h2{letter-spacing:-.03em}.optionGrid{grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;display:grid}.option{color:#fff;text-align:left;cursor:pointer;background:#0c192a;border:1px solid #2e4c67;border-radius:14px;padding:14px}.option.selected{border-color:var(--accent);background:#12342f}.option.correct{background:#123421;border-color:#45a969}.option.wrong{background:#32191e;border-color:#a6535d}.feedback{border-radius:14px;margin:12px 0;padding:13px 14px;font-size:14px}.feedback.ok{color:#bff6cd;background:#123421;border:1px solid #2f7b49}.feedback.bad{color:#ffd0d5;background:#301a1e;border:1px solid #793b44}.xp{color:#ffe29a;background:#2a2414;border:1px solid #6d5c25;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.parentMoment{background:#131a2b;border:1px dashed #5b6680;border-radius:17px;padding:18px}.scoreRing{background:conic-gradient(var(--accent) calc(var(--score)*1%),#1a3048 0);border-radius:50%;place-items:center;width:110px;height:110px;display:grid;position:relative}.scoreRing:after{content:"";background:#0b1829;border-radius:50%;position:absolute;inset:10px}.scoreRing strong{z-index:1;font-size:24px}.reportGrid{grid-template-columns:220px 1fr;gap:18px;display:grid}.miniBars{gap:10px;display:grid}.miniBar{grid-template-columns:160px 1fr 44px;align-items:center;gap:8px;font-size:13px;display:grid}.miniBarTrack{background:#172b42;border-radius:999px;height:8px;overflow:hidden}.miniBarTrack div{background:linear-gradient(90deg,#72e2c1,#8eb8ff);height:100%}.empty{text-align:center;color:var(--muted);border:1px dashed #2c4862;border-radius:16px;padding:30px}.footerNote{color:#7f96ad;text-align:center;padding:30px 0;font-size:12px}.mobileOnly{display:none}@media (max-width:1000px){.hero{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.dashboardGrid{grid-template-columns:1fr}.sidebar{display:flex;position:static;overflow:auto}.sideBtn{min-width:max-content}.kpis,.libraryGrid,.filters{grid-template-columns:repeat(2,1fr)}.reportGrid{grid-template-columns:1fr}}@media (max-width:640px){.page{padding:12px}.topbar{align-items:flex-start}.nav{display:none}.hero{padding-top:25px}.hero h1{font-size:44px}.hero p{font-size:16px}.cards,.libraryGrid,.optionGrid{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.filters,.metricRow{grid-template-columns:1fr}.mobileOnly{display:block}.panel,.challenge{padding:16px}.miniBar{grid-template-columns:110px 1fr 38px}.brand small{max-width:190px}}.launchBanner{background:linear-gradient(135deg,#12352e,#10243b);border:1px solid #3d806b;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px;padding:15px 18px;display:flex}.launchBanner>div{gap:3px;display:grid}.launchBanner strong{color:#c9ffef;font-size:15px}.launchBanner span{color:#a8cbbb;font-size:12px}.launchPrice{text-align:right}.launchPrice b{color:#ffe5a0;font-size:12px}.launchPrice span{color:#d5cda9!important}.teacherWelcome{gap:16px;display:grid}.teacherEntryHero{grid-template-columns:1fr .9fr;align-items:center;gap:24px;padding:28px;display:grid}.teacherEntryHero h1{letter-spacing:-.045em;margin:14px 0;font-size:44px;line-height:1}.teacherEntryHero p{color:var(--muted);line-height:1.6}.loginStack{gap:10px;display:grid}.providerBtn{color:#fff;text-align:left;cursor:pointer;background:#0a1728;border:1px solid #31516e;border-radius:16px;gap:5px;padding:15px;display:grid}.providerBtn span{color:var(--muted);font-size:12px}.providerBtn.microsoft{background:#102841;border-color:#4f7fa8}.providerBtn:hover{border-color:#72a8d1;transform:translateY(-1px)}.onboardingCard{margin-top:0}.onboardingSteps{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.onboardingSteps span{color:#738ca4;border:1px solid #223c56;border-radius:999px;padding:7px 10px;font-size:12px}.onboardingSteps span.active{color:#baf5e3;background:#10332d;border-color:#3d806b}.formGrid{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.formGrid .full{grid-column:1/-1}.workflowLine{grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0;display:grid}.workflowLine div{text-align:center;background:#0b192a;border:1px solid #29445e;border-radius:15px;padding:14px}.workflowLine strong{color:#baf5e3;background:#173a45;border-radius:50%;place-items:center;width:28px;height:28px;margin:0 auto 8px;display:grid}.workflowLine span{color:#c2d0de;font-size:12px}.trialPromise{color:#ffe8a6;background:#241f12;border:1px solid #6c5b28;border-radius:15px;gap:5px;padding:14px;display:grid}.trialPromise span{color:#d6c58f;font-size:13px}.entitlementBar{background:#0c1a2b;border:1px solid #28455f;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:14px 16px;display:flex}.entitlementBar>div:first-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.entitlementBar>div:first-child>span:last-child{color:var(--muted);font-size:12px}.entitlementBar.locked{border-color:#725d29}.upgradeBanner{background:linear-gradient(135deg,#2a2413,#152335);border:1px solid #75612d;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:16px;display:flex}.upgradeBanner div{gap:4px;display:grid}.upgradeBanner span{color:#d7cda7;font-size:13px}.instructionStrip,.parentInstruction{border-left:3px solid var(--accent2);background:#0e2135;border-radius:0 13px 13px 0;gap:4px;margin:14px 0;padding:13px 15px;display:grid}.instructionStrip span,.parentInstruction span{color:var(--muted);font-size:13px;line-height:1.5}.instructionMini{color:#9fb2c8;border-top:1px solid #203a53;gap:4px;padding-top:10px;font-size:11px;display:grid}.teacherBrief{background:#0a1728;border:1px solid #294963;border-radius:17px;margin:14px 0;padding:16px}.teacherBrief h3{margin:0 0 12px}.briefGrid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.briefGrid>div{background:#102239;border:1px solid #223e58;border-radius:13px;gap:5px;padding:12px;display:grid}.briefGrid span{color:#91a7be;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.briefGrid strong{font-size:13px;line-height:1.4}.studentBrief{margin:16px 0}.studentTour{background:#0b192a;border:1px solid #29455f;border-radius:18px;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:10px;margin:16px 0;padding:14px;display:grid}.studentTour>div{gap:3px;display:grid}.studentTour span{color:var(--muted);font-size:12px}.assignmentIntro>p{color:var(--muted);font-size:16px;line-height:1.6}.heroTrust{color:#9fc4bb;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:12px;font-weight:700;display:flex}.curriculumBands{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.curriculumBands>div{background:#102239;border:1px solid #243f59;border-radius:16px;gap:6px;padding:16px;display:grid}.curriculumBands span{color:var(--muted);font-size:13px;line-height:1.5}.primaryBtn:disabled,.secondaryBtn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}@media (max-width:1000px){.teacherEntryHero{grid-template-columns:1fr}.workflowLine{grid-template-columns:repeat(2,1fr)}.studentTour{grid-template-columns:1fr 1fr}.curriculumBands{grid-template-columns:1fr}}@media (max-width:640px){.launchBanner{flex-direction:column;align-items:flex-start}.launchPrice{text-align:left}.teacherEntryHero h1{font-size:36px}.formGrid,.briefGrid{grid-template-columns:1fr}.formGrid .full{grid-column:auto}.workflowLine,.studentTour{grid-template-columns:1fr}.entitlementBar,.upgradeBanner{flex-direction:column;align-items:flex-start}}.schoolLicenseNote{color:#bed2e3;background:#0d2235;border:1px solid #33546f;border-radius:16px;padding:14px}.teacherAccessGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.status.invited{color:#ffe09a;background:#2f2714;border-color:#745d2a}.status.deactivated{color:#b8c5d3;background:#152235}@media (max-width:760px){.teacherAccessGrid{grid-template-columns:1fr}}
