@font-face{font-family:CourseDream;src:url('/fonts/SCDreamRegular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:CourseDream;src:url('/fonts/SCDreamBold.woff2') format('woff2');font-weight:700;font-display:swap}
.course-editor{--ce-teal:#0a6f61;font-family:CourseDream,sans-serif;word-break:keep-all;color:#172d2a;min-width:0}
.ce-main{max-width:1160px;margin:auto;padding:12px 8px 0;min-width:0}
.course-editor [hidden]{display:none!important}
.course-editor input,.course-editor select,.course-editor textarea,.course-editor button{font-family:inherit;font-size:14px}
.course-editor label{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.7;margin-bottom:16px}
.course-editor input,.course-editor select,.course-editor textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #bdcfc8;border-radius:8px;padding:10px 12px;background:#fff;color:#172d2a}
.course-editor textarea{resize:vertical;line-height:1.8}
.course-editor :focus-visible{outline:2px solid #0a6f61;outline-offset:3px}
.course-editor h2{font-size:22px;line-height:1.5;margin:0 0 12px;letter-spacing:-.5px}
.course-editor h3{font-size:16px;line-height:1.5;margin:0 0 12px}
.course-editor .muted{font-size:13px;line-height:1.8;margin:0 0 16px;color:#536c64}
.course-editor button:disabled{opacity:.45;cursor:default}
.course-editor .btn-primary{background:#0a6f61;border-color:#0a6f61;color:#fff}
.ce-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.ce-head h1{font-size:30px;margin:0 0 8px;letter-spacing:-1px}
.ce-head p{font-size:14px;line-height:1.8;margin:0;color:#536c64}
.ce-status{font-size:12px;line-height:1.7;color:#526e62;flex-shrink:0}
.ce-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 32px;padding:8px;background:#eff5f1;border-radius:10px}
.ce-steps button{display:flex;align-items:center;justify-content:center;gap:10px;border:0;background:transparent;color:#506c62;padding:12px 8px;min-height:48px;border-radius:7px;cursor:pointer;line-height:1.5}
.ce-steps b{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid #a8bfb5;border-radius:50%;font-size:12px}
.ce-steps button[aria-current=step]{background:#fff;color:#0a6f61;font-weight:700;box-shadow:0 1px 4px #17392a12}
.ce-steps button[aria-current=step] b{background:#0a6f61;border-color:#0a6f61;color:#fff}
.ce-section{background:#fff;border:1px solid #dce5e0;border-radius:12px;padding:28px;margin-bottom:20px}
.ce-stage-heading{margin-bottom:24px}
.ce-kicker{color:#0a6f61;font-size:12px;line-height:1.6;margin:0 0 10px}
.ce-basic{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr);gap:20px;margin-top:24px}
.ce-common-app{border-top:1px solid #e1e9e5;padding-top:24px;margin-top:20px}
.ce-common-app label{margin-bottom:8px}
.ce-variants{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.ce-variants>button{display:flex;align-items:center;gap:12px;min-height:48px;text-align:left;border:1px solid #cddbd4;border-radius:8px;background:#fff;padding:12px 16px;cursor:pointer;overflow-wrap:anywhere}
.ce-variants>button[aria-pressed=true]{background:#e9f5ef;border-color:#0a6f61;color:#0a6f61}
.ce-variants small{white-space:nowrap;color:#536c64}
.ce-variants #ce-add-variant{border-style:dashed;color:#0a6f61}
.ce-empty{border:1px dashed #b8cec3;border-radius:10px;padding:24px;margin-top:20px;background:#f6f9f6}
.ce-empty p{font-size:14px;line-height:1.8;margin:0;color:#536c64}
.ce-workspace-tools{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 20px;align-items:flex-end}
.ce-panel-heading{display:flex;align-items:center;gap:14px;min-width:0}
.ce-panel-heading label{margin:0;flex:1;min-width:0}
.ce-panel-heading h3{margin:0}
.ce-workspace-tools>.ce-panel-heading{flex:1 1 220px;max-width:440px}
.ce-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ce-library-link{color:#0a6f61;font-size:12px;padding:10px 0}
.ce-lesson-layout{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;border:1px solid #dce5e0;border-radius:12px;background:#fff}
.ce-lesson-rail{min-width:0;padding:20px 12px;position:sticky;top:90px}
.ce-lesson-rail .ce-panel-heading{padding:0 10px 18px}
.ce-lesson-rail h3 span{font-size:12px;color:#536c64;font-weight:400;margin-left:6px}
.ce-lesson-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100dvh - 255px);overflow-y:auto;padding:4px;margin:-4px -4px 16px}
.ce-lesson-list>button{display:flex;align-items:flex-start;gap:10px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;padding:12px 10px;cursor:pointer;line-height:1.7;color:#172d2a}
.ce-lesson-list>button[aria-pressed=true]{background:#edf6f1;border-color:#8cb6a2;color:#0a6f61}
.ce-lesson-list>button>span:last-child{min-width:0}
.ce-lesson-list strong{display:block;font-size:13px;font-weight:400;overflow-wrap:anywhere}
.ce-lesson-list>button[aria-pressed=true] strong{font-weight:700}
.ce-lesson-list small{display:block;font-size:11px;line-height:1.8;color:#5b7167;margin-top:4px}
.ce-lesson-number{font-size:11px;display:grid;place-items:center;background:#f2f5f3;min-width:25px;height:25px;border-radius:6px}
.ce-lesson-rail>.btn{width:100%;justify-content:center}
.ce-lesson-detail{border-left:1px solid #e1e9e5;min-width:0;padding:26px 28px}
.course-editor .ce-mobile-lessons{display:none}
.course-editor .ce-mobile-add{display:none}
.ce-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.ce-detail-heading .ce-kicker{margin:0}
.ce-order-actions{display:flex;gap:6px}
.ce-order-actions button{border:1px solid #d6e2da;background:#fff;border-radius:6px;min-height:36px;min-width:36px;padding:7px 9px;cursor:pointer;font-size:12px;color:#526b60}
.ce-lesson-basics{display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:18px}
.ce-detail-section{border-top:1px solid #e1e9e5;margin-top:16px;padding-top:24px;padding-bottom:8px}
.ce-detail-section>.muted{font-size:12px}
.ce-materials{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dce5e0;border-radius:8px;overflow:hidden}
.ce-material{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;min-width:0}
.ce-material:nth-child(odd){border-right:1px solid #e1e9e5}
.ce-material:nth-child(-n+2){border-bottom:1px solid #e1e9e5}
.ce-material>div{min-width:0}
.ce-material strong{font-size:13px}
.ce-material small{display:block;color:#607669;font-size:11px;line-height:1.7;margin-top:7px;overflow-wrap:anywhere}
.ce-asset-button{flex-shrink:0;min-height:40px;padding:8px;border:1px solid #a7c6b6;background:#fff;color:#0a6f61;border-radius:6px;cursor:pointer;font-size:12px!important}
.ce-note{font-size:12px;line-height:1.9;color:#526b60;padding:12px 14px;background:#f3f7f4;border-radius:6px;margin:12px 0 0}
.ce-source-links{margin-top:18px;font-size:12px}
.ce-source-links summary{cursor:pointer;padding:8px 0;color:#0a6f61}
.ce-source-links label{margin-top:12px}
.ce-source-links select{min-height:80px}
.course-editor .ce-check{display:flex;flex-direction:row;align-items:center;gap:8px;margin-bottom:12px}
.course-editor .ce-check input{width:18px;height:18px;min-height:18px;accent-color:#0a6f61;flex-shrink:0;padding:0}
.ce-checks{display:flex;flex-wrap:wrap;gap:0 20px;margin:16px 0 6px}
.ce-submission-fields{margin-top:12px}
.ce-record-fields{margin-top:20px}
.ce-record-example{border-left:3px solid #509b7b;padding:10px 16px;background:#f3f8f5;margin-top:20px}
.ce-record-example>span{font-size:11px;color:#526b60}
.ce-record-example p{font-size:14px;line-height:1.8;margin:10px 0;overflow-wrap:anywhere}
.ce-record-example small{font-size:11px;line-height:1.8;color:#526b60}
.ce-review-preview{margin:24px 0;border-top:1px solid #e1e9e5;padding-top:24px}
.ce-preview section{padding:18px 0;border-bottom:1px solid #dde5e1}
.ce-preview h3{font-size:16px;line-height:1.7}
.ce-preview-assets{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:12px 0;line-height:1.8}
.ce-preview p{line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.ce-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}
.ce-step-footer{position:sticky;bottom:0;z-index:5;background:#f9fbf8;border-top:1px solid #dce5e0;padding:12px 0;margin-top:24px}
.ce-step-actions{display:flex;justify-content:space-between;gap:12px}
.ce-step-actions>.btn{min-height:44px}
.ce-step-footer #ce-message{font-size:12px;color:#0a6f61;line-height:1.8;overflow-wrap:anywhere;margin:0 0 8px}
.ce-step-footer #ce-message:empty{display:none}
.ce-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:10px 0;word-break:keep-all}
.ce-choice input{width:18px!important;height:18px}
.ce-bulk-row{display:grid;grid-template-columns:minmax(130px,1.5fr) 1fr 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #dce5e2}
.ce-bulk-row strong{overflow-wrap:anywhere}
.ce-bulk-row label{font-size:12px}
.ce-bulk-row span{grid-column:1/-1;font-size:12px;color:#0a6f61}
@media(min-width:1200px){body:has(.course-editor) .page-inner{max-width:1420px}}
@media(max-width:1100px){.ce-lesson-layout{grid-template-columns:210px minmax(0,1fr)}.ce-lesson-detail{padding:22px 20px}.ce-materials{grid-template-columns:1fr}.ce-material:nth-child(n){border-right:0;border-bottom:1px solid #e1e9e5}.ce-material:last-child{border-bottom:0}.ce-head{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:760px){
  .ce-main{padding:0 0 calc(104px + env(safe-area-inset-bottom,0px))}
  .ce-head h1{font-size:25px}.ce-head p{font-size:13px}.ce-head{margin-bottom:20px}
  .ce-steps{gap:3px;padding:4px;margin-bottom:24px}.ce-steps button{flex-direction:column;gap:7px;font-size:11px;padding:10px 2px;min-width:0}.ce-steps b{width:23px;height:23px}
  .ce-section{padding:20px 16px}.course-editor h2{font-size:19px}.ce-basic{grid-template-columns:1fr;gap:0}
  .ce-lesson-layout{display:block}.ce-lesson-rail{display:none}.ce-lesson-detail{border-left:0;padding:18px 16px}
  .course-editor .ce-mobile-lessons{display:flex;padding-bottom:16px;border-bottom:1px solid #e1e9e5}
  .course-editor .ce-mobile-add{display:flex;margin-bottom:18px}
  .ce-lesson-basics{grid-template-columns:minmax(0,1fr) 90px;gap:10px}.ce-detail-heading{flex-wrap:wrap;gap:10px}
  .course-editor input,.course-editor select,.course-editor textarea{font-size:16px}
  .ce-detail-section{padding-top:20px}.ce-workspace-tools{gap:14px}.ce-workspace-tools>.ce-panel-heading{max-width:none;flex-basis:100%}
  .ce-toolbar{gap:8px}.ce-toolbar>.btn{font-size:12px}.ce-toolbar .ce-library-link{font-size:12px}
  .ce-material{padding:14px 12px}.ce-material small{font-size:12px}.ce-asset-button{min-width:60px;min-height:44px}
  .ce-order-actions button{min-height:44px;min-width:44px}.ce-variants>button{flex:1 1 130px;justify-content:space-between}
  .ce-step-footer{position:fixed;bottom:0;left:0;right:0;z-index:65;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 12px #183b2510}
  .ce-step-actions{gap:8px}.ce-step-actions>.btn{flex:1;justify-content:center;font-size:13px;padding:10px 8px}
  .ce-step-footer #ce-message{max-height:70px;overflow-y:auto}.ce-actions{gap:8px}.ce-actions .btn{flex:1 1 120px;justify-content:center;font-size:12px}
  .ce-bulk-row{grid-template-columns:1fr 1fr}.ce-bulk-row strong{grid-column:1/-1}
}

/* Curriculum associations describe one program; they do not duplicate its lessons. */
.ce-classification{margin:24px 0;padding:22px 0;border-top:1px solid var(--line,#e9e4d9);border-bottom:1px solid var(--line,#e9e4d9)}
.ce-classification h3{margin:0 0 8px}.ce-classification-links{display:grid;gap:12px;margin:18px 0 12px}
.ce-classification-row{display:grid;grid-template-columns:24px minmax(100px,1fr) minmax(80px,.65fr) minmax(140px,1.5fr) auto;gap:12px;align-items:end}
.ce-classification-number{align-self:center;color:var(--muted,#756f63);font-size:13px}.ce-classification-row label{min-width:0}
.ce-classification-row input,.ce-classification-row select{width:100%;min-width:0}.ce-classification-row>button{margin-bottom:2px;white-space:nowrap}
.ce-classification-extra{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:20px}.ce-classification-extra label{min-width:0}
.ce-classification-empty{margin:0;color:var(--muted,#756f63);font-size:14px;line-height:1.7}
.ce-curriculum-summary{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.ce-curriculum-summary>span{font-size:13px;padding:7px 10px;background:#eaf6f2;color:#0a6f61;border-radius:8px}.ce-curriculum-summary>p{flex-basis:100%;margin:4px 0}
@media(max-width:760px){.ce-classification{padding:18px 0}.ce-classification-row{grid-template-columns:1fr 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line,#e9e4d9)}.ce-classification-number{display:none}.ce-classification-row label:nth-of-type(3){grid-column:1/-1}.ce-classification-row>button{grid-column:2;justify-self:end}.ce-classification-extra{grid-template-columns:1fr}.ce-classification-row input,.ce-classification-row select,.ce-classification-extra input,.ce-classification-extra select{font-size:16px}}

/* Teacher lesson list: materials beside the matching topic. */
.course-lesson-list{margin:24px 0;border-top:1px solid var(--line,#dce5df)}
.course-lesson-row{border-bottom:1px solid var(--line,#dce5df)}
.course-lesson-line{display:flex;align-items:center;gap:20px;padding:10px 0}
.course-lesson-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:18px;text-align:left;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:14px 8px;min-height:52px;word-break:keep-all}
.course-lesson-number{flex-shrink:0;color:var(--muted,#61716b);font-size:14px}
.course-lesson-title{font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.course-lesson-chevron{display:inline-block;margin-left:12px;color:#0a6f61;transition:transform .15s}
.course-lesson-toggle[aria-expanded=true] .course-lesson-chevron{transform:rotate(180deg)}
.course-lesson-toggle:focus-visible{outline:3px solid #0a6f61;outline-offset:2px;border-radius:6px}
.course-lesson-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0;max-width:50%}
.course-lesson-actions .btn{min-height:44px;white-space:nowrap}
.course-lesson-description{padding:0 16px 20px 76px;line-height:1.8;word-break:keep-all}
.course-lesson-description[hidden]{display:none}
.course-lesson-description p{margin:0 0 8px}
@media(max-width:760px){.course-lesson-line{flex-wrap:wrap;gap:0}.course-lesson-toggle{flex-basis:100%;gap:12px}.course-lesson-actions{max-width:100%;padding:0 8px 12px 8px;justify-content:flex-start;flex-shrink:1}.course-lesson-description{padding:4px 8px 18px}.course-lesson-actions .btn{padding:10px 14px}}
