/* Educators full-screen platform refresh · 2026-10-04 */
:root{
  --edu-readable:15px;
  --edu-control:48px;
}

/* Landing feels like a dedicated product homepage */
.edu-topbar{
  min-height:88px;
  padding:12px max(24px,calc((100vw - 1520px)/2));
}
.edu-topbar .esc-brand-title{font-size:16px}
.edu-topnav{gap:26px}
.edu-topnav a,.text-link{font-size:14px}
.primary-link{min-height:46px;padding:0 18px;font-size:14px;border-radius:14px}

.edu-hero{
  min-height:calc(100vh - 88px);
  padding:86px max(30px,calc((100vw - 1520px)/2)) 70px;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  gap:70px;
}
.edu-hero h1{font-size:clamp(62px,6.2vw,102px)}
.edu-hero-copy>p{max-width:820px;font-size:20px;line-height:1.7}
.pilot-badge,.section-kicker{font-size:12px}
.hero-primary,.hero-secondary{min-height:52px;padding:0 22px;font-size:15px}
.hero-proof span{font-size:12px;padding:10px 13px}

.platform-launch-card{
  transform:none!important;
  padding:32px!important;
  border-radius:32px!important;
}
.platform-launch-card .platform-launch-kicker{
  display:block;color:var(--teal);font-size:11px;font-weight:1000;letter-spacing:.14em;
}
.platform-launch-card h2{
  margin:10px 0 8px;color:var(--navy);font-size:34px;letter-spacing:-.04em;line-height:1.05;
}
.platform-launch-card>p{
  margin:0 0 22px;color:#6f8396;font-size:15px;line-height:1.6;
}
.platform-launch-actions{display:grid;gap:10px}
.platform-launch-actions button,.platform-launch-actions a{
  min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-radius:15px;padding:0 17px;text-decoration:none;font-size:14px;font-weight:950;
}
.platform-launch-actions button{
  border:0;background:var(--navy);color:#fff;cursor:pointer;
}
.platform-launch-actions a{
  border:1px solid var(--line);background:#fff;color:var(--navy);
}
.platform-launch-notes{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;
}
.platform-launch-notes span{
  padding:11px 9px;border-radius:12px;background:#f3f7fa;color:#647a8d;
  text-align:center;font-size:11px;font-weight:850;line-height:1.35;
}

