:root{
  --bg:#07111f;--panel:#0f1b2e;--text:#eef6ff;--muted:#a9bbd3;
  --brand:#38bdf8;--brand2:#facc15;--border:rgba(255,255,255,.12);
  --shadow:0 20px 55px rgba(0,0,0,.35)
}
*{box-sizing:border-box}
body{
  margin:0;font-family:'Cairo','Segoe UI',Tahoma,Arial,sans-serif;
  background:radial-gradient(circle at top left,rgba(56,189,248,.22),transparent 32%),
             radial-gradient(circle at bottom right,rgba(250,204,21,.12),transparent 34%),var(--bg);
  color:var(--text);min-height:100vh;position:relative
}
a{color:#dbeafe;text-decoration:none}
.page{max-width:1180px;margin:auto;padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:58px;height:58px;border-radius:18px;object-fit:cover;border:1px solid var(--border)}
.brand strong{display:block;font-size:24px}
.brand small{display:block;color:var(--muted);font-weight:700}
nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
nav a,.btn-small{border:1px solid var(--border);padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.04);font-weight:900}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);padding:24px;backdrop-filter:blur(8px)
}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;position:relative}
.hero h1{font-size:48px;line-height:1.02;margin:0 0 14px}
.hero p,.muted{color:var(--muted);line-height:1.7}
.logo-card{display:grid;place-items:center}
.logo-card img{width:min(420px,90%);filter:drop-shadow(0 22px 38px rgba(0,0,0,.48))}
.btn,button.btn{
  border:0;border-radius:16px;padding:13px 18px;font-weight:900;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,var(--brand),#2563eb);color:white;margin-top:10px
}
.btn.secondary,button.secondary{background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--border)}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.auth-grid{display:grid;place-items:center}
.auth-grid .card{width:min(560px,100%)}
label{display:block;margin:12px 0 6px;color:var(--muted);font-weight:800}
input,select{
  width:100%;padding:14px 15px;border-radius:16px;border:1px solid var(--border);
  background:rgba(0,0,0,.22);color:var(--text);font-size:16px;outline:none
}
select option{color:#111}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.error{color:#fecdd3}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:18px}
.welcome{background:linear-gradient(135deg,#0f2c55,#123b75);border-color:rgba(56,189,248,.35)}
.course-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}
.course-item{display:block;padding:18px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035)}
.course-item span{display:block;color:var(--muted);margin-top:8px}
.page-head{margin-bottom:18px}
.course-layout{display:grid;grid-template-columns:330px 1fr;gap:18px}
.unit{border:1px solid var(--border);border-radius:18px;margin-bottom:12px;padding:12px;background:rgba(255,255,255,.035)}
.unit a{display:block;margin-top:8px;padding:10px;border-radius:12px;background:rgba(0,0,0,.16)}
.pill{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:rgba(250,204,21,.12);color:#fde68a;font-size:12px}
.task-flow{display:grid;gap:14px}
.task-card.locked{opacity:.65}
.locked-message{border:1px dashed rgba(250,204,21,.45);border-radius:16px;padding:15px;background:rgba(250,204,21,.08);color:#fde68a;font-weight:900}
.video-box{border:1px dashed rgba(56,189,248,.45);border-radius:20px;padding:24px;text-align:center;background:rgba(56,189,248,.06);color:var(--muted);font-weight:900}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:10px 0}
.admin-course{border:1px solid var(--border);border-radius:18px;padding:16px;margin:12px 0;background:rgba(255,255,255,.035)}
footer{text-align:center;color:var(--muted);padding:24px;font-weight:800}
@media(max-width:900px){
  .hero,.dashboard-grid,.course-layout,.course-list,.two-col{grid-template-columns:1fr}
  .hero h1{font-size:36px}.topbar{align-items:flex-start;flex-direction:column}
}


/* Offline MathJax support */
mjx-container {
  direction: ltr;
  text-align: left;
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
}
.math-block {
  direction: ltr;
  text-align: left;
}


/* Ask the Teacher */
.ask-teacher-card{margin-top:18px}
.question-box{
  width:100%;
  min-height:120px;
  resize:vertical;
  padding:14px 15px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.22);
  color:var(--text);
  font-size:16px;
  outline:none;
  font-family:inherit;
}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn.whatsapp{background:linear-gradient(135deg,#22c55e,#16a34a)}
.btn.call{background:rgba(255,255,255,.08)}

/* Home language switch */
.language-switch{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.language-switch button{
  border:1px solid var(--border);
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:var(--text);
  cursor:pointer;
  font-weight:900;
}
.home-language-root[dir="rtl"]{
  direction:rtl;
  text-align:right;
}
.home-language-root[dir="rtl"] .actions,
.home-language-root[dir="rtl"] .language-switch{
  justify-content:flex-start;
}


/* Ask Teacher - initiative style v0.4 */
.ask-teacher-card.initiative-style{
  margin-top:18px;
  border-color:rgba(56,189,248,.36);
  background:linear-gradient(180deg,rgba(37,99,235,.18),rgba(255,255,255,.035));
}
.ask-teacher-card.initiative-style h2{
  text-align:center;
  color:#fde68a;
  font-size:30px;
  margin-top:0;
  margin-bottom:18px;
}
.teacher-contact-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.teacher-contact-btn{
  min-height:112px;
  border-radius:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:white;
  font-weight:900;
  box-shadow:0 18px 38px rgba(0,0,0,.28);
  transition:.15s ease;
}
.teacher-contact-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}
.teacher-contact-btn .contact-icon{
  font-size:48px;
  line-height:1;
}
.teacher-contact-btn strong{
  display:block;
  font-size:30px;
  line-height:1.05;
}
.teacher-contact-btn small{
  display:block;
  font-size:20px;
  opacity:.92;
  margin-top:7px;
}
.call-teacher-btn{
  background:linear-gradient(135deg,#38bdf8,#06b6d4);
}
.whatsapp-teacher-btn{
  background:linear-gradient(135deg,#34d399,#22c55e);
}
@media(max-width:900px){
  .teacher-contact-buttons{grid-template-columns:1fr}
  .teacher-contact-btn strong{font-size:25px}
  .teacher-contact-btn small{font-size:18px}
}


/* Ask Teacher proportional size v0.5 */
.ask-teacher-card.initiative-style{
  padding:18px;
  max-width:100%;
}
.ask-teacher-card.initiative-style h2{
  font-size:14px;
  margin-bottom:14px;
}
.teacher-contact-buttons{
  gap:12px;
}
.teacher-contact-btn{
  min-height:74px;
  border-radius:20px;
  gap:12px;
  padding:12px 16px;
}
.teacher-contact-btn .contact-icon{
  font-size:32px;
}
.teacher-contact-btn strong{
  font-size:20px;
}
.teacher-contact-btn small{
  font-size:14px;
  margin-top:4px;
}
@media(max-width:900px){
  .teacher-contact-btn{
    min-height:68px;
    border-radius:18px;
  }
  .teacher-contact-btn .contact-icon{
    font-size:28px;
  }
  .teacher-contact-btn strong{
    font-size:19px;
  }
  .teacher-contact-btn small{
    font-size:13px;
  }
}

.success{
  background:rgba(34,197,94,.14);
  border:1px solid rgba(34,197,94,.32);
  color:#bbf7d0;
  padding:12px 14px;
  border-radius:14px;
  margin:10px 0 16px;
  font-weight:800;
}


/* v0.12 Admin unit/lesson management */
.admin-course{
  border:1px solid var(--border);
  border-radius:22px;
  padding:18px;
  margin:18px 0;
  background:rgba(255,255,255,.035);
}
.mini-panel{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:14px;
  margin:14px 0;
  background:rgba(0,0,0,.16);
}
.term-box{
  border-top:1px solid rgba(255,255,255,.10);
  margin-top:18px;
  padding-top:14px;
}
.unit-admin-card{
  border:1px solid rgba(56,189,248,.22);
  border-radius:20px;
  padding:14px;
  margin:14px 0;
  background:rgba(15,23,42,.32);
}
.unit-edit-form,
.lesson-add-form{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.unit-edit-form input,
.unit-edit-form select,
.lesson-add-form input,
.lesson-add-form select,
.lesson-add-form textarea,
.compact-add input{
  width:100%;
  border:1px solid var(--border);
  border-radius:14px;
  padding:11px 12px;
  background:rgba(0,0,0,.20);
  color:var(--text);
  font-family:inherit;
}
.lesson-add-form textarea{
  min-height:90px;
  resize:vertical;
}
.danger{
  background:linear-gradient(135deg,#dc2626,#991b1b);
}
.danger-row{
  margin-top:10px;
}
.lesson-admin-list{
  display:grid;
  gap:7px;
  margin:14px 0;
}
.lesson-admin-list a{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
}
.checkbox-line{
  display:flex;
  align-items:center;
  gap:10px;
}
.checkbox-line input{
  width:auto;
}
.teacher-editor{
  border-color:rgba(250,204,21,.24);
}
.teacher-task-edit{
  margin:12px 0;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
}
.teacher-task-edit summary{
  cursor:pointer;
  font-weight:900;
}
.objectives-text,
.math-block-content{
  direction:ltr;
  text-align:left;
  overflow-x:auto;
}
@media(min-width:900px){
  .unit-edit-form{
    grid-template-columns:2fr .6fr .9fr auto;
    align-items:end;
  }
  .unit-edit-form label{
    grid-row:1;
  }
  .unit-edit-form input,
  .unit-edit-form select,
  .unit-edit-form button{
    grid-row:2;
  }
}


/* v0.13 Save animation, Question Bank, MCQ feedback, and color accents */
.save-toast{
  position:fixed;
  z-index:99999;
  top:22px;
  left:50%;
  transform:translateX(-50%) scale(.65);
  opacity:0;
  pointer-events:none;
  display:flex;
  align-items:center;
  gap:10px;
  padding:18px 24px;
  border-radius:26px;
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:white;
  font-size:24px;
  font-weight:900;
  box-shadow:0 24px 70px rgba(34,197,94,.42);
  transition:.28s ease;
}
.save-toast.show{
  transform:translateX(-50%) scale(1);
  opacity:1;
}
.save-toast-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.20);
  font-size:30px;
}
.section-icon{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  margin-inline-end:8px;
  vertical-align:middle;
  font-size:20px;
}
.section-icon.big{width:46px;height:46px;font-size:26px;border-radius:16px}
.unit-icon,.map-icon{background:rgba(56,189,248,.16);color:#67e8f9}
.lesson-icon{background:rgba(168,85,247,.18);color:#e9d5ff}
.objectives-icon{background:rgba(34,197,94,.16);color:#bbf7d0}
.example-icon{background:rgba(250,204,21,.16);color:#fde68a}
.practice-icon{background:rgba(59,130,246,.16);color:#bfdbfe}
.explanation-icon{background:rgba(14,165,233,.16);color:#bae6fd}
.bank-icon{background:rgba(244,114,182,.18);color:#fbcfe8}
.settings-icon,.term-icon{background:rgba(148,163,184,.18);color:#e2e8f0}
.lesson-title-card{border-color:rgba(168,85,247,.28)}
.objectives-card{border-color:rgba(34,197,94,.28)}
.task-type-example{border-color:rgba(250,204,21,.30)}
.task-type-practice{border-color:rgba(59,130,246,.32)}
.task-type-homework{border-color:rgba(248,113,113,.32)}
.task-type-text,.task-type-video{border-color:rgba(56,189,248,.24)}
.mcq-choice-grid{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px 10px;
  align-items:center;
}
.bank-list{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.bank-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.04);
}
.muted-pill{background:rgba(148,163,184,.12);color:#cbd5e1}
.example-box,.mcq-box{
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:16px;
  margin-top:14px;
  background:rgba(0,0,0,.16);
}
.mcq-choices{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.mcq-choice{
  width:100%;
  text-align:left;
  border:1px solid var(--border);
  border-radius:16px;
  padding:13px 14px;
  background:rgba(255,255,255,.055);
  color:var(--text);
  cursor:pointer;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.mcq-choice:hover{background:rgba(255,255,255,.09)}
.mcq-choice.correct{
  border-color:rgba(34,197,94,.75);
  background:rgba(34,197,94,.18);
}
.mcq-choice.wrong{
  border-color:rgba(239,68,68,.78);
  background:rgba(239,68,68,.16);
}
.mcq-feedback{
  margin-top:14px;
  padding:13px 16px;
  border-radius:16px;
  font-weight:900;
}
.mcq-feedback.ok{
  background:rgba(34,197,94,.16);
  color:#bbf7d0;
  border:1px solid rgba(34,197,94,.42);
}
.mcq-feedback.bad{
  background:rgba(239,68,68,.16);
  color:#fecaca;
  border:1px solid rgba(239,68,68,.42);
}
.solution-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.solution-panel{
  margin-top:12px;
  border:1px dashed rgba(250,204,21,.32);
  border-radius:18px;
  padding:14px;
  background:rgba(250,204,21,.06);
}
@media(max-width:700px){
  .save-toast{
    width:calc(100vw - 32px);
    justify-content:center;
    font-size:20px;
  }
  .bank-item{
    align-items:stretch;
    flex-direction:column;
  }
}


/* v0.14 unified MCQ bank and mode-based display */
.exam-icon{background:rgba(248,113,113,.18);color:#fecaca}
.task-type-exam{border-color:rgba(248,113,113,.34)}
.worked-example-box{
  border-color:rgba(250,204,21,.38);
  background:rgba(250,204,21,.06);
}
.mcq-choice.readonly{
  cursor:default;
}
.mcq-choice.readonly:hover{
  background:rgba(255,255,255,.055);
}
.readonly-choices .mcq-choice.correct{
  border-color:rgba(34,197,94,.78);
  background:rgba(34,197,94,.16);
}
.exam-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(248,113,113,.08);
  border:1px solid rgba(248,113,113,.18);
}


/* v0.15 source/book/learning outcome metadata */
.source-meta-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:12px;
  background:rgba(255,255,255,.035);
}
.source-pill{background:rgba(14,165,233,.14);color:#bae6fd}
.book-pill{background:rgba(250,204,21,.14);color:#fde68a}
.lo-pill{background:rgba(34,197,94,.14);color:#bbf7d0}
.question-ref{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
}
.question-ref span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);
  color:var(--muted);
}
@media(min-width:900px){
  .source-meta-grid{
    grid-template-columns:.8fr 1.2fr .8fr 1.2fr;
    align-items:center;
  }
}


/* v0.16 central bank classification + bilingual UI */
.lang-mini{
  border:1px solid var(--border);
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-radius:999px;
  padding:6px 9px;
  font-weight:900;
  cursor:pointer;
}
.lang-ar{
  direction:rtl;
}
.lang-ar .brand,
.lang-ar .teacher-contact-btn,
.lang-ar .mcq-choice,
.lang-ar .bank-item,
.lang-ar .question-ref{
  direction:rtl;
}
.lang-ar .math-block-content,
.lang-ar .objectives-text,
.lang-ar .solution-written{
  direction:ltr;
  text-align:left;
}
.grade-pill{background:rgba(99,102,241,.16);color:#c7d2fe}
.unit-mini-pill{background:rgba(56,189,248,.16);color:#bae6fd}
.lesson-mini-pill{background:rgba(168,85,247,.16);color:#e9d5ff}
.source-meta-grid input,
.source-meta-grid select{
  width:100%;
}


/* v0.17 simplified bank + term structures */
.structure-unit-card{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.055)}
.outcome-editor,.outcome-student-card{border-color:rgba(34,197,94,.26)}
.structure-bank-picker{display:grid;gap:8px;max-height:420px;overflow:auto;margin:12px 0;padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.035)}
.bank-check-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.045)}
.bank-check-row input{margin-top:4px}.bank-check-row small{display:block;color:var(--muted);margin-top:3px}


/* v0.18 teacher dashboard + clean control panel */
.teacher-main-icons .teacher-dash-card{
  text-decoration:none;
  color:var(--text);
  min-height:190px;
  transition:.18s ease;
}
.teacher-main-icons .teacher-dash-card:hover{
  transform:translateY(-3px);
  border-color:rgba(56,189,248,.35);
}
.table-scroll{
  overflow:auto;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
}
.progress-table{
  width:100%;
  border-collapse:collapse;
  min-width:850px;
}
.progress-table th,
.progress-table td{
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.10);
  text-align:left;
}
.lang-ar .progress-table th,
.lang-ar .progress-table td{
  text-align:right;
}
.progress-table th{
  background:rgba(255,255,255,.06);
  font-weight:900;
}
.progress-pill{
  display:inline-flex;
  min-width:54px;
  justify-content:center;
  border-radius:999px;
  padding:6px 10px;
  background:rgba(34,197,94,.14);
  color:#bbf7d0;
  font-weight:900;
}


/* v0.19 UI polish: auth pages, header contact, favicon-ready, watermark */
.hero-logo-watermark{
  position:absolute;
  inset:-60px -10% auto auto;
  width:520px;
  height:520px;
  background:url('/img/logo.png') center/contain no-repeat;
  opacity:.045;
  filter:blur(1px);
  pointer-events:none;
  z-index:0;
}
.hero > .card,
.hero > .logo-card{
  position:relative;
  z-index:1;
}

.auth-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:center;
}
.auth-grid .auth-card{
  width:100%;
  max-width:540px;
  justify-self:end;
}
.auth-side{
  display:grid;
  place-items:center;
  justify-self:start;
  text-align:center;
  padding:24px;
  min-height:360px;
}
.auth-side img{
  width:min(280px,80%);
  filter:drop-shadow(0 22px 38px rgba(0,0,0,.48));
  margin-bottom:18px;
}
.auth-side h2{
  font-size:20px;
  margin:0 0 10px;
  font-weight:900;
}
.auth-side p{
  color:var(--muted);
  line-height:1.7;
  max-width:340px;
}
.header-contact{
  display:flex;
  gap:8px;
  align-items:center;
}
.header-contact-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
  font-size:14px;
  color:white;
  border:1px solid transparent;
  white-space:nowrap;
}
.header-contact-btn .contact-icon{
  font-size:16px;
  line-height:1;
}
.header-contact-btn.call-teacher-btn{
  background:linear-gradient(135deg,#38bdf8,#06b6d4);
}
.header-contact-btn.whatsapp-teacher-btn{
  background:linear-gradient(135deg,#34d399,#22c55e);
}
.header-contact-btn small{
  display:none;
}
@media(min-width:640px){
  .header-contact-btn small{display:inline}
}
@media(max-width:900px){
  .auth-grid{
    grid-template-columns:1fr;
  }
  .auth-grid .auth-card,
  .auth-side{
    justify-self:center;
  }
  .auth-side{
    padding:10px;
    order:-1;
    min-height:auto;
  }
  .auth-side img{
    width:160px;
    margin-bottom:8px;
  }
  .header-contact{
    order:3;
    width:100%;
    justify-content:flex-start;
    margin-top:4px;
    flex-wrap:wrap;
  }
}
@media(max-width:520px){
  .header-contact-btn{
    padding:8px 10px;
  }
}


/* v0.22 navigation and lesson-question carousel */
.page-tools{
  display:flex;
  justify-content:flex-start;
  margin:0 0 14px;
}
.smart-back-btn{
  border-radius:999px;
  min-width:110px;
}
.quiz-carousel > .mcq-box{
  display:none;
}
.quiz-carousel > .mcq-box.active-question{
  display:block;
}
.quiz-carousel-nav{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  margin-top:14px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.quiz-counter{
  color:var(--muted);
  font-weight:900;
}
.quiz-carousel-nav button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.task-type-additional{border-color:rgba(45,212,191,.30)}
.additional-icon{background:rgba(45,212,191,.16);color:#99f6e4}
@media(max-width:700px){
  .quiz-carousel-nav{align-items:stretch;flex-direction:column}
}

/* v0.23 lesson player display - initiative style */
.lesson-player{
  max-width:1100px;
  margin:0 auto;
}
.lesson-block{
  border-radius:26px;
  padding:20px;
  overflow:hidden;
  border-color:rgba(88,166,255,.24);
  background:linear-gradient(180deg,rgba(13,22,40,.96),rgba(8,15,29,.96));
  box-shadow:0 18px 45px rgba(0,0,0,.24);
}
.lesson-block-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lesson-block-title-wrap{min-width:0;flex:1}
.lesson-task-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fde68a;
  font-weight:1000;
  font-size:13px;
  margin-bottom:10px;
}
.lesson-task-badge .section-icon{
  width:28px;
  height:28px;
  border-radius:10px;
  margin:0;
  font-size:16px;
}
.lesson-block h2{
  margin:0;
  font-size:clamp(22px,3vw,32px);
  line-height:1.25;
}
.lesson-block-sub{margin:7px 0 0;font-weight:800}
.lesson-block-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.completed-pill{background:rgba(34,197,94,.16)!important;color:#bbf7d0!important}
.lesson-video-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  margin:14px 0;
  border-radius:18px;
  border:1px solid rgba(56,189,248,.28);
  background:linear-gradient(135deg,rgba(56,189,248,.10),rgba(37,99,235,.08));
}
.lesson-video-callout strong{display:block;color:#bae6fd;font-weight:1000}
.lesson-video-callout small{display:block;color:var(--muted);font-weight:800;margin-top:3px}
.lesson-explanation-card{
  margin:14px 0;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(250,204,21,.20);
  background:rgba(250,204,21,.055);
  line-height:1.75;
}
.lesson-question-deck{margin-top:16px}
.lesson-question-card{
  background:#0d1628;
  border:1px solid rgba(88,166,255,.25);
  border-radius:24px;
  padding:18px;
  margin-top:16px;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.lesson-question-card.active-question{animation:lessonQuestionIn .18s ease both}
@keyframes lessonQuestionIn{from{opacity:.55;transform:translateY(6px)}to{opacity:1;transform:none}}
.lesson-q-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.lesson-q-header .q-num{font-size:21px;font-weight:1000;color:#e8f4ff}
.lesson-q-header .q-meta{color:#89a6c5;font-size:13px;margin-top:4px;font-weight:800;line-height:1.45}
.book-q-inline{font-size:14px;color:#fde68a}
.q-type-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:1000;
  background:linear-gradient(135deg,rgba(77,159,255,.18),rgba(123,200,255,.10));
  border:1px solid rgba(88,166,255,.25);
  color:#bae6fd;
  white-space:nowrap;
}
.lesson-question-ref{margin-bottom:12px}
.lesson-question-surface{
  background:#ffffff;
  color:#102033;
  border-radius:16px;
  padding:17px;
  line-height:1.65;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);
  direction:ltr;
  text-align:left;
  overflow:auto;
}
.lesson-question-surface .imported-figure,
.lesson-question-surface svg,
.imported-figure svg{
  max-width:100%;
  height:auto;
}
.lesson-question-surface p{margin:7px 0}
.lesson-question-surface .g12-equation,
.lesson-question-surface .math-block,
.lesson-question-surface mjx-container{
  direction:ltr;
  text-align:center!important;
}
.g12-options-grid.mcq-choices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
  direction:ltr;
}
.g12-option.mcq-choice{
  width:100%;
  min-height:58px;
  text-align:left;
  display:flex;
  align-items:center;
  gap:10px;
  border:2px solid #bdd4e2;
  border-radius:15px;
  background:#ffffff;
  color:#102033;
  padding:12px;
  cursor:pointer;
  font-weight:900;
  font-size:17px;
  touch-action:manipulation;
  user-select:none;
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  transition:.16s;
}
.g12-option.mcq-choice:hover:not(:disabled):not(.readonly){
  border-color:#3b82f6;
  background:#eff6ff;
  transform:translateY(-1px);
}
.g12-option.mcq-choice:disabled{cursor:default;opacity:1}
.g12-letter{
  min-width:36px;
  height:36px;
  border-radius:999px;
  background:#eaf6ff;
  border:2px solid #a8cfe8;
  color:#095987;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  flex:0 0 36px;
}
.g12-value{direction:ltr;text-align:left;flex:1;overflow:auto;line-height:1.35}
.g12-option.option-correct,
.g12-option.correct{
  background:#dcfce7!important;
  border-color:#22c55e!important;
  color:#064e3b!important;
}
.g12-option.option-correct .g12-letter,
.g12-option.correct .g12-letter{
  background:#22c55e!important;
  border-color:#16a34a!important;
  color:#ffffff!important;
}
.g12-option.option-wrong,
.g12-option.wrong{
  background:#fee2e2!important;
  border-color:#ef4444!important;
  color:#7f1d1d!important;
}
.g12-option.option-wrong .g12-letter,
.g12-option.wrong .g12-letter{
  background:#ef4444!important;
  border-color:#dc2626!important;
  color:#ffffff!important;
}
.g12-option.option-dim{opacity:.62}
.lesson-solution-actions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.lesson-solution-actions[hidden]{display:none!important}
.solution-help-panel{
  margin-top:14px;
  padding:0;
  border-radius:18px;
  border:1px solid rgba(88,166,255,.26);
  background:rgba(8,18,34,.72);
  overflow:hidden;
}
.solution-help-panel[hidden]{display:none!important}
.solution-help-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:linear-gradient(135deg,rgba(255,79,109,.12),rgba(77,159,255,.10));
  border-bottom:1px solid rgba(88,166,255,.18);
}
.solution-help-title{
  font-weight:1000;
  color:#ffe082;
  line-height:1.35;
}
.solution-toggle-btn{
  border:0!important;
  border-radius:999px!important;
  padding:11px 17px!important;
  min-height:auto!important;
  background:linear-gradient(135deg,#f5c842,#ffe082)!important;
  color:#1d1500!important;
  font-weight:1000!important;
  box-shadow:0 6px 18px rgba(245,200,66,.18)!important;
  cursor:pointer;
  white-space:nowrap;
}
.solution-body{
  padding:14px;
  background:#f7f9fd;
  color:#1f2937;
  max-height:56vh;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.solution-body .coded-solution-box{
  max-width:100%;
  margin:0;
  background:#ffffff;
  color:#222;
  border:1px solid #d8e2ee;
  border-radius:14px;
  padding:16px;
  box-shadow:none;
  font-family:"Segoe UI", Tahoma, Arial, sans-serif;
  direction:ltr;
  text-align:left;
}
.solution-body .coded-solution-box > .coded-solution-box{
  border:0;
  padding:0;
  box-shadow:none;
}
.solution-body .coded-question-box{
  background:#f1f6ff;
  border-left:5px solid #2b6cb0;
  padding:14px;
  margin:12px 0;
  border-radius:8px;
}
.solution-body .coded-step{
  background:#fafafa;
  border:1px solid #e5e5e5;
  padding:12px;
  margin:12px 0;
  border-radius:8px;
  line-height:1.75;
}
.solution-body .coded-final-answer{
  background:#ecfff3;
  border:1px solid #8dd7a5;
  padding:14px;
  margin:14px 0 0;
  border-radius:8px;
  font-weight:800;
}
.solution-body mjx-container{
  direction:ltr;
  text-align:center!important;
}
.mcq-feedback.ok::before{content:""}
.mcq-feedback.bad::before{content:""}
.quiz-carousel > .lesson-question-deck > .mcq-box,
.lesson-question-deck.question-deck > .mcq-box{
  display:none;
}
.quiz-carousel > .lesson-question-deck > .mcq-box.active-question,
.lesson-question-deck.question-deck > .mcq-box.active-question{
  display:block;
}
.quiz-carousel-nav{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:13px;
  border:1px solid rgba(88,166,255,.25);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(13,31,58,.92),rgba(7,14,27,.92));
}
.quiz-nav-center{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
  min-width:0;
}
.quiz-counter{
  color:#e8f4ff;
  font-weight:1000;
}
.quiz-progress-track{
  width:min(280px,100%);
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
.quiz-progress-fill{
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#22c55e,#4d9fff);
  transition:.22s ease;
}
.quiz-jump-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin-top:8px;
}
.quiz-jump{
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(88,166,255,.25);
  background:rgba(255,255,255,.06);
  color:#cfe6ff;
  font-weight:1000;
  cursor:pointer;
}
.quiz-jump.active{
  background:linear-gradient(135deg,#1d4ed8,#38bdf8);
  color:white;
  border-color:transparent;
}
.quiz-carousel-nav .btn{
  min-width:125px;
  justify-content:center;
  display:inline-flex;
}
.quiz-carousel-nav button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
.lesson-complete-form{margin-top:16px}
.lang-ar .lesson-block,
.lang-ar .lesson-q-header,
.lang-ar .lesson-video-callout,
.lang-ar .lesson-block-head{
  direction:rtl;
  text-align:right;
}
.lang-ar .lesson-question-surface,
.lang-ar .g12-options-grid,
.lang-ar .g12-option,
.lang-ar .g12-value,
.lang-ar .solution-body,
.lang-ar .solution-body .coded-solution-box{
  direction:ltr;
  text-align:left;
}
@media(max-width:760px){
  .lesson-block{padding:15px;border-radius:22px}
  .lesson-block-head{flex-direction:column}
  .lesson-block-meta{justify-content:flex-start}
  .lesson-video-callout{align-items:stretch;flex-direction:column}
  .g12-options-grid.mcq-choices{grid-template-columns:1fr}
  .lesson-question-card{padding:14px;border-radius:20px}
  .lesson-question-surface{padding:14px}
  .g12-option.mcq-choice{font-size:16px}
  .quiz-carousel-nav{grid-template-columns:1fr;align-items:stretch}
  .quiz-carousel-nav .btn{width:100%;min-width:0}
  .solution-help-head{align-items:stretch;flex-direction:column}
  .solution-toggle-btn{width:100%}
  .solution-body{max-height:60vh}
}

/* v0.25 teacher lesson action icons */
.lesson-teacher-actions{
  display:flex;
  align-items:stretch;
  justify-content:flex-start;
  gap:12px;
  flex-wrap:wrap;
  margin:-6px 0 18px;
  padding:14px;
  border-color:rgba(250,204,21,.30);
  background:linear-gradient(135deg,rgba(250,204,21,.10),rgba(56,189,248,.055));
}
.teacher-action-form{
  margin:0;
  display:inline-flex;
}
.teacher-action-icon,
button.teacher-action-icon{
  appearance:none;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  min-width:150px;
  min-height:74px;
  padding:12px 16px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:rgba(255,255,255,.075);
  color:var(--text);
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  transition:.15s ease;
  text-align:center;
  font-family:inherit;
  font-size:14px;
}
.teacher-action-icon:hover{
  transform:translateY(-2px);
  border-color:rgba(56,189,248,.45);
  background:rgba(255,255,255,.11);
}
.teacher-action-emoji{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:14px;
  font-size:22px;
  background:rgba(255,255,255,.10);
}
.clear-action{border-color:rgba(250,204,21,.35)!important}
.clear-action .teacher-action-emoji{background:rgba(250,204,21,.16)}
.edit-action{border-color:rgba(56,189,248,.35)!important}
.edit-action .teacher-action-emoji{background:rgba(56,189,248,.16)}
.delete-action{border-color:rgba(248,113,113,.40)!important;background:rgba(127,29,29,.22)!important}
.delete-action .teacher-action-emoji{background:rgba(248,113,113,.20)}
@media(max-width:640px){
  .lesson-teacher-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .teacher-action-form,.teacher-action-icon,button.teacher-action-icon{width:100%;min-width:0}
}

/* v0.26: teacher lesson icons directly beside every lesson row in Class Editor */
.lesson-admin-row{
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.lesson-admin-list .lesson-admin-row a.lesson-admin-open{
  padding:0;
  background:transparent;
  border-radius:0;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.lesson-admin-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
}
.lesson-admin-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.lesson-admin-actions form{
  margin:0;
  display:inline-flex;
}
.mini-lesson-action,
button.mini-lesson-action{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.075);
  color:var(--text);
  min-width:78px;
  min-height:46px;
  padding:7px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-family:inherit;
  font-weight:1000;
  cursor:pointer;
  transition:.15s ease;
  text-decoration:none;
}
.mini-lesson-action span{font-size:18px;line-height:1}
.mini-lesson-action b{font-size:12px;line-height:1}
.mini-lesson-action:hover{
  transform:translateY(-1px);
  border-color:rgba(56,189,248,.45);
  background:rgba(255,255,255,.12);
}
.mini-lesson-action.clear{border-color:rgba(250,204,21,.28);background:rgba(250,204,21,.10)}
.mini-lesson-action.edit{border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.10)}
.mini-lesson-action.delete{border-color:rgba(248,113,113,.34);background:rgba(248,113,113,.10)}
@media (max-width:780px){
  .lesson-admin-row{grid-template-columns:1fr;align-items:stretch}
  .lesson-admin-actions{justify-content:flex-start}
  .mini-lesson-action,button.mini-lesson-action{min-width:0;flex:1}
  .lesson-admin-title{white-space:normal}
}


/* v0.27 header Ask Teacher card + level-up back */
.ask-teacher-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  padding:10px 12px;
  border:1px solid rgba(56,189,248,.30);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(255,255,255,.035));
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  min-width:310px;
}
.header-contact-title{
  color:#fde68a;
  font-size:15px;
  line-height:1;
  font-weight:1000;
  text-align:center;
}
.header-contact-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  width:100%;
}
.ask-teacher-top .header-contact-btn{
  min-height:54px;
  border-radius:17px;
  justify-content:center;
  padding:9px 12px;
  gap:8px;
  font-weight:1000;
  box-shadow:0 10px 20px rgba(0,0,0,.20);
}
.ask-teacher-top .contact-icon{
  font-size:24px;
}
.header-contact-text{display:flex;flex-direction:column;line-height:1.08}
.header-contact-text strong{font-size:14px;color:white;white-space:nowrap}
.ask-teacher-top .header-contact-btn small{
  display:block;
  font-size:11px;
  opacity:.92;
  margin-top:3px;
}
.smart-back-btn{
  text-decoration:none;
  margin-top:0;
}
@media(max-width:980px){
  .ask-teacher-top{order:3;width:100%;min-width:0;align-items:stretch}
  .header-contact-title{text-align:left}
  .lang-ar .header-contact-title{text-align:right}
}
@media(max-width:560px){
  .header-contact-actions{grid-template-columns:1fr}
  .ask-teacher-top .header-contact-btn{width:100%}
}


/* v0.29 Add lesson only + initiative Ask Teacher header */
.lesson-add-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:center;
}
.lesson-add-actions .btn{width:100%;margin-top:10px}
@media(max-width:620px){.lesson-add-actions{grid-template-columns:1fr}}

.topbar{flex-wrap:wrap}
.ask-teacher-top.initiative-contact{
  min-width:min(560px,100%);
  max-width:640px;
  padding:14px;
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(77,159,255,.16),rgba(167,139,250,.08)),
    rgba(13,22,40,.88);
  border:1px solid rgba(123,200,255,.35);
  box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 24px rgba(77,159,255,.10);
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:0 1 560px;
}
.ask-teacher-top.initiative-contact .ask-title{
  text-align:center;
  color:#ffe08a;
  font-size:18px;
  font-weight:1000;
  letter-spacing:.2px;
  line-height:1;
}
.ask-teacher-top.initiative-contact .ask-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.ask-teacher-top.initiative-contact .contact-option{
  min-height:70px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  font-weight:1000;
  position:relative;
  overflow:hidden;
  transition:.18s;
  box-shadow:0 12px 26px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.16);
}
.ask-teacher-top.initiative-contact .contact-option::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 55%);
  pointer-events:none;
}
.ask-teacher-top.initiative-contact .contact-option:hover{transform:translateY(-2px);filter:brightness(1.08)}
.ask-teacher-top.initiative-contact .call-option{background:linear-gradient(135deg,#0891b2,#22d3ee)}
.ask-teacher-top.initiative-contact .whatsapp-option{background:linear-gradient(135deg,#128c7e,#25d366)}
.ask-teacher-top.initiative-contact .contact-symbol{
  width:34px;
  height:34px;
  display:inline-grid;
  place-items:center;
  flex:0 0 34px;
  opacity:.96;
  z-index:1;
}
.ask-teacher-top.initiative-contact .contact-symbol svg{width:34px;height:34px}
.ask-teacher-top.initiative-contact .option-text{
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.05;
  text-align:left;
  z-index:1;
}
.lang-ar .ask-teacher-top.initiative-contact .option-text{text-align:right}
.ask-teacher-top.initiative-contact .option-text strong{font-size:18px;color:#fff;white-space:nowrap}
.ask-teacher-top.initiative-contact .option-text small{
  font-size:13px;
  font-weight:900;
  opacity:.95;
  direction:ltr;
  color:rgba(255,255,255,.88);
}
@media(max-width:980px){
  .ask-teacher-top.initiative-contact{order:3;width:100%;min-width:0;max-width:none;flex-basis:100%}
}
@media(max-width:560px){
  .ask-teacher-top.initiative-contact .ask-options{grid-template-columns:1fr}
}

/* v0.30 Student course map + lesson package studio */
.course-student-head{max-width:980px;margin-left:auto;margin-right:auto}
.course-map-shell{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:18px;
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}
.course-map-units{
  position:sticky;
  top:16px;
  display:grid;
  gap:10px;
}
.unit-map-card{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:13px;
  background:rgba(255,255,255,.04);
  color:var(--text);
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
  transition:.16s ease;
}
.lang-ar .unit-map-card{text-align:right}
.unit-map-card:hover,.unit-map-card.active{
  border-color:rgba(56,189,248,.55);
  background:linear-gradient(135deg,rgba(56,189,248,.14),rgba(37,99,235,.08));
  transform:translateY(-1px);
}
.unit-map-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(56,189,248,.14);
  font-size:23px;
}
.unit-map-text strong{display:block;font-size:14px;line-height:1.35}
.unit-map-text small{display:block;color:var(--muted);margin-top:4px;font-weight:800}
.course-map-main{display:grid;gap:14px;min-width:0}
.course-map-coverage{border-color:rgba(34,197,94,.26)}
.coverage-links{display:grid;gap:8px;margin-top:10px}
.unit-lessons-panel{display:none;min-height:380px}
.unit-lessons-panel.active{display:block;animation:lessonPanelIn .16s ease both}
@keyframes lessonPanelIn{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}
.unit-lessons-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.unit-lessons-head h2{display:inline;margin:0;font-size:24px;vertical-align:middle}
.lesson-map-table{display:grid;gap:10px}
.lesson-map-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px 180px;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(13,22,40,.72);
  color:var(--text);
}
.lesson-map-header-row{
  background:rgba(255,255,255,.045);
  color:#93c5fd;
  font-weight:1000;
  font-size:13px;
  text-transform:none;
}
.lesson-map-link{transition:.16s ease;text-decoration:none}
.lesson-map-link:hover{
  transform:translateY(-1px);
  border-color:rgba(56,189,248,.42);
  background:rgba(56,189,248,.08);
}
.lesson-map-title{display:flex;align-items:center;gap:10px;min-width:0}
.lesson-map-title strong{display:block;line-height:1.35}
.lesson-map-title small{display:block;margin-top:3px}
.lesson-status-pill{
  justify-self:start;
  min-width:118px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  font-weight:1000;
  font-size:13px;
  border:1px solid rgba(255,255,255,.12);
}
.lesson-status-pill.completed{background:rgba(34,197,94,.16);color:#bbf7d0;border-color:rgba(34,197,94,.36)}
.lesson-status-pill.inprogress{background:rgba(250,204,21,.16);color:#fde68a;border-color:rgba(250,204,21,.36)}
.lesson-status-pill.notstarted{background:rgba(148,163,184,.14);color:#e2e8f0;border-color:rgba(148,163,184,.28)}
.lesson-status-pill.locked{background:rgba(248,113,113,.12);color:#fecaca;border-color:rgba(248,113,113,.32)}
.exit-ticket-score{
  justify-self:stretch;
  display:grid;
  gap:4px;
  text-align:center;
  border-radius:16px;
  padding:9px 12px;
  background:rgba(15,23,42,.72);
  border:1px solid rgba(255,255,255,.08);
}
.exit-ticket-score small{color:#93a7c2;font-size:12px;font-weight:900}
.exit-ticket-score strong{font-size:17px;color:#dbeafe;line-height:1.1}
.exit-ticket-score.has-score{background:rgba(37,99,235,.16);border-color:rgba(59,130,246,.28)}
.exit-ticket-score.has-score strong{color:#bfdbfe}
.exit-ticket-score.no-score strong{font-size:13px;color:#93a7c2}
.empty-lessons-box{
  display:grid;
  place-items:center;
  min-height:180px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:20px;
  color:var(--muted);
  font-weight:900;
}
.lang-ar .course-map-shell{direction:rtl}
.lang-ar .lesson-map-row,.lang-ar .lesson-map-title{direction:rtl;text-align:right}
.lang-ar .exit-ticket-score{text-align:center}
@media(max-width:980px){
  .course-map-shell{grid-template-columns:1fr}
  .course-map-units{position:static}
  .lesson-map-row{grid-template-columns:1fr;align-items:stretch}
  .lesson-status-pill{justify-self:start}
  .exit-ticket-score{text-align:left}
  .lang-ar .exit-ticket-score{text-align:right}
}

.lesson-workspace{
  max-width:1240px;
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.lesson-content-map{
  position:sticky;
  top:16px;
  padding:18px;
}
.lesson-content-map h2{font-size:20px;margin-top:0}
.lesson-mini-map-list{display:grid;gap:8px}
.lesson-mini-map-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  color:var(--text);
}
.lesson-mini-map-item:hover{border-color:rgba(56,189,248,.36);background:rgba(56,189,248,.08)}
.mini-map-order{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:rgba(56,189,248,.15);color:#bae6fd;font-weight:1000}
.mini-map-body{min-width:0}
.mini-map-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.mini-map-body small{display:block;color:var(--muted);margin-top:2px;font-size:12px;font-weight:800}
.mini-map-state{width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:rgba(148,163,184,.16);color:#cbd5e1;font-weight:1000}
.mini-map-state.done{background:rgba(34,197,94,.18);color:#bbf7d0}
.lesson-main-flow{min-width:0}
.lesson-author-studio{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  max-width:1120px;
  margin:0 auto 18px;
}
.lesson-author-panel{padding:0;overflow:hidden;border-color:rgba(250,204,21,.22)}
.lesson-author-panel summary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  font-weight:1000;
  background:rgba(255,255,255,.045);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lesson-author-panel summary::-webkit-details-marker{display:none}
.lesson-author-panel > form,.lesson-author-panel > p{padding-left:18px;padding-right:18px}
.lesson-author-panel .lesson-add-form{padding:0 18px 18px}
.package-import-form{border-top:1px solid rgba(255,255,255,.08);padding-top:12px!important;margin-top:12px}
.task-order-tools{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  margin:0 0 10px;
}
.task-order-tools form{margin:0;display:inline-flex}
.task-type-exitticket{border-color:rgba(251,146,60,.35)}
@media(max-width:980px){
  .lesson-workspace{grid-template-columns:1fr}
  .lesson-content-map{position:static}
  .lesson-author-studio{grid-template-columns:1fr}
}


/* v0.31 teacher student-preview mode */
.teacher-preview-banner{
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(255,214,102,.45);
  background:linear-gradient(135deg, rgba(255,214,102,.16), rgba(0,171,255,.10));
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.teacher-preview-banner strong{
  color:#ffe28a;
  font-size:18px;
  white-space:nowrap;
}
.teacher-preview-banner span{
  color:rgba(255,255,255,.88);
  line-height:1.5;
}
.course-preview-banner{
  margin-top:14px;
}
@media (max-width: 760px){
  .teacher-preview-banner{align-items:flex-start;flex-direction:column;gap:8px}
  .teacher-preview-banner strong{white-space:normal}
}

/* v0.32 Student Academy Hero - initiative inspired */
body.student-experience{
  background:
    radial-gradient(ellipse 80% 45% at 20% 0%, rgba(30,80,160,.28), transparent 60%),
    radial-gradient(ellipse 60% 40% at 85% 85%, rgba(15,40,100,.24), transparent 65%),
    #060c17;
}
.page.student-shell{
  max-width:none;
  width:100%;
  padding:0;
}
.student-shell main{
  width:min(1160px,100%);
  margin:0 auto;
  padding:20px 14px 40px;
}
.student-shell footer{
  width:min(1160px,100%);
  margin:0 auto;
}
.academy-student-hero{
  width:100%;
  padding:26px 18px 22px;
  background:linear-gradient(135deg,rgba(13,22,40,.98),rgba(20,35,65,.95));
  border-bottom:1px solid rgba(88,166,255,.25);
  position:relative;
  overflow:hidden;
}
.academy-student-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg, transparent, #4d9fff, transparent);
}
.academy-hero-inner{
  max-width:1160px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:20px;
  position:relative;
}
.academy-logo-wrap{
  width:90px;
  height:90px;
  border-radius:22px;
  background:#131f35;
  border:1px solid rgba(88,166,255,.25);
  box-shadow:0 0 30px rgba(77,159,255,.18),0 12px 35px rgba(0,0,0,.45);
  overflow:hidden;
  flex:0 0 auto;
}
.academy-logo{
  width:100%;height:100%;object-fit:contain;padding:8px;display:block;
}
.academy-hero-text h1{
  margin:0;
  font-size:clamp(26px,4vw,46px);
  font-weight:1000;
  line-height:1.08;
  color:#fff;
}
.academy-title-ar{font-weight:1000;letter-spacing:.2px;direction:rtl;display:inline-block}
.academy-title-en{font-size:.82em;font-weight:1000;letter-spacing:.2px;display:inline-block;color:#fff}
.academy-subtitle{
  margin-top:8px;
  color:#89a6c5;
  font-size:clamp(13px,1.7vw,16px);
  font-weight:700;
}
.academy-subtitle strong{color:#7bc8ff}
.academy-badges{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;
}
.academy-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(77,159,255,.10);
  border:1px solid rgba(77,159,255,.26);
  color:#7bc8ff;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  font-weight:900;
}
.academy-badge-gold{
  background:rgba(245,200,66,.10);
  border-color:rgba(245,200,66,.34);
  color:#ffe082;
}
.academy-lang-toggle{
  position:absolute;
  top:16px;right:16px;
  background:#131f35;
  border:1px solid rgba(88,166,255,.25);
  color:#7bc8ff;
  border-radius:12px;
  padding:8px 14px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  z-index:5;
  box-shadow:none;
  margin:0;
}
.academy-student-dock{
  width:min(1160px,100%);
  margin:20px auto 0;
  padding:0 14px;
  display:flex;
  gap:12px;
  align-items:stretch;
  justify-content:space-between;
  flex-wrap:wrap;
}
.academy-welcome-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  min-width:260px;
  flex:1 1 260px;
  max-width:340px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(148,163,184,.35);
  border-radius:18px;
  padding:14px 18px;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.academy-welcome-label{
  font-size:clamp(24px,3.2vw,34px);
  font-weight:1000;
  color:#1e40af;
  letter-spacing:.2px;
  line-height:1.15;
}
.academy-welcome-name{
  font-size:clamp(18px,2.4vw,26px);
  font-weight:900;
  color:#1e40af;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.academy-ask-card{
  flex:2 1 520px;
  min-width:min(520px,100%);
  max-width:640px;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(77,159,255,.16),rgba(167,139,250,.08)),#131f35;
  border:1px solid rgba(123,200,255,.35);
  box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 24px rgba(77,159,255,.10);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.academy-ask-title{
  text-align:center;
  color:#ffe082;
  font-size:18px;
  font-weight:1000;
  letter-spacing:.2px;
  line-height:1;
}
.academy-ask-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.academy-contact-option{
  min-height:70px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  font-weight:1000;
  position:relative;
  overflow:hidden;
  transition:.18s;
  box-shadow:0 12px 26px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.16);
}
.academy-contact-option::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 55%);
  pointer-events:none;
}
.academy-contact-option:hover{transform:translateY(-2px);filter:brightness(1.08)}
.academy-call-option{background:linear-gradient(135deg,#0891b2,#22d3ee)}
.academy-whatsapp-option{background:linear-gradient(135deg,#128c7e,#25d366)}
.academy-contact-symbol{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 34px;opacity:.96}
.academy-contact-symbol svg{width:34px;height:34px}
.academy-option-text{display:flex;flex-direction:column;gap:3px;line-height:1.05;text-align:left}
body.lang-ar .academy-option-text{text-align:right}
.academy-option-text strong{font-size:18px}
.academy-option-text small{font-size:13px;font-weight:900;opacity:.95;direction:ltr;color:rgba(255,255,255,.88)}
.academy-quick-btn{
  min-width:110px;
  min-height:70px;
  border-radius:18px;
  padding:14px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  color:#fff;
  text-decoration:none;
  box-shadow:0 12px 26px rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
}
.academy-resume-btn{background:#1a2840;color:#fff}
.academy-logout-btn{background:linear-gradient(135deg,#9b1c1c,#ef4444);color:#fff}
.student-shell .page-tools{
  width:min(1160px,100%);
  margin:14px auto 0;
  padding:0 14px;
}
.student-shell .page-tools .btn{
  margin-top:0;
}
.student-shell .course-student-head,
.student-shell .lesson-title-card{
  display:none;
}
.student-dashboard-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.student-dashboard-card{
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.student-dashboard-card .big-stat{
  font-size:36px;
  font-weight:1000;
  color:#ffe082;
  line-height:1;
}
@media(max-width:900px){
  .academy-hero-inner{flex-direction:column;text-align:center;padding-top:18px}
  .academy-badges{justify-content:center}
  .academy-student-dock{display:grid;grid-template-columns:1fr;align-items:stretch}
  .academy-welcome-card,.academy-ask-card{max-width:none;min-width:0;width:100%}
  .academy-quick-btn{min-height:58px;width:100%}
  .student-dashboard-cards{grid-template-columns:1fr}
}
@media(max-width:620px){
  .academy-ask-options{grid-template-columns:1fr}
  .academy-student-hero{padding:58px 14px 20px}
  .academy-lang-toggle{right:14px;top:14px}
}

/* v0.33 Login / Landing page - initiative inspired */
body.landing-experience{
  background:
    radial-gradient(ellipse 68% 42% at 13% 0%, rgba(30,94,170,.24), transparent 60%),
    radial-gradient(ellipse 56% 46% at 86% 82%, rgba(4,115,180,.17), transparent 64%),
    linear-gradient(180deg,#060d18 0%,#07111f 46%,#040a12 100%);
  overflow-x:hidden;
}
.page.landing-shell{
  max-width:none;
  width:100%;
  padding:0;
}
.landing-shell main{
  width:100%;
}
.landing-shell footer{
  padding:8px 16px 12px;
  color:#a9bbd3;
  font-size:13px;
}
@media(min-width:960px){
  body.landing-experience{overflow:hidden}
  .page.landing-shell{min-height:100vh;display:flex;flex-direction:column}
  .landing-shell main{flex:1;display:flex;min-height:0}
  .landing-shell footer{flex:0 0 auto}
}
.login-landing{
  min-height:calc(100vh - 42px);
  position:relative;
  padding:18px clamp(16px,3.4vw,46px) 8px;
  isolation:isolate;
}
@media(min-width:960px){
  .login-landing{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
}
.login-landing::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 58%, rgba(56,189,248,.12), transparent 24%),
    radial-gradient(circle at 18% 78%, rgba(147,51,234,.08), transparent 26%);
  pointer-events:none;
  z-index:-2;
}
.login-landing::after{
  content:"";
  position:absolute;
  inset:auto 0 49% 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(56,189,248,.72),transparent);
  box-shadow:0 0 18px rgba(56,189,248,.45);
  pointer-events:none;
  z-index:-1;
}
.landing-language-btn{
  position:absolute;
  top:16px;
  right:clamp(16px,3.4vw,46px);
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  border-radius:18px;
  border:1px solid rgba(120,170,230,.26);
  background:rgba(8,20,38,.55);
  color:#f8fbff;
  font-weight:900;
  cursor:pointer;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.landing-globe{font-size:19px;color:#dbeafe}
.landing-hero-header{
  width:min(1180px,100%);
  margin:0 auto;
  padding-right:132px;
}
body.lang-ar .landing-hero-header{padding-right:0;padding-left:160px}
.landing-brand-lockup{
  display:flex;
  align-items:center;
  gap:16px;
}
.landing-logo-frame{
  width:86px;
  height:86px;
  border-radius:22px;
  border:1px solid rgba(56,189,248,.55);
  background:linear-gradient(180deg,rgba(33,55,88,.8),rgba(4,12,24,.72));
  display:grid;
  place-items:center;
  box-shadow:0 0 28px rgba(56,189,248,.22), 0 20px 50px rgba(0,0,0,.38);
  overflow:hidden;
  flex:0 0 auto;
}
.landing-logo-frame img{width:95%;height:95%;object-fit:contain;padding:7px}
.landing-title-block h1{
  margin:0;
  line-height:1.02;
  font-weight:1000;
}
.landing-title-ar{
  display:block;
  color:#fff;
  font-size:clamp(34px,4.4vw,52px);
  letter-spacing:.2px;
  text-shadow:0 10px 35px rgba(0,0,0,.35);
}
.landing-title-en{
  display:block;
  margin-top:4px;
  font-size:clamp(32px,4vw,48px);
  color:#38bdf8;
  letter-spacing:-1px;
  text-shadow:0 0 24px rgba(56,189,248,.25);
}
.landing-subtitle{
  margin:8px 0 0;
  color:#d8e7fb;
  font-size:clamp(14px,1.55vw,18px);
  font-weight:700;
}
.landing-subtitle strong{color:#38bdf8;font-weight:1000}
.landing-badges{
  margin-top:13px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.landing-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:14px;
  font-size:13px;
  font-weight:1000;
  background:rgba(8,20,38,.68);
  border:1px solid rgba(56,189,248,.34);
  box-shadow:0 14px 32px rgba(0,0,0,.18);
}
.landing-badge-blue{color:#38bdf8}
.landing-badge-cyan{color:#22d3ee;border-color:rgba(34,211,238,.34)}
.landing-badge-gold{color:#fde68a;border-color:rgba(250,204,21,.38)}
.landing-divider{
  height:1px;
  width:calc(100% + clamp(36px,8vw,116px));
  margin:16px calc(clamp(16px,3.4vw,46px) * -1) 0;
  background:linear-gradient(90deg,rgba(56,189,248,.55),rgba(56,189,248,.26),rgba(56,189,248,.55));
}
.landing-main-grid{
  width:min(1180px,100%);
  margin:18px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
}
.landing-card{
  position:relative;
  min-height:342px;
  border-radius:26px;
  border:1px solid rgba(170,205,250,.28);
  background:linear-gradient(145deg,rgba(19,38,62,.78),rgba(8,18,34,.78));
  box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  backdrop-filter:blur(10px);
}
.landing-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 25% 0%, rgba(56,189,248,.12), transparent 46%);
  pointer-events:none;
}
.landing-action-card{
  padding:26px 34px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.landing-welcome-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
  position:relative;
  z-index:1;
}
.landing-wave{
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(56,189,248,.12);
  border:1px solid rgba(56,189,248,.18);
}
.landing-welcome{
  color:#38bdf8;
  font-size:26px;
  font-weight:1000;
}
.landing-action-card h2{
  margin:0;
  position:relative;
  z-index:1;
  font-size:clamp(30px,3.5vw,42px);
  line-height:1.05;
  font-weight:1000;
  color:#fff;
}
.landing-action-card h2 span{display:block}
.landing-gradient-blue{
  color:#38bdf8;
  text-shadow:0 0 18px rgba(56,189,248,.22);
}
.landing-gradient-purple{
  color:#a78bfa;
  text-shadow:0 0 18px rgba(167,139,250,.23);
}
.landing-action-card p{
  margin:16px 0 0;
  position:relative;
  z-index:1;
  max-width:520px;
  color:#dbe7f7;
  font-size:17px;
  line-height:1.42;
  font-weight:600;
}
.landing-actions{
  margin-top:20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  position:relative;
  z-index:1;
}
.landing-btn{
  min-height:56px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  font-size:24px;
  font-weight:1000;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 35px rgba(0,0,0,.25);
  transition:.16s ease;
}
.landing-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.landing-btn-primary{background:linear-gradient(135deg,#13b8ff,#1d4ed8)}
.landing-btn-secondary{background:rgba(255,255,255,.07)}
.landing-approval-note{
  margin:18px 0 8px;
  display:flex;
  align-items:center;
  gap:16px;
  color:#dbeafe;
  position:relative;
  z-index:1;
}
.landing-note-line{height:1px;background:rgba(170,205,250,.25);flex:1}
.landing-shield{
  width:30px;height:30px;border-radius:999px;
  display:grid;place-items:center;
  border:1px solid rgba(170,205,250,.32);
  color:#dbeafe;
}
.landing-access-text{
  text-align:center;
  color:#d8e7fb;
  font-size:18px;
  font-weight:700;
  position:relative;
  z-index:1;
}
.landing-logo-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:26px;
}
.landing-logo-card::after{
  content:"";
  position:absolute;
  inset:16% 10%;
  background:
    repeating-radial-gradient(circle at center, rgba(56,189,248,.20) 0 1px, transparent 1px 34px),
    radial-gradient(circle at center, rgba(56,189,248,.18), transparent 58%);
  opacity:.5;
  pointer-events:none;
}
.landing-logo-card img{
  width:min(260px,72%);
  max-height:205px;
  object-fit:contain;
  filter:drop-shadow(0 28px 32px rgba(0,0,0,.48));
  position:relative;
  z-index:1;
}
.landing-logo-card h2{
  margin:18px 0 0;
  color:#fde68a;
  font-size:clamp(18px,2vw,24px);
  line-height:1.25;
  font-weight:900;
  position:relative;
  z-index:1;
}
.landing-gold-underline{
  margin-top:16px;
  width:84px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#38bdf8,transparent);
  box-shadow:0 0 16px rgba(56,189,248,.65);
  position:relative;
  z-index:1;
}

@media(min-width:960px) and (max-height:720px){
  .landing-language-btn{top:12px;padding:7px 11px;font-size:13px}
  .landing-logo-frame{width:74px;height:74px;border-radius:19px}
  .landing-title-ar{font-size:clamp(30px,4vw,44px)}
  .landing-title-en{font-size:clamp(28px,3.6vw,42px)}
  .landing-subtitle{font-size:14px;margin-top:5px}
  .landing-badges{margin-top:9px;gap:8px}
  .landing-badge{padding:6px 10px;font-size:12px;border-radius:12px}
  .landing-divider{margin-top:11px}
  .landing-main-grid{margin-top:13px;gap:18px}
  .landing-card{min-height:300px;border-radius:24px}
  .landing-action-card{padding:20px 30px 18px}
  .landing-welcome-row{margin-bottom:10px}
  .landing-wave{width:32px;height:32px}
  .landing-welcome{font-size:18px}
  .landing-action-card h2{font-size:clamp(27px,3vw,36px)}
  .landing-action-card p{font-size:15px;margin-top:12px;max-width:460px}
  .landing-actions{margin-top:16px;gap:12px}
  .landing-btn{min-height:50px;font-size:16px}
  .landing-approval-note{margin:13px 0 6px}
  .landing-shield{width:26px;height:26px}
  .landing-access-text{font-size:12.5px}
  .landing-logo-card img{width:min(220px,68%);max-height:176px}
  .landing-logo-card h2{font-size:19px;margin-top:14px}
  .landing-gold-underline{margin-top:12px}
  .landing-shell footer{padding:4px 12px 8px;font-size:12px}
}

body.lang-ar .login-landing{direction:rtl;text-align:right}
body.lang-ar .landing-language-btn{right:auto;left:clamp(18px,4vw,58px)}
body.lang-ar .landing-actions{direction:ltr}
body.lang-ar .landing-actions .landing-btn{direction:rtl}
body.lang-ar .landing-logo-card{text-align:center}
body.lang-ar .landing-access-text{text-align:center}
@media(max-width:1050px){
  .landing-main-grid{grid-template-columns:1fr}
  .landing-card{min-height:auto}
  .landing-logo-card{min-height:430px}
  .landing-hero-header, body.lang-ar .landing-hero-header{padding-left:0;padding-right:0}
}
@media(max-width:720px){
  .login-landing{padding-top:76px}
  .landing-brand-lockup{flex-direction:column;text-align:center}
  .landing-badges{justify-content:center}
  .landing-main-grid{margin-top:24px;gap:18px}
  .landing-action-card{padding:28px 22px}
  .landing-actions{grid-template-columns:1fr;gap:14px}
  .landing-btn{min-height:62px;font-size:20px}
  .landing-action-card p{font-size:18px}
  .landing-logo-frame{width:98px;height:98px}
  .landing-title-ar{font-size:42px}
  .landing-title-en{font-size:38px}
}

/* v0.35 Student Profile Phase 1 */
.profile-shell {
    display: grid;
    gap: 18px;
}
.profile-hero-card {
    display: flex;
    align-items: center;
    gap: 18px;
    overflow: hidden;
    position: relative;
}
.profile-hero-card::after {
    content: "";
    position: absolute;
    inset: auto -80px -120px auto;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(38, 198, 218, .18), transparent 65%);
    pointer-events: none;
}
.profile-photo-wrap {
    flex: 0 0 auto;
    width: 96px;
    height: 96px;
    padding: 4px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(251, 191, 36, .95), rgba(37, 211, 102, .75), rgba(56, 189, 248, .85));
    box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.profile-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    display: block;
}
.profile-hero-text {
    position: relative;
    z-index: 1;
}
.profile-hero-text h1 {
    margin-bottom: 8px;
}
.profile-current-course {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}
.profile-current-course span {
    color: var(--muted);
    font-size: .86rem;
}
.profile-message {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(37, 211, 102, .14);
    border: 1px solid rgba(37, 211, 102, .35);
    color: #d7ffe6;
    font-weight: 800;
}
.profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 18px;
    align-items: start;
}
.profile-side-stack {
    display: grid;
    gap: 18px;
}
.profile-card h2 {
    margin-top: 0;
}
.profile-form {
    display: grid;
    gap: 10px;
}
.profile-form.compact {
    gap: 8px;
}
.profile-form label {
    font-weight: 800;
    color: rgba(255,255,255,.88);
}
.profile-form input,
.profile-form select,
.profile-form textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(2, 6, 23, .35);
    color: var(--text);
    border-radius: 14px;
    padding: 12px 14px;
    outline: none;
}
.profile-form textarea {
    resize: vertical;
    min-height: 72px;
}
.profile-form input:focus,
.profile-form select:focus,
.profile-form textarea:focus {
    border-color: rgba(56, 189, 248, .7);
    box-shadow: 0 0 0 4px rgba(56, 189, 248, .12);
}
.readonly-input {
    opacity: .78;
    cursor: not-allowed;
}
.field-note {
    color: var(--muted);
    font-size: .84rem;
    margin-top: -4px;
}
.danger-zone {
    border-color: rgba(248, 113, 113, .24) !important;
}
.btn.danger {
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    color: white;
    box-shadow: 0 16px 35px rgba(239, 68, 68, .25);
}
.profile-request-list {
    display: grid;
    gap: 12px;
}
.profile-request-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
}
.profile-request-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.status-pill.pending {
    background: rgba(251, 191, 36, .14);
    color: #fde68a;
    border: 1px solid rgba(251, 191, 36, .3);
}
.btn.tiny {
    padding: 7px 11px;
    font-size: .82rem;
    border-radius: 12px;
}
.academy-profile-btn {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}
@media (max-width: 820px) {
    .profile-grid {
        grid-template-columns: 1fr;
    }
    .profile-hero-card {
        align-items: flex-start;
    }
}
@media (max-width: 560px) {
    .profile-hero-card {
        flex-direction: column;
    }
    .profile-request-row {
        align-items: flex-start;
        flex-direction: column;
    }
    .profile-request-actions {
        justify-content: flex-start;
    }
}

/* v0.36 - Trial lesson / full access labels */
.access-pill{border:1px solid rgba(148,163,184,.28);font-weight:800;text-transform:none}
.access-pill.trial{background:rgba(34,211,238,.14);color:#a5f3fc;border-color:rgba(34,211,238,.35)}
.access-pill.full{background:rgba(250,204,21,.12);color:#fde68a;border-color:rgba(250,204,21,.35)}
.access-pill.hidden{background:rgba(248,113,113,.12);color:#fecaca;border-color:rgba(248,113,113,.32)}
.trial-lesson-label{display:inline-flex;margin-top:4px;padding:3px 8px;border-radius:999px;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.28);color:#a5f3fc;font-size:.72rem;font-weight:800;width:max-content}
.lesson-map-link.locked{cursor:not-allowed;opacity:.78;text-decoration:none;background:rgba(15,23,42,.6)}
.lesson-map-link.locked:hover{transform:none;box-shadow:none;border-color:rgba(248,113,113,.3)}

/* v0.37 Students dashboard by class */
.teacher-summary-line{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.teacher-card-count{position:absolute;top:18px;right:18px;min-width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8,#2563eb);color:white;font-weight:1000;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 24px rgba(37,99,235,.28)}
.teacher-main-icons .teacher-dash-card{position:relative}
.students-course-card{position:relative;min-height:230px}
.students-access-mini{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.access-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid rgba(148,163,184,.28);background:rgba(148,163,184,.12);color:#e2e8f0}
.access-pill.trial{background:rgba(56,189,248,.12);color:#bae6fd;border-color:rgba(56,189,248,.28)}
.access-pill.full{background:rgba(34,197,94,.14);color:#bbf7d0;border-color:rgba(34,197,94,.34)}
.access-pill.custom{background:rgba(168,85,247,.14);color:#e9d5ff;border-color:rgba(168,85,247,.34)}
.access-pill.blocked{background:rgba(248,113,113,.12);color:#fecaca;border-color:rgba(248,113,113,.32)}
.students-table-card{margin-top:18px}
.students-table th,.students-table td{vertical-align:middle}
.student-access-form{min-width:165px}
.access-select{font-weight:900;border-radius:999px;padding:10px 12px;min-width:155px}
.access-select.trial{border-color:rgba(56,189,248,.36);background:rgba(56,189,248,.08)}
.access-select.full{border-color:rgba(34,197,94,.38);background:rgba(34,197,94,.08)}
.access-select.custom{border-color:rgba(168,85,247,.38);background:rgba(168,85,247,.08)}
.access-select.blocked{border-color:rgba(248,113,113,.36);background:rgba(248,113,113,.08)}
.email-cell{font-size:13px;color:#cbd5e1;word-break:break-word}
.block-small{display:block;font-size:12px;margin-top:4px}
.disabled-student-row{opacity:.62}
.success-card{border-color:rgba(34,197,94,.35);color:#bbf7d0;background:rgba(34,197,94,.08);margin-bottom:14px}
@media(max-width:900px){.teacher-card-count{position:static;margin-top:12px}.students-course-card{min-height:auto}.student-access-form{min-width:0}.access-select{min-width:0}}

/* v0.38 Progress dashboard by class */
.progress-course-card{position:relative;min-height:230px}
.progress-mini-meter{height:10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;border:1px solid rgba(148,163,184,.20);margin:12px 0}
.progress-mini-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#38bdf8,#6366f1);box-shadow:0 0 18px rgba(56,189,248,.28)}
.progress-mini-meter.small{height:7px;margin:8px 0 0;min-width:86px}
.lesson-status-pill.inprogress{background:rgba(250,204,21,.13);border-color:rgba(250,204,21,.32);color:#fde68a}
.lesson-status-pill.notstarted{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.25);color:#cbd5e1}
.exit-ticket-score{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-weight:1000;font-size:12px;border:1px solid rgba(148,163,184,.25)}
.exit-ticket-score.has-score{background:rgba(34,197,94,.14);color:#bbf7d0;border-color:rgba(34,197,94,.32)}
.exit-ticket-score.no-score{background:rgba(148,163,184,.10);color:#cbd5e1}
.progress-danger-card{margin:16px 0;border-color:rgba(248,113,113,.25);background:rgba(127,29,29,.10)}
.progress-danger-card form{margin-top:10px}
.progress-table td form{margin:0}
@media(max-width:900px){.progress-course-card{min-height:auto}.progress-mini-meter.small{min-width:0}}

/* v0.39 Coverage Source Key + Heikal Builder */
.source-key-pill{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.35);color:#bae6fd;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.02em}
.mini-stats{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}
.success-pill{background:rgba(34,197,94,.14)!important;color:#bbf7d0!important;border-color:rgba(34,197,94,.34)!important}
.danger-pill{background:rgba(248,113,113,.12)!important;color:#fecaca!important;border-color:rgba(248,113,113,.32)!important}
.warn-pill{background:rgba(250,204,21,.13)!important;color:#fde68a!important;border-color:rgba(250,204,21,.32)!important}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.22);border-radius:8px;padding:2px 6px;color:#bfdbfe}

/* v0.40 - Outcome coverage / heikal style */
.heikal-head{
  text-align:center;
  background:linear-gradient(135deg, rgba(59,130,246,.18), rgba(15,23,42,.92));
}
.heikal-intro-card{text-align:center;}
.heikal-outcome-grid,
.coverage-outcome-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
  margin-top:18px;
}
.heikal-outcome-icon{
  position:relative;
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:10px;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.heikal-outcome-icon:hover{
  transform:translateY(-4px);
  border-color:rgba(56,189,248,.65);
  box-shadow:0 20px 45px rgba(14,165,233,.18);
}
.heikal-outcome-badge,
.coverage-outcome-number{
  width:48px;
  height:48px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#38bdf8,#2563eb);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 30px rgba(37,99,235,.35);
}
.heikal-player-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  position:sticky;
  top:12px;
  z-index:8;
}
.heikal-player-dots{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.heikal-dot{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.35);
  background:rgba(15,23,42,.72);
  color:#dbeafe;
  cursor:pointer;
  font-weight:800;
}
.heikal-dot.active,
.heikal-dot:hover{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  color:#111827;
  border-color:transparent;
}
.heikal-question-slide{display:none;}
.heikal-question-slide.active{display:block;}
.heikal-question-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.heikal-mcq-choices .mcq-choice{
  min-height:58px;
  border-radius:16px;
  font-size:1rem;
}
.written-practice-note{
  margin:14px 0;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(59,130,246,.12);
  border:1px solid rgba(59,130,246,.25);
  color:#bfdbfe;
}
.heikal-solution-panel{
  margin-top:16px;
  border-radius:18px;
  background:rgba(2,6,23,.45);
  border:1px solid rgba(34,197,94,.25);
}
.heikal-player-nav{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
}
.coverage-setup-bar,
.coverage-create-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:12px;
}
.coverage-setup-bar input,
.coverage-setup-bar select{
  min-width:150px;
}
.coverage-outcome-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.coverage-outcome-card-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.coverage-outcome-card textarea{min-height:130px;}
.coverage-result-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}
@media (max-width:720px){
  .heikal-player-toolbar{position:static; align-items:flex-start; flex-direction:column;}
  .heikal-player-nav{flex-direction:column;}
  .coverage-setup-bar{display:grid; grid-template-columns:1fr;}
}

/* v0.41 Student Avatar + Announcements */
.academy-welcome-with-avatar {
    display: flex;
    align-items: center;
    gap: 14px;
}
.academy-student-avatar,
.student-mini-avatar {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    object-fit: cover;
    border: 1px solid rgba(56, 189, 248, .45);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .25), 0 0 0 4px rgba(56, 189, 248, .08);
    background: rgba(2, 6, 23, .45);
}
.student-mini-profile {
    display: flex;
    align-items: center;
    gap: 10px;
}
.student-mini-avatar {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    flex: 0 0 auto;
}
.academy-announcement-bell {
    position: relative;
    min-width: 62px;
    justify-content: center;
    font-size: 1.05rem;
}
.academy-announcement-bell strong,
.announcement-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef4444, #f97316);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(239, 68, 68, .25);
}
.announcement-dashboard-card {
    position: relative;
    overflow: hidden;
}
.announcement-dashboard-card .announcement-count-badge,
.announcements-head .announcement-count-badge {
    position: absolute;
    top: 18px;
    right: 18px;
}
.lang-ar .announcement-dashboard-card .announcement-count-badge,
.lang-ar .announcements-head .announcement-count-badge {
    right: auto;
    left: 18px;
}
.announcements-table-card .inline-actions,
.inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.announcement-priority {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-weight: 900;
    font-size: .78rem;
    border: 1px solid rgba(255,255,255,.12);
}
.announcement-priority.normal { background: rgba(56,189,248,.12); color: #7dd3fc; }
.announcement-priority.important { background: rgba(250,204,21,.14); color: #fde68a; border-color: rgba(250,204,21,.3); }
.announcement-priority.urgent { background: rgba(239,68,68,.15); color: #fecaca; border-color: rgba(239,68,68,.35); }
.announcement-pin {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    margin-inline-start: 6px;
    border-radius: 999px;
    color: #fde68a;
    background: rgba(245,158,11,.12);
    border: 1px solid rgba(245,158,11,.32);
    font-size: .72rem;
    font-weight: 900;
}
.announcement-create-card {
    max-width: 980px;
    margin-inline: auto;
}
.announcement-form textarea {
    min-height: 150px;
}
.form-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.check-row {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
}
.check-row input { width: auto !important; }
.announcement-student-picker {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(2, 6, 23, .28);
}
.announcement-student-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
    max-height: 320px;
    overflow: auto;
    padding: 4px;
}
.announcement-student-option {
    display: flex !important;
    gap: 10px;
    align-items: flex-start;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    padding: 10px;
    background: rgba(255,255,255,.04);
}
.announcement-student-option input { width: auto !important; margin-top: 4px; }
.announcement-student-option small { display: block; color: var(--muted); margin-top: 2px; }
.announcement-list-section {
    margin-top: 22px;
}
.announcement-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}
.student-announcement-card {
    position: relative;
    display: grid;
    gap: 10px;
    min-height: 210px;
}
.student-announcement-card.unread {
    border-color: rgba(56,189,248,.45);
    box-shadow: 0 18px 44px rgba(14, 165, 233, .14);
}
.student-announcement-card.urgent {
    border-color: rgba(239,68,68,.35);
}
.student-announcement-card.important {
    border-color: rgba(245,158,11,.35);
}
.announcement-card-top,
.announcement-detail-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.announcement-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: auto;
}
.announcement-detail-card {
    max-width: 900px;
    margin-inline: auto;
}
.announcement-detail-card h1 {
    margin-top: 14px;
}
.announcement-body {
    margin-top: 18px;
    line-height: 1.9;
    color: rgba(255,255,255,.9);
    font-size: 1.08rem;
}
.muted-empty {
    color: var(--muted);
    padding: 22px;
}
@media (max-width: 720px) {
    .form-grid-two { grid-template-columns: 1fr; }
    .academy-welcome-with-avatar { justify-content: flex-start; }
}

/* v0.42 legal/beta and modern auth header */
.auth-modern-shell {
  max-width: 1180px;
}
.auth-modern-header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 130px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at bottom right, rgba(250,204,21,.13), transparent 34%),
    rgba(15, 27, 46, .72);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.auth-modern-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--text);
  text-align: start;
}
.auth-modern-logo-wrap {
  width: 82px;
  height: 82px;
  border-radius: 26px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  box-shadow: 0 20px 44px rgba(0,0,0,.25);
}
.auth-modern-logo-wrap img {
  width: 70px;
  height: 70px;
  border-radius: 22px;
  object-fit: cover;
}
.auth-modern-title strong {
  display: block;
  line-height: 1.05;
}
.auth-modern-title-ar {
  font-size: 28px;
  color: #fde68a;
}
.auth-modern-title-en {
  font-size: 31px;
  letter-spacing: .02em;
}
.auth-modern-title small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-weight: 900;
}
.auth-lang-btn {
  position: absolute !important;
  top: 16px;
  inset-inline-end: 16px;
}
.auth-modern-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}
.auth-modern-card {
  margin-inline: auto;
}
.auth-help-line { margin-top: 12px; }
.auth-junk-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 12px;
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(250,204,21,.24);
  color: #fde68a;
  background: rgba(250,204,21,.08);
  font-size: .92rem;
  font-weight: 900;
}
.legal-check-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.88);
  line-height: 1.65;
}
.legal-check-row input {
  width: auto;
  margin-top: 6px;
}
.legal-check-row a {
  color: #93c5fd;
  font-weight: 900;
}
.landing-beta-notice {
  margin: 16px 0 4px;
  padding: 13px 15px;
  border-radius: 18px;
  border: 1px solid rgba(250,204,21,.22);
  background: rgba(250,204,21,.075);
  color: rgba(255,255,255,.88);
  font-size: .94rem;
  line-height: 1.55;
}
.landing-beta-notice p {
  margin: 2px 0;
}
.site-footer {
  text-align: center;
  color: var(--muted);
  padding: 24px;
  font-weight: 800;
}
.legal-footer-links {
  margin-top: 7px;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: .92rem;
}
.legal-footer-links a {
  color: #bfdbfe;
}
.legal-page {
  max-width: 1040px;
  margin-inline: auto;
}
.legal-page h1 {
  margin-top: 0;
}
.legal-dual-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.legal-dual-grid article {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  line-height: 1.8;
}
.legal-dual-grid h2 {
  margin-top: 0;
  color: #fde68a;
}
@media(max-width:900px){
  .auth-modern-header { min-height: 145px; justify-content: flex-start; padding: 18px; }
  .auth-modern-brand { gap: 12px; }
  .auth-modern-logo-wrap { width: 68px; height: 68px; border-radius: 22px; }
  .auth-modern-logo-wrap img { width: 58px; height: 58px; }
  .auth-modern-title-ar { font-size: 22px; }
  .auth-modern-title-en { font-size: 23px; }
  .auth-modern-title small { font-size: .82rem; }
  .legal-dual-grid { grid-template-columns: 1fr; }
}

/* v0.42.1 Soft beta notice + auth two-column layout */
.landing-action-card .landing-beta-notice {
  display: none;
}
.landing-logo-card {
  padding: 26px 26px 48px;
}
.landing-logo-card img {
  width: min(340px, 50%);
  max-height: 260px;
}
.landing-logo-beta-line {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: calc(100% - 28px);
  max-width: 92%;
  text-align: center;
  color: #ff5b5b;
  font-size: 11.5px;
  font-weight: 1000;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: .01em;
  text-shadow: 0 0 14px rgba(255,91,91,.16);
}
.auth-modern-grid {
  width: min(1060px, 100%);
  margin-inline: auto;
  grid-template-columns: minmax(440px, 1fr) minmax(330px, .78fr);
  align-items: stretch;
  place-items: stretch;
  gap: 24px;
}
.auth-modern-grid .auth-modern-card,
.auth-modern-grid .auth-side {
  width: 100%;
  margin: 0;
}
.auth-side {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.auth-side img {
  width: min(280px, 62%);
  max-height: 260px;
  object-fit: contain;
}
.auth-side h2 {
  margin-bottom: 8px;
}
@media(min-width:960px) and (max-height:720px){
  .landing-logo-card { padding-bottom: 42px; }
  .landing-logo-card img { width: min(260px, 50%); max-height: 205px; }
  .landing-logo-beta-line { bottom: 10px; font-size: 10.5px; }
  .auth-modern-grid { grid-template-columns: minmax(420px, 1fr) minmax(300px, .72fr); gap: 18px; }
  .auth-side img { width: min(220px, 58%); max-height: 210px; }
}
@media(max-width:1050px){
  .landing-logo-card { padding-bottom: 54px; }
  .landing-logo-card img { width: min(300px, 52%); }
  .landing-logo-beta-line { font-size: 11px; }
}
@media(max-width:900px){
  .auth-modern-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .auth-side {
    min-height: 320px;
  }
}
@media(max-width:720px){
  .landing-logo-card { padding-bottom: 58px; }
  .landing-logo-card img { width: min(260px, 58%); }
  .landing-logo-beta-line {
    white-space: normal;
    font-size: 10.8px;
    line-height: 1.3;
    bottom: 14px;
  }
}

/* v0.43 - Soft email verification code flow */
.email-verify-chip {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ef4444, #b91c1c);
  color: #fff;
  font-weight: 900;
  font-size: 11px;
  padding: 4px 10px;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(239,68,68,.24);
}
.email-verify-chip::before {
  content: "!";
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  margin-inline-end: 5px;
  font-size: 10px;
}
.email-verification-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.email-verification-modal.show {
  display: flex;
}
.email-verification-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15,23,42,.58);
  backdrop-filter: blur(7px);
}
.email-verification-dialog {
  position: relative;
  width: min(520px, 100%);
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 26px;
  padding: 28px;
  box-shadow: 0 28px 70px rgba(15,23,42,.32);
  text-align: center;
}
.email-verification-close {
  position: absolute;
  top: 12px;
  inset-inline-end: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 22px;
  cursor: pointer;
}
.email-verification-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 12px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #dbeafe, #fee2e2);
  color: #1d4ed8;
  font-size: 27px;
}
.email-verification-dialog h2 {
  margin: 0 0 10px;
  font-size: 26px;
  color: #0f172a;
}
.email-verification-message {
  margin: 0 auto 6px;
  color: #334155;
  font-weight: 800;
  max-width: 430px;
}
.email-verification-junk {
  margin: 0 auto 14px;
  color: #b91c1c;
  font-weight: 900;
  font-size: 14px;
}
.email-verification-alert {
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 12px;
}
.email-verification-alert.ok { background: #dcfce7; color: #166534; }
.email-verification-alert.bad { background: #fee2e2; color: #991b1b; }
.email-verification-code-form {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.email-verification-code-form label {
  text-align: start;
  font-weight: 900;
  color: #0f172a;
}
.email-verification-code-form input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 24px;
  letter-spacing: 7px;
  text-align: center;
  font-weight: 900;
  outline: none;
}
.email-verification-code-form input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37,99,235,.14);
}
.email-verification-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
}
.email-verification-actions form { margin: 0; }
.btn.ghost {
  background: transparent;
  color: #475569;
  box-shadow: none;
  border: 1px solid #cbd5e1;
}
@media (max-width: 560px) {
  .email-verification-dialog { padding: 24px 18px; }
  .email-verification-dialog h2 { font-size: 23px; }
  .email-verification-code-form input { font-size: 21px; letter-spacing: 5px; }
  .email-verification-actions { flex-direction: column; }
  .email-verification-actions .btn, .email-verification-actions form { width: 100%; }
}

/* v0.43.3 - make resend code button clearly visible */
.email-verification-resend-form {
  margin: 12px 0 0;
  display: block;
}
.email-verification-resend-btn {
  width: 100%;
  justify-content: center;
  background: linear-gradient(135deg, #0f172a, #2563eb) !important;
  color: #ffffff !important;
  border: 1px solid rgba(37,99,235,.70) !important;
  box-shadow: 0 12px 28px rgba(37,99,235,.28) !important;
  font-weight: 900 !important;
}
.email-verification-resend-btn:hover {
  background: linear-gradient(135deg, #1e293b, #1d4ed8) !important;
  transform: translateY(-1px);
}
.email-verification-actions.single {
  margin-top: 8px;
}
.email-verification-actions.single .btn.ghost {
  border: 0;
  padding-top: 6px;
  padding-bottom: 6px;
}
@media (max-width: 560px) {
  .email-verification-resend-btn { width: 100%; }
}

/* v0.44 — Lesson Flow Foundation */
.lesson-start-card{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,36px);
  border:1px solid rgba(88,166,255,.22);
  background:
    radial-gradient(circle at 10% 0%, rgba(255,224,130,.15), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(77,159,255,.08)),
    rgba(8,18,34,.86);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}
.lesson-start-topline{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.lesson-book-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(250,204,21,.12);
  border:1px solid rgba(250,204,21,.26);
  color:#fde68a;
  font-weight:1000;
  letter-spacing:.02em;
}
.lesson-book-title{
  margin:0 0 22px;
  max-width:980px;
  font-size:clamp(34px,5vw,62px);
  line-height:1.08;
  font-weight:1000;
  letter-spacing:-.035em;
  color:#f8fbff;
  text-wrap:balance;
}
.lesson-outcomes-panel{
  max-width:980px;
  border-radius:24px;
  padding:18px 20px;
  background:#fff;
  color:#102033;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
.lesson-outcomes-panel h2{
  margin:0 0 12px;
  font-size:clamp(22px,3vw,34px);
  color:#0b2d52;
  font-weight:1000;
}
.lesson-outcomes-list{
  margin:0;
  padding-inline-start:26px;
  display:grid;
  gap:10px;
  font-size:clamp(17px,2vw,22px);
  line-height:1.55;
  font-weight:800;
}
.lang-ar .lesson-outcomes-list{padding-inline-start:0;padding-inline-end:26px}
.lesson-outcomes-list li::marker{color:#2563eb;font-weight:1000}
.lesson-start-next{
  margin-top:20px;
  min-width:140px;
  font-size:18px!important;
  box-shadow:0 16px 34px rgba(59,130,246,.24)!important;
}
.lesson-main-flow .task-card{
  scroll-margin-top:96px;
}
.lesson-next-task-btn{
  min-width:130px;
  font-size:17px!important;
}
.embedded-video-card{
  display:grid;
  grid-template-columns:minmax(180px,280px) minmax(260px,1fr);
  align-items:center;
}
.embedded-video-frame-wrap{
  width:100%;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  background:#050b16;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}
.embedded-video-frame-wrap iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.solution-body .embedded-video-frame-wrap{
  max-width:900px;
  margin:auto;
}
.task-type-pastexamquestions .lesson-task-badge{
  background:rgba(167,139,250,.12);
  border-color:rgba(167,139,250,.28);
  color:#ddd6fe;
}
.task-type-pastexamquestions{
  border-color:rgba(167,139,250,.26)!important;
}
.lesson-mini-map-item small span{display:inline}
@media (max-width:780px){
  .lesson-start-card{padding:20px}
  .lesson-outcomes-panel{padding:16px}
  .embedded-video-card{grid-template-columns:1fr}
  .lesson-video-callout{align-items:stretch}
}

/* v0.45 - Question Bank / task source classification */
.question-bank-stats .card p{
  font-size:clamp(26px,4vw,44px);
  margin:6px 0 0;
  font-weight:1000;
  color:#eaf2ff;
}
.form-grid.two-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.inline-video-form{
  display:grid;
  gap:8px;
  min-width:260px;
}
.inline-video-form input{
  width:100%;
  min-width:220px;
}
.admin-table code{
  white-space:nowrap;
}
@media (max-width:780px){
  .form-grid.two-cols{grid-template-columns:1fr}
  .inline-video-form{min-width:0}
  .inline-video-form input{min-width:0}
}

/* v0.46 - visible locked cards in Sequential lesson flow */
.lesson-mini-map-item.locked{opacity:.72;border-color:rgba(250,204,21,.28);background:rgba(250,204,21,.06)}
.mini-map-state.locked{background:rgba(250,204,21,.16);color:#fde68a}
.task-card.locked .lesson-block-head{opacity:.92}


/* v0.46 Practice Set Builder */
.practice-set-builder-panel{
  margin-top:16px;
  padding:16px;
  border-radius:22px;
  border:1px solid rgba(34,197,94,.24);
  background:linear-gradient(135deg,rgba(34,197,94,.09),rgba(56,189,248,.06));
}
.practice-builder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.practice-builder-head h3{
  margin:0 0 4px;
  color:#dcfce7;
  font-size:18px;
  font-weight:1000;
}
.practice-set-count{white-space:nowrap}
.practice-builder-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:12px 0;
}
.practice-builder-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
}
.practice-builder-number{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  color:#06211a;
  background:linear-gradient(135deg,#86efac,#67e8f9);
}
.practice-builder-info strong{display:block;color:#f8fbff;line-height:1.35}
.practice-builder-info small{display:block;color:var(--muted);font-weight:800;margin-top:3px}
.practice-builder-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.practice-builder-actions form{margin:0}
.mini-lesson-action.delete{
  background:rgba(239,68,68,.10);
  border-color:rgba(239,68,68,.32);
  color:#fecaca;
}
.add-to-practice-form{
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed rgba(255,255,255,.15);
}
.practice-set-live-summary{
  font-size:12px;
  font-weight:900;
  color:#bbf7d0;
}
.quiz-jump.answered{box-shadow:0 0 0 2px rgba(255,255,255,.10) inset}
.quiz-jump.correct{background:linear-gradient(135deg,#16a34a,#86efac);color:#052e16;border-color:transparent}
.quiz-jump.wrong{background:linear-gradient(135deg,#dc2626,#fecaca);color:#450a0a;border-color:transparent}
.practice-set-carousel-ready .practice-set-complete-form{display:none}
.lang-ar .practice-builder-head,
.lang-ar .practice-builder-row{
  direction:rtl;
  text-align:right;
}
@media(max-width:760px){
  .practice-builder-row{grid-template-columns:auto 1fr;align-items:flex-start}
  .practice-builder-actions{grid-column:1 / -1;justify-content:flex-start}
  .practice-builder-head{flex-direction:column}
}

/* v0.47 Lesson Packages */
.lesson-file-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  margin:14px 0;
  border-radius:20px;
  border:1px solid rgba(125,211,252,.28);
  background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(34,197,94,.08));
}
.lesson-file-card strong{display:block;color:#e0f2fe;font-size:16px;font-weight:1000}
.lesson-file-card small{display:block;color:var(--muted);font-weight:800;margin-top:3px}
.teacher-action-icon.publish-action{
  background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(14,165,233,.14));
  border-color:rgba(74,222,128,.35);
}
.lang-ar .lesson-file-card{direction:rtl;text-align:right}
@media(max-width:760px){.lesson-file-card{flex-direction:column;align-items:flex-start}}

/* v0.48 Homework & Exit Ticket */
.task-status-pill.draft{
  background:rgba(250,204,21,.14);
  border-color:rgba(250,204,21,.35);
  color:#fde68a;
}
.task-status-pill.published{
  background:rgba(34,197,94,.13);
  border-color:rgba(34,197,94,.32);
  color:#bbf7d0;
}
.retake-pill{
  background:rgba(56,189,248,.11);
  border-color:rgba(56,189,248,.28);
  color:#bae6fd;
}
.score-pill{
  background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(59,130,246,.16));
  border-color:rgba(74,222,128,.35);
  color:#dcfce7;
}
.inline-task-state-form{margin:10px 0}
.submission-status-card{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(34,197,94,.28);
  background:rgba(34,197,94,.08);
}
.submission-status-card strong{color:#bbf7d0;font-weight:1000}
.submission-status-card span{font-weight:1000;color:#e0f2fe}
.submission-status-card small{color:var(--muted);font-weight:800}
.lang-ar .submission-status-card{direction:rtl;text-align:right}


/* v0.48.2 assessment integrity: selected answer without revealing correctness before submission */
.mcq-choice.option-selected{
  border-color:rgba(245,158,11,.75);
  background:rgba(245,158,11,.12);
  box-shadow:0 0 0 2px rgba(245,158,11,.12);
}
.mcq-feedback.neutral{
  color:#d97706;
}

/* v0.49 Lesson Past Papers */
.past-exam-author-panel{
  border-color:rgba(251,191,36,.28);
  background:linear-gradient(135deg,rgba(251,191,36,.10),rgba(59,130,246,.08));
}
.past-exam-builder-panel{
  border-color:rgba(251,191,36,.28);
  background:linear-gradient(135deg,rgba(251,191,36,.10),rgba(15,23,42,.76));
}
.task-type-pastexamquestions{
  border-color:rgba(251,191,36,.30);
}
.task-type-pastexamquestions .lesson-task-badge,
.past-exam-icon{
  color:#fde68a;
}
.quick-past-exam-form{
  margin-top:12px;
}
.lang-ar .past-exam-author-panel,
.lang-ar .past-exam-builder-panel{
  direction:rtl;
  text-align:right;
}

/* v0.50 - Past Papers Hub */
.hub-status-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.hub-status-main {
    display: flex;
    align-items: center;
    gap: 14px;
}
.hub-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.past-papers-summary-grid .card p {
    font-size: 2rem;
    font-weight: 800;
    margin: 0;
}
.past-papers-lesson-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 14px;
    margin-top: 16px;
}
.past-papers-lesson-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.past-papers-lesson-card.empty {
    opacity: .82;
}
.lesson-card-head {
    display: flex;
    gap: 12px;
    align-items: center;
}
.lesson-card-head small {
    display: block;
    color: var(--muted);
    margin-top: 4px;
}
.past-papers-question-list {
    margin: 10px 0 0 18px;
    padding: 0;
}
.past-papers-question-list li {
    margin-bottom: 10px;
}
.course-map-past-papers {
    margin-top: 18px;
}
.success-pill {
    background: rgba(46, 160, 67, .12);
    color: #1f7a36;
    border: 1px solid rgba(46, 160, 67, .28);
}

/* v0.51 - Coverage Builder official polish */
.coverage-manager-card{border-color:rgba(56,189,248,.24)}
.coverage-manager-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.coverage-existing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:12px}
.coverage-existing-card{border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.48);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:170px}
.coverage-existing-card strong{display:block;font-size:1.05rem;color:#f8fafc;margin-bottom:4px}
.coverage-existing-card small{display:block;color:#94a3b8}
.coverage-existing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.coverage-existing-actions form{margin:0}
.coverage-bank-reference{border-color:rgba(250,204,21,.22)}
.compact-table td,.compact-table th{padding:9px 10px}
.coverage-outcome-card textarea[name="outcomeBankKeys"]{min-height:92px;background:rgba(2,6,23,.55)}
.danger-btn{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:#fff!important;border-color:rgba(248,113,113,.4)!important}
@media(max-width:760px){.coverage-existing-actions{display:grid;grid-template-columns:1fr}.coverage-existing-actions .btn,.coverage-existing-actions button{width:100%}}

/* v0.52 - Coverage Print / PDF */
.coverage-print-toolbar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.coverage-print-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.coverage-print-sheet{
  background:#fff;
  color:#111827;
  max-width:980px;
  margin:0 auto 32px;
  padding:34px;
  border-radius:22px;
  box-shadow:0 22px 55px rgba(15,23,42,.12);
  border:1px solid rgba(148,163,184,.28);
}
.coverage-print-cover{
  border-bottom:2px solid rgba(15,23,42,.14);
  padding-bottom:24px;
  margin-bottom:28px;
}
.coverage-print-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.coverage-print-brand img{
  width:58px;
  height:58px;
  object-fit:contain;
}
.coverage-print-brand strong,
.coverage-print-brand span{
  display:block;
  line-height:1.2;
}
.coverage-print-brand strong{font-size:18px;font-weight:900;}
.coverage-print-brand span{font-size:15px;color:#64748b;font-weight:800;}
.coverage-print-cover h1{
  margin:0;
  font-size:34px;
  line-height:1.15;
  color:#0f172a;
}
.coverage-print-cover h2{
  margin:8px 0 18px;
  font-size:24px;
  color:#334155;
}
.coverage-print-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px;
  font-size:14px;
}
.coverage-print-date{font-size:12px;color:#64748b;margin:14px 0 0;}
.coverage-print-outcome{
  break-inside:avoid;
  page-break-inside:avoid;
  margin:0 0 30px;
}
.coverage-print-outcome-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.35);
  margin-bottom:16px;
}
.coverage-print-outcome-number{
  width:44px;
  height:44px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#1e3a8a;
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
}
.coverage-print-outcome-head h3,
.coverage-print-outcome-head p{margin:0;}
.coverage-print-outcome-head h3{font-size:19px;color:#0f172a;}
.coverage-print-outcome-head p{font-size:15px;color:#334155;margin-top:3px;}
.coverage-print-outcome-head small{display:block;color:#64748b;margin-top:5px;}
.coverage-print-question{
  break-inside:avoid;
  page-break-inside:avoid;
  border:1px solid rgba(148,163,184,.35);
  border-radius:18px;
  padding:18px;
  margin:0 0 18px;
  background:#fff;
}
.coverage-print-question-head{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:12px;
  color:#475569;
  margin-bottom:12px;
}
.coverage-print-question-head strong{
  color:#0f172a;
  font-size:14px;
  margin-inline-end:4px;
}
.coverage-print-question-head span{
  border:1px solid rgba(148,163,184,.45);
  border-radius:999px;
  padding:3px 8px;
  background:#f8fafc;
}
.coverage-print-question h4{
  margin:0 0 10px;
  font-size:16px;
  color:#111827;
}
.coverage-print-question-html{
  margin:12px 0;
}
.coverage-print-question-html img,
.coverage-print-solution img{
  max-width:100%;
  height:auto;
}
.coverage-print-choices{
  margin:14px 0 0 24px;
  padding:0;
}
.coverage-print-choices li{
  padding:7px 10px;
  margin-bottom:6px;
  border-radius:10px;
  border:1px solid rgba(203,213,225,.75);
}
.coverage-print-choices li.print-correct-choice{
  border-color:#16a34a;
  background:#f0fdf4;
}
.coverage-print-answer-mark{
  color:#166534;
  margin-inline-start:10px;
  font-size:12px;
}
.coverage-print-written-space{
  margin-top:16px;
  min-height:90px;
  border:1px dashed rgba(100,116,139,.65);
  border-radius:14px;
  padding:12px;
  color:#64748b;
}
.coverage-print-solution{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.35);
}
.coverage-print-empty{
  padding:16px;
  border:1px dashed rgba(100,116,139,.55);
  border-radius:14px;
  color:#64748b;
  background:#f8fafc;
}
.heikal-print-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
@media print{
  @page{size:A4;margin:12mm;}
  body{background:#fff!important;color:#111827!important;}
  .academy-student-hero,
  .academy-student-dock,
  .auth-modern-header,
  .topbar,
  .navbar,
  .app-nav,
  .breadcrumb,
  .print-actions,
  .back-link,
  .toast,
  .site-footer,
  footer,
  .no-print{display:none!important;}
  .page,
  .content,
  main{
    margin:0!important;
    padding:0!important;
    max-width:none!important;
    width:100%!important;
  }
  .coverage-print-sheet{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .coverage-print-cover{break-after:page;page-break-after:always;}
  .coverage-print-question,
  .coverage-print-outcome{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .coverage-print-meta{grid-template-columns:repeat(2,minmax(0,1fr));}
  a{color:inherit!important;text-decoration:none!important;}
}
@media(max-width:720px){
  .coverage-print-sheet{padding:20px;border-radius:16px;}
  .coverage-print-meta{grid-template-columns:1fr;}
  .coverage-print-cover h1{font-size:26px;}
  .coverage-print-cover h2{font-size:20px;}
}

/* v0.53.1 - learner lesson flow cleanup + sticky horizontal tracker */
.lesson-player{
  max-width:1100px;
  margin:0 auto;
}
.lesson-progress-banner{
  position:sticky;
  top:12px;
  z-index:30;
  margin:0 auto 18px;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(88,166,255,.18);
  background:linear-gradient(180deg,rgba(13,22,40,.94),rgba(8,15,29,.96));
  box-shadow:0 18px 40px rgba(0,0,0,.26);
  backdrop-filter:blur(14px);
}
.lesson-progress-banner-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.lesson-progress-banner-head h2{
  margin:0;
  font-size:20px;
  display:flex;
  align-items:center;
  gap:8px;
}
.lesson-step-strip{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 6px;
  scrollbar-width:thin;
}
.lesson-step-dot{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  text-decoration:none;
  font-weight:1000;
  font-size:15px;
  border:2px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.72);
  color:#cbd5e1;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.lesson-step-dot:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.lesson-step-dot.done{
  background:rgba(34,197,94,.18);
  color:#bbf7d0;
  border-color:rgba(34,197,94,.42);
}
.lesson-step-dot.current{
  background:linear-gradient(135deg,rgba(37,99,235,.88),rgba(56,189,248,.82));
  color:#fff;
  border-color:rgba(125,211,252,.82);
  box-shadow:0 0 0 4px rgba(37,99,235,.18);
}
.lesson-step-dot.locked,
.lesson-step-dot.pending{
  background:rgba(51,65,85,.72);
  color:#cbd5e1;
  border-color:rgba(100,116,139,.34);
}
.lesson-step-dot.locked{
  opacity:.75;
}
.lesson-main-flow{
  min-width:0;
  display:grid;
  gap:18px;
}
.lesson-main-flow .task-card{
  scroll-margin-top:150px;
}
.lesson-block-head{
  margin-bottom:10px;
}
.lesson-block-meta{align-items:flex-start}
@media (max-width: 760px){
  .lesson-progress-banner{top:8px;padding:14px}
  .lesson-step-dot{width:40px;height:40px;font-size:14px}
  .lesson-main-flow .task-card{scroll-margin-top:175px}
}


/* v0.53.2 - lesson progress refinement */
.lesson-player{
  max-width:min(1380px, calc(100vw - 36px));
}
.lesson-progress-banner{
  max-width:min(1380px, calc(100vw - 36px));
}
.lesson-progress-title-wrap{
  display:grid;
  gap:6px;
  min-width:0;
}
.lesson-current-task-label{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  color:#cbd5e1;
  font-weight:800;
  line-height:1.35;
}
.lesson-current-task-label span{
  color:#93c5fd;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.lesson-current-task-label strong{
  color:#eaf2ff;
  font-size:15px;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:680px;
  white-space:nowrap;
}
.lesson-progress-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.lesson-current-jump{
  padding:9px 12px!important;
  border-radius:999px!important;
  font-size:13px!important;
}
.lesson-step-dot{
  position:relative;
}
.lesson-step-dot .step-number{
  position:relative;
  z-index:1;
}
.step-tooltip{
  pointer-events:none;
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translateX(-50%) translateY(-4px);
  width:max-content;
  max-width:260px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(2,6,23,.96);
  border:1px solid rgba(148,163,184,.26);
  color:#eaf2ff;
  box-shadow:0 16px 40px rgba(0,0,0,.34);
  opacity:0;
  visibility:hidden;
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease;
  z-index:80;
  text-align:left;
}
.step-tooltip strong{
  display:block;
  font-size:13px;
  line-height:1.35;
  white-space:normal;
}
.step-tooltip small{
  display:block;
  margin-top:4px;
  color:#93c5fd;
  font-weight:900;
  font-size:12px;
}
.lesson-step-dot:hover .step-tooltip,
.lesson-step-dot:focus-visible .step-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.lesson-main-flow{
  max-width:1180px;
  margin:0 auto;
}
.lesson-question-card{
  padding:22px;
}
.lesson-question-surface{
  font-size:1.05rem;
  padding:22px;
}
.g12-options-grid{
  gap:14px;
}
.mcq-choice.g12-option{
  min-height:58px;
  font-size:1.02rem;
}
.solution-help-panel,
.lesson-explanation-card{
  font-size:1.04rem;
}
.lang-ar .step-tooltip{
  text-align:right;
}
@media (max-width: 760px){
  .lesson-player,
  .lesson-progress-banner{
    max-width:calc(100vw - 20px);
  }
  .lesson-progress-actions{
    justify-content:flex-start;
  }
  .lesson-current-task-label strong{
    max-width:calc(100vw - 70px);
  }
  .step-tooltip{
    max-width:220px;
  }
  .lesson-question-card{
    padding:16px;
  }
  .lesson-question-surface{
    padding:16px;
    font-size:1rem;
  }
}


/* v0.54 - Student Lesson Polish */
.lesson-current-jump{
  background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(56,189,248,.85))!important;
  color:#fff!important;
  border-color:rgba(125,211,252,.55)!important;
}
.lesson-completion-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:12px 0 16px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(34,197,94,.26);
  background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(15,23,42,.42));
}
.lesson-completion-card strong{
  display:block;
  color:#bbf7d0;
  font-size:16px;
  font-weight:1000;
}
.lesson-completion-card p{
  margin:4px 0 0;
  color:#cbd5e1;
  font-weight:800;
}
.mini-summary-card{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:14px 0;
  padding:13px 15px;
  border-radius:16px;
  border:1px solid rgba(250,204,21,.24);
  background:rgba(250,204,21,.08);
  color:#fde68a;
  line-height:1.55;
}
.mini-summary-card strong{
  white-space:nowrap;
  font-weight:1000;
}
.mini-summary-card span{
  color:#fef3c7;
  font-weight:800;
}
.review-mistakes-btn{
  margin-top:8px;
  width:max-content;
}
.review-mistake-highlight{
  outline:3px solid rgba(251,146,60,.65);
  box-shadow:0 0 0 8px rgba(251,146,60,.12), 0 18px 44px rgba(0,0,0,.28)!important;
}
.student-selected-choice{
  box-shadow:0 0 0 3px rgba(59,130,246,.22);
}
.review-mistake-highlight::before{
  content:"Review this question";
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(251,146,60,.16);
  color:#fed7aa;
  border:1px solid rgba(251,146,60,.35);
  font-weight:1000;
  font-size:12px;
}
.lang-ar .review-mistake-highlight::before{
  content:"راجع هذا السؤال";
}
@media (max-width:760px){
  .lesson-completion-card{
    align-items:stretch;
    flex-direction:column;
  }
  .mini-summary-card{
    flex-direction:column;
    gap:4px;
  }
}


/* v0.54.3 - Admin/Class Editor cleanup */
.class-editor-flow{
  display:grid;
  gap:18px;
}
.add-lesson-under-unit{
  margin-top:18px;
  border-color:rgba(56,189,248,.22);
  background:rgba(56,189,248,.055);
}
.add-unit-final-card{
  border-color:rgba(34,197,94,.26);
  background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(56,189,248,.05));
}
.hub-actions button[disabled]{
  opacity:.48;
  cursor:not-allowed;
  filter:saturate(.55);
}


/* v0.54.4 - Maintenance Tools */
.maintenance-tools-card{
  border-color:rgba(251,146,60,.28);
}
.maintenance-section summary{
  color:#fed7aa;
}
.maintenance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:0 18px 18px;
}
.danger-maintenance-form{
  border:1px solid rgba(251,146,60,.22);
  border-radius:20px;
  background:rgba(251,146,60,.055);
  padding:16px!important;
}
.danger-maintenance-form h3{
  margin:0 0 10px;
  color:#fed7aa;
}
.danger-zone-strong{
  border-color:rgba(239,68,68,.34);
  background:rgba(239,68,68,.075);
}
.danger-zone-strong h3{
  color:#fecaca;
}
@media(max-width:900px){
  .maintenance-grid{
    grid-template-columns:1fr;
  }
}


/* v0.54.5 - Unified Add Question + Image Builder */
.unified-add-panel{
  border-color:rgba(56,189,248,.28);
}
.unified-question-form{
  gap:18px;
}
.unified-form-section{
  border:1px solid rgba(255,255,255,.11);
  background:rgba(2,6,23,.18);
  border-radius:20px;
  padding:16px;
}
.unified-form-section h3{
  margin:0 0 12px;
  color:#dbeafe;
}
.choice-image-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.choice-editor-card{
  display:grid;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.04);
}
.choice-editor-card strong{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(56,189,248,.14);
  color:#e0f2fe;
  border:1px solid rgba(56,189,248,.25);
}
.manual-question-image,
.manual-choice-image,
.manual-solution-image{
  margin:12px 0 0;
}
.manual-question-image img,
.manual-choice-image img,
.manual-solution-image img,
.question-upload-image{
  max-width:100%;
  height:auto;
  display:block;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:#fff;
  padding:6px;
}
.manual-choice-image img{
  max-height:220px;
  object-fit:contain;
}
.manual-question-image img,
.manual-solution-image img{
  max-height:520px;
  object-fit:contain;
}
@media(max-width:800px){
  .choice-image-grid{
    grid-template-columns:1fr;
  }
}


/* v0.54.6 - Add modes + task edit builder */
.add-mode-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  padding:0;
  margin:12px 0;
  overflow:hidden;
}
.add-mode-card > summary{
  cursor:pointer;
  list-style:none;
  padding:14px 16px;
  font-weight:900;
  color:#dbeafe;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.add-mode-card > summary::-webkit-details-marker{
  display:none;
}
.add-mode-card[open] > summary{
  background:rgba(56,189,248,.08);
}
.add-mode-card > form,
.add-mode-card > .lesson-add-form{
  padding:14px 16px 16px;
}
.task-question-add-panel,
.task-question-editor-panel{
  margin-top:14px;
  border-color:rgba(56,189,248,.22);
}
.question-edit-row{
  align-items:flex-start;
}
.question-inline-editor{
  margin-top:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(2,6,23,.22);
  overflow:hidden;
}
.question-inline-editor > summary{
  padding:10px 12px;
  cursor:pointer;
  font-weight:800;
  color:#bfdbfe;
}
.question-inline-editor > form{
  padding:12px;
}
.question-current-preview{
  margin:8px 0;
  padding:10px;
  border:1px dashed rgba(255,255,255,.15);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.compact-manual-question-form{
  gap:10px;
}


/* v0.54.7 - Student flow polish */
.lesson-completion-card-bottom{
  margin-top:18px;
  scroll-margin-top:90px;
}
.lesson-completion-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.retake-submit-btn[hidden],
.lesson-completion-card-bottom[hidden]{
  display:none!important;
}
.task-card.retake-mode .mcq-choice{
  cursor:pointer;
}
.task-card.retake-mode .practice-set-live-summary{
  color:#bae6fd;
}
@media(max-width:760px){
  .lesson-completion-actions{
    justify-content:flex-start;
  }
}


/* v0.54.7.1 - Instructional examples are not scored */
.task-type-example .lesson-completion-card-bottom .score-pill,
.task-type-text .lesson-completion-card-bottom .score-pill{
  display:none!important;
}
.task-type-example .try-again-task-btn,
.task-type-text .try-again-task-btn,
.task-type-video .try-again-task-btn{
  display:none!important;
}


/* v0.54.7.2 - Worked example solution fallback */
.worked-example-box .example-solution-panel{
  margin-top:18px;
}
.worked-example-box .solution-help-title::after{
  content:"";
}


/* v0.54.7.3 - Simplified Add UI */
.simplified-add-form [hidden]{
  display:none!important;
}
.simplified-add-form .unified-form-section{
  margin-top:12px;
}
.simplified-add-form label{
  font-weight:900;
}
.simplified-add-form input[disabled],
.simplified-add-form select[disabled],
.simplified-add-form textarea[disabled]{
  opacity:.55;
}


/* v0.54.7.5 - Coverage Maintenance */
.coverage-maintenance-card{
  gap:16px;
}
.coverage-maintenance-tools{
  margin-top:14px;
  border:1px solid rgba(56,189,248,.20);
  border-radius:18px;
  background:rgba(2,6,23,.18);
  overflow:hidden;
}
.coverage-maintenance-tools > summary{
  padding:14px 16px;
  cursor:pointer;
  font-weight:900;
  color:#dbeafe;
  background:rgba(56,189,248,.06);
}
.coverage-maintenance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding:16px;
}
.coverage-maintenance-grid .lesson-add-form{
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  padding:14px;
}
.coverage-maintenance-grid h3,
.coverage-outcome-maintenance-list h3{
  margin:0 0 10px;
  color:#dbeafe;
}
.coverage-outcome-maintenance-list{
  padding:0 16px 16px;
}
.coverage-outcome-maintenance-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:12px;
  margin-top:10px;
  background:rgba(255,255,255,.035);
}
.coverage-outcome-edit-form{
  display:grid;
  grid-template-columns:90px 1fr 140px auto;
  gap:10px;
  align-items:center;
}
.coverage-outcome-edit-form input,
.coverage-outcome-edit-form select{
  min-width:0;
}
@media(max-width:1000px){
  .coverage-maintenance-grid{
    grid-template-columns:1fr;
  }
  .coverage-outcome-maintenance-row,
  .coverage-outcome-edit-form{
    grid-template-columns:1fr;
  }
}


/* v0.54.7.6 - Coverage Builder Redesign */
.coverage-redesign-head{
  border-color:rgba(56,189,248,.25);
}
.coverage-step-card{
  margin-top:18px;
}
.coverage-breadcrumbs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0;
}
.coverage-class-grid,
.coverage-hub-grid,
.coverage-folder-grid,
.coverage-outcome-icon-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.coverage-class-icon,
.coverage-big-icon,
.coverage-folder-card,
.coverage-outcome-icon{
  display:grid;
  gap:8px;
  border:1px solid rgba(56,189,248,.22);
  border-radius:22px;
  padding:20px;
  background:linear-gradient(135deg,rgba(59,130,246,.14),rgba(15,23,42,.45));
  color:inherit;
  text-decoration:none;
  box-shadow:0 18px 45px rgba(2,6,23,.20);
}
.coverage-class-icon:hover,
.coverage-big-icon:hover,
.coverage-outcome-icon:hover{
  transform:translateY(-2px);
  border-color:rgba(56,189,248,.55);
}
.coverage-icon-badge,
.coverage-big-icon > span,
.coverage-outcome-icon > span{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:rgba(56,189,248,.18);
  border:1px solid rgba(56,189,248,.25);
  font-weight:950;
  color:#dbeafe;
}
.coverage-big-icon > span{
  font-size:1.7rem;
}
.coverage-create-setup{
  display:grid;
  grid-template-columns:120px 1fr 1fr 170px auto;
  gap:14px;
  align-items:end;
}
.coverage-create-setup label,
.coverage-create-form label{
  display:grid;
  gap:6px;
}
.coverage-folder-card{
  background:rgba(15,23,42,.72);
}
.coverage-folder-title{
  display:flex;
  align-items:center;
  gap:12px;
}
.coverage-folder-actions,
.coverage-edit-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.coverage-folder-actions form{
  display:inline-block;
}
.coverage-delete-inline{
  display:inline-block;
  position:relative;
}
.coverage-delete-inline > summary{
  list-style:none;
  cursor:pointer;
}
.coverage-delete-inline > summary::-webkit-details-marker{
  display:none;
}
.coverage-delete-inline form{
  margin-top:10px;
  display:grid;
  gap:8px;
  min-width:220px;
  padding:12px;
  border:1px solid rgba(248,113,113,.25);
  border-radius:16px;
  background:rgba(127,29,29,.22);
}
.coverage-outcome-icon.active{
  border-color:rgba(34,197,94,.75);
  box-shadow:0 0 0 3px rgba(34,197,94,.12);
}
.coverage-title-edit{
  margin-top:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.coverage-title-edit > summary{
  cursor:pointer;
  padding:12px 14px;
  font-weight:900;
}
.coverage-question-list{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.coverage-question-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:start;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:14px;
  background:rgba(2,6,23,.24);
}
.coverage-question-preview{
  margin-top:8px;
  max-height:180px;
  overflow:auto;
  padding:10px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.coverage-question-preview img{
  max-width:100%;
  height:auto;
}
@media(max-width:1000px){
  .coverage-create-setup,
  .coverage-question-row{
    grid-template-columns:1fr;
  }
  .coverage-folder-actions,
  .coverage-edit-head{
    align-items:flex-start;
    justify-content:flex-start;
  }
}


/* v0.54.7.8 - Lesson display polish */
.student-question-title{
  margin:0 0 12px;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid rgba(59,130,246,.18);
  background:linear-gradient(135deg,rgba(59,130,246,.10),rgba(15,23,42,.12));
  color:#0f6fa5;
  font-size:1.18rem;
  font-weight:1000;
  line-height:1.35;
}
.task-card .student-question-title + .lesson-question-surface{
  margin-top:0;
}
.solution-body .coded-solution-box{
  overflow:auto;
}
.solution-body .coded-solution-box > :first-child{
  margin-top:0;
}
.solution-body .coded-solution-box > :last-child{
  margin-bottom:0;
}

/* compact sticky lesson progress */
.lesson-progress-banner{
  padding:10px 12px!important;
  border-radius:18px!important;
  margin-bottom:12px!important;
}
.lesson-progress-banner-head{
  gap:8px!important;
  margin-bottom:6px!important;
}
.lesson-progress-banner-head h2{
  font-size:15px!important;
  line-height:1.1!important;
}
.lesson-progress-banner-head h2 .section-icon{
  width:28px!important;
  height:28px!important;
  font-size:15px!important;
}
.lesson-current-task-label{
  gap:6px!important;
}
.lesson-current-task-label span{
  font-size:11px!important;
}
.lesson-current-task-label strong{
  font-size:13px!important;
}
.lesson-progress-actions{
  gap:8px!important;
}
.lesson-progress-actions .muted{
  font-size:13px!important;
}
.lesson-current-jump{
  padding:7px 10px!important;
  font-size:12px!important;
}
.lesson-compact-progress-track{
  height:5px;
  border-radius:999px;
  background:rgba(148,163,184,.16);
  overflow:hidden;
  border:1px solid rgba(148,163,184,.12);
  margin:4px 2px 8px;
}
.lesson-compact-progress-track span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#22c55e,#38bdf8);
}
.lesson-step-strip{
  gap:7px!important;
  padding:2px 1px 3px!important;
}
.lesson-step-dot{
  width:34px!important;
  height:34px!important;
  font-size:13px!important;
  border-width:1px!important;
}
.lesson-main-flow .task-card{
  scroll-margin-top:112px!important;
}
@media(max-width:760px){
  .lesson-progress-banner{
    top:6px!important;
    padding:8px 9px!important;
    border-radius:16px!important;
  }
  .lesson-progress-banner-head{
    display:grid!important;
    grid-template-columns:1fr auto;
    align-items:center!important;
  }
  .lesson-progress-banner-head h2{
    display:none!important;
  }
  .lesson-current-task-label span{
    display:none!important;
  }
  .lesson-current-task-label strong{
    max-width:calc(100vw - 152px)!important;
    font-size:12px!important;
  }
  .lesson-progress-actions .muted{
    font-size:11px!important;
  }
  .lesson-current-jump{
    display:none!important;
  }
  .lesson-step-dot{
    width:30px!important;
    height:30px!important;
    font-size:12px!important;
  }
  .lesson-step-strip{
    gap:6px!important;
  }
  .lesson-main-flow .task-card{
    scroll-margin-top:92px!important;
  }
  .student-question-title{
    font-size:1.04rem;
    padding:10px 12px;
  }
}


/* v0.54.7.9 - Clean student lesson UI */
.lesson-step-strip{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  overflow-y:hidden!important;
}
.lesson-step-strip::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.lesson-progress-banner{
  overflow:hidden!important;
}
.lesson-block-head-score-only{
  justify-content:flex-end;
  margin-bottom:8px!important;
}
.package-controlled-solution-body{
  max-height:none;
}
.package-solution-content,
.package-coded-solution-box{
  max-width:100%;
  margin:0;
  background:#ffffff;
  color:#222;
  border:1px solid #d8e2ee;
  border-radius:14px;
  padding:16px;
  box-shadow:none;
  font-family:"Segoe UI", Tahoma, Arial, sans-serif;
  direction:ltr;
  text-align:left;
  overflow:auto;
}
.package-solution-content > .package-coded-solution-box{
  border:0;
  padding:0;
  box-shadow:none;
}
.package-solution-content .coded-step,
.package-coded-solution-box .coded-step{
  background:#fafafa;
  border:1px solid #e5e5e5;
  padding:12px;
  margin:12px 0;
  border-radius:8px;
  line-height:1.75;
}
.package-solution-content .coded-question-box,
.package-coded-solution-box .coded-question-box{
  background:#f1f6ff;
  border-left:5px solid #2b6cb0;
  padding:14px;
  margin:12px 0;
  border-radius:8px;
}
.package-solution-content .coded-final-answer,
.package-coded-solution-box .coded-final-answer{
  background:#ecfff3;
  border:1px solid #8dd7a5;
  padding:14px;
  margin:14px 0 0;
  border-radius:8px;
  font-weight:800;
}
.package-solution-content mjx-container,
.package-coded-solution-box mjx-container{
  direction:ltr;
  text-align:center!important;
}
.task-card > .lesson-block-head:first-child:not(.lesson-block-head-score-only){
  display:none;
}
.teacher-editor + .lesson-player .task-card > .lesson-block-head:first-child,
body.teacher-mode .task-card > .lesson-block-head:first-child{
  display:flex;
}


/* v0.54.8.0 - Solution hard stop */
.package-controlled-solution-body,
.package-solution-content,
.package-coded-solution-box{
  max-height:none!important;
}
.package-controlled-solution-body .coded-solution-box{
  all:unset;
  display:block;
}
.worked-example-box .package-controlled-solution-body .correct-choice,
.worked-example-box .package-controlled-solution-body [data-role="correct-choice"]{
  display:none!important;
}


/* v0.54.8.1 - Show Practice header only for students */
.student-practice-task-head{
  display:flex!important;
  margin-bottom:14px!important;
}
.student-practice-task-head h2{
  margin:0;
  color:#eaf2ff;
}
.student-practice-task-head .lesson-block-sub{
  margin-top:4px;
}
.task-type-example > .student-practice-task-head{
  display:none!important;
}


/* v0.54.8.2 - Unwrap old auto-step wrappers */
.package-solution-content > .coded-step{
  display:none!important;
}
.package-solution-content > .package-coded-solution-box{
  display:block!important;
}
.package-solution-content .package-coded-solution-box .coded-step{
  display:block!important;
}


/* v0.54.8.4 - Navigation and visual polish */
.student-question-title{
  color:#ffffff!important;
  background:linear-gradient(135deg,rgba(37,99,235,.92),rgba(14,165,233,.42))!important;
  border-color:rgba(147,197,253,.45)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:0 10px 28px rgba(2,6,23,.22);
}
.student-practice-task-head h2{
  color:#ffffff!important;
}
.academy-dashboard-link{
  text-decoration:none!important;
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease;
}
.academy-dashboard-link:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
}
.lesson-top-button{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:55;
  display:flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(147,197,253,.38);
  border-radius:999px;
  padding:9px 12px;
  background:rgba(15,23,42,.78);
  color:#ffffff;
  font-weight:1000;
  box-shadow:0 10px 30px rgba(2,6,23,.35);
  cursor:pointer;
  backdrop-filter:blur(12px);
}
.lesson-top-button span{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(59,130,246,.35);
}
.lesson-top-button:hover{
  transform:translateY(-2px);
  background:rgba(30,41,59,.92);
}
@media(max-width:760px){
  .lesson-top-button{
    right:12px;
    bottom:12px;
    padding:8px 10px;
    font-size:12px;
    opacity:.88;
  }
  .lesson-top-button span{
    width:20px;
    height:20px;
  }
}


/* v0.55.0 - Bilingual lesson content only */
.lesson-lang-content[data-lesson-lang="ar"]{
  display:none!important;
}
html[lang="ar"] .lesson-lang-content[data-lesson-lang="en"]{
  display:none!important;
}
html[lang="ar"] .lesson-lang-content[data-lesson-lang="ar"]{
  display:revert!important;
}
html:not([lang="ar"]) .lesson-lang-content[data-lesson-lang="en"]{
  display:revert!important;
}
.lesson-lang-content[dir="rtl"]{
  direction:rtl!important;
  text-align:right!important;
}
.lesson-lang-content[dir="ltr"]{
  direction:ltr!important;
  text-align:left!important;
}
.lesson-lang-content mjx-container{
  direction:ltr!important;
  text-align:left!important;
}
html[lang="ar"] .lesson-question-surface .lesson-lang-content,
html[lang="ar"] .solution-body .lesson-lang-content,
html[lang="ar"] .g12-value .lesson-lang-content,
html[lang="ar"] .lesson-explanation-card .lesson-lang-content{
  direction:rtl;
  text-align:right;
}
html[lang="ar"] .lesson-question-surface .lesson-lang-content mjx-container,
html[lang="ar"] .solution-body .lesson-lang-content mjx-container,
html[lang="ar"] .g12-value .lesson-lang-content mjx-container,
html[lang="ar"] .lesson-explanation-card .lesson-lang-content mjx-container{
  direction:ltr!important;
  text-align:left!important;
}


/* ================================================================
   v0.55.1 — Student Content Protection
   Dynamic repeated watermark + anti-copy/right-click visual layer
   ================================================================ */

body.student-content-protected{
  -webkit-touch-callout:none;
}

body.student-content-protected main,
body.student-content-protected .academy-student-hero,
body.student-content-protected .academy-student-dock,
body.student-content-protected .site-footer{
  -webkit-user-select:none;
  user-select:none;
}

body.student-content-protected input,
body.student-content-protected textarea,
body.student-content-protected select,
body.student-content-protected [contenteditable="true"],
body.student-content-protected [contenteditable="plaintext-only"]{
  -webkit-user-select:text!important;
  user-select:text!important;
  -webkit-touch-callout:default;
}

body.student-content-protected img,
body.student-content-protected svg{
  -webkit-user-drag:none;
  user-drag:none;
}

.academy-watermark-grid{
  position:fixed;
  inset:-24vh -24vw;
  z-index:42;
  display:grid;
  grid-template-columns:repeat(5, minmax(230px, 1fr));
  grid-auto-rows:150px;
  align-items:center;
  justify-items:center;
  gap:34px 56px;
  overflow:hidden;
  pointer-events:none!important;
  user-select:none!important;
  transform:rotate(-22deg) scale(1.08);
  transform-origin:center;
  contain:strict;
}

.academy-watermark-stamp{
  width:230px;
  display:grid;
  place-items:center;
  gap:2px;
  text-align:center;
  color:rgba(59,130,246,.145);
  text-shadow:
    0 1px 1px rgba(255,255,255,.07),
    0 -1px 1px rgba(2,6,23,.06);
  font-family:'Cairo','Segoe UI',sans-serif;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.24;
  white-space:nowrap;
}

.academy-watermark-stamp span{
  font-size:12px;
}

.academy-watermark-stamp strong{
  max-width:225px;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
}

.academy-watermark-stamp small{
  font-size:10px;
  letter-spacing:.13em;
}

.academy-protection-toast{
  position:fixed;
  left:50%;
  bottom:26px;
  z-index:100000;
  max-width:min(560px, calc(100vw - 28px));
  padding:12px 18px;
  border:1px solid rgba(147,197,253,.36);
  border-radius:999px;
  background:rgba(15,23,42,.95);
  color:#fff;
  box-shadow:0 16px 42px rgba(2,6,23,.42);
  backdrop-filter:blur(14px);
  font-weight:900;
  font-size:.9rem;
  line-height:1.4;
  text-align:center;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%, 18px);
  transition:opacity .18s ease, transform .18s ease;
}

.academy-protection-toast.show{
  opacity:1;
  transform:translate(-50%, 0);
}

@media(max-width:760px){
  .academy-watermark-grid{
    inset:-20vh -50vw;
    grid-template-columns:repeat(4, 190px);
    grid-auto-rows:125px;
    gap:22px 38px;
    transform:rotate(-24deg) scale(1.04);
  }

  .academy-watermark-stamp{
    width:190px;
  }

  .academy-watermark-stamp span{
    font-size:10px;
  }

  .academy-watermark-stamp strong{
    max-width:185px;
    font-size:11px;
  }

  .academy-watermark-stamp small{
    font-size:9px;
  }

  .academy-protection-toast{
    bottom:18px;
    border-radius:18px;
    font-size:.82rem;
  }
}

@media print{
  body.student-content-protected{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .academy-watermark-grid{
    position:fixed!important;
    inset:-18vh -18vw!important;
    display:grid!important;
    z-index:99999!important;
  }

  .academy-watermark-stamp{
    color:rgba(30,64,175,.18)!important;
  }

  .academy-protection-toast{
    display:none!important;
  }
}


/* ================================================================
   v0.55.2 — Term-linked units and independent content preparation
   ================================================================ */

.term-card-heading,
.term-content-heading,
.unit-term-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.term-card-heading h2,
.term-content-heading h2,
.unit-term-heading h2{
  margin-top:0;
  margin-bottom:6px;
}

.active-term-pill{
  background:rgba(34,197,94,.14)!important;
  border-color:rgba(34,197,94,.34)!important;
  color:#166534!important;
  font-weight:900;
}

.term-content-tabs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}

.term-content-tab{
  display:grid;
  gap:4px;
  min-height:78px;
  padding:16px;
  border:1px solid var(--line, #dbe4f0);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  color:inherit;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.term-content-tab:hover{
  transform:translateY(-2px);
  border-color:rgba(37,99,235,.45);
  box-shadow:0 12px 28px rgba(15,23,42,.09);
}

.term-content-tab.selected{
  border-color:rgba(37,99,235,.72);
  background:linear-gradient(135deg, rgba(219,234,254,.95), rgba(239,246,255,.92));
  box-shadow:0 12px 28px rgba(37,99,235,.13);
}

.term-content-tab span{
  font-weight:950;
  font-size:1.05rem;
}

.term-content-tab small{
  color:var(--muted, #64748b);
  font-weight:800;
}

.term-content-heading{
  margin:4px 0 14px;
  padding:14px 16px;
  border:1px dashed rgba(59,130,246,.28);
  border-radius:16px;
  background:rgba(239,246,255,.55);
}

.unit-term-heading{
  align-items:center;
  margin-bottom:10px;
}

.unit-edit-form small.muted{
  display:block;
  margin-top:-2px;
  margin-bottom:8px;
  line-height:1.5;
}

@media(max-width:760px){
  .term-content-tabs{
    grid-template-columns:1fr;
  }

  .term-content-tab{
    min-height:auto;
  }

  .term-card-heading,
  .term-content-heading,
  .unit-term-heading{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* ================================================================
   v0.55.3 — Move units between terms
   ================================================================ */

.unit-term-select{
  border-color:rgba(37,99,235,.42)!important;
  background:linear-gradient(135deg, rgba(239,246,255,.96), rgba(255,255,255,.96))!important;
  font-weight:850;
}

.unit-move-note{
  padding:10px 12px;
  border:1px solid rgba(59,130,246,.22);
  border-radius:12px;
  background:rgba(239,246,255,.58);
}


/* v0.56.0 — Phase 2: trusted devices, single session, and term contrast */
.term-content-tab,
.term-content-tab:visited,
.term-content-tab span{color:#4a2c20!important;}
.term-content-tab small{color:#6b4635!important;}
.term-content-tab.selected,
.term-content-tab.selected span{color:#3b2117!important;}

.unit-delete-form{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:10px 0 18px;padding-top:12px;border-top:1px dashed rgba(239,68,68,.25);}
.unit-delete-form small{margin-right:auto;}
.device-approval-card{max-width:620px;}
.device-approval-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,rgba(219,234,254,.96),rgba(224,231,255,.96));font-size:2rem;margin-bottom:12px;}
.device-replacement-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;padding:14px;border:1px solid rgba(59,130,246,.24);border-radius:16px;background:rgba(239,246,255,.66);}
.device-replacement-summary>div{display:grid;gap:4px;}
.device-replacement-summary small{color:#64748b;font-weight:800;}
.device-replacement-summary strong{color:#0f172a;}
.device-code-input{text-align:center!important;font-size:1.65rem!important;font-weight:950!important;letter-spacing:.35em!important;}
.trusted-device-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.trusted-device-list{display:grid;gap:10px;margin-top:14px;}
.trusted-device-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:rgba(248,250,252,.72);}
.trusted-device-row.current{border-color:rgba(34,197,94,.36);background:rgba(240,253,244,.72);}
.trusted-device-main,.trusted-device-actions{display:flex;align-items:center;gap:10px;}
.trusted-device-main>div{display:grid;gap:3px;}
.trusted-device-main small{color:#64748b;}
.trusted-device-symbol{font-size:1.45rem;}
@media(max-width:760px){.device-replacement-summary{grid-template-columns:1fr}.device-replacement-summary>span{transform:rotate(90deg);justify-self:center}.trusted-device-row{display:grid}.trusted-device-row,.trusted-device-actions{align-items:flex-start}.trusted-device-actions{justify-content:space-between}.unit-delete-form{align-items:stretch}.unit-delete-form .btn{width:100%}}


/* v0.57.0 — Test Yourself */
.unit-self-test-entry{margin-top:16px;padding-top:16px;border-top:1px dashed rgba(59,130,246,.28)}
.unit-self-test-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid rgba(99,102,241,.28);border-radius:18px;background:linear-gradient(135deg,rgba(238,242,255,.96),rgba(239,246,255,.94));color:#172554;text-decoration:none;box-shadow:0 10px 28px rgba(37,99,235,.08);transition:.16s}
.unit-self-test-link:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,99,235,.14)}
.unit-self-test-link>span:nth-child(2){display:grid;gap:3px}.unit-self-test-link strong{font-size:1.08rem}.unit-self-test-link small{color:#475569}
.unit-self-test-icon,.self-test-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#dbeafe,#e0e7ff);font-size:1.65rem}
.unit-self-test-arrow{font-size:1.35rem;font-weight:950}html[lang="ar"] .unit-self-test-arrow{transform:rotate(180deg)}
.self-test-hero,.self-test-attempt-head,.self-test-result-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.self-test-hero>div:first-child,.self-test-attempt-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}
.self-test-hero h1,.self-test-attempt-head h1{margin:0}.self-test-hero p,.self-test-attempt-head p{grid-column:2;margin:4px 0 0}
.self-test-error{margin:14px 0;border-radius:14px;padding:13px 16px}.self-test-builder{margin-top:16px}
.self-test-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.self-test-section-head>div{display:flex;align-items:center;gap:10px}.self-test-section-head h2{margin:0}
.self-test-step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1d4ed8;color:#fff;font-weight:950}
.self-test-lesson-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.self-test-lesson-option{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:rgba(248,250,252,.78);cursor:pointer;transition:.16s}
.self-test-lesson-option:hover{transform:translateY(-1px);border-color:rgba(37,99,235,.42)}.self-test-lesson-option:has(input:checked){border-color:rgba(37,99,235,.68);background:rgba(239,246,255,.92)}
.self-test-lesson-option.disabled{opacity:.5;cursor:not-allowed}.self-test-lesson-option input{position:absolute;opacity:0;pointer-events:none}
.self-test-checkmark{width:28px;height:28px;display:grid;place-items:center;border:2px solid #94a3b8;border-radius:9px;color:transparent;font-weight:950}
.self-test-lesson-option input:checked+.self-test-checkmark{border-color:#2563eb;background:#2563eb;color:#fff}.self-test-lesson-copy{display:grid;gap:3px}.self-test-lesson-copy small{color:#64748b}
.self-test-question-count-block{margin-top:24px;padding-top:20px;border-top:1px dashed rgba(59,130,246,.25)}
.self-test-count-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.self-test-quick-counts{display:flex;gap:8px;flex-wrap:wrap}
.self-test-count-chip{min-width:52px;padding:10px 14px;border:1px solid rgba(59,130,246,.3);border-radius:999px;background:#fff;color:#1e3a8a;font-weight:900;cursor:pointer}
.self-test-count-chip.selected{background:#1d4ed8;color:#fff}.self-test-count-chip:disabled{opacity:.35;cursor:not-allowed}
.self-test-start-button{width:100%;margin-top:22px;min-height:52px;font-size:1.04rem}.self-test-start-button:disabled{opacity:.45;cursor:not-allowed}
.self-test-history-card{margin-top:16px}.self-test-history-list{display:grid;gap:10px}
.self-test-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:15px;background:rgba(248,250,252,.72);color:inherit;text-decoration:none}
.self-test-history-row>span:first-child{display:grid;gap:3px}.self-test-history-row small{color:#64748b}
.self-test-history-score{min-width:92px;display:grid;place-items:center;gap:2px;padding:9px 12px;border-radius:13px}.self-test-history-score.submitted{background:rgba(220,252,231,.78);color:#166534}.self-test-history-score.open{background:rgba(219,234,254,.78);color:#1e40af}
.self-test-attempt-form{display:grid;gap:16px;margin-top:16px}.self-test-question-card{position:relative}
.self-test-question-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.self-test-question-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0f172a;color:#fff;font-weight:950}
.self-test-question-title{margin:0 0 12px;font-size:1.08rem}
.self-test-question-html{padding:15px;border:1px solid rgba(148,163,184,.22);border-radius:15px;background:rgba(255,255,255,.72)}
.self-test-choice-list{display:grid;gap:10px;margin-top:14px}
.self-test-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(148,163,184,.26);border-radius:14px;background:rgba(248,250,252,.72);cursor:pointer}
label.self-test-choice:has(input:checked){border-color:rgba(37,99,235,.7);background:rgba(239,246,255,.95)}.self-test-choice input{position:absolute;opacity:0}
.self-test-choice-label{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e2e8f0;color:#0f172a;font-weight:950}
label.self-test-choice:has(input:checked) .self-test-choice-label{background:#2563eb;color:#fff}.self-test-choice-html{min-width:0}
.self-test-submit-card{display:flex;align-items:center;justify-content:space-between;gap:16px}
.self-test-result-hero{margin-bottom:16px}.self-test-result-circle{width:118px;height:118px;display:grid;place-items:center;align-content:center;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#dcfce7);border:7px solid rgba(37,99,235,.16);color:#0f172a}
.self-test-result-circle strong{font-size:2rem}.self-test-result-circle small{color:#475569;font-weight:850}.self-test-result-actions{display:flex;gap:10px;flex-wrap:wrap}
.self-test-result-question.correct{border-color:rgba(34,197,94,.35)}.self-test-result-question.incorrect{border-color:rgba(239,68,68,.35)}
.self-test-result-status{font-weight:950}.self-test-result-question.correct .self-test-result-status{color:#15803d}.self-test-result-question.incorrect .self-test-result-status{color:#b91c1c}
.self-test-choice.correct-choice{border-color:rgba(34,197,94,.58);background:rgba(240,253,244,.94)}.self-test-choice.correct-choice .self-test-choice-label{background:#16a34a;color:#fff}
.self-test-choice.selected-wrong{border-color:rgba(239,68,68,.58);background:rgba(254,242,242,.94)}.self-test-choice.selected-wrong .self-test-choice-label{background:#dc2626;color:#fff}
.self-test-choice small{color:#475569;font-weight:900}.self-test-solution{margin-top:15px;padding:13px;border:1px solid rgba(59,130,246,.24);border-radius:14px;background:rgba(239,246,255,.6)}
.self-test-solution summary{cursor:pointer;font-weight:950;color:#1e3a8a}.self-test-solution .package-solution-content{margin-top:12px}
.self-test-current-answer{margin-top:14px;padding:13px 15px;border:1px solid rgba(34,197,94,.34);border-radius:14px;background:rgba(240,253,244,.94);color:#14532d;display:grid;gap:7px}.self-test-current-answer>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.self-test-current-answer strong{font-weight:950}.self-test-current-answer small{color:#166534;font-weight:850}.self-test-current-answer .math-block-content{color:#0f172a}
@media(max-width:760px){.self-test-lesson-checklist{grid-template-columns:1fr}.self-test-hero,.self-test-attempt-head,.self-test-result-hero,.self-test-submit-card{display:grid;align-items:stretch}.self-test-history-row{display:grid;align-items:stretch}.self-test-history-score{justify-self:stretch}.self-test-choice{grid-template-columns:auto 1fr}.self-test-choice small{grid-column:2}.self-test-result-actions{display:grid}}


/* ================================================================
   v0.57.1 — Clean unit settings layout
   ================================================================ */

.unit-management-panel{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.unit-admin-card .unit-edit-form.unit-edit-form-v2{
  display:block!important;
  grid-template-columns:none!important;
  align-items:initial!important;
  gap:0!important;
}

.unit-admin-card .unit-edit-form.unit-edit-form-v2 label,
.unit-admin-card .unit-edit-form.unit-edit-form-v2 input,
.unit-admin-card .unit-edit-form.unit-edit-form-v2 select,
.unit-admin-card .unit-edit-form.unit-edit-form-v2 button{
  grid-row:auto!important;
}

.unit-title-field{
  display:grid;
  gap:7px;
  width:100%;
  margin-bottom:13px;
}

.unit-title-field input{
  width:100%!important;
  min-width:0;
  box-sizing:border-box;
  font-size:1rem;
  font-weight:850;
}

.unit-settings-grid{
  display:grid;
  grid-template-columns:minmax(250px,1.5fr) minmax(90px,.42fr) minmax(170px,.75fr) minmax(150px,.65fr);
  align-items:end;
  gap:12px;
  width:100%;
}

.unit-settings-grid .unit-field{
  display:grid;
  gap:7px;
  min-width:0;
}

.unit-settings-grid label{
  display:block;
  min-width:0;
  white-space:normal;
  line-height:1.35;
  font-weight:850;
}

.unit-settings-grid input,
.unit-settings-grid select{
  width:100%!important;
  min-width:0;
  box-sizing:border-box;
}

.unit-order-field input{
  text-align:center;
}

.unit-save-field{
  display:grid;
  align-items:end;
}

.unit-save-button{
  width:100%;
  min-height:45px;
  white-space:nowrap;
}

.unit-settings-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:11px;
}

.unit-settings-notes small{
  display:block;
  width:auto;
  min-width:0;
  margin:0!important;
  line-height:1.55;
}

.unit-settings-notes .unit-move-note,
.unit-settings-notes .unit-visibility-note{
  padding:10px 12px;
  border-radius:12px;
}

.unit-settings-notes .unit-visibility-note{
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.18);
}

.unit-admin-card .unit-delete-form.unit-delete-form-v2{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:12px 0 0;
  border-top:1px dashed rgba(239,68,68,.25);
}

.unit-admin-card .unit-delete-form.unit-delete-form-v2 small{
  margin:0!important;
  line-height:1.45;
}

@media(max-width:1050px){
  .unit-settings-grid{
    grid-template-columns:minmax(230px,1.4fr) minmax(90px,.45fr) minmax(160px,.8fr);
  }

  .unit-save-field{
    grid-column:1 / -1;
  }

  .unit-save-button{
    width:100%;
  }
}

@media(max-width:760px){
  .unit-settings-grid{
    grid-template-columns:1fr 1fr;
  }

  .unit-term-field{
    grid-column:1 / -1;
  }

  .unit-save-field{
    grid-column:1 / -1;
  }

  .unit-settings-notes{
    grid-template-columns:1fr;
  }

  .unit-admin-card .unit-delete-form.unit-delete-form-v2{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .unit-admin-card .unit-delete-form.unit-delete-form-v2 .btn{
    width:100%;
  }
}

@media(max-width:480px){
  .unit-settings-grid{
    grid-template-columns:1fr;
  }

  .unit-term-field,
  .unit-order-field,
  .unit-status-field,
  .unit-save-field{
    grid-column:1;
  }
}


/* ================================================================
   v0.57.2 — Self-test contrast, Term select visibility,
   Exit Ticket PDF, and Telegram contact
   ================================================================ */

/* Term selector: dark readable text on the light field. */
.unit-term-select{
  color:#4a2c20!important;
  background:#ffffff!important;
  -webkit-text-fill-color:#4a2c20!important;
}

.unit-term-select option{
  color:#23150f!important;
  background:#ffffff!important;
}

/* Self-test lesson cards: strong contrast on mobile and desktop. */
body.student-experience .self-test-lesson-option{
  background:rgba(248,250,252,.97)!important;
  color:#0f172a!important;
  border-color:rgba(100,116,139,.42)!important;
}

body.student-experience .self-test-lesson-option strong{
  color:#1e3a5f!important;
  -webkit-text-fill-color:#1e3a5f!important;
  text-shadow:none!important;
}

body.student-experience .self-test-lesson-option small,
body.student-experience .self-test-lesson-option small span{
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
}

body.student-experience .self-test-checkmark{
  border-color:#64748b!important;
  background:#ffffff!important;
}

body.student-experience .self-test-lesson-option input:checked + .self-test-checkmark{
  border-color:#2563eb!important;
  background:#2563eb!important;
  color:#ffffff!important;
}

body.student-experience .self-test-lesson-option:has(input:checked){
  background:#dbeafe!important;
  border-color:#2563eb!important;
}

body.student-experience .self-test-lesson-option:has(input:checked) strong{
  color:#172554!important;
  -webkit-text-fill-color:#172554!important;
}

/* Keep the watermark visible but lighter over light content cards. */
body.student-experience .academy-watermark-stamp{
  color:rgba(30,64,175,.095);
}

/* Ask Teacher: three compact equal actions in the same rectangle. */
.academy-ask-card{
  max-width:640px;
}

.academy-ask-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}

.academy-contact-option{
  min-width:0;
  min-height:62px;
  gap:7px;
  padding:8px 7px;
  border-radius:15px;
}

.academy-contact-symbol{
  width:28px;
  height:28px;
  flex-basis:28px;
}

.academy-contact-symbol svg{
  width:28px;
  height:28px;
}

.academy-option-text{
  min-width:0;
}

.academy-option-text strong{
  font-size:14px;
  white-space:nowrap;
}

.academy-option-text small{
  font-size:10px;
  white-space:nowrap;
}

.academy-telegram-option{
  background:linear-gradient(135deg,#1877a8,#2aabee);
}

@media(max-width:620px){
  .academy-ask-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .academy-ask-card{
    padding:10px;
    gap:8px;
  }

  .academy-ask-title{
    font-size:16px;
  }

  .academy-contact-option{
    min-height:54px;
    padding:6px 4px;
    gap:4px;
    flex-direction:column;
  }

  .academy-contact-symbol,
  .academy-contact-symbol svg{
    width:23px;
    height:23px;
  }

  .academy-contact-symbol{
    flex-basis:23px;
  }

  .academy-option-text{
    text-align:center!important;
  }

  .academy-option-text strong{
    font-size:11px;
  }

  .academy-option-text small{
    display:none;
  }
}

/* Exit Ticket PDF button inside the lesson. */
.exit-ticket-pdf-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin:-2px 0 16px;
  padding:12px 14px;
  border:1px solid rgba(56,189,248,.3);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(14,116,144,.16),rgba(37,99,235,.12));
}

.exit-ticket-pdf-copy{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.exit-ticket-pdf-copy > span:last-child{
  display:grid;
  gap:3px;
}

.exit-ticket-pdf-copy strong{
  color:#e0f2fe;
}

.exit-ticket-pdf-copy small{
  color:#a7c7df;
}

.exit-ticket-pdf-icon{
  font-size:1.55rem;
}

.exit-ticket-pdf-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.teacher-answer-pdf-button{
  border-color:rgba(250,204,21,.35)!important;
}

@media(max-width:620px){
  .exit-ticket-pdf-toolbar{
    display:grid;
  }

  .exit-ticket-pdf-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .exit-ticket-pdf-actions .btn{
    width:100%;
  }
}

/* Exit Ticket printable page */
.exit-ticket-print-page{
  position:relative;
  isolation:isolate;
  max-width:1040px;
  margin:0 auto;
}

.exit-ticket-print-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.exit-ticket-print-toolbar h1{
  margin:0 0 6px;
}

.exit-ticket-print-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  justify-content:flex-end;
}

.exit-ticket-print-watermark{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.exit-ticket-watermark-logo{
  position:absolute;
  width:min(420px,56vw);
  height:min(420px,56vw);
  object-fit:contain;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  opacity:.055;
}

.exit-ticket-watermark-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-18deg);
  display:grid;
  place-items:center;
  gap:3px;
  color:rgba(30,64,175,.105);
  text-align:center;
  white-space:nowrap;
}

.exit-ticket-watermark-center strong{
  font-size:42px;
  font-weight:950;
}

.exit-ticket-watermark-center span{
  font-size:30px;
  font-weight:950;
}

.exit-ticket-watermark-center small{
  font-size:20px;
  font-weight:900;
}

.exit-ticket-watermark-grid{
  position:absolute;
  inset:-18vh -20vw;
  display:grid;
  grid-template-columns:repeat(5,minmax(220px,1fr));
  grid-auto-rows:150px;
  gap:24px 46px;
  align-items:center;
  justify-items:center;
  transform:rotate(-22deg);
}

.exit-ticket-watermark-stamp{
  width:240px;
  display:grid;
  place-items:center;
  gap:2px;
  color:rgba(30,64,175,.10);
  text-align:center;
  white-space:nowrap;
  line-height:1.25;
}

.exit-ticket-watermark-stamp strong{
  font-size:11px;
}

.exit-ticket-watermark-stamp span{
  font-size:10px;
  font-weight:900;
}

.exit-ticket-watermark-stamp small{
  font-size:8px;
  letter-spacing:.05em;
}

.exit-ticket-print-sheet{
  position:relative;
  z-index:1;
  max-width:960px;
  margin:0 auto 32px;
  padding:32px;
  color:#111827;
  background:rgba(255,255,255,.89);
  border:1px solid rgba(148,163,184,.35);
  border-radius:22px;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.exit-ticket-print-header{
  padding-bottom:22px;
  margin-bottom:24px;
  border-bottom:2px solid rgba(30,64,175,.18);
}

.exit-ticket-print-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.exit-ticket-print-brand img{
  width:72px;
  height:72px;
  object-fit:contain;
}

.exit-ticket-print-brand-copy{
  display:grid;
  gap:1px;
}

.exit-ticket-print-brand-copy strong{
  font-size:20px;
  font-weight:950;
  color:#0f172a;
}

.exit-ticket-print-brand-copy span{
  font-size:17px;
  font-weight:900;
  color:#1e3a8a;
}

.exit-ticket-print-brand-copy small{
  color:#475569;
  font-weight:800;
}

.exit-ticket-print-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:12px 0 18px;
  font-size:12px;
  font-weight:850;
}

.exit-ticket-print-links a{
  color:#1d4ed8;
  word-break:break-all;
}

.exit-ticket-print-title-block{
  margin-top:12px;
}

.exit-ticket-print-kicker{
  display:inline-flex;
  padding:5px 10px;
  border-radius:999px;
  background:#1e3a8a;
  color:#ffffff;
  font-size:12px;
  font-weight:950;
}

.exit-ticket-print-title-block h1{
  margin:10px 0 4px;
  color:#0f172a;
  font-size:30px;
  line-height:1.2;
}

.exit-ticket-print-title-block h2{
  margin:0;
  color:#334155;
  font-size:20px;
}

.exit-ticket-print-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px;
  margin-top:18px;
  font-size:13px;
}

.exit-ticket-print-meta span{
  display:flex;
  gap:5px;
  min-width:0;
}

.exit-ticket-print-meta strong{
  color:#475569;
}

.exit-ticket-print-meta b{
  color:#0f172a;
  overflow-wrap:anywhere;
}

.exit-ticket-print-date{
  margin:12px 0 0;
  color:#64748b;
  font-size:11px;
}

.exit-ticket-print-instructions{
  margin-bottom:18px;
  padding:14px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:14px;
  background:rgba(248,250,252,.82);
}

.exit-ticket-print-question{
  break-inside:avoid;
  page-break-inside:avoid;
  margin-bottom:18px;
  padding:17px;
  border:1px solid rgba(148,163,184,.38);
  border-radius:16px;
  background:rgba(255,255,255,.82);
}

.exit-ticket-print-question-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.exit-ticket-print-question-head h3{
  margin:0;
  color:#0f172a;
  font-size:16px;
}

.exit-ticket-print-question-number{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  background:#1e3a8a;
  color:#ffffff;
  font-weight:950;
}

.exit-ticket-print-question-html{
  color:#111827;
}

.exit-ticket-print-question-html img,
.exit-ticket-print-solution img{
  max-width:100%;
  height:auto;
}

.exit-ticket-print-choices{
  margin:14px 0 0 24px;
  padding:0;
}

.exit-ticket-print-choices li{
  position:relative;
  margin-bottom:7px;
  padding:9px 12px;
  border:1px solid rgba(203,213,225,.9);
  border-radius:11px;
  color:#111827;
  background:rgba(255,255,255,.72);
}

.exit-ticket-correct-choice{
  border-color:#16a34a!important;
  background:#f0fdf4!important;
}

.exit-ticket-correct-label{
  display:inline-block;
  margin-top:5px;
  color:#166534;
  font-size:11px;
}

.exit-ticket-print-answer-space{
  min-height:90px;
  margin-top:14px;
  padding:12px;
  border:1px dashed rgba(100,116,139,.7);
  border-radius:12px;
  color:#64748b;
}

.exit-ticket-print-solution{
  margin-top:14px;
  padding:13px;
  border:1px solid rgba(59,130,246,.3);
  border-radius:13px;
  background:rgba(239,246,255,.82);
}

.exit-ticket-print-solution > strong{
  display:block;
  margin-bottom:8px;
  color:#1e3a8a;
}

.exit-ticket-print-empty{
  padding:18px;
  border:1px dashed rgba(100,116,139,.6);
  border-radius:14px;
  color:#64748b;
}

.exit-ticket-print-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-top:26px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,.4);
  font-size:11px;
}

.exit-ticket-print-footer > div{
  display:grid;
  gap:2px;
}

.exit-ticket-print-footer a{
  color:#1d4ed8;
  word-break:break-all;
}

@media(max-width:720px){
  .exit-ticket-print-sheet{
    padding:18px;
    border-radius:16px;
  }

  .exit-ticket-print-meta{
    grid-template-columns:1fr;
  }

  .exit-ticket-print-footer{
    display:grid;
  }

  .exit-ticket-watermark-grid{
    grid-template-columns:repeat(4,190px);
  }

  .exit-ticket-watermark-center strong{
    font-size:30px;
  }

  .exit-ticket-watermark-center span{
    font-size:23px;
  }

  .exit-ticket-watermark-center small{
    font-size:16px;
  }
}

@media print{
  @page{
    size:A4;
    margin:11mm;
  }

  .exit-ticket-print-page{
    max-width:none!important;
    margin:0!important;
  }

  .exit-ticket-print-sheet{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:rgba(255,255,255,.84)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .exit-ticket-print-watermark{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:0!important;
  }

  .exit-ticket-watermark-logo{
    opacity:.06!important;
  }

  .exit-ticket-watermark-center{
    color:rgba(30,64,175,.11)!important;
  }

  .exit-ticket-watermark-stamp{
    color:rgba(30,64,175,.105)!important;
  }

  .exit-ticket-print-question,
  .exit-ticket-print-header,
  .exit-ticket-print-footer{
    position:relative;
    z-index:1;
  }

  .exit-ticket-print-question{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .exit-ticket-print-footer a,
  .exit-ticket-print-links a{
    color:#1d4ed8!important;
    text-decoration:none!important;
  }
}


/* ================================================================
   v0.57.4 — PDF branding refinement
   ================================================================ */

/* Exit Ticket: no student/account ID watermark. */
.exit-ticket-watermark-stamp{
  gap:3px;
}

.exit-ticket-watermark-stamp strong{
  font-size:11px;
}

.exit-ticket-watermark-stamp span{
  font-size:10px;
  font-weight:900;
}

.exit-ticket-blank-line{
  display:inline-block;
  min-width:180px;
  border-bottom:1px solid rgba(71,85,105,.75);
  line-height:1.2;
}

.exit-ticket-print-footer-links{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:7px!important;
  color:#1d4ed8;
}

.exit-ticket-print-footer-links a{
  display:inline!important;
}

/* Coverage / Structure PDF watermark */
.coverage-print-page{
  position:relative;
  isolation:isolate;
}

.coverage-print-watermark{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.coverage-print-watermark-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-20deg);
  display:grid;
  place-items:center;
  gap:4px;
  color:rgba(30,64,175,.075);
  text-align:center;
  white-space:nowrap;
}

.coverage-print-watermark-center strong{
  font-size:52px;
  font-weight:950;
  letter-spacing:.01em;
}

.coverage-print-watermark-center span{
  font-size:36px;
  font-weight:950;
}

.coverage-print-watermark-center small{
  font-size:24px;
  font-weight:900;
}

.coverage-print-sheet{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.91);
}

.coverage-print-brand > div{
  display:grid;
  gap:1px;
}

.coverage-print-brand small{
  display:block;
  margin-top:3px;
  color:#475569;
  font-size:12px;
  font-weight:800;
}

.coverage-print-footer{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:28px;
  padding-top:14px;
  border-top:1px solid rgba(148,163,184,.45);
  color:#334155;
  font-size:11px;
}

.coverage-print-footer-brand{
  display:grid;
  gap:2px;
}

.coverage-print-footer-brand strong{
  color:#0f172a;
}

.coverage-print-footer-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}

.coverage-print-footer-links a{
  color:#1d4ed8;
  text-decoration:none;
  word-break:break-all;
}

@media(max-width:720px){
  .coverage-print-watermark-center strong{
    font-size:34px;
  }

  .coverage-print-watermark-center span{
    font-size:25px;
  }

  .coverage-print-watermark-center small{
    font-size:18px;
  }

  .coverage-print-footer{
    display:grid;
  }

  .coverage-print-footer-links{
    justify-content:flex-start;
  }

  .exit-ticket-blank-line{
    min-width:120px;
  }
}

@media print{
  @page{
    size:A4;
    margin:12mm 12mm 18mm;
  }

  .coverage-print-watermark{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:0!important;
  }

  .coverage-print-watermark-center{
    color:rgba(30,64,175,.085)!important;
  }

  .coverage-print-sheet{
    position:relative!important;
    z-index:1!important;
    background:rgba(255,255,255,.86)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .coverage-print-footer{
    display:flex!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:-12mm!important;
    z-index:3!important;
    margin:0!important;
    padding:5px 0 0!important;
    border-top:1px solid rgba(148,163,184,.55)!important;
    background:rgba(255,255,255,.88)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .coverage-print-footer-links a{
    color:#1d4ed8!important;
  }

  .exit-ticket-print-links{
    display:none!important;
  }

  .exit-ticket-print-footer{
    display:flex!important;
  }

  .exit-ticket-print-footer-links a{
    color:#1d4ed8!important;
  }
}


/* ================================================================
   v0.57.5 — Professional A4 PDF layout
   Explicit pages, two questions per page, reliable watermark/footer
   ================================================================ */

.professional-pdf-workspace{
  display:grid;
  gap:12mm;
  max-width:1120px;
  margin:0 auto 32px;
}

.professional-a4-page{
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  width:min(190mm,100%);
  height:277mm;
  min-height:277mm;
  margin:0 auto;
  padding:8mm 8mm 13mm;
  overflow:hidden;
  color:#111827;
  background:#ffffff;
  border:1px solid rgba(148,163,184,.38);
  box-shadow:0 22px 60px rgba(15,23,42,.18);
  break-after:page;
  page-break-after:always;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}

.professional-a4-page:last-child{
  break-after:auto;
  page-break-after:auto;
}

.professional-page-watermark{
  position:absolute;
  z-index:0;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-20deg);
  display:grid;
  place-items:center;
  gap:2mm;
  width:160mm;
  color:#8fb5f2;
  opacity:.50;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

.professional-page-watermark strong{
  font-size:29pt;
  font-weight:950;
  letter-spacing:.01em;
}

.professional-page-watermark span{
  font-size:22pt;
  font-weight:950;
}

.professional-page-watermark small{
  font-size:15pt;
  font-weight:900;
}

.professional-page-content{
  position:relative;
  z-index:2;
  height:100%;
}

.professional-page-footer{
  position:absolute;
  z-index:3;
  left:8mm;
  right:8mm;
  bottom:4mm;
  display:grid;
  grid-template-columns:auto auto auto 1fr;
  align-items:center;
  gap:3mm;
  min-height:7mm;
  padding-top:2mm;
  border-top:.35mm solid rgba(71,85,105,.42);
  color:#334155;
  background:rgba(255,255,255,.72);
  font-size:7.8pt;
  line-height:1.2;
}

.professional-page-footer strong{
  color:#0f172a;
  white-space:nowrap;
}

.professional-page-footer a{
  color:#1d4ed8!important;
  text-decoration:none!important;
  white-space:nowrap;
}

.professional-page-footer span:last-child{
  justify-self:end;
  color:#64748b;
  white-space:nowrap;
}

.professional-cover-brand{
  margin:0;
}

.professional-cover-brand img{
  width:23mm;
  height:23mm;
}

.professional-cover-brand strong{
  font-size:18pt;
}

.professional-cover-brand span{
  font-size:14pt;
}

.professional-cover-brand small{
  font-size:9pt;
}

.coverage-cover-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10mm 8mm 22mm;
}

.professional-cover-title{
  margin-top:25mm;
}

.professional-cover-kicker{
  display:inline-flex;
  padding:2mm 4mm;
  border-radius:99mm;
  color:#ffffff;
  background:#1e3a8a;
  font-size:9pt;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.professional-cover-title h1{
  margin:6mm 0 1.5mm;
  color:#0f172a;
  font-size:28pt;
  line-height:1.12;
}

.professional-cover-title h2{
  margin:0;
  color:#334155;
  font-size:20pt;
  line-height:1.25;
}

.professional-cover-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:3mm;
  margin-top:16mm;
}

.professional-cover-meta > div{
  display:grid;
  gap:1mm;
  padding:3.2mm;
  border:.3mm solid rgba(148,163,184,.44);
  border-radius:3mm;
  background:rgba(255,255,255,.82);
}

.professional-cover-meta small{
  color:#64748b;
  font-size:8pt;
  font-weight:850;
}

.professional-cover-meta strong{
  color:#0f172a;
  font-size:10pt;
}

.professional-compact-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4mm;
  min-height:13mm;
  margin-bottom:3mm;
  padding-bottom:2.5mm;
  border-bottom:.45mm solid rgba(30,64,175,.28);
}

.professional-compact-header > div{
  display:grid;
  gap:.5mm;
}

.professional-compact-header strong{
  color:#0f172a;
  font-size:10pt;
}

.professional-compact-header small{
  color:#475569;
  font-size:7.5pt;
}

.professional-compact-header > span{
  padding:1.2mm 2.8mm;
  border-radius:99mm;
  color:#1e3a8a;
  background:#dbeafe;
  font-size:8pt;
  font-weight:900;
  white-space:nowrap;
}

.professional-question-pair{
  display:grid;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:3.5mm;
  height:236mm;
}

.professional-question-slot{
  position:relative;
  min-height:0;
  overflow:hidden;
  padding:3.2mm;
  border:.35mm solid rgba(100,116,139,.4);
  border-radius:3.5mm;
  background:rgba(255,255,255,.78);
}

.professional-empty-slot{
  border-style:dashed;
  background:rgba(248,250,252,.45);
}

.professional-question-fit{
  width:100%;
  color:#111827;
  font-size:8.8pt;
  line-height:1.34;
}

.professional-question-heading{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:2.4mm;
  margin-bottom:1.8mm;
}

.professional-question-heading > div{
  display:grid;
  gap:.4mm;
}

.professional-question-heading strong{
  color:#0f172a;
  font-size:10.3pt;
  line-height:1.2;
}

.professional-question-heading small{
  color:#475569;
  font-size:7.4pt;
}

.professional-question-number{
  display:grid;
  place-items:center;
  width:8mm;
  height:8mm;
  border-radius:2.2mm;
  color:#ffffff;
  background:#1e3a8a;
  font-size:9pt;
  font-weight:950;
}

.professional-question-tags{
  display:flex;
  flex-wrap:wrap;
  gap:1.2mm;
  margin-bottom:1.8mm;
}

.professional-question-tags span{
  padding:.7mm 1.8mm;
  border:.25mm solid rgba(148,163,184,.45);
  border-radius:99mm;
  color:#475569;
  background:rgba(248,250,252,.9);
  font-size:6.7pt;
  line-height:1.15;
}

.professional-question-html{
  margin:1.5mm 0 2mm;
  color:#111827;
}

.professional-question-html p,
.professional-question-html div{
  margin-top:0;
  margin-bottom:1.2mm;
}

.professional-question-slot img,
.professional-question-slot svg{
  display:block!important;
  max-width:100%!important;
  max-height:48mm!important;
  width:auto!important;
  height:auto!important;
  margin:1.5mm auto!important;
  object-fit:contain!important;
}

.professional-choice-list{
  display:grid;
  grid-template-columns:1fr;
  gap:1.2mm;
  margin:1.8mm 0 0 5mm;
  padding:0;
}

.professional-choice-list.has-choice-images{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-left:4mm;
}

.professional-choice-list li{
  position:relative;
  min-width:0;
  padding:1.5mm 2mm;
  border:.25mm solid rgba(148,163,184,.46);
  border-radius:2.2mm;
  background:rgba(255,255,255,.76);
  break-inside:avoid;
  page-break-inside:avoid;
}

.professional-choice-list li p,
.professional-choice-list li div{
  margin-top:0;
  margin-bottom:.6mm;
}

.professional-choice-list.has-choice-images li img,
.professional-choice-list.has-choice-images li svg{
  max-height:31mm!important;
  margin:.7mm auto!important;
}

.professional-correct-choice{
  border-color:#16a34a!important;
  background:rgba(240,253,244,.92)!important;
}

.professional-answer-mark{
  display:inline-block;
  margin-top:.8mm;
  color:#166534;
  font-size:6.8pt;
}

.professional-written-answer-space{
  min-height:19mm;
  margin-top:2mm;
  padding:2mm;
  border:.3mm dashed rgba(100,116,139,.7);
  border-radius:2.2mm;
  color:#64748b;
}

.professional-solution-box{
  margin-top:2mm;
  padding:2mm;
  border:.25mm solid rgba(59,130,246,.35);
  border-radius:2.2mm;
  background:rgba(239,246,255,.84);
  color:#111827;
}

.professional-solution-box > strong{
  display:block;
  margin-bottom:1mm;
  color:#1e3a8a;
  font-size:8pt;
}

.professional-solution-box img,
.professional-solution-box svg{
  max-height:34mm!important;
}

.exit-ticket-professional-header{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:4mm;
  min-height:15mm;
  margin-bottom:2.5mm;
  padding-bottom:2.5mm;
  border-bottom:.45mm solid rgba(30,64,175,.28);
}

.exit-ticket-professional-header.compact{
  min-height:12mm;
}

.exit-ticket-professional-brand{
  display:flex;
  align-items:center;
  gap:2.5mm;
}

.exit-ticket-professional-brand img{
  width:13mm;
  height:13mm;
  object-fit:contain;
}

.exit-ticket-professional-brand > div{
  display:grid;
  gap:.2mm;
}

.exit-ticket-professional-brand strong{
  color:#0f172a;
  font-size:9pt;
}

.exit-ticket-professional-brand span{
  color:#1e3a8a;
  font-size:7.5pt;
  font-weight:900;
}

.exit-ticket-professional-brand small{
  color:#475569;
  font-size:6.5pt;
  font-weight:800;
}

.exit-ticket-professional-title{
  display:grid;
  justify-items:end;
  gap:.4mm;
  text-align:end;
}

.exit-ticket-professional-title > span{
  color:#1d4ed8;
  font-size:7pt;
  font-weight:950;
  text-transform:uppercase;
}

.exit-ticket-professional-title strong{
  color:#0f172a;
  font-size:11pt;
}

.exit-ticket-professional-title small{
  color:#475569;
  font-size:7.5pt;
  font-weight:800;
}

.exit-ticket-professional-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.8mm;
  margin-bottom:2.2mm;
}

.exit-ticket-professional-meta > span{
  display:grid;
  gap:.3mm;
  min-width:0;
  padding:1.5mm 2mm;
  border:.25mm solid rgba(148,163,184,.4);
  border-radius:2mm;
  background:rgba(255,255,255,.78);
}

.exit-ticket-professional-meta small{
  color:#64748b;
  font-size:6.5pt;
  font-weight:850;
}

.exit-ticket-professional-meta strong{
  min-width:0;
  overflow-wrap:anywhere;
  color:#0f172a;
  font-size:7.5pt;
}

.professional-blank-line{
  display:block;
  min-height:3.5mm;
  border-bottom:.3mm solid rgba(71,85,105,.72);
}

.exit-ticket-professional-instructions{
  max-height:16mm;
  overflow:hidden;
  margin-bottom:2.2mm;
  padding:1.7mm 2mm;
  border:.25mm solid rgba(148,163,184,.4);
  border-radius:2mm;
  color:#334155;
  background:rgba(248,250,252,.82);
  font-size:7.2pt;
}

.exit-ticket-professional-instructions p{
  margin:.3mm 0;
}

.exit-ticket-question-pair{
  height:224mm;
}

.first-exit-ticket-page .exit-ticket-question-pair{
  height:192mm;
}

.exit-ticket-empty-page{
  display:grid;
  place-items:center;
  color:#64748b;
  font-weight:850;
}

@media(max-width:800px){
  .professional-pdf-workspace{
    gap:18px;
  }

  .professional-a4-page{
    width:100%;
    height:auto;
    min-height:920px;
    padding:22px 20px 54px;
  }

  .professional-question-pair{
    height:790px;
  }

  .first-exit-ticket-page .exit-ticket-question-pair{
    height:680px;
  }

  .professional-page-footer{
    left:20px;
    right:20px;
    bottom:14px;
    grid-template-columns:1fr 1fr;
    gap:5px 10px;
  }

  .professional-page-footer span:last-child{
    justify-self:start;
  }

  .professional-page-watermark{
    width:90%;
  }

  .professional-page-watermark strong{
    font-size:26px;
  }

  .professional-page-watermark span{
    font-size:21px;
  }

  .professional-page-watermark small{
    font-size:15px;
  }
}

@media print{
  @page{
    size:A4;
    margin:10mm;
  }

  html,
  body{
    background:#ffffff!important;
  }

  .professional-pdf-workspace{
    display:block!important;
    max-width:none!important;
    margin:0!important;
  }

  .professional-a4-page{
    display:block!important;
    box-sizing:border-box!important;
    width:190mm!important;
    height:277mm!important;
    min-height:277mm!important;
    margin:0!important;
    padding:8mm 8mm 13mm!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#ffffff!important;
    break-after:page!important;
    page-break-after:always!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .professional-a4-page:last-child{
    break-after:auto!important;
    page-break-after:auto!important;
  }

  .professional-page-watermark{
    display:grid!important;
    opacity:.50!important;
    color:#8fb5f2!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .professional-page-content{
    position:relative!important;
    z-index:2!important;
  }

  .professional-page-footer{
    display:grid!important;
    position:absolute!important;
    z-index:4!important;
    left:8mm!important;
    right:8mm!important;
    bottom:4mm!important;
    background:rgba(255,255,255,.72)!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .professional-page-footer a{
    color:#1d4ed8!important;
  }

  .professional-question-slot{
    overflow:hidden!important;
    background:rgba(255,255,255,.78)!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .professional-question-slot img,
  .professional-question-slot svg{
    max-height:48mm!important;
  }

  .professional-choice-list.has-choice-images li img,
  .professional-choice-list.has-choice-images li svg{
    max-height:31mm!important;
  }

  .coverage-print-watermark,
  .exit-ticket-print-watermark,
  .coverage-print-sheet,
  .exit-ticket-print-sheet{
    display:none!important;
  }
}


/* v0.57.5 — Teacher draft preview banner */
.teacher-draft-preview-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
  border-color:rgba(250,204,21,.42)!important;
  background:linear-gradient(
    135deg,
    rgba(120,53,15,.72),
    rgba(30,41,59,.88)
  )!important;
}

.teacher-draft-preview-banner strong{
  color:#fde68a;
  font-size:1.02rem;
}

.teacher-draft-preview-banner span{
  color:#f8fafc;
}


/* ================================================================
   v0.57.6 — Centered academy watermarks + print pagination fix
   ================================================================ */

/* Lesson content uses one complete, upright academy mark per task block.
   The old diagonal repeated account grid is hidden only on lesson pages. */
body.lesson-content-page .academy-watermark-grid{
  display:none!important;
}

.lesson-block{
  position:relative;
  isolation:isolate;
}

.lesson-brand-watermark{display:none!important;}


.lesson-brand-watermark strong,
.lesson-brand-watermark span,
.lesson-brand-watermark small{
  position:static!important;
  z-index:auto!important;
  display:block;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:0 1px 1px rgba(255,255,255,.22);
  white-space:nowrap;
}

.lesson-brand-watermark strong{
  font-size:clamp(25px,4vw,43px);
  font-weight:1000;
}

.lesson-brand-watermark span{
  font-size:clamp(22px,3.5vw,37px);
  font-weight:1000;
}

.lesson-brand-watermark small{
  margin-top:4px;
  font-size:clamp(16px,2.4vw,25px);
  font-weight:950;
}

/* Keep the watermark over panel fills while the readable lesson content
   remains visually above it. Do not elevate panel containers themselves. */
.lesson-block :is(
  h1,h2,h3,h4,h5,h6,
  p,span,strong,small,label,
  a,button,input,select,textarea,
  img,svg,mjx-container,
  .math-block,.g12-value,.g12-letter,
  .lesson-lang-content,
  .solution-help-title,
  .professional-answer-mark
){
  position:relative;
  z-index:3;
}

.lesson-block :is(
  .lesson-question-surface,
  .lesson-explanation-card,
  .lesson-question-card,
  .solution-help-panel,
  .solution-body,
  .package-solution-content,
  .package-coded-solution-box,
  .coded-step,
  .coded-question-box,
  .coded-final-answer,
  .g12-option.mcq-choice
){
  background-color:rgba(255,255,255,.76);
}

.lesson-block .lesson-question-card,
.lesson-block .solution-help-panel{
  background-color:rgba(13,22,40,.76);
}

.lesson-block .lesson-explanation-card{
  background-color:rgba(250,204,21,.10);
}

@media(max-width:760px){
  .lesson-brand-watermark{
    width:84%;
    gap:3px;
    color:rgba(96,165,250,.29);
  }

  .lesson-brand-watermark{
    padding-top:88px;
    background-size:78px 78px;
  }
}

/* Complete centered watermark for Coverage and Exit Ticket pages. */
.professional-page-watermark{
  z-index:2;
  transform:translate(-50%,-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1.5mm;
  width:166mm;
  padding-top:34mm;
  background:url('../img/logo-watermark.png') center top/31mm 31mm no-repeat;
  color:#6f9fe9;
  opacity:.42;
}


.professional-page-content{
  z-index:1;
}

/* Text/content layers sit over the watermark; card and slot fills stay below. */
.professional-page-content :is(
  h1,h2,h3,h4,h5,h6,
  p,span,strong,small,a,
  img,svg,mjx-container,
  .professional-question-heading,
  .professional-question-tags,
  .professional-question-html,
  .professional-choice-list .math-block-content,
  .professional-answer-mark,
  .professional-written-answer-space > *,
  .professional-solution-box > strong,
  .professional-solution-box > .math-block-content,
  .coverage-print-empty,
  .exit-ticket-empty-page
){
  position:relative;
  z-index:3;
}

/* Let the centered brand remain visible through printable rectangles. */
.professional-question-slot,
.professional-choice-list li,
.professional-written-answer-space,
.professional-solution-box,
.exit-ticket-professional-meta > span,
.exit-ticket-professional-instructions,
.professional-cover-meta > div{
  background-color:rgba(255,255,255,.58);
}

.professional-correct-choice{
  background:rgba(240,253,244,.70)!important;
}

@media(max-width:800px){
  .professional-page-watermark{
    padding-top:92px;
    background-size:82px 82px;
  }
}

@media print{
  /* Use the physical A4 sheet with zero browser page margin.  The 1 mm
     height reserve prevents rounding overflow that produced alternating
     blank pages in Chromium/WebKit print engines. */
  @page{
    size:A4 portrait;
    margin:0;
  }

  .professional-a4-page{
    width:210mm!important;
    height:296mm!important;
    min-height:296mm!important;
    max-height:296mm!important;
    margin:0!important;
    padding:18mm 18mm 23mm!important;
    overflow:hidden!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:page!important;
    page-break-after:always!important;
  }

  .professional-a4-page:last-child{
    break-after:auto!important;
    page-break-after:auto!important;
  }

  .professional-page-watermark{
    z-index:2!important;
    transform:translate(-50%,-50%)!important;
    opacity:.42!important;
    color:#6f9fe9!important;
  }

  .professional-page-watermark{
    padding-top:34mm!important;
    background-size:31mm 31mm!important;
  }

  .professional-page-content{
    z-index:1!important;
  }

  .professional-page-footer{
    left:18mm!important;
    right:18mm!important;
    bottom:10mm!important;
    z-index:4!important;
  }
}


/* v0.57.7 - lesson readability refinements */
.lesson-brand-watermark{
  display:none!important;
}

/* Softer, more readable instructional titles instead of bright yellow. */
.solution-help-title{
  color:#dbeafe;
}
.solution-help-head{
  background:linear-gradient(135deg,rgba(59,130,246,.14),rgba(14,165,233,.10));
}
.mini-summary-card{
  border:1px solid rgba(96,165,250,.26);
  background:rgba(59,130,246,.10);
  color:#dbeafe;
}
.mini-summary-card span{
  color:#bfdbfe;
}

/* Force readable choice text even if imported package HTML carries white text. */
.g12-option .g12-value,
.g12-option .lesson-lang-content,
.g12-option .lesson-lang-content *,
.g12-option .math-block,
.g12-option .math-block *,
.g12-option p,
.g12-option div,
.g12-option span:not(.g12-letter),
.g12-option strong,
.g12-option small,
.g12-option mjx-container,
.g12-option mjx-container *{
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
}

.g12-option.option-correct .g12-value,
.g12-option.option-correct .lesson-lang-content,
.g12-option.option-correct .lesson-lang-content *,
.g12-option.option-correct .math-block,
.g12-option.option-correct .math-block *,
.g12-option.option-correct p,
.g12-option.option-correct div,
.g12-option.option-correct span:not(.g12-letter),
.g12-option.option-correct strong,
.g12-option.option-correct small,
.g12-option.option-correct mjx-container,
.g12-option.option-correct mjx-container *,
.g12-option.correct .g12-value,
.g12-option.correct .lesson-lang-content,
.g12-option.correct .lesson-lang-content *,
.g12-option.correct .math-block,
.g12-option.correct .math-block *,
.g12-option.correct p,
.g12-option.correct div,
.g12-option.correct span:not(.g12-letter),
.g12-option.correct strong,
.g12-option.correct small,
.g12-option.correct mjx-container,
.g12-option.correct mjx-container *{
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
}

.g12-option.option-wrong .g12-value,
.g12-option.option-wrong .lesson-lang-content,
.g12-option.option-wrong .lesson-lang-content *,
.g12-option.option-wrong .math-block,
.g12-option.option-wrong .math-block *,
.g12-option.option-wrong p,
.g12-option.option-wrong div,
.g12-option.option-wrong span:not(.g12-letter),
.g12-option.option-wrong strong,
.g12-option.option-wrong small,
.g12-option.option-wrong mjx-container,
.g12-option.option-wrong mjx-container *,
.g12-option.wrong .g12-value,
.g12-option.wrong .lesson-lang-content,
.g12-option.wrong .lesson-lang-content *,
.g12-option.wrong .math-block,
.g12-option.wrong .math-block *,
.g12-option.wrong p,
.g12-option.wrong div,
.g12-option.wrong span:not(.g12-letter),
.g12-option.wrong strong,
.g12-option.wrong small,
.g12-option.wrong mjx-container,
.g12-option.wrong mjx-container *{
  color:#7f1d1d!important;
  -webkit-text-fill-color:#7f1d1d!important;
}

/* Exit Ticket PDF watermark slightly lighter than Coverage. */
.exit-ticket-professional-print .professional-page-watermark{
  opacity:.30!important;
}


/* v0.57.7b - unified calm lesson block palette */
.lesson-player{
  --lesson-panel-border:rgba(96,165,250,.28);
  --lesson-panel-dark:#0f1f36;
  --lesson-panel-dark-2:#132945;
  --lesson-panel-paper:#f8fbff;
  --lesson-panel-paper-2:#f1f6fc;
  --lesson-panel-text:#172033;
  --lesson-panel-blue:#2563a9;
  --lesson-panel-title:#e7f2ff;
  --lesson-panel-muted:#b8cbe2;
}

/* Main task shells use one quiet navy family. */
.lesson-main-flow .task-card.lesson-block{
  background:linear-gradient(180deg,rgba(15,31,54,.98),rgba(9,20,36,.98));
  border-color:var(--lesson-panel-border);
  box-shadow:0 16px 38px rgba(0,0,0,.22);
}

.lesson-main-flow .lesson-block h2,
.lesson-main-flow .student-practice-task-head h2{
  color:var(--lesson-panel-title)!important;
}
.lesson-main-flow .lesson-block-sub,
.lesson-main-flow .lesson-q-header .q-meta{
  color:var(--lesson-panel-muted)!important;
}
.lesson-main-flow .lesson-q-header .q-num{
  color:#eef7ff!important;
}
.lesson-main-flow .book-q-inline{
  color:#bfdbfe!important;
}

/* Explanation, key-idea and video callouts share the same calm blue treatment. */
.lesson-main-flow .lesson-explanation-card,
.lesson-main-flow .mini-summary-card,
.lesson-main-flow .lesson-video-callout{
  border:1px solid var(--lesson-panel-border)!important;
  background:linear-gradient(135deg,rgba(37,99,169,.17),rgba(14,116,144,.09))!important;
  color:#dcecff!important;
  box-shadow:none!important;
}
.lesson-main-flow .lesson-explanation-card :is(h1,h2,h3,h4,h5,h6),
.lesson-main-flow .mini-summary-card strong,
.lesson-main-flow .lesson-video-callout strong{
  color:#e7f2ff!important;
  -webkit-text-fill-color:#e7f2ff!important;
}
.lesson-main-flow .mini-summary-card span,
.lesson-main-flow .lesson-video-callout small{
  color:#c6d9ef!important;
  -webkit-text-fill-color:#c6d9ef!important;
}

/* Question shells remain dark, while the actual question and choices stay paper-white. */
.lesson-main-flow .lesson-question-card{
  background:linear-gradient(180deg,var(--lesson-panel-dark-2),var(--lesson-panel-dark))!important;
  border-color:var(--lesson-panel-border)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20)!important;
}
.lesson-main-flow .lesson-question-surface{
  background:var(--lesson-panel-paper)!important;
  color:var(--lesson-panel-text)!important;
  box-shadow:inset 0 0 0 1px #dbe7f3!important;
}
.lesson-main-flow .g12-option.mcq-choice{
  background:#ffffff!important;
  border-color:#c9d9e8!important;
  color:var(--lesson-panel-text)!important;
  box-shadow:0 3px 10px rgba(15,23,42,.05)!important;
}
.lesson-main-flow .g12-option.mcq-choice:hover:not(:disabled):not(.readonly){
  background:#f1f7ff!important;
  border-color:#5b9bd5!important;
}
.lesson-main-flow .g12-letter{
  background:#e9f4ff!important;
  border-color:#a8cce8!important;
  color:#155b8f!important;
}

/* Written explanation / solution / video solution use one consistent header and body. */
.lesson-main-flow .solution-help-panel{
  background:var(--lesson-panel-dark)!important;
  border-color:var(--lesson-panel-border)!important;
  box-shadow:none!important;
}
.lesson-main-flow .solution-help-head{
  background:linear-gradient(135deg,rgba(37,99,169,.30),rgba(14,116,144,.18))!important;
  border-bottom-color:rgba(147,197,253,.22)!important;
}
.lesson-main-flow .solution-help-title{
  color:#e7f2ff!important;
  -webkit-text-fill-color:#e7f2ff!important;
}
.lesson-main-flow .solution-body{
  background:var(--lesson-panel-paper-2)!important;
  color:var(--lesson-panel-text)!important;
}

/* Normalize imported solution-package cards without changing mathematical meaning. */
.lesson-main-flow :is(
  .solution-body .coded-solution-box,
  .package-solution-content,
  .package-coded-solution-box
){
  background:#ffffff!important;
  color:var(--lesson-panel-text)!important;
  border-color:#d3e1ef!important;
  box-shadow:none!important;
}
.lesson-main-flow :is(
  .solution-body .coded-step,
  .package-solution-content .coded-step,
  .package-coded-solution-box .coded-step
){
  background:#f6f9fd!important;
  color:var(--lesson-panel-text)!important;
  border-color:#dbe6f1!important;
}
.lesson-main-flow :is(
  .solution-body .coded-question-box,
  .package-solution-content .coded-question-box,
  .package-coded-solution-box .coded-question-box
){
  background:#eef6ff!important;
  color:var(--lesson-panel-text)!important;
  border-color:#8bb9df!important;
  border-left-color:#3679b5!important;
}
.lesson-main-flow :is(
  .solution-body .coded-final-answer,
  .package-solution-content .coded-final-answer,
  .package-coded-solution-box .coded-final-answer
){
  background:#effbf3!important;
  color:#14532d!important;
  border-color:#86c99a!important;
}
.lesson-main-flow :is(
  .solution-body .coded-solution-box,
  .package-solution-content,
  .package-coded-solution-box,
  .coded-step,
  .coded-question-box
) :is(h1,h2,h3,h4,h5,h6){
  color:#1f5f93!important;
  -webkit-text-fill-color:#1f5f93!important;
}

/* Keep semantic answer states unmistakable. */
.lesson-main-flow .g12-option.option-correct,
.lesson-main-flow .g12-option.correct{
  background:#dcfce7!important;
  border-color:#22c55e!important;
}
.lesson-main-flow .g12-option.option-wrong,
.lesson-main-flow .g12-option.wrong{
  background:#fee2e2!important;
  border-color:#ef4444!important;
}

@media(max-width:760px){
  .lesson-main-flow .lesson-explanation-card,
  .lesson-main-flow .mini-summary-card,
  .lesson-main-flow .lesson-video-callout{
    border-radius:15px!important;
  }
}


/* v0.57.7c - package-independent readability and direction rules */

/* English is always LTR and left aligned, even when an imported package contains RTL styles. */
.lesson-player .lesson-lang-content[data-lesson-lang="en"],
.lesson-player .lesson-lang-content[data-lesson-lang="en"] :is(
  div,section,article,header,footer,aside,
  h1,h2,h3,h4,h5,h6,p,span,strong,small,label,
  ul,ol,li,table,thead,tbody,tfoot,tr,td,th,blockquote
){
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:isolate!important;
}

/* Mathematical displays remain centered and LTR inside English content. */
.lesson-player .lesson-lang-content[data-lesson-lang="en"] :is(
  mjx-container,
  .math-block,
  .g12-equation,
  .equation,
  .display-math,
  [class*="equation"]
){
  direction:ltr!important;
  text-align:center!important;
  unicode-bidi:isolate!important;
}

/* Tables keep natural LTR reading order, with numeric/math cells free to center themselves. */
.lesson-player .lesson-lang-content[data-lesson-lang="en"] table{
  direction:ltr!important;
}

/* Reliable fallback colors for imported headings. JS refines these by actual contrast. */
.lesson-player .package-title-on-light{
  color:#1f5f93!important;
  -webkit-text-fill-color:#1f5f93!important;
  opacity:1!important;
  text-shadow:none!important;
}
.lesson-player .package-title-on-dark{
  color:#f0f7ff!important;
  -webkit-text-fill-color:#f0f7ff!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Do not allow package-level opacity to wash out headings on white cards. */
.lesson-player :is(.lesson-explanation-card,.lesson-question-surface)
.lesson-lang-content :is(h1,h2,h3,h4,h5,h6){
  opacity:1!important;
}


/* v0.57.8 - Academic Calendar dashboard document */
.academic-calendar-admin-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  overflow:hidden;
  border-color:rgba(56,189,248,.34);
  background:
    radial-gradient(circle at top right,rgba(14,165,233,.16),transparent 42%),
    linear-gradient(145deg,rgba(15,23,42,.96),rgba(15,36,66,.94));
}
.academic-calendar-admin-card .academic-calendar-icon{
  align-self:flex-start;
}
.academic-calendar-current-file{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid rgba(34,197,94,.28);
  border-radius:14px;
  background:rgba(34,197,94,.08);
}
.academic-calendar-current-file > div{
  flex:1;
  min-width:0;
  display:grid;
  gap:2px;
}
.academic-calendar-current-file strong{
  color:#dcfce7;
  line-height:1.3;
}
.academic-calendar-current-file small{
  color:#a7f3d0;
  font-weight:800;
}
.academic-calendar-live-dot{
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 5px rgba(34,197,94,.12);
}
.academic-calendar-preview-button{
  flex:0 0 auto;
  padding:8px 11px!important;
  min-height:auto!important;
}
.academic-calendar-upload-form{
  display:grid;
  gap:8px;
  margin-top:2px;
  padding-top:12px;
  border-top:1px solid rgba(148,163,184,.18);
}
.academic-calendar-upload-form label{
  font-weight:900;
  color:#dbeafe;
}
.academic-calendar-upload-form input{
  width:100%;
}
.academic-calendar-upload-form input[type=file]{
  padding:10px;
  border-radius:12px;
  border:1px dashed rgba(125,211,252,.42);
  background:rgba(255,255,255,.05);
  color:#e2e8f0;
}
.academic-calendar-upload-form button{
  margin-top:4px;
}
.academic-calendar-student-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(56,189,248,.34);
  background:
    radial-gradient(circle at top right,rgba(56,189,248,.18),transparent 43%),
    linear-gradient(145deg,rgba(11,29,55,.98),rgba(20,48,88,.96));
}
.academic-calendar-student-card::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-42px;
  width:140px;
  height:140px;
  border-radius:32px;
  border:18px solid rgba(125,211,252,.07);
  transform:rotate(14deg);
  pointer-events:none;
}
.academic-calendar-student-copy{
  display:flex;
  align-items:flex-start;
  gap:13px;
  position:relative;
  z-index:1;
}
.academic-calendar-student-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:17px;
  display:grid;
  place-items:center;
  font-size:29px;
  background:linear-gradient(145deg,#0ea5e9,#2563eb);
  box-shadow:0 10px 24px rgba(14,165,233,.22);
}
.academic-calendar-student-card h2{
  margin:2px 0 5px;
  color:#e0f2fe;
}
.academic-calendar-open-button{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  .academic-calendar-current-file{align-items:flex-start;flex-wrap:wrap}
  .academic-calendar-preview-button{margin-left:20px}
  .academic-calendar-student-copy{align-items:center}
}


/* v0.58.0 Security Foundation */
.turnstile-wrap{
  margin:16px 0;
  min-height:65px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.lang-ar .turnstile-wrap{justify-content:flex-end}
.security-settings-form{max-width:920px;margin:0 auto;display:grid;gap:18px}
.security-setting-section{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(96,165,250,.22);
  background:rgba(15,35,62,.56);
}
.security-setting-section h2{margin:0;color:#dbeafe}
.security-switch-row{display:flex;align-items:center;gap:10px;font-weight:900}
.security-switch-row input{width:22px;height:22px}
.security-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.security-level-grid label{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:4px 10px;
  padding:14px;
  border-radius:15px;
  border:1px solid rgba(148,163,184,.26);
  background:rgba(255,255,255,.05);
}
.security-level-grid label small{grid-column:2;color:var(--muted)}
.security-level-grid input{width:20px;height:20px;grid-row:1/3}
.registration-closed-card{text-align:center;align-content:center}
.registration-closed-icon{font-size:54px;margin-bottom:10px}
.security-dashboard-card{border-color:rgba(96,165,250,.34)}
@media(max-width:700px){.security-level-grid{grid-template-columns:1fr}}

/* v0.58.1 Security Center + safe database cleanup */
.security-center-head{display:flex;justify-content:space-between;gap:18px;align-items:center}
.security-center-actions,.security-settings-links{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.security-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:16px 0}
.security-metric{display:grid;gap:5px;text-align:center;min-height:112px;place-content:center}
.security-metric strong{font-size:2rem;color:#dbeafe}
.security-metric span{color:#a9bdd5;font-weight:850}
.security-metric.good{border-color:rgba(34,197,94,.38)}
.security-metric.warn{border-color:rgba(245,158,11,.42)}
.security-metric.danger{border-color:rgba(239,68,68,.42)}
.security-info-note,.cleanup-warning{display:flex;gap:10px;align-items:flex-start;border-color:rgba(96,165,250,.38);background:rgba(37,99,235,.08);margin:14px 0}
.security-info-note strong,.cleanup-warning strong{color:#bfdbfe;white-space:nowrap}
.security-info-note span,.cleanup-warning span{color:#cbd5e1}
.security-table-card{margin:16px 0;overflow:hidden}
.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
.security-table{width:100%;border-collapse:collapse;min-width:860px}
.security-table.compact{min-width:600px}
.security-table th,.security-table td{padding:11px 12px;border-bottom:1px solid rgba(148,163,184,.16);text-align:left;vertical-align:middle}
.security-table th{color:#bfdbfe;font-size:.86rem;background:rgba(15,23,42,.42);position:sticky;top:0}
.security-table td{color:#e5edf7}
.security-email-cell{word-break:break-all;max-width:240px}
.security-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:900;white-space:nowrap}
.security-status.good{background:rgba(34,197,94,.16);color:#bbf7d0}
.security-status.warn{background:rgba(245,158,11,.17);color:#fde68a}
.security-status.danger{background:rgba(239,68,68,.17);color:#fecaca}
.security-status.muted-status{background:rgba(148,163,184,.14);color:#cbd5e1}
.security-two-column{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}
.cleanup-filter-form,.cleanup-preview-card{display:grid;gap:18px;margin-top:16px}
.cleanup-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cleanup-mode-grid label{display:grid;gap:7px;padding:15px;border:1px solid rgba(96,165,250,.24);border-radius:16px;background:rgba(15,23,42,.34);cursor:pointer}
.cleanup-mode-grid small{color:#9fb2c8;line-height:1.45}
.cleanup-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cleanup-preview-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.cleanup-preview-flags{display:flex;gap:8px;flex-wrap:wrap}
.cleanup-candidate-table{max-height:58vh;border:1px solid rgba(148,163,184,.16);border-radius:14px}
.cleanup-attention-row{background:rgba(245,158,11,.07)}
.cleanup-execute-form{display:grid;gap:10px;padding:18px;border:1px solid rgba(239,68,68,.34);border-radius:18px;background:rgba(127,29,29,.10)}
.cleanup-execute-form input{max-width:420px}
@media(max-width:900px){
  .security-metric-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}
  .security-two-column,.cleanup-mode-grid{grid-template-columns:1fr}
  .security-center-head,.cleanup-preview-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .security-metric-grid,.cleanup-filter-grid{grid-template-columns:1fr}
  .security-info-note,.cleanup-warning{flex-direction:column}
  .security-info-note strong,.cleanup-warning strong{white-space:normal}
}

/* v0.58.2 Audit Log + Maintenance Mode */
.maintenance-page-card{max-width:760px;margin:8vh auto;text-align:center;padding:42px 28px}
.maintenance-icon{font-size:72px;margin-bottom:12px}
.maintenance-page-card h1{font-size:clamp(28px,5vw,46px);margin:0 0 12px}
.maintenance-page-card p{font-size:1.12rem;color:var(--muted);margin-bottom:24px}
.maintenance-toggle-line{font-size:1.1rem;font-weight:900;margin-bottom:18px}
.maintenance-status{display:flex;gap:12px;align-items:center;padding:16px;border-radius:16px;margin:12px 0 20px}
.maintenance-status.on{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35)}
.maintenance-status.off{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35)}
.maintenance-status strong{font-size:1.25rem}
.audit-filter-form{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.audit-filter-form input{flex:1}
.audit-table{min-width:1050px}
.audit-path{max-width:420px;word-break:break-word}
.pagination-actions{display:flex;gap:10px;justify-content:center;margin-top:16px}
.security-section-nav{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}

/* v0.58.3 - System Health + Automatic Cleanup */
.system-health-page,.security-page-card{max-width:1200px;margin:24px auto}
.system-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.health-panel{padding:18px;border-radius:18px;background:rgba(15,23,42,.62);border:1px solid rgba(96,165,250,.22)}
.health-panel h2{margin:0 0 12px;color:#dbeafe}.health-panel p{margin:8px 0;color:#e5edf8}
.health-status-banner{display:flex;justify-content:space-between;gap:12px;padding:15px 18px;border-radius:16px;margin-top:16px;font-weight:900}
.health-status-banner.healthy{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.35);color:#bbf7d0}
.health-status-banner.unhealthy{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.35);color:#fecaca}
.system-health-summary-card{margin-top:20px}.security-warning-box{margin:16px 0;padding:14px;border-radius:14px;background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.30)}
@media(max-width:900px){.system-health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.system-health-grid{grid-template-columns:1fr}.health-status-banner{flex-direction:column}}

/* v0.58.3a System Health shared-hosting resilience */
.health-warning-panel{
  margin:16px 0;
  padding:14px 16px;
  border:1px solid rgba(245,158,11,.35);
  border-radius:16px;
  background:rgba(245,158,11,.10);
  color:#fde68a;
}
.health-warning-panel strong{display:block;margin-bottom:8px;color:#fef3c7}
.health-warning-panel ul{margin:0;padding-left:20px}
.health-warning-panel li{margin:4px 0}

/* v0.58.6 — Course units as first-level navigation */
.course-units-page{margin:20px 0 26px}
.course-units-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}
.course-units-heading h2{margin:.2rem 0 .35rem;font-size:clamp(1.65rem,3vw,2.35rem)}
.course-units-kicker{display:inline-block;font-size:.8rem;font-weight:900;letter-spacing:.12em;opacity:.72}
.unit-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.unit-selection-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;text-decoration:none;min-height:132px;padding:20px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.unit-selection-card:hover{transform:translateY(-2px)}
.unit-selection-number{display:flex;flex-direction:column;align-items:center;justify-content:center;width:78px;height:78px;border-radius:22px;background:linear-gradient(145deg,rgba(39,170,255,.24),rgba(44,105,255,.14));border:1px solid rgba(82,177,255,.38)}
.unit-selection-number small{font-size:.68rem;font-weight:900;letter-spacing:.1em;opacity:.78}
.unit-selection-number strong{font-size:2rem;line-height:1;margin-top:3px}
.unit-selection-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.unit-selection-title{font-size:1.25rem;line-height:1.35}
.unit-selection-copy small{opacity:.72}
.unit-selection-arrow{font-size:1.8rem;font-weight:900;opacity:.85}
.unit-page-title-row{display:flex;align-items:center;gap:18px}
.unit-page-number{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:82px;height:82px;border-radius:22px;background:linear-gradient(145deg,rgba(39,170,255,.24),rgba(44,105,255,.14));border:1px solid rgba(82,177,255,.38)}
.unit-page-number small{font-size:.68rem;font-weight:900;letter-spacing:.1em;opacity:.78}
.unit-page-number strong{font-size:2.05rem;line-height:1;margin-top:3px}
.unit-page-head h1{margin:0 0 6px}
.unit-page-head p{margin:0;opacity:.78}
.unit-lessons-standalone{margin-top:18px}
@media (max-width:700px){
  .unit-selection-grid{grid-template-columns:1fr}
  .unit-selection-card{grid-template-columns:auto 1fr auto;min-height:112px;padding:16px;gap:13px}
  .unit-selection-card>.pill{grid-column:2/3;justify-self:start}
  .unit-selection-number{width:68px;height:68px;border-radius:18px}
  .unit-selection-number strong{font-size:1.7rem}
  .unit-selection-title{font-size:1.08rem}
  .unit-page-title-row{align-items:flex-start}
  .unit-page-number{min-width:68px;height:68px;border-radius:18px}
}

/* =========================================================
   v0.59.0 — Lesson Assessment System
   Course → Unit → Lesson Home → Study / Exit / Homework / Past Exam
   ========================================================= */
.lesson-hub-hero{
  padding:30px;
  border-radius:24px;
  position:relative;
  overflow:hidden;
}
.lesson-hub-hero:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-55px;
  top:-70px;
  background:rgba(37,99,235,.08);
  pointer-events:none;
}
.lesson-hub-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#64748b;
}
.lesson-hub-hero h1{
  margin:9px 0 7px;
  font-size:clamp(28px,4vw,43px);
  line-height:1.12;
}
.lesson-hub-hero p{margin:0;color:#64748b;font-weight:600}
.lesson-hub-complete-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 10px;
  background:#dcfce7;
  color:#166534;
  letter-spacing:0;
  text-transform:none;
  font-size:12px;
}
.lesson-hub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:18px 0;
}
.lesson-hub-card{
  min-height:150px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding:22px;
  border:1px solid rgba(148,163,184,.26);
  border-radius:22px;
  text-decoration:none !important;
  color:inherit !important;
  background:linear-gradient(145deg,#fff,#f8fbff);
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.lesson-hub-card:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 30px rgba(15,23,42,.10);
  border-color:rgba(59,130,246,.35);
}
.lesson-hub-card.study-card{
  grid-column:1 / -1;
  min-height:178px;
  background:linear-gradient(135deg,#eff6ff,#ffffff 62%);
  border-color:#bfdbfe;
}
.lesson-hub-card.summary-card{
  grid-column:1 / -1;
  min-height:138px;
  background:linear-gradient(135deg,#f5f3ff,#ffffff 64%);
  border-color:#ddd6fe;
}
.summary-card .lesson-hub-card-icon{background:linear-gradient(145deg,#ede9fe,#fff);box-shadow:inset 0 0 0 1px #ddd6fe}
.lesson-hub-card.exit-card{background:linear-gradient(145deg,#f5f3ff,#fff)}
.lesson-hub-card.homework-card{background:linear-gradient(145deg,#f0fdf4,#fff)}
.lesson-hub-card.past-card{background:linear-gradient(145deg,#fff7ed,#fff)}
.lesson-hub-card.locked{
  opacity:.72;
  cursor:not-allowed;
  filter:saturate(.6);
}
.lesson-hub-card.locked:hover{transform:none;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.lesson-hub-card-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.20);
  font-size:30px;
}
.study-card .lesson-hub-card-icon{width:74px;height:74px;font-size:36px}
.lesson-hub-card-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.lesson-hub-card-copy strong{font-size:22px;line-height:1.2;color:#0f172a !important;font-weight:900}
.study-card .lesson-hub-card-copy strong{font-size:26px}
.lesson-hub-card-copy small{color:#64748b;font-weight:600}
.lesson-hub-arrow{font-size:26px;font-weight:900;color:#64748b}
.lesson-hub-progress{
  display:block;
  width:min(420px,100%);
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#dbeafe;
  margin-top:6px;
}
.lesson-hub-progress i{display:block;height:100%;background:#2563eb;border-radius:inherit}
.lesson-hub-score{
  align-self:flex-start;
  display:inline-flex;
  border-radius:999px;
  padding:5px 10px;
  background:#e0f2fe;
  color:#075985;
  font-weight:900;
  font-size:13px;
}
.lesson-hub-lock{
  display:inline-flex;
  align-items:center;
  gap:5px;
  align-self:flex-start;
  border-radius:999px;
  padding:5px 10px;
  background:#e2e8f0;
  color:#475569;
  font-size:12px;
  font-weight:800;
}
.lesson-assessment-manager{margin-top:22px;padding:24px}
.lesson-assessment-manager-head h2{margin:4px 0 6px}
.lesson-assessment-manager-grid{display:grid;gap:10px;margin-top:17px}
.assessment-manage-row{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  gap:13px;
  padding:14px 16px;
  border:1px solid #dbe4ef;
  border-radius:16px;
  background:#fff;
  text-decoration:none !important;
  color:inherit !important;
}
.assessment-manage-row>span:first-child{font-size:24px;text-align:center}
.assessment-manage-row>span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.assessment-manage-row small{color:#64748b}
.assessment-manage-row b{font-size:13px;color:#2563eb}
.assessment-manage-row:hover{border-color:#93c5fd;background:#f8fbff}

.lesson-assessment-head,
.assessment-builder-head{
  display:flex;
  align-items:center;
  gap:18px;
  padding:25px;
  border-radius:22px;
}
.lesson-assessment-head-icon,
.assessment-builder-head-icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:20px;
  background:#f8fafc;
  border:1px solid #dbe4ef;
  font-size:32px;
}
.lesson-assessment-head h1,
.assessment-builder-head h1{margin:3px 0 6px}
.lesson-assessment-head p,
.assessment-builder-head p{margin:0}

.assessment-builder-warning{
  border:1px solid #fecaca;
  background:#fff7f7;
  color:#991b1b;
}
.assessment-builder-warning p{margin:6px 0 0}
.assessment-builder-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.assessment-builder-section-head h2{margin:0 0 5px}
.assessment-builder-section-head p{margin:0}
.assessment-picker-tools{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.assessment-picker-tools input[type="search"]{
  min-width:220px;
  padding:10px 12px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
}
.assessment-question-picker,
.assessment-imported-section,
.assessment-package-section{margin-top:16px;padding:22px}
.assessment-question-list{display:grid;gap:10px;max-height:68vh;overflow:auto;padding-right:4px}
.assessment-question-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:13px;
  padding:14px;
  border:1px solid #dbe4ef;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
}
.assessment-question-row:hover{border-color:#93c5fd;background:#f8fbff}
.assessment-question-check{padding-top:5px}
.assessment-question-check input{width:20px;height:20px;accent-color:#2563eb}
.assessment-question-main{min-width:0;display:flex;flex-direction:column;gap:10px}
.assessment-question-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.assessment-question-meta b{font-size:15px}
.assessment-question-meta small{
  border-radius:999px;
  padding:3px 8px;
  background:#f1f5f9;
  color:#475569;
  font-weight:700;
}
.assessment-question-preview{
  display:block;
  padding:11px 12px;
  border-radius:12px;
  background:#f8fafc;
  overflow:auto;
  max-height:220px;
}
.assessment-question-preview img,
.assessment-question-preview svg{max-width:100%;height:auto}
.assessment-save-bar{
  position:sticky;
  bottom:10px;
  z-index:4;
  margin-top:16px;
  padding:12px 14px;
  border:1px solid #bfdbfe;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 10px 25px rgba(15,23,42,.08);
}
#assessment-selected-count{font-weight:800;color:#334155}
.assessment-imported-list{display:grid;gap:8px}
.assessment-imported-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:11px 13px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#f8fafc;
}
.assessment-package-prepare-form,
.assessment-package-upload-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.assessment-package-upload-form input[type="file"]{
  flex:1 1 320px;
  min-width:220px;
  padding:10px;
  border:1px dashed #94a3b8;
  border-radius:12px;
  background:#f8fafc;
}
.assessment-package-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.assessment-empty-picker{
  padding:22px;
  text-align:center;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#f8fafc;
}
.assessment-empty-picker p{margin:7px 0 0;color:#64748b}

@media (max-width:760px){
  .lesson-hub-grid{grid-template-columns:1fr}
  .lesson-hub-card.study-card,.lesson-hub-card.summary-card{grid-column:auto}
  .lesson-hub-card{min-height:128px;padding:17px;grid-template-columns:auto 1fr auto;gap:12px}
  .lesson-hub-card-icon,.study-card .lesson-hub-card-icon{width:54px;height:54px;border-radius:15px;font-size:27px}
  .lesson-hub-card-copy strong,.study-card .lesson-hub-card-copy strong{font-size:19px}
  .lesson-hub-hero{padding:22px}
  .lesson-assessment-head,.assessment-builder-head{align-items:flex-start;padding:19px}
  .lesson-assessment-head-icon,.assessment-builder-head-icon{width:52px;height:52px;font-size:25px;border-radius:15px}
  .assessment-picker-tools{width:100%}
  .assessment-picker-tools input[type="search"]{width:100%;min-width:0}
  .assessment-question-picker,.assessment-imported-section,.assessment-package-section{padding:16px}
  .assessment-imported-item{align-items:flex-start;flex-direction:column}
  .assessment-save-bar{bottom:6px}
}
.assessment-package-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:8px;
  margin-bottom:12px;
}
.assessment-package-option{
  border:1px solid #dbe4ef;
  border-radius:16px;
  padding:15px;
  background:#f8fafc;
}
.assessment-package-option>strong{display:block;font-size:15px;margin-bottom:5px}
.assessment-package-option>p{margin:0 0 12px}
@media (max-width:760px){
  .assessment-package-options{grid-template-columns:1fr}
}

/* v0.59.1 - lesson assessment discoverability */
.mini-lesson-action.assessment{
  border-color:rgba(124,58,237,.34);
  background:rgba(124,58,237,.10);
}
.mini-lesson-action.assessment:hover{
  border-color:rgba(124,58,237,.55);
  background:rgba(124,58,237,.16);
}
#lesson-assessments{scroll-margin-top:96px}


/* ================================================================
   v0.59.4 — Contact / Self-Test Readability / Coverage Footer
   ================================================================ */

/* Test Yourself uses the same paper-white / dark-text treatment as lesson Practice.
   Imported package HTML may carry white or pale inline colors, so normalize nested text too. */
body.student-experience .self-test-question-html{
  background:#ffffff!important;
  color:#102033!important;
  border-color:#dbe7f3!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)!important;
}
body.student-experience .self-test-question-html :is(
  .lesson-lang-content,
  .lesson-lang-content *,
  .math-block,
  .math-block *,
  p,div,span,strong,small,
  mjx-container,mjx-container *
){
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
}
body.student-experience .self-test-choice{
  background:#ffffff!important;
  border:2px solid #c9d9e8!important;
  color:#102033!important;
  box-shadow:0 3px 10px rgba(15,23,42,.05)!important;
  min-height:58px;
}
body.student-experience label.self-test-choice:hover{
  background:#f1f7ff!important;
  border-color:#5b9bd5!important;
}
body.student-experience label.self-test-choice:has(input:checked){
  background:#eff6ff!important;
  border-color:#2563eb!important;
}
body.student-experience .self-test-choice-label{
  background:#e9f4ff!important;
  border:2px solid #a8cce8!important;
  color:#155b8f!important;
  border-radius:999px!important;
}
body.student-experience label.self-test-choice:has(input:checked) .self-test-choice-label{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
body.student-experience .self-test-choice-html,
body.student-experience .self-test-choice-html .lesson-lang-content,
body.student-experience .self-test-choice-html .lesson-lang-content *,
body.student-experience .self-test-choice-html .math-block,
body.student-experience .self-test-choice-html .math-block *,
body.student-experience .self-test-choice-html p,
body.student-experience .self-test-choice-html div,
body.student-experience .self-test-choice-html span,
body.student-experience .self-test-choice-html strong,
body.student-experience .self-test-choice-html small,
body.student-experience .self-test-choice-html mjx-container,
body.student-experience .self-test-choice-html mjx-container *{
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
}
body.student-experience .self-test-choice.correct-choice{
  background:#dcfce7!important;
  border-color:#22c55e!important;
}
body.student-experience .self-test-choice.correct-choice .self-test-choice-html,
body.student-experience .self-test-choice.correct-choice .self-test-choice-html *{
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
}
body.student-experience .self-test-choice.selected-wrong{
  background:#fee2e2!important;
  border-color:#ef4444!important;
}
body.student-experience .self-test-choice.selected-wrong .self-test-choice-html,
body.student-experience .self-test-choice.selected-wrong .self-test-choice-html *{
  color:#7f1d1d!important;
  -webkit-text-fill-color:#7f1d1d!important;
}

/* Coverage footer: keep every existing item, but force all four onto one line. */
.coverage-professional-print .professional-page-footer{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:2.4mm!important;
  white-space:nowrap!important;
  font-size:7.2pt!important;
  line-height:1.1!important;
}
.coverage-professional-print .professional-page-footer span:last-child{
  margin-left:auto!important;
  justify-self:auto!important;
}
@media(max-width:800px){
  .coverage-professional-print .professional-page-footer{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:6px!important;
    font-size:6.8pt!important;
  }
  .coverage-professional-print .professional-page-footer span:last-child{
    margin-left:auto!important;
    justify-self:auto!important;
  }
}
@media print{
  .coverage-professional-print .professional-page-footer{
    display:flex!important;
    left:8mm!important;
    right:8mm!important;
    bottom:4mm!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:2.4mm!important;
    white-space:nowrap!important;
    font-size:7pt!important;
    line-height:1.05!important;
  }
  .coverage-professional-print .professional-page-footer span:last-child{
    margin-left:auto!important;
  }
}

/* v0.59.5 — teacher assessment cards: keep labels readable on light rows in dark theme */
.assessment-manage-row{color:#0f172a !important;}
.assessment-manage-row strong{color:#0f172a !important;font-weight:900;}
.assessment-manage-row small{color:#475569 !important;}
.assessment-manage-row b{color:#1d4ed8 !important;font-weight:900;}
.assessment-manage-row:hover strong{color:#0f172a !important;}

/* v0.60.0 — Student Progress groups + detailed results */
.student-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px}
.student-group-card{display:block;text-decoration:none;position:relative;min-height:230px}
.student-group-card h2{color:#f8fafc!important;margin:8px 0 12px;font-size:1.25rem}
.student-group-card.system-group{outline:1px solid rgba(56,189,248,.35)}
.student-group-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.group-system-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(56,189,248,.16);border:1px solid rgba(56,189,248,.35);color:#bae6fd;font-size:.82rem;font-weight:800}
.group-open-btn{margin-top:8px;display:inline-flex}
.group-last-activity{margin-top:8px}
.group-create-card,.group-manage-card{margin-top:18px}
.group-create-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.group-create-form.compact{margin-bottom:14px}
.group-create-form label{display:grid;gap:6px;color:#e2e8f0;font-weight:700}
.group-create-form input,.student-group-move-form select{width:100%;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}
.student-group-move-form{display:flex;align-items:center;gap:8px;min-width:240px}
.student-group-move-form select{min-width:150px}
.group-title-line,.student-progress-unit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.progress-student-name{color:#f8fafc!important}
.progress-warning-card{border:1px solid rgba(251,191,36,.35);background:rgba(120,53,15,.20)}
.empty-state-inline{padding:18px;border:1px dashed rgba(148,163,184,.35);border-radius:12px;color:#cbd5e1;text-align:center}
.student-progress-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0}
.student-progress-summary-card{display:grid;gap:8px;min-height:105px}
.student-progress-summary-card span{color:#cbd5e1;font-size:.9rem}
.student-progress-summary-card strong{font-size:1.35rem;color:#f8fafc}
.student-progress-unit-card{margin-top:18px}
.student-progress-unit-card h2{color:#f8fafc!important;margin:0}
.assessment-score-pill,.self-test-score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 9px;border-radius:999px;border:1px solid rgba(56,189,248,.30);background:rgba(14,165,233,.12);color:#bae6fd;font-weight:800}
.assessment-score-pill.homework-score{border-color:rgba(167,139,250,.35);background:rgba(124,58,237,.12);color:#ddd6fe}
.assessment-score-pill.no-score{background:rgba(148,163,184,.10);border-color:rgba(148,163,184,.22);color:#cbd5e1}
.self-test-score-list{display:flex;flex-wrap:wrap;gap:6px;max-width:260px}
.self-test-score-pill{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10);color:#bbf7d0}
.student-lesson-results-table td,.student-lesson-results-table th{vertical-align:top}
@media(max-width:900px){
  .group-create-form{grid-template-columns:1fr}
  .student-group-move-form{min-width:190px;flex-wrap:wrap}
  .student-group-move-form select{min-width:160px;flex:1}
}

/* ================================================================
   v0.61.0 — Unit Assessments & Quizzes authoring hub
   ================================================================ */
.unit-assessment-entry{margin-top:16px}
.unit-assessment-entry-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-decoration:none;border:1px solid rgba(167,139,250,.35);background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(14,165,233,.08));border-radius:18px;padding:17px 18px;color:#f8fafc;transition:.18s ease}
.unit-assessment-entry-link:hover{transform:translateY(-1px);border-color:rgba(167,139,250,.62);background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(14,165,233,.12))}
.unit-assessment-entry-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:rgba(124,58,237,.18);font-size:26px}
.unit-assessment-entry-link strong{display:block;color:#f8fafc;font-size:1.05rem}.unit-assessment-entry-link small{display:block;color:#cbd5e1;margin-top:3px}.unit-assessment-entry-arrow{font-size:1.3rem;color:#c4b5fd}
.unit-assessment-hero,.unit-assessment-builder-hero,.unit-assessment-preview-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.unit-assessment-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(124,58,237,.16);border:1px solid rgba(167,139,250,.35);color:#ddd6fe;font-size:.78rem;font-weight:900;letter-spacing:.04em}
.unit-assessment-count{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(124,58,237,.14);border:1px solid rgba(167,139,250,.32);font-size:1.45rem;font-weight:900;color:#ede9fe}
.unit-assessment-create-card,.unit-assessment-editor-card,.unit-assessment-lesson-picker-card,.unit-assessment-import-card,.unit-assessment-summary-card,.unit-assessment-final-save{margin-top:18px}
.unit-assessment-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.unit-assessment-section-head h2{margin:0 0 5px;color:#f8fafc!important}.unit-assessment-section-head p{margin:0}
.unit-assessment-create-form,.unit-assessment-details-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;margin-top:16px;align-items:end}.unit-assessment-create-form label,.unit-assessment-details-form label{display:grid;gap:6px;color:#e2e8f0;font-weight:750}.unit-assessment-create-form input,.unit-assessment-create-form select,.unit-assessment-create-form textarea,.unit-assessment-details-form input,.unit-assessment-details-form select,.unit-assessment-details-form textarea{width:100%;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.unit-assessment-wide-field{grid-column:1 / -1}
.unit-assessment-list{display:grid;gap:14px;margin-top:18px}.unit-assessment-list-card{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.unit-assessment-list-main{min-width:240px;flex:1}.unit-assessment-list-main h2{margin:8px 0 5px;color:#f8fafc!important}.unit-assessment-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.unit-assessment-type,.unit-assessment-status{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:900}.unit-assessment-type{background:rgba(14,165,233,.12);border:1px solid rgba(56,189,248,.3);color:#bae6fd}.unit-assessment-status.draft{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28);color:#fde68a}.unit-assessment-status.ready{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#bbf7d0}.unit-assessment-meta{display:flex;gap:8px;align-items:center;color:#cbd5e1;margin-top:10px}.unit-assessment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.unit-assessment-actions form{margin:0}.unit-assessment-publish-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.unit-assessment-builder-total{display:grid;place-items:center;min-width:110px;padding:13px 18px;border-radius:16px;background:rgba(14,165,233,.10);border:1px solid rgba(56,189,248,.28)}.unit-assessment-builder-total strong{font-size:1.6rem;color:#e0f2fe}.unit-assessment-builder-total small{color:#bae6fd}
.unit-assessment-lesson-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 12px;margin-top:16px}.unit-assessment-lesson-tab{display:flex;align-items:center;gap:8px;flex:0 0 auto;text-decoration:none;padding:10px 13px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.4);color:#cbd5e1;font-weight:800}.unit-assessment-lesson-tab.active{border-color:rgba(56,189,248,.55);background:rgba(14,165,233,.14);color:#e0f2fe}.unit-assessment-lesson-tab b{min-width:23px;height:23px;border-radius:999px;display:grid;place-items:center;background:rgba(34,197,94,.16);color:#bbf7d0;font-size:.76rem}
.unit-assessment-active-lesson-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px;flex-wrap:wrap}.unit-assessment-active-lesson-head h3{margin:3px 0 0;color:#f8fafc}.unit-assessment-active-lesson-head small,.unit-assessment-active-lesson-head span{color:#cbd5e1}
.unit-assessment-question-picker{display:grid;gap:12px}.unit-assessment-source-question{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;background:#fff;color:#0f172a;border:2px solid #dbe7f3;border-radius:16px;padding:14px;cursor:pointer}.unit-assessment-source-question:has(input:checked){border-color:#2563eb;background:#f8fbff}.unit-assessment-checkbox-wrap input{width:20px;height:20px;margin-top:3px;accent-color:#2563eb}.unit-assessment-source-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.unit-assessment-source-meta b{color:#0f172a}.unit-assessment-source-meta small{color:#64748b}.unit-assessment-source-html,.unit-assessment-source-html *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.unit-assessment-source-html{margin-top:9px}.unit-assessment-mini-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.unit-assessment-mini-choices>span{display:flex;gap:6px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:10px;padding:7px 9px;background:#fff;color:#0f172a}.unit-assessment-mini-choices>span *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.unit-assessment-selection-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:14px}
.unit-assessment-import-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.unit-assessment-import-form input[type=file]{flex:1;min-width:240px;background:#fff;color:#0f172a;border-radius:10px;padding:9px}
.unit-assessment-summary-list{display:grid;gap:8px;margin-top:12px}.unit-assessment-summary-row{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(15,23,42,.32)}.unit-assessment-summary-number{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(124,58,237,.15);color:#ddd6fe;font-weight:900}.unit-assessment-summary-copy{display:grid;gap:2px}.unit-assessment-summary-copy strong{color:#f8fafc}.unit-assessment-summary-copy small{color:#94a3b8}.btn.tiny{padding:6px 9px;font-size:.78rem}
.unit-assessment-final-save{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-color:rgba(34,197,94,.28)}.unit-assessment-final-save strong{color:#f8fafc}.unit-assessment-final-save p{margin:5px 0 0}
.unit-assessment-preview-list{display:grid;gap:16px;margin-top:18px}.unit-assessment-preview-question{background:#f8fafc!important;color:#0f172a!important}.unit-assessment-preview-question-head{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.unit-assessment-preview-question-head>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e0f2fe;color:#075985;font-weight:900}.unit-assessment-preview-question-head strong{display:block;color:#0f172a}.unit-assessment-preview-question-head small{display:block;color:#64748b;margin-top:2px}.unit-assessment-preview-question-html,.unit-assessment-preview-question-html *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.unit-assessment-preview-question-html{margin:16px 0}.unit-assessment-preview-choices{display:grid;gap:8px}.unit-assessment-preview-choice{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #cbd5e1;border-radius:12px;padding:10px;background:#fff}.unit-assessment-preview-choice b{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#334155}.unit-assessment-preview-choice span,.unit-assessment-preview-choice span *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.unit-assessment-preview-choice.correct{border-color:#22c55e;background:#f0fdf4}.unit-assessment-preview-choice.correct b{background:#22c55e;color:#fff}.unit-assessment-preview-choice em{font-style:normal;font-weight:900;color:#166534}.unit-assessment-preview-solution{margin-top:12px;border-top:1px solid #dbe7f3;padding-top:10px;color:#0f172a}.unit-assessment-preview-solution summary{cursor:pointer;font-weight:900;color:#075985}.unit-assessment-preview-solution div,.unit-assessment-preview-solution div *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.unit-assessment-preview-instructions{margin-top:16px}
@media(max-width:820px){.unit-assessment-create-form,.unit-assessment-details-form{grid-template-columns:1fr}.unit-assessment-wide-field{grid-column:auto}.unit-assessment-mini-choices{grid-template-columns:1fr}.unit-assessment-list-card{align-items:flex-start}.unit-assessment-actions{width:100%}.unit-assessment-summary-row{grid-template-columns:auto 1fr}.unit-assessment-summary-row form{grid-column:2}.unit-assessment-final-save{align-items:flex-start}}

/* ================================================================
   v0.61.1 — Group Publishing + Student Unit Assessments
   ================================================================ */
.unit-assessment-status.published{background:rgba(14,165,233,.14);border:1px solid rgba(56,189,248,.34);color:#bae6fd}
.unit-assessment-status.locked{background:rgba(239,68,68,.14);border:1px solid rgba(248,113,113,.34);color:#fecaca}
.unit-assessment-lock-banner,.unit-assessment-info-banner{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.unit-assessment-lock-banner{border-color:rgba(248,113,113,.35);background:linear-gradient(135deg,rgba(127,29,29,.24),rgba(15,23,42,.72))}
.unit-assessment-info-banner{border-color:rgba(56,189,248,.28);background:linear-gradient(135deg,rgba(7,89,133,.18),rgba(15,23,42,.72))}
.unit-assessment-lock-banner strong,.unit-assessment-info-banner strong{color:#f8fafc}.unit-assessment-lock-banner span,.unit-assessment-info-banner span{color:#cbd5e1;flex:1;min-width:240px}
.assessment-editor-locked{opacity:.82}
.unit-assessment-publish-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.unit-assessment-publish-stats{display:flex;gap:9px;flex-wrap:wrap}.unit-assessment-publish-stats>span{min-width:84px;padding:10px 12px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(15,23,42,.38);display:grid;place-items:center}.unit-assessment-publish-stats strong{font-size:1.22rem;color:#f8fafc}.unit-assessment-publish-stats small{color:#94a3b8;margin-top:2px}
.unit-assessment-publish-card{margin-top:18px}.assessment-publish-all-row{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px;border:1px solid rgba(56,189,248,.3);border-radius:14px;background:rgba(14,165,233,.08);cursor:pointer}.assessment-publish-all-row input{width:20px;height:20px;margin-top:2px;accent-color:#2563eb}.assessment-publish-all-row span{display:grid;gap:3px}.assessment-publish-all-row strong{color:#f8fafc}.assessment-publish-all-row small{color:#cbd5e1}
.assessment-publish-group-list{display:grid;gap:9px;margin-top:14px}.assessment-publish-group-row{display:grid;grid-template-columns:auto minmax(180px,1fr) repeat(3,minmax(72px,auto)) minmax(100px,auto);align-items:center;gap:12px;padding:12px 13px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(15,23,42,.34);cursor:pointer}.assessment-publish-group-row>input{width:20px;height:20px;accent-color:#2563eb}.assessment-publish-group-row.published{border-color:rgba(34,197,94,.28);background:rgba(20,83,45,.16)}.assessment-publish-group-row.partial{border-color:rgba(245,158,11,.3);background:rgba(120,53,15,.12)}.assessment-publish-group-row.empty{opacity:.62;cursor:default}.assessment-publish-group-main{display:grid;gap:2px}.assessment-publish-group-main strong{color:#f8fafc}.assessment-publish-group-main small{color:#94a3b8}.unit-assessment-default-group{color:#bae6fd!important}.assessment-publish-group-numbers{display:grid;text-align:center}.assessment-publish-group-numbers b{color:#f8fafc}.assessment-publish-group-numbers small{color:#94a3b8}.assessment-publish-group-state{font-weight:850;color:#cbd5e1;text-align:right}.assessment-publish-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.student-published-assessment-entry .unit-assessment-entry-link{border-color:rgba(34,197,94,.34);background:linear-gradient(135deg,rgba(22,163,74,.14),rgba(14,165,233,.08))}
.student-unit-assessment-hero,.student-assessment-take-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.student-unit-assessment-list{display:grid;gap:14px;margin-top:18px}.student-unit-assessment-card{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.student-unit-assessment-card.completed{border-color:rgba(34,197,94,.3)}.student-unit-assessment-card.started{border-color:rgba(56,189,248,.3)}.student-unit-assessment-main{min-width:240px;flex:1}.student-unit-assessment-main h2{margin:8px 0 4px;color:#f8fafc!important}.student-unit-assessment-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.student-assessment-score{min-width:88px;padding:9px 11px;border-radius:13px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);display:grid;text-align:center}.student-assessment-score strong{color:#bbf7d0;font-size:1.15rem}.student-assessment-score small{color:#cbd5e1}.student-assessment-instructions{margin-top:10px;color:#cbd5e1}.student-assessment-instructions-card{margin-top:16px}
.student-unit-assessment-form{display:grid;gap:16px;margin-top:18px}.student-assessment-question-card{position:relative;background:#fff!important;color:#0f172a!important;padding-top:22px}.student-assessment-question-number{position:absolute;top:10px;right:12px;min-width:34px;height:34px;padding:0 8px;border-radius:10px;display:grid;place-items:center;background:#e0f2fe;color:#075985;font-weight:900}.student-assessment-question-card h2{color:#0f172a!important;padding-right:50px}.student-assessment-question-html,.student-assessment-question-html *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.student-assessment-choice-list{display:grid;gap:9px;margin-top:15px}.student-assessment-choice{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:flex-start;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff;cursor:pointer}.student-assessment-choice:has(input:checked){border-color:#2563eb;background:#eff6ff}.student-assessment-choice input{width:19px;height:19px;margin-top:5px;accent-color:#2563eb}.student-assessment-choice-letter{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#334155;font-weight:900}.student-assessment-choice-content,.student-assessment-choice-content *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.student-assessment-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;position:sticky;bottom:10px;z-index:5;border-color:rgba(56,189,248,.3);box-shadow:0 8px 24px rgba(2,6,23,.28)}.student-assessment-submit-bar>div{display:grid;gap:3px}.student-assessment-submit-bar strong{color:#f8fafc}.student-assessment-submit-bar small{color:#cbd5e1}
.student-assessment-result-card{text-align:center;max-width:720px;margin:28px auto}.student-assessment-result-card h1{color:#f8fafc!important}.student-assessment-result-score{width:180px;height:180px;margin:24px auto;border-radius:50%;display:grid;place-items:center;align-content:center;background:rgba(34,197,94,.12);border:2px solid rgba(34,197,94,.3)}.student-assessment-result-score strong{font-size:2.25rem;color:#bbf7d0}.student-assessment-result-score span{color:#cbd5e1;margin-top:5px}.student-assessment-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
@media(max-width:820px){.assessment-publish-group-row{grid-template-columns:auto 1fr}.assessment-publish-group-numbers,.assessment-publish-group-state{grid-column:2;text-align:left;display:inline-flex;gap:5px;align-items:center}.unit-assessment-publish-stats{width:100%}.unit-assessment-publish-stats>span{flex:1}.student-unit-assessment-action{width:100%;justify-content:flex-start}.student-assessment-submit-bar{position:static}}

/* v0.61.2 — Student Progress assessment results integration */
.student-assessment-mini-summary{display:grid;gap:5px;justify-items:start}
.student-unit-assessment-progress-section{margin-top:20px;padding-top:18px;border-top:1px solid rgba(148,163,184,.18)}
.assessment-progress-head{margin-bottom:10px}
.assessment-progress-head h3{margin:0;color:#f8fafc!important;font-size:1.05rem}
.student-unit-assessment-results-table td{vertical-align:top}
.student-unit-assessment-results-table td:first-child{min-width:220px}
.student-unit-assessment-results-table .lesson-status-pill.notstarted{background:rgba(148,163,184,.10);border-color:rgba(148,163,184,.24);color:#cbd5e1}
.student-unit-assessment-results-table .lesson-status-pill.inprogress{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.28);color:#bae6fd}
.student-unit-assessment-results-table .lesson-status-pill.completed{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28);color:#bbf7d0}
@media (max-width: 760px){
  .student-unit-assessment-results-table td:first-child{min-width:180px}
}


/* v0.61.2a — Exit Ticket print polish: clean one-line footer with wider spacing. */
.exit-ticket-professional-print .professional-page-footer{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:4mm!important;
  white-space:nowrap!important;
  font-size:7.1pt!important;
  line-height:1.05!important;
}
.exit-ticket-professional-print .professional-page-footer > *{
  flex:0 0 auto!important;
  min-width:0;
}
.exit-ticket-professional-print .professional-page-footer span:last-child{
  margin-left:0!important;
  justify-self:auto!important;
}
@media(max-width:800px){
  .exit-ticket-professional-print .professional-page-footer{
    display:flex!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    justify-content:space-between!important;
    gap:8px!important;
    font-size:6.6pt!important;
  }
}
@media print{
  .exit-ticket-professional-print .professional-page-footer{
    display:flex!important;
    left:8mm!important;
    right:8mm!important;
    bottom:4mm!important;
    grid-template-columns:none!important;
    flex-wrap:nowrap!important;
    justify-content:space-between!important;
    gap:4mm!important;
    white-space:nowrap!important;
    font-size:7pt!important;
    line-height:1.05!important;
  }
}


/* v0.61.5 — Unit Assessment safety, language isolation, builder counters, review */
html.lang-en .assessment-lang-ar{display:none!important}
html.lang-ar .assessment-lang-en{display:none!important}
.unit-assessment-already-added{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.72rem;font-weight:900;border:1px solid #86efac}
.unit-assessment-source-question:has(input[disabled][checked]){border-color:#22c55e;background:#f0fdf4;cursor:default}
.student-assessment-review-panel{display:grid;gap:14px;max-width:980px;margin:18px auto 40px}.student-assessment-review-panel[hidden]{display:none!important}
.student-assessment-review-question{position:relative;background:#fff!important;color:#0f172a!important;border:2px solid #dbe7f3}.student-assessment-review-question.wrong{border-color:#fca5a5;background:#fffafa!important}.student-assessment-review-question.correct{border-color:#86efac;background:#fbfffc!important}
.student-assessment-review-title-row{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding-right:48px}.student-assessment-review-question .student-assessment-question-number{top:12px;right:12px}html.lang-ar .student-assessment-review-question .student-assessment-question-number{right:auto;left:12px}html.lang-ar .student-assessment-review-title-row{padding-right:0;padding-left:48px}
.student-assessment-review-state{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:900}.student-assessment-review-state.correct{background:#dcfce7;color:#166534}.student-assessment-review-state.wrong{background:#fee2e2;color:#991b1b}.student-assessment-review-question h3{color:#0f172a!important;margin:6px 0 12px}
.student-assessment-review-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.student-assessment-review-answer{border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:11px;color:#0f172a}.student-assessment-review-answer.wrong{border-color:#fca5a5;background:#fff1f2}.student-assessment-review-answer.correct,.student-assessment-review-answer.correct-answer{border-color:#86efac;background:#f0fdf4}
.student-assessment-review-answer small{display:block;color:#64748b;font-weight:800;margin-bottom:6px}.student-assessment-review-answer strong{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#e2e8f0;color:#0f172a;margin-bottom:6px;padding:0 8px}.student-assessment-review-answer div,.student-assessment-review-answer div *,.student-assessment-review-question .student-assessment-question-html,.student-assessment-review-question .student-assessment-question-html *{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important}.student-assessment-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
@media(max-width:720px){.student-assessment-review-answer-grid{grid-template-columns:1fr}}

/* v0.61.6 — Lesson Summary task */
.task-type-lessonsummary{border-color:rgba(99,102,241,.30)}
.task-type-lessonsummary .lesson-task-badge{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}


/* ==========================================================
   v0.61.7 — Lesson Summary visual builder (teacher authoring)
   ========================================================== */
.lesson-summary-builder-panel{border-color:rgba(99,102,241,.28)}
.summary-builder-legacy-note{margin:.75rem 0;padding:.75rem .9rem;border:1px solid #f59e0b;border-radius:14px;background:#fffbeb;color:#92400e;font-weight:700}
.summary-builder-settings-grid,.summary-builder-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.summary-builder-toolbar,.summary-builder-preview-head,.summary-builder-save-row,.summary-builder-item-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.summary-builder-toolbar{margin:1rem 0 .75rem}
.summary-builder-items{display:grid;gap:1rem}
.summary-builder-item{padding:1rem;border:1px solid #dbe3f0;border-radius:18px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.05)}
.summary-builder-item-head{padding-bottom:.7rem;margin-bottom:.7rem;border-bottom:1px solid #e5e7eb}
.summary-builder-item-head>strong{font-size:1.04rem}
.summary-builder-item-actions{display:flex;align-items:center;gap:.35rem}
.summary-builder-two-lang{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.8rem}
.summary-builder-language-column{padding:.75rem;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.summary-builder-language-column h4{margin:.1rem 0 .65rem;color:#4338ca}
.summary-builder-language-column textarea{font-family:inherit}
.summary-builder-preview-head{margin:1.2rem 0 .65rem}
.summary-builder-preview-head>div:first-child{display:grid;gap:.15rem}
.summary-preview-language{display:flex;gap:.35rem}
.summary-preview-language .active{outline:2px solid #6366f1;outline-offset:2px}
.summary-builder-preview{min-height:180px;padding:.75rem;border:1px dashed #a5b4fc;border-radius:18px;background:#f8fafc;overflow:auto}
.summary-builder-save-row{margin-top:1rem}
.summary-builder-delete-form{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #fee2e2}
@media(max-width:800px){.summary-builder-settings-grid,.summary-builder-item-grid,.summary-builder-two-lang{grid-template-columns:1fr}.summary-builder-item-actions{width:100%;justify-content:flex-end}}


/* v0.61.8a - package upload contrast */
.assessment-package-upload-form input[type="file"]{
  color:#0f172a !important;
  background:#ffffff !important;
  border-color:#94a3b8 !important;
}
.assessment-package-upload-form input[type="file"]::file-selector-button{
  color:#0f172a;
  background:#e2e8f0;
  border:1px solid #94a3b8;
  border-radius:8px;
  padding:8px 12px;
  margin-right:10px;
  font-weight:700;
}
.assessment-package-option .assessment-package-upload-form .btn.secondary{
  color:#ffffff !important;
  background:#2563eb !important;
  border-color:#2563eb !important;
  opacity:1 !important;
}
