/* Batch 2: lesson, homework and review workflows. Uses the active theme tokens. */
html[data-theme] .lesson-toolbar,
html[data-theme] .task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}
html[data-theme] .lesson-toolbar>div,
html[data-theme] .task-toolbar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
html[data-theme] .lesson-list,
html[data-theme] .task-list{display:grid;gap:10px}
html[data-theme] .lesson-card,
html[data-theme] .task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--edge);border-left:4px solid var(--green);border-radius:var(--control-radius);background:var(--surface);box-shadow:0 2px 8px #173e400c}
html[data-theme] .lesson-card:nth-child(3n+2){border-left-color:var(--primary)}
html[data-theme] .lesson-card h2,
html[data-theme] .task-card h2{margin:0;font-size:calc(21px + var(--reading-heading-extra,0px));line-height:1.4;overflow-wrap:anywhere}
html[data-theme] .lesson-card p,
html[data-theme] .task-card p{margin:5px 0 0;color:var(--muted);font-size:calc(14px + var(--reading-extra,0px));line-height:1.5}
html[data-theme] .lesson-meta{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:13px}
html[data-theme] .lesson-meta strong{color:var(--ink);font-weight:700}
html[data-theme] .lesson-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
html[data-theme] .lesson-actions .btn{white-space:nowrap}
html[data-theme] .lesson-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}
html[data-theme] .lesson-detail-grid>.panel{min-width:0}
html[data-theme] .lesson-builder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:start}
html[data-theme] .lesson-builder>.field,
html[data-theme] .lesson-builder>.lesson-question-list,
html[data-theme] .lesson-builder>.lesson-text-material,
html[data-theme] .lesson-builder>.error,
html[data-theme] .lesson-builder>.form-actions{grid-column:1/-1}
html[data-theme] .lesson-builder .field{min-width:0}
html[data-theme] .lesson-builder textarea{min-height:76px}
html[data-theme] .lesson-question-list{display:grid;gap:0;max-height:min(48vh,460px);overflow:auto;border:1px solid var(--edge);border-radius:var(--control-radius);background:var(--surface)}
html[data-theme] .lesson-question-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}
html[data-theme] .lesson-question-row:last-child{border-bottom:0}
html[data-theme] .lesson-question-row strong{display:block;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
html[data-theme] .lesson-question-row small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
html[data-theme] .lesson-item-toggle{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
html[data-theme] .lesson-item-toggle label{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 9px;border:1px solid var(--edge);border-radius:4px;background:var(--surface-soft);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}
html[data-theme] .lesson-item-toggle input{width:17px;min-height:17px;height:17px;margin:0;accent-color:var(--green)}
html[data-theme] .lesson-text-material{padding:16px 18px;border-left:3px solid var(--green);background:var(--surface-soft);color:var(--ink);font-size:16px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme] .task-state{display:inline-flex;align-items:center;min-height:29px;padding:4px 9px;border-left:3px solid var(--green);background:var(--mint);color:var(--green-dark);font-size:13px;font-weight:800;white-space:nowrap}
html[data-theme] .task-state[data-state="draft"],
html[data-theme] .task-state[data-state="not-started"]{border-color:var(--muted);background:var(--surface-soft);color:var(--muted)}
html[data-theme] .task-state[data-state="closed"],
html[data-theme] .task-state[data-state="retracted"],
html[data-theme] .task-state[data-state="late"]{border-color:var(--primary);background:var(--peach);color:var(--ink)}
html[data-theme] .task-deadline{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}
html[data-theme] .task-deadline strong{color:var(--ink)}
html[data-theme] .task-roster{display:grid;gap:0;border:1px solid var(--edge);border-radius:var(--control-radius);background:var(--surface)}
html[data-theme] .task-roster-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line)}
html[data-theme] .task-roster-row:last-child{border-bottom:0}
html[data-theme] .task-roster-row strong{font-size:15px;overflow-wrap:anywhere}
html[data-theme] .task-roster-row small{color:var(--muted);font-size:13px}
html[data-theme] .task-question-stats{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,minmax(65px,auto));gap:10px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface)}
html[data-theme] .task-question-stats:first-child{border-radius:var(--control-radius) var(--control-radius) 0 0}
html[data-theme] .task-question-stats:last-child{border-bottom:0;border-radius:0 0 var(--control-radius) var(--control-radius)}
html[data-theme] .task-question-stats strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
html[data-theme] .task-question-stats span{color:var(--muted);font-size:13px;text-align:right;white-space:nowrap}
html[data-theme] .task-common-errors{margin-top:8px;font-size:13px;font-weight:500}
html[data-theme] .task-common-errors summary{color:var(--green-dark);cursor:pointer}
html[data-theme] .task-common-errors>div{display:grid;gap:4px;margin-top:5px;color:var(--muted)}
html[data-theme] .task-common-errors>div span{text-align:left;white-space:normal}
html[data-theme] .task-student-accuracy small{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:500}
html[data-theme] .task-report-note{margin:-6px 0 14px;color:var(--muted);font-size:13px}
html[data-theme] .task-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
html[data-theme] .task-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-theme] .task-report-grid>.summary-tile{min-width:0}
html[data-theme] .task-roster-row{grid-template-columns:minmax(0,1fr) repeat(3,auto)}
html[data-theme] .student-tasks{margin:0 0 24px}
html[data-theme] .student-task-list{display:grid;gap:9px}
html[data-theme] .student-task-list .student-task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 19px;border:1px solid var(--edge);border-left:4px solid var(--primary);border-radius:var(--control-radius);background:var(--surface)}
html[data-theme] .student-task-list .student-task-card h3{margin:0;font-size:calc(20px + var(--reading-extra,0px));line-height:1.4;overflow-wrap:anywhere}
html[data-theme] .student-task-list .student-task-card p{margin:5px 0 0;color:var(--muted);font-size:calc(14px + var(--reading-extra,0px));line-height:1.5}
html[data-theme] .student-task-progress{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--muted);font-size:calc(13px + var(--reading-extra,0px))}
html[data-theme] .student-task-progress .progress-track{flex:1;min-width:80px;height:7px;background:var(--mint);overflow:hidden}
html[data-theme] .student-task-progress .progress-track span{display:block;height:100%;background:var(--green)}
html[data-theme] .student-task-progress .progress-track{flex:1}
html[data-theme] .student-task-progress small{color:var(--muted);font-size:calc(13px + var(--reading-extra,0px));white-space:nowrap}
html[data-theme] .student-task-question{padding:17px 19px;border:1px solid var(--edge);border-radius:var(--control-radius);background:var(--surface);line-height:1.65}
html[data-theme] .student-task-question+.student-task-question{margin-top:9px}
html[data-theme] .student-task-question .task-question-head{display:flex;align-items:center;gap:10px}
html[data-theme] .student-task-question .task-question-head strong{font-size:calc(14px + var(--reading-extra,0px));color:var(--green)}
html[data-theme] .student-task-question p{margin:11px 0;font-size:calc(18px + var(--reading-extra,0px));line-height:1.65}
html[data-theme] .student-task-question small{color:var(--muted);font-size:calc(14px + var(--reading-extra,0px))}
html[data-theme] .student-task-question details{margin-top:10px;color:var(--muted)}
html[data-theme] .student-task-question details p{font-size:calc(15px + var(--reading-extra,0px))}
html[data-theme] .task-detail-panel{margin:0 0 16px;padding:17px 19px;border:1px solid var(--edge);border-radius:var(--control-radius);background:var(--surface)}
html[data-theme] .task-detail-panel .task-actions{display:flex;gap:9px;margin-top:14px}
html[data-theme] .task-detail-panel .task-attempts-note{display:block;margin-top:8px;color:var(--muted);font-size:13px}
html[data-theme] .task-detail-panel .task-limit-note{margin:12px 0 0;color:var(--muted);font-weight:700}
html[data-theme] .lesson-toolbar>a{padding:9px 13px;border-bottom:2px solid transparent;color:var(--muted);text-decoration:none;font-weight:700}
html[data-theme] .lesson-toolbar>a.active{border-color:var(--primary);color:var(--ink)}
@media(max-width:600px){html[data-theme] .shell .sidebar .nav{min-width:0;max-width:calc(100vw - 178px);overflow-x:auto;flex:none;scrollbar-width:none}html[data-theme] .shell .sidebar .nav::-webkit-scrollbar{display:none}html[data-theme] .shell .sidebar .nav a{flex:none}}
html[data-theme] .lesson-bank-group{border:1px solid var(--edge);background:var(--surface)}
html[data-theme] .lesson-bank-group+ .lesson-bank-group{margin-top:8px}
html[data-theme] .lesson-bank-group>summary{padding:11px 13px;background:var(--surface-soft);font-weight:800;cursor:pointer}
html[data-theme] .lesson-bank-group>summary span{float:right;color:var(--muted);font-weight:500}
html[data-theme] .lesson-board-material{max-width:1320px;margin:0 auto 14px;border-left:4px solid var(--green);background:var(--surface);color:var(--ink)}
html[data-theme] .lesson-board-material>summary{padding:10px 14px;font-size:16px;font-weight:800;cursor:pointer}
html[data-theme] .lesson-board-material>div{padding:2px 14px 12px;white-space:pre-wrap;font-size:16px;line-height:1.65}
html[data-theme] .lesson-board-material>a{display:inline-flex;align-items:center;gap:7px;margin:0 14px 13px;color:var(--green);font-weight:800}
html[data-theme] .lesson-builder>.form-grid{grid-column:1/-1}
html[data-theme] .lesson-builder>.field{grid-column:1/-1}
html[data-theme] dialog[open]:has(#lesson-form),html[data-theme] dialog[open]:has(#task-create-form){display:flex;flex-direction:column;max-height:calc(100dvh - 24px);height:min(850px,calc(100dvh - 24px));overflow:hidden}
html[data-theme] dialog:has(#lesson-form) .modal-head,html[data-theme] dialog:has(#task-create-form) .modal-head{flex:none}
html[data-theme] dialog:has(#lesson-form) .modal-body,html[data-theme] dialog:has(#task-create-form) .modal-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
html[data-theme] dialog:has(#lesson-form) #lesson-question-search{margin-bottom:9px}
html[data-theme] #task-create-form{display:grid;gap:14px}
html[data-theme] #task-create-form fieldset.assignment-grid{min-width:0;margin:0;padding:0;border:0}
html[data-theme] #task-create-form fieldset.assignment-grid>legend{margin-bottom:7px;font-size:14px;font-weight:800}
html[data-theme] #task-create-form .assignment-grid{display:grid;gap:6px;max-height:220px;overflow:auto}
html[data-theme] #task-create-form .assignment-item{padding:9px 10px}
html[data-theme] .student-task-list .student-task-card>.btn{min-width:105px;white-space:nowrap}
html[data-theme] .mistake-single-action{display:flex;align-items:center;gap:8px;margin-top:13px}
html[data-theme] .mistake-single-action .btn{min-height:40px}
html[data-theme] .mistake-card details{margin:10px 0}
html[data-theme] .mistake-card .mistake-foot{margin-top:12px}
html[data-theme] .analytics-panel .task-roster-row{grid-template-columns:minmax(0,1fr) auto auto}

@media(max-width:900px){
  html[data-theme] .lesson-detail-grid{grid-template-columns:1fr}
  html[data-theme] .task-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  html[data-theme] .lesson-toolbar,html[data-theme] .task-toolbar{align-items:stretch;flex-direction:column}
  html[data-theme] .lesson-toolbar>.btn,html[data-theme] .task-toolbar>.btn{align-self:flex-start}
  html[data-theme] .lesson-card,html[data-theme] .task-card,html[data-theme] .student-task-list .student-task-card{grid-template-columns:1fr;gap:13px;padding:15px}
  html[data-theme] .lesson-card h2,html[data-theme] .task-card h2{font-size:calc(19px + var(--reading-heading-extra,0px))}
  html[data-theme] .lesson-actions{justify-content:flex-start}
  html[data-theme] .lesson-builder{grid-template-columns:1fr}
  html[data-theme] .lesson-builder>.field{grid-column:1}
  html[data-theme] .lesson-question-row{grid-template-columns:1fr;gap:8px}
  html[data-theme] .lesson-item-toggle{justify-content:flex-start}
  html[data-theme] .task-roster-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  html[data-theme] .task-roster-row small{grid-column:1/-1}
  html[data-theme] .task-question-stats{grid-template-columns:minmax(0,1fr) repeat(2,auto);gap:7px;padding:11px}
  html[data-theme] .task-question-stats span:last-child{grid-column:2/-1}
  html[data-theme] .task-report-grid{gap:8px}
  html[data-theme] .student-task-list .student-task-card>.btn{justify-self:start}
  html[data-theme] .student-task-progress{flex-wrap:wrap}
  html[data-theme] .task-roster-row{grid-template-columns:minmax(0,1fr) auto}
  html[data-theme] .student-task-question{padding:14px}
}