/* Full-screen teacher platform */
.teacher-demo-section{
  padding:0!important;
  background:#eef3f7!important;
  color:var(--ink)!important;
}
.teacher-demo-intro{
  max-width:none!important;
  margin:0!important;
  padding:42px max(32px,calc((100vw - 1520px)/2)) 30px;
  background:linear-gradient(135deg,#071b34,#0b2f5b);
}
.teacher-demo-intro .section-kicker{font-size:11px}
.teacher-demo-intro h2{
  margin:8px 0 8px!important;color:#fff!important;font-size:clamp(40px,4.5vw,68px)!important;
}
.teacher-demo-intro>p{
  max-width:940px!important;color:#c0d0dc!important;font-size:17px!important;line-height:1.65!important;
}

.teacher-app{
  width:100%!important;
  min-height:calc(100vh - 88px)!important;
  grid-template-columns:290px minmax(0,1fr)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:#f5f8fa!important;
}
.teacher-sidebar{
  padding:26px 20px!important;
  background:#06172b!important;
}
.sidebar-brand{gap:13px;padding-bottom:24px}
.sidebar-brand img{width:50px;height:50px}
.sidebar-brand b{font-size:15px;line-height:1.25}
.sidebar-brand span{font-size:11px}
.teacher-sidebar nav{gap:7px;margin-top:22px}
.side-item{
  min-height:48px!important;padding:12px 14px!important;border-radius:13px!important;
  font-size:14px!important;line-height:1.2!important;
}
.side-item span{width:24px;font-size:18px}
.sidebar-plan{padding:17px!important;border-radius:16px!important}
.sidebar-plan small{font-size:10px!important}
.sidebar-plan b{font-size:14px!important}
.sidebar-plan span{font-size:11px!important;line-height:1.5!important}

.teacher-workspace{background:#f5f8fa!important;font-size:var(--edu-readable)}
.workspace-top{
  min-height:96px!important;padding:20px 30px!important;
}
.workspace-top small{font-size:11px!important}
.workspace-top strong{font-size:26px!important}
.workspace-actions{gap:10px;flex-wrap:wrap}
.ghost-button,.solid-button,.outline-button{
  min-height:44px!important;padding:0 15px!important;border-radius:12px!important;font-size:13px!important;
}
.workspace-panel{padding:32px!important}
.mobile-workspace-tabs{padding:12px 16px!important;gap:8px!important}
.mobile-workspace-tabs button{min-height:42px!important;padding:0 14px!important;font-size:12px!important}

.edu-os-intro{gap:28px;margin-bottom:28px}
.edu-os-intro h3{font-size:clamp(32px,3.2vw,46px)!important}
.edu-os-intro p{font-size:14px!important;line-height:1.7!important}
.edu-workflow-grid{gap:14px!important;margin-bottom:24px!important}
.edu-workflow-card{min-height:150px;padding:22px!important;border-radius:20px!important}
.edu-workflow-card small{font-size:10px!important}
.edu-workflow-card strong{font-size:21px!important;margin:10px 0 7px!important}
.edu-workflow-card span{font-size:13px!important;line-height:1.5!important}

.metric-grid{gap:14px!important}
.metric-grid article{padding:22px!important;border-radius:19px!important}
.metric-grid span{font-size:10px!important}
.metric-grid strong{font-size:38px!important}
.metric-grid small{font-size:12px!important}

.overview-grid{gap:14px!important;margin-top:14px!important}
.next-lesson-card,.class-code-card,.recent-table,.class-card-grid article,.lesson-form,.lesson-output,.edu-game-grid article,.report-main,.report-insight{
  border-radius:20px!important;
}
.next-lesson-card,.class-code-card,.recent-table{padding:22px!important}
.card-head span,.output-head small,.class-code-card>span{font-size:10px!important}
.card-head b,.output-head>span{font-size:11px!important}
.next-lesson-card h3{font-size:28px!important}
.next-lesson-card p,.class-code-card p{font-size:13px!important;line-height:1.55!important}
.lesson-parts span{font-size:11px!important;padding:8px 10px!important}
.next-lesson-card button,.class-code-card button,.class-card-grid button{
  min-height:38px;font-size:12px!important;
}
.class-code-card strong{font-size:46px!important}
.table-title strong{font-size:16px!important}
.table-title span{font-size:11px!important}
.table-row{padding:14px 0!important;font-size:12px!important}

.panel-header{margin-bottom:24px!important}
.panel-header small{font-size:10px!important}
.panel-header h3{font-size:34px!important}
.adaptive-badge,.panel-link{font-size:11px!important}
.adaptive-badge{padding:9px 12px!important}

.class-card-grid{gap:14px!important}
.class-card-grid article{padding:22px!important}
.class-card-grid span{font-size:17px!important}
.class-card-grid small{font-size:11px!important}
.class-card-grid strong{font-size:23px!important}
.class-card-grid p{font-size:12px!important;line-height:1.5!important}

.curriculum-layout,.builder-layout,.resource-layout,.private-top{gap:16px!important}
.curriculum-filter-card,.curriculum-result-card,.resource-builder,.resource-preview,.private-overview-card{
  padding:24px!important;border-radius:20px!important;
}
.curriculum-filter-card label,.resource-builder label,.lesson-form label{
  font-size:12px!important;gap:7px!important;
}
.curriculum-filter-card select,.resource-builder input,.resource-builder select,.lesson-form input,.lesson-form select{
  min-height:46px!important;padding:11px 12px!important;font-size:14px!important;border-radius:12px!important;
}
.curriculum-filter-note,.teacher-freedom-note{font-size:12px!important;line-height:1.55!important}
.curriculum-result-card>small{font-size:10px!important}
.curriculum-result-card h4{font-size:36px!important}
.curriculum-result-card>p{font-size:13px!important}
.curriculum-summary-tags span{font-size:11px!important;padding:8px 10px!important}
.curriculum-actions button,.resource-type-buttons button{
  min-height:42px!important;padding:0 13px!important;font-size:12px!important;
}

.lesson-form,.lesson-output{padding:24px!important}
.builder-form-head small,.builder-form-head>span{font-size:10px!important}
.builder-form-head h4{font-size:26px!important}
.builder-form-head p,.form-note{font-size:12px!important;line-height:1.55!important}
.lesson-presets button,.lesson-stage-picker label{font-size:12px!important}
.generate-button{min-height:50px!important;font-size:14px!important}
.output-head strong{font-size:20px!important}
.question-meta span,.question-preview>small{font-size:10px!important}
.question-preview{padding:24px!important;border-radius:18px!important}
.question-preview h4{font-size:30px!important}
.question-preview p{font-size:13px!important;line-height:1.55!important}
.question-preview button{min-height:40px!important;font-size:12px!important}
.plan-row{min-height:54px!important;font-size:12px!important}
.phase-guide div{font-size:12px!important}

.edu-game-grid{gap:14px!important}
.edu-game-grid article{min-height:250px!important;padding:22px!important}
.edu-game-grid article small{font-size:10px!important}
.edu-game-grid article h4{font-size:25px!important}
.edu-game-grid article p{font-size:13px!important;line-height:1.55!important}
.edu-game-grid article button{min-height:42px!important;font-size:12px!important}

.tool-card{padding:22px!important;border-radius:20px!important}
.tool-card>small{font-size:10px!important}
.tool-card h4{font-size:27px!important}
.tool-button-row button,.tool-card>button{min-height:42px!important;font-size:12px!important}
.student-tool textarea{font-size:13px!important}

.teacher-lock-card{
  width:min(620px,90%)!important;padding:42px!important;border-radius:28px!important;
}
.teacher-lock-card>span{font-size:11px!important}
.teacher-lock-card h3{font-size:36px!important}
.teacher-lock-card p{font-size:15px!important;line-height:1.6!important}
.teacher-lock-card button{min-height:50px!important;padding:0 20px!important;font-size:14px!important}

.edu-auth-card,.edu-class-card{
  width:min(640px,94vw)!important;padding:38px!important;border-radius:30px!important;
}
.edu-auth-close{width:44px!important;height:44px!important;font-size:26px!important}
.edu-auth-kicker{font-size:11px!important}
.edu-auth-card h2,.edu-class-card h2{font-size:38px!important}
.edu-auth-card>p,.edu-class-card>p{font-size:15px!important}
.edu-auth-tabs button{min-height:44px!important;font-size:13px!important}
#eduAuthForm label,.edu-class-card label{font-size:13px!important}
#eduAuthForm input,.edu-class-card input,.edu-class-card select{
  min-height:52px!important;padding:13px 14px!important;font-size:16px!important;
}
#eduAuthSubmit{min-height:52px!important;font-size:15px!important}
.edu-forgot{font-size:12px!important}
.edu-auth-message{font-size:13px!important}

/* Keep the platform usable at tablet widths without feeling like a tiny embedded card. */
@media(max-width:1100px){
  .edu-hero{grid-template-columns:1fr;min-height:auto}
  .platform-launch-card{max-width:760px}
}
@media(max-width:1000px){
  .teacher-app{grid-template-columns:1fr!important}
  .teacher-sidebar{display:none!important}
  .mobile-workspace-tabs{display:flex!important}
  .workspace-panel{padding:24px!important}
  .teacher-demo-intro{padding-left:24px;padding-right:24px}
}
@media(max-width:720px){
  .edu-topbar{min-height:72px}
  .edu-hero{padding:58px 18px 48px}
  .edu-hero h1{font-size:clamp(48px,14vw,70px)}
  .edu-hero-copy>p{font-size:17px}
  .platform-launch-card{padding:22px!important}
  .platform-launch-notes{grid-template-columns:1fr}
  .teacher-demo-intro{padding:34px 18px 24px}
  .teacher-demo-intro h2{font-size:40px!important}
  .teacher-demo-intro>p{font-size:15px!important}
  .workspace-top{padding:18px!important;align-items:flex-start!important}
  .workspace-top strong{font-size:22px!important}
  .workspace-panel{padding:18px!important}
  .edu-os-intro,.builder-layout,.curriculum-layout,.resource-layout,.private-top{grid-template-columns:1fr!important}
  .edu-workflow-grid,.metric-grid{grid-template-columns:1fr!important}
  .teacher-lock-card{padding:28px 22px!important}
  .teacher-lock-card h3{font-size:30px!important}
  .edu-auth-card,.edu-class-card{padding:28px 20px!important}
}


/* Retention layer: onboarding, saved lessons and real reports */
.edu-workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

.teacher-retention-grid{
  display:grid;grid-template-columns:.92fr 1.08fr;gap:14px;margin:0 0 22px;
}
.teacher-onboarding-card,.recent-lessons-home{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;
  box-shadow:0 12px 35px rgba(8,31,59,.04);
}
.retention-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.retention-card-head small{display:block;color:var(--teal);font-size:10px;font-weight:1000;letter-spacing:.1em}
.retention-card-head strong{display:block;margin-top:5px;color:var(--navy);font-size:19px;line-height:1.25}
.retention-card-head>span{
  flex:0 0 auto;display:grid;place-items:center;min-width:58px;height:38px;padding:0 10px;border-radius:999px;
  background:#e9f8f5;color:#0b807a;font-size:14px;font-weight:1000;
}
.retention-card-head>button{
  flex:0 0 auto;border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:950;cursor:pointer;padding:6px 0;
}
.setup-progress{height:8px;margin:18px 0;border-radius:999px;background:#edf2f5;overflow:hidden}
.setup-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .35s ease}
.setup-steps{display:grid;gap:8px}
.setup-steps button{
  width:100%;display:grid;grid-template-columns:34px 1fr 24px;gap:11px;align-items:center;
  border:1px solid var(--line);border-radius:13px;background:#fff;padding:10px;text-align:left;cursor:pointer;
}
.setup-steps button:hover{border-color:#abc5da;background:#fbfdff}
.setup-steps button>b{
  width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eef4f8;color:var(--blue);font-size:12px;
}
.setup-steps button span strong{display:block;color:var(--navy);font-size:13px}
.setup-steps button span small{display:block;margin-top:2px;color:#8092a3;font-size:11px}
.setup-steps button em{font-style:normal;color:var(--blue);font-weight:1000;text-align:center}
.setup-steps button.done{background:#f8fcfb;border-color:#d8ece8}
.setup-steps button.done>b{background:#dff4ef;color:#087b74}
.setup-steps button.done em{color:#087b74}

.recent-lesson-list{display:grid;gap:8px;margin-top:17px}
.recent-lesson-item{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;width:100%;min-height:62px;
  border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 13px;text-align:left;cursor:pointer;
}
.recent-lesson-item:hover{border-color:#abc5da;background:#fbfdff}
.recent-lesson-item b{display:block;color:var(--navy);font-size:14px}
.recent-lesson-item small{display:block;margin-top:4px;color:#7b8e9f;font-size:11px}
.recent-lesson-item em{font-style:normal;color:var(--blue);font-size:18px}
.recent-empty{display:grid;gap:5px;padding:18px;border:1px dashed #ccd9e3;border-radius:14px;background:#f9fbfc}
.recent-empty strong{color:var(--navy);font-size:14px}
.recent-empty span{color:#75899a;font-size:12px;line-height:1.45}
.recent-empty button{justify-self:start;margin-top:4px;border:0;background:transparent;color:var(--blue);font-weight:950;cursor:pointer;padding:4px 0}

.library-value-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;
}
.library-value-strip>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.library-value-strip b{display:block;color:var(--navy);font-size:15px}
.library-value-strip span{display:block;margin-top:4px;color:#74889a;font-size:12px;line-height:1.45}
.lesson-library-toolbar{
  display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:10px;align-items:end;margin-bottom:16px;
}
.lesson-library-toolbar label{display:grid;gap:6px;color:#62798d;font-size:11px;font-weight:900}
.lesson-library-toolbar input,.lesson-library-toolbar select{
  min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);
  padding:0 13px;font-size:13px;outline:none;
}
.lesson-library-toolbar button{
  min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);padding:0 15px;font-size:12px;font-weight:950;cursor:pointer;
}
.lesson-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lesson-library-card{
  display:flex;flex-direction:column;min-height:255px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;
  box-shadow:0 12px 34px rgba(8,31,59,.04);
}
.library-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.library-card-top span{padding:7px 9px;border-radius:999px;background:#eaf7f5;color:#087c76;font-size:10px;font-weight:950}
.library-card-top small{color:#8a9baa;font-size:10px}
.lesson-library-card h4{margin:16px 0 7px;color:var(--navy);font-size:21px;line-height:1.18}
.lesson-library-card>p{margin:0;color:#738799;font-size:12px;line-height:1.5}
.library-card-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.library-card-meta span{padding:6px 8px;border-radius:999px;background:#f1f5f8;color:#637b8f;font-size:10px;font-weight:850}
.library-card-actions{display:grid;grid-template-columns:1fr auto auto auto;gap:7px;margin-top:auto;padding-top:20px}
.library-card-actions button{
  min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);padding:0 10px;font-size:11px;font-weight:900;cursor:pointer;
}
.library-card-actions button:first-child{background:var(--navy);border-color:var(--navy);color:#fff}
.library-card-actions .danger-lite{color:#a54a54}
.library-empty{
  grid-column:1/-1;display:grid;place-items:center;text-align:center;min-height:280px;padding:34px;
  border:1px dashed #c9d8e2;border-radius:20px;background:#fff;
}
.library-empty strong{color:var(--navy);font-size:22px}
.library-empty span{margin-top:6px;max-width:560px;color:#718596;font-size:13px;line-height:1.55}
.library-empty button{margin-top:15px;min-height:44px;border:0;border-radius:11px;background:var(--navy);color:#fff;padding:0 16px;font-size:12px;font-weight:950;cursor:pointer}

.report-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.report-kpi-grid article{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.report-kpi-grid small{display:block;color:#8195a7;font-size:9px;font-weight:950;letter-spacing:.08em}
.report-kpi-grid strong{
  display:block;margin-top:6px;color:var(--navy);font-size:30px;line-height:1.1;text-transform:capitalize;
}
.report-kpi-grid span{display:block;margin-top:4px;color:#8698a7;font-size:11px}
.report-empty-line{padding:13px;border-radius:11px;background:#f3f7fa;color:#718596;font-size:12px}

@media(max-width:1250px){
  .edu-workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lesson-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  .teacher-retention-grid{grid-template-columns:1fr}
  .report-kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .edu-workflow-grid,.library-value-strip,.lesson-library-grid,.report-kpi-grid{grid-template-columns:1fr!important}
  .lesson-library-toolbar{grid-template-columns:1fr}
  .library-card-actions{grid-template-columns:1fr 1fr}
  .library-card-actions button:first-child{grid-column:1/-1}
}


/* Sales value proposition */
.edu-value-section{
  padding:100px max(28px,calc((100vw - 1520px)/2));
  background:#fff;
}
.edu-value-head{
  display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:end;margin-bottom:36px;
}
.edu-value-head h2{
  margin:10px 0 0;color:var(--navy);font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.055em;
}
.edu-value-head>p{margin:0;color:#6e8294;font-size:17px;line-height:1.7}
.edu-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.edu-value-grid article{
  min-height:285px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,#f9fbfc);
  box-shadow:0 16px 42px rgba(8,31,59,.05);
}
.edu-value-grid article>span{display:block;color:#c7d3dd;font-size:28px;font-weight:1000}
.edu-value-grid strong{display:block;margin-top:28px;color:var(--navy);font-size:23px;line-height:1.15;letter-spacing:-.03em}
.edu-value-grid p{margin:10px 0 0;color:#718596;font-size:14px;line-height:1.6}
.edu-value-grid small{display:block;margin-top:18px;color:var(--teal);font-size:10px;font-weight:950;letter-spacing:.06em}
.edu-value-cta{
  display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:22px;padding:26px 28px;
  border-radius:24px;background:linear-gradient(135deg,#081f3b,#0c3d6d);color:#fff;
}
.edu-value-cta small{display:block;color:#75ded6;font-size:10px;font-weight:1000;letter-spacing:.12em}
.edu-value-cta strong{display:block;margin-top:7px;font-size:24px;line-height:1.2}
.edu-value-cta span{display:block;margin-top:6px;color:#bfd0dc;font-size:13px;line-height:1.55}
.edu-value-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.edu-value-actions button,.edu-value-actions a{
  min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:13px;padding:0 16px;font-size:12px;font-weight:950;cursor:pointer;text-decoration:none;
}
.edu-value-actions button{border:0;background:#fff;color:var(--navy)}
.edu-value-actions a{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff}

@media(max-width:1100px){
  .edu-value-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .edu-value-section{padding:72px 18px}
  .edu-value-head{grid-template-columns:1fr;gap:16px}
  .edu-value-head>p{font-size:15px}
  .edu-value-grid{grid-template-columns:1fr}
  .edu-value-grid article{min-height:auto}
  .edu-value-cta{grid-template-columns:1fr;padding:22px}
  .edu-value-actions{justify-content:stretch;display:grid}
}


.class-code-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.class-code-actions button{margin-top:0!important;min-height:40px;padding:0 11px!important;border:1px solid var(--line)!important;border-radius:10px;background:#fff!important}
.class-code-actions button:first-child{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.resource-preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.resource-preview-actions button{
  min-height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);
  padding:0 13px;font-size:12px;font-weight:950;cursor:pointer;
}
.resource-preview-actions button:first-child{background:var(--navy);border-color:var(--navy);color:#fff}
.curriculum-verification a{color:var(--blue);font-weight:900;text-decoration:none}
.curriculum-verification a:hover{text-decoration:underline}


.report-toolbar{display:flex;justify-content:flex-end;gap:10px;align-items:end;margin:0 0 14px}
.report-toolbar label{display:grid;gap:5px;color:#62798d;font-size:10px;font-weight:900}
.report-toolbar select{min-width:210px;min-height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);padding:0 11px;font-size:12px}
.report-toolbar button{min-height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);padding:0 12px;font-size:11px;font-weight:950;cursor:pointer}
@media(max-width:720px){
  .report-toolbar{display:grid;grid-template-columns:1fr}
  .report-toolbar select{width:100%}
  .library-card-actions{grid-template-columns:1fr 1fr!important}
  .library-card-actions button:first-child{grid-column:1/-1}
}


/* Assignments / homework center */
.assignment-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:16px}
.assignment-builder,.assignment-list-shell{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px}
.assignment-builder{display:grid;gap:13px}
.assignment-builder-head small,.assignment-list-head small{display:block;color:var(--teal);font-size:10px;font-weight:1000;letter-spacing:.1em}
.assignment-builder-head strong,.assignment-list-head strong{display:block;margin-top:6px;color:var(--navy);font-size:22px;line-height:1.2}
.assignment-builder-head p{margin:7px 0 5px;color:#718596;font-size:13px;line-height:1.55}
.assignment-builder label{display:grid;gap:6px;color:#5f7689;font-size:12px;font-weight:900}
.assignment-builder label>span{color:#91a0ad;font-size:10px;font-weight:750}
.assignment-builder input,.assignment-builder select,.assignment-builder textarea{
  width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);padding:12px 13px;font:inherit;font-size:14px;outline:none
}
.assignment-builder textarea{resize:vertical;min-height:105px}
.assignment-builder input:focus,.assignment-builder select:focus,.assignment-builder textarea:focus{border-color:#82a9ce;box-shadow:0 0 0 4px rgba(23,92,168,.08)}
.assignment-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.assignment-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.assignment-list-head button{min-height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);padding:0 12px;font-size:11px;font-weight:950;cursor:pointer}
.assignment-list{display:grid;gap:10px}
.assignment-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.assignment-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.assignment-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef3f7;color:#61798d;font-size:9px;font-weight:950}
.assignment-status.published{background:#e6f7f3;color:#087c75}.assignment-status.closed{background:#f1f2f4;color:#74818c}.assignment-status.draft{background:#fff4dc;color:#9a6d11}
.assignment-card-top small{color:#8a9ba9;font-size:10px}
.assignment-card h4{margin:13px 0 6px;color:var(--navy);font-size:19px}
.assignment-card>p{margin:0;color:#718596;font-size:12px;line-height:1.5}
.assignment-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.assignment-card-actions button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);padding:0 10px;font-size:10px;font-weight:900;cursor:pointer}
.assignment-card-actions button:first-child{background:var(--navy);border-color:var(--navy);color:#fff}
.assignment-card-actions .danger-lite{color:#a34d57}
.assignment-empty{display:grid;place-items:center;text-align:center;min-height:260px;padding:30px;border:1px dashed #cad8e2;border-radius:16px;background:#fbfcfd}
.assignment-empty strong{color:var(--navy);font-size:20px}.assignment-empty span{margin-top:6px;color:#718596;font-size:12px;line-height:1.5}
@media(max-width:1000px){.assignment-layout{grid-template-columns:1fr}}
@media(max-width:620px){.assignment-builder,.assignment-list-shell{padding:18px}.assignment-two{grid-template-columns:1fr}.assignment-card-actions{display:grid}.assignment-card-actions button{width:100%}}

/* Session restore state */
.teacher-session-restore .session-spinner{display:block;width:38px;height:38px;margin:20px auto 0;border:4px solid #e1e8ee;border-top-color:var(--teal);border-radius:50%;animation:eduSpin .8s linear infinite}
@keyframes eduSpin{to{transform:rotate(360deg)}}

/* Clear bilingual switch + universal product brand */
.educator-brand-title{display:grid!important;gap:1px}
.educator-brand-title b{font-size:14px;line-height:1.1}.educator-brand-title small{font-size:8px;color:#8193a3;font-weight:750}
.edu-lang-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:12px;background:#f3f6f8}
.edu-lang-switch button{border:0;border-radius:9px;background:transparent;color:#718596;min-height:34px;padding:0 10px;font-size:11px;font-weight:900;cursor:pointer}
.edu-lang-switch button.active{background:#fff;color:var(--navy);box-shadow:0 4px 12px rgba(8,31,59,.08)}

.assignment-submission-count{display:flex;align-items:baseline;gap:6px;margin-top:12px;padding:9px 11px;border-radius:11px;background:#f3f7fa;width:max-content}
.assignment-submission-count b{color:var(--navy);font-size:20px}.assignment-submission-count span{color:#718596;font-size:10px;font-weight:850}

.assignment-submissions{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd;overflow:hidden}
.assignment-submissions summary{cursor:pointer;list-style:none;padding:10px 12px;color:var(--blue);font-size:10px;font-weight:950}
.assignment-submissions summary::-webkit-details-marker{display:none}
.assignment-submissions summary b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;border-radius:999px;background:#e7f0f8;color:var(--navy);font-size:9px}
.assignment-submissions>div{display:grid;border-top:1px solid var(--line)}
.assignment-submissions article{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:start;padding:10px 12px;border-top:1px solid #edf1f4}
.assignment-submissions article:first-child{border-top:0}.assignment-submissions strong{color:var(--navy);font-size:11px}.assignment-submissions span{color:#61798d;font-size:11px;line-height:1.45}.assignment-submissions small{color:#91a0ad;font-size:9px}
@media(max-width:650px){.assignment-submissions article{grid-template-columns:1fr}.assignment-submissions small{margin-top:-4px}}


/* Teacher Planner */
.today-planner-strip{margin:0 0 16px;padding:18px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(135deg,#fff,#f7fbfd)}
.today-planner-head,.planner-agenda-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.today-planner-head small,.planner-form-head small,.planner-agenda-head small{display:block;color:var(--teal);font-size:9px;font-weight:1000;letter-spacing:.1em}
.today-planner-head strong,.planner-form-head strong,.planner-agenda-head strong{display:block;margin-top:5px;color:var(--navy);font-size:18px}
.today-planner-head button,.planner-agenda-head button{border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:950;cursor:pointer}
.today-planner-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}
.today-plan-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px;text-align:left;cursor:pointer}
.today-plan-item>span{min-width:54px;color:var(--blue);font-size:16px;font-weight:1000}
.today-plan-item p{margin:0}.today-plan-item b{display:block;color:var(--navy);font-size:12px}.today-plan-item small{display:block;margin-top:3px;color:#8092a3;font-size:10px}.today-plan-item em{font-style:normal;color:var(--blue)}
.today-planner-empty{display:flex;align-items:center;gap:10px;grid-column:1/-1;padding:10px;border:1px dashed #cbd9e3;border-radius:12px}.today-planner-empty>span{font-size:22px;color:#a0b0bc}.today-planner-empty p{margin:0}.today-planner-empty b,.today-planner-empty small{display:block}.today-planner-empty b{font-size:12px}.today-planner-empty small{margin-top:2px;color:#8194a4;font-size:10px}
.planner-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:16px}
.planner-form,.planner-agenda{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px}
.planner-form{display:grid;gap:13px}.planner-form-head p{margin:7px 0 4px;color:#718596;font-size:13px;line-height:1.55}
.planner-form label{display:grid;gap:6px;color:#61798c;font-size:12px;font-weight:900}
.planner-form input,.planner-form select,.planner-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);padding:12px 13px;font:inherit;font-size:14px;outline:none}
.planner-form textarea{resize:vertical}.planner-form input:focus,.planner-form select:focus,.planner-form textarea:focus{border-color:#80a7cb;box-shadow:0 0 0 4px rgba(23,92,168,.07)}
.planner-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.planner-list{display:grid;gap:9px;margin-top:16px}
.planner-event{display:grid;grid-template-columns:135px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}
.planner-event.completed{opacity:.72;background:#f8fbfa}
.planner-event-time b{display:block;color:var(--navy);font-size:12px}.planner-event-time span{display:block;margin-top:3px;color:#8a9aa8;font-size:10px}
.planner-event-copy small{display:block;color:var(--teal);font-size:9px;font-weight:950}.planner-event-copy strong{display:block;margin-top:4px;color:var(--navy);font-size:15px}.planner-event-copy p{margin:3px 0 0;color:#8192a1;font-size:11px}
.planner-event-actions{display:flex;gap:6px}.planner-event-actions button{min-height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);padding:0 9px;font-size:9px;font-weight:900;cursor:pointer}.planner-event-actions .danger-lite{color:#a24f57}
.planner-empty{display:grid;place-items:center;min-height:250px;text-align:center;border:1px dashed #cad8e2;border-radius:16px;background:#fbfcfd;padding:30px}.planner-empty strong{color:var(--navy);font-size:20px}.planner-empty span{margin-top:5px;color:#718596;font-size:12px}
@media(max-width:1100px){.today-planner-list{grid-template-columns:1fr}.planner-layout{grid-template-columns:1fr}}
@media(max-width:650px){.planner-form,.planner-agenda{padding:18px}.planner-two{grid-template-columns:1fr}.planner-event{grid-template-columns:1fr}.planner-event-actions{display:grid;grid-template-columns:1fr 1fr}}

.metric-grid article:nth-child(4) strong{font-size:clamp(20px,2vw,30px)!important;line-height:1.08;overflow-wrap:anywhere;word-break:break-word}

#classCardGrid article.inactive-class{opacity:.72;background:#f7f9fb}
#classCardGrid article.inactive-class .class-actions button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}


/* Teacher Assistant beta */
.side-beta{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:.08em;padding:3px 6px;border-radius:999px;background:#eaf3ff;color:#225f9e}
.assistant-workflow-card{position:relative;overflow:hidden}
.assistant-workflow-card:after{content:"BETA";position:absolute;top:10px;right:-24px;transform:rotate(38deg);font-size:8px;font-weight:900;letter-spacing:.12em;padding:4px 28px;background:#eaf3ff;color:#225f9e}
.assistant-value-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.assistant-value-strip>div{padding:13px 14px;border:1px solid #dce6ef;border-radius:14px;background:#f8fbfd}
.assistant-value-strip b{display:block;font-size:13px;color:#102d4e}
.assistant-value-strip span{display:block;margin-top:3px;font-size:11px;color:#657b8e;line-height:1.45}
.assistant-layout{display:grid;grid-template-columns:minmax(310px,.76fr) minmax(0,1.24fr);gap:18px;align-items:start}
.assistant-form,.assistant-output{border:1px solid #dce6ef;border-radius:18px;background:#fff;padding:18px}
.assistant-form{display:grid;gap:12px}
.assistant-form-head{padding:2px 2px 8px}
.assistant-form-head small,.assistant-result-head small,.assistant-result-grid article>small,.assistant-game-card small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#5b7892}
.assistant-form-head strong{display:block;margin-top:5px;font-size:19px;color:#102d4e}
.assistant-form-head p{margin:6px 0 0;font-size:12px;line-height:1.55;color:#657b8e}
.assistant-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#274661}
.assistant-form label>span{font-weight:500;color:#8192a2}
.assistant-form input,.assistant-form select,.assistant-form textarea{width:100%;border:1px solid #cfdce7;border-radius:11px;background:#fbfdff;padding:10px 11px;color:#102d4e;font:inherit;font-weight:500;outline:none}
.assistant-form textarea{resize:vertical;min-height:105px}
.assistant-form input:focus,.assistant-form select:focus,.assistant-form textarea:focus{border-color:#87acd2;box-shadow:0 0 0 3px rgba(61,122,180,.08)}
.assistant-generate{margin-top:2px}
.assistant-output{min-height:520px}
.assistant-empty{min-height:480px;display:grid;place-content:center;text-align:center;padding:30px;color:#657b8e}
.assistant-empty>span{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:18px;background:#eef6ff;color:#2767a5;font-size:24px}
.assistant-empty strong{font-size:18px;color:#102d4e}
.assistant-empty p{max-width:470px;margin:8px auto 0;font-size:12px;line-height:1.6}
.assistant-result-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #e4ebf1}
.assistant-result-head h4{margin:5px 0 0;font-size:22px;line-height:1.18;color:#102d4e}
.assistant-result-head>span{flex:none;padding:7px 9px;border-radius:999px;background:#eef5fb;color:#365d7b;font-size:10px;font-weight:800}
.assistant-objective{margin:14px 0 11px;font-size:12px;line-height:1.6;color:#4f687d}
.assistant-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}
.assistant-chip-row span{padding:5px 8px;border-radius:999px;background:#f1f5f8;color:#37546c;font-size:10px;font-weight:750}
.assistant-result-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:10px}
.assistant-result-grid article{border:1px solid #e0e8ef;border-radius:14px;padding:13px;background:#fbfdff;min-width:0}
.assistant-result-grid ol{margin:9px 0 0;padding-left:18px}
.assistant-result-grid li{padding:4px 0;font-size:11px;line-height:1.48;color:#38546c}
.assistant-plan-card{grid-row:span 2}
.assistant-plan-row{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #e5ecf2}
.assistant-plan-row:last-child{border-bottom:0}
.assistant-plan-row>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef5fb;font-size:9px;font-weight:900;color:#3d6b92}
.assistant-plan-row p{margin:0}
.assistant-plan-row b{display:block;font-size:11px;color:#173a58}
.assistant-plan-row small,.assistant-plan-row em{display:block;margin-top:2px;font-size:9.5px;line-height:1.4;color:#71869a;font-style:normal}
.assistant-game-card{margin-top:10px;padding:13px 14px;border:1px solid #dbe8f4;border-radius:14px;background:#f4f9fe}
.assistant-game-card>div{display:flex;justify-content:space-between;gap:10px;align-items:center}
.assistant-game-card strong{font-size:12px;color:#173f65}
.assistant-game-card p{margin:7px 0 0;font-size:11px;line-height:1.5;color:#516d84}
.assistant-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.assistant-actions button{min-height:40px}
.assistant-engine-note{margin-top:12px}
@media(max-width:980px){
  .assistant-layout{grid-template-columns:1fr}
  .assistant-output{min-height:0}
  .assistant-empty{min-height:300px}
}
@media(max-width:640px){
  .assistant-value-strip,.assistant-result-grid{grid-template-columns:1fr}
  .assistant-plan-card{grid-row:auto}
  .assistant-form,.assistant-output{padding:14px;border-radius:14px}
  .assistant-result-head{display:block}
  .assistant-result-head>span{display:inline-block;margin-top:8px}
  .assistant-actions{display:grid;grid-template-columns:1fr}
}


/* Account-synced teaching preferences */
.settings-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(280px,.55fr);gap:18px;align-items:start}
.teacher-settings-form,.settings-summary-card,.settings-benefit-card{border:1px solid #dce6ef;border-radius:18px;background:#fff}
.teacher-settings-form{display:grid;gap:12px;padding:18px}
.settings-form-head{padding:2px 2px 8px}
.settings-form-head small,.settings-summary-card small,.settings-benefit-card>small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#5b7892}
.settings-form-head strong{display:block;margin-top:5px;font-size:19px;color:#102d4e}
.settings-form-head p{margin:6px 0 0;font-size:12px;line-height:1.55;color:#657b8e}
.teacher-settings-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#274661}
.teacher-settings-form label>span{font-weight:500;color:#8192a2}
.teacher-settings-form input,.teacher-settings-form select{width:100%;border:1px solid #cfdce7;border-radius:11px;background:#fbfdff;padding:10px 11px;color:#102d4e;font:inherit;font-weight:500;outline:none}
.teacher-settings-form input:focus,.teacher-settings-form select:focus{border-color:#87acd2;box-shadow:0 0 0 3px rgba(61,122,180,.08)}
.settings-side{display:grid;gap:12px}
.settings-summary-card,.settings-benefit-card{padding:17px}
.settings-summary-card>strong{display:block;margin-top:6px;font-size:21px;color:#102d4e}
.settings-summary-card>p{margin:4px 0 0;font-size:12px;color:#657b8e}
.settings-summary-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.settings-summary-tags span{padding:5px 8px;border-radius:999px;background:#eef5fb;color:#365d7b;font-size:10px;font-weight:750}
.settings-benefit-card{display:grid;gap:11px}
.settings-benefit-card>div{padding:10px 0;border-bottom:1px solid #e7edf2}
.settings-benefit-card>div:last-child{border-bottom:0}
.settings-benefit-card b{display:block;font-size:11px;color:#173a58}
.settings-benefit-card span{display:block;margin-top:3px;font-size:10.5px;line-height:1.45;color:#71869a}
@media(max-width:880px){.settings-layout{grid-template-columns:1fr}}


/* School Workspace beta */
.school-empty-layout{display:grid;gap:14px}
.school-intro-card,.school-entry-card,.school-hero-card,.school-members-card,.school-share-card,.school-library-shell{border:1px solid #dce6ef;border-radius:18px;background:#fff}
.school-intro-card{padding:22px}
.school-intro-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eef6ff;color:#2b68a0;font-size:22px}
.school-intro-card small,.school-entry-card small,.school-card-head small,.school-hero-card small,.school-library-head small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#5b7892}
.school-intro-card h4{margin:8px 0 7px;font-size:22px;color:#102d4e}
.school-intro-card p{max-width:760px;margin:0;font-size:12px;line-height:1.58;color:#657b8e}
.school-intro-card>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.school-intro-card>div b{padding:6px 8px;border-radius:999px;background:#f1f6fa;color:#385d79;font-size:10px}
.school-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.school-entry-card{display:grid;gap:10px;padding:17px}
.school-entry-card strong{font-size:17px;color:#102d4e}
.school-entry-card p{margin:0;font-size:11px;line-height:1.5;color:#71869a}
.school-entry-card label,.school-share-card label,.school-library-head label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#37546c}
.school-entry-card input,.school-share-card select,.school-library-head select{width:100%;border:1px solid #cfdae5;border-radius:10px;background:#fbfdff;padding:10px;color:#102d4e;font:inherit}
.school-entry-card button,.school-share-card>button,.school-code-box button,.school-lesson-card button{border:0;border-radius:10px;padding:10px 12px;background:#123f69;color:#fff;font-size:10px;font-weight:850;cursor:pointer}
.school-hero-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px}
.school-hero-card h4{margin:5px 0 2px;font-size:22px;color:#102d4e}
.school-hero-card p{margin:0;font-size:11px;color:#71869a}
.school-code-box{min-width:190px;padding:12px;border-radius:14px;background:#f5f9fc;text-align:center}
.school-code-box strong{display:block;margin:5px 0;font-size:24px;letter-spacing:.16em;color:#173f65}
.school-code-box button{background:#e8f1f8;color:#214f75}
.school-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;margin-top:12px}
.school-members-card,.school-share-card{padding:16px}
.school-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.school-card-head strong{display:block;margin-top:3px;font-size:15px;color:#173a58}
.school-card-head>span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#eef5fb;font-size:10px;font-weight:850;color:#365d7b}
.school-member-list{display:grid;gap:7px}
.school-member-row{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:8px;border-radius:10px;background:#f8fbfd}
.school-member-row>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2f9;color:#2f628e;font-size:12px;font-weight:900}
.school-member-row p{margin:0}
.school-member-row b{display:block;font-size:11px;color:#173a58}
.school-member-row small{display:block;margin-top:2px;font-size:9px;color:#7a8ea0}
.school-leave{margin-top:12px}
.school-share-card{display:grid;gap:10px}
.school-share-card p{margin:0;font-size:10.5px;line-height:1.5;color:#71869a}
.school-library-shell{margin-top:12px;padding:16px}
.school-library-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}
.school-library-head strong{display:block;margin-top:3px;font-size:17px;color:#173a58}
.school-library-head p{margin:4px 0 0;font-size:10.5px;color:#71869a}
.school-library-head label{min-width:210px}
.school-shared-lessons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.school-lesson-card{border:1px solid #e0e8ef;border-radius:14px;background:#fbfdff;padding:13px;min-width:0}
.school-lesson-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.school-lesson-top span,.school-lesson-top small{font-size:9px;font-weight:850;color:#5c768d}
.school-lesson-card h4{margin:8px 0 5px;font-size:14px;line-height:1.25;color:#163b5d}
.school-lesson-card p{margin:0;font-size:10px;line-height:1.45;color:#71869a}
.school-lesson-card>div:last-child{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.school-lesson-card .danger-lite{background:#f8e9eb;color:#984d58}
.school-library-empty{grid-column:1/-1;padding:24px;text-align:center;border:1px dashed #d7e2eb;border-radius:12px;color:#71869a}
.school-library-empty strong{display:block;color:#274b68}
.school-library-empty span{display:block;margin-top:5px;font-size:10.5px}
.school-empty-copy{margin:0;font-size:11px;color:#71869a}
@media(max-width:900px){
  .school-entry-grid,.school-grid{grid-template-columns:1fr}
  .school-shared-lessons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .school-hero-card,.school-library-head{display:block}
  .school-code-box{margin-top:12px;min-width:0}
  .school-library-head label{margin-top:10px;min-width:0}
  .school-shared-lessons{grid-template-columns:1fr}
}

.school-member-row{grid-template-columns:34px minmax(0,1fr) auto}
.school-member-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.school-member-actions button{border:0;border-radius:8px;padding:6px 7px;background:#eaf2f8;color:#315d80;font-size:8.5px;font-weight:800;cursor:pointer}
.school-member-actions .danger-lite{background:#f8e9eb;color:#984d58}
@media(max-width:640px){
  .school-member-row{grid-template-columns:34px 1fr}
  .school-member-actions{grid-column:1/-1;justify-content:flex-start;padding-top:3px}
}

.assignment-submission-item{display:grid;gap:8px}
.assignment-submission-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.assignment-submission-head strong{font-size:11px;color:#173a58}
.assignment-submission-head small{font-size:9px;color:#7b8ea0}
.assignment-response{display:block;padding:9px 10px;border-radius:9px;background:#f8fbfd;font-size:10.5px;line-height:1.5;color:#47647b}
.assignment-grade-box{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;align-items:end;padding-top:5px}
.assignment-grade-box label{display:grid;gap:5px;font-size:9px;font-weight:800;color:#587087}
.assignment-grade-box input,.assignment-grade-box textarea{width:100%;border:1px solid #d2dee8;border-radius:8px;background:#fff;padding:8px;color:#173a58;font:inherit;font-weight:500;resize:vertical}
.assignment-grade-box button{min-height:36px;border:0;border-radius:8px;background:#173f65;color:#fff;padding:8px 10px;font-size:9px;font-weight:850;cursor:pointer}
@media(max-width:720px){.assignment-grade-box{grid-template-columns:1fr}.assignment-grade-box button{width:100%}}


/* Full class management */
.class-manage-card{width:min(760px,calc(100vw - 28px));max-height:min(90vh,860px);overflow:auto}
.class-manage-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.class-manage-head h2{margin:4px 0 0}
.class-manage-head p{margin:4px 0 0;font-size:11px;color:#71869a}
.class-status-pill{flex:none;padding:6px 9px;border-radius:999px;background:#e9f7ef;color:#347653;font-size:9px;font-weight:900;letter-spacing:.08em}
.class-status-pill.closed{background:#f5e9eb;color:#9a4d58}
.class-manage-code{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:8px;align-items:center;padding:11px 12px;margin-top:11px;border:1px solid #dce6ef;border-radius:12px;background:#f8fbfd}
.class-manage-code small{display:block;font-size:8px;font-weight:900;letter-spacing:.11em;color:#6e8395}
.class-manage-code strong{display:block;margin-top:2px;font-size:18px;letter-spacing:.13em;color:#173f65}
.class-manage-code button{border:0;border-radius:8px;padding:8px 9px;background:#e9f1f7;color:#315b7b;font-size:9px;font-weight:850;cursor:pointer}
.class-manage-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:11px}
.class-status-toggle{border:1px solid #edcdd1;border-radius:10px;background:#fff2f3;color:#994d58;padding:0 13px;font-size:10px;font-weight:850;cursor:pointer}
.class-status-toggle.reopen{border-color:#cbe5d4;background:#eef9f2;color:#367654}
.class-roster-section{margin-top:18px;padding-top:16px;border-top:1px solid #e1e9ef}
.class-roster-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.class-roster-head small{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#6a8295}
.class-roster-head strong{display:inline-block;margin-top:3px;font-size:15px;color:#173a58}
.class-roster-head span{margin-left:7px;font-size:9px;color:#71869a}
.class-roster-head button{border:0;border-radius:8px;background:#edf4f9;color:#315d80;padding:7px 9px;font-size:9px;font-weight:800;cursor:pointer}
.class-roster-list{display:grid;gap:6px;max-height:330px;overflow:auto;padding-right:2px}
.class-roster-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:8px 9px;border:1px solid #e2e9ef;border-radius:10px;background:#fff}
.class-roster-row.inactive{opacity:.65;background:#f8f9fa}
.roster-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2f9;color:#2f628e;font-size:11px;font-weight:900}
.class-roster-row b{display:block;font-size:10.5px;color:#173a58}
.class-roster-row small{display:block;margin-top:2px;font-size:8.5px;color:#7b8ea0}
.class-roster-row em{font-style:normal;font-size:8.5px;font-weight:850;color:#4b7a60}
.class-roster-row.inactive em{color:#985867}
.class-roster-row button{border:0;border-radius:8px;padding:7px 8px;background:#edf4f9;color:#315d80;font-size:8.5px;font-weight:850;cursor:pointer}
.class-roster-row:not(.inactive) button{background:#f8e9eb;color:#984d58}
.class-roster-empty{padding:18px;text-align:center;border:1px dashed #d8e3eb;border-radius:10px;font-size:10px;color:#71869a}
.class-roster-note{margin:9px 0 0;font-size:9.5px;line-height:1.45;color:#7b8ea0}
#classCardGrid .class-actions{display:flex;gap:6px;flex-wrap:wrap}
#classCardGrid [data-manage-class]{background:#eef4f8;color:#315b7b}
@media(max-width:640px){
  .class-manage-head{display:block}
  .class-status-pill{display:inline-block;margin-top:8px}
  .class-manage-code{grid-template-columns:1fr 1fr}
  .class-manage-code>div{grid-column:1/-1}
  .class-manage-actions{grid-template-columns:1fr}
  .class-status-toggle{min-height:40px}
  .class-roster-row{grid-template-columns:34px 1fr auto}
  .class-roster-row em{display:none}
  .class-roster-row button{grid-column:2/-1;justify-self:start}
}

.roster-note-dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:#4f8cc4;vertical-align:middle}
.roster-student-notes{grid-column:1/-1;margin-top:2px;border-top:1px solid #edf1f4;padding-top:5px}
.roster-student-notes summary{cursor:pointer;font-size:8.5px;font-weight:800;color:#52718b;list-style:none}
.roster-student-notes summary::-webkit-details-marker{display:none}
.roster-student-notes summary:before{content:"＋";display:inline-block;margin-right:5px}
.roster-student-notes[open] summary:before{content:"−"}
.roster-note-editor{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(220px,1fr) auto;gap:7px;align-items:end;margin-top:8px}
.roster-note-editor label{display:grid;gap:4px;font-size:8px;font-weight:800;color:#61798d}
.roster-note-editor input,.roster-note-editor textarea{width:100%;border:1px solid #d5e0e8;border-radius:8px;background:#fff;padding:7px 8px;color:#173a58;font:inherit;font-weight:500;resize:vertical}
.roster-note-editor button{min-height:35px;border:0;border-radius:8px;background:#173f65;color:#fff;padding:7px 9px;font-size:8.5px;font-weight:850;cursor:pointer}
@media(max-width:640px){.roster-note-editor{grid-template-columns:1fr}.roster-note-editor button{width:100%}}


/* Teacher Assistant history */
.assistant-history-shell{margin-top:14px;border:1px solid #dce6ef;border-radius:18px;background:#fff;padding:16px}
.assistant-history-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:11px}
.assistant-history-head small{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#5b7892}
.assistant-history-head strong{display:block;margin-top:3px;font-size:16px;color:#173a58}
.assistant-history-head p{margin:4px 0 0;font-size:10.5px;color:#71869a}
.assistant-history-head button{border:0;border-radius:9px;background:#edf4f9;color:#315d80;padding:8px 10px;font-size:9px;font-weight:850;cursor:pointer}
.assistant-history-list{display:grid;gap:7px}
.assistant-history-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid #e2e9ef;border-radius:12px;background:#fbfdff}
.assistant-history-main small{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;color:#6a8295}
.assistant-history-main strong{display:block;margin-top:3px;font-size:11.5px;color:#173a58}
.assistant-history-main span{display:block;margin-top:3px;font-size:9px;color:#7b8ea0}
.assistant-history-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.assistant-history-actions button{border:0;border-radius:8px;padding:7px 9px;background:#eaf2f8;color:#315d80;font-size:8.5px;font-weight:850;cursor:pointer}
.assistant-history-actions .danger-lite{background:#f8e9eb;color:#984d58}
.assistant-history-empty{padding:17px;text-align:center;border:1px dashed #d8e3eb;border-radius:10px;font-size:10px;color:#71869a}
@media(max-width:640px){
  .assistant-history-head{display:block}
  .assistant-history-head button{margin-top:9px}
  .assistant-history-card{grid-template-columns:1fr}
  .assistant-history-actions{justify-content:flex-start}
}


/* Contextual teacher help */
.panel-header{position:relative}
.edu-help-dot{position:relative;flex:none;width:30px;height:30px;border:1px solid #d7e2eb;border-radius:50%;background:#f5f9fc;color:#315d80;font-size:12px;font-weight:1000;cursor:help;z-index:6}
.edu-help-dot::after{content:attr(data-help-text);position:absolute;right:0;top:38px;width:min(330px,70vw);padding:11px 12px;border-radius:12px;background:#102d4e;color:#fff;font-size:10px;font-weight:600;line-height:1.5;text-align:left;box-shadow:0 16px 38px rgba(8,31,59,.2);opacity:0;pointer-events:none;transform:translateY(-4px);transition:.16s ease;white-space:normal;z-index:99}
.edu-help-dot::before{content:"";position:absolute;right:9px;top:31px;border:6px solid transparent;border-bottom-color:#102d4e;opacity:0;transition:.16s ease;z-index:100}
.edu-help-dot:hover::after,.edu-help-dot:hover::before,.edu-help-dot:focus-visible::after,.edu-help-dot:focus-visible::before,.edu-help-dot.help-open::after,.edu-help-dot.help-open::before{opacity:1;transform:translateY(0)}
.edu-help-dot:hover,.edu-help-dot:focus-visible,.edu-help-dot.help-open{background:#173f65;color:#fff;border-color:#173f65}
@media(max-width:720px){
  .edu-help-dot{cursor:pointer}
  .edu-help-dot::after{position:fixed;left:14px;right:14px;top:auto;bottom:18px;width:auto;font-size:11px;line-height:1.55}
  .edu-help-dot::before{display:none}
}
