:root{--ink: #0d0d0d;--muted: #6c6c6c;--surface: #fcfcf8;--surface-soft: #f7f7f2;--border: #e4e4dc;--page-start: #f5f5f0;--page-end: #ededeb;--lesson-accent: #1f3d2b;--lesson-accent-soft: #e7efe9;--lesson-practice: #2a3340;--lesson-practice-soft: #eef1f5;--lesson-hero-start: #10231a;--lesson-hero-end: #243b2f;--lesson-display: "Fraunces", Georgia, "Times New Roman", serif;--lesson-body: "Manrope", system-ui, sans-serif;font-family:var(--lesson-body);line-height:1.5;font-weight:400;color:var(--ink);background:var(--page-start);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,var(--page-start) 0%,var(--page-end) 100%)}button,input,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:88px 1fr}.sidebar{background:var(--sidebar-bg, #0d0d0d);color:var(--sidebar-text, #fafafa);padding:28px 22px;display:flex;flex-direction:column;justify-content:flex-start;gap:20px}.sidebar-top{display:grid;gap:16px;flex:0 0 auto}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.sidebar-toggle{width:40px;height:40px;border-radius:12px;border:1px solid #2b2b2b;background:transparent;color:var(--sidebar-text, #fafafa);font-size:1.1rem;line-height:1}.sidebar-collapsed .sidebar{padding:20px 12px;align-items:center}.sidebar-collapsed .sidebar nav{align-items:center;gap:8px}.sidebar-collapsed .nav-item,.sidebar-collapsed .ghost-btn{text-align:center;padding-inline:8px}.nav-item.nav-item-icon,.sidebar-collapsed .nav-item.nav-item-icon,.sidebar-collapsed .ghost-btn.nav-item-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:14px}.nav-item.nav-item-icon svg,.ghost-btn.nav-item-icon svg{display:block}.management-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.management-toolbar .search-field{flex:1 1 240px;margin-bottom:0}.management-toolbar-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto}.archive-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.archive-toggle input{margin:0}.pill-archived{background:#eeeaf3;color:#4f4668}.list-view-toggle{display:inline-flex;gap:6px;flex:0 0 auto}.list-view-toggle .ghost-btn.is-selected{background:#0d0d0d;color:#fafafa;border-color:#0d0d0d}.management-table-wrap{border:1px solid #e4e4dc;border-radius:18px;background:#fff;overflow-x:auto}.management-table{min-width:640px}.management-table-row{cursor:pointer}.management-table-row:hover td,.management-table-row:focus-visible td{background:#f7f7f2}.management-table-row:focus-visible{outline:2px solid #0d0d0d;outline-offset:-2px}.lesson-viewer{scroll-margin-top:96px}.sidebar-muted{color:var(--sidebar-text, #fafafa);opacity:.72}.sidebar-brand{display:grid;gap:4px}.sidebar-logo,.login-logo{max-height:48px;max-width:160px;object-fit:contain}.login-logo{max-height:56px;margin-bottom:12px}.brand{letter-spacing:.4rem;font-size:.75rem;margin:0 0 8px;color:var(--sidebar-text, #fafafa);opacity:.72}.sidebar h1{font-size:1.5rem;margin:0 0 8px}.muted{color:#6c6c6c;margin:0}.nav-item,.role-button,.ghost-btn,.primary-btn{border:1px solid #2b2b2b;background:transparent;color:inherit;border-radius:999px;padding:10px 14px;transition:all .18s ease}.nav-item:hover,.role-button:hover,.ghost-btn:hover,.primary-btn:hover{transform:translateY(-1px);border-color:#fafafa}.nav-item{width:100%;text-align:left;margin-bottom:0}.nav-item.active{background:var(--sidebar-text, #fafafa);color:var(--sidebar-bg, #0d0d0d)}.role-switcher{display:grid;gap:10px;margin-top:auto;flex:0 0 auto}.main-panel{padding:28px;display:grid;gap:20px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.eyebrow{text-transform:uppercase;letter-spacing:.35rem;font-size:.8rem;margin:0 0 6px;color:#6c6c6c}.topbar h2,.section-header h2{margin:0;font-size:clamp(1.2rem,2vw,1.7rem)}.topbar-actions{display:flex;gap:10px}.ghost-btn{background:#fbfbf9;color:#0d0d0d}.primary-btn{background:var(--ink);color:var(--surface)}.login-panel{min-height:100vh;display:grid;place-items:center;padding:40px 20px;background:linear-gradient(135deg,var(--page-end) 0%,var(--page-start) 100%)}.login-card{width:min(520px,100%);padding:32px;border-radius:28px;background:#fffffff2;box-shadow:0 24px 80px #0d0d0d1f}.user-chip{display:grid;gap:6px;padding:14px 16px;border-radius:20px;border:1px solid #2b2b2b;margin-bottom:10px}.user-email{font-size:.82rem;color:#bdbdb8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-link{color:#0d0d0d;text-decoration:none;border-bottom:1px solid #cfcfc8;width:fit-content}.contact-link:hover{border-bottom-color:#0d0d0d}.student-card{padding:18px;display:grid;gap:10px}.section-header.section-actions-only{align-items:flex-start}.section-header.section-actions-only .muted{margin:0;max-width:48rem}.users-access-note{margin:0 0 12px}.form-card{display:grid;gap:12px}.form-card label{display:grid;gap:6px}.branding-settings-card{gap:18px}.branding-identity{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.brand-logo-preview{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--border)}.brand-logo-preview-empty{display:grid;place-items:center;font-weight:700;font-size:1.4rem;color:var(--ink)}.branding-identity-copy h4{margin:0}.branding-field-row,.branding-upload-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.branding-upload-row{align-items:center}.brand-color-grid{display:grid;gap:12px;margin:0;padding:0;border:0}.brand-color-grid legend{font-weight:600;margin-bottom:8px}.brand-color-field{display:grid;grid-template-columns:1fr 48px minmax(96px,140px);gap:10px;align-items:center}.brand-color-field span{display:grid}.brand-color-field input[type=color]{width:48px;height:36px;padding:0;border:1px solid var(--border);background:transparent}@media(max-width:720px){.branding-field-row,.branding-upload-row,.brand-color-field{grid-template-columns:1fr}}.stats-grid,.content-grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:2fr 1fr}.card{background:#fffc;border:1px solid #d8d8d2;border-radius:20px;padding:18px;box-shadow:0 10px 30px #0d0d0d0a}.card.large{min-height:280px}.card-label,.card-heading span,.pill{color:#6c6c6c;text-transform:uppercase;letter-spacing:.28rem;font-size:.72rem}.card h3{margin:6px 0 0;font-size:1.2rem}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.card-heading h3{margin:0}.stack{display:grid;gap:12px}.list-item{padding:12px 0;border-bottom:1px solid #e4e4dc}.list-item:last-child{border-bottom:0}.list-item p,.task-list{margin:4px 0 0;color:#4b4b46}.task-list{padding-left:18px;display:grid;gap:8px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.progress-row,.meta-row,.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.course-card{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.course-card:hover,.course-card:focus-visible,.assignment-card:hover,.assignment-card:focus-visible{transform:translateY(-2px);border-color:#000;box-shadow:0 13px 35px #0d0d0d14}.assignment-card{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.assignment-detail-card{display:grid;gap:14px;align-content:start}.assignment-questions{display:grid;gap:10px}.assignment-question-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.assignment-question-item{padding:12px 14px;border:1px solid #e4e4dc;border-radius:10px;background:#fafaf7;display:grid;gap:4px}.assignment-question-section{margin:0;font-size:.85rem}.assignment-question-item p{margin:0}.assignment-answer-field{display:grid;gap:6px}.assignment-answer-field textarea{width:100%;min-height:96px;resize:vertical;border:1px solid #d8d8d0;border-radius:8px;padding:10px 12px;font:inherit;background:#fff}.assignment-answer-field textarea:disabled{background:#f3f3ef;color:#666}.assignment-evidence{display:grid;gap:10px}.assignment-link-btn{display:grid;gap:2px;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.assignment-link-btn:hover strong,.assignment-link-btn:focus-visible strong{text-decoration:underline}.action-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #d7d7cf;border-radius:999px;background:#fff;color:#111;cursor:pointer;text-decoration:none;flex-shrink:0}.action-icon-btn:hover,.action-icon-btn:focus-visible{border-color:#111;outline:none}.action-icon-btn:disabled{opacity:.45;cursor:not-allowed}.action-icon-btn.danger{color:#8a1f1f;border-color:#e2bcbc}.action-icon-btn.danger:hover,.action-icon-btn.danger:focus-visible{border-color:#8a1f1f}.action-link-btn{border:0;padding:0;background:transparent;color:#111;font:inherit;font-size:.92rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.action-link-btn:hover,.action-link-btn:focus-visible{opacity:.75;outline:none}.report-action-icons,.resource-download-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.resource-download-list{gap:10px}.resource-download-row{justify-content:space-between}.active-course{border-color:#000}.course-detail-card{min-height:220px}.lesson-panel{margin-top:16px;padding-top:12px;border-top:1px solid #e4e4dc}.lesson-list{gap:6px}.lesson-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #d8d8d2;background:#fcfcf8;border-radius:14px;padding:10px 12px;color:inherit;transition:border-color .16s ease,transform .16s ease}.lesson-item:hover,.lesson-item:focus-visible,.active-lesson{border-color:#0d0d0d;transform:translateY(-1px)}.lesson-index{width:28px;height:28px;border-radius:50%;background:#0d0d0d;color:#fafafa;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0}.lesson-copy{display:grid;gap:2px;flex:1;min-width:0}.lesson-copy strong{font-size:.95rem}.lesson-detail,.lesson-form{margin-top:14px;padding-top:12px;border-top:1px solid #e4e4dc;display:grid;gap:10px}.lesson-detail h4,.lesson-form h4{margin:0}.lesson-viewer{display:grid;gap:14px;align-self:start}.lesson-viewer .card-heading{align-items:flex-start}.heading-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ghost-btn.small,.upload-btn{padding:8px 12px;font-size:.85rem}.upload-btn{display:inline-flex;align-items:center;border:1px solid #cfcfc8;border-radius:999px;background:#fff;color:#0d0d0d;cursor:pointer;transition:border-color .16s ease,transform .16s ease}.upload-btn:hover{border-color:#0d0d0d;transform:translateY(-1px)}.lesson-editor{display:grid;gap:16px}.editor-section{display:grid;gap:14px;padding:16px;border:1px solid #e4e4dc;border-radius:16px;background:#fbfbf7}.editor-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-kicker{margin:0 0 4px;text-transform:uppercase;letter-spacing:.24rem;font-size:.68rem;color:#8a8a82}.editor-section-header h4,.material-panel-header h5,.lesson-form h4{margin:0}.editor-hint{font-size:.85rem;text-align:right;max-width:220px}.editor-fields{display:grid;grid-template-columns:1fr 160px;gap:12px}.editor-fields label,.quiz-builder label,.material-panel label{display:grid;gap:6px;font-size:.9rem;color:#3f3f3a}.field-span-2{grid-column:1 / -1}.materials-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.material-panel{display:grid;gap:12px;padding:14px;border-radius:14px;border:1px solid #e4e4dc;background:#fff;min-height:180px}.material-panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.empty-panel{display:grid;place-items:center;min-height:88px;border:1px dashed #d5d5cd;border-radius:12px;background:#f7f7f2;padding:16px;text-align:center}.empty-panel.compact{min-height:72px;padding:12px}.asset-grid{display:grid;gap:10px}.asset-card{border:1px solid #e4e4dc;border-radius:12px;background:#fcfcf8;overflow:hidden;display:grid}.asset-card img,.asset-card video{width:100%;max-height:220px;object-fit:cover;background:#ecece7}.asset-card audio{width:calc(100% - 16px);margin:10px 8px 0}.asset-link{display:block;padding:14px;color:#0d0d0d}.asset-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px}.asset-meta strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-lesson-viewer{display:grid;gap:12px;border:1px solid #e4e4dc;border-radius:14px;background:#f7f7f3;padding:14px;outline:none}.pdf-lesson-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.pdf-lesson-toolbar .muted{margin:2px 0 0}.pdf-lesson-canvas-wrap{overflow:auto;background:#ecece7;border-radius:10px;min-height:240px;display:flex;justify-content:center;align-items:flex-start;padding:12px}.pdf-lesson-canvas{max-width:100%;height:auto;box-shadow:0 8px 24px #141e281f;background:#fff}@media(max-width:720px){.pdf-lesson-toolbar{flex-direction:column}}.quiz-edit-list{display:grid;gap:8px}.quiz-edit-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid #e4e4dc;background:#fff}.quiz-edit-item.is-editing{border-color:#0d0d0d;box-shadow:inset 3px 0 #0d0d0d}.quiz-edit-copy{display:grid;gap:2px;flex:1;min-width:0}.quiz-edit-copy strong{font-size:.95rem}.quiz-edit-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.quiz-builder{display:grid;gap:12px;padding:14px;border-radius:14px;border:1px solid #e4e4dc;background:#fff}.builder-label{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.18rem;color:#8a8a82}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-label-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.correct-option input{border-color:#0d0d0d}.correct-tag{font-size:.68rem;letter-spacing:.12rem;text-transform:uppercase;color:#0d0d0d}.quiz-builder-footer{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.quiz-builder-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.quiz-builder-footer label{flex:1;min-width:160px}.quiz-builder-footer .primary-btn{min-width:140px}.quiz-take{display:grid;gap:12px}.quiz-option{display:flex;justify-content:flex-start;align-items:center;gap:12px}.quiz-question{border:1px solid #e4e4dc;border-radius:14px;padding:12px 14px;margin:0;display:grid;gap:8px}.quiz-question legend{padding:0 4px;font-weight:600}.quiz-score{font-weight:600}.error-text{color:#8a1f1f;margin:0}.success-text{color:#1f6b3a;margin:0}.password-card,.inline-reset-form{display:grid;gap:12px}.role-fieldset{border:1px solid #e4e4dc;border-radius:12px;padding:12px;margin:0;display:grid;gap:8px}.role-fieldset legend{padding:0 4px}.role-check{display:flex;align-items:center;gap:8px}.role-buttons{display:flex;flex-wrap:wrap;gap:8px}.role-button{border:1px solid #2b2b2b;background:transparent;color:#fafafa;border-radius:999px;padding:8px 12px;text-transform:capitalize}.role-button.active{background:var(--sidebar-text, #fafafa);color:var(--sidebar-bg, #0d0d0d)}.content-section{display:grid;gap:10px;padding-top:8px;border-top:1px solid #e4e4dc}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-guide-section{padding-top:4px}.content-section h4{margin:0}.pill-complete{color:#0d0d0d}.pill-draft{background:#f0ebe3;color:#5a4632;border-color:#e0d5c6}.pill-inactive{background:#ecece7;color:#6b6b66;border-color:#d0d0c8}.form-card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.muted-card{opacity:.85}.course-workspace{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:16px;align-items:start}.course-lesson-rail,.course-workspace-main{min-height:420px}.course-lesson-rail{display:grid;gap:14px;align-content:start}.lesson-rail-body{display:grid;gap:14px}.mobile-lesson-summary{display:none;gap:4px}.mobile-only-btn{display:none}.mobile-lesson-summary p{margin:0}.mobile-lesson-summary strong{font-size:.98rem}.lesson-summary{margin:0;font-size:1.05rem;color:#1f1f1c}.lesson-hero{position:relative;overflow:hidden;border-radius:18px;padding:22px 22px 20px;color:#f7faf7;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.14),transparent 40%),linear-gradient(135deg,var(--lesson-hero-start),var(--lesson-hero-end));animation:lesson-hero-in .42s ease both}.lesson-hero-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.22rem;font-size:.68rem;opacity:.78}.lesson-hero-copy{margin:0;max-width:42rem;font-family:var(--lesson-display);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.35;font-weight:500}.lesson-body{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.lesson-content-blocks{display:grid;gap:14px}.lesson-body p,.lesson-paragraph,.lesson-empty-copy{margin:0;color:#1f1f1c;line-height:1.65}.lesson-block-heading{margin:4px 0 0;font-family:var(--lesson-display);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.lesson-block-label{display:inline-block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.18rem;font-size:.68rem;font-weight:600}.lesson-callout,.lesson-practice{border-radius:14px;padding:14px 16px;border:1px solid var(--border);background:var(--surface-soft)}.lesson-callout p,.lesson-practice p{margin:0;color:#1c1c19}.lesson-callout.is-emphasized{border-color:#c7d9cd;background:var(--lesson-accent-soft)}.lesson-callout.is-emphasized .lesson-block-label{color:var(--lesson-accent)}.lesson-practice.is-emphasized{border-color:#cfd6e0;background:var(--lesson-practice-soft)}.lesson-practice.is-emphasized .lesson-block-label{color:var(--lesson-practice)}.lesson-steps,.lesson-bullets{margin:0;padding-left:1.2rem;display:grid;gap:8px;color:#242421}.lesson-steps li,.lesson-bullets li{padding-left:4px}.lesson-divider{border:0;border-top:1px solid #e0e0d8;margin:4px 0}.youtube-section h4,.content-section h4{margin:0 0 10px}.youtube-grid{display:grid;gap:14px}.youtube-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 30px #1018120a;animation:lesson-rise .38s ease both}.youtube-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#111}.youtube-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.youtube-external{display:grid;place-items:center;min-height:120px;padding:20px;background:linear-gradient(135deg,#111,#2a2a2a);color:#fff;text-decoration:none;font-weight:600}.youtube-builder{display:grid;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--border);background:#fff}.editor-markup-hint code{font-size:.85em;background:#efefe8;padding:1px 5px;border-radius:6px}.presentation-settings-card{margin-top:16px}.presentation-theme-picker{border:0;margin:0;padding:0;display:grid;gap:10px}.presentation-theme-picker legend{margin-bottom:4px;font-weight:600}.theme-option-grid{display:grid;gap:10px}.theme-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;cursor:pointer}.theme-option span{display:grid;gap:4px}.theme-option.is-selected{border-color:#0d0d0d;background:#f4f4ef}.lesson-viewer.presentation-studio .lesson-block-heading{color:var(--lesson-accent)}.lesson-viewer.presentation-editorial{--lesson-hero-start: #1c1915;--lesson-hero-end: #3a3228;--lesson-accent: #5a4632;--lesson-accent-soft: #f3ebe1;--lesson-practice: #3d342b;--lesson-practice-soft: #f7f1ea}.lesson-viewer.presentation-editorial .lesson-body{background:#fffaf3;border-color:#e8dccf}.lesson-viewer.presentation-editorial .lesson-block-heading{font-size:1.35rem}.lesson-viewer.presentation-minimal{--lesson-hero-start: #171717;--lesson-hero-end: #2d2d2d;--lesson-accent: #222;--lesson-accent-soft: #f0f0ee;--lesson-practice-soft: #f3f3f1}.lesson-viewer.presentation-minimal .lesson-hero,.lesson-viewer.presentation-minimal .lesson-body,.lesson-viewer.presentation-minimal .youtube-card,.lesson-viewer.presentation-minimal .lesson-callout,.lesson-viewer.presentation-minimal .lesson-practice{border-radius:10px}.lesson-viewer.density-compact .lesson-content-blocks,.lesson-viewer.density-compact .lesson-reader.stack{gap:10px}.lesson-viewer.density-compact .lesson-body{padding:12px}.lesson-viewer.density-compact .lesson-hero{padding:16px}.lesson-viewer.density-compact .lesson-hero-copy{font-size:1.05rem}@keyframes lesson-hero-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes lesson-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lesson-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.progress-bar{flex:1;min-width:120px;height:8px;border-radius:999px;background:#ecece7;overflow:hidden}.progress-bar span{display:block;height:100%;background:#0d0d0d}.form-card{display:grid;gap:12px;align-self:start}.form-card label,.settings-card{display:grid;gap:6px}input,textarea,select{border:1px solid #d8d8d2;border-radius:12px;padding:10px 12px;background:#fcfcf8}textarea{resize:vertical}.settings-card{gap:16px}.email-templates-card{margin-top:16px}.certificate-templates-card{margin-top:16px;display:grid;gap:16px}.certificate-config-card{display:grid;gap:14px;margin-top:16px;align-content:start}.certificate-style-picker{margin-top:4px}.certificate-logos,.certificate-logo-list{display:grid;gap:10px}.certificate-logo-item{display:flex;align-items:center;gap:12px}.certificate-logo-item img{width:72px;height:48px;object-fit:contain;border:1px solid #e4e4dc;border-radius:8px;background:#fff}.certificate-template-apply,.certificate-template-save{display:grid;gap:10px;grid-template-columns:1fr auto;align-items:end}.certificate-placeholders{margin:0;font-size:.85rem}.certificate-preview{display:grid;gap:10px;padding-top:4px;border-top:1px solid #e4e4dc}.certificate-preview-frame{overflow:auto;padding:16px;border-radius:12px;background:#ecece7}.course-overview-panel{display:grid;gap:18px}.course-overview-panel h3{margin:0}.course-overview-section{display:grid;gap:8px}.course-overview-section h4{margin:0;font-size:.95rem}.course-overview-section ul{margin:0;padding-left:1.2rem;display:grid;gap:6px}.course-overview-meta{display:grid;gap:12px}.learning-path-section{padding-top:4px}.learning-path-list,.lesson-module-rail{display:grid;gap:12px}.learning-path-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px;border-radius:14px;border:1px solid #e4e4dc;background:#fcfcf8;cursor:pointer;transition:border-color .16s ease,transform .16s ease}.learning-path-item:hover{border-color:#0d0d0d;transform:translateY(-1px)}.learning-path-item.is-locked,.lesson-item.is-locked,.lesson-module-group.is-locked{opacity:.52;filter:grayscale(.4)}.learning-path-item.is-locked:hover,.lesson-item.is-locked:hover{border-color:#e4e4dc;transform:none}.learning-path-item:disabled,.lesson-item:disabled{cursor:not-allowed}.sponsor-certificate-preview .certificate-preview-frame{margin-top:10px}.class-materials-panel{display:grid;gap:16px;margin-top:8px}.class-detail-layout{gap:16px}.class-people-card{display:grid;gap:14px}.class-people-tabs{flex-wrap:wrap}.class-people-panel{display:grid;gap:12px}.class-people-panel .card-heading h4{margin:0}.class-modules-card .class-module-list{display:grid;gap:14px}.class-module-group{display:grid;gap:8px;padding:12px;border-radius:14px;border:1px solid #e4e4dc;background:#fcfcf8}.class-module-group.is-locked{opacity:.55;filter:grayscale(.35)}.class-materials-workspace{min-width:0}.class-materials-workspace .course-overview-panel,.class-materials-workspace .lesson-viewer{margin:0}.learning-path-index,.lesson-module-header .pill{flex-shrink:0}.learning-path-index{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#0d0d0d;color:#f7f7f2;font-size:.85rem;font-weight:600}.learning-path-copy,.lesson-module-header>div{display:grid;gap:2px;flex:1;min-width:0}.learning-path-copy strong,.lesson-module-header h4{margin:0;font-size:.98rem}.module-edit-list{display:grid;gap:10px}.module-edit-item{display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px;border-radius:12px;border:1px solid #e4e4dc;background:#fff}.module-edit-index{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#0d0d0d;color:#f7f7f2;font-size:.85rem;font-weight:600;flex-shrink:0;margin-top:22px}.module-edit-fields{display:grid;gap:6px;flex:1;min-width:0}.module-edit-inputs{display:grid;grid-template-columns:minmax(90px,120px) minmax(0,1fr);gap:10px}.module-edit-inputs label{display:grid;gap:4px;font-size:.85rem;color:#4b4b45}.module-edit-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;padding-top:22px}@media(max-width:720px){.module-edit-item{flex-direction:column}.module-edit-index,.module-edit-actions{margin-top:0;padding-top:0}.module-edit-inputs{grid-template-columns:1fr}}.overview-editor{margin-top:4px}.lesson-module-group{display:grid;gap:8px;padding:12px;border-radius:16px;border:1px solid #ebebe3;background:linear-gradient(180deg,#fbfbf7,#f6f6f1)}.lesson-module-header{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:2px 2px 6px}.lesson-module-header .section-kicker{margin:0 0 2px}.multi-select-list{display:grid;gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid #e4e4dc;border-radius:12px;background:#fcfcf8}.multi-select-option{display:flex;align-items:flex-start;gap:10px;margin:0}.multi-select-option input{margin-top:3px}.multi-select-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.code-lab-panel,.code-lab-editor{display:grid;gap:12px}.ide-window{border:1px solid #1f1f1f;border-radius:14px;overflow:hidden;background:#121212;color:#f3f3ee;box-shadow:0 18px 40px #0000002e}.ide-titlebar{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#1a1a1a;border-bottom:1px solid #2a2a2a;flex-wrap:wrap}.ide-dots{display:inline-flex;gap:6px}.ide-dots span{width:10px;height:10px;border-radius:50%;background:#3a3a3a}.ide-dots span:nth-child(1){background:#ff5f57}.ide-dots span:nth-child(2){background:#febc2e}.ide-dots span:nth-child(3){background:#28c840}.ide-tabs{display:inline-flex;gap:6px;flex:1 1 auto;min-width:0}.ide-tab{padding:6px 10px;border-radius:8px;font-size:.8rem;color:#9a9a92;background:transparent}.ide-tab.is-active{color:#f5f5f0;background:#2a2a2a}.ide-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid #2a2a2a;background:#161616}.ide-toolbar .muted{color:#b0b0a8}.ide-editor{border:0;border-radius:0;min-height:260px}.ide-output{border:0;border-top:1px solid #2a2a2a;border-radius:0;background:#0d0d0d;color:#e8e8e2}.ide-output-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#8f8f86}.ide-readme{padding:18px 16px 20px;background:linear-gradient(90deg,#1b1b1b 48px,transparent 48px),#141414;color:#f4f4ef;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.55}.ide-readme .lesson-block-heading,.ide-readme h4,.ide-readme p,.ide-readme li,.ide-readme .lesson-steps,.ide-readme .lesson-bullets,.ide-readme .lesson-paragraph,.ide-readme .lesson-empty-copy,.ide-readme .lesson-block-label{color:#f4f4ef}.ide-readme .lesson-callout,.ide-readme .lesson-practice{background:#1d1d1d;border-color:#444}.ide-readme .lesson-callout p,.ide-readme .lesson-practice p{color:#f4f4ef}.technical-reader .lesson-hero{border-color:#222;background:#111;color:#f2f2ec}.technical-reader .lesson-hero-copy,.technical-reader .lesson-summary{color:#ebebe4}.code-lab-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.code-editor-label{display:block}.code-editor{width:100%;min-height:180px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.45;white-space:pre;-moz-tab-size:2;tab-size:2;background:#0f0f0f;color:#f5f5f0;border:1px solid #222;border-radius:12px;padding:14px}.code-lab-result{display:grid;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid #e4e4dc;background:#f7f7f2}.code-lab-result pre{margin:0;white-space:pre-wrap;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}.code-lab-result.is-pass{border-color:#2f5d3f;background:#132018}.code-lab-result.is-fail{border-color:#6d3030;background:#211414}.compact-check{margin:0}.primary-btn.small,.ghost-btn.small{font-size:.85rem}.ghost-btn.danger-btn{color:#8a1f1f;border-color:#e4c4c4}.ghost-btn.danger-btn:hover{background:#f8ecec;border-color:#d9a3a3}.ide-titlebar .ghost-btn,.ide-titlebar .primary-btn{color:inherit}.ide-titlebar .ghost-btn{border-color:#444;background:#222}.ide-titlebar .primary-btn{background:#f5f5f0;color:#111;border-color:#f5f5f0}.email-template-block{display:grid;gap:10px;padding-top:12px;border-top:1px solid #ecece7}.email-template-block h4{margin:0}.email-preview{display:grid;gap:6px;padding:12px;border-radius:12px;background:#f7f7f2;border:1px solid #e4e4dc}.email-preview pre{margin:0;white-space:pre-wrap;font-family:inherit;color:#333}.email-status-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;border-radius:14px;border:1px solid #e4e4dc;background:#fff}.enrollment-panel{display:grid;gap:10px;padding-top:12px;border-top:1px solid #e4e4dc}.enrollment-panel h4{margin:0}.class-detail-card{display:grid;gap:14px;align-content:start}.class-report-card,.academic-record-panel{display:grid;gap:14px}.academic-record-block{padding-top:4px}.academic-record-block+.academic-record-block{margin-top:8px;padding-top:14px;border-top:1px solid #e4e4dc}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse}.report-table th,.report-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #e4e4dc;vertical-align:top}.report-table th{font-size:.72rem;letter-spacing:.18rem;text-transform:uppercase;color:#6c6c6c;font-weight:600}.report-email{margin-top:2px}.status-select{min-width:120px}.status-chip{display:inline-flex;padding:4px 10px;border-radius:999px;border:1px solid #d8d8d2;font-size:.85rem}.status-active{background:#eef6ee}.status-at-risk{background:#f8f0e4}.status-completed{background:#ecece7}.status-withdrawn{background:#f6ecec}.enrollment-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.compact-stack{gap:8px}.search-field{position:relative;display:block;width:100%}.search-field input[type=search]{width:100%;padding-right:72px}.search-clear{position:absolute;top:50%;right:10px;transform:translateY(-50%);border:0;background:transparent;color:#6c6c6c;padding:4px 8px;font-size:.85rem;cursor:pointer}.search-clear:hover{color:#0d0d0d}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toggle-row{padding:10px 0;border-bottom:1px solid #ecece7}.toggle-row:last-child{border-bottom:0}input[type=checkbox]{width:20px;height:20px;accent-color:#0d0d0d}.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin:4px 0 8px;font-size:.95rem;color:#2d2d2a}.checkbox-row input{margin-top:3px;flex-shrink:0}@media(max-width:900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #2a2a2a}.app-shell.sidebar-collapsed .sidebar{padding:10px 12px;gap:10px;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.app-shell.sidebar-collapsed .sidebar-top{gap:10px;flex:0 0 auto}.app-shell.sidebar-collapsed nav{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 auto;min-width:0}.app-shell.sidebar-collapsed .nav-item{width:auto;min-width:40px;margin-bottom:0;text-align:center;padding:8px 10px}.app-shell.sidebar-collapsed .nav-item-icon{width:40px;height:40px;min-width:40px;padding:0}.management-toolbar{margin-bottom:12px}.app-shell.sidebar-collapsed .role-switcher{flex:0 0 auto;margin-left:auto}.app-shell.sidebar-collapsed .role-switcher .ghost-btn{width:auto;margin:0}.stats-grid,.content-grid,.course-workspace,.editor-fields,.materials-grid,.option-grid{grid-template-columns:1fr}.course-lesson-rail,.course-workspace-main,.card.large,.empty-state{min-height:0}.mobile-only-btn{display:inline-flex}.mobile-lesson-summary{display:grid}.course-workspace.lesson-focus{gap:12px}.course-workspace.lesson-focus .course-lesson-rail{padding:14px}.section-header .eyebrow,.topbar-actions{display:none}.lesson-viewer .lesson-hero{padding:14px 16px}.lesson-viewer .lesson-hero-copy{font-size:1.05rem}.enrollment-panel p.muted{font-size:.9rem}.editor-hint{text-align:left;max-width:none}}@media(max-width:640px){.main-panel{padding:14px;gap:14px}.topbar,.section-header{flex-direction:column;align-items:flex-start;gap:10px}.topbar h2,.section-header h2{font-size:1.35rem;line-height:1.25}.course-workspace{gap:12px}.youtube-card{box-shadow:none}.certificate-template-apply,.certificate-template-save{grid-template-columns:1fr}}.lesson-requirement-card .muted-card{display:grid;gap:10px;padding:16px;border:1px solid #e4e4dc;border-radius:16px;background:#fafaf7}
