.teaching-course-directory{
  margin:1.25rem 0;
}
.teaching-course-directory>.platform-section-head{
  margin-bottom:14px;
}
.platform-two-column.teaching-course-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  align-items:stretch;
}
.teaching-course-card{
  position:relative;
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
  border-top:4px solid var(--course-accent,var(--accent));
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 13%,transparent),transparent 42%),
    var(--surface-1);
  box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 7%,transparent);
}
.teaching-course-card::after{
  position:absolute;
  top:-42px;
  right:-42px;
  width:126px;
  height:126px;
  border:1px solid color-mix(in srgb,var(--course-accent,var(--accent)) 20%,transparent);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.teaching-course-card header{
  position:relative;
  z-index:1;
}
.teaching-course-card h3{
  margin:6px 0 4px;
  color:var(--text-primary);
  font-size:clamp(20px,2vw,27px);
  letter-spacing:-.025em;
}
.teaching-course-card header p{
  margin:0;
  color:var(--text-secondary);
}
.teaching-course-card .shell-course-facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
}
.teaching-course-card .shell-course-quick-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:auto;
}
.teaching-course-card .shell-course-quick-actions a{
  justify-content:center;
  min-width:0;
  text-align:center;
}
.teaching-course-card a.btn-accent,
.course-governance-view a.btn-accent,
.course-delivery-view a.btn-accent{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.72rem 1.1rem;
  border:1px solid var(--accent);
  border-radius:11px;
  color:#fff;
  font-size:.95rem;
  font-weight:600;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
}
.teaching-course-access-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:auto 0 0;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--text-secondary);
  line-height:1.45;
}
.teaching-course-access-note>i{
  flex:0 0 auto;
  margin-top:2px;
  color:var(--accent-text);
  font-size:18px;
}
.teaching-course-access-note>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.teaching-course-access-note b{
  color:var(--text-primary);
}

.course-governance-view,
.course-delivery-view{
  min-width:0;
}
.course-governance-view>.platform-panel{
  border-left:4px solid color-mix(in srgb,var(--accent) 72%,var(--border));
}
.course-governance-view>.platform-panel .shell-course-facts{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.course-governance-view .shell-course-overview-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.course-governance-view .shell-course-overview-grid>.platform-panel{
  position:relative;
  display:flex;
  min-width:0;
  min-height:295px;
  flex-direction:column;
  border-top:3px solid color-mix(in srgb,var(--accent) 62%,var(--border));
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--accent-bg) 44%,transparent),transparent 45%),
    var(--surface-1);
}
.course-governance-view .shell-course-overview-grid>.platform-panel:nth-child(3n+2){
  border-top-color:#159a84;
}
.course-governance-view .shell-course-overview-grid>.platform-panel:nth-child(3n){
  border-top-color:#7654b3;
}
.course-governance-view .shell-course-overview-grid .platform-section-head{
  align-items:flex-start;
}
.course-governance-view .shell-course-overview-grid .platform-section-head>div{
  min-width:0;
}
.course-governance-view .shell-course-overview-grid .platform-section-head h2{
  margin-top:5px;
  font-size:22px;
}
.course-governance-view .shell-course-overview-grid .platform-section-head p{
  margin-top:6px;
  color:var(--text-secondary);
  line-height:1.55;
}
.course-governance-view .shell-course-overview-grid .shell-course-facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-bottom:18px;
}
.course-governance-view .shell-course-overview-grid .shell-course-quick-actions{
  margin-top:auto;
}
.course-governance-view .muted i{
  margin-right:5px;
  color:var(--text-muted);
}

.course-workspace-mode-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:16px 0;
}
.course-workspace-mode-card{
  position:relative;
  display:flex;
  min-width:0;
  min-height:340px;
  flex-direction:column;
  gap:18px;
  overflow:hidden;
  border-top:4px solid var(--accent);
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 43%),
    var(--surface-1);
}
.course-workspace-mode-card:nth-child(2){
  border-top-color:#159a84;
}
.course-workspace-mode-card:nth-child(3){
  border-top-color:#7654b3;
}
.course-workspace-mode-icon{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border:1px solid var(--accent-border);
  border-radius:15px;
  background:var(--accent-bg);
  color:var(--accent-text);
  box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 15%,transparent);
}
.course-workspace-mode-icon i{
  font-size:27px;
}
.course-workspace-mode-card h2{
  margin:5px 0 8px;
  font-size:25px;
  letter-spacing:-.025em;
}
.course-workspace-mode-card p{
  margin:0;
  color:var(--text-secondary);
  line-height:1.6;
}
.course-workspace-mode-card nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
}
.course-workspace-mode-card nav a{
  justify-content:center;
}
.course-delivery-command{
  margin-top:16px;
  border-left:4px solid var(--accent);
}
.course-delivery-command .shell-course-quick-actions{
  gap:9px;
}

/* Popovers stay inside the topbar layer; root modals still sit above it. */
.topbar,
.topbar-left,
.ctx-switch,
.ctx-chip{
  overflow:visible;
}
.ctx-menu{
  max-width:min(340px,calc(100vw - 28px));
}
.student-view-banner{
  top:var(--topbar-height);
  z-index:var(--layer-student-banner);
}

@container app-content (max-width:1180px){
  .course-workspace-mode-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .course-workspace-mode-card:last-child{
    grid-column:1/-1;
    min-height:260px;
  }
  .course-governance-view>.platform-panel .shell-course-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@container app-content (max-width:760px){
  .teaching-course-card-grid,
  .course-governance-view .shell-course-overview-grid,
  .course-workspace-mode-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .course-workspace-mode-card:last-child{
    grid-column:auto;
  }
  .teaching-course-card,
  .course-workspace-mode-card,
  .course-governance-view .shell-course-overview-grid>.platform-panel{
    min-height:0;
  }
  .teaching-course-card .shell-course-quick-actions,
  .course-governance-view>.platform-panel .shell-course-facts,
  .course-governance-view .shell-course-overview-grid .shell-course-facts{
    grid-template-columns:minmax(0,1fr);
  }
  .teaching-course-card .shell-course-quick-actions a,
  .course-workspace-mode-card nav a{
    width:100%;
  }
}

@media (max-width:860px){
  .sidebar{
    z-index:var(--layer-mobile-sidebar);
  }
  .course-navigator-close{
    position:sticky;
    top:8px;
    z-index:3;
    margin:8px 8px 10px auto;
    border:1px solid var(--border);
    border-radius:9px;
    background:color-mix(in srgb,var(--surface-1) 94%,transparent);
    backdrop-filter:blur(8px);
  }
}

/* Course Governance · Syllabus Studio */
.syllabus-studio{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:14px;
}
.syllabus-studio-intro{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:16px;
  align-items:stretch;
  padding:18px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));
  border-radius:15px;
  background:
    radial-gradient(circle at 8% 0,color-mix(in srgb,var(--accent) 15%,transparent),transparent 42%),
    linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 54%,var(--surface-1)),var(--surface-1) 58%);
  box-shadow:0 10px 26px color-mix(in srgb,var(--text-primary) 6%,transparent);
}
.syllabus-studio-intro>div:first-child{
  min-width:0;
}
.syllabus-studio-intro h2{
  margin:3px 0 5px;
  color:var(--text-primary);
  font-size:clamp(24px,2.5vw,32px);
  letter-spacing:-.035em;
}
.syllabus-studio-intro>div:first-child>p{
  max-width:720px;
  margin:0;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.5;
}
.syllabus-source-legend{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:12px;
}
.syllabus-studio-intro-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 10px;
  margin-top:14px;
}
.syllabus-studio-intro-actions small{
  max-width:470px;
  color:var(--text-muted);
  font-size:10.5px;
  font-weight:650;
  line-height:1.45;
}
.syllabus-source{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text-secondary);
  font-size:11px;
  font-style:normal;
  font-weight:750;
  line-height:1.1;
  white-space:nowrap;
}
.syllabus-source i{
  font-size:14px;
}
.syllabus-source.is-institution{
  border-color:color-mix(in srgb,#6f50ad 30%,var(--border));
  background:color-mix(in srgb,#6f50ad 9%,var(--surface-1));
  color:color-mix(in srgb,#6f50ad 82%,var(--text-primary));
}
.syllabus-source.is-governance{
  border-color:color-mix(in srgb,var(--accent) 34%,var(--border));
  background:var(--accent-bg);
  color:var(--accent-text);
}
.syllabus-source.is-grading{
  border-color:color-mix(in srgb,#c67920 34%,var(--border));
  background:color-mix(in srgb,#f0a03c 10%,var(--surface-1));
  color:color-mix(in srgb,#995305 88%,var(--text-primary));
}
.syllabus-source.is-weekly{
  border-color:color-mix(in srgb,#159a84 34%,var(--border));
  background:color-mix(in srgb,#159a84 10%,var(--surface-1));
  color:color-mix(in srgb,#0d7463 88%,var(--text-primary));
}
.syllabus-readiness{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-width:0;
  padding:13px;
  border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--surface-1) 88%,transparent);
  backdrop-filter:blur(8px);
}
.syllabus-readiness-score{
  --score-color:var(--accent);
  position:relative;
  display:grid;
  width:72px;
  height:72px;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--score-color) calc(var(--syllabus-score) * 1%),color-mix(in srgb,var(--border) 70%,transparent) 0);
  box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 12%,transparent);
}
.syllabus-readiness-score.is-score-0{--syllabus-score:0}
.syllabus-readiness-score.is-score-10{--syllabus-score:10}
.syllabus-readiness-score.is-score-20{--syllabus-score:20}
.syllabus-readiness-score.is-score-30{--syllabus-score:30}
.syllabus-readiness-score.is-score-40{--syllabus-score:40}
.syllabus-readiness-score.is-score-50{--syllabus-score:50}
.syllabus-readiness-score.is-score-60{--syllabus-score:60}
.syllabus-readiness-score.is-score-70{--syllabus-score:70}
.syllabus-readiness-score.is-score-80{--syllabus-score:80}
.syllabus-readiness-score.is-score-90{--syllabus-score:90}
.syllabus-readiness-score.is-score-100{--syllabus-score:100}
.syllabus-readiness-score::before{
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:var(--surface-1);
  content:"";
}
.syllabus-readiness-score>span{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.syllabus-readiness-score b{
  color:var(--text-primary);
  font-size:16px;
}
.syllabus-readiness-score small{
  color:var(--text-muted);
  font-size:8px;
  font-weight:700;
  text-transform:uppercase;
}
.syllabus-readiness h2{
  margin:2px 0;
  font-size:15px;
  line-height:1.25;
}
.syllabus-readiness-copy{
  min-width:0;
}
.syllabus-readiness-copy>p{
  margin:0;
  color:var(--text-muted);
  font-size:11px;
  line-height:1.45;
}
.syllabus-readiness-groups{
  display:grid;
  gap:5px;
  margin-top:8px;
}
.syllabus-readiness-groups details{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}
.syllabus-readiness-groups summary{
  display:flex;
  min-height:32px;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 8px;
  color:var(--text-secondary);
  font-size:11px;
  font-weight:760;
  cursor:pointer;
}
.syllabus-readiness-groups summary b{
  color:var(--text-primary);
}
.syllabus-readiness-items{
  display:grid;
  gap:5px;
  padding:0 7px 7px;
}
.syllabus-readiness-item{
  display:grid;
  width:100%;
  grid-template-columns:18px minmax(0,1fr) 16px;
  align-items:center;
  gap:7px;
  padding:7px 8px;
  border:0;
  border-radius:8px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font:inherit;
  text-align:left;
}
.syllabus-readiness-item:is(button){
  cursor:pointer;
}
.syllabus-readiness-item:is(button):hover,
.syllabus-readiness-item:is(button):focus-visible{
  background:var(--accent-bg);
  color:var(--accent-text);
}
.syllabus-readiness-item>i:first-child{
  color:#c67920;
  font-size:16px;
}
.syllabus-readiness-item>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.syllabus-readiness-item b{
  color:var(--text-primary);
  font-size:10.5px;
}
.syllabus-readiness-item small{
  color:var(--text-muted);
  font-size:9.5px;
  font-weight:520;
  line-height:1.35;
}
.syllabus-readiness-item em{
  display:inline-flex;
  margin-left:5px;
  padding:1px 4px;
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text-secondary);
  font-size:8.5px;
  font-style:normal;
  font-weight:760;
  white-space:nowrap;
}
.syllabus-readiness-clear{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:7px 8px;
  color:#0d7463;
  font-size:10px;
  font-weight:700;
}
.syllabus-studio-layout{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:18px;
  align-items:start;
  min-width:0;
}
.syllabus-studio-nav{
  position:sticky;
  top:calc(var(--topbar-height) + 16px);
  z-index:1;
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:4px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-1) 96%,transparent);
  box-shadow:0 10px 28px color-mix(in srgb,var(--text-primary) 6%,transparent);
  backdrop-filter:blur(10px);
}
.syllabus-studio-nav button{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px 11px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text-secondary);
  font:inherit;
  font-size:12px;
  font-weight:720;
  text-decoration:none;
  text-align:left;
  cursor:pointer;
}
.syllabus-studio-nav button:hover,
.syllabus-studio-nav button:focus-visible,
.syllabus-studio-nav button.active{
  background:var(--accent-bg);
  color:var(--accent-text);
}
.syllabus-studio-nav i{
  flex:0 0 auto;
  font-size:17px;
}
.syllabus-studio-sections{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:16px;
}
.syllabus-section{
  min-width:0;
  scroll-margin-top:calc(var(--topbar-height) + 18px);
  border-top:3px solid color-mix(in srgb,var(--accent) 65%,var(--border));
}
.syllabus-section:nth-child(3n+2){
  border-top-color:#159a84;
}
.syllabus-section:nth-child(3n){
  border-top-color:#7654b3;
}
.syllabus-section>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.syllabus-section>header>div{
  min-width:0;
}
.syllabus-section>header>div:last-child{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.syllabus-section>header h3{
  margin:4px 0 6px;
  color:var(--text-primary);
  font-size:22px;
  letter-spacing:-.02em;
}
.syllabus-section>header p{
  max-width:760px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.55;
}
.syllabus-section label>span,
.syllabus-outcomes>span{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.syllabus-section label>span small,
.syllabus-outcomes>span small{
  color:var(--text-muted);
  font-size:10px;
  font-weight:600;
}
.syllabus-section textarea{
  line-height:1.55;
  resize:vertical;
}
.syllabus-section :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  box-sizing:border-box;
  width:100%;
  min-width:0;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.syllabus-section :is(input:not([type="checkbox"]):not([type="radio"]),select){
  min-height:48px;
  padding:10px 13px;
}
.syllabus-section textarea{
  min-height:118px;
  padding:12px 13px;
}
.syllabus-section :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):hover{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border-strong));
}
.syllabus-section :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:var(--accent);
  outline:0;
  background:color-mix(in srgb,var(--accent-bg) 18%,var(--surface-1));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);
}
.syllabus-section.is-locked{
  background:
    linear-gradient(145deg,color-mix(in srgb,#7654b3 5%,transparent),transparent 48%),
    var(--surface-1);
}
.syllabus-identity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.syllabus-identity-grid>span{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:10px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface-2);
}
.syllabus-identity-grid>span>i{
  display:grid;
  flex:0 0 auto;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:9px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:16px;
}
.syllabus-identity-grid>span>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}
.syllabus-identity-grid small{
  color:var(--text-muted);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
}
.syllabus-identity-grid b{
  overflow-wrap:anywhere;
  font-size:12px;
  line-height:1.4;
}
.syllabus-teaching-team{
  margin-top:18px;
}
.syllabus-teaching-team h4,
.syllabus-institution-policies>h4{
  margin:0 0 10px;
  font-size:13px;
}
.syllabus-teaching-team>span{
  display:inline-flex;
  max-width:100%;
  align-items:center;
  gap:10px;
  margin:0 8px 8px 0;
  padding:9px 11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
}
.syllabus-teaching-team>span>i{
  color:var(--accent-text);
  font-size:22px;
}
.syllabus-teaching-team>span>span{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.syllabus-teaching-team small{
  overflow-wrap:anywhere;
  color:var(--text-muted);
  font-size:10px;
}
.syllabus-lead-instructor{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-bottom:18px;
  padding:15px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
  border-radius:14px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 58%,transparent),transparent 64%),
    var(--surface-2);
}
.syllabus-lead-instructor-mark{
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  border-radius:14px;
  background:var(--accent);
  color:#fff;
  box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 20%,transparent);
}
.syllabus-lead-instructor-mark i{
  font-size:26px;
}
.syllabus-lead-instructor>div{
  min-width:0;
}
.syllabus-lead-instructor small{
  color:var(--text-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.syllabus-lead-instructor h4{
  margin:3px 0 4px;
  color:var(--text-primary);
  font-size:17px;
}
.syllabus-lead-instructor p{
  margin:0;
  overflow-wrap:anywhere;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.45;
}
.syllabus-instructor-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.syllabus-objectives{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.syllabus-objective-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 36px;
  gap:14px;
  align-items:start;
  padding:17px;
  border:1px solid var(--border);
  border-radius:14px;
  background:
    linear-gradient(115deg,color-mix(in srgb,var(--accent-bg) 42%,transparent),transparent 38%),
    var(--surface-2);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.syllabus-objective-row:focus-within{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
  box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 10%,transparent);
  transform:translateY(-1px);
}
.syllabus-objective-number{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:9px;
  background:var(--accent);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.syllabus-objective-fields{
  display:grid;
  grid-template-columns:minmax(130px,180px) minmax(0,1fr);
  gap:13px;
  min-width:0;
}
.syllabus-objective-fields label,
.syllabus-outcomes,
.syllabus-grading-layout label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
}
.syllabus-objective-fields .is-wide{
  grid-column:1/-1;
}
.syllabus-objective-description textarea{
  min-height:136px;
}
.syllabus-add-objective{
  margin-top:10px;
}
.syllabus-outcomes{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:20px;
}
.syllabus-outcomes textarea{
  min-height:220px;
}
.syllabus-grading-layout{
  display:grid;
  grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);
  gap:20px;
  align-items:start;
}
.syllabus-grading-layout>div:last-child{
  display:flex;
  flex-direction:column;
  gap:13px;
  align-items:stretch;
  padding:17px;
  border:1px solid var(--border);
  border-radius:13px;
  background:
    linear-gradient(135deg,color-mix(in srgb,#c67920 7%,transparent),transparent 58%),
    var(--surface-2);
}
.syllabus-grading-layout label{
  width:100%;
}
.syllabus-grading-layout textarea{
  min-height:250px;
}
.syllabus-grading-layout>div:last-child>.btn-ghost{
  align-self:flex-start;
}
.syllabus-grading-breakdown{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-2);
}
.syllabus-grading-breakdown>div,
.syllabus-grading-breakdown>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 13px;
  border-bottom:1px solid var(--border);
}
.syllabus-grading-breakdown>div span{
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--text-secondary);
}
.syllabus-grading-breakdown>div b{
  color:var(--accent-text);
}
.syllabus-grading-breakdown>footer{
  border:0;
  background:color-mix(in srgb,var(--accent) 8%,var(--surface-1));
  font-weight:800;
}
.syllabus-policy-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.syllabus-policy-fields .attendance-policy-editor{
  margin:0;
}
.syllabus-institution-policies{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--border);
}
.syllabus-institution-policies>article{
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:
    linear-gradient(135deg,color-mix(in srgb,#7654b3 5%,transparent),transparent 60%),
    var(--surface-2);
}
.syllabus-institution-policies>article+article{
  margin-top:9px;
}
.syllabus-institution-policies article header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.syllabus-institution-policies article h4{
  margin:0;
  font-size:13px;
}
.syllabus-institution-policies article p{
  margin:9px 0 0;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.55;
}
.syllabus-governed-resources{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--border);
}
.syllabus-governed-resources>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.syllabus-governed-resources h4{
  margin:4px 0 5px;
  color:var(--text-primary);
  font-size:16px;
}
.syllabus-governed-resources p{
  margin:0;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.5;
}
.syllabus-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.syllabus-resource-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  min-width:0;
  padding:13px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--text-primary);
  text-decoration:none;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.syllabus-resource-card:hover,
