/* Curriculum landing: a lesson desk first, optional collections below it. */
body.curriculum-home { background: #eef3f8; color: #14365b; }
.curriculum-home .curriculum-guide { position: relative; padding: 28px 32px 22px; margin: 20px auto 0; border-radius: 20px 20px 0 0; box-shadow: none; border-bottom: 1px solid #d4e0ec; }
.curriculum-home .curriculum-guide h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.12; margin: 6px 0 12px; }
.curriculum-home .curriculum-guide__eyebrow { letter-spacing: .02em; text-transform: none; color: #11675d; font-size: 16px; margin: 0; }
.curriculum-home .curriculum-guide__lede { font-size: 18px; line-height: 1.5; margin: 8px 0 16px; max-width: 76ch; }
.curriculum-home #hub-mode-banner { background: none; border: 0; border-radius: 0; padding: 0; margin: 0 0 8px; font-size: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #475569; }
.curriculum-home.teacher-mode #hub-mode-banner { display: none; }
.curriculum-home .hub-shortcuts { display: flex; gap: 8px; flex-wrap: wrap; align-items: stretch; }
.curriculum-home .hub-shortcuts > :is(a,button), .curriculum-home .hub-reading-control > button { font: inherit; font-size: 16px; font-weight: 700; min-height: 44px; border: 1px solid #c4d3e2; background: #f7fafd; color: #15487f; border-radius: 8px; padding: 10px 14px; display: inline-flex; align-items: center; text-decoration: none; cursor: pointer; box-shadow: none; width: auto; }
.curriculum-home .hub-shortcuts > :is(a,button):hover { background: #e7f0fa; border-color: #175da0; }
.curriculum-home .hub-shortcuts .curriculum-guide__action span { display: none; }
.curriculum-home .hub-shortcuts strong { font: inherit; color: inherit; }
.curriculum-home .hub-shortcuts [data-guide-teacher-view="today"] { color: #fff; background: #175da0; border-color: #175da0; }
.hub-page { max-width: 1180px; margin: 0 auto 32px; padding: 0 32px 28px; border-radius: 0 0 20px 20px; background: #fff; }
.hub-collection { margin: 12px 0; border: 1px solid #cbd8e6; border-radius: 12px; color: #14365b; background: #fff; }
.hub-collection > summary { min-height: 56px; padding: 16px 18px; font-size: 18px; font-weight: 700; cursor: pointer; line-height: 1.4; }
.hub-collection > summary span { display: block; font-size: 16px; font-weight: 400; color: #475569; margin: 4px 0 0 20px; }
.hub-collection[open] { padding: 0 16px 16px; }
.hub-collection[open] > summary { margin: 0 -16px 16px; border-bottom: 1px solid #d4e0ec; background: #f4f8fc; border-radius: 12px 12px 0 0; }
.curriculum-home :is(a,button,input,select,summary):focus-visible { outline: 3px solid #175da0; outline-offset: 3px; }
.curriculum-home .hub-collection :is(button,select,.tt-link,.mf-btn,.ctw-btn) { min-height: 44px; }
.curriculum-home #hub-student-hint { display: none; }
.curriculum-home #curriculum-navigator #hub-toolbar-sticky { position: static; padding: 0; border: 0; background: none; box-shadow: none; margin: 0; }
.curriculum-home #curriculum-navigator .controls { padding: 0; margin: 0; border: 0; box-shadow: none; background: none; }
.curriculum-home .ctw-tools-drawer { display: block !important; }
.curriculum-home .hub-collection .wrap { padding: 0; margin: 0; }
.curriculum-home .hub-collection .tws-workspace { margin: 0; }
.curriculum-home .hub-collection .curriculum-guide__actions { margin-top: 16px; }
.curriculum-home .hub-collection .curriculum-guide__action :is(strong,span) { font-size: 16px; }
.curriculum-home .hub-collection .mailbox-feature .mf-sub,
.curriculum-home .hub-collection .mailbox-feature .mf-text { color: #334155 !important; }
.curriculum-home #enterprise-standards-compliance strong { color: #15487f !important; }
.curriculum-home #enterprise-standards-compliance li { color: #334155; font-size: 16px; }
.curriculum-home .hub-collection .cpu-contract { margin: 12px 0; }
.curriculum-home #hub-manipulatives .ewl-presets-bar { margin: 0; padding: 0; }
.curriculum-home #awardShowcaseOverlay { padding: 0; border: 1px solid #cbd5e1; border-radius: 18px; width: min(780px, 92vw); max-width: 92vw; max-height: 88vh; overflow: auto; color: #14365b; }
.curriculum-home #awardShowcaseOverlay::backdrop { background: rgb(15 23 42 / 65%); }
@media (max-width: 700px) {
  .curriculum-home .curriculum-guide { margin: 0; padding: 20px 16px; border-radius: 0; }
  .curriculum-home .curriculum-guide__lede { font-size: 16px; }
  .hub-page { padding: 0 16px 24px; border-radius: 0; }
  .hub-collection > summary { padding: 14px; font-size: 17px; }
  .hub-collection[open] { padding: 0 10px 10px; }
  .hub-collection[open] > summary { margin: 0 -10px 12px; }
  .curriculum-home .hub-shortcuts { gap: 6px; }
  .curriculum-home .hub-shortcuts > :is(a,button) { padding: 9px 11px; }
  .curriculum-home #udlFloatingLauncher { max-width: calc(100vw - 32px); }
}
@media (prefers-reduced-motion: reduce) { .curriculum-home { scroll-behavior: auto; } }
@media print {
  .curriculum-home .hub-shortcuts, .curriculum-home .hub-reading-control, .curriculum-home #hub-mode-banner, .curriculum-home .hub-collection, .curriculum-home .hub-supports-dock { display: none !important; }
  .curriculum-home, .hub-page, .curriculum-home .curriculum-guide { background: #fff; padding: 0; margin: 0; max-width: none; border: 0; }
}

.curriculum-home .hub-supports-panel[hidden] { display: none !important; }
.curriculum-home .hub-reading-control { margin: 0; padding: 0; }
.curriculum-home #udlFloatingLauncher { min-height: 44px; background: #f7fafd; }
.curriculum-home #udlMenuPopover { position: absolute; right: 16px; z-index: 100; margin-top: 8px; width: min(340px, calc(100% - 32px)); max-height: 70vh; overflow-y: auto; padding: 18px; border: 1px solid #b3c7dc; border-radius: 12px; background: #fff; color: #14365b; box-shadow: 0 12px 30px rgb(15 23 42 / 18%); font-size: 16px; }
.curriculum-home #udlMenuPopover :is(label,a) { min-height: 44px; display: flex; align-items: center; gap: 12px; font-size: 16px; }
.curriculum-home #udlMenuPopover input[type="checkbox"] { width: 22px; height: 22px; flex-shrink: 0; }
.curriculum-home #udlMenuPopover h2 { font-size: 18px !important; margin: 0 0 12px; }
.curriculum-home #hub-teacher-banner { display: flex; gap: 8px; align-items: center; margin: 4px 0; color: #475569; }
@media (min-width: 900px) {
  .curriculum-home .curriculum-guide { position: relative; padding-top: 24px; }
  .curriculum-home #hub-mode-banner, .curriculum-home #hub-teacher-banner { position: absolute; top: 16px; right: 32px; }
  .curriculum-home .curriculum-guide h1 { font-size: 44px; }
}
.curriculum-home #awardShowcaseOverlay button { min-height: 44px; min-width: 44px; flex-shrink: 0; }

/* The legacy print view is now inside the complete-library disclosure. Keep
   its ancestor chain visible while printing only the selected planning view. */
@media print {
  body.curriculum-home.ctw-printing > main.hub-page,
  body.curriculum-home.ctw-printing #hub-library-collection {
    display: block !important;
    margin: 0;
    padding: 0;
    border: 0;
  }
  body.curriculum-home.ctw-printing main.hub-page > :not(#hub-library-collection),
  body.curriculum-home.ctw-printing #hub-library-collection > :not(.ctw-panel) {
    display: none !important;
  }
}

/* Header mode controls already expose this action; keep the legacy JS bridge. */
.curriculum-home #hub-mode-toggle { display: none; }
