/* css/myp-planner.css — MYP lesson worksheets (/myp-planner.html, js/myp-planner.js).
   The same look as the cover lesson and Create lesson sheets (teacher-dashboard.css colours). */
body { font-family:'Inter','Segoe UI',Roboto,sans-serif; color:#062559; background:#eef2f8; margin:0; }
main { max-width:1000px; margin:0 auto; padding:20px 16px 60px; box-sizing:border-box; }
.back-link { color:#0d3d8f; font-size:0.9rem; font-weight:700; text-decoration:none; display:inline-block; min-height:44px; line-height:44px; }
h1.page { font-size:1.5rem; margin:4px 0 4px; letter-spacing:-0.01em; }
.lede { color:#4a5a75; font-size:0.92rem; line-height:1.55; margin:0 0 10px; max-width:720px; }
.lede-more { margin:0 0 14px; font-size:0.86rem; color:#4a5a75; max-width:760px; }
.lede-more > summary { cursor:pointer; font-weight:700; color:#0d3d8f; min-height:44px; display:flex; align-items:center; }
.lede-more p { margin:6px 0 0; line-height:1.5; }
.note { background:#fff; border:1px solid #d6dfec; border-radius:12px; padding:22px; text-align:center; color:#4a5a75; }
.status { color:#4a5a75; font-size:0.88rem; margin:0 0 14px; min-height:1.2em; }
.status.err { color:#b91c1c; }

.mw-tabs { display:flex; gap:2px; border-bottom:1px solid #d6dfec; margin:0 0 14px; overflow-x:auto; scrollbar-width:none; }
.mw-tabs::-webkit-scrollbar { display:none; }
.mw-tabs [role=tab] { appearance:none; background:none; border:0; border-bottom:3px solid transparent; margin-bottom:-1px; padding:10px 16px; min-height:44px; font:inherit; font-weight:700; font-size:0.95rem; color:#4a5a75; cursor:pointer; white-space:nowrap; flex-shrink:0; }
.mw-tabs [role=tab][aria-selected=true] { color:#062559; border-bottom-color:#0d3d8f; }

.tr-toolbar { background:#fff; border:1px solid #d6dfec; border-radius:12px; padding:14px 16px; display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; margin-bottom:12px; }
.tr-toolbar label { display:flex; flex-direction:column; gap:4px; font-size:0.78rem; font-weight:700; color:#1e3a8a; flex:1 1 150px; min-width:0; }
.tr-toolbar label.wide { flex:2 1 240px; }
.tr-toolbar select, .tr-toolbar input[type=text] { border:1px solid #c7d2fe; border-radius:8px; padding:8px; min-height:44px; font:inherit; font-size:0.9rem; color:#062559; background:#fff; width:100%; min-width:0; box-sizing:border-box; }
.tr-btn { background:#0d3d8f; color:#fff; border:1px solid #0d3d8f; border-radius:8px; padding:10px 16px; min-height:44px; font:inherit; font-weight:700; font-size:0.88rem; cursor:pointer; white-space:nowrap; text-decoration:none; display:inline-flex; align-items:center; }
.tr-btn.ghost { background:#fff; color:#0d3d8f; }
.tr-btn:disabled { opacity:.55; cursor:default; }
.mw-unit fieldset { border:1px solid #d6dfec; border-radius:10px; padding:8px 12px; margin:0; flex:1 1 100%; min-width:0; }
.mw-unit legend { font-size:0.78rem; font-weight:700; color:#1e3a8a; padding:0 4px; }
.mw-check { display:flex; align-items:center; gap:8px; font-size:0.88rem; font-weight:600; color:#062559; min-height:44px; cursor:pointer; }
.mw-check input { width:18px; height:18px; accent-color:#0d3d8f; flex:0 0 auto; }
.mw-crits .mw-check { display:inline-flex; margin-right:14px; }
.mw-unit-group { margin:4px 0 6px; }
.mw-unit-group h3 { font-size:0.8rem; margin:6px 0 0; color:#4a5a75; }
.mw-unit-group .mw-check { font-weight:500; min-height:40px; }

.actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:0 0 16px; }
.mw-more { position:relative; }
.mw-more > summary { list-style:none; cursor:pointer; color:#0d3d8f; font-weight:700; font-size:0.88rem; border:1px solid #0d3d8f; border-radius:8px; padding:10px 16px; min-height:44px; box-sizing:border-box; display:flex; align-items:center; background:#fff; }
.mw-more > summary::-webkit-details-marker { display:none; }
.mw-more-menu { position:absolute; z-index:5; background:#fff; border:1px solid #d6dfec; border-radius:10px; box-shadow:0 8px 24px rgba(6,37,89,.15); padding:6px; margin-top:4px; min-width:240px; right:0; }
.mw-link { display:block; width:100%; text-align:left; background:none; border:0; color:#0d3d8f; font:inherit; font-weight:700; font-size:0.88rem; padding:10px; min-height:44px; cursor:pointer; border-radius:6px; }
.mw-link:hover { background:#eef2f8; }
.mw-link[aria-pressed=true] { background:#eef2f8; }
.mw-more-menu .mw-check { padding:0 10px; }

.mw-saved h2 { font-size:1rem; margin:8px 0 6px; }
.mw-list { list-style:none; padding:0; margin:0 0 16px; }
.mw-list li { background:#fff; border:1px solid #d6dfec; border-radius:10px; padding:10px 12px; margin:0 0 8px; display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; }
.mw-list li .t { flex:1 1 220px; min-width:0; overflow-wrap:anywhere; }
.mw-list li .t small { display:block; color:#4a5a75; }
.mw-list li.mw-empty { color:#4a5a75; display:block; }
.mw-list .mw-link { display:inline-block; width:auto; }

#mw-planview { background:#fff; border:1px solid #d6dfec; border-radius:12px; padding:12px 14px; margin:0 0 14px; }
#mw-planview h2 { font-size:1rem; margin:0 0 8px; overflow-wrap:anywhere; }
.mw-lessons { list-style:none; padding:0; margin:0 0 10px; }
.mw-lessons li { display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-bottom:1px dashed #e5ebf5; padding:4px 0; }
.mw-lessons li .t { flex:1 1 200px; min-width:0; overflow-wrap:anywhere; font-size:0.9rem; }
.mw-lessons li[aria-current=true] .t { font-weight:800; }

/* the sheet (A4) */
.mw-page { background:#fff; width:100%; max-width:210mm; margin:0 auto 22px; padding:14mm; box-sizing:border-box; box-shadow:0 2px 14px rgba(6,37,89,.10); border-radius:4px; font-size:11pt; line-height:1.45; color:#0f1f3d; overflow-wrap:break-word; }
.mw-head { display:flex; align-items:center; gap:10px; border-bottom:2px solid #062559; padding-bottom:7px; margin-bottom:10px; }
.mw-head img { height:26px; width:auto; }
.mw-head .brand { font-weight:800; font-size:9.5pt; }
.mw-head .kind { margin-left:auto; font-size:9pt; color:#4a5a75; text-align:right; }
.mw-page h2 { font-size:15pt; margin:0 0 2px; color:#062559; }
.mw-page .sub { color:#4a5a75; font-size:9.5pt; margin:0 0 10px; }
.mw-name { border:1px solid #cfd9ee; border-radius:6px; padding:6px 10px; font-size:10pt; margin:0 0 10px; }
.mw-box { border:1px solid #cfd9ee; border-radius:8px; padding:8px 12px; margin:0 0 10px; font-size:10pt; break-inside:avoid; }
.mw-box h3 { font-size:10.5pt; margin:0 0 4px; color:#062559; }
.mw-box ul { margin:0; padding-left:18px; }
.mw-box.focus { background:#f4f7fc; }
.mw-vocab { color:#4a5a75; }
.mw-sec { margin:12px 0 0; }
.mw-sec > h3 { font-size:11.5pt; margin:0 0 2px; color:#062559; border-bottom:1px solid #e5ebf5; padding-bottom:2px; }
.mw-sec > .sub { margin:0 0 6px; }
ol.mw-qs { margin:0; padding-left:22px; }
ol.mw-qs > li { margin:0 0 12px; break-inside:avoid; }
ol.mw-parts { margin:4px 0 0; padding-left:20px; list-style:lower-alpha; }
ol.mw-parts > li { margin:0 0 6px; }
.mw-marks { color:#4a5a75; font-size:9pt; font-weight:700; margin-left:6px; white-space:nowrap; }
.mw-space { border-bottom:1px dotted #cfd9ee; height:1.5em; }
.mw-steps { background:#f0fdf4; border-left:3px solid #16a34a; padding:6px 10px; margin:6px 0 0; font-size:10pt; }
.mw-steps ol { margin:0; padding-left:18px; }
.mw-tag { display:inline-block; font-size:8pt; font-weight:800; border-radius:999px; padding:1px 8px; margin:0 6px 4px 0; vertical-align:middle; }
.mw-tag.ai { background:#ede9fe; color:#5b21b6; }
.mw-tag.bank { background:#e0f2fe; color:#075985; }
.mw-tag.own { background:#fef3c7; color:#92400e; }
.mw-tag.ct { background:#ecfdf3; color:#166534; text-decoration:none; }
.mw-crit { display:inline-block; min-width:20px; text-align:center; font-size:8pt; font-weight:800; border-radius:6px; padding:1px 6px; margin:0 6px 4px 0; vertical-align:middle; background:#062559; color:#fff; }
.mw-guide { display:inline; margin:0; padding:0; font-size:9pt; color:#0f1f3d; }
.mw-levels { display:grid; gap:2px; margin:3px 0 0; padding-left:10px; border-left:2px solid #cfd9ee; }
.mw-levels span { display:block; }
.mw-unote { flex:1 1 100%; margin:0; font-size:0.84rem; color:#4a5a75; }
.mw-swap { background:none; border:1px solid #c7d2fe; color:#0d3d8f; border-radius:999px; font:inherit; font-size:8.5pt; font-weight:700; padding:2px 10px; min-height:32px; cursor:pointer; vertical-align:middle; }
.mw-reflect li { margin:0 0 6px; }
.mw-ans { margin:0 0 8px; break-inside:avoid; font-size:10pt; }
.mw-ans .lab { font-weight:800; color:#062559; }
[contenteditable=true] { outline:1px dashed #a5b4fc; outline-offset:2px; border-radius:3px; }
.mw-next { max-width:210mm; margin:0 auto; display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; font-size:0.9rem; }
.mw-next[hidden] { display:none; }
.mt-table { border-collapse:collapse; margin:6px 0; font-size:10pt; }
.mt-table th, .mt-table td { border:1px solid #cfd9ee; padding:4px 10px; text-align:left; vertical-align:top; min-width:60px; }
.mt-table th { background:#f4f7fc; }
.mt-bands th { white-space:nowrap; }
.mw-unit textarea { border:1px solid #c7d2fe; border-radius:8px; padding:8px; font:inherit; font-size:0.9rem; color:#062559; }
.me-bar { position:sticky; top:0; z-index:4; background:#fff; border:1px solid #d6dfec; border-radius:10px; padding:8px 12px; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin:0 0 10px; }
.me-timer { font-weight:800; color:#062559; font-variant-numeric:tabular-nums; }
.me-timer.warn { color:#b91c1c; }
.me-task { background:#fff; border:1px solid #d6dfec; border-radius:12px; padding:14px; }
.me-task h2 { font-size:1.1rem; margin:0 0 4px; }
.me-part { margin:8px 0 10px; }
.me-text { width:100%; box-sizing:border-box; border:1px solid #c7d2fe; border-radius:8px; padding:8px; font:inherit; font-size:0.95rem; margin-top:4px; }
.me-crit { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; margin:8px 0 12px; }
.me-cbox { border:1px solid #cfd9ee; border-radius:10px; padding:8px; text-align:center; background:#f4f7fc; }
.me-cbox b { display:block; font-size:1.2rem; color:#062559; } .me-cbox span { display:block; font-weight:700; } .me-cbox small { color:#4a5a75; }
.me-res { margin:4px 0; font-size:10pt; padding:4px 8px; border-radius:6px; }
.me-res.ok { background:#f0fdf4; } .me-res.no { background:#fef2f2; } .me-res.self { background:#fff7ed; }
.me-self { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:4px 0; min-height:44px; font-size:0.9rem; }
.me-self input { width:64px; min-height:40px; border:1px solid #c7d2fe; border-radius:6px; padding:4px; font:inherit; }
.mw-disclaimer { max-width:210mm; margin:8px auto; font-size:0.78rem; color:#4a5a75; line-height:1.45; }
.mw-disclaimer-print { font-size:8pt; margin-top:10px; }
.mw-next a { color:#0d3d8f; font-weight:700; min-height:44px; display:inline-flex; align-items:center; }

@media (max-width: 640px) {
  .mw-page { padding:16px 14px; font-size:10.5pt; }
  .mw-head .kind { display:none; }
  .mw-more-menu { left:0; right:auto; }
}
@media print {
  @page { size: A4 portrait; margin: 12mm; }
  body { background:#fff; }
  .no-print, nav.topnav, .tsb, .tsb-fab, footer, .site-footer, #feedback-widget, .mw-swap { display:none !important; }
  body.tsb-shift, body.tsb-shift.tsb-shift-expanded { padding:0 !important; }
  main { max-width:none; padding:0; margin:0; }
  .mw-page { box-shadow:none; border-radius:0; margin:0; max-width:none; padding:0; page-break-after:always; break-after:page; }
  .mw-page:last-child { page-break-after:auto; break-after:auto; }
  html.mw-print-student .mw-page.answers { display:none; }
  [contenteditable=true] { outline:none; }
  /* Print or save as PDF from the unit planner: the unit summary only */
  html.mw-print-unit main > :not(#mw-uf-sheet) { display:none !important; }
}

/* Unit planning fields and coverage (Oct 2026; js/myp-unit-fields.js, js/myp-coverage.js) */
.mw-unitfields { margin:12px 0; padding:8px 14px; background:#fff; border:1px solid #d6dfec; border-radius:10px; }
.mw-unitfields > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:800; color:#062559; }
.mw-unitfields fieldset { border:none; margin:8px 0; padding:0; }
.mw-unitfields legend { font-weight:700; color:#062559; padding:0; margin-bottom:4px; }
.mw-chip { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin:0 12px 0 0; }
.mw-uf-q { display:block; margin:10px 0; font-weight:700; color:#062559; }
.mw-uf-q small { font-weight:500; color:#4a5a75; }
.mw-uf-q textarea, .mw-uf-q select { display:block; width:100%; box-sizing:border-box; margin-top:4px; padding:8px; border:1px solid #d6dfec; border-radius:6px; font:inherit; min-height:44px; }
.mw-warn { display:block; color:#9a3412; font-weight:700; }
.mw-inline { display:inline-flex; width:auto; align-items:center; }
.mw-inline-link { display:inline-flex; align-items:center; min-height:44px; color:#0d3d8f; font-weight:700; font-size:0.88rem; }
.mw-inline-link[hidden] { display:none; }
.mw-uf-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 6px; padding-top:12px; border-top:1px solid #eef2f8; }
#mw-uf-sheet { display:none; }
html.mw-print-unit #mw-uf-sheet { display:block; }
.mw-unitdl { margin:0; display:grid; grid-template-columns:minmax(120px, 30%) 1fr; gap:6px 14px; font-size:10.5pt; }
.mw-unitdl dt { font-weight:800; color:#062559; }
.mw-unitdl dd { margin:0; }
.mw-unitdl ul { margin:0; padding-left:18px; }