.syllabus-resource-card:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
  box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 10%,transparent);
  transform:translateY(-1px);
}
.syllabus-resource-card>span:first-child{
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:9px;
  background:var(--accent-bg);
  color:var(--accent-text);
}
.syllabus-resource-card>span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:4px;
}
.syllabus-resource-card b{
  font-size:12px;
  line-height:1.35;
}
.syllabus-resource-card small{
  color:var(--text-secondary);
  font-size:10.5px;
  line-height:1.45;
}
.syllabus-resource-card em{
  overflow:hidden;
  color:var(--accent-text);
  font-size:9px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.syllabus-week-plan{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.syllabus-week-plan>li{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-2);
}
.syllabus-week-number{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:10px;
  background:color-mix(in srgb,#159a84 12%,var(--surface-1));
  color:#0d7463;
  font-size:13px;
  font-weight:850;
}
.syllabus-week-plan header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.syllabus-week-plan-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
}
.syllabus-week-plan-actions .btn-ghost{
  min-height:32px!important;
  padding:6px 9px;
  font-size:10px!important;
}
.syllabus-week-plan header small{
  color:var(--text-muted);
  font-size:10px;
  font-weight:700;
}
.syllabus-week-plan h4{
  margin:2px 0 0;
  font-size:14px;
}
.syllabus-week-plan p{
  margin:7px 0 0;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.5;
}
.syllabus-week-activities{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.syllabus-week-activities span{
  padding:4px 7px;
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-muted);
  font-size:9px;
  font-weight:700;
}
.syllabus-week-editor{
  width:min(980px,calc(100vw - 34px));
}
.syllabus-week-editor .platform-form-body{
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,#159a84 9%,transparent),transparent 32%),
    var(--surface-1);
}
.syllabus-week-editor-intro{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:4px 2px 16px;
}
.syllabus-week-editor-number{
  display:grid;
  width:56px;
  height:56px;
  place-items:center;
  border-radius:16px;
  background:#159a84;
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 11px 24px color-mix(in srgb,#159a84 25%,transparent);
}
.syllabus-week-editor-intro h3{
  margin:3px 0 4px;
  color:var(--text-primary);
  font-size:21px;
}
.syllabus-week-editor-intro p{
  max-width:720px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.5;
}
.syllabus-week-editor-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:15px;
}
.syllabus-week-editor-facts>span{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  column-gap:10px;
  align-items:center;
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface-2);
}
.syllabus-week-editor-facts i{
  grid-row:1/3;
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:9px;
  background:color-mix(in srgb,#159a84 12%,var(--surface-1));
  color:#0d7463;
  font-size:17px;
}
.syllabus-week-editor-facts b{
  font-size:11px;
}
.syllabus-week-editor-facts small{
  overflow-wrap:anywhere;
  color:var(--text-muted);
  font-size:10px;
}
.syllabus-week-editor-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.syllabus-week-editor-grid .is-wide{
  grid-column:1/-1;
}
.syllabus-week-editor-grid label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:7px;
  color:var(--text-secondary);
  font-weight:760;
}
.syllabus-week-editor-grid label>span{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.syllabus-week-editor-grid label small{
  color:var(--text-muted);
  font-weight:600;
}
.syllabus-week-editor-grid :is(input,textarea){
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
}
.syllabus-week-editor-grid input{
  min-height:48px;
}
.syllabus-week-editor-grid textarea{
  min-height:132px;
  line-height:1.55;
  resize:vertical;
}
.syllabus-week-editor-grid :is(input,textarea):focus{
  border-color:#159a84;
  outline:0;
  box-shadow:0 0 0 4px color-mix(in srgb,#159a84 16%,transparent);
}
.syllabus-week-editor-status{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:15px;
  padding:11px 12px;
  border-left:4px solid #159a84;
  border-radius:9px;
  background:color-mix(in srgb,#159a84 8%,var(--surface-2));
  color:var(--text-secondary);
  font-size:10.5px;
  line-height:1.45;
}
.syllabus-week-editor-status i{
  flex:0 0 auto;
  color:#0d7463;
  font-size:17px;
}
.syllabus-week-editor-status.is-error{
  border-left-color:var(--danger-text);
  background:var(--danger-bg);
  color:var(--danger-text);
}
.syllabus-week-editor-status.is-error i{
  color:var(--danger-text);
}
.syllabus-empty-source{
  display:flex;
  align-items:center;
  gap:13px;
  padding:18px;
  border:1px dashed var(--border-strong);
  border-radius:12px;
  background:var(--surface-2);
}
.syllabus-empty-source>i{
  color:var(--text-muted);
  font-size:28px;
}
.syllabus-empty-source>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.syllabus-empty-source span{
  color:var(--text-secondary);
  line-height:1.4;
}
.syllabus-draft-state,
.syllabus-publication-state{
  --publication-color:#7654b3;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) minmax(190px,230px);
  gap:12px;
  align-items:start;
  min-width:0;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--publication-color) 32%,var(--border));
  border-radius:13px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--publication-color) 12%,transparent),transparent 35%),
    var(--surface-1);
  box-shadow:0 7px 20px color-mix(in srgb,var(--text-primary) 5%,transparent);
}
.syllabus-draft-state.is-current{
  --publication-color:#1f67ad;
}
.syllabus-draft-state.is-stale{
  --publication-color:#c67920;
}
.syllabus-draft-state.is-not_generated{
  --publication-color:#7654b3;
}
.syllabus-publication-state.is-published{
  --publication-color:#0d8a73;
}
.syllabus-publication-state.is-draft_changes{
  --publication-color:#c67920;
}
.syllabus-publication-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:12px;
  background:color-mix(in srgb,var(--publication-color) 12%,var(--surface-1));
  color:var(--publication-color);
  font-size:22px;
}
.syllabus-publication-copy{
  min-width:0;
}
.syllabus-publication-copy h2{
  margin:2px 0 3px;
  color:var(--text-primary);
  font-size:16px;
  letter-spacing:-.015em;
}
.syllabus-publication-copy>p{
  max-width:780px;
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.45;
}
.syllabus-publication-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.syllabus-publication-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 7px;
  border-radius:8px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:10px;
  font-weight:700;
}
.syllabus-publication-meta i{
  color:var(--publication-color);
  font-size:14px;
}
.syllabus-publication-actions{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
}
.syllabus-publication-actions button{
  min-height:36px;
  padding:7px 10px;
  font-size:11px;
}
.syllabus-publication-actions button{
  width:100%;
  justify-content:center;
}
.syllabus-publication-actions button:disabled{
  cursor:not-allowed;
  opacity:.55;
}
.syllabus-publication-actions .syllabus-publish-draft{
  margin-top:4px;
  background:linear-gradient(135deg,#0d8a73,#08705e);
  border-color:#0d8a73;
}
.syllabus-publication-actions .syllabus-delete-draft{
  border-color:color-mix(in srgb,var(--danger-text) 30%,var(--border));
  color:var(--danger-text);
}
.syllabus-publication-actions .syllabus-delete-draft:hover{
  background:var(--danger-bg);
}
.syllabus-publication-actions>small{
  display:flex;
  align-items:flex-start;
  gap:5px;
  color:var(--text-muted);
  font-size:9.5px;
  font-weight:650;
  line-height:1.4;
}
.syllabus-publication-actions>small i{
  flex:0 0 auto;
  color:var(--publication-color);
  font-size:13px;
}
.syllabus-revision-history{
  max-width:560px;
  margin-top:8px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-2);
}
.syllabus-revision-history summary{
  display:flex;
  min-height:34px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 9px;
  color:var(--text-secondary);
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}
.syllabus-revision-history summary span{
  display:flex;
  align-items:center;
  gap:6px;
}
.syllabus-revision-history summary b{
  display:grid;
  min-width:24px;
  height:22px;
  place-items:center;
  border-radius:999px;
  background:var(--surface-1);
  color:var(--text-primary);
  font-size:10px;
}
.syllabus-revision-history ol{
  margin:0;
  padding:0 7px 7px;
  list-style:none;
}
.syllabus-revision-history li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 9px;
  border-radius:8px;
  background:var(--surface-1);
}
.syllabus-revision-history li+li{
  margin-top:5px;
}
.syllabus-revision-history li>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.syllabus-revision-history li b{
  font-size:10.5px;
}
.syllabus-revision-history li small{
  overflow-wrap:anywhere;
  color:var(--text-muted);
  font-size:9px;
}
.syllabus-revision-history li>.syllabus-version-row-actions{
  display:flex;
  flex:0 0 auto;
  flex-direction:row;
  gap:5px;
}
.syllabus-version-row-actions .icon-btn{
  width:32px;
  height:32px;
}
.syllabus-version-row-actions .syllabus-delete-icon{
  color:var(--danger-text);
}
.syllabus-version-row-actions .syllabus-delete-icon:hover{
  background:var(--danger-bg);
}
.syllabus-pdf-callout{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:20px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));
  border-radius:13px;
  background:linear-gradient(135deg,var(--accent-bg),var(--surface-1));
}
.syllabus-pdf-callout>i{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:32px;
}
.syllabus-pdf-callout>div{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  gap:3px;
}
.syllabus-pdf-callout span{
  color:var(--text-secondary);
  line-height:1.4;
}
.syllabus-pdf-callout-actions{
  display:flex;
  flex:0 0 auto;
  gap:8px;
}
.syllabus-pdf-preview{
  width:min(1180px,calc(100vw - 28px));
}
.syllabus-pdf-preview .platform-form-body{
  display:flex;
  min-height:min(760px,calc(100vh - 190px));
  flex-direction:column;
  gap:10px;
  padding:12px;
}
.syllabus-pdf-preview-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface-2);
}
.syllabus-pdf-preview-identity{
  display:flex;
  align-items:center;
  min-width:210px;
  flex:1;
  gap:9px;
}
.syllabus-pdf-preview-identity>span:first-child{
  display:grid;
  width:34px;
  height:34px;
  flex:0 0 auto;
  place-items:center;
  border-radius:10px;
  background:var(--accent-bg);
  color:var(--accent-text);
}
.syllabus-pdf-preview-identity>span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:1px;
}
.syllabus-pdf-preview-identity b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.syllabus-pdf-preview-identity small{
  color:var(--text-secondary);
}
.syllabus-pdf-preview-navigation,
.syllabus-pdf-preview-zoom{
  display:flex;
  align-items:center;
  gap:5px;
  padding:3px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
}
.syllabus-pdf-preview-navigation>span{
  min-width:92px;
  color:var(--text-secondary);
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.syllabus-pdf-preview-toolbar .icon-btn{
  width:30px;
  height:30px;
  min-height:30px;
}
.syllabus-pdf-zoom-value{
  min-width:48px;
  padding:4px 6px;
  border:0;
  background:transparent;
  color:var(--text-primary);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.syllabus-pdf-canvas-viewer{
  position:relative;
  width:100%;
  min-height:0;
  flex:1;
  overflow:auto;
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:linear-gradient(145deg,#dfe4ea,#eef1f4);
  overscroll-behavior:contain;
  scroll-behavior:smooth;
}
.syllabus-pdf-pages{
  display:flex;
  min-width:max-content;
  flex-direction:column;
  align-items:center;
  gap:20px;
  padding:18px;
}
.syllabus-pdf-page{
  position:relative;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(19,50,77,.16);
  border-radius:4px;
  background:#fff;
  box-shadow:0 12px 32px rgba(18,42,67,.18);
}
.syllabus-pdf-page canvas{
  display:block;
  background:#fff;
}
.syllabus-pdf-page>span{
  position:absolute;
  right:10px;
  bottom:8px;
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:999px;
  background:rgba(15,48,76,.76);
  color:#fff;
  font-size:10px;
  font-weight:800;
  opacity:0;
  transition:opacity .16s ease;
}
.syllabus-pdf-page:hover>span{
  opacity:1;
}
.syllabus-pdf-loading{
  position:absolute;
  z-index:2;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:7px;
  padding:30px;
  background:rgba(239,243,247,.94);
  color:var(--text-secondary);
  text-align:center;
}
.syllabus-pdf-loading[hidden]{
  display:none;
}
.syllabus-pdf-loading>i{
  color:var(--accent-text);
  font-size:28px;
  animation:syllabus-pdf-spin .9s linear infinite;
}
.syllabus-pdf-loading b{
  color:var(--text-primary);
  font-size:16px;
}
.syllabus-pdf-loading.is-error>i{
  color:var(--danger);
  animation:none;
}
@keyframes syllabus-pdf-spin{
  to{transform:rotate(360deg)}
}
.syllabus-pdf-loading .btn-accent{
  margin-top:8px;
}

@container app-content (max-width:1100px){
  .syllabus-studio-intro{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-readiness{
    grid-template-columns:76px minmax(0,1fr);
  }
  .syllabus-readiness-score{
    width:72px;
    height:72px;
  }
  .syllabus-studio-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-studio-nav{
    position:sticky;
    top:calc(var(--topbar-height) + 8px);
    z-index:2;
    flex-direction:row;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  .syllabus-studio-nav button{
    flex:0 0 auto;
  }
}

@container app-content (max-width:760px){
  .course-governance-editor .course-shell-head>div:last-child{
    width:100%;
    justify-content:flex-start;
  }
  .syllabus-studio-intro{
    padding:15px;
  }
  .syllabus-readiness{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-readiness-score{
    width:68px;
    height:68px;
  }
  .syllabus-draft-state,
  .syllabus-publication-state{
    grid-template-columns:42px minmax(0,1fr);
    padding:13px;
  }
  .syllabus-publication-icon{
    width:40px;
    height:40px;
    border-radius:11px;
    font-size:21px;
  }
  .syllabus-publication-actions{
    grid-column:2;
    flex-flow:row wrap;
  }
  .syllabus-publication-actions button{
    width:auto;
    flex:1 1 210px;
  }
  .syllabus-publication-actions>small{
    flex-basis:100%;
  }
  .syllabus-identity-grid,
  .syllabus-policy-fields,
  .syllabus-instructor-fields,
  .syllabus-resource-grid,
  .syllabus-grading-layout,
  .syllabus-objective-fields{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-objective-fields .is-wide{
    grid-column:auto;
  }
  .syllabus-section>header,
  .syllabus-governed-resources>header,
  .syllabus-week-plan header{
    flex-direction:column;
  }
  .syllabus-section>header>div:last-child{
    justify-content:flex-start;
  }
  .syllabus-objective-row{
    grid-template-columns:30px minmax(0,1fr) 34px;
    padding:11px;
  }
  .syllabus-pdf-callout{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .syllabus-pdf-callout .btn-accent{
    width:100%;
    justify-content:center;
  }
  .syllabus-pdf-callout-actions{
    width:100%;
    flex-wrap:wrap;
  }
  .syllabus-pdf-callout-actions button{
    flex:1 1 180px;
  }
  .syllabus-lead-instructor{
    grid-template-columns:46px minmax(0,1fr);
  }
  .syllabus-lead-instructor>.syllabus-source{
    grid-column:2;
  }
}

@media (max-width:620px){
  .syllabus-studio-nav{
    position:static;
    z-index:auto;
  }
  .syllabus-studio-intro,
  .syllabus-section{
    border-radius:14px;
  }
  .syllabus-readiness-items{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-draft-state,
  .syllabus-publication-state{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-publication-actions{
    grid-column:auto;
  }
  .syllabus-pdf-preview{
    width:calc(100vw - 16px);
  }
  .syllabus-pdf-preview .platform-form-body{
    min-height:calc(100vh - 170px);
    padding:8px;
  }
  .syllabus-pdf-preview-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .syllabus-pdf-preview-navigation,
  .syllabus-pdf-preview-zoom{
    justify-content:center;
  }
  .syllabus-pdf-preview-toolbar>.btn-accent{
    justify-content:center;
  }
  .syllabus-week-plan>li{
    grid-template-columns:32px minmax(0,1fr);
    padding:10px;
  }
  .syllabus-week-number{
    width:30px;
    height:30px;
  }
  .syllabus-studio-intro-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .syllabus-studio-intro-actions .btn-accent{
    justify-content:center;
    width:100%;
  }
  .syllabus-week-plan-actions{
    align-items:flex-start;
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .syllabus-week-editor{
    width:calc(100vw - 16px);
  }
  .syllabus-week-editor-grid,
  .syllabus-week-editor-facts{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-week-editor-grid .is-wide{
    grid-column:auto;
  }
  .syllabus-week-editor-intro{
    grid-template-columns:46px minmax(0,1fr);
  }
  .syllabus-week-editor-number{
    width:44px;
    height:44px;
    border-radius:13px;
    font-size:18px;
  }
}

.course-grading-studio{
  display:grid;
  gap:14px;
  width:min(1180px,100%);
  margin:0 auto;
}
.course-grading-studio-intro{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) minmax(260px,360px);
  align-items:center;
  gap:18px;
  padding:20px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent-bg) 74%,transparent),transparent 38%),
    linear-gradient(135deg,var(--surface-1),color-mix(in srgb,var(--surface-2) 86%,var(--accent-bg)));
  box-shadow:0 14px 34px rgba(28,45,70,.08);
}
.course-grading-studio-intro>span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:17px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:28px;
}
.course-grading-studio-intro h2{
  margin:3px 0 5px;
  font-size:clamp(23px,2.6vw,34px);
  letter-spacing:-.025em;
}
.course-grading-studio-intro p{
  max-width:650px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.55;
}
.course-grading-studio-intro aside{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px;
  border:1px solid color-mix(in srgb,#15936f 28%,var(--border));
  border-radius:13px;
  background:color-mix(in srgb,#eaf8f3 72%,var(--surface-1));
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.5;
}
.course-grading-studio-intro aside i{
  flex:0 0 auto;
  color:#0d8062;
  font-size:20px;
}
.course-grading-studio-intro aside b{
  display:block;
  color:var(--text);
}
.course-grading-studio .syllabus-grade-editor{
  width:100%;
  margin:0;
  border-radius:16px;
  box-shadow:0 8px 26px rgba(28,45,70,.055);
}
.course-grading-studio-status{
  min-height:22px;
  margin:0;
  color:var(--danger,#b42318);
  font-weight:700;
}

@media (max-width:900px){
  .course-grading-studio-intro{
    grid-template-columns:52px minmax(0,1fr);
  }
  .course-grading-studio-intro>span{
    width:52px;
    height:52px;
  }
  .course-grading-studio-intro aside{
    grid-column:1/-1;
  }
}

@media (max-width:560px){
  .course-grading-studio-intro{
    grid-template-columns:minmax(0,1fr);
    padding:16px;
  }
  .course-grading-studio-intro aside{
    grid-column:auto;
  }
}

/* Course Governance · Objectives & outcomes */
.course-learning-design{
  display:grid;
  gap:18px;
  width:min(1360px,100%);
  min-width:0;
  margin:0 auto;
}
.learning-design-intro{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:22px 24px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 0,color-mix(in srgb,var(--accent) 17%,transparent),transparent 38%),
    linear-gradient(135deg,var(--surface-1),color-mix(in srgb,var(--surface-2) 78%,var(--accent-bg)));
  box-shadow:0 14px 38px rgba(25,48,77,.075);
}
.learning-design-intro>div:first-child{
  min-width:0;
}
.learning-design-intro h2{
  max-width:820px;
  margin:5px 0 6px;
  color:var(--text-primary);
  font-size:clamp(25px,2.7vw,38px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.learning-design-intro p{
  max-width:840px;
  margin:0;
  color:var(--text-secondary);
  font-size:15px;
  line-height:1.6;
}
.learning-design-intro-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
}
.learning-design-intro-actions .btn-ghost{
  min-height:46px;
  white-space:nowrap;
}
.learning-design-alert{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:15px 17px;
  border:1px solid color-mix(in srgb,var(--danger,#b42318) 42%,var(--border));
  border-left:5px solid var(--danger,#b42318);
  border-radius:14px;
  background:color-mix(in srgb,#fff1f0 78%,var(--surface-1));
  color:var(--danger,#9e231a);
  box-shadow:0 10px 28px rgba(158,35,26,.1);
}
.learning-design-alert[hidden]{
  display:none;
}
.learning-design-alert>i{
  flex:0 0 auto;
  margin-top:1px;
  font-size:23px;
}
.learning-design-alert b,
.learning-design-alert small{
  display:block;
}
.learning-design-alert b{
  margin-bottom:3px;
  font-size:14px;
}
.learning-design-alert small{
  color:color-mix(in srgb,var(--danger,#9e231a) 78%,var(--text-secondary));
  font-size:13px;
  line-height:1.5;
}
.learning-design-version-note,
.learning-design-insight{
  display:flex;
  min-width:0;
  align-items:center;
  gap:13px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,#7c4dba 28%,var(--border));
  border-radius:15px;
  background:color-mix(in srgb,#f5effd 62%,var(--surface-1));
}
.learning-design-version-note.is-published{
  border-color:color-mix(in srgb,#0f9474 30%,var(--border));
  background:color-mix(in srgb,#eaf8f3 66%,var(--surface-1));
}
.learning-design-version-note>i,
.learning-design-insight>i{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:color-mix(in srgb,#7c4dba 13%,var(--surface-1));
  color:#7143ad;
  font-size:21px;
}
.learning-design-version-note.is-published>i{
  background:color-mix(in srgb,#0f9474 13%,var(--surface-1));
  color:#0b8065;
}
.learning-design-version-note>span,
.learning-design-insight>span{
  min-width:0;
  flex:1;
}
.learning-design-version-note b,
.learning-design-version-note small,
.learning-design-insight b,
.learning-design-insight small{
  display:block;
}
.learning-design-version-note b,
.learning-design-insight b{
  color:var(--text-primary);
  font-size:14px;
}
.learning-design-version-note small,
.learning-design-insight small{
  margin-top:2px;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.45;
}
.learning-design-version-note>a{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:13px;
  font-weight:750;
  text-decoration:none;
}
.learning-design-version-note>a:hover{
  text-decoration:underline;
}
.learning-design-insight{
  border-color:color-mix(in srgb,#c87914 38%,var(--border));
  background:color-mix(in srgb,#fff4df 72%,var(--surface-1));
}
.learning-design-insight>i{
  background:color-mix(in srgb,#c87914 15%,var(--surface-1));
  color:#a9600b;
}
.learning-design-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.learning-design-kpis article{
  display:flex;
  min-width:0;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface-1);
  box-shadow:0 8px 24px rgba(25,48,77,.055);
}
.learning-design-kpis article>i{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:22px;
}
.learning-design-kpis article:nth-child(2)>i{
  background:color-mix(in srgb,#7c4dba 13%,var(--surface-1));
  color:#7143ad;
}
.learning-design-kpis article:nth-child(3)>i{
  background:color-mix(in srgb,#0f9474 13%,var(--surface-1));
  color:#0b8065;
}
.learning-design-kpis article:nth-child(4)>i{
  background:color-mix(in srgb,#c87914 14%,var(--surface-1));
  color:#a9600b;
}
.learning-design-kpis b,
.learning-design-kpis small{
  display:block;
}
.learning-design-kpis b{
  color:var(--text-primary);
  font-size:22px;
  line-height:1.05;
}
.learning-design-kpis small{
  margin-top:4px;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.3;
}
.learning-design-jump{
  display:flex;
  min-width:0;
  gap:8px;
  padding:8px;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-1);
  scrollbar-width:thin;
}
.learning-design-jump a{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 14px;
  border-radius:10px;
  color:var(--text-secondary);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.learning-design-jump a:hover{
  background:var(--accent-bg);
  color:var(--accent-text);
}
.learning-design-section{
  min-width:0;
  scroll-margin-top:18px;
  padding:22px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface-1);
  box-shadow:0 10px 28px rgba(25,48,77,.055);
}
.learning-design-section>header{
  display:flex;
  min-width:0;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.learning-design-section>header>div{
  min-width:0;
}
.learning-design-section>header h3{
  margin:4px 0 4px;
  color:var(--text-primary);
  font-size:clamp(21px,2.1vw,29px);
  letter-spacing:-.025em;
}
.learning-design-section>header p{
  max-width:780px;
  margin:0;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.55;
}
.learning-design-section>header>.btn-accent,
.learning-design-section-actions .btn-accent{
  flex:0 0 auto;
  min-height:44px;
}
.learning-design-section>header>.learning-design-section-actions{
  display:flex;
  min-width:auto;
  flex:0 0 auto;
  align-items:center;
  gap:9px;
}
.learning-design-section-actions .learning-design-guide-button{
  min-height:44px;
  border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
  background:color-mix(in srgb,var(--accent-bg) 48%,var(--surface-1));
  color:var(--accent-text);
  white-space:nowrap;
}
.learning-design-section-actions .learning-design-guide-button:hover{
  border-color:color-mix(in srgb,var(--accent) 52%,var(--border));
  background:var(--accent-bg);
}
.learning-design-list{
  display:grid;
  gap:11px;
}
.learning-objective-card,
.learning-outcome-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:15px;
  background:color-mix(in srgb,var(--surface-2) 28%,var(--surface-1));
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.learning-objective-card[open],
.learning-outcome-card[open]{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border));
  background:var(--surface-1);
  box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 9%,transparent);
}
.learning-objective-card>summary,
.learning-outcome-card>summary{
  display:grid;
  min-width:0;
  min-height:78px;
  grid-template-columns:38px 70px minmax(210px,1fr) minmax(190px,auto) 20px;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  cursor:pointer;
  list-style:none;
}
.learning-outcome-card>summary{
  grid-template-columns:38px 70px minmax(210px,1fr) 20px;
}
.learning-objective-card>summary::-webkit-details-marker,
.learning-outcome-card>summary::-webkit-details-marker{
  display:none;
}
.learning-objective-card>summary:focus-visible,
.learning-outcome-card>summary:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);
  outline-offset:-3px;
}
.learning-objective-card>summary>.ti-chevron-down,
.learning-outcome-card>summary>.ti-chevron-down{
  color:var(--text-muted);
  transition:transform .18s ease;
}
.learning-objective-card[open]>summary>.ti-chevron-down,
.learning-outcome-card[open]>summary>.ti-chevron-down{
  transform:rotate(180deg);
}
.learning-design-order{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:11px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:12px;
  font-weight:800;
}
.learning-design-code{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));
  border-radius:10px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:13px;
  font-weight:850;
  letter-spacing:.04em;
}
.learning-design-code.is-outcome{
  border-color:color-mix(in srgb,#7c4dba 34%,var(--border));
  background:color-mix(in srgb,#7c4dba 11%,var(--surface-1));
  color:#7143ad;
}
.learning-design-card-copy{
  display:block;
  min-width:0;
}
.learning-design-card-copy b,
.learning-design-card-copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.learning-design-card-copy b{
  color:var(--text-primary);
  font-size:14px;
  line-height:1.35;
  white-space:nowrap;
}
.learning-design-card-copy small{
  display:-webkit-box;
  margin-top:3px;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.learning-design-evidence{
  display:flex;
  min-width:0;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.learning-design-evidence>span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:10px;
  font-weight:700;
  line-height:1.15;
  white-space:nowrap;
}
.learning-design-evidence>span.is-bank{
  border-color:color-mix(in srgb,#0f9474 27%,var(--border));
  color:#0b8065;
}
.learning-design-evidence>span.is-quiz,
.learning-design-evidence>span.is-exam{
  border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
  color:var(--accent-text);
}
.learning-design-evidence>span.is-empty{
  color:var(--text-muted);
}
.learning-design-editor{
  display:grid;
  gap:18px;
  padding:18px;
  border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--surface-2) 34%,var(--surface-1));
}
.learning-design-writing-grid{
  display:grid;
  grid-template-columns:minmax(130px,180px) minmax(250px,1fr);
  gap:14px;
}
.learning-design-writing-grid.is-outcome{
  grid-template-columns:minmax(130px,180px) minmax(0,1fr);
}
.learning-design-writing-grid label{
  display:grid;
  min-width:0;
  align-content:start;
  gap:7px;
}
.learning-design-writing-grid label.is-wide{
  grid-column:1/-1;
}
.learning-design-writing-grid label>span{
  color:var(--text-primary);
  font-size:12px;
  font-weight:750;
}
.learning-design-writing-grid label>span small{
  color:var(--text-muted);
  font-weight:500;
}
.learning-design-writing-grid input,
.learning-design-writing-grid textarea{
  width:100%;
  min-width:0;
  border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));
  border-radius:12px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
}
.learning-design-writing-grid input{
  min-height:48px;
  padding:11px 13px;
}
.learning-design-writing-grid textarea{
  min-height:128px;
  padding:13px 14px;
  line-height:1.55;
  resize:vertical;
}
.learning-design-writing-grid input:focus,
.learning-design-writing-grid textarea:focus{
  border-color:var(--accent);
  outline:3px solid color-mix(in srgb,var(--accent) 14%,transparent);
}
.learning-design-alignment-editor{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:14px;
}
.learning-design-alignment-editor>div{
  min-width:0;
  padding:15px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-1);
}
.learning-design-alignment-editor h4{
  margin:3px 0 12px;
  color:var(--text-primary);
  font-size:14px;
}
.learning-design-check-list{
  display:grid;
  gap:7px;
}
.learning-design-check{
  display:grid;
  min-width:0;
  grid-template-columns:20px minmax(0,1fr);
  align-items:flex-start;
  gap:9px;
  padding:9px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface-2) 34%,var(--surface-1));
  cursor:pointer;
}
.learning-design-check:has(input:checked){
  border-color:color-mix(in srgb,#7c4dba 38%,var(--border));
  background:color-mix(in srgb,#7c4dba 9%,var(--surface-1));
}
.learning-design-check input{
  width:18px;
  height:18px;
  margin:1px 0 0;
  accent-color:#7c4dba;
}
.learning-design-check b,
.learning-design-check small{
  display:block;
}
.learning-design-check b{
  color:var(--text-primary);
  font-size:12px;
}
.learning-design-check small{
  display:-webkit-box;
  margin-top:2px;
  overflow:hidden;
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.learning-design-week-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(126px,1fr));
  gap:7px;
}
.learning-design-week-check{
  display:grid;
  min-width:0;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface-2) 34%,var(--surface-1));
  cursor:pointer;
}
.learning-design-week-check:has(input:checked){
  border-color:color-mix(in srgb,#0f9474 38%,var(--border));
  background:color-mix(in srgb,#0f9474 8%,var(--surface-1));
}
.learning-design-week-check input{
  width:17px;
  height:17px;
  margin:0;
  accent-color:#0f9474;
}
.learning-design-week-check span{
  min-width:0;
}
.learning-design-week-check b,
.learning-design-week-check small{
  display:block;
}
.learning-design-week-check b{
  color:var(--text-primary);
  font-size:11px;
}
.learning-design-week-check small{
  overflow:hidden;
  color:var(--text-muted);
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.learning-design-empty-inline{
  margin:0;
  padding:10px;
  border-radius:10px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:11px;
}
.learning-design-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.learning-design-card-actions>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.learning-design-card-actions button{
  min-height:42px;
}
.btn-danger-outline{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid color-mix(in srgb,var(--danger,#b42318) 38%,var(--border));
  border-radius:10px;
  background:var(--surface-1);
  color:var(--danger,#b42318);
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.btn-danger-outline:hover{
  background:color-mix(in srgb,#fff1f0 82%,var(--surface-1));
}
.learning-design-matrix{
  display:grid;
  gap:9px;
}
.learning-design-matrix-row{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(180px,1.1fr) minmax(160px,1fr) minmax(150px,.85fr) minmax(190px,1.1fr);
  align-items:center;
  gap:12px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:13px;
  background:color-mix(in srgb,var(--surface-2) 32%,var(--surface-1));
}
.learning-design-matrix-row>div{
  min-width:0;
}
.learning-design-matrix-row>div>small{
  display:block;
  margin-bottom:6px;
  color:var(--text-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.learning-design-matrix-row>div>p{
  display:flex;
  min-width:0;
  flex-wrap:wrap;
  gap:5px;
  margin:0;
}
.learning-design-matrix-row>div>em{
  color:var(--text-muted);
  font-size:11px;
  font-style:normal;
}
.learning-design-matrix-objective{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:9px;
}
.learning-design-matrix-objective>span{
  padding:6px 8px;
  border-radius:8px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:11px;
  font-weight:850;
}
.learning-design-matrix-objective>b{
  min-width:0;
  overflow:hidden;
  color:var(--text-primary);
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.learning-design-mini-chip{
  display:inline-flex;
  min-height:25px;
  align-items:center;
  padding:4px 7px;
  border-radius:8px;
  background:color-mix(in srgb,#7c4dba 11%,var(--surface-1));
  color:#7143ad;
  font-size:10px;
  font-weight:800;
}
.learning-design-mini-chip.is-week{
  background:color-mix(in srgb,#0f9474 10%,var(--surface-1));
  color:#0b8065;
}
.learning-design-matrix-row .learning-design-evidence{
  justify-content:flex-start;
}
.learning-design-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:120px;
  padding:20px;
  border:1px dashed var(--border);
  border-radius:13px;
  color:var(--text-muted);
  text-align:left;
}
.learning-design-empty>i{
  font-size:26px;
}
.learning-design-empty b,
.learning-design-empty small{
  display:block;
}

/* Syllabus consumes, but no longer duplicates, the learning-design editor. */
.syllabus-learning-projection{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.syllabus-learning-projection>article{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:12px;
  padding:15px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-2);
}
.syllabus-learning-projection>article>i{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:21px;
}
.syllabus-learning-projection>article:nth-child(2)>i{
  background:color-mix(in srgb,#7c4dba 12%,var(--surface-1));
  color:#7143ad;
}
.syllabus-learning-projection b,
.syllabus-learning-projection small{
  display:block;
}
.syllabus-learning-projection b{
  color:var(--text-primary);
  font-size:14px;
}
.syllabus-learning-projection small{
  display:-webkit-box;
  margin-top:4px;
  overflow:hidden;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.syllabus-learning-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));
  border-radius:13px;
  background:color-mix(in srgb,var(--accent-bg) 45%,var(--surface-1));
}
.syllabus-learning-action>span{
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
}
.syllabus-learning-action>span>i{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:22px;
}
.syllabus-learning-action b,
.syllabus-learning-action small{
  display:block;
}
.syllabus-learning-action b{
  color:var(--text-primary);
  font-size:13px;
}
.syllabus-learning-action small{
  margin-top:2px;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.4;
}
.syllabus-learning-action .btn-accent{
  flex:0 0 auto;
  min-height:44px;
}

/* Objectives writing guide · one shared modal layer, no workspace overlay */
.objective-writing-guide-modal{
  width:min(980px,calc(100vw - 34px));
}
.objective-writing-guide-modal .platform-form-body{
  padding:18px;
  background:color-mix(in srgb,var(--surface-2) 54%,var(--surface-1));
}
.objective-writing-guide{
  display:grid;
  min-width:0;
  gap:15px;
  color:var(--text-primary);
}
.objective-guide-lead{
  display:grid;
  min-width:0;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:20px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  border-radius:18px;
  background:
    radial-gradient(circle at 96% 5%,color-mix(in srgb,var(--accent) 17%,transparent),transparent 37%),
    linear-gradient(135deg,var(--surface-1),color-mix(in srgb,var(--accent-bg) 58%,var(--surface-2)));
}
.objective-guide-lead-icon{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border-radius:17px;
  background:var(--accent);
  color:#fff;
  box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 25%,transparent);
}
.objective-guide-lead-icon i{
  font-size:28px;
}
.objective-guide-lead h3,
.objective-guide-lead p,
.objective-guide-section h3,
.objective-guide-section h4,
.objective-guide-section p{
  margin:0;
}
.objective-guide-lead h3{
  margin:4px 0 5px;
  font-size:clamp(20px,2.4vw,28px);
  letter-spacing:-.025em;
}
.objective-guide-lead p{
  max-width:740px;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.55;
}
.objective-guide-section{
  min-width:0;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface-1);
  box-shadow:0 8px 24px rgba(25,48,77,.045);
}
.objective-guide-section-head{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
}
.objective-guide-section-head>span{
  display:grid;
  width:39px;
  height:39px;
  flex:0 0 39px;
  place-items:center;
  border-radius:12px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:20px;
}
.objective-guide-section-head>div{
  min-width:0;
}
.objective-guide-section-head h3{
  font-size:17px;
  letter-spacing:-.012em;
}
.objective-guide-section-head p{
  margin-top:3px;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.5;
}
.objective-guide-formula{
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr);
  align-items:center;
  gap:7px;
}
.objective-guide-formula>article{
  display:flex;
  min-width:0;
  min-height:78px;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
  border-radius:13px;
  background:color-mix(in srgb,var(--accent-bg) 30%,var(--surface-1));
}
.objective-guide-formula>article>b{
  display:grid;
  width:29px;
  height:29px;
  flex:0 0 29px;
  place-items:center;
  border-radius:9px;
  background:var(--accent);
  color:#fff;
  font-size:12px;
}
.objective-guide-formula strong,
.objective-guide-formula small{
  display:block;
}
.objective-guide-formula strong{
  font-size:12px;
  line-height:1.3;
}
.objective-guide-formula small{
  margin-top:3px;
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.35;
}
.objective-guide-formula>i{
  color:var(--text-muted);
  font-size:15px;
}
.objective-guide-model{
  margin-top:12px;
  padding:13px 15px;
  border-left:4px solid var(--accent);
  border-radius:11px;
  background:color-mix(in srgb,var(--accent-bg) 42%,var(--surface-2));
}
.objective-guide-model>span{
  color:var(--text-secondary);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.objective-guide-model>p{
  margin-top:7px;
  font-size:14px;
  font-weight:650;
  line-height:1.65;
}
.objective-guide-model mark{
  padding:2px 4px;
  border-radius:5px;
  background:transparent;
  color:inherit;
}
.objective-guide-model mark.is-action{
  background:color-mix(in srgb,#2f78b7 17%,transparent);
}
.objective-guide-model mark.is-capability{
  background:color-mix(in srgb,#8a52b8 16%,transparent);
}
.objective-guide-model mark.is-context{
  background:color-mix(in srgb,#11987a 16%,transparent);
}
.objective-guide-model>div{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:8px;
}
.objective-guide-model>div small{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--text-secondary);
  font-size:10px;
}
.objective-guide-model>div i{
  width:8px;
  height:8px;
  border-radius:50%;
}
.objective-guide-model>div i.is-action{
  background:#2f78b7;
}
.objective-guide-model>div i.is-capability{
  background:#8a52b8;
}
.objective-guide-model>div i.is-context{
  background:#11987a;
}
.objective-guide-levels{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.objective-guide-level{
  --guide-level:#276aa8;
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--guide-level) 24%,var(--border));
  border-top:3px solid var(--guide-level);
  border-radius:12px;
  background:color-mix(in srgb,var(--guide-level) 6%,var(--surface-1));
}
.objective-guide-level:nth-child(2){--guide-level:#4e6db3}
.objective-guide-level:nth-child(3){--guide-level:#6870b2}
.objective-guide-level:nth-child(4){--guide-level:#8b5ca8}
.objective-guide-level:nth-child(5){--guide-level:#a8567d}
.objective-guide-level:nth-child(6){--guide-level:#a65b45}
.objective-guide-level>span{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border-radius:9px;
  background:color-mix(in srgb,var(--guide-level) 14%,var(--surface-1));
  color:var(--guide-level);
  font-size:10px;
  font-weight:850;
}
.objective-guide-level>div{
  min-width:0;
}
.objective-guide-level h4{
  font-size:13px;
}
.objective-guide-level p{
  margin-top:2px;
  color:var(--text-secondary);
  font-size:11px;
}
.objective-guide-level small{
  display:block;
  margin-top:6px;
  color:var(--guide-level);
  font-size:10px;
  font-weight:750;
  line-height:1.35;
}
.objective-guide-caution{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:12px !important;
  padding:10px 12px;
  border-radius:10px;
  background:color-mix(in srgb,#fff1d6 74%,var(--surface-1));
  color:color-mix(in srgb,#7c5414 82%,var(--text-primary));
  font-size:11px;
  line-height:1.45;
}
.objective-guide-caution>i{
  flex:0 0 auto;
  margin-top:1px;
  font-size:17px;
}
.objective-guide-caution b{
  display:block;
  margin-bottom:1px;
}
.objective-guide-rewrites{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.objective-guide-rewrites>article{
  min-width:0;
  padding:13px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-2);
}
.objective-guide-example-label{
  display:block;
  margin-bottom:9px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.objective-guide-rewrites>article>div{
  padding:10px;
  border-radius:9px;
}
.objective-guide-rewrites .is-weak{
  border:1px solid color-mix(in srgb,#b42318 22%,var(--border));
  background:color-mix(in srgb,#fff1f0 62%,var(--surface-1));
}
.objective-guide-rewrites .is-strong{
  border:1px solid color-mix(in srgb,#0f9474 25%,var(--border));
  background:color-mix(in srgb,#eaf8f3 62%,var(--surface-1));
}
.objective-guide-rewrites small{
  display:block;
  margin-bottom:4px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.objective-guide-rewrites p{
  font-size:11px;
  font-weight:650;
  line-height:1.45;
}
.objective-guide-rewrites>article>i{
  display:block;
  margin:5px 0;
  color:var(--text-muted);
  text-align:center;
}
.objective-guide-check ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.objective-guide-check li{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:8px;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,#0f9474 22%,var(--border));
  border-radius:10px;
  background:color-mix(in srgb,#eaf8f3 45%,var(--surface-1));
  font-size:11px;
  font-weight:650;
  line-height:1.4;
}
.objective-guide-check li:last-child:nth-child(odd){
  grid-column:1/-1;
}
.objective-guide-check li i{
  flex:0 0 auto;
  margin-top:1px;
  color:#0b8065;
  font-size:16px;
}
.objective-guide-references{
  display:grid;
  min-width:0;
  gap:12px;
  padding:15px 17px;
  border:1px solid color-mix(in srgb,#5a6796 22%,var(--border));
  border-radius:14px;
  background:color-mix(in srgb,#eef1fa 55%,var(--surface-1));
}
.objective-guide-references>div{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:11px;
}
.objective-guide-references>div>i{
  flex:0 0 auto;
  color:#52618e;
  font-size:22px;
}
.objective-guide-references b,
.objective-guide-references small{
  display:block;
}
.objective-guide-references b{
  font-size:12px;
}
.objective-guide-references small{
  margin-top:2px;
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.45;
}
.objective-guide-references nav{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.objective-guide-references a{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,#52618e 24%,var(--border));
  border-radius:9px;
  background:var(--surface-1);
  color:var(--accent-text);
  font-size:10px;
  font-weight:750;
  text-decoration:none;
}
.objective-guide-references a:hover{
  border-color:var(--accent);
  background:var(--accent-bg);
}

@media (max-width:900px){
  .objective-guide-formula{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .objective-guide-formula>i{
    display:none;
  }
  .objective-guide-levels{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .objective-guide-rewrites{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:560px){
  .objective-writing-guide-modal .platform-form-header{
    align-items:flex-start;
  }
  .objective-writing-guide-modal .platform-form-header h2{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
  .objective-writing-guide-modal .platform-form-body{
    padding:10px;
  }
  .objective-writing-guide{
    gap:10px;
  }
  .objective-guide-lead{
    grid-template-columns:42px minmax(0,1fr);
    align-items:flex-start;
    gap:11px;
    padding:14px;
    border-radius:14px;
  }
  .objective-guide-lead-icon{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .objective-guide-lead-icon i{
    font-size:21px;
  }
  .objective-guide-lead h3{
    font-size:19px;
  }
  .objective-guide-section{
    padding:13px;
    border-radius:13px;
  }
  .objective-guide-formula,
  .objective-guide-levels,
  .objective-guide-check ul{
    grid-template-columns:minmax(0,1fr);
  }
  .objective-guide-check li:last-child:nth-child(odd){
    grid-column:auto;
  }
  .objective-guide-model>p{
    font-size:12px;
  }
  .objective-guide-references nav{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .objective-guide-references a{
    justify-content:space-between;
  }
}

@container app-content (max-width:1100px){
  .learning-design-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .learning-objective-card>summary{
    grid-template-columns:36px 66px minmax(180px,1fr) 20px;
  }
  .learning-objective-card>summary>.learning-design-evidence{
    grid-column:3/4;
    justify-content:flex-start;
    margin-top:-5px;
  }
  .learning-objective-card>summary>.ti-chevron-down{
    grid-column:4;
    grid-row:1/3;
  }
  .learning-design-alignment-editor{
    grid-template-columns:minmax(0,1fr);
  }
  .learning-design-matrix-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@container app-content (max-width:760px){
  .learning-design-intro{
    align-items:flex-start;
    flex-direction:column;
    padding:18px;
  }
  .learning-design-intro-actions,
  .learning-design-intro-actions .btn-ghost{
    width:100%;
  }
  .learning-design-version-note,
  .learning-design-insight{
    align-items:flex-start;
  }
  .learning-design-version-note>a{
    display:none;
  }
  .learning-design-section{
    padding:16px;
  }
  .learning-design-section>header{
    align-items:stretch;
    flex-direction:column;
  }
  .learning-design-section>header>.btn-accent,
  .learning-design-section>header>.learning-design-section-actions{
    width:100%;
  }
  .learning-design-section>header>.learning-design-section-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .learning-design-section-actions button{
    width:100%;
  }
  .learning-objective-card>summary,
  .learning-outcome-card>summary{
    grid-template-columns:34px 60px minmax(0,1fr) 18px;
    gap:8px;
    padding:11px;
  }
  .learning-objective-card>summary>.learning-design-evidence{
    display:none;
  }
  .learning-objective-card>summary>.ti-chevron-down{
    grid-column:4;
    grid-row:auto;
  }
  .learning-design-order{
    width:31px;
    height:31px;
  }
  .learning-design-code{
    min-height:33px;
    padding:6px 7px;
  }
  .learning-design-writing-grid,
  .learning-design-writing-grid.is-outcome{
    grid-template-columns:minmax(0,1fr);
  }
  .learning-design-writing-grid label.is-wide{
    grid-column:auto;
  }
  .learning-design-editor{
    padding:13px;
  }
  .learning-design-card-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .learning-design-card-actions>div{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .learning-design-card-actions>div button,
  .learning-design-card-actions>.btn-danger-outline{
    width:100%;
  }
  .learning-design-matrix-row{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-learning-projection{
    grid-template-columns:minmax(0,1fr);
  }
  .syllabus-learning-action{
    align-items:stretch;
    flex-direction:column;
  }
  .syllabus-learning-action .btn-accent{
    width:100%;
  }
}

@container app-content (max-width:520px){
  .learning-design-kpis{
    grid-template-columns:minmax(0,1fr);
  }
  .learning-design-kpis article{
    padding:13px;
  }
  .learning-design-intro h2{
    font-size:27px;
  }
  .learning-design-version-note>i,
  .learning-design-insight>i{
    width:38px;
    height:38px;
  }
  .learning-design-section{
    padding:13px;
    border-radius:15px;
  }
  .learning-design-section-actions{
    grid-template-columns:minmax(0,1fr);
  }
  .learning-objective-card>summary,
  .learning-outcome-card>summary{
    grid-template-columns:32px 56px minmax(0,1fr) 16px;
  }
  .learning-design-card-copy b{
    font-size:13px;
  }
  .learning-design-card-copy small{
    -webkit-line-clamp:1;
  }
  .learning-design-week-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .learning-design-card-actions>div{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Course Governance · shared contextual title area */
.course-governance-title-area{
  min-width:0;
}
.course-governance-title-area .platform-context-head>.platform-head-actions{
  max-width:520px;
}
.course-governance-title-area .platform-head-actions>.muted:empty{
  display:none;
}
.course-governance-title-area .shell-course-context{
  border-radius:11px;
  background:linear-gradient(105deg,color-mix(in srgb,var(--accent-bg) 78%,var(--surface-1)),var(--surface-1));
}
.course-governance-title-area .course-governance-back-action{
  order:-1;
}

@container app-content (max-width:900px){
  .course-governance-title-area .platform-page-head.platform-context-head{
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  .course-governance-title-area .platform-head-actions{
    justify-content:flex-start;
    width:100%;
    max-width:none;
  }
  .course-governance-title-area .shell-course-context{
    align-items:flex-start;
    flex-direction:column;
  }
  .course-governance-title-area .shell-course-context>span:first-child{
    margin-right:0;
  }
}

@container app-content (max-width:560px){
  .course-governance-title-area .platform-context-main{
    align-items:flex-start;
  }
  .course-governance-title-area .platform-head-actions .btn-ghost,
  .course-governance-title-area .platform-head-actions .btn-accent{
    flex:1 1 100%;
    justify-content:center;
  }
}

/* Course authoring · guided inserts and visual topic flow */
.ed-rich-insert{
  position:relative;
  display:inline-flex;
  min-width:0;
}
.ed-rich-insert-toggle{
  width:auto;
  min-width:94px;
  padding:0 10px;
  gap:6px;
  border-color:var(--accent-border);
  background:var(--accent-bg);
  color:var(--accent-text);
  box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 10%,transparent);
}
.ed-rich-insert-toggle>span{
  font-size:12px;
  font-weight:800;
}
.ed-rich-insert-toggle>.ti-chevron-down{
  margin-left:1px;
  font-size:13px;
  transition:transform .16s ease;
}
.ed-rich-insert-toggle[aria-expanded="true"]{
  border-color:var(--accent);
  background:var(--surface-2);
}
.ed-rich-insert-toggle[aria-expanded="true"]>.ti-chevron-down{
  transform:rotate(180deg);
}
.ed-rich-insert-menu{
  position:fixed;
  z-index:calc(var(--layer-modal,3000) + 10);
  display:grid;
  gap:12px;
  max-width:calc(100vw - 24px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:14px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--text-primary);
  box-shadow:0 20px 56px rgba(20,35,50,.24);
}
.ed-rich-insert-menu[hidden]{
  display:none;
}
.ed-rich-insert-menu>header{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
  padding:1px 2px 3px;
}
.ed-rich-insert-menu>header>b{
  font-size:14px;
}
.ed-rich-insert-menu>header>small{
  color:var(--text-muted);
  font-size:11px;
  line-height:1.4;
}
.ed-rich-insert-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.ed-rich-insert-option{
  display:grid;
  width:100%;
  height:auto;
  min-height:62px;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-color:var(--border);
  background:var(--surface-1);
  color:var(--text-primary);
  text-align:left;
}
.ed-rich-insert-option>i{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:8px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:18px;
}
.ed-rich-insert-option>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.ed-rich-insert-option b{
  font-size:12px;
  line-height:1.25;
}
.ed-rich-insert-option small{
  color:var(--text-muted);
  font-size:10.5px;
  line-height:1.3;
}
.ed-rich-tone-panel{
  display:grid;
  gap:9px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface-1) 72%,var(--surface-2));
}
.ed-rich-tone-panel>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.ed-rich-tone-panel>span>b{
  font-size:12px;
}
.ed-rich-tone-panel>span>small{
  color:var(--text-muted);
  font-size:10.5px;
  line-height:1.35;
}
.ed-rich-tone-panel>div{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
}
.ed-rich-tone-option{
  display:flex;
  width:100%;
  height:auto;
  min-height:48px;
  flex-direction:column;
  gap:4px;
  padding:6px 4px;
  border-color:transparent;
  background:var(--surface-2);
  color:var(--text-secondary);
}
.ed-rich-tone-option>i{
  font-size:17px;
}
.ed-rich-tone-option>span{
  font-size:9.5px;
  font-weight:750;
}
.ed-rich-tone-option[data-rich-tone="neutral"]>i{color:#68727d}
.ed-rich-tone-option[data-rich-tone="blue"]>i{color:#2f75c8}
.ed-rich-tone-option[data-rich-tone="green"]>i{color:#168f72}
.ed-rich-tone-option[data-rich-tone="violet"]>i{color:#6654c7}
.ed-rich-tone-option[data-rich-tone="amber"]>i{color:#bd7507}
.ed-rich-tone-option[data-rich-tone="clear"]>i{color:var(--text-muted)}
.ed-rich-insert-toggle:hover,
.ed-rich-insert-option:hover,
.ed-rich-tone-option:hover{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent-bg) 70%,var(--surface-2));
  color:var(--accent-text);
}
.ed-rich-insert-toggle:focus-visible,
.ed-rich-insert-option:focus-visible,
.ed-rich-tone-option:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);
  outline-offset:2px;
}

.ed-topic-flow-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
  padding:18px 19px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  border-left:5px solid var(--accent);
  border-radius:12px;
  background:
    radial-gradient(circle at 96% 6%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 36%),
    var(--surface-1);
}
.ed-topic-flow-intro>div:first-child{
  min-width:0;
}
.ed-topic-flow-intro .eyebrow{
  color:var(--accent-text);
}
.ed-topic-flow-intro h3{
  margin:4px 0 5px;
  font-size:20px;
  line-height:1.2;
}
.ed-topic-flow-intro p{
  max-width:620px;
  margin:0;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.55;
}
.ed-topic-flow-intro>div:last-child{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
}
.ed-topic-flow-intro button{
  min-height:40px;
  white-space:nowrap;
}
.ed-week-starter{
  display:grid;
  gap:10px;
  margin:0 0 13px;
  padding:15px 16px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent-bg) 38%,var(--surface-1));
}
.ed-week-starter>.eyebrow{
  color:var(--accent-text);
}
.ed-week-starter>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:10px;
}
.ed-week-starter>div>i{
  display:grid;
  width:31px;
  height:31px;
  place-items:center;
  border-radius:9px;
  background:var(--surface-1);
  color:var(--accent-text);
  font-size:17px;
}
.ed-week-starter h3{
  margin:0 0 3px;
  font-size:16px;
}
.ed-week-starter p{
  margin:0;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.5;
}
.ed-week-starter ul{
  display:grid;
  gap:4px;
  margin:0;
  padding-left:18px;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.45;
}
.ed-week-starter-note,.ed-topic-flow-starter-note{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:0 0 14px;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.45;
}
.ed-week-starter-note>i,.ed-topic-flow-starter-note>i{
  flex:0 0 auto;
  margin-top:1px;
  color:var(--accent-text);
  font-size:15px;
}
.ed-week-starter-note b,.ed-topic-flow-starter-note b{
  color:var(--text-primary);
}
.ed-topic-flow-starter-note{
  max-width:620px;
  margin-top:10px;
  margin-bottom:0;
}
.ed-topic-flow-intro button:disabled{
  cursor:not-allowed;
  opacity:.62;
}
.ed-topic-flow-overview{
  margin-bottom:14px;
  padding:13px;
  border:1px solid var(--border);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface-1) 68%,var(--surface-2));
}
.ed-topic-flow-overview>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.ed-topic-flow-overview>header>span:first-child{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.ed-topic-flow-overview>header b{
  color:var(--text-primary);
  font-size:12px;
}
.ed-topic-flow-overview>header small,
.ed-topic-flow-overview>header>span:last-child{
  color:var(--text-muted);
  font-size:9.5px;
}
.ed-topic-flow-overview>div>.topic-flow{
  margin:0;
}
.ed-topic-overview-select{
  grid-column:span var(--topic-auto-span);
  width:100%;
  min-width:0;
  height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.ed-topic-overview-select>.topic-step{
  display:block;
  min-height:150px;
  text-align:left;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ed-topic-overview-select .topic-step-title,
.ed-topic-overview-select .topic-step-desc{
  display:block;
}
.ed-topic-overview-select:hover>.topic-step{
  transform:translateY(-2px);
}
.ed-topic-overview-select.is-selected>.topic-step{
  outline:3px solid color-mix(in srgb,var(--step-color,var(--accent)) 36%,transparent);
  outline-offset:3px;
}
.ed-topic-overview-select:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 34%,transparent);
  outline-offset:4px;
  border-radius:12px;
}
.ed-topic-flow-list{
  display:grid;
  gap:12px;
}
.ed-topic-flow-row{
  --topic-editor-tone:var(--accent);
  --topic-editor-bg:color-mix(in srgb,var(--topic-editor-tone) 5%,var(--surface-2));
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--topic-editor-tone) 38%,var(--border));
  border-top:4px solid var(--topic-editor-tone);
  border-radius:12px;
  background:var(--topic-editor-bg);
  box-shadow:0 6px 18px rgba(20,35,50,.05);
}
.ed-topic-flow-row[data-topic-tone="blue"]{
  --topic-editor-tone:#2f75c8;
  --topic-editor-bg:color-mix(in srgb,#2f75c8 7%,var(--surface-2));
}
.ed-topic-flow-row[data-topic-tone="green"]{
  --topic-editor-tone:#168f72;
  --topic-editor-bg:color-mix(in srgb,#168f72 7%,var(--surface-2));
}
.ed-topic-flow-row[data-topic-tone="violet"]{
  --topic-editor-tone:#6654c7;
  --topic-editor-bg:color-mix(in srgb,#6654c7 7%,var(--surface-2));
}
.ed-topic-flow-row[data-topic-tone="amber"]{
  --topic-editor-tone:#bd7507;
  --topic-editor-bg:color-mix(in srgb,#bd7507 7%,var(--surface-2));
}
.ed-topic-flow-row[data-topic-tone="neutral"]{
  --topic-editor-tone:#68727d;
  --topic-editor-bg:color-mix(in srgb,#68727d 7%,var(--surface-2));
}
.ed-topic-flow-row>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--topic-editor-tone) 22%,var(--border));
  background:color-mix(in srgb,var(--surface-2) 76%,transparent);
}
.ed-topic-flow-row>header>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:1px;
}
.ed-topic-flow-row>header b{
  color:color-mix(in srgb,var(--topic-editor-tone) 74%,var(--text-primary));
  font-size:12px;
}
.ed-topic-flow-row>header small{
  color:var(--text-muted);
  font-size:10.5px;
  line-height:1.35;
}
.ed-topic-flow-row>header>div{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:5px;
}
.ed-topic-flow-row>header .icon-btn{
  width:34px;
  min-width:34px;
  height:34px;
  border-radius:8px;
  background:var(--surface-2);
}
.ed-topic-flow-row>header .icon-btn:not(.danger):not(:disabled):hover{
  border-color:var(--topic-editor-tone);
  color:var(--topic-editor-tone);
}
.ed-topic-flow-row>header .icon-btn:focus-visible{
  outline:3px solid color-mix(in srgb,var(--topic-editor-tone) 28%,transparent);
  outline-offset:1px;
}
.ed-topic-flow-editor-body{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);
  align-items:start;
  gap:16px;
  padding:14px;
}
.ed-topic-card-preview-wrap{
  display:grid;
  width:100%;
  min-width:0;
  justify-items:start;
  gap:8px;
  padding:12px;
  border:1px dashed color-mix(in srgb,var(--topic-editor-tone) 34%,var(--border-strong));
  border-radius:11px;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--border) 42%,transparent) 1px,transparent 1px),
    linear-gradient(color-mix(in srgb,var(--border) 42%,transparent) 1px,transparent 1px),
    color-mix(in srgb,var(--surface-1) 75%,var(--surface-2));
  background-size:18px 18px;
}
.ed-topic-card-preview-head{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.ed-topic-card-preview-head>span{
  color:var(--topic-editor-tone);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ed-topic-card-preview-head>small{
  color:var(--text-muted);
  font-size:10px;
  font-weight:700;
}
.ed-topic-card-preview{
  width:100%;
  min-height:166px;
  margin:0;
  transition:width .18s ease,background .18s ease,border-color .18s ease;
}
.ed-topic-card-preview-wrap[data-preview-size="standard"] .ed-topic-card-preview{
  width:62%;
}
.ed-topic-card-preview-wrap[data-preview-size="wide"] .ed-topic-card-preview{
  width:82%;
}
.ed-topic-card-preview-wrap[data-preview-size="full"] .ed-topic-card-preview{
  width:100%;
}
.ed-topic-flow-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.ed-topic-flow-fields>label,
.ed-topic-flow-advanced label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
}
.ed-topic-flow-fields>label>span,
.ed-topic-flow-advanced label>span{
  color:var(--text-secondary);
  font-size:11px;
  font-weight:800;
}
.ed-topic-flow-fields>label>small{
  margin-top:-1px;
  color:var(--text-muted);
  font-size:9.5px;
  line-height:1.35;
}
.ed-topic-flow-fields input,
.ed-topic-flow-fields select,
.ed-topic-flow-fields textarea{
  width:100%;
  min-width:0;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--text-primary);
  font:inherit;
}
.ed-topic-flow-fields input,
.ed-topic-flow-fields select{
  min-height:42px;
  padding:0 11px;
}
.ed-topic-flow-fields textarea{
  min-height:84px;
  padding:10px 11px;
  line-height:1.5;
  resize:vertical;
}
.ed-topic-flow-fields input:focus,
.ed-topic-flow-fields select:focus,
.ed-topic-flow-fields textarea:focus{
  border-color:var(--topic-editor-tone);
  outline:3px solid color-mix(in srgb,var(--topic-editor-tone) 17%,transparent);
  outline-offset:1px;
}
.ed-topic-flow-description{
  grid-column:1/-1;
}
.ed-topic-flow-title{
  grid-column:1/-1;
}
.ed-topic-flow-advanced{
  grid-column:1/-1;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:9px;
  background:color-mix(in srgb,var(--surface-1) 68%,var(--surface-2));
}
.ed-topic-flow-advanced>summary{
  display:flex;
  min-height:46px;
  align-items:center;
  gap:9px;
  padding:8px 11px;
  color:var(--text-secondary);
  cursor:pointer;
  list-style:none;
}
.ed-topic-flow-advanced>summary::-webkit-details-marker{
  display:none;
}
.ed-topic-flow-advanced>summary>i:first-child{
  color:var(--topic-editor-tone);
  font-size:17px;
}
.ed-topic-flow-advanced>summary>span{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  gap:1px;
}
.ed-topic-flow-advanced>summary b{
  color:var(--text-primary);
  font-size:11px;
}
.ed-topic-flow-advanced>summary small{
  color:var(--text-muted);
  font-size:9.5px;
}
.ed-topic-flow-advanced>summary>i:last-child{
  transition:transform .16s ease;
}
.ed-topic-flow-advanced[open]>summary>i:last-child{
  transform:rotate(180deg);
}
.ed-topic-flow-advanced>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  padding:11px;
  border-top:1px solid var(--border);
}
.ed-topic-flow-status{
  min-height:18px;
  margin:9px 2px 0;
  color:var(--accent-text);
  font-size:11px;
  font-weight:750;
  text-align:right;
}
.ed-topic-flow-empty{
  display:flex;
  min-height:160px;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:24px;
  border:2px dashed var(--border-strong);
  border-radius:12px;
  background:var(--surface-1);
  color:var(--text-muted);
  text-align:left;
}
.ed-topic-flow-empty>i{
  color:var(--accent);
  font-size:31px;
}
.ed-topic-flow-empty>span{
  display:flex;
  flex-direction:column;
  gap:3px;
  font-size:12px;
}
.ed-topic-flow-empty b{
  color:var(--text-primary);
  font-size:14px;
}

@media(max-width:980px){
  .ed-topic-flow-editor-body{
    grid-template-columns:minmax(0,1fr);
  }
  .ed-topic-card-preview-wrap{
    justify-items:center;
  }
  .ed-topic-card-preview-head{
    justify-self:stretch;
  }
  .ed-topic-card-preview{
    max-width:620px;
  }
}
@media(max-width:600px){
  .topic-flow-managed .ed-topic-overview-select{
    grid-column:1/-1;
  }
  .ed-rich-insert{
    width:100%;
  }
  .ed-rich-insert-toggle{
    width:100%;
    justify-content:center;
  }
  .ed-rich-insert-menu{
    gap:10px;
    padding:11px;
    border-radius:10px;
  }
  .ed-rich-insert-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .ed-rich-insert-option{
    min-height:54px;
  }
  .ed-rich-tone-panel>div{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .ed-rich-tone-option{
    min-height:44px;
    flex-direction:row;
    justify-content:flex-start;
    padding:6px 8px;
  }
  .ed-topic-flow-intro{
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    padding:15px;
  }
  .ed-topic-flow-intro>div:last-child{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .ed-topic-flow-intro button{
    width:100%;
    justify-content:center;
  }
  .ed-topic-flow-row>header{
    align-items:flex-start;
    flex-direction:column;
  }
  .ed-topic-flow-row>header>div{
    width:100%;
    justify-content:flex-end;
  }
  .ed-topic-flow-fields{
    grid-template-columns:minmax(0,1fr);
  }
  .ed-topic-flow-editor-body{
    gap:12px;
    padding:12px;
  }
  .ed-topic-card-preview-wrap[data-preview-size] .ed-topic-card-preview{
    width:100%;
  }
  .ed-topic-flow-title,
  .ed-topic-flow-description{
    grid-column:auto;
  }
  .ed-topic-flow-advanced{
    grid-column:auto;
  }
  .ed-topic-flow-advanced>div{
    grid-template-columns:minmax(0,1fr);
  }
  .ed-topic-flow-empty{
    min-height:130px;
    padding:18px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ed-rich-insert-toggle>.ti-chevron-down{
    transition:none;
  }
}

/* Course Governance · Student Navigator */
.course-student-navigator{
  display:grid;
  gap:22px;
  container-type:inline-size;
}
.student-navigator-defaults,
.student-navigator-weeks{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 8%,transparent),transparent 34%),
    var(--surface-1);
  box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 7%,transparent);
}
.student-navigator-defaults.is-invalid{
  box-shadow:inset 0 0 0 2px var(--danger-text);
}
.student-navigator-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--border);
}
.student-navigator-section-head h2,
.student-navigator-week-heading h3{
  margin:4px 0 5px;
  color:var(--text-primary);
  letter-spacing:-.025em;
}
.student-navigator-section-head p,
.student-navigator-week-heading p{
  max-width:780px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.45;
}
.student-navigator-default-count,
.student-navigator-visible-count{
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-1));
  color:var(--accent-text);
  font-size:.78rem;
  font-weight:750;
  white-space:nowrap;
}
.student-navigator-default-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  min-width:0;
  margin:0;
  padding:16px 18px 20px;
  border:0;
}
.student-navigator-default-card{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 34px;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:88px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-2);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.student-navigator-default-card:hover{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border));
  transform:translateY(-1px);
}
.student-navigator-default-card:focus-within{
  outline:3px solid color-mix(in srgb,var(--accent) 20%,transparent);
  outline-offset:2px;
}
.student-navigator-default-card:has(input:checked){
  border-color:color-mix(in srgb,var(--accent) 48%,var(--border));
  background:color-mix(in srgb,var(--accent) 8%,var(--surface-1));
  box-shadow:inset 3px 0 0 var(--accent);
}
.student-navigator-default-card.is-unavailable,
.student-navigator-week-area.is-unavailable{
  background:var(--surface-3,var(--surface-2));
  opacity:.72;
}
.student-navigator-default-card.is-unavailable{
  cursor:not-allowed;
  transform:none;
}
.student-navigator-default-card>input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
}
.student-navigator-area-icon{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:11px;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface-1));
  color:var(--accent-text);
  font-size:19px;
}
.student-navigator-area-copy{
  display:grid;
  min-width:0;
  gap:3px;
}
.student-navigator-area-copy b{
  color:var(--text-primary);
  font-size:.92rem;
}
.student-navigator-area-copy small{
  display:-webkit-box;
  overflow:hidden;
  color:var(--text-secondary);
  font-size:.75rem;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.student-navigator-switch{
  position:relative;
  width:33px;
  height:20px;
  border:1px solid var(--border-strong,var(--border));
  border-radius:999px;
  background:var(--surface-3,var(--surface-1));
}
.student-navigator-switch::after{
  position:absolute;
  top:3px;
  left:3px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--text-secondary);
  content:"";
  transition:transform .18s ease,background .18s ease;
}
.student-navigator-default-card:has(input:checked) .student-navigator-switch{
  border-color:var(--accent);
  background:var(--accent);
}
.student-navigator-default-card:has(input:checked) .student-navigator-switch::after{
  background:#fff;
  transform:translateX(13px);
}
.student-navigator-week-select{
  display:grid;
  min-width:0;
  gap:5px;
  color:var(--text-secondary);
  font-size:.76rem;
  font-weight:700;
}
.student-navigator-week-picker{
  display:grid;
  grid-template-columns:40px minmax(220px,330px) 40px;
  align-items:center;
  gap:7px;
}
.student-navigator-week-select select{
  width:100%;
  min-width:0;
}
.student-navigator-week-step{
  display:grid;
  width:40px;
  height:40px;
  min-height:40px;
  place-items:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
  color:var(--accent-text);
  cursor:pointer;
}
.student-navigator-week-step:disabled{
  opacity:.38;
  cursor:not-allowed;
}
.student-navigator-week-panel{
  padding:18px;
}
.student-navigator-week-panel[hidden]{
  display:none;
}
.student-navigator-week-panel.is-invalid{
  box-shadow:inset 0 0 0 2px var(--danger-text);
}
.student-navigator-week-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:2px 4px 15px;
}
.student-navigator-week-grid{
  display:grid;
  gap:8px;
}
.student-navigator-week-area{
  display:grid;
  grid-template-columns:42px minmax(190px,1fr) auto 92px;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-2);
}
.student-navigator-override-control{
  display:grid;
  grid-template-columns:repeat(3,minmax(70px,1fr));
  min-width:236px;
  margin:0;
  padding:3px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
}
.student-navigator-override-control label{
  position:relative;
  cursor:pointer;
}
.student-navigator-override-control input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
}
.student-navigator-override-control span{
  display:flex;
  min-height:32px;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:7px;
  color:var(--text-secondary);
  font-size:.78rem;
  font-weight:700;
}
.student-navigator-override-control input:focus-visible+span{
  outline:2px solid var(--accent);
  outline-offset:1px;
}
.student-navigator-override-control input:checked+span{
  background:color-mix(in srgb,var(--accent) 12%,var(--surface-1));
  color:var(--accent-text);
  box-shadow:0 1px 3px rgba(15,23,42,.1);
}
.student-navigator-override-control input:disabled+span{
  cursor:not-allowed;
  opacity:.58;
}
.student-navigator-effective{
  display:inline-flex;
  min-width:86px;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:750;
}
.student-navigator-effective.is-visible{
  background:var(--success-bg);
  color:var(--success-text);
}
.student-navigator-effective.is-hidden{
  background:var(--surface-3,var(--surface-1));
  color:var(--text-secondary);
}
.student-navigator-effective.is-unavailable{
  background:var(--warning-bg);
  color:var(--warning-text);
}
.student-navigator-week-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding:12px 2px 0;
  border-top:1px solid var(--border);
}
.student-navigator-week-actions p{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:0;
  color:var(--text-secondary);
  font-size:.8rem;
}
.student-navigator-alert{
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--danger-text) 42%,var(--border));
  border-radius:13px;
  background:var(--danger-bg);
  color:var(--danger-text);
  font-weight:700;
}

@container app-content (max-width:1080px){
  .student-navigator-default-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .student-navigator-week-area{
    grid-template-columns:42px minmax(0,1fr) auto;
  }
  .student-navigator-week-area>.student-navigator-effective{
    grid-column:2;
    justify-self:start;
  }
  .student-navigator-override-control{
    grid-column:3;
    grid-row:1 / span 2;
  }
}
@container app-content (max-width:720px){
  .student-navigator-section-head,
  .student-navigator-week-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .student-navigator-default-count,
  .student-navigator-visible-count{
    align-self:flex-start;
    white-space:normal;
  }
  .student-navigator-default-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .student-navigator-week-select{
    width:100%;
  }
  .student-navigator-week-picker{
    grid-template-columns:40px minmax(0,1fr) 40px;
    width:100%;
  }
  .student-navigator-week-area{
    grid-template-columns:38px minmax(0,1fr);
    align-items:start;
  }
  .student-navigator-week-area>.student-navigator-override-control{
    grid-column:1 / -1;
    grid-row:auto;
    width:100%;
    min-width:0;
  }
  .student-navigator-week-area>.student-navigator-effective{
    grid-column:2;
  }
  .student-navigator-week-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .student-navigator-week-actions .btn-ghost{
    width:100%;
    justify-content:center;
  }
}
@container app-content (max-width:460px){
  .student-navigator-section-head,
  .student-navigator-week-panel{
    padding:15px;
  }
  .student-navigator-default-grid{
    padding:12px;
  }
  .student-navigator-default-card{
    grid-template-columns:34px minmax(0,1fr) 34px;
    min-height:76px;
    padding:10px;
  }
  .student-navigator-area-copy small{
    display:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .student-navigator-default-card,
  .student-navigator-switch::after{
    transition:none;
  }
  .student-navigator-default-card:hover{
    transform:none;
  }
}

/* --- Course card: one target, and a strip only when work is waiting --- */
.teaching-course-card{padding:16px 18px}
.teaching-course-open{
  display:block;
  position:relative;
  z-index:1;
  color:inherit;
  text-decoration:none;
}
.teaching-course-open h3{margin:0}
.teaching-course-open:hover h3,.teaching-course-open:focus-visible h3{text-decoration:underline}
.teaching-course-card .teaching-course-meta{
  margin:4px 0 0;
  color:var(--text-muted);
  font-size:11px;
}
.teaching-course-edit{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
  color:var(--text-muted);
}
.teaching-course-edit:hover,.teaching-course-edit:focus-visible{
  border-color:var(--accent-border);
  color:var(--accent-text);
}
.teaching-course-followup,.teaching-course-state{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:8px 10px;
  border-radius:8px;
  font-size:11px;
  font-weight:700;
}
.teaching-course-followup{
  background:color-mix(in srgb,var(--accent) 11%,var(--surface-1));
  color:var(--accent-text);
}
.teaching-course-state{
  background:var(--surface-2);
  color:var(--text-muted);
  font-weight:600;
}
.teaching-course-card:focus-within{box-shadow:0 0 0 2px var(--accent-border)}

/* --- Course landing: the week you are actually in --- */
.course-this-week{padding:20px 22px}
.course-this-week-when{
  display:inline-block;
  margin-bottom:6px;
  color:var(--accent-text);
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.course-this-week-head h2{margin:0;font-size:21px}
.course-this-week-dates{margin:4px 0 0;color:var(--text-muted);font-size:11px}
.course-this-week-empty{
  display:flex;
  align-items:center;
  gap:7px;
  margin:14px 0 0;
  padding:9px 11px;
  border-radius:8px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:11px;
}
.course-this-week-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
/* The work waiting on the professor, on the course landing. Each row is the way
   into the queue that holds it, so the count is a door rather than a label. */
.course-week-queue{margin-top:16px;padding:16px 18px}
.course-week-queue-title{
  margin:0 0 11px;
  color:var(--text-secondary);
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.course-week-queue-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.course-week-queue-link{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:8px;
  color:inherit;
  text-decoration:none;
}
.course-week-queue-link:hover,.course-week-queue-link:focus-visible{
  border-color:var(--accent-border);
  background:var(--accent-bg);
}
.course-week-queue-count{
  display:flex;
  flex:none;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:7px;
  background:var(--accent);
  color:#fff;
  font-size:13px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.course-week-queue-item[data-queue-tone="hold"] .course-week-queue-count{background:var(--warning-text)}
.course-week-queue-text{display:grid;gap:1px;min-width:0;flex:1}
.course-week-queue-text b{font-size:13px;font-weight:650}
.course-week-queue-text small{color:var(--text-muted);font-size:11px}
.course-week-queue-go{
  display:flex;
  flex:none;
  align-items:center;
  gap:5px;
  color:var(--accent-text);
  font-size:11px;
  font-weight:700;
}
.course-week-attention{margin-top:16px;padding:16px 18px}
.course-week-attention h2{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14px}
.course-week-attention p{margin:0 0 12px;color:var(--text-muted);font-size:11px}

/* --- Insert menu: card row (had no styles, so it collapsed into one line) --- */
.ed-rich-card-row-insert{
  display:grid;
  gap:7px;
  padding:1px 2px 0;
}
.ed-rich-card-row-insert>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.ed-rich-card-row-insert>span>b{font-size:12px;line-height:1.25}
.ed-rich-card-row-insert>span>small{
  color:var(--text-muted);
  font-size:10.5px;
  line-height:1.3;
}
.ed-rich-card-row-insert>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.ed-rich-btn.ed-rich-card-row-count{
  display:flex;
  width:100%;
  height:auto;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:9px 4px;
  border-color:var(--border);
  background:var(--surface-1);
  color:var(--text-primary);
}
.ed-rich-btn.ed-rich-card-row-count>i{
  color:var(--accent-text);
  font-size:17px;
}
.ed-rich-btn.ed-rich-card-row-count>span{
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}

/* --- Course card: its own colour and mark, so a wall of cards is scannable --- */
.teaching-course-card{
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--course-accent,var(--accent)) 12%,transparent),transparent 44%),
    var(--surface-1);
  box-shadow:0 10px 26px color-mix(in srgb,var(--course-accent,var(--accent)) 9%,transparent);
  transition:transform .16s ease,box-shadow .16s ease;
}
.teaching-course-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px color-mix(in srgb,var(--course-accent,var(--accent)) 17%,transparent);
}
.teaching-course-badge{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border-radius:11px;
  margin-bottom:11px;
  background:color-mix(in srgb,var(--course-accent,var(--accent)) 15%,var(--surface-1));
  color:var(--course-accent,var(--accent));
  font-size:20px;
}
.teaching-course-card .teaching-course-open h3{
  color:var(--text-primary);
  font-size:15px;
  line-height:1.3;
}
.teaching-course-card .teaching-course-followup{
  background:color-mix(in srgb,var(--course-accent,var(--accent)) 13%,var(--surface-1));
  color:color-mix(in srgb,var(--course-accent,var(--accent)) 78%,var(--text-primary));
}
@media (prefers-reduced-motion:reduce){
  .teaching-course-card,.teaching-course-card:hover{transform:none;transition:none}
}
/* Coursework — every assessed thing in the course, whatever subsystem owns it. */
.coursework-panel{padding:18px 20px}
.coursework-head h2{margin:2px 0 3px;font-size:20px}
.coursework-head p{margin:0;color:var(--text-secondary);font-size:12px}
.coursework-filters{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 12px}
.coursework-filter{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 12px;
  border:1px solid var(--border-strong);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text-secondary);
  font-size:12px;
  cursor:pointer;
}
.coursework-filter span{color:var(--text-muted);font-variant-numeric:tabular-nums}
.coursework-filter:hover{border-color:var(--accent-border)}
.coursework-filter.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}
.coursework-filter.active span{color:#fff}
.coursework-tablewrap{overflow-x:auto}
.coursework-table{width:100%;font-size:12px}
.coursework-table th{white-space:nowrap}
.coursework-title{display:flex;align-items:flex-start;gap:8px;min-width:220px}
.coursework-title>i{margin-top:2px;color:var(--accent);font-size:15px}
.coursework-title b{display:block;font-weight:650}
.coursework-chip{
  display:inline-block;
  margin:3px 4px 0 0;
  padding:1px 7px;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--border);
  color:var(--text-muted);
  font-size:10px;
}
.coursework-week{white-space:nowrap;color:var(--text-secondary)}
.coursework-state{
  display:inline-block;
  padding:2px 9px;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--border-strong);
  color:var(--text-secondary);
  font-size:11px;
  font-weight:650;
  white-space:nowrap;
}
.coursework-state[data-state="open"]{background:var(--success-bg);color:var(--success-text);border-color:transparent}
.coursework-state[data-state="closed"]{background:var(--warning-bg);color:var(--warning-text);border-color:transparent}
.coursework-state[data-state="draft"]{color:var(--text-muted)}
.coursework-released{display:block;margin-top:3px;color:var(--text-muted);font-size:10px}
.coursework-num{white-space:nowrap;font-variant-numeric:tabular-nums}
.coursework-of{color:var(--text-muted)}
.coursework-none{color:var(--text-muted)}
.coursework-auto{color:var(--text-muted);font-style:italic}
.coursework-todo{
  display:inline-block;
  min-width:24px;
  padding:2px 8px;
  border-radius:6px;
  background:var(--accent);
  color:#fff;
  font-weight:700;
  text-align:center;
}
.coursework-go{white-space:nowrap;text-align:right}
.coursework-go a{color:var(--accent-text);font-size:11px;font-weight:650;text-decoration:none}
.coursework-go a:hover,.coursework-go a:focus-visible{text-decoration:underline}
.coursework-empty-filter{margin:0;padding:18px 2px;color:var(--text-secondary);font-size:12px}
.coursework-showall{
  border:0;
  background:none;
  padding:0;
  color:var(--accent-text);
  font-size:12px;
  font-weight:650;
  cursor:pointer;
  text-decoration:underline;
}
/* Weeks, as a term you are inside. The focused week is the anchor, so it carries
   the accent rail and everything else stays quiet around it. */
.course-weeks-head{align-items:flex-start;gap:14px;flex-wrap:wrap}
.course-weeks-summary{margin:4px 0 0;color:var(--text-secondary);font-size:13px}
.course-weeks-jump{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.course-weeks-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  padding:0 8px;
  border:1px solid var(--border);
  border-radius:9px;
  color:var(--text-secondary);
  font-size:13px;
  font-variant-numeric:tabular-nums;
  text-decoration:none;
}
.course-weeks-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}
.course-weeks-chip.is-focus{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}
.course-weeks-toggle{flex:0 0 auto}
.course-weeks-list{display:grid;gap:10px;margin-top:16px}
.course-week-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:13px 16px;
  border:1px solid var(--border);
  border-left:3px solid transparent;
  border-radius:12px;
  background:var(--surface-2);
}
.course-week-row.is-focus{border-left-color:var(--accent);background:var(--accent-bg)}
.course-week-row-num{
  min-width:30px;
  color:var(--text-muted);
  font-size:17px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.course-week-row.is-focus .course-week-row-num{color:var(--accent)}
.course-week-row-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.course-week-row-text b{font-size:14px;font-weight:650}
.course-week-row-text small{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.course-week-state{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary)}
.course-week-state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.course-week-state[data-week-state="published"]{color:var(--good-text,#1f7a45)}
.course-week-state[data-week-state="scheduled"]{color:var(--warning-text,#8a6508)}
.course-week-state[data-week-state="ready"]{color:var(--accent-text)}
.course-week-state[data-week-state="empty"]{color:var(--text-muted)}
.course-week-when{color:var(--text-muted);font-variant-numeric:tabular-nums}
.course-week-row-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
@media (max-width:720px){
  .course-week-row{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
  .course-week-row-actions{grid-column:1 / -1;justify-content:flex-end}
  .course-weeks-jump{margin-left:0}
}
/* The row's own buttons: .btn-accent only carries colour for anchors in this
   context, so the geometry is set here rather than inherited by accident. */
.course-week-row-actions>a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 13px;
  border-radius:9px;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.course-week-row-actions>a:hover{text-decoration:none}
.course-week-row-actions .btn-ghost{border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}
.course-week-row-actions .btn-ghost:hover{border-color:var(--border-strong)}
.course-week-row-actions .btn-accent{border:1px solid var(--accent);background:var(--accent);color:#fff}
.course-week-row-actions .btn-accent:hover{filter:brightness(1.06)}
/* Counters that lead somewhere. A number that is a door has to look like one,
   without turning the card into a wall of links. */
.teaching-course-followup-link{
  color:var(--accent-text);
  font-weight:650;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.teaching-course-followup-link:hover{border-bottom-color:currentColor}
.teaching-course-followup-sep{margin:0 6px;color:var(--text-muted)}
a.coursework-todo-link{
  color:var(--accent-text);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid transparent;
}
a.coursework-todo-link:hover{border-bottom-color:currentColor}

/* Course Delivery · Grading Inbox
   A read-only triage layer: the action always moves into the assessment
   workspace that owns the grade, rather than duplicating its editor here. */
.grading-inbox-page{max-width:1180px}
.grading-inbox-panel{padding:22px}
.grading-inbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px}
.grading-inbox-head h1{margin:3px 0 5px;font-size:clamp(26px,3vw,34px);letter-spacing:-.035em}
.grading-inbox-head p{max-width:720px;margin:0;color:var(--text-secondary);font-size:13px;line-height:1.55}
.grading-inbox-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 17px}
.grading-inbox-metric{display:flex;min-width:0;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.grading-inbox-metric>i{display:grid;flex:0 0 auto;width:31px;height:31px;place-items:center;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}
.grading-inbox-metric.is-attention>i{background:var(--warning-bg);color:var(--warning-text)}
.grading-inbox-metric>span{display:flex;min-width:0;flex-direction:column;gap:1px}
.grading-inbox-metric b{font-size:20px;font-variant-numeric:tabular-nums;line-height:1.05}
.grading-inbox-metric small{overflow:hidden;color:var(--text-secondary);font-size:10.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.grading-inbox-truncated{display:flex;align-items:flex-start;gap:7px;margin:0 0 14px;padding:9px 11px;border-left:3px solid var(--accent);background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:650;line-height:1.45}
.grading-inbox-truncated>i{margin-top:1px;font-size:15px}
.grading-inbox-controls{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(120px,.65fr) minmax(140px,.75fr) minmax(135px,.75fr) auto;align-items:end;gap:10px;margin:0 0 13px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.grading-inbox-controls>label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.grading-inbox-controls select,.grading-inbox-search input{width:100%;min-height:37px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:12px;letter-spacing:0;text-transform:none}
.grading-inbox-controls select{padding:0 9px}
.grading-inbox-search{position:relative}
.grading-inbox-search>i{position:absolute;bottom:10px;left:10px;color:var(--text-muted);font-size:16px;pointer-events:none}
.grading-inbox-search input{padding:0 10px 0 32px}
.grading-inbox-search input:focus,.grading-inbox-controls select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:1px}
.grading-inbox-clear{min-height:37px;white-space:nowrap}
.grading-inbox-controls output{grid-column:1/-1;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}
.grading-inbox-list{display:grid;gap:8px}
.grading-inbox-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);box-shadow:0 1px 0 color-mix(in srgb,var(--text-primary) 3%,transparent);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.grading-inbox-item:hover{border-color:var(--accent-border);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 9%,transparent);transform:translateY(-1px)}
.grading-inbox-item-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--accent-bg);color:var(--accent-text);font-size:20px}
.grading-inbox-item[data-grading-kind="project"] .grading-inbox-item-icon{background:color-mix(in srgb,#159a84 13%,var(--surface-1));color:#0d7463}
.grading-inbox-item[data-grading-kind="manual_exam"] .grading-inbox-item-icon{background:color-mix(in srgb,#7654b3 13%,var(--surface-1));color:#6743a6}
.grading-inbox-item-copy{display:grid;min-width:0;gap:8px}
.grading-inbox-item-title{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:10px}
.grading-inbox-item-title>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.grading-inbox-kind{color:var(--accent-text);font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.grading-inbox-item[data-grading-kind="project"] .grading-inbox-kind{color:#0d7463}
.grading-inbox-item[data-grading-kind="manual_exam"] .grading-inbox-kind{color:#6743a6}
.grading-inbox-item h2{overflow:hidden;margin:0;color:var(--text-primary);font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.grading-inbox-context{overflow:hidden;color:var(--text-secondary);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.grading-inbox-state{display:inline-flex;flex:0 0 auto;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;background:var(--success-bg);color:var(--success-text);font-size:10px;font-weight:760;white-space:nowrap}
.grading-inbox-state.is-late{background:var(--warning-bg);color:var(--warning-text)}
.grading-inbox-item[data-grading-state="no-deadline"] .grading-inbox-state{background:var(--surface-2);color:var(--text-secondary)}
.grading-inbox-learner{display:flex;min-width:0;align-items:center;gap:7px}
.grading-inbox-avatar{display:grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--surface-2);color:var(--text-secondary);font-size:10px;font-weight:850}
.grading-inbox-learner>span:last-child{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:4px 7px}
.grading-inbox-learner b{color:var(--text-primary);font-size:12px}
.grading-inbox-learner small{overflow:hidden;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.grading-inbox-details{display:flex;flex-wrap:wrap;gap:5px 10px;color:var(--text-secondary);font-size:10.5px}
.grading-inbox-detail{display:inline-flex;align-items:center;gap:4px}
.grading-inbox-detail>i{color:var(--text-muted);font-size:13px}
.grading-inbox-open{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:37px;padding:0 10px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}
.grading-inbox-open:hover,.grading-inbox-open:focus-visible{border-color:var(--accent);background:var(--accent);color:#fff}
.grading-inbox-empty{min-height:190px;margin:0}

/* Course Delivery · Students needing attention
   This is a review list, not a risk score. Its visual hierarchy keeps each
   recorded fact and its source route close together. */
.course-attention-page{max-width:1180px}
.course-attention-panel{padding:22px}
.course-attention-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 8px}
.course-attention-head h1{margin:3px 0 5px;font-size:clamp(26px,3vw,34px);letter-spacing:-.035em}
.course-attention-head p{max-width:760px;margin:0;color:var(--text-secondary);font-size:13px;line-height:1.55}
.course-attention-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}
.course-attention-actions .btn-ghost{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.course-attention-course{display:flex;align-items:center;gap:6px;margin:0 0 16px;color:var(--text-muted);font-size:11px;font-weight:700}
.course-attention-course>i{color:var(--accent-text);font-size:15px}
.course-attention-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 13px}
.course-attention-metric{display:flex;min-width:0;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.course-attention-metric>i{display:grid;flex:0 0 auto;width:31px;height:31px;place-items:center;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}
.course-attention-metric.is-attention>i{background:var(--warning-bg);color:var(--warning-text)}
.course-attention-metric>span{display:flex;min-width:0;flex-direction:column;gap:1px}
.course-attention-metric b{font-size:20px;font-variant-numeric:tabular-nums;line-height:1.05}
.course-attention-metric small{overflow:hidden;color:var(--text-secondary);font-size:10.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.course-attention-method{display:flex;align-items:flex-start;gap:9px;margin:0 0 13px;padding:11px 12px;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:var(--accent-bg);color:var(--accent-text)}
.course-attention-method>i{margin-top:1px;font-size:17px}
.course-attention-method>div{display:grid;gap:2px}
.course-attention-method b{font-size:11px}
.course-attention-method span{font-size:11px;line-height:1.45}
.course-attention-controls{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(190px,.8fr) auto;align-items:end;gap:10px;margin:0 0 13px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.course-attention-controls>label{display:flex;min-width:0;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.course-attention-controls select,.course-attention-search input{width:100%;min-height:37px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:12px;letter-spacing:0;text-transform:none}
.course-attention-controls select{padding:0 9px}
.course-attention-search{position:relative}
.course-attention-search>i{position:absolute;bottom:10px;left:10px;color:var(--text-muted);font-size:16px;pointer-events:none}
.course-attention-search input{padding:0 10px 0 32px}
.course-attention-search input:focus,.course-attention-controls select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:1px}
.course-attention-clear{min-height:37px;white-space:nowrap}
.course-attention-controls output{grid-column:1/-1;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}
.course-attention-list{display:grid;gap:8px}
.course-attention-item{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);box-shadow:0 1px 0 color-mix(in srgb,var(--text-primary) 3%,transparent)}
.course-attention-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--accent-bg);color:var(--accent-text);font-size:12px;font-weight:850}
.course-attention-student{min-width:0}
.course-attention-student>header{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin:0 0 9px}
.course-attention-student h2{margin:0;color:var(--text-primary);font-size:15px;line-height:1.25}
.course-attention-student header small{overflow:hidden;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.course-attention-reasons{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.course-attention-reason{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}
.course-attention-reason>i{display:grid;width:25px;height:25px;place-items:center;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:14px}
.course-attention-reason.is-absence>i{background:var(--warning-bg);color:var(--warning-text)}
.course-attention-reason>div{display:grid;min-width:0;gap:1px}
.course-attention-reason b{color:var(--text-primary);font-size:11px}
.course-attention-reason span{color:var(--text-secondary);font-size:10.5px;line-height:1.4}
.course-attention-reason a{display:inline-flex;align-items:center;gap:4px;color:var(--accent-text);font-size:10.5px;font-weight:750;text-decoration:none;white-space:nowrap}
.course-attention-reason a:hover{text-decoration:underline}
.course-attention-empty{min-height:190px;margin:0}

@container app-content (max-width:980px){
  .grading-inbox-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grading-inbox-controls{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,1fr))}
  .grading-inbox-clear{grid-column:1/2;justify-self:start}
  .course-attention-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-attention-controls{grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr)}
  .course-attention-clear{grid-column:1/2;justify-self:start}
}
@container app-content (max-width:700px){
  .grading-inbox-panel{padding:17px}
  .grading-inbox-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grading-inbox-search{grid-column:1/-1}
  .grading-inbox-item{grid-template-columns:36px minmax(0,1fr)}
  .grading-inbox-item-icon{width:36px;height:36px;font-size:18px}
  .grading-inbox-open{grid-column:2;justify-self:start}
  .course-attention-panel{padding:17px}
  .course-attention-head{flex-direction:column}
  .course-attention-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-attention-search{grid-column:1/-1}
  .course-attention-reason{grid-template-columns:25px minmax(0,1fr)}
  .course-attention-reason>a{grid-column:2;justify-self:start}
}
@media (max-width:520px){
  .grading-inbox-metrics,.grading-inbox-controls{grid-template-columns:1fr}
  .grading-inbox-controls>label,.grading-inbox-search{grid-column:auto}
  .grading-inbox-item{gap:10px;padding:12px}
  .grading-inbox-item-title{flex-direction:column;gap:5px}
  .grading-inbox-state{align-self:flex-start}
  .grading-inbox-item h2{white-space:normal}
  .grading-inbox-learner>span:last-child{display:grid;gap:1px}
  .course-attention-metrics,.course-attention-controls{grid-template-columns:1fr}
  .course-attention-controls>label,.course-attention-search{grid-column:auto}
  .course-attention-actions{width:100%}
  .course-attention-actions .btn-ghost{flex:1;justify-content:center}
  .course-attention-item{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px}
  .course-attention-avatar{width:36px;height:36px}
  .course-attention-student>header{display:grid;gap:2px}
  .course-attention-student header small{white-space:normal}
}
.project-admin-scope{
  margin:0 0 12px;
  padding:9px 13px;
  border:1px solid var(--accent-border);
  border-radius:10px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:13px;
}
.project-admin-scope a{color:inherit;font-weight:650}
/* Student weeks: locked rows are facts, not doors. */
.course-week-row.is-locked{opacity:.62}
.course-week-row.is-locked .course-week-lock{color:var(--text-muted);font-size:16px}
a.course-week-row{color:inherit;text-decoration:none}
a.course-week-row:hover{border-color:var(--border-strong)}
.course-week-row-open{display:inline-flex;align-items:center;gap:5px;color:var(--accent-text);font-size:13px;font-weight:650;white-space:nowrap}
.course-week-state[data-week-state="done"]{color:var(--good-text,#1f7a45)}
.course-week-state[data-week-state="current"]{color:var(--accent-text)}
.course-week-state[data-week-state="open"]{color:var(--text-secondary)}
.course-week-state[data-week-state="locked"]{color:var(--text-muted)}
.gradebook-release-choice {
  align-items: flex-start;
  display: flex;
  gap: .75rem;
  padding: .85rem 1rem;
  border-radius: .8rem;
  background: color-mix(in srgb, var(--accent, #1f6fb2) 8%, transparent);
}
.gradebook-release-choice input { margin-top: .2rem; }
.gradebook-release-choice span { display: grid; gap: .18rem; }
.gradebook-release-choice small { color: var(--muted); font-weight: 400; }
