.authoring-main {padding-block:var(--s8) var(--s12)}
.authoring-heading {margin-block:var(--s6) var(--s8)}
.authoring-heading h1 {font-size:var(--portal-title);line-height:1.4;margin-block:var(--s2) var(--s3)}
.authoring-heading p {font-size:var(--text-sm);color:var(--catalog-muted);line-height:1.85;max-width:var(--quote-measure)}
.authoring-layout {display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s8);align-items:start}
.authoring-form {display:grid;gap:var(--s6);min-width:0}
.authoring-section {background:var(--white);border-radius:var(--r2);padding:var(--s8);min-width:0}
.authoring-section h2,.authoring-preview h2 {font-size:var(--portal-heading);line-height:1.5;margin-bottom:var(--s5)}
.authoring-section h2 span {color:var(--catalog-muted);font-size:var(--text-xs);margin-right:var(--s3)}
.authoring-fields {display:grid;gap:var(--s5)}
.authoring-fields label {display:grid;gap:var(--s2);font-size:var(--text-sm);font-weight:600;min-width:0}
.authoring-fields label small {font-size:var(--text-xs);font-weight:400;color:var(--catalog-muted);line-height:1.8}
.authoring-fields input,.authoring-fields select,.authoring-fields textarea {width:100%;min-width:0;min-height:48px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r1);background:var(--white);font:inherit;color:var(--ink)}
.authoring-fields textarea {resize:vertical;min-height:calc(var(--s12)*2);line-height:1.8}
.authoring-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.authoring-note {padding:var(--s4) var(--s5);background:var(--mint);border-radius:var(--r1);font-size:var(--text-xs);line-height:1.85;color:var(--catalog-muted)}
.authoring-preview {background:var(--mint);border-radius:var(--r2);padding:var(--s6);min-width:0}
.authoring-preview>img {width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r1);margin-bottom:var(--s5)}
.authoring-preview>img[hidden] {display:none}
.authoring-preview h3 {font-size:var(--text-quote);line-height:1.65;margin-block:var(--s3);overflow-wrap:anywhere}
.authoring-preview h4 {font-size:var(--text-sm);margin-top:var(--s5)}
.authoring-preview p {font-size:var(--text-xs);color:var(--catalog-muted);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.authoring-preview .preview-price {font-size:var(--portal-heading);font-weight:750;color:var(--ink);margin-block:var(--s4)}
.authoring-preview .status-pill {margin-bottom:var(--s3)}
.authoring-actions {display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}
.authoring-feedback {font-size:var(--text-sm);line-height:1.85;min-height:var(--s6);color:var(--ink)}
.authoring-feedback[data-error="true"] {color:var(--accent-hover)}
.authoring-status {margin-block:var(--s6);font-size:var(--text-sm);line-height:1.8}
.teacher-drafts {margin-top:var(--s6)}
.teacher-drafts h3 {font-size:var(--text-base);margin-bottom:var(--s4)}
.teacher-drafts .enrolled-list {margin-top:var(--s4)}
.teacher-drafts h4 {font-size:var(--card-title);line-height:1.6;margin-block:var(--s3)}
.teacher-drafts p {font-size:var(--text-xs);color:var(--catalog-muted);line-height:1.85}
body[data-editor] {background:var(--surface)}
.authoring-nav {display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin-block:var(--s6);border-bottom:1px solid var(--line);padding-bottom:var(--s4)}
.authoring-nav a {display:flex;align-items:center;min-height:44px;font-size:var(--text-sm);font-weight:600}
.authoring-nav a:hover {color:var(--accent)}
.section-description,.media-editor>p {font-size:var(--text-sm);color:var(--catalog-muted);line-height:1.85;margin-bottom:var(--s5)}
.media-editor {display:grid;gap:var(--s4);border-top:1px solid var(--line);padding-top:var(--s5);min-width:0}
.media-editor h3 {font-size:var(--text-base)}
.media-editor>p {margin:0}
.media-editor .secondary-button {justify-self:start}
.media-editor input[type="file"] {font-size:var(--text-xs);padding:var(--s3);overflow:hidden}
.media-editor input[type="file"]::file-selector-button {font:inherit;background:var(--surface);color:var(--ink);border:0;border-radius:var(--s1);padding:var(--s2);margin-right:var(--s2);cursor:pointer}
#thumbnail-editor {display:grid;gap:var(--s3)}
#thumbnail-editor>img {width:100%;height:auto;max-height:calc(var(--s20)*3);object-fit:contain;aspect-ratio:3/2;background:var(--surface);border-radius:var(--r1)}
.description-photos {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.description-photo {display:grid;gap:var(--s3);min-width:0}
.description-photo img {width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--surface);border-radius:var(--r1)}
.curriculum-unit {border:1px solid var(--line);padding:var(--s5);border-radius:var(--r1);margin:var(--s5) 0;min-width:0}
.curriculum-unit legend {padding-inline:var(--s2);font-size:var(--text-sm);font-weight:700}
.editor-row-actions {display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s3)}
.editor-row-actions button,.media-editor .text-link {min-height:44px}
.course-schedule {padding:0}
.course-schedule .availability-days {margin-top:var(--s3)}
.course-schedule .availability-day-heading {align-items:center}
.authoring-preview [hidden],.authoring-form [hidden] {display:none}
.authoring-preview ol {padding-left:var(--s5);font-size:var(--text-xs);color:var(--catalog-muted);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.authoring-preview li {margin-block:var(--s3)}
#preview-photos figure {margin:var(--s3) 0}
#preview-photos img {width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:var(--r1)}
#preview-photos figcaption {font-size:var(--text-xs);color:var(--catalog-muted);line-height:1.8;margin-top:var(--s2);overflow-wrap:anywhere}
body[data-editor="course"] .authoring-preview>img {height:auto;object-fit:contain}
@media(max-width:1000px) {.authoring-layout{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.authoring-preview{max-width:none}}
@media(max-width:767px) {.authoring-main{padding-block:var(--s5) var(--s10)}.authoring-heading{margin-block:var(--s5) var(--s6)}.authoring-section{padding:var(--s5)}.authoring-pair{grid-template-columns:minmax(0,1fr)}.authoring-actions .button{width:100%}}
@media(max-width:767px) {.description-photos{grid-template-columns:minmax(0,1fr)}.curriculum-unit{padding:var(--s4)}.course-schedule .availability-day-heading{align-items:start;flex-direction:column;gap:var(--s2)}}

/* Instructor workspace uses the same account shell as the dashboard. */
.authoring-workspace {--authoring-rail:340px;--authoring-sticky:112px;--authoring-preview-title:18px;--authoring-rail-height:780px;--device-stage-height:440px}
.authoring-workspace .authoring-nav {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s2);border:0;padding:0}
.authoring-workspace .authoring-nav a {justify-content:center;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r1);background:var(--white);white-space:nowrap}
.authoring-workspace .authoring-nav a span {font-size:var(--text-xs);color:var(--catalog-muted)}
.authoring-workspace .authoring-nav a:hover {background:var(--accent-soft)}
.authoring-workspace .authoring-nav a[aria-current] {background:var(--accent);border-color:transparent;color:var(--white)}
.authoring-workspace .authoring-nav a[aria-current] span {color:var(--white)}
.authoring-workspace .authoring-heading {margin-block:var(--s4) var(--s5)}
.authoring-workspace .authoring-heading h1 {font-size:var(--portal-heading)}
.course-review-notice {background:var(--white);border-radius:var(--r1);padding:var(--s5);font-size:var(--text-xs);line-height:1.85}
.course-review-notice>div {display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3)}
.course-review-notice strong {font-size:var(--text-sm)}
.course-review-notice p {color:var(--catalog-muted)}
.course-review-steps {display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);list-style:none;padding:0;margin-block:var(--s3)}
.course-review-steps li {color:var(--catalog-muted)}
.course-review-steps li[aria-current] {font-weight:700;color:var(--accent-hover)}
.status-pill.review-pending {background:var(--accent-soft);color:var(--accent-hover)}
.authoring-workspace .authoring-layout {grid-template-columns:minmax(0,1fr);gap:var(--s6)}
.authoring-workspace .authoring-form {grid-row:2}
.authoring-workspace .authoring-section {padding:var(--s6);scroll-margin-top:var(--authoring-sticky)}
.authoring-workspace .authoring-section h2 {font-size:var(--text-lg)}
.authoring-rail {grid-row:1;background:var(--white);padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:hidden}
.preview-rail-heading {padding:var(--s5) var(--s5) 0}
.preview-rail-heading h2 {font-size:var(--text-lg);margin-bottom:var(--s3)}
.preview-device-controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s1);padding:var(--s1);background:var(--surface);border-radius:var(--r1)}
.preview-device-controls button {min-height:44px;border:0;border-radius:var(--r1);background:transparent;font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}
.preview-device-controls button[aria-pressed="true"] {background:var(--accent-soft);color:var(--accent-hover)}
.preview-rail-heading #preview-device-label {margin-block:var(--s2) var(--s3)}
.preview-device-stage {position:relative;min-height:0;height:var(--device-stage-height);margin:0 var(--s3) var(--s3);overflow:hidden;border:1px solid var(--line);border-radius:var(--r1);background:var(--surface)}
.preview-device-stage iframe {position:absolute;top:0;left:0;max-width:none;border:0;transform-origin:top left;visibility:hidden;background:var(--surface)}
.preview-device-stage iframe.is-ready {visibility:visible}
.preview-rail-actions {display:grid;gap:var(--s3);padding:var(--s5);border-top:1px solid var(--line)}
.preview-rail-actions button {width:100%;min-height:44px}
.preview-rail-actions p {font-size:var(--text-xs)}
.preview-rail-actions .authoring-feedback:empty {display:none}
.authoring-workspace button:disabled {cursor:default;opacity:.65}
.authoring-workspace .authoring-status:empty {display:none}
.draft-preview-page {min-width:0}
.draft-preview-page h1 {font-size:var(--portal-title);line-height:1.4;margin-block:var(--s4);overflow-wrap:anywhere}
.draft-preview-page .draft-preview-layout {display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s6);align-items:start;margin-block:var(--s6)}
.draft-cover {width:100%;height:auto;aspect-ratio:3/2;max-height:480px;object-fit:contain;background:var(--surface);border-radius:var(--r2)}
.draft-cover-placeholder {display:grid;place-items:center;min-height:240px;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r2);font-size:var(--text-sm);color:var(--catalog-muted);padding:var(--s5);text-align:center}
.draft-summary {background:var(--accent-soft);border-radius:var(--r2);padding:var(--s6)}
.draft-summary h2 {font-size:var(--portal-heading);line-height:1.5;margin-bottom:var(--s4)}
.draft-summary p,.draft-body,.draft-unit p,.draft-gallery figcaption {font-size:var(--text-sm);line-height:1.9;color:var(--catalog-muted);white-space:pre-wrap;overflow-wrap:anywhere}
.draft-unit {margin-block:var(--s5)}
.draft-unit h3 {font-size:var(--text-base);margin-bottom:var(--s2);overflow-wrap:anywhere}
.draft-gallery {display:grid;gap:var(--s6)}
.draft-gallery figure {margin:0}
.draft-gallery img {display:block;max-width:100%;width:100%;height:auto;border-radius:var(--r1)}
.draft-contents {display:grid;gap:var(--s6)}
.draft-schedule {display:grid;gap:var(--s3);font-size:var(--text-sm)}
.draft-schedule>div {display:grid;grid-template-columns:var(--s16) minmax(0,1fr);gap:var(--s3)}
.draft-schedule dd {margin:0;line-height:1.8;overflow-wrap:anywhere}
@media(min-width:1024px) and (min-height:640px) {
 .authoring-workspace .authoring-layout {grid-template-columns:minmax(0,1fr) var(--authoring-rail);gap:var(--s6)}
 .authoring-workspace .authoring-form {grid-column:1;grid-row:1}
 .authoring-rail {grid-column:2;grid-row:1;position:sticky;top:var(--authoring-sticky);height:min(var(--authoring-rail-height),calc(100dvh - var(--authoring-sticky) - var(--s4)))}
 .preview-device-stage {height:auto}
}
@media(min-width:1024px) and (max-width:1279px) {.authoring-workspace .authoring-pair,.authoring-workspace .description-photos{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1100px) {.authoring-workspace .authoring-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199px) {.draft-preview-page .draft-preview-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px) {
 .authoring-workspace .authoring-section {padding:var(--s5)}
 .authoring-workspace .authoring-pair {grid-template-columns:minmax(0,1fr)}
 .course-review-notice {padding:var(--s4)}
 .draft-preview-page h1 {font-size:var(--portal-heading)}
 .draft-summary {padding:var(--s5)}
 .authoring-workspace .authoring-nav {grid-template-columns:repeat(2,minmax(0,1fr))}
}
body[data-preview-frame] {background:var(--surface)}
body[data-preview-frame]>.header,body[data-preview-frame]>.announcement,body[data-preview-frame]>.skip,body[data-preview-frame]>footer {display:none}
body[data-preview-frame] #main {width:100%;max-width:none;margin:0;padding:var(--s6)}
.draft-frame-brand {display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--s5);margin-bottom:var(--s5);border-bottom:1px solid var(--line);font-size:var(--text-sm)}
.draft-frame-brand img {width:89px;height:32px;object-fit:contain}
.authoring-profile .authoring-heading {margin-block:var(--s4) var(--s5)}
.authoring-profile .authoring-heading h1 {font-size:var(--portal-heading)}
@media(max-width:1279px) {.authoring-profile .authoring-layout{grid-template-columns:minmax(0,1fr);gap:var(--s6)}}
