:root{
 --maroon:#6c1832;--maroon-dark:#481022;--maroon-soft:#8a2747;
 --cream:#f5eee5;--cream2:#fbf7f2;--paper:#fffdf9;--ink:#211f20;
 --muted:#756f70;--line:#ded7d1;--green:#176936;--red:#9b2c2c
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#f7f5f2}
h1,h2,h3{margin-top:0}h1,h2,h3,.brand{font-family:Georgia,"Times New Roman",serif}
a{color:inherit}.muted{color:var(--muted);line-height:1.65}.danger{color:var(--red)}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--maroon)}
.authbg{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f8f2eb 0%,#fff 56%,#efe7df 100%)}
.auth{width:min(1040px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}
.auth>section:first-child{padding:20px}
.auth>section:first-child h1{font-size:48px;line-height:1.08;color:var(--maroon);margin:15px 0}
.auth>section:first-child p{font-size:18px;line-height:1.7;max-width:650px}
.mark{width:58px;height:58px;border-radius:17px;background:var(--maroon);color:#fff;display:grid;place-items:center;font-weight:900;font-size:19px;box-shadow:0 10px 25px rgba(108,24,50,.16)}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span,.badge{border:1px solid var(--line);background:rgba(255,255,255,.86);padding:7px 11px;border-radius:999px;font-size:12px}
.login,.setup{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:29px;box-shadow:0 18px 45px rgba(60,35,35,.08)}
.setup{width:min(700px,100%)}.setup h1,.login h2{color:var(--maroon)}
.form{display:grid;gap:15px}.form h3{color:var(--maroon);margin-bottom:0}
.form label{display:grid;gap:7px;font-size:13px;font-weight:800}
.form input,.form select{min-height:47px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;outline:none}
.form input:focus,.form select:focus{border-color:#b8939f;box-shadow:0 0 0 3px rgba(108,24,50,.07)}
.check{display:flex!important;align-items:center!important;gap:9px!important}.check input{min-height:auto;width:17px;height:17px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:10px;border:1px solid var(--line);padding:9px 14px;background:#fff;text-decoration:none;font-weight:800;cursor:pointer;transition:.15s ease}
.btn:hover{background:var(--cream);color:var(--maroon)}
.btn.primary{background:var(--maroon);border-color:var(--maroon);color:#fff}.btn.primary:hover{background:#eadfce;color:var(--maroon);border-color:#d9cab7}
.btn.small{min-height:34px;font-size:12px;padding:6px 9px}
.alert{padding:12px 14px;border-radius:11px;margin:0 0 14px;border:1px solid var(--line)}
.alert.success{background:#eaf6ee}.alert.error{background:#fdecec}.alert.info{background:#f1f5ff}
.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}
.side{background:linear-gradient(180deg,var(--maroon-dark),#3c0c1b);color:#fff;padding:23px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{font-size:25px;font-weight:800}.sub{font-size:11px;opacity:.68;margin:4px 0 24px}
.side nav{display:grid;gap:6px}.side nav a{padding:11px 12px;border-radius:10px;text-decoration:none;font-size:14px}
.side nav a:hover,.side nav a.active{background:rgba(255,255,255,.12)}
.sidefoot{margin-top:auto;border-top:1px solid rgba(255,255,255,.18);padding-top:16px;font-size:12px;display:grid;gap:4px}
.sidefoot span{opacity:.72}.sidefoot a{margin-top:8px}
main{padding:25px;min-width:0;max-width:1600px;width:100%;margin:0 auto}
.top{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}
.top h1{font-size:31px;color:var(--maroon);margin-bottom:4px}.top p{margin:0;color:var(--muted)}
.hero{background:linear-gradient(120deg,#fff7ed,#fff);border:1px solid var(--line);border-radius:18px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero h2{font-size:31px;color:var(--maroon);margin:5px 0}.hero p{max-width:720px;color:var(--muted);line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.stats article,.card,.course,.teacherstage,.whiteboard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}
.stats article{min-height:105px;display:flex;flex-direction:column;justify-content:center}
.stats b{display:block;font-size:29px;color:var(--maroon)}.stats span{display:block;margin-top:5px;color:var(--muted);font-size:13px}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card h3{color:var(--maroon)}
.resources-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.resources-page>.card,.resources-page .form,.resources-page .formgrid,.resources-page .form label{min-width:0}
.resources-page .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.resources-page .form input,.resources-page .form select,.resources-page .form button{display:block;width:100%;max-width:100%;min-width:0}
.resources-page input[type="file"]{overflow:hidden;padding:8px;font-size:12px}
.resources-page .resource-upload-progress{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}
.resources-page .resource-upload-progress p{margin:10px 0 0;line-height:1.45;overflow-wrap:anywhere}
.resources-page .resource-library-row{align-items:flex-start;min-width:0}
.resources-page .resource-library-copy{min-width:0;flex:1;overflow-wrap:anywhere}
.resources-page .resource-library-copy small{display:block;margin-top:6px;font-size:12px}
.resources-page .resource-library-row>.actions{flex:0 0 auto}
@media(max-width:1100px){.resources-page{grid-template-columns:1fr}}
@media(max-width:600px){.resources-page .formgrid{grid-template-columns:1fr}.resources-page .resource-library-row{align-items:stretch;flex-direction:column}.resources-page .resource-library-row>.actions{width:100%}.resources-page .resource-library-row>.actions .btn{flex:1}}
.card.narrow{max-width:760px}
.rows>div,.bookrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.rows>div:last-child,.bookrow:last-child{border-bottom:0}.rows span,.bookrow span,.bookrow small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.teacher{display:flex;align-items:center;gap:12px}.avatar{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:var(--cream);border:1px solid var(--line);font-weight:900;color:var(--maroon)}
.avatar.big{width:72px;height:72px;border-radius:20px;font-size:22px}
.progress{height:9px;border-radius:99px;background:#e8e2dd;overflow:hidden}.progress span{display:block;height:100%;background:var(--maroon);border-radius:99px}
.uploadbox{margin-top:15px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff}.uploadbox b{display:block;margin-top:8px}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.coursegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.course{padding:20px}
.course h3{color:var(--maroon);margin:7px 0}.course p{color:var(--muted)}
.courseicon{width:54px;height:54px;border-radius:15px;background:var(--cream);color:var(--maroon);display:grid;place-items:center;font-weight:900;margin-bottom:15px}
.course .btn{width:100%;margin-top:15px}
.classroom{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:14px}
.teacherstage{min-height:650px}
.teacherhead{display:flex;align-items:center;gap:14px}.teacherhead>div:nth-child(2){min-width:0;flex:1}
.teacherhead h2{color:var(--maroon);margin:3px 0}.teacherhead p{margin:0;color:var(--muted)}
.status{margin-left:auto;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900}
.status.off{background:#f2f2f2;color:#666}.status.on{background:#e7f6ec;color:var(--green);border-color:#b9dfc5}
.transcript{margin-top:18px;height:430px;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.msg{max-width:84%;padding:11px 13px;border-radius:12px;margin:9px 0;line-height:1.5}
.msg p{margin:4px 0 0}.msg.teacher{background:#f4ece7;margin-right:9%}.msg.student{background:#f2f4f7;margin-left:auto}
.classcontrols{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.whiteboard{margin:0}.whiteboard h3{color:var(--maroon)}
.board{min-height:325px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;display:grid;align-content:start;gap:6px}
.board span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.board strong{margin-bottom:9px}.board hr{width:100%;border:0;border-top:1px solid var(--line)}
.mastery{display:grid;gap:17px}.mastery p{display:flex;justify-content:space-between;margin:0 0 7px}
.diag>div{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.ok{color:var(--green)}.bad{color:var(--red)}
.fatal{max-width:720px;margin:70px auto;background:#fff;border:1px solid var(--line);padding:28px;border-radius:18px;box-shadow:0 18px 45px rgba(60,35,35,.08)}
@media(max-width:980px){.coursegrid{grid-template-columns:repeat(2,1fr)}.classroom{grid-template-columns:1fr}}
@media(max-width:900px){.auth{grid-template-columns:1fr}.auth>section:first-child{padding:4px}.auth>section:first-child h1{font-size:38px}.shell{grid-template-columns:1fr}.side{position:static;height:auto}.side nav{grid-template-columns:repeat(2,1fr)}.sidefoot{margin-top:18px}.stats{grid-template-columns:repeat(2,1fr)}.twocol,.coursegrid{grid-template-columns:1fr}main{padding:16px}.hero{flex-direction:column;align-items:flex-start}}

.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-head h3{margin-bottom:4px}.book-main{min-width:0;flex:1}.index-status-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px}.index-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 9px;border:1px solid var(--line);font-size:11px;font-weight:900;background:#fff}.status-dot{width:8px;height:8px;border-radius:50%;background:#999}.status-processing .status-dot{background:#b7791f;animation:pulse 1.2s infinite}.status-completed .status-dot{background:#176936}.status-failed .status-dot{background:#9b2c2c}.status-not_indexed .status-dot{background:#777}.status-detail{font-size:12px!important;color:var(--muted)!important;margin-top:0!important}.index-progress-wrap{margin-top:9px;max-width:430px}.index-progress-wrap small{display:block;margin-top:6px;color:var(--muted)}.indeterminate{position:relative;height:7px;overflow:hidden;border-radius:999px;background:#ebe5df}.indeterminate span{position:absolute;left:-35%;top:0;height:100%;width:35%;background:var(--maroon);border-radius:999px;animation:indeterminate 1.35s infinite ease-in-out}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#fff;border:1px solid var(--line);box-shadow:0 14px 35px rgba(0,0,0,.14);border-radius:12px;padding:12px 15px;max-width:360px;font-weight:700}.toast.success{background:#ecf8ef}.toast.error{background:#fff0f0}.toast.info{background:#fff}.js-index:disabled{opacity:.65;cursor:wait}@keyframes indeterminate{0%{left:-35%}55%{left:45%}100%{left:100%}}@keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}

.connection-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.connection-strip>div{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px}
.connection-strip strong{display:block;margin-top:3px;font-size:13px}.mini-label{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.status.connecting{background:#fff3d7;color:#8a5a00;border-color:#ead09b}.readytext{color:#176936}.warntext{color:#9a6500}
.class-help{font-size:12px;color:var(--muted);margin-bottom:0}.teacherstage #remoteTeacherAudio{display:none}
@media(max-width:700px){.connection-strip{grid-template-columns:1fr}}

/* Professional Academic School System */
textarea{font:inherit;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;outline:none;resize:vertical}textarea:focus{border-color:#b8939f;box-shadow:0 0 0 3px rgba(108,24,50,.07)}
.schoolhero{background:linear-gradient(120deg,#fff8ef,#fffdf9 60%,#f5e8e8)}.heroactions{display:flex;gap:8px;flex-wrap:wrap}.hero.compact{padding:20px;margin-bottom:14px}.hero.compact h2{font-size:26px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.healthgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.healthgrid>div{padding:12px;border:1px solid var(--line);border-radius:12px}.healthgrid span,.healthgrid b{display:block}.healthgrid span{font-size:11px;color:var(--muted);text-transform:uppercase}.healthgrid b{margin-top:4px}
.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.form.horizontal{grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end}.form.horizontal .grow{grid-column:span 2}.form.horizontal button{align-self:end}.wide{width:100%}.smalltext{font-size:12px}
.course-top{display:flex;align-items:flex-start;justify-content:space-between}.course-teacher{display:flex;align-items:center;gap:7px;margin-top:12px;color:var(--muted);font-size:12px}.avatar.tiny{width:30px;height:30px;border-radius:8px;font-size:10px;flex:none}.course-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:15px}.course-actions .btn{margin:0}
.curriculum-list{display:grid;gap:10px;max-height:720px;overflow:auto}.curriculum-list article{border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff}.curriculum-list h4{margin:5px 0;font-family:Georgia,serif;color:var(--maroon)}.curriculum-list p{margin:6px 0;line-height:1.5}.meta-line{display:flex;gap:10px;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}
.lesson-list{display:grid;gap:10px}.lesson-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:17px}.lesson-num{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--cream);color:var(--maroon);font-weight:900}.lesson-card h3{margin:4px 0;color:var(--maroon)}.lesson-card p{margin:4px 0;color:var(--muted)}.lesson-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:14px}.lesson-main{display:grid;gap:12px}.lesson-banner,.lesson-step{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.lesson-banner h2{color:var(--maroon);margin:5px 0}.lesson-step{display:grid;grid-template-columns:42px 1fr;gap:13px}.lesson-step>span{width:38px;height:38px;border-radius:12px;background:var(--maroon);color:#fff;display:grid;place-items:center;font-weight:900}.lesson-step h3{color:var(--maroon);margin:3px 0 8px}.lesson-step p{line-height:1.7}.lesson-step.check{background:#fffaf4}.lesson-side{align-self:start;position:sticky;top:20px}.keypoints{padding-left:20px;line-height:1.65}.keypoints li{margin-bottom:8px}
.fallback-box{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.fallback-transcript{max-height:250px;overflow:auto;display:grid;gap:7px}.fallback-msg{padding:9px 11px;border-radius:10px;max-width:88%}.fallback-msg.teacher{background:#f4ece7}.fallback-msg.student{background:#eef2f5;margin-left:auto}.fallback-msg p{margin:3px 0}.inline-form{display:flex;gap:7px;margin-top:10px}.inline-form input{flex:1;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.student-text-fallback{margin:0 0 16px;border:1px solid var(--line);padding:16px 18px}.student-text-fallback>summary{cursor:pointer;color:var(--maroon);font-weight:900;line-height:1.4}.student-text-fallback[open]>summary{margin-bottom:16px}.student-text-fallback .section-head{padding-top:4px}@media(max-width:600px){.student-text-fallback .section-head{display:block}.student-text-fallback .badge{display:inline-flex;margin-top:8px}.student-text-fallback .inline-form{align-items:stretch;flex-direction:column}.student-text-fallback .inline-form .btn{width:100%}}
.homework-grid,.assessment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.assignment p{line-height:1.6}.gradebox{background:#f5f7f5;border:1px solid var(--line);border-radius:10px;padding:10px}.submission-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.grade-form{display:grid;grid-template-columns:90px 230px auto;gap:7px}.grade-form input{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.question-list,.note-list{display:grid;gap:9px;max-height:780px;overflow:auto}.question-list article,.note-list article{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.question-list p,.note-list p{line-height:1.55}.assessment .btn{width:100%;margin-top:16px}.assessment-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.score-ring{margin:14px 0;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;justify-content:space-between}.score-ring b{color:var(--maroon);font-size:24px}.score-ring span{align-self:center;color:var(--muted)}
.assessment-paper{max-width:1000px;margin:auto}.paper-head{display:flex;justify-content:space-between;gap:15px;border-bottom:2px solid var(--maroon);padding-bottom:12px}.paper-head h2{color:var(--maroon);margin:4px 0}.paper-head>div:last-child{text-align:right}.paper-head span{display:block;color:var(--muted)}.exam-question{padding:18px 0;border-bottom:1px solid var(--line)}.qhead{display:flex;justify-content:space-between}.option-list{display:grid;gap:7px}.option-list label{font-weight:500}.result-hero{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.result-hero h2{font-size:42px;color:var(--maroon);margin:2px 0}.review-list article{padding:13px;border-left:4px solid var(--line);margin-bottom:8px;background:#fff}.review-list article.correct{border-left-color:var(--green)}.review-list article.incorrect{border-left-color:var(--red)}
.timeline{max-width:1000px}.dayhead{font-family:Georgia,serif;color:var(--maroon);margin:20px 0 8px}.timeline article{display:grid;grid-template-columns:70px 1fr auto;gap:13px;align-items:center;padding:11px;border-left:3px solid var(--maroon);background:#fff;border-bottom:1px solid var(--line)}.timeline time{font-weight:900;color:var(--maroon)}.timeline span{display:block;color:var(--muted);font-size:12px}.attendance-layout{grid-template-columns:.55fr 1.45fr}.event-list{display:grid;gap:6px}.event-list a{padding:10px;border:1px solid var(--line);border-radius:9px;text-decoration:none}.event-list a.active{background:var(--cream)}.event-list span{display:block;color:var(--muted);font-size:11px}.attendance-table>div{display:grid;grid-template-columns:1fr 120px 90px 1fr;gap:7px;padding:8px 0;border-bottom:1px solid var(--line)}.attendance-table input,.attendance-table select{min-height:37px;border:1px solid var(--line);border-radius:8px;padding:6px}
.planner-list{display:grid;gap:8px}.planner-list article{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:11px;border-radius:10px}.planner-list article.done{opacity:.55}.planner-list b,.planner-list small{display:block;margin-top:3px}.faculty-grid{display:grid;gap:10px}.faculty-grid article{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.faculty-grid h3{margin:0 0 3px}.faculty-grid span,.faculty-grid small{color:var(--muted)}
.user-list{display:grid;gap:7px}.user-list article{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px}.user-list span{display:block;color:var(--muted);font-size:12px}.report-head{display:flex;justify-content:space-between;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.report-head h2{color:var(--maroon);margin:4px 0}.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.report-summary p{border:1px solid var(--line);border-radius:10px;padding:11px;margin:0}.report-summary b,.report-summary span{display:block}.report-summary b{font-size:22px;color:var(--maroon)}.report-summary span{font-size:11px;color:var(--muted)}
.bar-chart{height:190px;display:flex;align-items:end;gap:8px;border-bottom:1px solid var(--line);padding:10px}.bar-chart>div{flex:1;text-align:center;display:grid;align-items:end;justify-items:center;gap:3px}.bar-chart i{width:65%;background:var(--maroon);border-radius:5px 5px 0 0;min-height:5px}.bar-chart span,.bar-chart b{font-size:10px}.data-table{display:grid}.data-table .tr{display:grid;grid-template-columns:1fr 100px 100px;gap:10px;padding:9px;border-bottom:1px solid var(--line)}.data-table .tr.four{grid-template-columns:160px 1fr 1fr 1fr}.data-table .head{font-weight:900;background:var(--cream)}
@media(max-width:1200px){.form.horizontal{grid-template-columns:repeat(3,1fr)}.homework-grid,.assessment-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.dashboard-grid,.lesson-shell,.attendance-layout{grid-template-columns:1fr}.lesson-side{position:static}.homework-grid,.assessment-grid{grid-template-columns:1fr}.form.horizontal{grid-template-columns:1fr 1fr}.attendance-table>div{grid-template-columns:1fr 1fr}.data-table .tr.four{grid-template-columns:1fr 1fr}.lesson-card{grid-template-columns:48px 1fr}.lesson-actions{grid-column:2}.report-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.formgrid,.healthgrid,.report-summary{grid-template-columns:1fr}.form.horizontal{grid-template-columns:1fr}.grade-form{grid-template-columns:1fr}.timeline article{grid-template-columns:55px 1fr}.timeline article .btn{grid-column:2}.attendance-table>div{grid-template-columns:1fr}.lesson-step{grid-template-columns:1fr}.lesson-step>span{width:32px;height:32px}.data-table .tr,.data-table .tr.four{grid-template-columns:1fr}}

.mini-progress{height:7px;background:#eee6df;border-radius:999px;overflow:hidden;margin-top:7px}.mini-progress i{display:block;height:100%;background:var(--maroon);border-radius:999px}.priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.priority-grid article,.revision-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.revision-list{display:grid;gap:12px}.revision-card{display:flex;justify-content:space-between;gap:24px;align-items:center}.revision-card.due{border-left:5px solid var(--maroon)}.recall-form{min-width:280px}.audit-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.audit-summary article{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px}.audit-summary b{display:block;font:700 28px Georgia,serif;color:var(--maroon)}.audit-summary span{font-size:12px;color:var(--muted)}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.okbadge{background:#eaf7ed!important;color:#176936!important}.warnbadge{background:#fff3d7!important;color:#8a5a00!important}.score-ring small{display:block;margin-top:4px}.hidden{display:none!important}@media(max-width:800px){.audit-summary{grid-template-columns:repeat(2,1fr)}.revision-card{display:block}.recall-form{min-width:0;margin-top:14px}}


/* FACULTY MANAGEMENT */
.faculty-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.faculty-admin-layout{align-items:start}
.course-assignment-box{border:1px solid var(--line);border-radius:14px;padding:14px;margin:4px 0}
.course-assignment-box legend{font-weight:800;color:var(--maroon);padding:0 6px}
.check-grid{display:grid;gap:8px;max-height:330px;overflow:auto;padding-right:4px}
.course-check{display:grid!important;grid-template-columns:22px 1fr;align-items:start;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.course-check input{margin-top:3px}
.course-check span,.course-check small,.course-check em{display:block}
.course-check small{color:var(--muted);margin-top:2px}.course-check em{font-size:12px;color:var(--maroon);margin-top:4px}
.assignment-list{margin-top:16px;display:grid;gap:7px;max-height:390px;overflow:auto}
.assignment-list>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:9px}
.assignment-list small{display:block;color:var(--muted);margin-top:2px}.ok-text{color:#19724b;font-weight:800}
.faculty-list-card{margin-top:14px}.faculty-grid.professional{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.faculty-grid.professional article{align-items:flex-start;padding:16px}.faculty-grid.professional article.inactive{opacity:.63;background:#faf7f4}
.faculty-info{min-width:0;flex:1}.faculty-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.faculty-title-row h3{color:var(--maroon)}.faculty-title-row span{display:block}
.teacher-courses{margin-top:12px}.teacher-courses>b{font-size:13px}.teacher-courses>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.teacher-courses>div span{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:12px;color:var(--maroon)}
.teacher-courses em{display:block;margin-top:5px;color:var(--muted);font-size:12px}.inline-form{display:inline}
.danger-btn{background:var(--maroon)!important;border-color:var(--maroon)!important;color:#fff!important}.danger-btn:hover,.danger-btn:focus-visible{background:var(--cream)!important;border-color:var(--maroon)!important;color:var(--maroon)!important}.muted-badge{background:#eee;color:#666!important}
.backup-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.backup-actions form{margin:0}.empty-subject-cleanup{margin-top:1rem}.compact-destructive-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,1.2fr) auto;align-items:end;gap:.75rem}.compact-destructive-form label{min-width:0}.compact-destructive-form .btn{min-height:44px}@media(max-width:850px){.compact-destructive-form{grid-template-columns:1fr}.backup-actions{justify-content:flex-start}}
.inactive-student-row{border:2px solid #b76a3a!important;background:#fff8ed!important}.inactive-student-row .muted-badge{margin-left:.35rem}
.student-management-grid{display:grid;gap:16px}.student-control-card{display:grid;gap:14px}.student-control-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.student-control-stats>div{padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--cream);min-width:0}.student-control-stats span,.student-control-stats b{display:block}.student-control-stats span{font-size:12px;color:var(--muted)}.student-control-stats b{margin-top:4px;overflow-wrap:anywhere}.fee-plan-form{margin:12px 0 18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}@media(max-width:950px){.student-control-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.compact-admin-note{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.compact-admin-note h3,.compact-admin-note p{margin:0}.compact-admin-note p{margin-top:4px}
.course-teacher-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0}
.course-teacher-form select{min-width:0}.course-teacher span span small{display:block;color:var(--muted);margin-top:2px}

@media(max-width:900px){
  .faculty-summary,.faculty-grid.professional{grid-template-columns:1fr}
  .compact-admin-note{align-items:flex-start;flex-direction:column}
  .course-teacher-form{grid-template-columns:1fr}
}

/* OPENAI BILLING & LIMITS */
.billing-banner{background:linear-gradient(135deg,var(--maroon),#4d0e1d);color:#fff;border-radius:18px;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}
.billing-banner h2{color:#fff;margin:4px 0 7px}.billing-banner p{max-width:760px;margin:0;color:#f4e8e1}.billing-banner .eyebrow{color:#ead2c6}
.billing-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.billing-links .btn{background:#fff;color:var(--maroon);border-color:#fff}.billing-links .btn.primary{background:var(--cream);color:var(--maroon)}
.billing-stats{grid-template-columns:repeat(4,1fr)}
.budget-meter{height:12px;background:#eee5df;border-radius:999px;overflow:hidden;margin:12px 0 18px}.budget-meter i{display:block;height:100%;background:var(--maroon);border-radius:inherit}
.budget-form{max-width:760px}.limit-list{display:grid;gap:0}.limit-list>div{display:grid;grid-template-columns:1.1fr 1.5fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.limit-list span{color:var(--muted);font-size:13px}.limit-list a{font-weight:800;color:var(--maroon);font-size:13px}
.health-list{display:grid;gap:0}.health-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.health-list span{color:var(--muted)}
.notice{margin-top:14px;padding:12px;border-radius:10px;background:var(--cream);border:1px solid var(--line)}
@media(max-width:900px){.billing-banner{align-items:flex-start;flex-direction:column}.billing-links{justify-content:flex-start}.billing-stats{grid-template-columns:1fr 1fr}.limit-list>div{grid-template-columns:1fr}}

/* SYLLABUS MANAGER */
.syllabus-hero{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.syllabus-hero h2{color:var(--maroon);margin:3px 0 7px}.syllabus-hero p{max-width:800px;margin:0;color:var(--muted)}.process-list{display:grid;gap:10px;margin:14px 0 18px}.process-list>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.process-list>div>b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--maroon);color:#fff}.process-list strong,.process-list small{display:block}.process-list small{color:var(--muted);margin-top:3px}@media(max-width:900px){.syllabus-hero{align-items:flex-start;flex-direction:column}}

/* AUTOMATIC QUESTION BANK + COMMAND CENTRE */
.qb-hero,.command-hero{background:linear-gradient(135deg,var(--maroon),#4c0e20);color:#fff;border-radius:18px;padding:22px;margin-bottom:14px;display:flex;justify-content:space-between;gap:18px;align-items:center}.qb-hero h2,.command-hero h2{color:#fff;margin:4px 0 7px}.qb-hero p,.command-hero p{margin:0;max-width:850px;color:#f1dfd7}.qb-hero .eyebrow,.command-hero .eyebrow{color:#e9cfc3}
.typechecks{display:flex;flex-wrap:wrap;gap:8px 16px}.batch-panel{border-left:5px solid var(--maroon)}.review-list article{border-left:4px solid var(--line)}.review-list article.q-draft{border-left-color:#bc7b23}.review-list article.q-approved{border-left-color:#2f7a51}.review-list article.q-rejected{opacity:.62}.q-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.review-list small{display:block;margin-top:5px}.review-list ol{margin:7px 0 7px 22px}.review-list form{display:inline}
.inline-assignment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;max-width:420px;margin-top:8px}.command-hero .actions{justify-content:flex-end}.quickgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickgrid a{display:block;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.quickgrid b,.quickgrid span{display:block}.quickgrid b{color:var(--maroon)}.quickgrid span{color:var(--muted);font-size:13px;margin-top:4px}.report-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.report-head h2{color:var(--maroon)}
@media print{.side,.top,.report-head .btn{display:none!important}.shell{display:block!important}.shell>main{height:auto!important;overflow:visible!important;padding:0!important}.report-card-print{border:0;box-shadow:none}}
@media(max-width:900px){.qb-hero,.command-hero{align-items:flex-start;flex-direction:column}.quickgrid{grid-template-columns:1fr}.q-head{display:block}.inline-assignment{grid-template-columns:1fr}}

/* LIVE CLASS OBSERVER */
.observer-hero{background:linear-gradient(135deg,var(--maroon),#4d0d20);color:#fff;border-radius:18px;padding:22px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px}.observer-hero h2{color:#fff;margin:4px 0 7px}.observer-hero p{margin:0;max-width:850px;color:#f2dfd7}.observer-hero .eyebrow{color:#ead2c7}.live-count{background:#fff;color:var(--maroon);border-radius:999px;padding:8px 14px;font-weight:900;white-space:nowrap}
.live-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-class-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}.live-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start}.live-card-head h3{margin:2px 0;color:var(--maroon)}.live-card-head p{margin:0;color:var(--muted)}
.pulse-badge{display:inline-flex;align-items:center;gap:7px;background:#eff8f2;color:#21633e;border:1px solid #bdddc9;border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px;white-space:nowrap}.pulse-badge i{width:8px;height:8px;background:#27854e;border-radius:50%;box-shadow:0 0 0 4px rgba(39,133,78,.13)}
.live-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.live-meta>div{background:var(--cream);border-radius:9px;padding:8px}.live-meta span,.live-meta b{display:block}.live-meta span{font-size:11px;color:var(--muted)}.live-meta b{margin-top:2px;font-size:13px}.observer-enter{width:100%;text-align:center}
.empty-state{grid-column:1/-1;border:1px dashed var(--line);border-radius:14px;padding:28px;text-align:center}.empty-state b,.empty-state span{display:block}.empty-state span{color:var(--muted);margin-top:5px}
.observer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.observer-toolbar>div{display:flex;align-items:center;gap:10px}.observer-label{color:var(--muted);font-weight:700}
.observer-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}.observer-main{padding:0;overflow:hidden}.observer-class-head{display:flex;gap:12px;align-items:center;padding:17px;border-bottom:1px solid var(--line);background:var(--cream)}.observer-class-head h2{margin:2px 0;color:var(--maroon)}.observer-class-head p{margin:0;color:var(--muted)}
.observer-transcript{height:62vh;min-height:450px;overflow-y:auto;padding:16px;background:#fbfaf8}.observer-msg{max-width:85%;padding:10px 12px;border-radius:12px;margin-bottom:10px;border:1px solid var(--line);background:#fff}.observer-msg.student{margin-left:auto;background:#f6ece7}.observer-msg.teacher{margin-right:auto}.observer-msg.system{margin:8px auto;background:#f4f4f4}.observer-msg>div{display:flex;justify-content:space-between;gap:12px}.observer-msg time{font-size:10px;color:var(--muted)}.observer-msg p{margin:5px 0 0;white-space:pre-wrap}.observer-system{text-align:center;color:var(--muted);padding:12px}.observer-side{align-self:start;position:sticky;top:12px}
.stat-link{display:block;font-size:11px;margin-top:5px;color:var(--maroon);font-weight:800}
@media(max-width:900px){.observer-hero{align-items:flex-start;flex-direction:column}.live-class-grid,.observer-layout{grid-template-columns:1fr}.observer-side{position:static}.observer-transcript{height:55vh;min-height:360px}.live-card-head{grid-template-columns:auto 1fr}.live-card-head .pulse-badge{grid-column:1/-1;width:max-content}}

/* SCHOOL ADMINISTRATION RELEASE */
.admin-hero{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}.admin-hero h2{color:var(--maroon);margin:4px 0 6px}.admin-hero p{margin:0;color:var(--muted)}
.credential-card{border-left:5px solid var(--maroon)}.credgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.credgrid>div{background:var(--cream);padding:10px;border-radius:10px}.credgrid span,.credgrid b{display:block}.credgrid span{font-size:11px;color:var(--muted)}
.application-list{display:grid;gap:10px}.application-list article{border:1px solid var(--line);border-radius:12px;padding:12px}.application-list p{margin:4px 0;color:var(--muted)}
.student-record-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px}.student-directory{padding:10px;max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:12px;align-self:start}.student-directory>a{display:block;padding:9px;border-radius:9px;margin-bottom:5px}.student-directory>a.active{background:var(--maroon);color:#fff}.student-directory b,.student-directory span{display:block}.student-directory span{font-size:11px;opacity:.75}.student-profile-head{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center}.student-profile-head h2{margin:2px 0;color:var(--maroon)}.student-profile-head p{margin:3px 0;color:var(--muted)}.student-photo{width:86px;height:102px;border-radius:10px;background:var(--cream);overflow:hidden;display:grid;place-items:center;border:1px solid var(--line)}.student-photo img{width:100%;height:100%;object-fit:cover}.student-photo span{font-size:26px;font-weight:900;color:var(--maroon)}
.student-section .timeline{position:relative}.student-section .timeline article{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:9px 0}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--maroon);margin-top:5px}.student-section .timeline small,.student-section .timeline p{display:block;color:var(--muted);margin:3px 0}
.student-id-card{width:720px;max-width:100%;margin:25px auto;border:1px solid #b9aaa3;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.12)}.id-top{background:var(--maroon);color:#fff;padding:15px 20px}.id-top b,.id-top span{display:block}.id-top b{font-size:20px}.id-top span{font-size:10px;letter-spacing:1.7px}.id-body{display:grid;grid-template-columns:125px minmax(0,1fr) 105px;gap:16px;padding:20px;align-items:center}.id-photo{height:150px;border:1px solid var(--line);border-radius:9px;background:var(--cream);overflow:hidden;display:grid;place-items:center}.id-photo img{width:100%;height:100%;object-fit:cover}.id-photo span{font-size:36px;font-weight:900;color:var(--maroon)}.id-details h2{margin:0 0 10px;color:var(--maroon)}.id-details>div{margin-top:6px}.id-details span,.id-details b{display:block}.id-details span{font-size:10px;color:var(--muted);text-transform:uppercase}.id-qr{text-align:center}.id-qr small{display:block;margin-top:5px;color:var(--muted)}.id-foot{display:flex;justify-content:space-between;gap:12px;padding:9px 20px;background:var(--cream);font-size:10px}
.verified-mark,.invalid-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;font-size:38px;font-weight:900}.verified-mark{background:#e9f7ef;color:#28764a}.invalid-mark{background:#fae9e9;color:#9d2525}.verify-card{text-align:center}.verify-card .health-list{text-align:left}
.class-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-chips{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 12px}.teacher-chips>span{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px}.compact-form{background:#fbfaf8;border-radius:10px;padding:10px}.calendar-list{display:grid;gap:10px}.calendar-list article{display:grid;grid-template-columns:145px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:10px 0}.calendar-list time{font-weight:800;color:var(--maroon)}.calendar-list span,.calendar-list p{display:block;color:var(--muted);margin:3px 0}
@media print{.idcard-page>.section-head,.top,.side{display:none!important}.student-id-card{box-shadow:none;margin:0 auto;border:1px solid #333}.idcard-page{border:0!important;box-shadow:none!important}}
@media(max-width:900px){.credgrid,.class-admin-grid{grid-template-columns:1fr}.student-record-layout{grid-template-columns:1fr}.student-directory{position:static;max-height:250px}.student-profile-head{grid-template-columns:auto 1fr}.student-profile-head>.actions{grid-column:1/-1}.id-body{grid-template-columns:90px 1fr}.id-qr{grid-column:1/-1}.calendar-list article{grid-template-columns:1fr}}

/* GROUPED / COLLAPSIBLE SIDEBAR NAVIGATION */
.grouped-nav{display:block!important;padding:4px 0 10px!important}
.nav-group{border-bottom:1px solid rgba(255,255,255,.10)}
.nav-group:last-child{border-bottom:0}
.nav-group-toggle{
 width:100%;display:grid;grid-template-columns:23px minmax(0,1fr) 18px;align-items:center;gap:8px;
 border:0;background:transparent;color:rgba(255,255,255,.92);padding:10px 9px;text-align:left;
 font:inherit;font-weight:700;cursor:pointer;border-radius:8px;transition:background .18s ease,color .18s ease
}
.nav-group-toggle:hover,.nav-group.open>.nav-group-toggle{background:rgba(255,255,255,.10);color:#fff}
.nav-group-icon{display:grid;place-items:center;width:23px;height:23px;font-size:15px;color:#f2d8cc}
.nav-group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-chevron{font-size:15px;text-align:center;transition:transform .18s ease}
.nav-group.open .nav-chevron{transform:rotate(180deg)}
.nav-submenu{display:none;padding:0 0 7px 31px}
.nav-group.open .nav-submenu{display:block}
.side .grouped-nav .nav-submenu a{
 display:block!important;margin:1px 5px 1px 0!important;padding:7px 10px!important;border-radius:7px!important;
 font-size:13px!important;font-weight:500!important;color:rgba(255,255,255,.78)!important;background:transparent!important;
 border-left:2px solid transparent!important
}
.side .grouped-nav .nav-submenu a:hover{color:#fff!important;background:rgba(255,255,255,.08)!important}
.side .grouped-nav .nav-submenu a.active{
 color:#fff!important;background:rgba(255,255,255,.15)!important;border-left-color:#f0d4c6!important;font-weight:800!important
}
@media(max-width:900px){
 .nav-group-toggle{padding:10px 8px}
 .nav-submenu{padding-left:29px}
}

/* STUDENT LIST + COMPLETE STUDENT HUB */
.student-search{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:10px;align-items:end}.student-list-grid{display:grid;gap:10px}.student-list-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;text-decoration:none!important}.student-list-card:hover{border-color:var(--maroon)}.student-thumb{width:66px;height:78px;border-radius:9px;overflow:hidden;background:var(--cream);display:grid;place-items:center;border:1px solid var(--line)}.student-thumb img{width:100%;height:100%;object-fit:cover}.student-thumb span{font-size:22px;font-weight:900;color:var(--maroon)}.student-list-main h3{margin:2px 0;color:var(--maroon)}.student-list-main p,.student-list-main small{display:block;margin:2px 0;color:var(--muted)}.student-list-stats{display:grid;grid-template-columns:auto auto;gap:8px 14px;align-items:center}.student-list-stats>div span,.student-list-stats>div b{display:block}.student-list-stats>div span{font-size:10px;color:var(--muted)}.student-list-stats>.btn{grid-column:1/-1}
.student-hub-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:14px;align-items:center}.back-student-list{align-self:start;font-weight:800;color:var(--maroon)}.student-hub-title h2{margin:2px 0;color:var(--maroon)}.student-hub-title p{margin:3px 0;color:var(--muted)}.student-hub-actions{display:flex;gap:8px;flex-wrap:wrap}.student-tabs{display:flex;gap:5px;overflow-x:auto;padding:7px;background:var(--cream);border:1px solid var(--line);border-radius:12px;margin:12px 0;position:sticky;top:0;z-index:5}.student-tabs a{white-space:nowrap;padding:7px 10px;border-radius:7px;font-weight:700;color:var(--maroon)}.student-tabs a:hover{background:#fff}.student-section{scroll-margin-top:60px}.fee-summary{display:grid;grid-template-columns:auto auto auto auto auto auto;gap:4px 8px;align-items:center}.fee-summary b{color:var(--maroon)}.course-lock-form{border-left:4px solid var(--maroon);padding-left:12px}.required{color:#a21b34}.application-list select option[hidden]{display:none}
@media(max-width:900px){.student-search{grid-template-columns:1fr}.student-list-card{grid-template-columns:60px 1fr}.student-list-stats{grid-column:1/-1;grid-template-columns:1fr 1fr}.student-hub-head{grid-template-columns:auto 1fr}.back-student-list,.student-hub-actions{grid-column:1/-1}.fee-summary{grid-template-columns:auto auto}.student-tabs{position:static}}

/* NATIVE DROPDOWN SIDEBAR MENU - main headings always visible */
.side .dropdown-nav{
 display:block!important;
 width:100%!important;
 min-height:0!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 padding:2px 2px 12px 0!important;
}
.side .menu-dropdown{
 display:block!important;
 width:100%!important;
 margin:0 0 6px!important;
 border:1px solid rgba(255,255,255,.12)!important;
 border-radius:9px!important;
 background:rgba(255,255,255,.035)!important;
 overflow:visible!important;
}
.side .menu-dropdown>summary{
 list-style:none!important;
 display:grid!important;
 grid-template-columns:24px minmax(0,1fr) 20px!important;
 gap:8px!important;
 align-items:center!important;
 width:100%!important;
 min-height:43px!important;
 padding:9px 10px!important;
 margin:0!important;
 color:#fff!important;
 background:transparent!important;
 border:0!important;
 border-radius:8px!important;
 cursor:pointer!important;
 font-size:13px!important;
 font-weight:800!important;
 line-height:1.25!important;
 user-select:none!important;
}
.side .menu-dropdown>summary::-webkit-details-marker{display:none!important}
.side .menu-dropdown>summary::marker{display:none!important;content:""!important}
.side .menu-dropdown>summary:hover,
.side .menu-dropdown[open]>summary{
 background:rgba(255,255,255,.12)!important;
 color:#fff!important;
}
.side .menu-main-icon{
 display:grid!important;
 place-items:center!important;
 width:24px!important;
 color:#f1d8ce!important;
 font-size:15px!important;
}
.side .menu-main-label{
 display:block!important;
 min-width:0!important;
 color:#fff!important;
 white-space:normal!important;
 overflow:visible!important;
}
.side .menu-arrow{
 display:block!important;
 text-align:center!important;
 color:#f1d8ce!important;
 transition:transform .18s ease!important;
}
.side .menu-dropdown[open] .menu-arrow{transform:rotate(180deg)!important}
.side .menu-dropdown-list{
 display:block!important;
 width:100%!important;
 padding:3px 6px 8px 32px!important;
 margin:0!important;
}
.side .menu-dropdown:not([open]) .menu-dropdown-list{display:none!important}
.side .menu-dropdown-list a{
 display:block!important;
 width:100%!important;
 min-height:34px!important;
 padding:7px 9px!important;
 margin:2px 0!important;
 border-radius:6px!important;
 border-left:2px solid transparent!important;
 background:transparent!important;
 color:rgba(255,255,255,.84)!important;
 text-decoration:none!important;
 font-size:12.5px!important;
 font-weight:500!important;
 line-height:1.35!important;
 white-space:normal!important;
}
.side .menu-dropdown-list a:hover{
 background:rgba(255,255,255,.09)!important;
 color:#fff!important;
}
.side .menu-dropdown-list a.active{
 background:rgba(255,255,255,.16)!important;
 border-left-color:#f0d4c6!important;
 color:#fff!important;
 font-weight:800!important;
}
@media(min-width:901px){
 .shell{grid-template-columns:255px minmax(0,1fr)!important}
 .side{padding-left:14px!important;padding-right:14px!important}
}
@media(max-width:900px){
 .side .dropdown-nav{display:block!important;grid-template-columns:none!important}
 .side .menu-dropdown{width:100%!important}
 .side .menu-dropdown-list{padding-left:32px!important}
}

/* ========================================================================== 
   ADAPTIVE APPEARANCE ENGINE + REFINED TYPOGRAPHY
   ========================================================================== */
:root{
 --bg:#f7f5f2;--surface:#fffdf9;--surface-2:#ffffff;--surface-soft:#f5eee5;
 --text:#211f20;--text-muted:#756f70;--border:#ded7d1;--shadow:0 12px 30px rgba(60,35,35,.07);
 --accent:#6c1832;--accent-dark:#481022;--accent-soft:#f3e5e9;--accent-contrast:#ffffff;
 --heading-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --body-size:15px;--space-factor:1;
}
html[data-accent="maroon"]{--accent:#6c1832;--accent-dark:#481022;--accent-soft:#f3e5e9}
html[data-accent="blue"]{--accent:#315d8a;--accent-dark:#203e61;--accent-soft:#e8f0f8}
html[data-accent="yellow"]{--accent:#171717;--accent-dark:#000;--accent-soft:#fff1a6;--accent-contrast:#ffe45c}
html[data-theme="light"]{--bg:#f7f5f2;--surface:#fffdf9;--surface-2:#fff;--surface-soft:#f5eee5;--text:#211f20;--text-muted:#756f70;--border:#ded7d1;--shadow:0 12px 30px rgba(60,35,35,.07)}
html[data-theme="dark"]{--bg:#151416;--surface:#1e1c1f;--surface-2:#242126;--surface-soft:#2a2528;--text:#f5f0f1;--text-muted:#beb5b8;--border:#3b3539;--shadow:0 14px 34px rgba(0,0,0,.24)}
html[data-theme="contrast"]{--bg:#000;--surface:#050505;--surface-2:#0b0b0b;--surface-soft:#101010;--text:#fff;--text-muted:#f0f0f0;--border:#fff;--shadow:none;--accent:#ffd400;--accent-dark:#ffd400;--accent-soft:#1b1b00;--accent-contrast:#000}
html[data-text="large"]{--body-size:17px}
html[data-density="compact"]{--space-factor:.78}
html{background:var(--bg)}
body{font-size:var(--body-size);color:var(--text);background:var(--bg);transition:background-color .2s ease,color .2s ease}
:root{--maroon:var(--accent);--maroon-dark:var(--accent-dark);--maroon-soft:var(--accent);--cream:var(--surface-soft);--cream2:var(--surface);--paper:var(--surface);--ink:var(--text);--muted:var(--text-muted);--line:var(--border)}

/* Smaller, lighter, more lively headings */
h1,h2,h3,h4,.brand{font-family:var(--heading-font)}
h1,h2,h3,h4{letter-spacing:-.018em;line-height:1.22;color:var(--text);font-weight:650}
h1{font-size:clamp(1.55rem,2vw,1.85rem)}
h2{font-size:clamp(1.25rem,1.7vw,1.52rem)}
h3{font-size:clamp(1.03rem,1.35vw,1.18rem)}
.top{align-items:flex-start;margin-bottom:calc(17px * var(--space-factor))}
.top h1{font-size:clamp(1.55rem,2vw,1.85rem)!important;font-weight:650!important;color:var(--accent)!important;margin:0 0 5px!important;position:relative;display:inline-block}
.top h1:after{content:"";display:inline-block;width:22px;height:3px;border-radius:99px;background:var(--accent);margin-left:9px;vertical-align:middle;opacity:.65}
.top p{font-size:.88rem;color:var(--text-muted)!important}
.hero h2,.qb-hero h2,.command-hero h2,.observer-hero h2,.admin-hero h2,.syllabus-hero h2,.report-head h2,.student-profile-head h2,.student-hub-title h2,.teacherhead h2,.observer-class-head h2{font-size:clamp(1.22rem,1.7vw,1.5rem)!important;font-weight:650!important}
.card h3,.course h3,.student-list-main h3{font-size:1.08rem!important;font-weight:650!important}
.auth>section:first-child h1{font-size:clamp(2rem,5vw,2.75rem)!important;font-weight:650!important}
.login h2,.setup h1{font-weight:650!important}

/* Shared themed surfaces */
.card,.course,.teacherstage,.whiteboard,.stats article,.login,.setup,.fatal,.uploadbox,.live-class-card,.student-id-card,.observer-msg,.quickgrid a,.student-tabs,.appearance-panel{background:var(--surface)!important;border-color:var(--border)!important;box-shadow:var(--shadow)}
.form input,.form select,.form textarea,input,select,textarea,.board,.transcript,.index-pill,.btn{background:var(--surface-2);color:var(--text);border-color:var(--border)}
.form input::placeholder,textarea::placeholder{color:var(--text-muted)}
.btn{color:var(--text)}
.btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-contrast)!important}
.btn.primary:hover{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:var(--accent)!important}
.muted,.top p,.course p,.teacherhead p,.student-list-main p,.student-list-main small{color:var(--text-muted)!important}
.hero{background:linear-gradient(120deg,var(--surface-soft),var(--surface))!important;border-color:var(--border)!important}
.authbg{background:linear-gradient(135deg,var(--surface-soft),var(--bg) 58%,var(--surface))!important}
.progress{background:var(--surface-soft)}
.progress span{background:var(--accent)}
.avatar,.courseicon,.live-meta>div,.credgrid>div{background:var(--surface-soft)!important;color:var(--accent)!important;border-color:var(--border)!important}

/* Sidebar adapts to chosen accent and dark/light themes */
.side{background:linear-gradient(180deg,var(--accent-dark),color-mix(in srgb,var(--accent-dark) 78%,#000))!important}
html[data-theme="contrast"] .side{background:#000!important;border-right:2px solid #fff}
.brand{font-size:21px!important;font-weight:700!important;letter-spacing:-.02em}
.side .menu-dropdown>summary{font-weight:650!important}
.side .menu-dropdown-list a.active{font-weight:700!important}

/* Dark-mode coverage for legacy hard-coded pale/white surfaces */
html[data-theme="dark"] .quickgrid a,
html[data-theme="dark"] .live-class-card,
html[data-theme="dark"] .observer-msg,
html[data-theme="dark"] .transcript,
html[data-theme="dark"] .board,
html[data-theme="dark"] .uploadbox,
html[data-theme="dark"] .compact-form,
html[data-theme="dark"] .observer-transcript,
html[data-theme="dark"] .chips span,
html[data-theme="dark"] .badge,
html[data-theme="dark"] .index-pill,
html[data-theme="dark"] .toast{background:var(--surface-2)!important;color:var(--text)!important}
html[data-theme="dark"] .observer-transcript{background:var(--bg)!important}
html[data-theme="dark"] .msg.teacher{background:color-mix(in srgb,var(--accent) 16%,var(--surface))!important}
html[data-theme="dark"] .msg.student{background:#292b30!important}
html[data-theme="dark"] .observer-msg.student{background:color-mix(in srgb,var(--accent) 18%,var(--surface))!important}
html[data-theme="dark"] .observer-msg.system{background:#29272a!important}
html[data-theme="dark"] .status.off{background:#29272a!important;color:var(--text-muted)!important}
html[data-theme="dark"] .alert.success{background:#173323!important}
html[data-theme="dark"] .alert.error{background:#3b1d22!important}
html[data-theme="dark"] .alert.info{background:#1d2b3b!important}
html[data-theme="dark"] .notice{background:var(--surface-soft)!important}
html[data-theme="dark"] .application-list article{border-color:var(--border)!important}
html[data-theme="dark"] .calendar-list article{border-color:var(--border)!important}
html[data-theme="dark"] .student-tabs a:hover{background:var(--surface-2)!important}
html[data-theme="contrast"] *{box-shadow:none!important}
html[data-theme="contrast"] a{text-decoration-thickness:2px}
html[data-theme="contrast"] .btn,html[data-theme="contrast"] input,html[data-theme="contrast"] select,html[data-theme="contrast"] textarea{border-width:2px!important}

/* Density */
html[data-density="compact"] main{padding:18px}
html[data-density="compact"] .card,html[data-density="compact"] .course,html[data-density="compact"] .stats article{padding:15px}
html[data-density="compact"] .rows>div,html[data-density="compact"] .bookrow{padding:9px 0}
html[data-density="compact"] .side .menu-dropdown>summary{min-height:37px!important;padding:7px 9px!important}
html[data-density="compact"] .side .menu-dropdown-list a{min-height:29px!important;padding:5px 8px!important}

/* Appearance control */
.appearance-trigger{appearance:none;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;min-height:35px;padding:7px 9px;display:flex;align-items:center;gap:8px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;margin:9px 0 2px;width:100%}
.appearance-trigger:hover{background:rgba(255,255,255,.14)}
.appearance-fab{position:fixed;right:18px;bottom:18px;z-index:1190;border:1px solid var(--border);background:var(--surface);color:var(--accent);box-shadow:var(--shadow);border-radius:999px;padding:9px 13px;display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer}
.appearance-backdrop{position:fixed;inset:0;z-index:1195;border:0;background:rgba(0,0,0,.36);opacity:0;visibility:hidden;transition:.18s;cursor:default}
.appearance-backdrop.open{opacity:1;visibility:visible}
.appearance-panel{position:fixed;right:0;top:0;bottom:0;width:min(390px,92vw);z-index:1200;padding:22px;transform:translateX(105%);transition:transform .22s ease;overflow:auto;color:var(--text)}
.appearance-panel.open{transform:translateX(0)}
.appearance-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:15px}
.appearance-head h2{margin:2px 0 5px;color:var(--accent);font-size:1.35rem!important}
.appearance-head p{margin:0;color:var(--text-muted);font-size:.9rem}
.appearance-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:24px;line-height:1;cursor:pointer}
.appearance-options{display:grid;gap:12px}
.appearance-options label{display:grid;gap:6px;font-size:.86rem;font-weight:650}
.appearance-options select{width:100%;min-height:42px;border-radius:9px;padding:8px 10px}
.appearance-preview{margin:17px 0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);display:grid;grid-template-columns:12px minmax(0,1fr);gap:4px 9px;align-items:center}
.appearance-preview span{width:12px;height:12px;border-radius:50%;background:var(--accent);grid-row:1/3}
.appearance-preview b,.appearance-preview small{display:block}.appearance-preview small{color:var(--text-muted)}
.appearance-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* Reduced motion */
html[data-motion="reduced"] *,html[data-motion="reduced"] *:before,html[data-motion="reduced"] *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}

@media(max-width:900px){
 .top h1{font-size:1.5rem!important}
 .appearance-panel{width:min(380px,96vw);padding:18px}
}



/* ============================================================
   AI ACADEMY — ELEGANT HIGH-CONTRAST COLOR THEMES
   Themes:
   1) Maroon & Cream
   2) Blue & White
   3) Yellow & Black
   Design rules:
   - Times New Roman headings
   - No gradients
   - Explicit foreground/background for menus and controls
   - Strong contrast for normal text and controls
   ============================================================ */

html{
  --page-bg:#f7efe5;
  --surface:#fffaf4;
  --surface-alt:#f2e3d3;
  --text:#2a161a;
  --muted:#67585b;
  --heading:#741b36;
  --primary:#741b36;
  --primary-hover:#5e142b;
  --primary-text:#ffffff;
  --sidebar-bg:#f4e5d6;
  --sidebar-text:#431421;
  --sidebar-heading:#6e1933;
  --sidebar-hover:#ead4c2;
  --sidebar-active:#dcc0aa;
  --submenu-bg:#fff9f1;
  --submenu-text:#3b2529;
  --border:#d7bea9;
  --table-head:#741b36;
  --table-head-text:#ffffff;
  --focus:#741b36;
  --link:#741b36;
  --notice-bg:#fff0cc;
  --notice-text:#2a1c00;
  --danger:#9f1d20;
  --success:#21663a;
}

html[data-theme="maroon"],
html[data-theme="system"],
html:not([data-theme]){
  --page-bg:#f7efe5;
  --surface:#fffaf4;
  --surface-alt:#f2e3d3;
  --text:#2a161a;
  --muted:#67585b;
  --heading:#741b36;
  --primary:#741b36;
  --primary-hover:#5e142b;
  --primary-text:#ffffff;
  --sidebar-bg:#f4e5d6;
  --sidebar-text:#431421;
  --sidebar-heading:#6e1933;
  --sidebar-hover:#ead4c2;
  --sidebar-active:#dcc0aa;
  --submenu-bg:#fff9f1;
  --submenu-text:#3b2529;
  --border:#d7bea9;
  --table-head:#741b36;
  --table-head-text:#ffffff;
  --focus:#741b36;
  --link:#741b36;
  --notice-bg:#fff0cc;
  --notice-text:#2a1c00;
}

html[data-theme="blue"]{
  --page-bg:#eef4fb;
  --surface:#ffffff;
  --surface-alt:#e5eef9;
  --text:#172434;
  --muted:#536273;
  --heading:#174f88;
  --primary:#175d9c;
  --primary-hover:#104878;
  --primary-text:#ffffff;
  --sidebar-bg:#e8f1fb;
  --sidebar-text:#17324d;
  --sidebar-heading:#174f88;
  --sidebar-hover:#d6e6f6;
  --sidebar-active:#bfd8ef;
  --submenu-bg:#ffffff;
  --submenu-text:#1b3651;
  --border:#b9cee2;
  --table-head:#175d9c;
  --table-head-text:#ffffff;
  --focus:#175d9c;
  --link:#0f568f;
  --notice-bg:#fff4c7;
  --notice-text:#231d00;
}

html[data-theme="yellow"]{
  --page-bg:#fff6bf;
  --surface:#fffdf0;
  --surface-alt:#f6e58f;
  --text:#151515;
  --muted:#4a452f;
  --heading:#111111;
  --primary:#111111;
  --primary-hover:#2b2b2b;
  --primary-text:#ffe45c;
  --sidebar-bg:#ffd93d;
  --sidebar-text:#111111;
  --sidebar-heading:#111111;
  --sidebar-hover:#f2c824;
  --sidebar-active:#e5b914;
  --submenu-bg:#fff9d7;
  --submenu-text:#111111;
  --border:#c9aa27;
  --table-head:#111111;
  --table-head-text:#ffe45c;
  --focus:#111111;
  --link:#111111;
  --notice-bg:#111111;
  --notice-text:#ffe45c;
}

html[data-theme="dark"]{
  --page-bg:#151416;--surface:#211f22;--surface-alt:#2b282c;--text:#f6f1f3;--muted:#c5bbc0;
  --heading:#f2c8d5;--primary:#9d3858;--primary-hover:#bd4a6e;--primary-text:#fff;
  --sidebar-bg:#20191d;--sidebar-text:#f7edf1;--sidebar-heading:#f2c8d5;--sidebar-hover:#382c32;
  --sidebar-active:#4a3440;--submenu-bg:#282126;--submenu-text:#f5edf0;--border:#4b4247;
  --table-head:#6c1832;--table-head-text:#fff;--focus:#df7f9d;--link:#f0a5bc;
  --notice-bg:#302a20;--notice-text:#fff0c2;--danger:#ff9ca8;--success:#8ee0ae;
}
html[data-theme="contrast"]{
  --page-bg:#000;--surface:#050505;--surface-alt:#151515;--text:#fff;--muted:#f0f0f0;
  --heading:#ffe45c;--primary:#ffe45c;--primary-hover:#fff;--primary-text:#000;
  --sidebar-bg:#000;--sidebar-text:#fff;--sidebar-heading:#ffe45c;--sidebar-hover:#202020;
  --sidebar-active:#303030;--submenu-bg:#080808;--submenu-text:#fff;--border:#fff;
  --table-head:#ffe45c;--table-head-text:#000;--focus:#ffe45c;--link:#ffe45c;
  --notice-bg:#111;--notice-text:#fff;--danger:#ff9a9a;--success:#91f0b1;
}

/* Global canvas */
html,body{
  background:var(--page-bg)!important;
  color:var(--text)!important;
}
body{
  font-family:"Segoe UI",Arial,sans-serif!important;
}
.shell, main, .shell>main{
  background:var(--page-bg)!important;
  color:var(--text)!important;
}

/* Times New Roman headings, not heavy */
h1,h2,h3,h4,h5,h6,
.page-title,.page-heading,.section-title,.section-heading,
.card-title,.panel-title,.box-title,
main h1,main h2,main h3,main h4,
.side .brand,
  .theme-title{
  font-family:"Times New Roman",Times,serif!important;
  font-weight:400!important;
  color:var(--heading)!important;
  text-shadow:none!important;
  letter-spacing:0!important;
}
h1,main h1,.page-title,.page-heading{font-size:26px!important;line-height:1.22!important}
h2,main h2,.section-title,.section-heading{font-size:21px!important;line-height:1.26!important}
h3,main h3,.card-title,.panel-title,.box-title{font-size:18px!important;line-height:1.3!important}
h4,main h4{font-size:16px!important;line-height:1.3!important}

/* Explicit text colors */
p,li,dd,dt,label,legend,small,span,div,td{
  color:inherit;
}
main p, main li, main label, main legend, main td,
.card p,.panel p,.box p,.student-section p{
  color:var(--text)!important;
}
.muted,.help,.hint,.subtext,.meta,.caption{
  color:var(--muted)!important;
}

/* Cards / content surfaces */
.card,.panel,.box,.widget,.stat-card,.summary-card,.form-card,.table-card,
.student-section,.student-list-card,.student-hub-head,.observer-card,
.modal,.dialog,.appearance-panel,.theme-panel{
  background:var(--surface)!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
  border-radius:5px!important;
  box-shadow:0 2px 6px rgba(0,0,0,.07)!important;
  background-image:none!important;
}

/* Sidebar */
.side{
  background:var(--sidebar-bg)!important;
  color:var(--sidebar-text)!important;
  border-right:1px solid var(--border)!important;
  box-shadow:2px 0 8px rgba(0,0,0,.05)!important;
}
.side .brand{
  color:var(--sidebar-heading)!important;
  border-bottom:1px solid var(--border)!important;
}
.side .sub,.sidefoot,.sidefoot span,.sidefoot b{
  color:var(--sidebar-text)!important;
}
.sidefoot{
  border-top:1px solid var(--border)!important;
}
.sidefoot a{
  color:var(--sidebar-heading)!important;
}

/* Menu — every state has explicit readable colors */
.side .menu-dropdown{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.side .menu-dropdown>summary{
  background:transparent!important;
  color:var(--sidebar-text)!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-weight:600!important;
  border-radius:4px!important;
}
.side .menu-dropdown>summary .menu-main-label,
.side .menu-dropdown>summary .menu-main-icon,
.side .menu-dropdown>summary .menu-arrow{
  color:var(--sidebar-text)!important;
}
.side .menu-dropdown>summary:hover{
  background:var(--sidebar-hover)!important;
  color:var(--sidebar-text)!important;
}
.side .menu-dropdown[open]>summary{
  background:var(--sidebar-active)!important;
  color:var(--sidebar-text)!important;
}
.side .menu-dropdown-list{
  background:var(--submenu-bg)!important;
  border:1px solid var(--border)!important;
  border-top:0!important;
  border-radius:0 0 4px 4px!important;
}
.side .menu-dropdown-list a{
  background:transparent!important;
  color:var(--submenu-text)!important;
  border-left:3px solid transparent!important;
  font-weight:400!important;
}
.side .menu-dropdown-list a:hover{
  background:var(--sidebar-hover)!important;
  color:var(--submenu-text)!important;
}
.side .menu-dropdown-list a.active{
  background:var(--sidebar-active)!important;
  color:var(--submenu-text)!important;
  border-left-color:var(--primary)!important;
  font-weight:600!important;
}

/* Tables */
table{
  background:var(--surface)!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
}
th{
  background:var(--table-head)!important;
  color:var(--table-head-text)!important;
  border-color:var(--border)!important;
  font-weight:600!important;
}
td{
  background:var(--surface)!important;
  color:var(--text)!important;
  border-color:var(--border)!important;
}
tr:nth-child(even) td{
  background:var(--surface-alt)!important;
}
tr:hover td{
  filter:none!important;
  background:var(--surface-alt)!important;
}

/* Forms */
input,select,textarea{
  background:#ffffff!important;
  color:#171717!important;
  border:1px solid var(--border)!important;
  border-radius:4px!important;
  box-shadow:none!important;
  background-image:none!important;
}
html[data-theme="yellow"] input,
html[data-theme="yellow"] select,
html[data-theme="yellow"] textarea{
  background:#fffef5!important;
  color:#111111!important;
}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="contrast"] input,
html[data-theme="contrast"] select,
html[data-theme="contrast"] textarea{
  background:var(--surface-alt)!important;
  color:var(--text)!important;
}
input::placeholder,textarea::placeholder{
  color:#666!important;
  opacity:1!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--focus)!important;
  outline:2px solid color-mix(in srgb, var(--focus) 28%, transparent)!important;
  outline-offset:1px!important;
}

/* Buttons */
button,.btn,input[type="submit"],input[type="button"],a.btn,
button.primary,.btn.primary{
  background:var(--primary)!important;
  color:var(--primary-text)!important;
  border:1px solid var(--primary)!important;
  border-radius:4px!important;
  box-shadow:none!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-weight:600!important;
  text-shadow:none!important;
  background-image:none!important;
}
button:hover,.btn:hover,input[type="submit"]:hover,input[type="button"]:hover,a.btn:hover{
  background:var(--primary-hover)!important;
  color:var(--primary-text)!important;
  border-color:var(--primary-hover)!important;
}
button.secondary,.btn.secondary,.btn-light,.button-light{
  background:var(--surface)!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
}
button.secondary:hover,.btn.secondary:hover,.btn-light:hover,.button-light:hover{
  background:var(--surface-alt)!important;
  color:var(--text)!important;
}

/* Links */
main a:not(.btn), .card a:not(.btn), .panel a:not(.btn){
  color:var(--link)!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}
main a:not(.btn):hover{
  text-decoration:underline!important;
}

/* Notices / badges */
.notice,.alert,.info,.callout,.message{
  background:var(--notice-bg)!important;
  color:var(--notice-text)!important;
  border:1px solid var(--border)!important;
  background-image:none!important;
}
.notice *, .alert *, .info *, .callout *, .message *{
  color:inherit!important;
}
.badge,.pill,.status{
  background:var(--surface-alt)!important;
  color:var(--text)!important;
  border:1px solid var(--border)!important;
}
.badge.success,.pill.success,.status.success{
  color:var(--success)!important;
}
.badge.danger,.pill.danger,.status.danger{
  color:var(--danger)!important;
}

/* Accessibility focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--focus)!important;
  outline-offset:2px!important;
}

/* Mobile */
@media(max-width:900px){
  h1,main h1,.page-title,.page-heading{font-size:24px!important}
  h2,main h2,.section-title,.section-heading{font-size:20px!important}
  .side .menu-dropdown-list{padding-left:22px!important}
}



/* =========================================================
   MOBILE RESPONSIVE RELEASE — FINAL OVERRIDES
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden!important}
*,*::before,*::after{box-sizing:border-box}
img,video,canvas,svg,iframe{max-width:100%!important;height:auto}
main,.shell>main,.card,.panel,.box,.student-section,.student-hub-head,
.table-card,.form-card,.widget,.observer-card{min-width:0!important;max-width:100%!important}
pre,code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.long-text,.description,.notes,.feedback,.message{overflow-wrap:anywhere;word-break:break-word}

/* Desktop-only mobile controls */
.mobile-menu-toggle,.mobile-menu-close,.mobile-side-head,.mobile-nav-overlay{display:none!important}

@media(max-width:900px){
  html,body{
    width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%;
  }

  body.mobile-menu-open{overflow:hidden!important}

  .shell{
    display:block!important;
    width:100%!important;
    min-height:100vh!important;
    height:auto!important;
    overflow:visible!important;
  }

  .shell>main,main{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
    padding:12px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
  }

  /* Off-canvas navigation */
  .side{
    display:flex!important;
    position:fixed!important;
    z-index:10020!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    width:min(86vw,330px)!important;
    max-width:330px!important;
    height:100dvh!important;
    min-height:0!important;
    padding:10px 12px max(12px,env(safe-area-inset-bottom))!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    overflow:hidden!important;
    box-shadow:8px 0 28px rgba(0,0,0,.22)!important;
  }
  body.mobile-menu-open .side{transform:translateX(0)!important}

  .mobile-side-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:42px!important;
    padding:0 2px 7px!important;
    margin-bottom:5px!important;
    border-bottom:1px solid var(--border)!important;
    color:var(--sidebar-text)!important;
    font:400 16px "Times New Roman",Times,serif!important;
  }
  .mobile-menu-close{
    display:grid!important;
    place-items:center!important;
    width:36px!important;
    height:36px!important;
    padding:0!important;
    min-width:36px!important;
    background:transparent!important;
    color:var(--sidebar-text)!important;
    border:1px solid var(--border)!important;
    border-radius:4px!important;
    font:400 25px/1 Arial,sans-serif!important;
  }

  .side .brand{
    font-size:21px!important;
    margin-top:3px!important;
    padding:6px 4px 8px!important;
  }
  .side .sub{
    font-size:11.5px!important;
    padding:0 4px 8px!important;
  }

  .side .dropdown-nav{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    padding:2px 0 10px!important;
  }

  .side .menu-dropdown{
    display:block!important;
    width:100%!important;
    margin-bottom:4px!important;
  }
  .side .menu-dropdown>summary{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr) 18px!important;
    width:100%!important;
    min-height:44px!important;
    padding:10px 9px!important;
    font-size:14px!important;
    line-height:1.25!important;
    touch-action:manipulation;
  }
  .side .menu-dropdown-list{
    display:block!important;
    width:100%!important;
    padding:4px 5px 6px 22px!important;
    margin:0!important;
  }
  .side .menu-dropdown:not([open]) .menu-dropdown-list{display:none!important}
  .side .menu-dropdown-list a{
    display:block!important;
    width:100%!important;
    min-height:42px!important;
    padding:10px 9px!important;
    font-size:13.5px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    touch-action:manipulation;
  }
  .sidefoot{flex:0 0 auto!important;margin-top:8px!important;padding-top:9px!important}
  .appearance-trigger{flex:0 0 auto!important;width:100%!important;min-height:40px!important}

  .mobile-nav-overlay{
    display:block!important;
    position:fixed!important;
    z-index:10010!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:rgba(0,0,0,.42)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }
  body.mobile-menu-open .mobile-nav-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Mobile top bar */
  .top{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 13px!important;
    padding:0!important;
  }
  .mobile-menu-toggle{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    min-width:auto!important;
    min-height:40px!important;
    padding:8px 10px!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1!important;
    touch-action:manipulation;
  }
  .mobile-menu-bars{font-size:18px!important;line-height:1!important;color:inherit!important}
  .top-title{min-width:0!important}
  .top h1{
    font-size:23px!important;
    line-height:1.16!important;
    margin:0 0 4px!important;
    overflow-wrap:anywhere!important;
  }
  .top p{
    font-size:12.5px!important;
    line-height:1.35!important;
    margin:0!important;
    overflow-wrap:anywhere!important;
  }

  /* Typography */
  h1,.page-title,.page-heading{font-size:23px!important}
  h2,.section-title,.section-heading{font-size:20px!important}
  h3,.card-title,.panel-title,.box-title{font-size:17px!important}
  h4{font-size:15.5px!important}

  /* Common grid layouts collapse safely */
  .twocol,.threecol,.fourcol,.coursegrid,.grid,.cards,.stats,
  .audit-summary,.priority-grid,.quickgrid,.billing-stats,
  .live-class-grid,.observer-layout,.credgrid,.class-admin-grid,
  .student-record-layout,.student-search,
  .form-grid,.field-grid,.settings-grid,.dashboard-grid,
  .resource-grid,.teacher-grid,.lesson-grid,.report-grid{
    grid-template-columns:1fr!important;
  }

  /* Form controls */
  form{max-width:100%!important;min-width:0!important}
  input,select,textarea,button,.btn{
    max-width:100%!important;
    font-size:16px; /* prevents iOS zoom on form focus */
  }
  input,select,textarea{
    width:100%!important;
    min-height:42px!important;
  }
  textarea{min-height:105px!important}
  button,.btn,input[type="submit"],input[type="button"],a.btn{
    min-height:42px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .actions,.toolbar,.button-row,.form-actions,.student-hub-actions,.report-head,
  .section-head,.hero-actions,.billing-links{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .actions>*,
  .toolbar>*,
  .button-row>*,
  .form-actions>*,
  .student-hub-actions>*{
    max-width:100%!important;
  }

  /* Cards */
  .card,.panel,.box,.widget,.stat-card,.summary-card,.form-card,.table-card,
  .student-section,.student-list-card,.student-hub-head,.observer-card{
    padding:12px!important;
    border-radius:5px!important;
  }

  /* Student list/profile */
  .student-list-card{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .student-list-stats{
    grid-column:1/-1!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  .student-hub-head{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .student-hub-head .back-student-list,
  .student-hub-head .student-hub-actions{
    grid-column:1/-1!important;
  }
  .student-tabs{
    position:static!important;
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    padding-bottom:5px!important;
    -webkit-overflow-scrolling:touch;
  }
  .student-tabs a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    min-height:38px!important;
  }
  .fee-summary{grid-template-columns:1fr 1fr!important}

  /* Tables always stay inside screen */
  .tablewrap,.table-wrap,.responsive-table,.table-card{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    font-size:13px!important;
  }
  th,td{
    padding:9px 8px!important;
    white-space:nowrap;
  }
  td p,td .notes,td .description{
    white-space:normal!important;
    min-width:180px;
  }

  /* Classroom / observer */
  .classroom,.classroom-grid,.class-stage,.lesson-layout{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
  }
  .observer-transcript{
    height:50dvh!important;
    min-height:300px!important;
    max-height:520px!important;
  }
  audio,video{width:100%!important}

  /* Printable student records should not force horizontal width */
  .student-id-card,.report-card-print{
    max-width:100%!important;
    min-width:0!important;
  }
  /* ID card displays scaled on screen */
  .idcard-page{overflow-x:auto!important}
  .student-id-card{transform-origin:top left;max-width:100%!important}

  /* Modal/dialog */
  .modal,.dialog,.modal-card,.dialog-card{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto!important;
    margin:12px!important;
  }

  /* Avoid fixed widths from older pages */
  [style*="width: 600px"],[style*="width:600px"],
  [style*="width: 700px"],[style*="width:700px"],
  [style*="width: 800px"],[style*="width:800px"],
  [style*="min-width: 600px"],[style*="min-width:600px"]{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:520px){
  .shell>main,main{padding:10px!important}
  .top{grid-template-columns:1fr!important}
  .mobile-menu-toggle{width:max-content!important}
  .top h1{font-size:22px!important}
  .student-list-stats,.fee-summary,.billing-stats,.audit-summary{grid-template-columns:1fr!important}
  .student-hub-head{grid-template-columns:50px minmax(0,1fr)!important}
  .side{width:min(91vw,320px)!important}
  .card,.panel,.box,.widget,.student-section{padding:10px!important}
  .actions>*,
  .toolbar>*,
  .button-row>*,
  .form-actions>*{
    flex:1 1 100%!important;
    width:100%!important;
  }
}

/* Landscape phones */
@media(max-width:900px) and (orientation:landscape){
  .side{width:min(72vw,330px)!important}
  .observer-transcript{height:58dvh!important}
}


/* Multi-subject enrollment */
.subject-admission-block{margin:14px 0}.subject-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:8px 0}.subject-choice{display:flex!important;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid var(--border);border-radius:5px;background:var(--surface);cursor:pointer;min-height:48px}.subject-choice:hover{background:var(--surface-alt)}.subject-choice input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important}.subject-choice span{display:flex;flex-direction:column;gap:2px;color:var(--text)!important}.subject-choice small{color:var(--muted)!important}@media(max-width:600px){.subject-check-grid{grid-template-columns:1fr}.subject-choice{min-height:48px}}

.lesson-part-heading{margin:22px 0 8px;padding:9px 12px;border-left:4px solid var(--primary);background:var(--surface-alt);border-radius:4px}.lesson-part-heading h2{margin:0;font-size:20px}.btn.danger{border-color:#8a2638;color:#8a2638}.btn.danger:hover{background:#8a2638;color:#fff}

.inline-reset{margin-left:auto}.inline-reset summary{cursor:pointer;font-size:12px;color:var(--primary)}.inline-reset .compact{min-width:220px;margin-top:7px}.inline-reset .compact input{min-height:36px}

.classcontrols .btn.danger{border-color:#8a2638;color:#8a2638}.classcontrols .btn.danger:hover{background:#8a2638;color:#fff}

.class-language-control select{min-width:110px;padding:7px 30px 7px 9px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);font:inherit}
.class-language-control{display:flex;flex-direction:column;gap:3px}
@media(max-width:700px){.class-language-control select{width:100%;min-width:0}}

.book-lessons-panel{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}
.book-lessons-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.book-lessons-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.lesson-prep-actions{display:flex;gap:7px;flex-wrap:wrap}
.book-lesson-list ol{margin:8px 0 0;padding-left:22px}
.book-lesson-list li{padding:8px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.book-lesson-list li:last-child{border-bottom:0}
.book-lesson-list li>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.book-lesson-list li span{font-size:13px}
.book-lesson-progress{margin:8px 0}
.book-lesson-progress .progress{height:7px}
.book-lesson-progress .progress span{width:65%;animation:bookLessonPulse 1.3s ease-in-out infinite alternate}
@keyframes bookLessonPulse{from{opacity:.45;transform:scaleX(.45);transform-origin:left}to{opacity:1;transform:scaleX(1);transform-origin:left}}
@media(max-width:760px){.book-lessons-head,.book-lesson-list li{align-items:stretch;flex-direction:column}.lesson-prep-actions .btn{width:100%}}


/* =========================================================
   Curriculum page containment / responsive box correction
   ========================================================= */
.curriculum-page{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  align-items:start!important;
  overflow:visible!important;
}
.curriculum-page>.card{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.curriculum-page .form,
.curriculum-page .form label,
.curriculum-page .formgrid,
.curriculum-page .formgrid>label{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.curriculum-page .formgrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
}
.curriculum-page input,
.curriculum-page select,
.curriculum-page textarea{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.curriculum-page select{
  text-overflow:ellipsis!important;
}
.curriculum-page textarea{
  overflow-wrap:anywhere!important;
}
.curriculum-page .curriculum-list{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.curriculum-page .curriculum-list article{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.curriculum-page .curriculum-list article h4,
.curriculum-page .curriculum-list article p,
.curriculum-page .curriculum-list article span{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.curriculum-page .meta-line{
  min-width:0!important;
  max-width:100%!important;
  flex-wrap:wrap!important;
}
.curriculum-page .meta-line>span:first-child{
  min-width:0!important;
  flex:1 1 220px!important;
}
.curriculum-page .meta-line .badge{
  flex:0 0 auto!important;
}

@media(max-width:1100px){
  .curriculum-page{
    grid-template-columns:minmax(0,1fr)!important;
  }
}
/* =========================================================
   FINAL CURRICULUM FIELD OVERFLOW FIX — v2
   Prevents form controls from exceeding their parent boxes.
   ========================================================= */

/* Use border-box sizing universally so 100% widths include padding/borders. */
html{
  box-sizing:border-box!important;
}
*,*::before,*::after{
  box-sizing:inherit!important;
}

/* Never allow the application content or curriculum children to force horizontal overflow. */
html,body,.shell,.shell>main,main{
  max-width:100%!important;
  min-width:0!important;
}
body{
  overflow-x:hidden!important;
}

.curriculum-page,
.curriculum-page>.card,
.curriculum-page .form,
.curriculum-page .formgrid,
.curriculum-page .form label,
.curriculum-page .formgrid>label,
.curriculum-page .curriculum-list,
.curriculum-page .curriculum-list article{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
}

/* Explicitly constrain every field type used on Curriculum. */
.curriculum-page input,
.curriculum-page select,
.curriculum-page textarea,
.curriculum-page button{
  box-sizing:border-box!important;
  max-width:100%!important;
  min-width:0!important;
}

.curriculum-page input:not([type="checkbox"]):not([type="radio"]),
.curriculum-page select,
.curriculum-page textarea{
  width:100%!important;
}

/* Some browsers let select intrinsic text width stretch a grid item. */
.curriculum-page select{
  display:block!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* Prevent textarea intrinsic sizing from expanding the card. */
.curriculum-page textarea{
  display:block!important;
  resize:vertical!important;
  overflow-x:hidden!important;
}

/* Force the three numeric fields to share available width rather than their intrinsic width. */
.curriculum-page .formgrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  overflow:hidden!important;
}

/* The two main curriculum panels must also use shrinkable tracks. */
.curriculum-page{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
}

/* Ensure long content inside the right-hand curriculum cards wraps instead of widening them. */
.curriculum-page .curriculum-list h4,
.curriculum-page .curriculum-list p,
.curriculum-page .curriculum-list .meta-line,
.curriculum-page .curriculum-list .meta-line span{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-wrap:break-word!important;
}

/* Buttons may wrap rather than widen the box. */
.curriculum-page .btn,
.curriculum-page button{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Extra safety for the main content column on desktop. */
.shell>main{
  overflow-x:hidden!important;
}

@media(max-width:1200px){
  .curriculum-page{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:700px){
  .curriculum-page .formgrid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .curriculum-page>.card{
    padding:12px!important;
  }
}
.global-search-trigger{margin-left:auto;white-space:nowrap}.global-search-trigger kbd{font:inherit;font-size:.78em;padding:2px 5px;border:1px solid currentColor;border-radius:4px}.search-command{position:sticky;top:12px;z-index:5}.search-command .inline-form input{min-width:min(680px,70vw)}.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rows>a{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:12px;border-radius:8px}.rows>a:hover{background:var(--panel-soft,#f5efe8)}@media(max-width:700px){.global-search-trigger{display:none}.search-command .inline-form input{min-width:0;width:100%}}
.registration-callout{margin-top:18px;padding-top:16px;border-top:1px solid var(--border,#dccbbb);text-align:center}.registration-page{max-width:1000px;margin:30px auto;padding:20px}.public-registration{background:var(--page,#f4efe6)}.course-expiry-alert{position:fixed;z-index:10000;right:24px;top:24px;max-width:420px;background:#fff3cd;color:#4d3500;border:1px solid #e4bd55;border-radius:14px;padding:20px;box-shadow:0 14px 42px #0003}.lesson-timer-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--panel,#fff);border:2px solid var(--accent,#6c1832);border-radius:14px;padding:14px 18px;margin-bottom:20px}.lesson-timer-bar>div{display:flex;flex-direction:column}.lesson-timer-bar strong{font-size:1.8rem;color:var(--accent,#6c1832)}.lesson-timer-bar p{flex:1;margin:0}.flashcard-zone{text-align:center}.flashcard-stage{min-height:270px;display:grid;place-items:center;perspective:1200px}.learning-card{position:relative;width:min(620px,95%);height:240px;border:0;background:transparent;transform-style:preserve-3d;transition:transform .55s;cursor:pointer}.learning-card.flipped{transform:rotateY(180deg)}.learning-card .card-front,.learning-card .card-back{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:28px;border-radius:20px;backface-visibility:hidden;box-shadow:0 12px 35px #0002}.learning-card .card-front{background:#7b1736;color:#fff}.learning-card .card-back{background:#fff4d8;color:#541128;transform:rotateY(180deg)}.learning-card b{font:normal 1.55rem Georgia,serif}.access-list{display:grid;gap:15px}.access-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(105px,1fr)) minmax(150px,1fr) auto;gap:10px;align-items:end;margin:0}.access-row>div{display:flex;flex-direction:column}@media(max-width:1100px){.access-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.access-row{grid-template-columns:1fr}.course-expiry-alert{left:12px;right:12px;top:12px}.lesson-timer-bar{position:static}}

/* Long-form pages always use normal document scrolling. */
body.public-registration,
body.authbg{
  height:auto!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  scrollbar-gutter:stable;
}
body.public-registration .registration-page,
body.authbg>.auth,
body.authbg>.setup{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
body.public-registration .registration-page{
  width:min(1000px,100%)!important;
  margin:30px auto!important;
  padding:20px!important;
  padding-bottom:max(40px,env(safe-area-inset-bottom))!important;
}
.shell>main>.card,
.shell>main form,
.shell>main .form,
.shell>main .application-list,
.shell>main .access-list{
  min-height:0;
  max-height:none;
}
@media(max-width:900px){
  body.public-registration,
  body.authbg{overflow-y:auto!important}
  body.public-registration .registration-page{margin:0 auto!important;padding:12px!important;padding-bottom:max(32px,env(safe-area-inset-bottom))!important}
  .shell>main{height:auto!important;min-height:100vh!important;overflow-y:visible!important}
}

/* Visible scrollbar tracks for all long registration and administration pages. */
html,body,.application-list,.access-list,.tablewrap{
  scrollbar-width:auto;
  scrollbar-color:var(--accent,#6c1832) var(--surface-soft,#eee7df);
  scrollbar-gutter:stable;
}
@media(min-width:901px){body.public-registration,body.authbg{overflow-y:scroll!important}}
body::-webkit-scrollbar,
body.public-registration::-webkit-scrollbar,
body.authbg::-webkit-scrollbar,
.application-list::-webkit-scrollbar,
.access-list::-webkit-scrollbar,
.tablewrap::-webkit-scrollbar{
  width:13px;
  height:13px;
}
body::-webkit-scrollbar-track,
body.public-registration::-webkit-scrollbar-track,
body.authbg::-webkit-scrollbar-track,
.application-list::-webkit-scrollbar-track,
.access-list::-webkit-scrollbar-track,
.tablewrap::-webkit-scrollbar-track{
  background:var(--surface-soft,#eee7df);
  border-left:1px solid var(--border,#d9d0c8);
}
body::-webkit-scrollbar-thumb,
body.public-registration::-webkit-scrollbar-thumb,
body.authbg::-webkit-scrollbar-thumb,
.application-list::-webkit-scrollbar-thumb,
.access-list::-webkit-scrollbar-thumb,
.tablewrap::-webkit-scrollbar-thumb{
  min-height:44px;
  background:var(--accent,#6c1832);
  border:3px solid var(--surface-soft,#eee7df);
  border-radius:10px;
}
body::-webkit-scrollbar-thumb:hover,
body.public-registration::-webkit-scrollbar-thumb:hover,
body.authbg::-webkit-scrollbar-thumb:hover,
.application-list::-webkit-scrollbar-thumb:hover,
.access-list::-webkit-scrollbar-thumb:hover,
.tablewrap::-webkit-scrollbar-thumb:hover{
  background:var(--accent-dark,#481022);
}
@media(max-width:900px){
  body.public-registration,
  body.authbg{
    overflow-y:scroll!important;
    scrollbar-width:auto;
    scrollbar-color:var(--accent,#6c1832) var(--surface-soft,#eee7df);
  }
}

.registration-resend{display:grid;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border,#d9d0c8)}
.registration-resend .btn{width:100%}

/* TEXTBOOK CARD LAYOUT — keep lesson preparation below book information. */
.lesson-preparation-banner{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border:2px solid var(--accent,#6c1832)!important}
.lesson-preparation-banner h3{margin:4px 0 6px}
.lesson-preparation-banner-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.lesson-preparation-banner-actions .btn{white-space:normal;text-align:center}
.rows>.bookrow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:
    "book actions"
    "lessons lessons"!important;
  align-items:start!important;
  gap:14px 18px!important;
  margin:0!important;
  padding:18px 0!important;
}
.bookrow>.book-main{grid-area:book;min-width:0!important}
.bookrow>.book-lessons-panel{
  grid-area:lessons;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:16px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
}
.bookrow>.actions{
  grid-area:actions;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:8px!important;
  max-width:330px;
}
.bookrow>.actions form{margin:0!important}
.bookrow>.actions .btn,
.lesson-prep-actions .btn{
  width:auto!important;
  min-width:0!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.25!important;
}
.book-lessons-head{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) minmax(240px,auto)!important;
  align-items:start!important;
  gap:14px!important;
}
.book-lessons-head>div:first-child{min-width:0!important}
.lesson-prep-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:stretch!important;
  gap:8px!important;
}
.lesson-prep-actions form{margin:0!important}
.book-lesson-list,
.book-lesson-list p,
.book-lesson-list li,
.book-main b,
.book-main span{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
@media(max-width:1100px){
  .rows>.bookrow{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"book" "lessons" "actions"!important;
  }
  .bookrow>.actions{max-width:none;justify-content:flex-start!important}
}
@media(max-width:700px){
  .lesson-preparation-banner{grid-template-columns:minmax(0,1fr)}
  .lesson-preparation-banner-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}
  .lesson-preparation-banner-actions .btn{width:100%}
  .rows>.bookrow{padding:16px 0!important;gap:12px!important}
  .book-lessons-head{grid-template-columns:minmax(0,1fr)!important}
  .lesson-prep-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .lesson-prep-actions form,.lesson-prep-actions .btn{width:100%!important}
  .bookrow>.actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important}
  .bookrow>.actions form:first-child{grid-column:1/-1}
  .bookrow>.actions form:first-child .btn,.bookrow>.actions>.btn{width:100%!important}
}

/* AI ACADEMY BOOKS / LESSON PREPARATION — FINAL DESKTOP LAYOUT
   Keep the two cards side-by-side on wide screens, but stack them at
   practical desktop widths so forms and lesson controls never become cramped.
*/
.books-upload-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.books-upload-layout>.card{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.book-upload-card .form{
  width:100%!important;
}
.book-upload-card .form input,
.book-upload-card .form select,
.book-upload-card .form button{
  width:100%;
  box-sizing:border-box;
}
.book-upload-card .formgrid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.lesson-preparation-banner{
  grid-template-columns:minmax(0,1fr) minmax(420px,auto)!important;
  padding:20px!important;
}
.lesson-preparation-banner>div:first-child{
  min-width:0!important;
}
.lesson-preparation-banner-actions{
  max-width:100%!important;
}
.lesson-preparation-banner-actions .btn{
  min-width:190px!important;
}
.textbooks-card .section-head{
  align-items:flex-start!important;
}
.textbooks-card .section-head>div{
  min-width:0!important;
}
.textbooks-card .rows{
  min-width:0!important;
}
.bookrow>.book-lessons-panel{
  overflow:hidden!important;
}
.book-lesson-list{
  min-width:0!important;
}
.book-lesson-list ol{
  min-width:0!important;
}
.book-lesson-list li{
  min-width:0!important;
}
.book-lesson-list li>div{
  min-width:0!important;
}
.book-lesson-list li>div b,
.book-lesson-list li>div span{
  overflow-wrap:anywhere!important;
}
@media(max-width:1250px){
  .books-upload-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .lesson-preparation-banner{
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
  }
  .lesson-preparation-banner-actions{
    justify-content:flex-start!important;
  }
  .lesson-preparation-banner-actions .btn{
    flex:1 1 190px!important;
  }
}
@media(max-width:700px){
  .books-upload-layout{
    gap:12px!important;
  }
  .book-upload-card .formgrid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .lesson-preparation-banner-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .lesson-preparation-banner-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
  .book-lessons-head{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* SINGLE PAGE BOOK + SYLLABUS + LESSON WORKFLOW */
.one-page-workflow-banner,.one-page-section{scroll-margin-top:24px}
.one-page-section .section-head{gap:18px;align-items:flex-start}
.one-page-section .section-head>div{min-width:0}
.one-page-syllabus-form .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.one-page-syllabus-form .actions{display:flex;gap:10px;flex-wrap:wrap}
.one-page-syllabus-list{margin-top:18px}
.syllabus-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line,#e7d9d0)}
.syllabus-row>div:first-child{min-width:0}
.syllabus-row span,.syllabus-row small{display:block;overflow-wrap:anywhere}
.one-page-prepare-form{align-items:end}
.one-page-prepare-form label{min-width:0;flex:1}
.one-page-prepare-form select{width:100%;box-sizing:border-box}
.one-page-readiness{margin-top:18px}
.unified-prepared-lessons{margin-top:8px}
.prepared-lesson-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line,#e7d9d0)}
.prepared-lesson-number{font-weight:800;text-align:center}
.prepared-lesson-main{min-width:0}
.prepared-lesson-main h4{margin:4px 0 5px;font-size:17px}
.prepared-lesson-main p{margin:0 0 5px;overflow-wrap:anywhere}
.prepared-lesson-actions{white-space:nowrap}
@media(max-width:850px){
 .one-page-syllabus-form .formgrid{grid-template-columns:minmax(0,1fr)}
 .syllabus-row{align-items:flex-start;flex-direction:column}
 .prepared-lesson-row{grid-template-columns:44px minmax(0,1fr)}
 .prepared-lesson-actions{grid-column:2}
}
@media(max-width:600px){
 .one-page-section .section-head{flex-direction:column}
 .prepared-lesson-row{grid-template-columns:minmax(0,1fr)}
 .prepared-lesson-number{text-align:left}
 .prepared-lesson-actions{grid-column:1}
 .one-page-prepare-form{display:block}
 .one-page-prepare-form button{width:100%;margin-top:10px}
}

/* AUTOMATIC STUDENT ACADEMIC DAY */
.today-class-card{grid-column:1/-1}.today-class-card .rows>div{align-items:center;gap:12px}.today-class-card .rows span{flex:1}.notice{overflow-wrap:anywhere}

.one-page-prepare-all-form{display:flex;align-items:end;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--line,#e7d9d0);border-radius:12px}
.one-page-prepare-all-form label{flex:1;min-width:0}
.one-page-prepare-all-form select{width:100%;box-sizing:border-box}
@media(max-width:650px){.one-page-prepare-all-form{display:block}.one-page-prepare-all-form button{width:100%;margin-top:10px}}

/* Current lesson context: keep the teacher visibly anchored to the scheduled topic. */
.current-lesson{margin:14px 0;padding:16px 18px;border:1px solid rgba(120,30,55,.22);border-radius:14px;background:rgba(255,248,235,.92)}
.current-lesson h3{margin:5px 0 6px;font-size:1.08rem}
.current-lesson p{margin:0;line-height:1.5}

/* One-page academic workflow */
.final-academic-workflow{margin:0 0 18px}.course-workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}.course-workflow-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper)}.course-workflow-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.course-workflow-head h3{margin:3px 0}.course-workflow-head p{margin:0;color:var(--muted);font-size:12px}.workflow-state{font-size:11px;font-weight:900;border:1px solid var(--line);border-radius:999px;padding:6px 9px;white-space:nowrap;background:#fff}.workflow-steps{display:grid;gap:8px;margin:14px 0}.workflow-step{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}.workflow-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--maroon);font-weight:900}.workflow-step b{display:block}.workflow-step>div>span,.workflow-step>div>div{font-size:12px;color:var(--muted);margin-top:3px}.workflow-book-list{display:grid;gap:4px}.workflow-book{display:flex;justify-content:space-between;gap:8px}.workflow-book em{font-style:normal;font-size:10px}.workflow-actions{display:flex;flex-wrap:wrap;gap:7px}.workflow-progress{margin-top:12px}.workflow-progress p{margin:6px 0 0;font-size:12px;color:var(--muted)}.syllabus-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.syllabus-status-text{text-transform:capitalize}.prepared-lesson-actions{display:flex;flex-wrap:wrap;gap:7px}.danger{color:#9b2c2c!important}@media(max-width:700px){.course-workflow-grid{grid-template-columns:1fr}.syllabus-row{display:grid}.workflow-actions .btn{width:100%}}

/* ==========================================================================
   AI ACADEMY — SINGLE LAYOUT AUTHORITY
   Desktop uses a fixed navigation rail; the existing mobile-menu system owns
   <=900px. Do not override that responsive contract later in this file.
   ========================================================================== */
html{box-sizing:border-box;min-height:100%;overflow-x:hidden;overflow-y:auto}
*,*::before,*::after{box-sizing:inherit}
html,body{min-width:0}
body{min-height:100vh;margin:0;overflow-x:hidden;overflow-y:auto}
.shell{min-height:100vh;height:auto;overflow:visible}
@media(min-width:901px){
  .shell{display:block!important;min-height:100vh!important}
  .shell>.side{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:255px!important;height:100vh!important;min-height:100vh!important;z-index:1000!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
  .shell>.side nav,.shell>.side .dropdown-nav{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable}
  .shell>.side .sidefoot{flex:0 0 auto!important}
  .shell>main{display:block!important;width:auto!important;max-width:none!important;min-height:100vh!important;height:auto!important;margin:0 0 0 255px!important;padding:25px!important;overflow:visible!important}
}
@media(max-width:900px){
  body{overflow-y:auto!important}
  .shell{display:block!important;width:100%!important;min-height:100vh!important;height:auto!important;overflow:visible!important}
  .shell>main{width:100%!important;min-width:0!important;min-height:100vh!important;height:auto!important;margin:0!important;padding:12px!important;overflow:visible!important}
}
/* Upload / lesson-preparation controls — presentation belongs here, not in PHP. */
.prep-action-row{display:flex;gap:10px;flex-wrap:wrap}.prep-progress-card{margin-top:18px;border:1px solid var(--accent,#6c1832)!important}.prep-progress-bar{height:12px;margin:10px 0 18px}.prep-progress-bar span{width:0}.prep-audit-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.prep-final{margin-top:14px}.prep-items-wrap{margin-top:14px;max-height:420px;overflow:auto}.danger-zone{border:1px solid var(--red,#9b2c2c)!important;margin-bottom:18px}.progress-fill{display:block;width:var(--progress,0%);height:100%;background:var(--accent);border-radius:inherit}.chart-bar{height:var(--bar-height,5px)!important}.course-workflow-grid{align-items:stretch}.course-workflow-card{display:flex;flex-direction:column;min-width:0}.course-workflow-card .workflow-actions{margin-top:auto;padding-top:12px}.workflow-book b{min-width:0;overflow-wrap:anywhere}.workflow-actions .btn,.workflow-actions .badge{max-width:100%;overflow-wrap:anywhere}@media(max-width:800px){.prep-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.prep-audit-summary{grid-template-columns:1fr}.prep-action-row{display:grid;grid-template-columns:1fr}.prep-action-row .btn{width:100%}}

/* =====================================================================
   AI ACADEMY UPLOAD / ACADEMIC WORKFLOW — AUTHORITATIVE COMPONENTS
   All presentation for upload.php lives here. No page-level style overrides.
   ===================================================================== */
.page-upload .ai-academy-upload-page{width:100%;max-width:1500px;margin:0 auto}
.page-upload .final-academic-workflow{padding:22px;margin-bottom:20px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 26px rgba(60,35,35,.06)}
.page-upload .course-workflow-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin-top:18px!important}
.page-upload .course-workflow-card{display:flex!important;flex-direction:column!important;min-width:0!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:18px!important;box-shadow:0 5px 18px rgba(60,35,35,.06)!important}
.page-upload .course-workflow-head{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:flex-start!important;padding-bottom:12px!important;border-bottom:1px solid var(--line)!important}
.page-upload .course-workflow-head h3{margin:4px 0!important;font-size:20px!important;line-height:1.25!important;color:var(--maroon)!important;overflow-wrap:anywhere}
.page-upload .course-workflow-head p{margin:0!important;color:var(--muted)!important;font-size:12px!important}
.page-upload .workflow-state{flex:0 0 auto!important;background:var(--cream2)!important;color:var(--maroon)!important;border:1px solid var(--line)!important;font-size:11px!important;font-weight:900!important;border-radius:999px!important;padding:7px 10px!important}
.page-upload .workflow-steps{display:grid!important;gap:9px!important;margin:15px 0!important}
.page-upload .workflow-step{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:11px!important;background:#fff!important}
.page-upload .workflow-num{width:28px!important;height:28px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--cream)!important;color:var(--maroon)!important;font-weight:900!important}
.page-upload .workflow-step-body{min-width:0!important}
.page-upload .workflow-step-body>b{display:block!important;margin-bottom:3px!important;color:var(--ink)!important}
.page-upload .workflow-book-list{display:grid!important;gap:5px!important}
.page-upload .workflow-book{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:flex-start!important}
.page-upload .workflow-book b{min-width:0!important;overflow-wrap:anywhere!important;font-size:12px!important}
.page-upload .workflow-book em{font-style:normal!important;white-space:nowrap!important;font-size:10px!important;color:var(--muted)!important}
.page-upload .workflow-meter{margin-top:9px!important}
.page-upload .workflow-meter-track{height:7px!important;border-radius:999px!important;background:#e9e3de!important;overflow:hidden!important}
.page-upload .workflow-meter-track>span{display:block!important;height:100%!important;width:0;max-width:100%;border-radius:999px!important;background:var(--maroon)!important;transition:width .3s ease!important}
.page-upload .workflow-meter small{display:block!important;margin-top:5px!important;font-size:10px!important;color:var(--muted)!important}
.page-upload .workflow-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:auto!important;padding-top:4px!important}
.page-upload .workflow-actions .btn,.page-upload .workflow-actions .badge{max-width:100%!important;min-width:0!important}
.page-upload .workflow-progress{margin-top:13px!important;padding:12px!important;border:1px solid rgba(108,24,50,.18)!important;border-radius:12px!important;background:#fff8f3!important}
.page-upload .workflow-progress-head{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:center!important;font-size:12px!important;color:var(--maroon)!important}
.page-upload .workflow-progress-bar{height:10px!important;margin:9px 0 5px!important;background:#e8e2dd!important}
.page-upload .workflow-progress-bar>span{display:block!important;width:0;height:100%!important;background:var(--maroon)!important;border-radius:999px!important;transition:width .3s ease!important}
.page-upload .workflow-progress p{margin:0!important;font-size:11px!important;color:var(--muted)!important;overflow-wrap:anywhere!important}
.page-upload .books-upload-layout{display:grid!important;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)!important;gap:18px!important;align-items:start!important}
.page-upload .books-upload-layout>.card{min-width:0!important;width:100%!important}
.page-upload .textbooks-card .section-head{align-items:flex-start!important}
.page-upload .textbooks-card .rows{display:grid!important;gap:0!important}
.page-upload .textbooks-card .bookrow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:start!important;padding:18px 0!important;border-bottom:1px solid var(--line)!important}
.page-upload .textbooks-card .bookrow:last-child{border-bottom:0!important}
.page-upload .book-main{min-width:0!important}
.page-upload .book-main>b{display:block!important;font-size:15px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.page-upload .index-status-line{margin-top:9px!important}
.page-upload .index-progress-wrap{display:block!important;max-width:520px!important;margin-top:10px!important}
.page-upload .index-progress-wrap.hidden{display:none!important}
.page-upload .indeterminate{height:8px!important;background:#e8e2dd!important;border-radius:999px!important;overflow:hidden!important}
.page-upload .indeterminate span{background:var(--maroon)!important}
.page-upload .bookrow>.actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:7px!important;max-width:360px!important}
.page-upload .bookrow>.actions form{margin:0!important}
.page-upload .one-page-prepare-all-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:end!important}
.page-upload .one-page-prepare-all-form .prep-action-row{justify-content:flex-end!important}
.page-upload .prep-progress-card{background:#fff!important;box-shadow:0 8px 25px rgba(60,35,35,.07)!important}
.page-upload .prep-progress-bar{height:14px!important;background:#e8e2dd!important;border-radius:999px!important;overflow:hidden!important}
.page-upload .prep-progress-bar>span{display:block!important;height:100%!important;width:0;background:var(--maroon)!important;border-radius:999px!important;transition:width .35s ease!important}
.page-upload .prep-audit-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.page-upload .prep-audit-summary article{min-width:0!important;background:var(--cream2)!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:12px!important}
.page-upload .prep-audit-summary article b{font-size:22px!important;color:var(--maroon)!important}
.page-upload .prep-audit-summary article span{display:block!important;font-size:11px!important;color:var(--muted)!important;margin-top:3px!important}
.page-upload .prep-items-wrap{max-height:440px!important;overflow:auto!important;border:1px solid var(--line)!important;border-radius:12px!important}
.page-upload .prep-items-wrap table{width:100%!important}
.page-upload .one-page-readiness{overflow:auto!important}
@media(max-width:1100px){
 .page-upload .course-workflow-grid{grid-template-columns:1fr!important}
 .page-upload .books-upload-layout{grid-template-columns:1fr!important}
}
@media(max-width:900px){
 .page-upload .ai-academy-upload-page{max-width:none!important}
 .page-upload .final-academic-workflow{padding:15px!important}
 .page-upload .course-workflow-card{padding:14px!important}
 .page-upload .bookrow>.actions{justify-content:flex-start!important;max-width:none!important}
 .page-upload .one-page-prepare-all-form{grid-template-columns:1fr!important}
 .page-upload .one-page-prepare-all-form .prep-action-row{display:grid!important;grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
 .page-upload .workflow-actions{display:grid!important;grid-template-columns:1fr!important}
 .page-upload .workflow-actions .btn{width:100%!important}
 .page-upload .bookrow{grid-template-columns:1fr!important}
 .page-upload .bookrow>.actions{display:grid!important;grid-template-columns:1fr 1fr!important}
 .page-upload .bookrow>.actions form:first-child{grid-column:1/-1!important}
 .page-upload .one-page-prepare-all-form .prep-action-row{grid-template-columns:1fr!important}
 .page-upload .prep-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Visible academic pipeline states */
.page-upload .workflow-state[data-state="working"]{background:#fff3cd!important;color:#7a4f00!important}
.page-upload .workflow-progress.hidden,.page-upload .prep-progress-card.hidden{display:none!important}
.page-upload .workflow-progress:not(.hidden),.page-upload .prep-progress-card:not(.hidden){display:block!important}
.page-upload .index-progress-wrap:not(.hidden){display:block!important}
.page-upload .indeterminate span{display:block!important;width:35%!important;height:100%!important;border-radius:999px!important;animation:aiAcademyIndexPulse 1.2s ease-in-out infinite!important}
@keyframes aiAcademyIndexPulse{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
.page-upload .workflow-actions .btn[disabled],.page-upload .prep-action-row .btn[disabled]{opacity:.62!important;cursor:wait!important}


/* =====================================================================
   GLOBAL TOP-SPACE / VIEWPORT RESET
   One authoritative rule for the application canvas.  Pages must start at
   the top of the viewport; no legacy height/centering rules may create a
   large blank area above the page header.
   ===================================================================== */
html,body{margin:0!important;padding:0!important;min-height:100%!important;}
body{display:block!important;align-items:initial!important;justify-content:initial!important;}
.shell{position:relative!important;display:block!important;width:100%!important;min-height:100vh!important;height:auto!important;margin:0!important;padding:0!important;}
.shell>.side{margin:0!important;}
.shell>main,main{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin-top:0!important;
  padding-top:14px!important;
  align-self:auto!important;
  justify-self:stretch!important;
  vertical-align:top!important;
}
.shell>main>.top{
  position:relative!important;
  top:auto!important;
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}
.page-upload .ai-academy-upload-page{margin-top:0!important;padding-top:0!important;}
.page-upload .lesson-preparation-banner{margin-top:0!important;}
/* Prevent an accidental empty spacer before the first real page component. */
.page-upload main>.ai-academy-upload-page:first-child{margin-top:0!important;}
@media(max-width:900px){
  .shell>main,main{padding-top:10px!important;min-height:100vh!important;height:auto!important;}
  .shell>main>.top{margin-top:0!important;padding-top:0!important;}
}

/* Live classroom controls beside connection status */
.live-action-panel{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:270px}
.live-action-top{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.live-start-btn{white-space:nowrap;font-weight:800}
.device-tests{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.compact-device-btn{font-size:11px!important;padding:7px 10px!important;border-radius:8px!important}
.device-test-state{font-size:11px;color:var(--muted);text-align:right;line-height:1.3;max-width:330px}
.device-test-state.ok{color:#176b3a;font-weight:700}
.device-test-state.warn{color:#8a5a00;font-weight:700}
.device-test-state.error{color:#8a2638;font-weight:700}
.teacheridentity{min-width:0;flex:1}
@media(max-width:760px){
  .teacherhead{align-items:flex-start;flex-wrap:wrap}
  .live-action-panel{width:100%;margin-left:0;align-items:stretch}
  .live-action-top,.device-tests{justify-content:flex-start}
  .device-test-state{text-align:left;max-width:none}
}

.workflow-sequence-note{display:inline-flex;align-items:center;padding:.55rem .8rem;border:1px solid rgba(80,40,20,.18);border-radius:10px;background:rgba(255,255,255,.55);font-weight:700;color:#6d1b32}.workflow-actions{align-items:center}

/* Transparent three-step academic setup */
.page-upload .academic-wizard-intro{border:2px solid rgba(110,25,55,.22)!important;padding:22px!important;margin-bottom:22px!important;background:linear-gradient(180deg,#fffdf9,#f8efe4)!important}
.page-upload .academic-wizard-intro h2{margin:.35rem 0 .55rem!important;font-size:28px!important}
.page-upload .wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.page-upload .wizard-step{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:14px 15px;border:1px solid rgba(90,30,45,.18);border-radius:14px;background:#fff;text-decoration:none;color:inherit;transition:.15s ease}
.page-upload .wizard-step:hover{transform:translateY(-1px);border-color:rgba(90,30,45,.38)}
.page-upload .wizard-step>span{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eee2d8;color:#6f1736;font-weight:900;font-size:18px}
.page-upload .wizard-step.active,.page-upload .wizard-step.ready{border-color:#7a183b;background:#fff8ef;box-shadow:0 2px 10px rgba(70,25,35,.06)}
.page-upload .wizard-step.active>span,.page-upload .wizard-step.ready>span{background:#7a183b;color:#fff}
.page-upload .wizard-step b{font-size:14px}
.page-upload .wizard-step small{color:#6f6a66;margin-top:3px}
.page-upload .academic-step-section{margin:0 0 24px!important;scroll-margin-top:18px}
.page-upload .step-heading{display:flex;gap:14px;align-items:flex-start;margin:0 0 12px!important;padding:17px 20px;border-radius:14px;background:#f5eadf;border:1px solid rgba(110,25,55,.15)}
.page-upload .step-number{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#7a183b;color:#fff;font-size:20px;font-weight:900}
.page-upload .step-heading h2{margin:.1rem 0 .35rem!important;font-size:24px!important}
.page-upload .step-heading p{margin:0!important}
.page-upload .workflow-gate{margin:0 0 16px!important;padding:13px 16px!important;border-radius:11px!important;font-weight:700!important;border:1px solid rgba(90,30,45,.18)!important}
.page-upload .workflow-gate.gate-waiting{background:#fff8dc!important;color:#765200!important}
.page-upload .workflow-gate.gate-ready{background:#eaf7ef!important;color:#17633c!important;border-color:rgba(23,99,60,.22)!important}
.page-upload .workflow-gate.gate-error{background:#fff0f0!important;color:#8a2638!important;border-color:rgba(138,38,56,.22)!important}
.page-upload #uploadBox,#r_progress{margin-top:16px;padding:16px;border:1px solid rgba(90,30,45,.16);border-radius:12px;background:#fffdf9}
.page-upload #uploadMsg,#r_msg{font-weight:700}
.page-upload .workflow-final-note{margin-top:20px}
@media(max-width:850px){.page-upload .wizard-steps{grid-template-columns:1fr}.page-upload .wizard-step{grid-template-columns:38px 1fr}.page-upload .step-heading{padding:15px}}

/* Prominent 1-2-3 academic workflow progress bar */
.page-upload .academic-progress-bar{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;padding:16px 14px 12px;border:2px solid rgba(122,24,59,.18);border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(70,25,35,.08);overflow:hidden}
.page-upload .academic-progress-track{position:absolute;left:14%;right:14%;top:37px;height:4px;border-radius:999px;background:#eadfd7;z-index:0;overflow:hidden}
.page-upload .academic-progress-track span{display:block;width:8%;height:100%;border-radius:999px;background:#7a183b;transition:width .35s ease}
.page-upload .academic-progress-step{position:relative;z-index:1;display:flex;align-items:flex-start;gap:10px;min-width:0;padding:8px 10px;border-radius:12px;text-decoration:none;color:inherit;background:transparent;transition:.18s ease}
.page-upload .academic-progress-step.current{background:#fff7ed;box-shadow:0 2px 9px rgba(70,25,35,.08)}
.page-upload .academic-progress-step.complete{background:#eef8f1}
.page-upload .academic-progress-step.locked{opacity:.52;cursor:not-allowed}
.page-upload .academic-progress-step:not(.locked):hover{transform:translateY(-1px)}
.page-upload .progress-step-number{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e9ddd4;color:#6d1836;font-size:18px;font-weight:900;border:2px solid #fff;box-shadow:0 0 0 2px #e9ddd4}
.page-upload .academic-progress-step.current .progress-step-number{background:#7a183b;color:#fff;box-shadow:0 0 0 2px #7a183b}
.page-upload .academic-progress-step.complete .progress-step-number{background:#1f7a4d;color:#fff;box-shadow:0 0 0 2px #1f7a4d}
.page-upload .academic-progress-step.complete .progress-step-number::after{content:'✓';font-size:16px}
.page-upload .academic-progress-step.complete .progress-step-number{font-size:0}
.page-upload .progress-step-copy{display:flex;flex-direction:column;min-width:0;padding-top:2px}
.page-upload .progress-step-copy b{font-size:14px;line-height:1.25}
.page-upload .progress-step-copy small{margin-top:4px;color:#6f6a66;line-height:1.35}
.page-upload .academic-progress-step.current .progress-step-copy b{color:#7a183b}
.page-upload .academic-progress-step.complete .progress-step-copy b{color:#17633c}
.page-upload .academic-workflow-toast{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:420px;padding:13px 16px;border-radius:12px;background:#5f102d;color:#fff;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}
.page-upload .academic-workflow-toast.show{opacity:1;transform:translateY(0)}
@media(max-width:850px){.page-upload .academic-progress-bar{grid-template-columns:1fr;gap:4px}.page-upload .academic-progress-track{left:33px;right:auto;top:34px;bottom:34px;width:4px;height:auto}.page-upload .academic-progress-track span{width:100%;height:8%;transition:height .35s ease}.page-upload .academic-progress-step{padding:9px 8px}.page-upload .academic-workflow-toast{left:16px;right:16px;bottom:16px}}

/* Unified live academic workflow summary */
.page-upload .live-status-head-right{display:flex;align-items:center;gap:8px;min-width:0}
.page-upload .live-overall-state{font-size:9px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:4px 8px;white-space:nowrap;background:#f2eee9;color:#6f665f}
.page-upload .live-overall-state.working{background:#fff0d6;color:#8a5a00}
.page-upload .live-overall-state.complete{background:#e8f6ec;color:#1d6a39}
.page-upload .live-overall-state.error{background:#fde9e9;color:#a12c2c}
.page-upload .live-overall-progress{margin:0 0 10px;padding:9px 10px;border:1px solid rgba(122,24,59,.12);border-radius:10px;background:#fff}
.page-upload .live-overall-progress-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:11px;color:#4d172d}
.page-upload .live-overall-progress-head span{font-size:10px;color:#766b64;text-align:right}
.page-upload .live-overall-track{height:9px;border-radius:999px;background:#ece5df;overflow:hidden}
.page-upload .live-overall-track>span{display:block;width:0;height:100%;border-radius:999px;background:#7a183b;transition:width .35s ease}
@media(max-width:700px){.page-upload .live-status-head-right{width:100%;justify-content:space-between}.page-upload .live-overall-progress-head{align-items:flex-start;flex-direction:column;gap:3px}.page-upload .live-overall-progress-head span{text-align:left}}

/* Compact live academic workflow status panel */
.page-upload .academic-live-status{margin-top:12px;padding:12px 14px;border:1px solid rgba(122,24,59,.16);border-radius:14px;background:#fffdf9;box-shadow:0 3px 14px rgba(70,25,35,.06)}
.page-upload .academic-live-status-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.page-upload .academic-live-status-head>div{display:flex;align-items:center;gap:9px;min-width:0}
.page-upload .academic-live-status-head .eyebrow{margin:0;font-size:10px;letter-spacing:.12em}
.page-upload .academic-live-status-head b{font-size:13px;color:#4d172d}
.page-upload .live-status-updated{font-size:11px;color:#77716c;white-space:nowrap}
.page-upload .academic-live-status-grid{display:grid;grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(130px,1fr));gap:8px}
.page-upload .live-status-item{min-width:0;padding:8px 10px;border:1px solid rgba(122,24,59,.12);border-radius:10px;background:#fff}
.page-upload .live-status-item>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#81766e;margin-bottom:3px}
.page-upload .live-status-item strong{display:block;font-size:12px;line-height:1.25;color:#3e2730;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-upload .live-status-book select{width:100%;border:0;background:transparent;padding:0;font-weight:700;font-size:12px;color:#3e2730;outline:none;min-width:0}
.page-upload .live-lock-reason{margin-top:8px;padding:8px 10px;border-radius:9px;font-size:11px;line-height:1.4;border:1px solid rgba(122,24,59,.12);background:#f7f3ee;color:#5f5149}
.page-upload .live-lock-reason.current{background:#fff8dc;color:#765200;border-color:rgba(118,82,0,.16)}
.page-upload .live-lock-reason.ready{background:#eaf7ef;color:#17633c;border-color:rgba(23,99,60,.18)}
.page-upload .live-lock-reason.error{background:#fff0f0;color:#8a2638;border-color:rgba(138,38,56,.2)}
.page-upload .live-lock-reason.waiting{background:#f5f2ef;color:#665b54}
@media(max-width:900px){.page-upload .academic-live-status-grid{grid-template-columns:1fr 1fr}.page-upload .live-status-book{grid-column:1/-1}}
@media(max-width:560px){.page-upload .academic-live-status-grid{grid-template-columns:1fr}.page-upload .live-status-book{grid-column:auto}.page-upload .academic-live-status-head{align-items:flex-start;flex-direction:column;gap:4px}}

/* Live upload/indexing progress details */
.page-upload .live-progress-details{display:grid;gap:8px;margin-top:10px}
.page-upload .live-progress-row{padding:9px 10px;border:1px solid rgba(122,24,59,.12);border-radius:10px;background:#fff}
.page-upload .live-progress-row-head,.page-upload .live-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.page-upload .live-progress-row-head{font-size:11px;color:#4d172d;margin-bottom:6px}
.page-upload .live-progress-row-head span{font-weight:700;white-space:nowrap}
.page-upload .live-progress-track{height:7px;border-radius:999px;background:#ece5df;overflow:hidden}
.page-upload .live-progress-track>span{display:block;width:0;height:100%;border-radius:999px;background:#7a183b;transition:width .35s ease;position:relative}
.page-upload .live-progress-track>span.indeterminate{width:42%!important;animation:liveProgressMove 1.15s ease-in-out infinite}
.page-upload .live-progress-meta{margin-top:5px;font-size:10px;color:#766b64;line-height:1.35}
.page-upload .live-progress-meta span:first-child{min-width:0}
.page-upload .live-progress-meta span:last-child{white-space:nowrap}
@keyframes liveProgressMove{0%{transform:translateX(-110%)}100%{transform:translateX(245%)}}
@media(max-width:700px){.page-upload .live-progress-row-head,.page-upload .live-progress-meta{align-items:flex-start;flex-direction:column;gap:3px}.page-upload .live-progress-meta span:last-child{white-space:normal}}

/* Current operation details */
.page-upload .current-operation-panel{margin-top:10px;padding:11px 13px;border:1px solid rgba(122,24,59,.14);border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(70,25,35,.045)}
.page-upload .current-operation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.page-upload .current-operation-head>div{display:flex;align-items:center;gap:9px;min-width:0}
.page-upload .current-operation-head .eyebrow{margin:0;font-size:9px;letter-spacing:.12em}
.page-upload .current-operation-head b{font-size:13px;color:#4d172d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-upload .operation-state{font-size:9px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:4px 8px;white-space:nowrap;background:#f2eee9;color:#6f665f}
.page-upload .operation-state.working{background:#fff0d6;color:#8a5a00}
.page-upload .operation-state.complete{background:#e8f6ec;color:#1d6a39}
.page-upload .operation-state.error{background:#fde9e9;color:#a12c2c}
.page-upload .current-operation-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) minmax(90px,.6fr) minmax(220px,1.8fr);gap:8px}
.page-upload .current-operation-grid>div{padding:7px 9px;border:1px solid rgba(122,24,59,.10);border-radius:9px;background:#fffdfb;min-width:0}
.page-upload .current-operation-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#81766e;margin-bottom:3px}
.page-upload .current-operation-grid strong{display:block;font-size:11px;line-height:1.3;color:#3e2730;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Professional rebuild: every document and long form remains mouse-wheel and
   keyboard scrollable. This final rule intentionally overrides historical
   patch rules that locked html/body to the viewport. */
html{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  scrollbar-gutter:stable;
}
body{
  height:auto!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
.authbg,.public-registration{
  min-height:100vh!important;
  height:auto!important;
  overflow-y:auto!important;
}
.registration-page,.auth,.setup{
  max-height:none!important;
  overflow:visible!important;
}
textarea{resize:vertical}
.page-upload .current-operation-message{margin-top:7px;font-size:10px;line-height:1.4;color:#6f665f}
@media(max-width:900px){.page-upload .current-operation-grid{grid-template-columns:1fr 1fr}.page-upload .current-operation-grid>div:last-child{grid-column:1/-1}}
@media(max-width:560px){.page-upload .current-operation-head{align-items:flex-start;flex-direction:column;gap:5px}.page-upload .current-operation-grid{grid-template-columns:1fr}.page-upload .current-operation-grid>div:last-child{grid-column:auto}}

/* Student sees only today's class entry point */
.student-today-only{max-width:980px;margin:0 auto;min-height:420px;display:flex;flex-direction:column;justify-content:center;}
.student-today-head{text-align:center;max-width:720px;margin:0 auto 28px;}
.student-today-head h2{margin:8px 0 8px;font-size:clamp(28px,4vw,42px);}
.student-today-list{display:grid;gap:14px;max-width:760px;width:100%;margin:0 auto;}
.student-today-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--card,#fff);}
.student-today-item h3{margin:5px 0 4px;}
.student-start-today{white-space:nowrap;}
@media (max-width:700px){.student-today-item{flex-direction:column;align-items:stretch}.student-start-today{text-align:center;width:100%;}}

/* Student subject administration: prevent form controls from escaping their
   grid column and expose each enrolment's actual lesson eligibility. */
.enrollment-page{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:start}
.enrollment-page>.card,.enrollment-page .form,.enrollment-page .form label{min-width:0;max-width:100%}
.enrollment-page input,.enrollment-page select,.enrollment-page button{display:block;width:100%;max-width:100%;min-width:0}
.enrollment-rows .enrollment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.enrollment-copy{display:grid;gap:3px;min-width:0}
.enrollment-copy span,.enrollment-copy small{overflow-wrap:anywhere}
.enrollment-copy small{color:var(--muted)}
.enrollment-state{font-size:12px;margin-top:3px}
.enrollment-state.ok{color:#176936}.enrollment-state.warn{color:#8a5a00}.enrollment-state.bad{color:#9b2c2c}
.enrollment-row form,.enrollment-row form .btn{width:auto;min-width:0;margin:0}
@media(max-width:900px){.enrollment-page{grid-template-columns:1fr}.enrollment-rows .enrollment-row{grid-template-columns:1fr}.enrollment-row form,.enrollment-row form .btn{width:100%}}

/* Record selectors and faculty forms must never exceed their cards. */
.record-selector,.record-selector-form,.record-selector-form label,.faculty-admin-layout>.card,.faculty-admin-layout form,.faculty-admin-layout label{min-width:0;max-width:100%}
.record-selector-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.record-selector-form label{display:grid;gap:7px;font-weight:800}
.record-selector-form select,.faculty-admin-layout input,.faculty-admin-layout select,.faculty-admin-layout textarea{display:block;width:100%;max-width:100%;min-width:0}
.faculty-admin-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.faculty-admin-layout .assignment-list>div{grid-template-columns:minmax(0,1fr) minmax(110px,.45fr);overflow-wrap:anywhere}
@media(max-width:900px){.record-selector-form,.faculty-admin-layout{grid-template-columns:1fr}.record-selector-form .btn{width:100%}}

/* Prepared lesson library */
.lesson-subject-selector{max-width:980px;margin-left:auto;margin-right:auto}
.lesson-library-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px}
.lesson-library-summary h2{margin:4px 0}.lesson-library-summary p{margin:0;color:var(--muted)}
.prepared-lesson-library{display:grid;gap:14px;margin-top:16px}
.prepared-lesson-card{min-width:0}
.prepared-lesson-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:start}
.prepared-lesson-head h3{margin:4px 0 6px}.prepared-lesson-head p{margin:0}
.lesson-content-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.lesson-content-details>summary{cursor:pointer;color:var(--maroon);font-weight:800;padding:8px 0}
.lesson-content-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.lesson-content-preview>section{background:var(--surface-alt,#faf7f2);border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}
.lesson-content-preview h4{margin:0 0 8px;color:var(--maroon)}
.lesson-content-preview p,.lesson-content-preview li{line-height:1.6;overflow-wrap:anywhere}
.lesson-flashcard-preview{display:grid;gap:7px}.lesson-flashcard-preview>div{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.lesson-flashcard-preview span{color:var(--muted)}
.lesson-source-preview{grid-column:1/-1}.lesson-not-ready-note{margin:14px 0 0;color:var(--muted)}
.prepared-lesson-card .lesson-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.prepared-lesson-card .lesson-actions form{margin:0}
.curriculum-subject-selector{display:flex;align-items:end;gap:12px;margin-bottom:16px}.curriculum-subject-selector .record-selector-form{flex:1}.curriculum-subject-selector>a{flex:0 0 auto}
@media(max-width:800px){.lesson-library-summary,.curriculum-subject-selector{display:grid;grid-template-columns:1fr}.prepared-lesson-head{grid-template-columns:44px minmax(0,1fr)}.prepared-lesson-head>.badge{grid-column:2}.lesson-content-preview{grid-template-columns:1fr}.lesson-source-preview{grid-column:auto}.curriculum-subject-selector>a{width:100%}}

/* Automatic overdue-fee account suspension */
.fee-lock-list{display:grid;gap:10px;margin-top:14px}
.fee-lock-row{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(210px,.9fr) minmax(240px,1fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-alt,#faf7f2);min-width:0}
.fee-lock-row>*{min-width:0}.fee-lock-student{display:grid;gap:3px}.fee-lock-student span,.fee-lock-student small{color:var(--muted);overflow-wrap:anywhere}
.fee-lock-row>label:not(.check){display:grid;gap:6px;font-weight:800}.fee-lock-row input[type="text"],.fee-lock-row input:not([type]){width:100%;max-width:100%;min-width:0}
.fee-lock-check{align-self:center!important}.fee-lock-row .btn{white-space:normal}
@media(max-width:1100px){.fee-lock-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fee-lock-row .btn{width:100%}}
@media(max-width:700px){.fee-lock-row{grid-template-columns:1fr}}

/* Student history, results and fee reminder */
.previous-lesson-list>div{align-items:center}.previous-lesson-list small{display:block;margin-top:4px;color:var(--muted)}
.student-record-overview{align-items:start}.student-record-overview>.card{min-width:0}
.fee-warning{border-color:#d79b24;background:#fff4d6;color:#523500}.fee-warning b{color:#6c1832}
.stats article b{overflow-wrap:anywhere}
@media(max-width:800px){.student-record-overview{grid-template-columns:1fr}.previous-lesson-list>div{align-items:stretch}.previous-lesson-list .btn{width:100%}}

/* PowerPoint-style lesson presentation */
.classroom-slideshow{margin-bottom:18px;overflow:hidden}.lesson-slide-stage{aspect-ratio:16/9;min-height:360px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#6c1832;box-shadow:0 18px 40px rgba(60,24,35,.15)}
.lesson-slide{height:100%;padding:clamp(30px,5vw,72px);display:grid;grid-template-columns:70px minmax(0,1fr);gap:clamp(20px,4vw,54px);align-items:center;color:#fff;background:radial-gradient(circle at 86% 16%,rgba(255,255,255,.16),transparent 28%),linear-gradient(135deg,#65152e,#8b2344)}
.lesson-slide-number{align-self:start;font:700 clamp(22px,3vw,38px) Georgia,serif;color:#f2d9b5;border-top:3px solid #f2d9b5;padding-top:10px}.lesson-slide-copy{max-width:1050px;min-width:0}.lesson-slide h2{margin:0 0 clamp(18px,3vw,34px);font:700 clamp(31px,4.6vw,64px)/1.08 Georgia,serif;color:#fff}.lesson-slide p,.lesson-slide li{font-size:clamp(18px,2.1vw,30px);line-height:1.45;color:#fff}.lesson-slide .slide-subtitle{color:#f5dfc4;font-size:clamp(19px,2.4vw,34px)}.lesson-slide .slide-body{white-space:pre-line}.lesson-slide ul{display:grid;gap:14px;margin:0;padding-left:1.2em}.lesson-slide li::marker{color:#f2d9b5}.slide-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.slide-review-grid>div{padding:16px 18px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.1);display:grid;gap:7px}.slide-review-grid b{font-size:clamp(17px,1.8vw,25px);color:#f8e7ce}.slide-review-grid span{font-size:clamp(15px,1.5vw,21px);line-height:1.4}.slide-type-question,.slide-type-answer{background:radial-gradient(circle at 15% 80%,rgba(108,24,50,.12),transparent 30%),linear-gradient(135deg,#fff8ed,#eed8bd);color:#5a1730}.slide-type-question h2,.slide-type-answer h2,.slide-type-question p,.slide-type-answer p{color:#5a1730}.slide-type-question .lesson-slide-number,.slide-type-answer .lesson-slide-number{color:#6c1832;border-color:#6c1832}.lesson-slide-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}.lesson-slide-controls span{min-width:72px;text-align:center;font-weight:800;color:var(--maroon)}
.classroom-slideshow:fullscreen{background:#14070c;padding:2vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.classroom-slideshow:fullscreen .section-head{color:#fff}.classroom-slideshow:fullscreen .section-head h3,.classroom-slideshow:fullscreen .section-head p{color:#fff}.classroom-slideshow:fullscreen .lesson-slide-stage{height:78vh;aspect-ratio:auto;min-height:0}.classroom-slideshow:fullscreen .lesson-slide-controls span{color:#fff}
@media(max-width:700px){.lesson-slide-stage{min-height:300px;aspect-ratio:auto}.lesson-slide{grid-template-columns:1fr;padding:26px 22px;gap:12px}.lesson-slide-number{display:none}.lesson-slide h2{font-size:30px}.lesson-slide p,.lesson-slide li{font-size:18px}.slide-review-grid{grid-template-columns:1fr}.classroom-slideshow .section-head{align-items:flex-start}}

/* Voice-synchronised animated whiteboard */
.classroom-slideshow .lesson-slide{position:relative;isolation:isolate;background-color:#fff;background-image:linear-gradient(rgba(25,25,25,.045) 1px,transparent 1px);background-size:100% 42px;color:#111;border:10px solid #ece8df;box-shadow:inset 0 0 0 2px #cfc7ba}
.classroom-slideshow .lesson-slide::after{content:"";position:absolute;inset:auto 5% 8% 5%;height:2px;background:#191919;opacity:.16;z-index:-1}.classroom-slideshow .lesson-slide h2,.classroom-slideshow .lesson-slide p,.classroom-slideshow .lesson-slide li,.classroom-slideshow .slide-subtitle{color:#111}.classroom-slideshow .lesson-slide-number{color:#111;border-color:#111}.classroom-slideshow .handwriting-text,.classroom-slideshow .live-handwriting,.classroom-slideshow .slide-body{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;color:#090909;letter-spacing:.015em}.classroom-slideshow .live-handwriting{font-size:clamp(23px,2.7vw,39px);line-height:1.55;min-height:5em;white-space:pre-wrap;margin:0}.classroom-slideshow .slide-review-grid>div{background:#fff;border:2px solid #222;box-shadow:4px 5px 0 rgba(0,0,0,.08);transform:rotate(-.4deg)}.classroom-slideshow .slide-review-grid>div:nth-child(even){transform:rotate(.45deg)}.classroom-slideshow .slide-review-grid b,.classroom-slideshow .slide-review-grid span{color:#111;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive}
.slide-graphic{position:absolute;right:5%;top:8%;width:clamp(80px,11vw,150px);height:clamp(80px,11vw,150px);display:grid;place-items:center;z-index:-1;opacity:.18;animation:slideGraphicFloat 4s ease-in-out infinite}.slide-graphic>span{font-size:clamp(58px,8vw,112px);filter:grayscale(1)}.slide-graphic i{position:absolute;border:2px solid #111;border-radius:50%;animation:graphicOrbit 7s linear infinite}.slide-graphic i:nth-child(2){width:78%;height:78%}.slide-graphic i:nth-child(3){width:105%;height:105%;animation-direction:reverse}.slide-graphic i:nth-child(4){width:128%;height:128%;animation-duration:11s}.writing-pen{display:inline-block;margin-left:7px;font-family:Arial,sans-serif;font-size:.8em;filter:grayscale(1);transform:rotate(-24deg);animation:penWrite .34s ease-in-out infinite alternate;vertical-align:middle}.slide-type-live .lesson-slide-copy{max-width:1150px}.slide-type-live .slide-graphic{opacity:.24}.slide-type-live h2{font-size:clamp(29px,3.3vw,47px)!important;margin-bottom:18px!important}
@keyframes penWrite{from{transform:translateY(-3px) rotate(-24deg)}to{transform:translateY(3px) translateX(2px) rotate(-18deg)}}@keyframes slideGraphicFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(10px) rotate(3deg)}}@keyframes graphicOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.slide-graphic,.slide-graphic i,.writing-pen{animation:none}}@media(max-width:700px){.slide-graphic{right:3%;top:5%;opacity:.1}.classroom-slideshow .lesson-slide{border-width:6px}.classroom-slideshow .live-handwriting{font-size:20px}}

/* Topic-level modern presentation synchronisation */
.live-class-slideshow .lesson-slide-stage{background:#f5f7fb}.live-class-slideshow .lesson-slide{padding-bottom:clamp(112px,14vw,154px);background-image:linear-gradient(rgba(25,25,25,.035) 1px,transparent 1px),radial-gradient(circle at 92% 10%,rgba(108,24,50,.09),transparent 25%);overflow:hidden}.live-class-slideshow .lesson-slide-copy{position:relative;z-index:2;max-width:min(78%,980px)}.modern-topic-graphic{position:absolute;z-index:1;right:4%;top:12%;width:clamp(120px,18vw,250px);height:clamp(120px,18vw,250px);display:grid;place-items:center;animation:topicGraphicIn .75s cubic-bezier(.2,.8,.2,1) both}.modern-topic-graphic span{font-size:clamp(72px,10vw,145px);filter:drop-shadow(0 16px 22px rgba(45,30,38,.16));animation:topicFloat 4s ease-in-out infinite}.modern-topic-graphic i{position:absolute;border:2px solid rgba(108,24,50,.25);border-radius:36% 64% 58% 42%;animation:topicOrbit 9s linear infinite}.modern-topic-graphic i:nth-child(2){width:72%;height:72%}.modern-topic-graphic i:nth-child(3){width:100%;height:100%;animation-direction:reverse}.modern-topic-graphic i:nth-child(4){width:124%;height:124%;animation-duration:13s}.slide-accent-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.14;z-index:0;animation:orbDrift 7s ease-in-out infinite}.orb-one{width:180px;height:180px;background:#6c1832;left:-60px;top:-70px}.orb-two{width:120px;height:120px;background:#d2a757;right:22%;bottom:18%;animation-delay:-2s}.teacher-writing-caption{position:absolute;z-index:4;left:5%;right:5%;bottom:4%;min-height:78px;padding:13px 20px 14px;border-left:5px solid #6c1832;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(37,25,31,.12);border-radius:8px}.teacher-writing-caption small{display:block;color:#6c1832;font:800 11px/1.2 Arial,sans-serif;letter-spacing:.12em;margin-bottom:5px}.teacher-writing-caption p{margin:0!important;color:#080808!important;font:600 clamp(17px,1.65vw,24px)/1.42 "Segoe Print","Bradley Hand","Comic Sans MS",cursive!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slide-type-topic-cover{background-image:linear-gradient(rgba(25,25,25,.025) 1px,transparent 1px),linear-gradient(120deg,#fff 0 68%,#f2e6d8 68% 100%)!important}.slide-type-topic-cover h2{font-size:clamp(38px,5.2vw,72px)}.slide-type-topic-end{background-image:linear-gradient(rgba(25,25,25,.03) 1px,transparent 1px),radial-gradient(circle at 80% 18%,rgba(49,138,87,.14),transparent 30%)!important}.topic-complete .lesson-slide-stage{box-shadow:0 0 0 4px rgba(49,138,87,.17),0 18px 40px rgba(60,24,35,.12)}
@keyframes topicGraphicIn{from{opacity:0;transform:translateX(50px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes topicFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(3deg)}}@keyframes topicOrbit{to{transform:rotate(360deg)}}@keyframes orbDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(18px,-12px)}}
@media(prefers-reduced-motion:reduce){.modern-topic-graphic,.modern-topic-graphic span,.modern-topic-graphic i,.slide-accent-orb{animation:none}}@media(max-width:800px){.live-class-slideshow .lesson-slide-copy{max-width:100%}.modern-topic-graphic{opacity:.12;right:-4%;top:4%}.teacher-writing-caption{left:3%;right:3%;bottom:2%;padding:10px 12px;min-height:70px}.teacher-writing-caption p{-webkit-line-clamp:2}.live-class-slideshow .lesson-slide{padding-bottom:105px}}
/* Professional lesson delivery v17 */
.professional-delivery{margin-block:20px;border-top:5px solid var(--maroon,#7b1734)}
.delivery-mastery{padding:10px 14px;border-radius:999px;background:#f4eadf;color:#6f1530;white-space:nowrap}
.delivery-stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:18px 0 24px;counter-reset:delivery}
.delivery-stages li{position:relative;padding:14px 10px;border:1px solid #dec9b5;border-radius:12px;background:#fffaf4;text-align:center;font-size:.86rem;font-weight:700;color:#6e625b}
.delivery-stages li.active{color:#fff;background:#7b1734;border-color:#7b1734;box-shadow:0 8px 22px rgba(123,23,52,.18)}
.delivery-stages li.done{color:#12653e;background:#e8f6ee;border-color:#9dceb2}
.delivery-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.objective-review{display:grid;gap:12px}.objective-review article{padding:14px;border:1px solid #e2d2c3;border-radius:14px;background:#fff}
.objective-review article p{margin:0 0 12px}.objective-actions{display:flex;flex-wrap:wrap;gap:7px}.objective-actions button{border:1px solid #cdb6a1;background:#fffaf4;color:#561126;border-radius:999px;padding:7px 10px;cursor:pointer;font-weight:700}.objective-actions button.selected{background:#7b1734;color:#fff;border-color:#7b1734}
.objective-review article[data-state="mastered"]{border-left:5px solid #18864f}.objective-review article[data-state="partial"]{border-left:5px solid #d69527}.objective-review article[data-state="reteach"]{border-left:5px solid #b83232}
.professional-delivery form{display:grid;gap:10px}.professional-delivery textarea{width:100%;resize:vertical;min-height:96px}.professional-delivery form.saved{padding:12px;border-radius:12px;background:#eaf7ef}.form-status{min-height:1.4em;color:#17653f;font-weight:700}.schedule-policy{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #dec9b5;border-radius:10px;background:#fffaf4}
.lesson-resource-centre{margin-block:20px}.professional-whiteboard{min-width:0}.whiteboard-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.professional-whiteboard canvas{display:block;width:100%;height:auto;aspect-ratio:15/7;background:#fff;border:6px solid #000;border-radius:12px;box-shadow:inset 0 0 20px rgba(0,0,0,.04);touch-action:none;cursor:crosshair}.professional-whiteboard small{display:block;margin-top:8px;color:#665b55}.classroom .whiteboard .board{border:6px solid #000!important;box-shadow:0 12px 30px rgba(0,0,0,.16)!important}
@media(max-width:850px){.delivery-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-grid{grid-template-columns:1fr}.delivery-mastery{white-space:normal}}

/* Student experience and assessment quality v18 */
.student-command-hero,.health-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;margin-bottom:20px;border-radius:22px;background:linear-gradient(135deg,#68142e,#92264b);color:#fff;box-shadow:0 18px 40px rgba(91,21,43,.2)}
.student-command-hero h2,.health-hero h2{color:#fff;margin:.25rem 0}.student-command-hero p,.health-hero p{margin:0;color:#f8eaf0}.student-command-hero .eyebrow,.health-hero .eyebrow{color:#f4cfdc}
.completion-orbit{width:132px;aspect-ratio:1;flex:0 0 auto;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#7b1734 57%,transparent 58%),conic-gradient(#ffd078 var(--progress),rgba(255,255,255,.22) 0);box-shadow:0 0 0 7px rgba(255,255,255,.12)}.completion-orbit b{font-size:1.65rem}.completion-orbit span{font-size:.72rem;max-width:90px}
.student-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.student-command-grid a{display:flex;flex-direction:column;gap:7px;min-height:112px;padding:20px;border:1px solid #dec9b5;border-radius:18px;background:#fff;color:#541127;text-decoration:none;box-shadow:0 8px 24px rgba(67,38,25,.07);transition:.2s}.student-command-grid a:hover{transform:translateY(-3px);border-color:#7b1734}.student-command-grid span{color:#6f625b;font-size:.88rem}
.week-ribbon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week-ribbon span{display:flex;flex-direction:column;gap:4px;padding:12px 6px;border-radius:12px;background:#f8ede4;color:#64152d;text-align:center;font-weight:800}.week-ribbon small{font-size:.68rem;font-weight:500}.week-ribbon .test{background:#7b1734;color:#fff}.week-ribbon .off{background:#ece9e6;color:#716a66}
.test-command{overflow:hidden;border:1px solid #d9c4b2;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(59,34,24,.1)}.test-command>header{display:flex;justify-content:space-between;gap:20px;padding:26px;background:linear-gradient(135deg,#fff8f0,#f8e8dc)}.test-command h2{margin:.25rem 0}.test-clock{min-width:150px;text-align:center;padding:14px;border-radius:16px;background:#711630;color:#fff}.test-clock span,.test-clock small{display:block;font-size:.72rem}.test-clock b{display:block;font-size:1.6rem;margin:4px 0}.question-map{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px;border-block:1px solid #ead8c8}.question-map button{width:38px;height:38px;border:1px solid #cdb6a1;border-radius:10px;background:#fff;color:#5f1730;font-weight:800;cursor:pointer}.question-map button.answered{background:#e5f5eb;border-color:#79b78f;color:#12623b}.question-map button.active{outline:3px solid #e4adbf;background:#7b1734;color:#fff}.assessment-workspace{padding:24px}.assessment-workspace .exam-question{min-height:330px}.assessment-workspace footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:18px;border-top:1px solid #ead8c8}.assessment-workspace [data-question-position]{margin-right:auto;font-weight:800}.analysis-bars{display:grid;gap:16px}.analysis-bars>div>span{display:flex;justify-content:space-between;gap:12px}.analysis-bars em{font-style:normal;font-weight:800}.analysis-bars>div>i{display:block;height:10px;margin:7px 0;border-radius:999px;background:#eee4dc;overflow:hidden}.analysis-bars>div>i>b{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#7b1734,#d88a57)}
.performance-chart{display:flex;align-items:end;gap:12px;min-height:260px;padding:28px 12px 4px;overflow-x:auto}.performance-chart>div{display:grid;grid-template-rows:1fr auto auto;align-items:end;gap:5px;min-width:54px;height:220px;text-align:center}.performance-chart i{display:flex;align-items:end;height:170px;border-radius:10px;background:#f2e7df;overflow:hidden}.performance-chart i:after{content:"";width:100%;height:var(--score);background:linear-gradient(#ca6f43,#7b1734);border-radius:10px 10px 0 0}.performance-chart span{font-size:.75rem}.performance-chart b{font-size:.78rem}.health-score{min-width:130px;text-align:center}.health-score b{display:block;font-size:1.7rem}.health-score span{font-size:.8rem}
.diagnostics-alert-grid>.card{min-width:0}.diagnostic-error-list>div{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);align-items:start;gap:16px}.diagnostic-error-list b{line-height:1.4;text-transform:capitalize;overflow-wrap:normal;word-break:normal}.diagnostic-error-list span{margin:0;line-height:1.5;overflow-wrap:anywhere;word-break:normal}.diagnostic-error-list .muted{grid-column:1/-1}
@media(max-width:720px){.diagnostic-error-list>div{grid-template-columns:1fr;gap:6px}.diagnostic-error-list b,.diagnostic-error-list span{width:100%}}
@media(max-width:1000px){.student-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-ribbon{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.student-command-hero,.health-hero,.test-command>header{align-items:flex-start;flex-direction:column}.student-command-grid{grid-template-columns:1fr}.week-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.test-clock{width:100%}.assessment-workspace footer .btn{flex:1}.completion-orbit{width:110px}}
/* Professional learning experience v20 */
.quality-review-grid{display:grid;gap:18px}.quality-review-card{border-top:5px solid var(--maroon)}.quality-score{width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff7e5;border:8px solid #e5b84f;color:#6c1832}.quality-score.pass{background:#edfff6;border-color:#178255;color:#145a3d}.quality-score b{font-size:23px}.quality-score span{font-size:10px;text-transform:uppercase}.quality-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:16px 0}.quality-checks>div{display:flex;gap:9px;align-items:center;padding:10px;border-radius:12px;border:1px solid var(--line)}.quality-checks span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:800}.quality-checks .passed{background:#f0fff7}.quality-checks .passed span{background:#178255;color:#fff}.quality-checks .failed{background:#fff3f1}.quality-checks .failed span{background:#a82e38;color:#fff}
.lesson-slide{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf2 0%,#fff 48%,#edf7ff 100%);border:1px solid rgba(108,24,50,.18);box-shadow:0 24px 60px rgba(51,24,20,.18)}.lesson-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.75) 48%,transparent 61%);transform:translateX(-120%);animation:slideSheen 9s ease-in-out infinite}.slide-type-real-life{background:linear-gradient(135deg,#fff2cf,#f5fff8 48%,#e8f3ff)}.life-scene{position:absolute;right:7%;top:23%;width:min(38%,360px);height:210px;border-radius:26px;background:linear-gradient(145deg,#fff,#f7ecdf);box-shadow:0 18px 45px rgba(65,38,20,.16);display:flex;align-items:center;justify-content:center;gap:18px;font-size:54px;border:1px solid rgba(108,24,50,.14);transform:perspective(700px) rotateY(-5deg)}.life-scene span{filter:drop-shadow(0 8px 8px rgba(0,0,0,.12));animation:lifeFloat 4s ease-in-out infinite}.life-scene span:last-child{animation-delay:-2s}.life-scene i{font-style:normal;font-size:32px;color:#6c1832;font-weight:800}.lesson-slide-copy{position:relative;z-index:3;max-width:58%}.teacher-writing-caption{z-index:4}.modern-topic-graphic{z-index:2}.slide-accent-orb{animation:orbDrift 8s ease-in-out infinite alternate}@keyframes lifeFloat{50%{transform:translateY(-10px) scale(1.05)}}@keyframes orbDrift{to{transform:translate(20px,-14px) scale(1.12)}}@keyframes slideSheen{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@media(max-width:760px){.life-scene{position:relative;right:auto;top:auto;width:100%;height:115px;margin:10px 0;font-size:34px}.lesson-slide-copy{max-width:100%}.quality-score{width:72px;height:72px;border-width:6px}}
@media(prefers-reduced-motion:reduce){.lesson-slide::before,.life-scene span,.slide-accent-orb{animation:none!important}}

/* Professional classroom presentation renderer v21 */
.live-class-slideshow .lesson-slide{display:grid;grid-template-columns:58px minmax(0,1.35fr) minmax(250px,.8fr);gap:clamp(18px,3vw,42px);align-items:center;padding:clamp(28px,4vw,54px);padding-bottom:clamp(30px,4vw,54px);background:linear-gradient(135deg,#fffaf4 0%,#fff 55%,#eef5fb 100%)!important;border:1px solid #d9c9b8;box-shadow:inset 0 0 0 8px rgba(255,255,255,.78);font-family:Inter,"Segoe UI",Arial,sans-serif}
.live-class-slideshow .lesson-slide::before{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;background:linear-gradient(#6c1832,#9a3153)}
.live-class-slideshow .lesson-slide::after{display:none}
.live-class-slideshow .lesson-slide-number{align-self:start;font:800 18px/1 Inter,"Segoe UI",sans-serif;color:#6c1832;border-top:3px solid #6c1832;padding-top:10px;letter-spacing:.08em}
.live-class-slideshow .lesson-slide-copy{max-width:none;min-width:0;z-index:2}
.live-class-slideshow .slide-kicker{display:block;margin:0 0 12px;color:#8a2947;font:800 11px/1.2 Inter,"Segoe UI",sans-serif;letter-spacing:.16em}
.live-class-slideshow .lesson-slide h2{margin:0 0 clamp(14px,2vw,24px);color:#59162d;font:750 clamp(28px,3.6vw,52px)/1.08 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.025em}
.live-class-slideshow .lesson-slide p,.live-class-slideshow .lesson-slide li{color:#17202a;font:500 clamp(17px,1.75vw,25px)/1.48 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:0}
.live-class-slideshow .lesson-slide .slide-body{margin:0;white-space:normal;display:block;overflow:visible}
.live-class-slideshow .lesson-slide ul{margin:0;padding-left:1.2em;gap:10px}
.live-class-slideshow .content-long .slide-body,.live-class-slideshow .content-long li{font-size:clamp(16px,1.5vw,21px);line-height:1.43}
.live-class-slideshow .content-xlong .slide-body,.live-class-slideshow .content-xlong li{font-size:clamp(14px,1.3vw,18px);line-height:1.4}
.live-class-slideshow .content-xlong h2{font-size:clamp(25px,3vw,40px)}
.subject-visual{position:relative;z-index:2;min-height:210px;padding:24px;border-radius:24px;border:1px solid rgba(108,24,50,.16);background:rgba(255,255,255,.88);box-shadow:0 18px 46px rgba(61,38,31,.12);display:flex;flex-direction:column;justify-content:center;gap:18px;color:#17202a;overflow:hidden}
.subject-visual::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-60px;top:-70px;background:rgba(108,24,50,.08)}
.subject-visual>span,.subject-visual .visual-label{color:#6c1832;font:800 11px/1.2 Inter,"Segoe UI",sans-serif;letter-spacing:.14em}
.visual-binary strong{font:800 clamp(22px,2.4vw,34px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#123e63;letter-spacing:.06em;white-space:nowrap}
.subject-visual small{font:600 14px/1.4 Inter,"Segoe UI",sans-serif;color:#56616b}
.visual-code code{padding:16px;border-radius:12px;background:#152535;color:#aee2bf;font:700 clamp(15px,1.5vw,20px)/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.concept-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center}.concept-flow b{min-width:0;padding:12px 8px;border-radius:12px;background:#f4e8dc;color:#59162d;text-align:center;font:700 13px/1.25 Inter,"Segoe UI",sans-serif;overflow-wrap:anywhere}.concept-flow i{font-style:normal;color:#a46c27;font-weight:900}
.teacher-writing-caption[hidden]{display:none!important}.teacher-writing-caption{grid-column:2/4;position:relative;left:auto;right:auto;bottom:auto;min-height:0;margin-top:-4px;padding:12px 16px;border-left:4px solid #6c1832;background:#fff;box-shadow:0 8px 24px rgba(37,25,31,.1)}
.teacher-writing-caption p{display:block!important;margin:0!important;color:#17202a!important;font:600 clamp(14px,1.3vw,18px)/1.42 Inter,"Segoe UI",Arial,sans-serif!important;overflow:visible!important}
.live-class-slideshow .modern-topic-graphic,.live-class-slideshow .life-scene,.live-class-slideshow .slide-accent-orb{display:none!important}
@media(max-width:900px){.live-class-slideshow .lesson-slide{grid-template-columns:42px minmax(0,1fr);align-content:start;overflow:auto}.subject-visual{grid-column:2;min-height:140px}.teacher-writing-caption{grid-column:2}.visual-binary strong{white-space:normal}}
@media(max-width:620px){.live-class-slideshow .lesson-slide{grid-template-columns:1fr;padding:24px 20px}.live-class-slideshow .lesson-slide-number{display:none}.subject-visual,.teacher-writing-caption{grid-column:1}.subject-visual{padding:16px}.concept-flow{grid-template-columns:1fr}.concept-flow i{transform:rotate(90deg);text-align:center}}
@keyframes professionalSlideEnter{from{opacity:0;transform:translateX(24px) scale(.985);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes professionalCopyEnter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes professionalVisualEnter{from{opacity:0;transform:translateX(24px) rotateY(-8deg)}to{opacity:1;transform:none}}
@keyframes professionalFlowPulse{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(4px);opacity:1}}
.live-class-slideshow .lesson-slide.slide-enter{animation:professionalSlideEnter .55s cubic-bezier(.2,.78,.2,1) both}.live-class-slideshow .slide-enter .lesson-slide-copy{animation:professionalCopyEnter .6s .1s cubic-bezier(.2,.78,.2,1) both}.live-class-slideshow .slide-enter .subject-visual{animation:professionalVisualEnter .65s .18s cubic-bezier(.2,.78,.2,1) both}.live-class-slideshow .slide-enter .concept-flow i{animation:professionalFlowPulse 1.8s ease-in-out infinite}.live-class-slideshow .slide-enter li{animation:professionalCopyEnter .4s both}.live-class-slideshow .slide-enter li:nth-child(2){animation-delay:.08s}.live-class-slideshow .slide-enter li:nth-child(3){animation-delay:.16s}.live-class-slideshow .slide-enter li:nth-child(4){animation-delay:.24s}.live-class-slideshow .slide-enter li:nth-child(5){animation-delay:.32s}
@media(prefers-reduced-motion:reduce){.live-class-slideshow .lesson-slide.slide-enter,.live-class-slideshow .slide-enter .lesson-slide-copy,.live-class-slideshow .slide-enter .subject-visual,.live-class-slideshow .slide-enter .concept-flow i,.live-class-slideshow .slide-enter li{animation:none!important}}

/* World-class teaching presentation system v25 */
.live-class-slideshow .lesson-slide{--visual:#285c88;--visual-soft:#e8f2fa}.live-class-slideshow .lesson-slide::after{content:"";display:block;position:absolute;left:0;bottom:0;width:var(--slide-progress,0%);height:6px;background:linear-gradient(90deg,#6c1832,#d09a45,#2c779b);z-index:8;transition:width .6s ease}
.subject-visual{--visual:#285c88;--visual-soft:#e8f2fa;border-color:color-mix(in srgb,var(--visual) 24%,white);background:linear-gradient(145deg,#fff,var(--visual-soft));box-shadow:0 22px 50px color-mix(in srgb,var(--visual) 16%,transparent)}.subject-visual .visual-label{color:var(--visual)}.subject-visual small{position:relative;z-index:2}.visual-binary{--visual:#215b87;--visual-soft:#e7f3fc}.visual-code{--visual:#216747;--visual-soft:#e8f8ef}.visual-network{--visual:#5942a0;--visual-soft:#f0edff}.visual-data{--visual:#a84c24;--visual-soft:#fff0e8}.visual-security{--visual:#9b303f;--visual-soft:#fff0f2}.visual-system{--visual:#2b6671;--visual-soft:#e8f7f8}.visual-formula{--visual:#74541b;--visual-soft:#fff7dc}.visual-language{--visual:#8b316f;--visual-soft:#fff0fa}.visual-question{--visual:#7b3c97;--visual-soft:#f8ecff}.visual-result{--visual:#26734d;--visual-soft:#eaf8ef}
.bit-row{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.bit-row b{display:grid;place-items:center;aspect-ratio:1;border-radius:8px;background:#fff;border:2px solid var(--visual);color:var(--visual);font:800 clamp(14px,1.6vw,22px)/1 ui-monospace,Consolas,monospace;animation:bitReveal .35s calc(var(--i)*.06s) both}.bit-row:last-of-type b{background:var(--visual);color:#fff}.visual-arrow{font-style:normal;text-align:center;color:var(--visual);font:800 11px/1.2 Inter,sans-serif;letter-spacing:.12em}.code-window{position:relative;padding:30px 18px 16px;border-radius:13px;background:#142631;box-shadow:0 14px 25px rgba(20,38,49,.22)}.code-window>i{position:absolute;top:11px;width:8px;height:8px;border-radius:50%;background:#f36961}.code-window>i:nth-child(2){left:33px;background:#edbb45}.code-window>i:nth-child(3){left:49px;background:#4fc17b}.code-window>i:first-child{left:17px}.code-window code{color:#d8ecf5;font:700 clamp(13px,1.45vw,19px)/1.55 ui-monospace,Consolas,monospace}.code-window em{color:#70c7ff}.code-window strong{color:#a3e8ba}.code-window mark{background:none;color:#ffd27d}
.network-map,.system-pipeline{display:grid;grid-template-columns:1fr 34px 1.15fr 34px 1fr;align-items:center;text-align:center}.network-map b,.network-map strong,.system-pipeline b{padding:13px 7px;border-radius:12px;background:#fff;color:var(--visual);border:2px solid var(--visual);font:800 12px/1.2 Inter,sans-serif}.network-map strong{border-radius:50%;aspect-ratio:1;display:grid;place-items:center;background:var(--visual);color:#fff}.network-map i{height:3px;background:var(--visual);position:relative;animation:networkPulse 1.5s ease-in-out infinite}.network-map i::after{content:"";position:absolute;right:-2px;top:-3px;border-left:7px solid var(--visual);border-top:4px solid transparent;border-bottom:4px solid transparent}
.data-stack{display:flex;flex-direction:column-reverse;align-items:center}.data-stack b{width:clamp(130px,85%,230px);margin-top:-5px;padding:10px;text-align:center;border:2px solid var(--visual);border-radius:50%;background:#fff;color:var(--visual);font:800 11px/1.1 Inter,sans-serif;box-shadow:0 8px 0 var(--visual-soft)}.security-shield{width:115px;height:125px;margin:0 auto;display:grid;place-items:center;background:var(--visual);color:#fff;clip-path:polygon(50% 0,95% 16%,88% 68%,50% 100%,12% 68%,5% 16%)}.security-shield b{font:800 13px/1 Inter,sans-serif}.security-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.security-pillars i{padding:8px 4px;border-radius:8px;background:#fff;color:var(--visual);font:700 10px/1.2 Inter,sans-serif;text-align:center;font-style:normal}.system-pipeline i{color:var(--visual);font-style:normal;font-weight:900}.system-memory{padding:10px;border-radius:10px;background:var(--visual);color:#fff;text-align:center;font:800 11px/1 Inter,sans-serif;letter-spacing:.08em}.formula-card{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center;text-align:center}.formula-card b,.formula-card strong{padding:12px 7px;border-radius:10px;background:#fff;border:2px solid var(--visual);color:var(--visual);font:750 12px/1.2 Inter,sans-serif}.formula-card strong{background:var(--visual);color:#fff}.formula-card i{font-style:normal;font-size:22px;color:var(--visual)}.language-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.language-cards>*{padding:13px;border-radius:10px;text-align:center;font:750 12px/1.2 Inter,sans-serif;font-style:normal}.language-cards b,.language-cards strong{background:var(--visual);color:#fff}.language-cards i{background:#fff;color:var(--visual);border:1px solid var(--visual)}.question-mark,.result-ring{width:120px;height:120px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--visual);color:#fff;font:800 68px/1 Georgia,serif;box-shadow:0 0 0 13px color-mix(in srgb,var(--visual) 15%,transparent)}.result-ring b{font-size:58px}
.slide-type-cover .lesson-slide-copy,.slide-type-topic-cover .lesson-slide-copy{max-width:100%}.slide-type-cover h2,.slide-type-topic-cover h2{font-size:clamp(38px,5vw,70px)!important}.slide-type-question{--visual:#7b3c97}.slide-type-answer,.slide-type-summary,.slide-type-topic-end{--visual:#26734d}.slide-type-example,.slide-type-real-life{--visual:#a84c24}.slide-type-objective{--visual:#285c88}
@keyframes bitReveal{from{opacity:0;transform:translateY(-10px) rotateX(60deg)}to{opacity:1;transform:none}}@keyframes networkPulse{50%{opacity:.35;transform:scaleX(.82)}}
@media(max-width:900px){.bit-row{max-width:360px}.subject-visual{min-height:150px}.security-shield{width:85px;height:94px}.question-mark,.result-ring{width:90px;height:90px;font-size:48px}.formula-card{grid-template-columns:1fr}.formula-card i{line-height:.6}}
@media(prefers-reduced-motion:reduce){.bit-row b,.network-map i{animation:none!important}}

/* Global alignment, overflow and responsive form audit v26 */
.lesson-timer-bar{display:grid!important;grid-template-columns:minmax(118px,auto) minmax(220px,1fr) auto auto!important;align-items:center!important;gap:14px!important;width:100%!important;min-width:0!important;overflow:hidden!important}
.lesson-timer-bar>*{min-width:0!important}.lesson-timer-bar>div{display:grid!important;gap:2px!important}.lesson-timer-bar p{width:auto!important;min-width:0!important;margin:0!important;line-height:1.48!important;overflow-wrap:anywhere!important}.lesson-timer-bar .btn{width:auto!important;max-width:100%!important;white-space:normal!important;text-align:center!important}.lesson-timer-bar strong{line-height:1.1!important}
main>*,.card,.hero,.form,.formgrid,.twocol,.dashboard-grid,.coursegrid,.rows,.tablewrap,.section-head,.actions,.lesson-shell,.classroom,.teacherstage,.whiteboard{min-width:0}
.card,.hero,.form,.formgrid,.rows>div,.section-head,.actions{max-width:100%}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{display:block;max-width:100%;min-width:0}.form input,.form select,.form textarea,.form button{width:100%;min-width:0}.form label,.formgrid>*,.twocol>*,.dashboard-grid>*,.coursegrid>*,.section-head>*,.actions>*{min-width:0}
.formgrid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))!important}.form.horizontal{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))!important}.form.horizontal .btn{align-self:end}
.section-head{flex-wrap:wrap}.section-head>div:first-child{flex:1 1 280px}.section-head>.actions{justify-content:flex-end;flex:0 1 auto}.actions .btn{max-width:100%;white-space:normal;text-align:center}.rows>div,.bookrow,.planner-list article,.faculty-grid article{min-width:0}.rows>div>*,.bookrow>*,.planner-list article>*,.faculty-grid article>*{min-width:0}.rows b,.rows span,.rows small,.bookrow b,.bookrow span,.bookrow small,.card p,.card li,.card td,.card th{overflow-wrap:anywhere}
.tablewrap{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}table{min-width:0}.data-table .tr>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:1050px){.lesson-timer-bar{grid-template-columns:minmax(115px,.55fr) minmax(220px,1.45fr)!important}.lesson-timer-bar .btn{width:100%!important}}
@media(max-width:650px){.lesson-timer-bar{position:static!important;grid-template-columns:1fr!important;align-items:stretch!important;padding:14px!important}.lesson-timer-bar>div{grid-template-columns:1fr auto!important;align-items:center!important}.lesson-timer-bar p{padding:8px 0!important}.lesson-timer-bar .btn{width:100%!important}.form.horizontal .grow{grid-column:auto}.section-head>.actions{width:100%;justify-content:stretch}.section-head>.actions .btn{flex:1 1 150px}.rows>div,.bookrow,.planner-list article{align-items:stretch!important;flex-direction:column!important}.rows>div>.actions,.bookrow>.actions{width:100%}}

/* Automatic slide fitting, protected motion and classroom alignment v27 */
.live-class-slideshow .lesson-slide{container-type:size}.live-class-slideshow .lesson-slide-copy,.live-class-slideshow .subject-visual,.live-class-slideshow .lesson-slide-number,.live-class-slideshow .teacher-writing-caption{position:relative;z-index:3}.slide-motion-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.slide-motion-layer i{position:absolute;display:block;border-radius:30% 70% 55% 45%;opacity:.12;filter:saturate(1.25);animation:slideObjectDrift 9s ease-in-out infinite alternate}.slide-motion-layer i:nth-child(1){width:110px;height:110px;left:3%;top:7%;background:#b42f62}.slide-motion-layer i:nth-child(2){width:75px;height:75px;right:3%;top:12%;background:#2184b5;animation-delay:-2s;animation-duration:7s}.slide-motion-layer i:nth-child(3){width:95px;height:95px;right:24%;bottom:5%;background:#e6a62c;animation-delay:-4s;animation-duration:11s}.slide-motion-layer i:nth-child(4){width:54px;height:54px;left:42%;top:5%;background:#2e9b67;animation-delay:-6s;animation-duration:8s}.slide-motion-layer i:nth-child(5){width:46px;height:46px;left:7%;bottom:6%;background:#6947b8;animation-delay:-3s;animation-duration:10s}
.live-class-slideshow .fit-tight{padding:clamp(22px,3vw,38px)!important;gap:clamp(12px,2vw,26px)!important}.live-class-slideshow .fit-tight h2{font-size:clamp(24px,3vw,40px)!important;margin-bottom:12px!important}.live-class-slideshow .fit-tight p,.live-class-slideshow .fit-tight li{font-size:clamp(14px,1.5vw,20px)!important;line-height:1.36!important}.live-class-slideshow .fit-tight .subject-visual{min-height:160px;padding:16px;gap:11px}
.live-class-slideshow .fit-ultra{grid-template-columns:44px minmax(0,1.55fr) minmax(190px,.65fr)!important;padding:20px 24px!important;gap:14px!important}.live-class-slideshow .fit-ultra h2{font-size:clamp(21px,2.6vw,34px)!important;margin-bottom:9px!important}.live-class-slideshow .fit-ultra p,.live-class-slideshow .fit-ultra li{font-size:clamp(13px,1.3vw,17px)!important;line-height:1.3!important}.live-class-slideshow .fit-ultra .subject-visual{min-height:125px;padding:12px;gap:8px}.live-class-slideshow .fit-ultra .slide-kicker{margin-bottom:6px}.live-class-slideshow .fit-ultra .teacher-writing-caption{padding:8px 12px}
.live-class-slideshow .fit-minimal{grid-template-columns:38px minmax(0,1fr)!important;align-content:center!important;padding:18px 22px!important}.live-class-slideshow .fit-minimal h2{font-size:clamp(19px,2.35vw,30px)!important;line-height:1.08!important;margin-bottom:8px!important}.live-class-slideshow .fit-minimal p,.live-class-slideshow .fit-minimal li{font-size:clamp(12px,1.15vw,16px)!important;line-height:1.26!important}.live-class-slideshow .fit-minimal .subject-visual{display:none!important}.live-class-slideshow .fit-minimal .teacher-writing-caption{grid-column:2;margin-top:6px}.live-class-slideshow .fit-minimal .slide-motion-layer i{opacity:.06}
@keyframes slideObjectDrift{0%{transform:translate3d(-8px,8px,0) rotate(0deg) scale(.92)}50%{transform:translate3d(16px,-13px,0) rotate(90deg) scale(1.08)}100%{transform:translate3d(-5px,-20px,0) rotate(180deg) scale(.97)}}
@media(max-width:800px){.teacherhead{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:12px!important}.teacherhead>.avatar{grid-column:1}.teacheridentity{grid-column:2;min-width:0!important}.teacheridentity h2,.teacheridentity p{overflow-wrap:anywhere!important;word-break:normal!important}.live-action-panel{grid-column:1/-1!important;width:100%!important;min-width:0!important;margin:4px 0 0!important;align-items:stretch!important}.live-action-top{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)!important;gap:8px!important}.device-tests{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.live-action-panel .btn,.live-action-panel .status{width:100%!important;min-width:0!important;margin:0!important;text-align:center!important}.device-test-state{text-align:left!important}.live-class-slideshow .lesson-slide-stage{min-height:390px!important}.live-class-slideshow .lesson-slide,.live-class-slideshow .fit-tight,.live-class-slideshow .fit-ultra,.live-class-slideshow .fit-minimal{grid-template-columns:34px minmax(0,1fr)!important;padding:22px 20px!important;gap:10px!important;align-content:center!important;overflow:hidden!important}.live-class-slideshow .lesson-slide h2,.live-class-slideshow .slide-type-cover h2,.live-class-slideshow .slide-type-topic-cover h2{font-size:clamp(23px,7vw,34px)!important;line-height:1.08!important;margin:0 0 12px!important}.live-class-slideshow .lesson-slide p,.live-class-slideshow .lesson-slide li{font-size:clamp(14px,3.8vw,18px)!important;line-height:1.38!important}.live-class-slideshow .subject-visual{display:none!important}.live-class-slideshow .teacher-writing-caption{grid-column:2!important}.live-class-slideshow .lesson-slide-copy{max-width:100%!important}.live-class-slideshow .slide-motion-layer i{transform:scale(.7);opacity:.08}}
@media(max-width:500px){.teacherhead{grid-template-columns:58px minmax(0,1fr)!important}.teacherhead .avatar.big{width:58px!important;height:58px!important;border-radius:16px!important}.teacheridentity h2{font-size:22px!important;margin-bottom:4px!important}.teacheridentity p{font-size:13px!important;line-height:1.35!important}.live-action-top{grid-template-columns:1fr!important}.live-class-slideshow .lesson-slide-stage{min-height:360px!important}.live-class-slideshow .lesson-slide,.live-class-slideshow .fit-tight,.live-class-slideshow .fit-ultra,.live-class-slideshow .fit-minimal{grid-template-columns:1fr!important;padding:22px 20px!important}.live-class-slideshow .lesson-slide-number{display:none!important}.live-class-slideshow .teacher-writing-caption{grid-column:1!important}.live-class-slideshow .lesson-slide h2,.live-class-slideshow .slide-type-cover h2,.live-class-slideshow .slide-type-topic-cover h2{font-size:clamp(22px,7.2vw,30px)!important}.lesson-slide-controls .btn{flex:1 1 90px}.lesson-slide-controls span{order:-1;flex:1 0 100%}}
@media(prefers-reduced-motion:reduce){.slide-motion-layer i{animation:none!important}}

/* v31: professional alignment, vivid teaching slides and strict containment */
.btn,button.btn,a.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px;text-align:center!important;line-height:1.25!important;white-space:normal!important;vertical-align:middle}.actions,.classcontrols,.lesson-slide-controls,.device-tests,.live-action-top{align-items:stretch!important}.actions>.btn,.classcontrols>.btn,.lesson-slide-controls>.btn{min-height:42px}.section-head{align-items:flex-start!important}.section-head .actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important}.form label,.formgrid label{min-width:0!important}.form label>span,.formgrid label>span{display:block;text-align:left}.form input,.form select,.form textarea,.form button{max-width:100%!important}
.classroom .teacherhead{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;align-items:center!important;gap:14px 16px!important}.classroom .teacherhead>.avatar{grid-column:1!important;grid-row:1!important}.classroom .teacheridentity{grid-column:2!important;grid-row:1!important;min-width:0!important}.classroom .teacheridentity .eyebrow{display:block!important;white-space:normal!important;letter-spacing:.1em!important}.classroom .teacheridentity h2{font-size:clamp(22px,2.1vw,31px)!important;line-height:1.15!important;margin:5px 0!important;overflow-wrap:normal!important;word-break:normal!important}.classroom .teacheridentity p{line-height:1.42!important;overflow-wrap:normal!important;word-break:normal!important}.classroom .live-action-panel{grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-width:0!important;margin:0!important;align-items:stretch!important}.classroom .live-action-top,.classroom .device-tests{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.classroom .device-test-state{text-align:left!important;margin-top:2px!important}
.live-class-slideshow .lesson-slide-stage{min-height:520px!important;background:linear-gradient(145deg,#e9f4ff,#fff2dc)!important;border:3px solid #111!important}.live-class-slideshow .lesson-slide{min-width:0!important;max-width:100%!important;height:100%!important;overflow:hidden!important;border:8px solid #111!important;box-sizing:border-box!important;background:linear-gradient(135deg,#fff7e8 0%,#ffffff 50%,#dff3ff 100%)!important}.live-class-slideshow .lesson-slide-copy,.live-class-slideshow .lesson-slide-copy *{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}.live-class-slideshow .slide-type-objective{background:linear-gradient(135deg,#eaf4ff,#fff 50%,#f0e8ff)!important}.live-class-slideshow .slide-type-explanation,.live-class-slideshow .slide-type-focus{background:linear-gradient(135deg,#fff3d8,#fff 48%,#e5f7ff)!important}.live-class-slideshow .slide-type-example,.live-class-slideshow .slide-type-real-life{background:linear-gradient(135deg,#ffe9d7,#fff8da 48%,#e1f8ed)!important}.live-class-slideshow .slide-type-question{background:linear-gradient(135deg,#eee5ff,#fff 50%,#dff3ff)!important}.live-class-slideshow .slide-type-answer,.live-class-slideshow .slide-type-summary,.live-class-slideshow .slide-type-topic-end{background:linear-gradient(135deg,#ddf7e8,#fff 52%,#fff0ce)!important}.live-class-slideshow .slide-type-cover,.live-class-slideshow .slide-type-topic-cover{background:linear-gradient(125deg,#ffe9c9 0%,#fff 46%,#dceeff 72%,#eee2ff 100%)!important}
.live-class-slideshow .fit-safe{grid-template-columns:34px minmax(0,1fr)!important;padding:16px 18px!important;gap:10px!important;align-content:center!important}.live-class-slideshow .fit-safe h2{font-size:clamp(18px,2.3vw,29px)!important;line-height:1.08!important;margin:0 0 8px!important}.live-class-slideshow .fit-safe p,.live-class-slideshow .fit-safe li{font-size:clamp(11px,1.15vw,15px)!important;line-height:1.24!important}.live-class-slideshow .fit-safe .subject-visual,.live-class-slideshow .fit-safe .teacher-writing-caption{display:none!important}.live-class-slideshow .fit-safe .lesson-slide-copy{max-height:100%!important;overflow:auto!important;padding:2px 9px 2px 0!important}.live-class-slideshow .lesson-slide-copy{max-height:100%!important}.live-class-slideshow .slide-body{max-height:100%!important}.lesson-slide-controls{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px!important;padding-top:14px!important}.lesson-slide-controls span{display:flex;align-items:center;justify-content:center;min-height:42px;text-align:center}
@media(max-width:800px){.live-class-slideshow .lesson-slide-stage{min-height:500px!important}.live-class-slideshow .lesson-slide,.live-class-slideshow .fit-tight,.live-class-slideshow .fit-ultra,.live-class-slideshow .fit-minimal,.live-class-slideshow .fit-safe{grid-template-columns:34px minmax(0,1fr)!important;padding:20px 18px!important;gap:10px!important}.live-class-slideshow .subject-visual{display:grid!important;position:absolute!important;right:14px!important;bottom:12px!important;width:125px!important;min-height:88px!important;padding:10px!important;opacity:.18!important;pointer-events:none!important}.live-class-slideshow .fit-safe .subject-visual{display:none!important}}
@media(max-width:520px){.classroom .teacherhead{grid-template-columns:64px minmax(0,1fr)!important}.classroom .teacherhead .avatar.big{width:64px!important;height:64px!important}.classroom .live-action-top,.classroom .device-tests{grid-template-columns:1fr!important}.live-class-slideshow .lesson-slide-stage{min-height:470px!important}.live-class-slideshow .lesson-slide,.live-class-slideshow .fit-tight,.live-class-slideshow .fit-ultra,.live-class-slideshow .fit-minimal,.live-class-slideshow .fit-safe{grid-template-columns:1fr!important;padding:18px 16px!important}.live-class-slideshow .lesson-slide-number{display:none!important}.lesson-slide-controls>.btn{flex:1 1 120px!important}.lesson-slide-controls span{order:-1;flex:1 0 100%!important}}

/* =====================================================================
   v32 — STUDENT CANVAS COLOUR SAFETY
   Student screens always use a calm academic canvas. Maroon is restricted
   to navigation, primary actions and intentional accent components.
   ===================================================================== */
body.role-student,
body.role-student .shell,
body.role-student .shell>main{
  background:#f7efe5!important;
  color:#2a161a!important;
}
body.role-student .top,
body.role-student .content,
body.role-student .page-content,
body.role-student .dashboard,
body.role-student .dashboard-wrap{
  background:transparent!important;
}
body.role-student .card,
body.role-student .panel,
body.role-student .box,
body.role-student .teacherstage,
body.role-student .whiteboard,
body.role-student .student-today-item,
body.role-student .student-command-grid>a{
  background:#fffdf9!important;
  color:#2a161a!important;
}
body.role-student .side{
  background:linear-gradient(180deg,#481022,#3c0c1b)!important;
  color:#fff!important;
}
body.role-student .student-command-hero{
  background:linear-gradient(135deg,#68142e,#92264b)!important;
  color:#fff!important;
}

/* =====================================================================
   v33 — MAROON & CREAM PALETTE AUTHORITY
   Prevents legacy theme selectors from recolouring text inside maroon areas.
   ===================================================================== */
:root{
  --academy-maroon:#6c1832;
  --academy-maroon-dark:#481022;
  --academy-cream:#f7efe5;
  --academy-paper:#fffdf9;
  --academy-ink:#2a161a;
}

/* Canonical application canvas. */
html[data-theme="maroon"] body,
html[data-theme="maroon"] .shell,
html[data-theme="maroon"] .shell>main,
body.role-student,
body.role-student .shell,
body.role-student .shell>main{
  background:var(--academy-cream)!important;
  color:var(--academy-ink)!important;
}

/* The navigation rail remains maroon and every item stays readable. */
html[data-theme="maroon"] .side,
body.role-student .side{
  background:linear-gradient(180deg,var(--academy-maroon-dark),#3c0c1b)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
html[data-theme="maroon"] .side .brand,
html[data-theme="maroon"] .side .sub,
html[data-theme="maroon"] .side nav a,
html[data-theme="maroon"] .side summary,
html[data-theme="maroon"] .side .menu-main-icon,
html[data-theme="maroon"] .side .menu-main-label,
html[data-theme="maroon"] .side .menu-arrow,
html[data-theme="maroon"] .side .sidefoot,
html[data-theme="maroon"] .side .sidefoot b,
html[data-theme="maroon"] .side .sidefoot span,
html[data-theme="maroon"] .side .sidefoot a,
body.role-student .side .brand,
body.role-student .side .sub,
body.role-student .side nav a,
body.role-student .side summary,
body.role-student .side .menu-main-icon,
body.role-student .side .menu-main-label,
body.role-student .side .menu-arrow,
body.role-student .side .sidefoot,
body.role-student .side .sidefoot b,
body.role-student .side .sidefoot span,
body.role-student .side .sidefoot a{
  color:#fff!important;
}
html[data-theme="maroon"] .side .menu-dropdown-list,
body.role-student .side .menu-dropdown-list{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.16)!important;
}
html[data-theme="maroon"] .side nav a:hover,
html[data-theme="maroon"] .side nav a.active,
html[data-theme="maroon"] .side summary:hover,
html[data-theme="maroon"] .side details[open]>summary,
body.role-student .side nav a:hover,
body.role-student .side nav a.active,
body.role-student .side summary:hover,
body.role-student .side details[open]>summary{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}

/* Established heading and card colours. */
html[data-theme="maroon"] .top h1,
body.role-student .top h1,
html[data-theme="maroon"] main h2,
html[data-theme="maroon"] main h3,
body.role-student main h2,
body.role-student main h3{
  color:var(--academy-maroon)!important;
}
html[data-theme="maroon"] .card,
html[data-theme="maroon"] .panel,
html[data-theme="maroon"] .box,
html[data-theme="maroon"] .teacherstage,
html[data-theme="maroon"] .whiteboard,
body.role-student .card,
body.role-student .panel,
body.role-student .box,
body.role-student .teacherstage,
body.role-student .whiteboard{
  background:var(--academy-paper)!important;
  color:var(--academy-ink)!important;
}

/* Intentional maroon feature panels must carry white child text. */
html[data-theme="maroon"] .student-command-hero,
body.role-student .student-command-hero{
  background:linear-gradient(135deg,#68142e,#92264b)!important;
  color:#fff!important;
}
html[data-theme="maroon"] .student-command-hero *,
body.role-student .student-command-hero *{
  color:#fff!important;
}

/* v36 universal button authority: maroon/white, cream/maroon on hover. */
.btn,
a.btn,
button.btn,
input.btn,
.btn:link,
.btn:visited,
.btn:active,
.appearance-trigger,
.appearance-trigger:active{
  background:var(--academy-maroon)!important;
  border-color:var(--academy-maroon)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.btn:hover,
a.btn:hover,
button.btn:hover,
input.btn:hover,
.btn:focus,
.btn:focus-visible,
.appearance-trigger:hover,
.appearance-trigger:focus,
.appearance-trigger:focus-visible{
  background:var(--academy-cream)!important;
  border-color:var(--academy-maroon)!important;
  color:var(--academy-maroon)!important;
  -webkit-text-fill-color:var(--academy-maroon)!important;
}
.btn:disabled,
button.btn:disabled,
input.btn:disabled,
.appearance-trigger:disabled{
  background:var(--academy-maroon)!important;
  border-color:var(--academy-maroon)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:.58!important;
}
.btn *,
.appearance-trigger *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* v39 premium lesson presentation system */
.live-class-slideshow{--premium-navy:#102b46;--premium-gold:#d7a441;--premium-maroon:#6c1832}.live-class-slideshow .lesson-slide-stage{border-radius:22px!important;box-shadow:0 24px 60px rgba(16,43,70,.2)!important}.live-class-slideshow .lesson-slide{border:9px solid #101820!important;border-radius:14px!important;grid-template-columns:52px minmax(0,1.42fr) minmax(230px,.78fr)!important;background:linear-gradient(130deg,#fff8e9 0%,#fff 48%,#e5f4ff 100%)!important}.live-class-slideshow .lesson-slide::before{width:11px!important;background:linear-gradient(180deg,var(--premium-maroon),#b83d63 48%,var(--premium-gold))!important}.live-class-slideshow .lesson-slide::after{display:block!important;height:7px!important;background:linear-gradient(90deg,var(--premium-maroon),var(--premium-gold),#2984a8)!important}.live-class-slideshow .slide-kicker{display:inline-flex!important;width:max-content;padding:7px 10px;border-radius:999px;background:#6c183212;color:var(--premium-maroon)!important;letter-spacing:.14em!important}.live-class-slideshow .lesson-slide h2{color:var(--premium-navy)!important;text-wrap:balance}.live-class-slideshow .lesson-slide p,.live-class-slideshow .lesson-slide li{color:#172331!important}.premium-learning-steps{list-style:none;counter-reset:premium-step;display:grid;gap:10px;margin:0;padding:0!important}.premium-learning-steps li{counter-increment:premium-step;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px}.premium-learning-steps li::before{content:counter(premium-step);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--premium-maroon);color:#fff;font:800 13px/1 Inter,sans-serif;box-shadow:0 5px 12px #6c183233}.premium-learning-steps li::marker{content:""}
.slide-clip-art{position:absolute;z-index:2;right:2.2%;top:3%;display:flex;align-items:center;gap:5px;pointer-events:none}.slide-clip-art span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.9);border:1px solid rgba(16,43,70,.12);box-shadow:0 9px 22px rgba(16,43,70,.12);font-size:23px;animation:premiumClipFloat 4.5s calc(var(--clip)*-.7s) ease-in-out infinite}.slide-clip-art span:nth-child(2){transform:translateY(12px)}
.live-class-slideshow .subject-visual{border:1px solid color-mix(in srgb,var(--visual,#285c88) 30%,white)!important;border-radius:26px!important;background:linear-gradient(145deg,#fff,var(--visual-soft,#e8f2fa))!important;box-shadow:0 22px 48px color-mix(in srgb,var(--visual,#285c88) 16%,transparent)!important}.live-class-slideshow .subject-visual::after{content:"";position:absolute;width:92px;height:92px;right:-26px;bottom:-34px;border:16px solid color-mix(in srgb,var(--visual,#285c88) 18%,transparent);border-radius:50%;animation:premiumOrbit 9s linear infinite}.live-class-slideshow .slide-type-process{background:linear-gradient(135deg,#e8f6ff,#fff 52%,#fff1d7)!important}.live-class-slideshow .slide-type-misconception{background:linear-gradient(135deg,#fff0ef,#fff 52%,#fff4d9)!important}.live-class-slideshow .slide-type-misconception .slide-kicker{background:#a5323214;color:#8c2626!important}.live-class-slideshow .slide-type-real-life{background:linear-gradient(135deg,#e7f8ef,#fff 50%,#e4f2ff)!important}.live-class-slideshow .slide-type-question{background:linear-gradient(135deg,#f1eaff,#fff 50%,#e4f4ff)!important}.live-class-slideshow .slide-type-answer,.live-class-slideshow .slide-type-topic-end{background:linear-gradient(135deg,#e0f7e9,#fff 52%,#fff0cf)!important}
.live-class-slideshow .transition-rise.slide-enter{animation:premiumRise .7s cubic-bezier(.16,.8,.24,1) both!important}.live-class-slideshow .transition-focus.slide-enter{animation:premiumFocus .7s ease both!important}.live-class-slideshow .transition-sweep.slide-enter{animation:premiumSweep .72s cubic-bezier(.2,.8,.2,1) both!important}.live-class-slideshow .transition-scale.slide-enter{animation:premiumScale .68s cubic-bezier(.16,.8,.24,1) both!important}.live-class-slideshow .slide-enter .slide-clip-art span{animation:premiumClipIn .55s calc(var(--clip)*.1s) cubic-bezier(.16,.8,.24,1) both,premiumClipFloat 4.5s calc(.7s + var(--clip)*-.7s) ease-in-out infinite}.live-class-slideshow .slide-enter .subject-visual>*{animation:premiumContentReveal .5s .25s both}.live-class-slideshow .slide-enter .subject-visual>*:nth-child(2){animation-delay:.34s}.live-class-slideshow .slide-enter .subject-visual>*:nth-child(3){animation-delay:.43s}.live-class-slideshow .slide-enter .subject-visual>*:nth-child(4){animation-delay:.52s}
@keyframes premiumRise{from{opacity:0;transform:translateY(34px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes premiumFocus{from{opacity:0;transform:scale(.965);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}@keyframes premiumSweep{from{opacity:0;transform:translateX(48px) rotateY(-5deg)}to{opacity:1;transform:none}}@keyframes premiumScale{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}@keyframes premiumClipIn{from{opacity:0;transform:translateY(-24px) rotate(-12deg) scale(.75)}to{opacity:1;transform:none}}@keyframes premiumClipFloat{50%{transform:translateY(-8px) rotate(3deg)}}@keyframes premiumOrbit{to{transform:rotate(360deg)}}@keyframes premiumContentReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.live-class-slideshow .lesson-slide{grid-template-columns:40px minmax(0,1fr)!important}.slide-clip-art{right:12px;top:10px;opacity:.34}.slide-clip-art span{width:34px;height:34px;font-size:18px}.slide-clip-art span:nth-child(3){display:none}}@media(max-width:520px){.live-class-slideshow .lesson-slide{grid-template-columns:1fr!important;border-width:6px!important}.slide-clip-art{opacity:.22}.premium-learning-steps li{grid-template-columns:29px minmax(0,1fr)}.premium-learning-steps li::before{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.live-class-slideshow .transition-rise.slide-enter,.live-class-slideshow .transition-focus.slide-enter,.live-class-slideshow .transition-sweep.slide-enter,.live-class-slideshow .transition-scale.slide-enter,.slide-clip-art span,.subject-visual::after,.subject-visual>*{animation:none!important}}
.live-class-slideshow .fit-safe .slide-clip-art{display:none!important}

/* v41: Urdu academic language and typography policy. Jameel Noori Nastaleeq
   remains the authoritative face; standards-based Nastaleeq fonts are used
   only when it is not installed on the viewing device. */
@font-face{font-family:"Academy Jameel Noori Nastaleeq";src:local("Jameel Noori Nastaleeq"),local("Jameel Noori Nastaleeq Kasheeda");font-display:swap}
:root{--academy-urdu-font:"Academy Jameel Noori Nastaleeq","Jameel Noori Nastaleeq","Noto Nastaliq Urdu","Noto Nastaleeq Urdu","Urdu Typesetting",serif}
.academic-urdu,.academic-urdu-page .current-lesson,.academic-urdu-page .transcript,.academic-urdu-page .fallback-transcript,.academic-urdu-page .whiteboard .board,.academic-urdu-page .live-class-slideshow,.academic-urdu-page .lesson-content,.academic-urdu-page .flashcards,.academic-urdu-page .lesson-panel{font-family:var(--academy-urdu-font)!important;direction:rtl;text-align:right;line-height:2.05}
.academic-urdu-page .lesson-slide h1,.academic-urdu-page .lesson-slide h2,.academic-urdu-page .lesson-slide h3,.academic-urdu-page .lesson-slide p,.academic-urdu-page .lesson-slide li,.academic-urdu-page .slide-kicker,.academic-urdu-page .topic-title{font-family:var(--academy-urdu-font)!important;letter-spacing:0!important;line-height:1.9!important;text-align:right}
.academic-urdu-page .lesson-slide ul,.academic-urdu ul{padding-right:1.35em;padding-left:0}
.academic-urdu-page .lesson-slide::before{inset:0 auto 0 0}
.academic-urdu input,.academic-urdu textarea,.academic-urdu select{font-family:var(--academy-urdu-font)!important;direction:rtl;text-align:right}

/* v42.1 timetable isolation: prevents the student-history timeline from
   collapsing calendar columns and keeps every event readable on mobile. */
.page-timetable .timeline{position:relative;max-width:100%;min-width:0;overflow:hidden}
.page-timetable .timeline .dayhead{display:block;clear:both;margin:22px 0 8px;padding:0;color:var(--maroon)}
.page-timetable .timeline article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-width:0;padding:13px 12px;border-left:3px solid var(--maroon);border-bottom:1px solid var(--line);background:#fff}
.page-timetable .timeline article time{position:static;min-width:0;font-weight:900;color:var(--maroon);white-space:nowrap}
.page-timetable .timeline article>div{min-width:0;overflow-wrap:anywhere}
.page-timetable .timeline article b,.page-timetable .timeline article span{display:block;max-width:100%}
.page-timetable .timeline article .btn{position:static;min-width:70px;width:auto;max-width:100%;margin:0;justify-self:end;white-space:nowrap}
@media(max-width:600px){.page-timetable .card{min-width:0;overflow:hidden}.page-timetable .timeline article{grid-template-columns:58px minmax(0,1fr);gap:8px 10px;padding:12px 8px}.page-timetable .timeline article time{align-self:start;padding-top:2px}.page-timetable .timeline article>div{align-self:start}.page-timetable .timeline article .btn{grid-column:2;justify-self:start;min-width:74px;margin-top:3px}.page-timetable .timeline .dayhead{margin-top:20px}}

/* v43 cinematic topic-aware classroom presentations. This block is
   intentionally authoritative over the earlier presentation themes. */
.live-class-slideshow{--scene:#257ca2;--scene-deep:#123c5f;--scene-warm:#e5ad43}
.live-class-slideshow .lesson-slide-stage{position:relative!important;isolation:isolate;background:radial-gradient(circle at 12% 18%,#fff 0 4%,transparent 20%),linear-gradient(135deg,#dceeff,#fff5db)!important;box-shadow:0 30px 75px rgba(18,43,70,.25)!important}
.live-class-slideshow .lesson-slide{grid-template-columns:52px minmax(0,1.25fr) minmax(270px,.85fr)!important;grid-template-rows:minmax(0,1fr) auto;gap:clamp(15px,2vw,28px)!important;padding:clamp(26px,3.5vw,48px)!important;background:linear-gradient(128deg,#fffaf0 0%,#fff 50%,#e9f6ff 100%)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)!important}
.live-class-slideshow .lesson-slide::after{height:8px!important;background:linear-gradient(90deg,var(--scene-deep),var(--scene),var(--scene-warm),#9b3157)!important;box-shadow:0 -4px 18px color-mix(in srgb,var(--scene) 45%,transparent)}
.live-class-slideshow .theme-code,.live-class-slideshow .theme-system,.live-class-slideshow .theme-binary{--scene:#168567;--scene-deep:#124d48;--scene-warm:#f0b24b}
.live-class-slideshow .theme-network{--scene:#6252bb;--scene-deep:#342b78;--scene-warm:#45b8c8}
.live-class-slideshow .theme-data{--scene:#d26531;--scene-deep:#8a3821;--scene-warm:#f1b84c}
.live-class-slideshow .theme-security{--scene:#b73554;--scene-deep:#681b35;--scene-warm:#efb74e}
.live-class-slideshow .theme-formula{--scene:#b17a21;--scene-deep:#684916;--scene-warm:#eaa635}
.live-class-slideshow .theme-language{--scene:#9c3b7e;--scene-deep:#59204b;--scene-warm:#edb24e}
.live-class-slideshow .theme-question{--scene:#744fc1;--scene-deep:#41277e;--scene-warm:#e5a83c}
.live-class-slideshow .theme-result{--scene:#24855a;--scene-deep:#14573b;--scene-warm:#edb545}
.live-class-slideshow .lesson-slide-copy{align-self:center;z-index:4!important}
.live-class-slideshow .lesson-slide h2{font-size:clamp(29px,3.4vw,52px)!important;line-height:1.04!important;letter-spacing:-.035em!important;margin:0 0 12px!important;color:#112f4a!important;text-shadow:0 1px 0 #fff}
.live-class-slideshow .slide-subtitle{color:var(--scene-deep)!important;font-weight:750!important}
.live-class-slideshow .slide-body{font-size:clamp(16px,1.55vw,22px)!important;line-height:1.45!important;color:#253849!important}
.slide-focus-terms{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 13px}.slide-focus-terms span{display:inline-flex;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--scene) 10%,white);border:1px solid color-mix(in srgb,var(--scene) 25%,white);color:var(--scene-deep);font:800 10px/1.1 Inter,"Segoe UI",sans-serif;letter-spacing:.09em;text-transform:uppercase}
.slide-clip-art{right:2.2%!important;top:3%!important;gap:7px!important}.slide-clip-art span{width:39px!important;height:39px!important;padding:9px;border-radius:12px!important;background:rgba(255,255,255,.92)!important;border:1px solid color-mix(in srgb,var(--scene) 22%,white)!important;color:var(--scene-deep);box-shadow:0 10px 24px color-mix(in srgb,var(--scene) 16%,transparent)!important}.slide-clip-art svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.premium-visual-rail{grid-column:3;grid-row:1;align-self:center;min-width:0;display:grid;gap:12px;position:relative;z-index:3}.premium-visual-rail .subject-visual{min-height:150px!important;padding:17px!important;gap:10px!important;border-radius:20px!important}.premium-visual-rail .subject-visual small{font-size:12px!important}.premium-scene{position:relative;aspect-ratio:12/7;min-height:185px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#fafdff,#dceffc);border:1px solid color-mix(in srgb,var(--scene) 30%,white);box-shadow:0 22px 48px color-mix(in srgb,var(--scene-deep) 22%,transparent),inset 0 1px 0 #fff;transform:perspective(800px) rotateY(-2deg);isolation:isolate}.premium-scene::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--scene-warm) 38%,transparent),transparent 29%),linear-gradient(150deg,rgba(255,255,255,.85),transparent 55%);z-index:-1}.premium-scene svg{position:absolute;inset:12% 5% 3%;width:90%;height:84%;overflow:visible}.premium-scene svg *{vector-effect:non-scaling-stroke}.premium-scene svg g,.premium-scene svg path,.premium-scene svg rect,.premium-scene svg circle{fill:none;stroke:var(--scene-deep);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.premium-scene .scene-label{position:absolute;z-index:3;left:15px;top:13px;padding:5px 9px;border-radius:999px;background:var(--scene-deep);color:#fff;font:850 9px/1 Inter,"Segoe UI",sans-serif;letter-spacing:.14em;box-shadow:0 6px 16px color-mix(in srgb,var(--scene-deep) 28%,transparent)}.premium-scene .scene-orbit{fill:color-mix(in srgb,var(--scene-warm) 58%,white);stroke:none}.premium-scene .scene-trace{stroke:color-mix(in srgb,var(--scene) 22%,transparent);stroke-width:14;stroke-dasharray:2 13}.premium-scene .scene-depth{position:absolute;width:120px;height:120px;right:-45px;bottom:-62px;border:22px solid color-mix(in srgb,var(--scene) 13%,transparent);border-radius:50%}
.scene-laptop>path:first-child,.scene-dashboard>rect:first-child,.scene-ledger>rect:first-child{fill:rgba(255,255,255,.8);stroke:var(--scene-deep)}.scene-chip rect:first-child,.scene-router circle,.scene-coin circle,.scene-target circle:nth-child(3){fill:color-mix(in srgb,var(--scene-warm) 54%,white)}.scene-shield>path:first-child{fill:color-mix(in srgb,var(--scene) 15%,white);stroke:var(--scene-deep)}.scene-book>path:nth-child(-n+2){fill:rgba(255,255,255,.82)}.scene-question circle,.scene-target circle:first-child{fill:color-mix(in srgb,var(--scene) 9%,white)}.scene-idea>path:first-child{fill:color-mix(in srgb,var(--scene-warm) 45%,white)}.scene-bar{fill:var(--scene)!important;stroke:none!important;transform-box:fill-box;transform-origin:center bottom}.scene-total,.scene-line,.scene-data-flow,.scene-pen,.scene-question>path,.scene-target>path{stroke:var(--scene)!important;stroke-width:5!important}.scene-stars path{fill:var(--scene-warm)!important;stroke:none!important}
.live-class-slideshow .slide-enter .premium-scene{animation:sceneEntrance .85s .1s cubic-bezier(.16,.86,.24,1) both}.live-class-slideshow .slide-enter .premium-visual-rail .subject-visual{animation:sceneEntrance .72s .24s cubic-bezier(.16,.86,.24,1) both}.live-class-slideshow .slide-enter .scene-trace{animation:sceneTrace 7s linear infinite}.live-class-slideshow .slide-enter .scene-orbit{animation:sceneOrbit 7s ease-in-out infinite}.live-class-slideshow .slide-enter .scene-data-flow{stroke-dasharray:9 8;animation:sceneFlow 1.25s linear infinite}.live-class-slideshow .slide-enter .scene-code-lines path{stroke-dasharray:100;animation:sceneDraw 2.7s ease-in-out infinite alternate}.live-class-slideshow .slide-enter .scene-line,.live-class-slideshow .slide-enter .scene-pen,.live-class-slideshow .slide-enter .scene-total{stroke-dasharray:180;stroke-dashoffset:180;animation:sceneDrawOnce 1.5s .45s ease forwards}.live-class-slideshow .slide-enter .scene-bar{animation:sceneBars 1.1s cubic-bezier(.2,.8,.2,1) both}.live-class-slideshow .slide-enter .bar-2{animation-delay:.17s}.live-class-slideshow .slide-enter .bar-3{animation-delay:.34s}.live-class-slideshow .slide-enter .scene-chip,.live-class-slideshow .slide-enter .scene-coin,.live-class-slideshow .slide-enter .scene-idea{animation:sceneFloat 3.8s ease-in-out infinite}.live-class-slideshow .slide-enter .premium-learning-steps li{animation:cinematicItem .5s cubic-bezier(.16,.86,.24,1) both}.live-class-slideshow .slide-enter .premium-learning-steps li:nth-child(2){animation-delay:.1s}.live-class-slideshow .slide-enter .premium-learning-steps li:nth-child(3){animation-delay:.2s}.live-class-slideshow .slide-enter .premium-learning-steps li:nth-child(4){animation-delay:.3s}.live-class-slideshow .slide-enter .premium-learning-steps li:nth-child(5){animation-delay:.4s}
.live-class-slideshow .transition-cinematic.slide-enter{animation:cinematicReveal .85s cubic-bezier(.16,.86,.24,1) both!important}.live-class-slideshow .transition-depth.slide-enter{animation:depthReveal .78s cubic-bezier(.16,.86,.24,1) both!important}
@keyframes sceneEntrance{from{opacity:0;transform:perspective(800px) translateX(46px) rotateY(-13deg) scale(.94);filter:blur(5px)}to{opacity:1;transform:perspective(800px) rotateY(-2deg);filter:none}}@keyframes sceneTrace{to{stroke-dashoffset:-120}}@keyframes sceneOrbit{50%{transform:translate(-18px,14px) scale(1.18)}}@keyframes sceneFlow{to{stroke-dashoffset:-34}}@keyframes sceneDraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes sceneDrawOnce{to{stroke-dashoffset:0}}@keyframes sceneBars{from{transform:scaleY(.08)}to{transform:scaleY(1)}}@keyframes sceneFloat{50%{transform:translateY(-7px) rotate(1deg)}}@keyframes cinematicItem{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}@keyframes cinematicReveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(.985)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes depthReveal{from{opacity:0;transform:perspective(1000px) rotateX(5deg) translateY(25px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.live-class-slideshow .teacher-writing-caption{grid-column:2/4!important;border-left:0!important;border-radius:13px!important;background:linear-gradient(90deg,#fff,color-mix(in srgb,var(--scene) 5%,white))!important;box-shadow:0 10px 28px rgba(17,47,74,.12)!important;border-top:1px solid color-mix(in srgb,var(--scene) 22%,white)!important}.live-class-slideshow .teacher-writing-caption::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:13px 0 0 13px;background:linear-gradient(var(--scene),var(--scene-warm))}
.live-class-slideshow .fit-tight .premium-scene{min-height:145px}.live-class-slideshow .fit-ultra .premium-scene{min-height:118px}.live-class-slideshow .fit-ultra .premium-visual-rail .subject-visual{display:none!important}.live-class-slideshow .fit-minimal .premium-visual-rail,.live-class-slideshow .fit-safe .premium-visual-rail{display:none!important}.live-class-slideshow .fit-minimal .teacher-writing-caption{grid-column:2!important}
@media(max-width:900px){.live-class-slideshow .lesson-slide,.live-class-slideshow .fit-tight,.live-class-slideshow .fit-ultra{grid-template-columns:38px minmax(0,1fr)!important;grid-template-rows:auto!important;align-content:center!important}.premium-visual-rail{display:block!important;position:absolute!important;right:18px!important;bottom:18px!important;width:155px!important;opacity:.16!important;pointer-events:none}.premium-visual-rail .subject-visual{display:none!important}.premium-scene{min-height:92px!important;border-radius:18px!important}.live-class-slideshow .teacher-writing-caption{grid-column:2!important}.live-class-slideshow .lesson-slide-copy{padding-right:0}.slide-focus-terms{padding-right:90px}}
@media(max-width:520px){.live-class-slideshow .lesson-slide,.live-class-slideshow .fit-tight,.live-class-slideshow .fit-ultra,.live-class-slideshow .fit-minimal,.live-class-slideshow .fit-safe{grid-template-columns:1fr!important;padding:24px 20px!important}.premium-visual-rail{width:120px!important;right:8px!important;bottom:10px!important;opacity:.1!important}.live-class-slideshow .teacher-writing-caption{grid-column:1!important}.slide-focus-terms{padding-right:0}.slide-clip-art{opacity:.18!important}}
@media(prefers-reduced-motion:reduce){.live-class-slideshow .transition-cinematic.slide-enter,.live-class-slideshow .transition-depth.slide-enter,.premium-scene,.premium-scene *,.premium-learning-steps li{animation:none!important}}

/* v44 regenerated lesson-deck compositions */
.live-class-slideshow .slide-layout-hero .lesson-slide-copy{align-self:center}.live-class-slideshow .slide-layout-hero h2{font-size:clamp(38px,4.4vw,66px)!important;max-width:14ch}.live-class-slideshow .slide-layout-hero .premium-scene{min-height:270px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--scene) 14%,white))}.live-class-slideshow .slide-layout-hero .premium-visual-rail .subject-visual{display:none!important}
.live-class-slideshow .slide-layout-timeline .premium-scene,.live-class-slideshow .slide-layout-steps .premium-scene{background:linear-gradient(145deg,#fffdf5,color-mix(in srgb,var(--scene-warm) 18%,white))}
.live-class-slideshow .slide-layout-cards .premium-learning-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.live-class-slideshow .slide-layout-cards .premium-learning-steps li{padding:11px;border:1px solid color-mix(in srgb,var(--scene) 19%,white);border-radius:13px;background:rgba(255,255,255,.72)}
.live-class-slideshow .slide-layout-challenge{background:linear-gradient(128deg,#f0e9ff,#fff 52%,#e3f4ff)!important}.live-class-slideshow .slide-layout-challenge h2{color:#472775!important}.live-class-slideshow .slide-layout-answer{background:linear-gradient(128deg,#e3f7ec,#fff 52%,#fff0ce)!important}.live-class-slideshow .slide-layout-answer h2{color:#18583d!important}
.live-class-slideshow .slide-layout-compare{background:linear-gradient(128deg,#fff0ee,#fff 52%,#fff5d9)!important}.live-class-slideshow .slide-layout-compare .premium-scene{box-shadow:0 22px 48px rgba(145,45,55,.19),inset 0 1px 0 #fff}
.live-class-slideshow .slide-layout-recap .premium-scene{background:linear-gradient(145deg,#eefbf3,#fff7de)}
@media(max-width:900px){.live-class-slideshow .slide-layout-hero h2{font-size:clamp(28px,8vw,42px)!important;max-width:none}.live-class-slideshow .slide-layout-cards .premium-learning-steps{grid-template-columns:1fr}}

/* v45 integrated quality and productivity operations */
.quality-command-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-bottom:20px;padding:clamp(24px,4vw,44px);border-radius:24px;background:linear-gradient(125deg,#102f4d,#1e6682 64%,#8a2449);color:#fff;box-shadow:0 24px 55px rgba(16,47,77,.22)}.quality-command-hero h2{margin:7px 0 12px;color:#fff;font-size:clamp(30px,4vw,52px)}.quality-command-hero p{max-width:760px;margin:0;color:#eaf5ff;font-size:17px;line-height:1.6}.quality-command-hero .eyebrow{color:#f7d383}.quality-health-score{width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#fff 0 54%,transparent 56%),conic-gradient(#46bd83 calc(var(--health,100)*1%),#ffffff30 0);color:#143754;box-shadow:0 15px 35px #061a2c55;border:7px solid #ffffff22}.quality-health-score b{font-size:34px;line-height:1}.quality-health-score span{max-width:90px;margin-top:6px;font-size:11px;font-weight:850;text-transform:uppercase}.quality-health-score.attention{background:radial-gradient(circle,#fff 0 54%,transparent 56%),conic-gradient(#e0a438 68%,#ffffff30 0)}.quality-health-score.critical{background:radial-gradient(circle,#fff 0 54%,transparent 56%),conic-gradient(#cc4a56 44%,#ffffff30 0)}
.qpc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.qpc-actions{align-items:stretch}.qpc-actions form{display:flex;gap:8px;min-width:0}.qpc-actions input{min-width:180px}.quality-findings{display:grid;gap:10px}.quality-finding{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:13px;border-radius:14px;border:1px solid var(--line);background:#fff}.quality-finding>strong{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f4e8d9;color:var(--maroon);font-size:20px}.quality-finding div{min-width:0}.quality-finding b,.quality-finding span{display:block;overflow-wrap:anywhere}.quality-finding span{margin-top:3px;color:var(--muted);font-size:13px}.quality-finding.critical{border-left:5px solid #b73345}.quality-finding.warning{border-left:5px solid #d09529}.quality-finding.good{border-left:5px solid #248058}.quality-link-list{display:grid;gap:10px}.quality-link-list a{display:block;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#fff,#fff9f0);color:inherit;text-decoration:none}.quality-link-list a:hover{border-color:var(--maroon);transform:translateY(-1px)}.quality-link-list b,.quality-link-list span{display:block}.quality-link-list span{margin-top:5px;color:var(--muted);font-size:13px}.quality-check-list{display:grid;gap:2px;margin-bottom:16px}.quality-check-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.approval-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.approval-columns>.card:last-child:nth-child(odd){grid-column:1/-1}.blueprint-fields{padding:15px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fffaf2,#eef7ff)}
@media(max-width:850px){.quality-command-hero{grid-template-columns:1fr}.quality-health-score{width:120px;height:120px}.qpc-grid,.approval-columns{grid-template-columns:1fr}.approval-columns>.card:last-child:nth-child(odd){grid-column:auto}.qpc-actions{display:grid!important}.qpc-actions form{display:grid}.qpc-actions input{min-width:0;width:100%}}

/* v45 action-learning presentation theatre. Subject scenes now demonstrate
   ideas through motion instead of presenting another decorated text card. */
.live-class-slideshow .theme-chemistry{--scene:#0d9b9d;--scene-deep:#075467;--scene-warm:#ff9b40}
.live-class-slideshow .theme-biology{--scene:#2c9b62;--scene-deep:#15543a;--scene-warm:#efd148}
.live-class-slideshow .theme-physics{--scene:#4269d8;--scene-deep:#25397d;--scene-warm:#ffc14e}
.live-class-slideshow .theme-geography{--scene:#1687b5;--scene-deep:#144f72;--scene-warm:#58be6b}
.live-class-slideshow .theme-chemistry .premium-scene,.live-class-slideshow .theme-biology .premium-scene,.live-class-slideshow .theme-physics .premium-scene,.live-class-slideshow .theme-geography .premium-scene{min-height:245px;transform:perspective(900px) rotateY(-3deg) scale(1.02)}
.live-class-slideshow .theme-chemistry .premium-visual-rail .subject-visual,.live-class-slideshow .theme-biology .premium-visual-rail .subject-visual,.live-class-slideshow .theme-physics .premium-visual-rail .subject-visual,.live-class-slideshow .theme-geography .premium-visual-rail .subject-visual{display:none!important}
.scene-liquid{fill:color-mix(in srgb,var(--scene) 62%,white)!important;stroke:var(--scene-deep)!important;transform-origin:center bottom;animation:labLiquid 2.8s ease-in-out infinite}
.scene-bubble{fill:color-mix(in srgb,var(--scene-warm) 60%,white)!important;stroke:var(--scene-deep)!important;transform-box:fill-box;transform-origin:center;animation:labBubble 2.5s ease-in infinite}
.bubble-b{animation-delay:-.8s}.bubble-c{animation-delay:-1.5s}.scene-steam{stroke:var(--scene)!important;stroke-width:5!important;stroke-dasharray:10 8;animation:labSteam 2.2s linear infinite}.steam-b{animation-delay:-1s}
.scene-molecule{animation:moleculeOrbit 5.5s ease-in-out infinite;transform-origin:286px 91px}.scene-nucleus{fill:color-mix(in srgb,var(--scene-warm) 50%,white)!important;animation:cellPulse 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.scene-dna{animation:dnaFloat 3.2s ease-in-out infinite;transform-origin:center}
.scene-current{stroke:var(--scene-warm)!important;stroke-width:7!important;stroke-dasharray:10 14;animation:currentFlow 1s linear infinite}.scene-wave{animation:waveMove 2.5s ease-in-out infinite}.scene-globe{transform-origin:177px 108px;animation:globeTurn 8s linear infinite}.scene-continent{fill:color-mix(in srgb,var(--scene-warm) 58%,white)!important}.scene-pin{animation:pinBounce 1.8s ease-in-out infinite;transform-origin:306px 100px}
.live-class-slideshow .lesson-slide-copy>*{animation:actionCopyIn .55s cubic-bezier(.16,.86,.24,1) both}.live-class-slideshow .lesson-slide-copy>*:nth-child(2){animation-delay:.08s}.live-class-slideshow .lesson-slide-copy>*:nth-child(3){animation-delay:.16s}.live-class-slideshow .lesson-slide-copy>*:nth-child(4){animation-delay:.24s}.live-class-slideshow .lesson-slide-copy>*:nth-child(5){animation-delay:.32s}
.live-class-slideshow .lesson-slide-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.28) 43%,transparent 62%);transform:translateX(-120%);animation:stageLight 7s ease-in-out infinite;z-index:8;mix-blend-mode:soft-light}
@keyframes labLiquid{50%{transform:skewX(-2deg) scaleY(1.06)}}@keyframes labBubble{0%{opacity:0;transform:translateY(25px) scale(.45)}45%{opacity:1}100%{opacity:0;transform:translateY(-38px) scale(1.12)}}@keyframes labSteam{to{stroke-dashoffset:-36;transform:translateY(-7px)}}@keyframes moleculeOrbit{50%{transform:rotate(8deg) translateY(-5px)}}@keyframes cellPulse{50%{transform:scale(1.13)}}@keyframes dnaFloat{50%{transform:translateY(-8px) rotate(2deg)}}@keyframes currentFlow{to{stroke-dashoffset:-24}}@keyframes waveMove{50%{transform:translateX(9px) scaleY(1.12)}}@keyframes globeTurn{to{transform:rotate(360deg)}}@keyframes pinBounce{50%{transform:translateY(-9px) scale(1.04)}}@keyframes actionCopyIn{from{opacity:0;transform:translateY(17px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes stageLight{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
@media(max-width:900px){.live-class-slideshow .theme-chemistry .premium-scene,.live-class-slideshow .theme-biology .premium-scene,.live-class-slideshow .theme-physics .premium-scene,.live-class-slideshow .theme-geography .premium-scene{min-height:105px;transform:none}}
@media(prefers-reduced-motion:reduce){.scene-liquid,.scene-bubble,.scene-steam,.scene-molecule,.scene-nucleus,.scene-dna,.scene-current,.scene-wave,.scene-globe,.scene-pin,.live-class-slideshow .lesson-slide-copy>*,.live-class-slideshow .lesson-slide-stage::after{animation:none!important}}

/* v46 cinematic learning stories. This is the final presentation layer and is
   intentionally placed after all earlier themes. */
.live-class-slideshow{position:relative;overflow:hidden;background:linear-gradient(145deg,#f8fbff,#fff7e9)!important}
.live-class-slideshow .lesson-slide-stage{aspect-ratio:16/9;min-height:clamp(390px,54vw,690px);overflow:hidden!important;border:10px solid #111b28!important;border-radius:24px!important;background:#091b2d!important;box-shadow:0 34px 90px rgba(7,25,43,.32),0 0 0 5px rgba(255,255,255,.85)!important}
.live-class-slideshow .presentation-cinema{position:relative!important;isolation:isolate!important;overflow:hidden!important;min-height:100%!important;background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--scene-warm) 24%,transparent),transparent 28%),linear-gradient(128deg,#fff9ee 0%,#fff 47%,color-mix(in srgb,var(--scene) 10%,#edf7ff) 100%)!important}
.presentation-energy{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.energy-title{position:absolute;right:3.5%;top:49%;transform:rotate(90deg) translateX(50%);transform-origin:right center;color:color-mix(in srgb,var(--scene-deep) 18%,transparent);font:900 clamp(32px,5.2vw,76px)/1 Inter,"Segoe UI",sans-serif;letter-spacing:.12em;white-space:nowrap}.energy-orbit{position:absolute;border:2px solid color-mix(in srgb,var(--scene) 25%,transparent);border-radius:50%;animation:cinemaOrbit 12s linear infinite}.orbit-a{width:340px;height:340px;right:-130px;top:-110px}.orbit-b{width:190px;height:190px;right:55px;bottom:-100px;animation-direction:reverse;animation-duration:8s}.energy-dot{position:absolute;width:13px;height:13px;border-radius:50%;background:var(--scene-warm);box-shadow:0 0 0 9px color-mix(in srgb,var(--scene-warm) 18%,transparent),0 0 32px var(--scene-warm);animation:cinemaFloat 4s ease-in-out infinite}.dot-a{right:13%;top:16%}.dot-b{right:5%;bottom:25%;animation-delay:-1.3s}.dot-c{left:48%;bottom:6%;animation-delay:-2.5s}.energy-beam{position:absolute;width:55%;height:220%;left:52%;top:-60%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);animation:cinemaBeam 8s ease-in-out infinite}
.cinematic-progress{position:absolute;z-index:9;left:4.5%;right:4.5%;top:20px;display:flex;gap:6px}.cinematic-progress i{height:4px;flex:1;border-radius:99px;background:rgba(17,47,74,.13);overflow:hidden}.cinematic-progress i.done{background:color-mix(in srgb,var(--scene) 58%,white)}.cinematic-progress i.active{background:linear-gradient(90deg,var(--scene-deep),var(--scene-warm));box-shadow:0 0 14px color-mix(in srgb,var(--scene) 60%,transparent);animation:activePulse 1.3s ease-in-out infinite}
.live-class-slideshow .presentation-cinema .lesson-slide-copy{position:relative;z-index:5;max-width:100%;animation:cinemaCopy .7s cubic-bezier(.16,.86,.24,1) both}.live-class-slideshow .presentation-cinema h2{font-size:clamp(31px,4vw,61px)!important;line-height:1.02!important;max-width:16ch;text-wrap:balance}.live-class-slideshow .presentation-cinema .slide-body{max-width:54ch;font-size:clamp(17px,1.65vw,24px)!important;line-height:1.48!important}.live-class-slideshow .presentation-cinema .slide-kicker{background:linear-gradient(90deg,var(--scene-deep),var(--scene))!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px color-mix(in srgb,var(--scene) 25%,transparent)!important}
.live-class-slideshow .presentation-cinema .premium-visual-rail{position:relative;z-index:4;align-self:center;filter:drop-shadow(0 22px 24px rgba(12,39,62,.15))}.live-class-slideshow .presentation-cinema .premium-scene{transform:perspective(1000px) rotateY(-4deg) translateZ(0);box-shadow:0 28px 60px color-mix(in srgb,var(--scene) 22%,transparent),inset 0 1px 0 #fff!important;animation:cinemaScene .9s .12s cubic-bezier(.16,.86,.24,1) both!important}.live-class-slideshow .presentation-cinema .premium-scene svg{filter:drop-shadow(0 10px 12px rgba(17,47,74,.12))}.live-class-slideshow .presentation-cinema .scene-label{background:var(--scene-deep)!important;color:#fff!important;box-shadow:0 7px 18px color-mix(in srgb,var(--scene) 26%,transparent)}
.live-class-slideshow .presentation-cinema .premium-learning-steps li{opacity:0;transform:translateX(-24px);animation:cinemaReveal .55s calc(.28s + var(--reveal)*.18s) cubic-bezier(.16,.86,.24,1) forwards!important}.live-class-slideshow .presentation-cinema .slide-review-grid>div{animation:cinemaReveal .55s both}.live-class-slideshow .presentation-cinema .slide-review-grid>div:nth-child(2){animation-delay:.15s}.live-class-slideshow .presentation-cinema .slide-review-grid>div:nth-child(3){animation-delay:.3s}.live-class-slideshow .presentation-cinema .slide-review-grid>div:nth-child(4){animation-delay:.45s}
.live-class-slideshow .slide-type-topic-cover .lesson-slide-copy,.live-class-slideshow .slide-type-cover .lesson-slide-copy{align-self:center}.live-class-slideshow .slide-type-topic-cover h2,.live-class-slideshow .slide-type-cover h2{font-size:clamp(42px,5.5vw,78px)!important;max-width:13ch}.live-class-slideshow .slide-type-question{background:radial-gradient(circle at 75% 45%,rgba(116,79,193,.2),transparent 27%),linear-gradient(128deg,#f4edff,#fff 50%,#e4f5ff)!important}.live-class-slideshow .slide-type-real-life{background:radial-gradient(circle at 78% 40%,rgba(38,154,105,.18),transparent 28%),linear-gradient(128deg,#eafaf0,#fff 50%,#e6f5ff)!important}.live-class-slideshow .slide-type-misconception{background:radial-gradient(circle at 78% 40%,rgba(196,66,66,.15),transparent 28%),linear-gradient(128deg,#fff1ef,#fff 50%,#fff4da)!important}
.live-class-slideshow:fullscreen{padding:24px;background:#061522!important}.live-class-slideshow:fullscreen .section-head,.live-class-slideshow:fullscreen .lesson-slide-controls{position:relative;z-index:3}.live-class-slideshow:fullscreen .lesson-slide-stage{height:calc(100vh - 190px);min-height:0;aspect-ratio:auto}.live-class-slideshow:fullscreen .presentation-cinema h2{font-size:clamp(46px,5vw,84px)!important}.live-class-slideshow:fullscreen .presentation-cinema .slide-body{font-size:clamp(22px,2vw,32px)!important}
@keyframes cinemaOrbit{to{transform:rotate(360deg)}}@keyframes cinemaFloat{50%{transform:translateY(-17px) scale(1.15)}}@keyframes cinemaBeam{0%,20%{transform:translateX(-70%) rotate(22deg);opacity:0}45%{opacity:.8}70%,100%{transform:translateX(70%) rotate(22deg);opacity:0}}@keyframes activePulse{50%{filter:brightness(1.3);transform:scaleY(1.65)}}@keyframes cinemaCopy{from{opacity:0;transform:translateX(-42px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes cinemaScene{from{opacity:0;transform:perspective(1000px) rotateY(-15deg) translateX(65px) scale(.9)}to{opacity:1;transform:perspective(1000px) rotateY(-4deg) translateX(0) scale(1)}}@keyframes cinemaReveal{to{opacity:1;transform:none}}
@media(max-width:900px){.live-class-slideshow .lesson-slide-stage{min-height:520px;aspect-ratio:auto}.energy-title{opacity:.3}.live-class-slideshow .presentation-cinema .premium-visual-rail{opacity:.2!important}.live-class-slideshow .presentation-cinema h2{max-width:none}.cinematic-progress{top:12px}.live-class-slideshow .presentation-cinema{padding-top:38px!important}}
@media(max-width:520px){.live-class-slideshow .lesson-slide-stage{min-height:560px;border-width:6px!important}.energy-title{display:none}.live-class-slideshow .presentation-cinema h2{font-size:clamp(29px,9vw,42px)!important}.live-class-slideshow .presentation-cinema .slide-body{font-size:17px!important}.cinematic-progress{left:20px;right:20px}}
@media(prefers-reduced-motion:reduce){.presentation-energy *,.cinematic-progress i,.live-class-slideshow .presentation-cinema .lesson-slide-copy,.live-class-slideshow .presentation-cinema .premium-scene,.live-class-slideshow .presentation-cinema .premium-learning-steps li,.live-class-slideshow .presentation-cinema .slide-review-grid>div{animation:none!important;opacity:1!important;transform:none!important}}

/* v47 live visual theatre */
.live-scene-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:.62}.cinema-transition{position:absolute;inset:0;z-index:50;display:grid;place-items:center;pointer-events:none;transform:translateX(-105%);background:linear-gradient(115deg,var(--scene-deep),var(--scene) 58%,var(--scene-warm));clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%)}.cinema-transition::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 40%,rgba(255,255,255,.3),transparent 27%)}.cinema-transition i{position:absolute;width:260px;height:260px;border:2px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:0 0 0 36px rgba(255,255,255,.06),0 0 0 72px rgba(255,255,255,.035);animation:theatreSpin 5s linear infinite}.cinema-transition b{position:relative;color:#fff;font:900 clamp(28px,5vw,68px)/1 Inter,"Segoe UI",sans-serif;letter-spacing:.14em;text-shadow:0 10px 30px rgba(0,0,0,.25)}
.presentation-cinema.slide-exit-next .cinema-transition{animation:theatreWipeNext .43s cubic-bezier(.7,0,.3,1) forwards}.presentation-cinema.slide-exit-prev .cinema-transition{animation:theatreWipePrev .43s cubic-bezier(.7,0,.3,1) forwards}.presentation-cinema.slide-exit-next .lesson-slide-copy,.presentation-cinema.slide-exit-next .premium-visual-rail{animation:theatreExitLeft .35s ease-in forwards!important}.presentation-cinema.slide-exit-prev .lesson-slide-copy,.presentation-cinema.slide-exit-prev .premium-visual-rail{animation:theatreExitRight .35s ease-in forwards!important}
.teacher-speaking .premium-scene{box-shadow:0 30px 70px color-mix(in srgb,var(--scene) 34%,transparent),0 0 0 4px color-mix(in srgb,var(--scene-warm) 32%,transparent)!important}.teacher-speaking .scene-label{animation:speechLabel .75s ease-in-out infinite alternate}.teacher-speaking .energy-dot{animation-duration:1.15s}.teacher-speaking .live-scene-canvas{opacity:.82;filter:saturate(1.25)}
.live-class-slideshow .teacher-writing-caption{overflow:hidden}.live-class-slideshow .teacher-writing-caption p::after{content:"";display:inline-block;width:2px;height:1.15em;margin-left:4px;vertical-align:-.15em;background:var(--scene-deep);animation:captionCaret .7s steps(1) infinite}.live-class-slideshow .slide-type-topic-cover .premium-scene,.live-class-slideshow .slide-type-real-life .premium-scene{transform:perspective(900px) rotateY(-5deg) scale(1.04)!important}.live-class-slideshow .slide-type-process .scene-data-flow,.live-class-slideshow .slide-type-explanation .scene-trace{animation-duration:.8s!important}
@keyframes theatreWipeNext{0%{transform:translateX(-105%)}55%{transform:translateX(0)}100%{transform:translateX(105%)}}@keyframes theatreWipePrev{0%{transform:translateX(105%) scaleX(-1)}55%{transform:translateX(0) scaleX(-1)}100%{transform:translateX(-105%) scaleX(-1)}}@keyframes theatreExitLeft{to{opacity:0;transform:translateX(-60px) scale(.94);filter:blur(8px)}}@keyframes theatreExitRight{to{opacity:0;transform:translateX(60px) scale(.94);filter:blur(8px)}}@keyframes theatreSpin{to{transform:rotate(360deg)}}@keyframes speechLabel{to{transform:scale(1.05);filter:brightness(1.18)}}@keyframes captionCaret{50%{opacity:0}}
@media(max-width:700px){.cinema-transition b{font-size:28px}.cinema-transition i{width:160px;height:160px}.live-scene-canvas{opacity:.38}}
@media(prefers-reduced-motion:reduce){.cinema-transition,.cinema-transition i,.teacher-speaking .scene-label,.teacher-writing-caption p::after{animation:none!important}.presentation-cinema.slide-exit-next .cinema-transition,.presentation-cinema.slide-exit-prev .cinema-transition{display:none}.live-scene-canvas{display:none}}

/* v48 structural presentation fix. Explicit grid placement prevents an
   implicit third column from squeezing teaching text into a vertical strip. */
.live-class-slideshow .lesson-slide.presentation-cinema{display:grid!important;grid-template-columns:52px minmax(0,1.28fr) minmax(260px,.82fr)!important;grid-template-rows:minmax(0,1fr) auto!important;grid-template-areas:"number copy visual" ". caption caption"!important;column-gap:clamp(18px,2.4vw,34px)!important;row-gap:16px!important;align-items:center!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.live-class-slideshow .presentation-cinema .lesson-slide-number{grid-area:number!important;min-width:0!important;width:auto!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:normal!important}
.live-class-slideshow .presentation-cinema .lesson-slide-copy{grid-area:copy!important;width:100%!important;max-width:100%!important;min-width:0!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important}
.live-class-slideshow .presentation-cinema .lesson-slide-copy *{word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important;white-space:normal!important}
.live-class-slideshow .presentation-cinema .premium-visual-rail{grid-area:visual!important;width:100%!important;min-width:0!important;max-width:100%!important}
.live-class-slideshow .presentation-cinema .teacher-writing-caption{grid-area:caption!important;position:relative!important;inset:auto!important;width:100%!important;box-sizing:border-box!important}
.live-class-slideshow .presentation-cinema.fit-tight,.live-class-slideshow .presentation-cinema.fit-ultra{grid-template-columns:46px minmax(0,1.35fr) minmax(210px,.65fr)!important;grid-template-areas:"number copy visual" ". caption caption"!important}
.live-class-slideshow .presentation-cinema.fit-minimal,.live-class-slideshow .presentation-cinema.fit-safe{grid-template-columns:42px minmax(0,1fr)!important;grid-template-areas:"number copy" ". caption"!important}
.live-class-slideshow .presentation-cinema.fit-minimal .premium-visual-rail,.live-class-slideshow .presentation-cinema.fit-safe .premium-visual-rail{display:none!important}
@media(max-width:1000px){.live-class-slideshow .lesson-slide.presentation-cinema,.live-class-slideshow .presentation-cinema.fit-tight,.live-class-slideshow .presentation-cinema.fit-ultra,.live-class-slideshow .presentation-cinema.fit-minimal,.live-class-slideshow .presentation-cinema.fit-safe{grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;grid-template-areas:"number copy" ". caption"!important;padding:clamp(28px,4vw,42px)!important;padding-top:46px!important}.live-class-slideshow .presentation-cinema .premium-visual-rail{display:block!important;position:absolute!important;grid-area:auto!important;right:22px!important;bottom:98px!important;width:min(34%,240px)!important;opacity:.13!important;pointer-events:none!important}.live-class-slideshow .presentation-cinema .premium-visual-rail .subject-visual{display:none!important}.live-class-slideshow .presentation-cinema .lesson-slide-copy{padding-right:0!important}.live-class-slideshow .presentation-cinema .slide-focus-terms{padding-right:0!important}.live-class-slideshow .presentation-cinema h2{max-width:18ch!important}}
@media(max-width:760px){.live-class-slideshow .lesson-slide.presentation-cinema,.live-class-slideshow .presentation-cinema.fit-tight,.live-class-slideshow .presentation-cinema.fit-ultra,.live-class-slideshow .presentation-cinema.fit-minimal,.live-class-slideshow .presentation-cinema.fit-safe{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"copy" "caption"!important;padding:44px 24px 24px!important;align-content:center!important}.live-class-slideshow .presentation-cinema .lesson-slide-number{display:block!important;position:absolute!important;right:24px!important;top:22px!important;width:50px!important;text-align:right!important}.live-class-slideshow .presentation-cinema .premium-visual-rail{right:12px!important;bottom:90px!important;width:150px!important;opacity:.08!important}.live-class-slideshow .presentation-cinema .lesson-slide-copy,.live-class-slideshow .presentation-cinema .lesson-slide-copy *{max-width:100%!important}.live-class-slideshow .presentation-cinema h2{max-width:none!important;font-size:clamp(29px,7.4vw,46px)!important}.live-class-slideshow .presentation-cinema .slide-body,.live-class-slideshow .presentation-cinema li{font-size:clamp(16px,3.8vw,20px)!important;line-height:1.45!important}.live-class-slideshow .presentation-cinema .teacher-writing-caption{grid-column:auto!important}}
.live-class-slideshow.class-starting{box-shadow:0 0 0 5px rgba(215,164,65,.28),0 28px 70px rgba(16,43,70,.24)!important}.live-class-slideshow.class-live{box-shadow:0 0 0 5px rgba(38,133,90,.25),0 28px 75px rgba(16,43,70,.25)!important}.live-class-slideshow.class-live .lesson-slide-stage{border-color:#102b46!important}.role-student .live-action-panel{min-width:min(100%,340px)}.role-student .live-action-top{grid-template-columns:auto minmax(180px,1fr)!important}.role-student .live-start-btn{min-height:52px;font-size:17px!important}

/* v48 blue-and-white public login page — intentionally scoped to the first page only */
body.login-home{--login-blue:#0757b7;--login-blue-deep:#073b7a;--login-blue-soft:#eaf4ff;--login-line:#b9d7f5;min-height:100vh;background:radial-gradient(circle at 12% 14%,#dceeff 0 11%,transparent 31%),radial-gradient(circle at 90% 88%,#c7e3ff 0 10%,transparent 32%),linear-gradient(135deg,#f7fbff 0%,#fff 52%,#e7f3ff 100%)!important;color:#102a43}
body.login-home::before,body.login-home::after{content:"";position:fixed;z-index:0;border-radius:50%;pointer-events:none;border:1px solid rgba(7,87,183,.12)}
body.login-home::before{width:420px;height:420px;left:-220px;bottom:-230px;box-shadow:0 0 0 42px rgba(7,87,183,.035),0 0 0 92px rgba(7,87,183,.025)}
body.login-home::after{width:300px;height:300px;right:-155px;top:-160px;box-shadow:0 0 0 36px rgba(7,87,183,.04)}
body.login-home>.auth{position:relative;z-index:1;width:min(1080px,100%);gap:42px}
body.login-home .auth>section:first-child{position:relative;padding:38px}
body.login-home .auth>section:first-child::after{content:"";display:block;width:86px;height:5px;margin-top:30px;border-radius:999px;background:linear-gradient(90deg,var(--login-blue),#56a9f4)}
body.login-home .mark{width:66px;height:66px;border-radius:19px;background:linear-gradient(145deg,var(--login-blue),var(--login-blue-deep))!important;color:#fff!important;box-shadow:0 18px 36px rgba(7,87,183,.25)}
body.login-home .auth>section:first-child h1{color:var(--login-blue-deep)!important;font-size:clamp(2.45rem,5vw,4.1rem)!important;letter-spacing:-.035em;max-width:680px}
body.login-home .auth>section:first-child p{color:#365b7d!important;max-width:640px}
body.login-home .chips{gap:9px}
body.login-home .chips span{background:#fff!important;color:var(--login-blue-deep)!important;border:1px solid var(--login-line)!important;box-shadow:0 7px 18px rgba(7,59,122,.07)}
body.login-home .login{position:relative;overflow:hidden;background:rgba(255,255,255,.96)!important;border:1px solid var(--login-line)!important;border-radius:26px;padding:36px!important;box-shadow:0 28px 70px rgba(7,59,122,.17)!important;backdrop-filter:blur(12px)}
body.login-home .login::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--login-blue-deep),var(--login-blue),#63b6ff)}
body.login-home .login h2{color:var(--login-blue-deep)!important;font-size:2rem;margin-bottom:22px}
body.login-home .login label{color:#173f65!important;font-weight:750}
body.login-home .login input{background:#f8fbff!important;color:#102a43!important;border:1px solid #a9cceb!important;border-radius:12px;min-height:50px}
body.login-home .login input:focus{outline:3px solid rgba(7,87,183,.14)!important;border-color:var(--login-blue)!important;box-shadow:0 0 0 1px var(--login-blue)}
body.login-home .login .btn{background:var(--login-blue)!important;color:#fff!important;border:1px solid var(--login-blue)!important;box-shadow:0 9px 20px rgba(7,87,183,.2)}
body.login-home .login .btn:hover,body.login-home .login .btn:focus-visible{background:#fff!important;color:var(--login-blue-deep)!important;border-color:var(--login-blue)!important;transform:translateY(-1px)}
body.login-home .registration-callout{border-top-color:#d4e6f8!important;color:#365b7d}
body.login-home .alert.info{background:#edf7ff!important;color:#164f82!important;border-color:#a8d3f7!important}
body.login-home .alert.error{background:#fff2f3!important;color:#7c1d2a!important}
@media(max-width:900px){body.login-home>.auth{gap:20px}body.login-home .auth>section:first-child{padding:20px 8px}body.login-home .login{padding:28px!important}}

/* v56 unified student management */
.schedule-editor-list{display:grid;gap:.8rem}.schedule-editor{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:.75rem;align-items:end;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.schedule-editor label{margin:0}.schedule-editor .btn{min-height:46px}
@media(max-width:820px){.schedule-editor{grid-template-columns:1fr}.schedule-editor .btn{width:100%}}

/* v58 one-page student access control */
.class-access-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.access-check{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.access-check span,.access-check b{display:block}.access-check span{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:800}.access-check b{margin-top:5px;overflow-wrap:anywhere}.access-check.ok{border-left:5px solid #248058;background:#f2fbf6}.access-check.bad{border-left:5px solid #b73345;background:#fff4f5}.course-access-list{display:grid;gap:10px}.course-access-row{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(5,minmax(90px,.65fr));gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.course-access-row h4{margin:0 0 4px}.course-access-row span,.course-access-row b{display:block;overflow-wrap:anywhere}.course-access-row span{font-size:12px;color:var(--muted)}.ok-text{color:#18704a}.bad-text{color:#a42d3f}.access-confirm-form{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffaf3}.access-confirm-form small{display:block;margin-top:8px}
@media(max-width:1050px){.class-access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.course-access-row{grid-template-columns:repeat(3,minmax(0,1fr))}.course-access-row>div:first-child{grid-column:1/-1}}@media(max-width:650px){.class-access-summary,.course-access-row{grid-template-columns:1fr}.course-access-row>div:first-child{grid-column:auto}}

/* Dynamic one-to-eight-paper examination manager */
.paper-set-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin-top:12px}.paper-set-slot{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#fff8ef)}.paper-set-slot>b,.paper-set-slot>span,.paper-set-slot>small{display:block;overflow-wrap:anywhere}.paper-set-slot>span{margin-top:6px;color:var(--muted);font-size:13px}.paper-set-slot .actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}.past-paper-workflow>*{min-width:0}.past-paper-workflow input,.past-paper-workflow select{max-width:100%}
.paper-profile-list{display:grid;gap:10px}.paper-profile-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto;gap:12px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.paper-profile-row b{align-self:center;overflow-wrap:anywhere}.paper-profile-row label{margin:0}.paper-quota-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.paper-quota-grid label[hidden]{display:none!important}
@media(max-width:1050px){.paper-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.paper-set-grid{grid-template-columns:1fr}}
@media(max-width:760px){.paper-profile-row,.paper-quota-grid{grid-template-columns:1fr}.paper-profile-row .btn{width:100%}}

/* v78 soft photographic login background. The layered wash keeps all public
   login content readable while allowing the supplied academy artwork to show. */
html body.login-home,
html[data-theme] body.login-home{
 background-color:#f7fbff!important;
 background-image:url("login-academy-background.png")!important;
 background-size:cover!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 background-attachment:fixed!important;
 image-rendering:auto;
}
body.login-home::before,body.login-home::after{display:none!important}
body.login-home .auth>section:first-child{
 background:rgba(255,255,255,.82);
 border:1px solid rgba(185,215,245,.48);
 border-radius:28px;
 backdrop-filter:blur(3px);
 -webkit-backdrop-filter:blur(3px);
 box-shadow:0 20px 52px rgba(7,59,122,.07);
}
body.login-home .login{background:rgba(255,255,255,.95)!important}
@media(max-width:900px){
 html body.login-home,html[data-theme] body.login-home{background-position:36% center!important;background-attachment:scroll!important}
 body.login-home .auth>section:first-child{padding:24px!important;background:rgba(255,255,255,.72)}
}
@media(prefers-reduced-transparency:reduce){
 html body.login-home,html[data-theme] body.login-home{background-image:url("login-academy-background.png")!important}
 body.login-home .auth>section:first-child,body.login-home .login{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff!important}
}

/* v82 centre the public login composition and keep both desktop panels equal. */
@media(min-width:901px){
 html body.login-home,html[data-theme] body.login-home{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:center!important;
  justify-items:center!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  padding:clamp(22px,3vw,42px)!important;
  box-sizing:border-box!important;
 }
 body.login-home>.auth{
  margin:auto!important;
  align-items:stretch!important;
 }
 body.login-home>.auth>section{
  height:100%!important;
  box-sizing:border-box!important;
 }
 body.login-home .auth>section:first-child,
 body.login-home .login{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
 }
}
@media(max-width:900px){
 html body.login-home,html[data-theme] body.login-home{
  display:block!important;
  padding:16px!important;
 }
 body.login-home>.auth{margin:0 auto!important;align-items:initial!important}
 body.login-home>.auth>section{height:auto!important}
}

/* v83 equal 50% white glass panels keep the full-strength artwork visible. */
body.login-home .auth>section:first-child,
body.login-home .login{
 background:rgba(255,255,255,.50)!important;
 backdrop-filter:blur(1.5px) saturate(1.08)!important;
 -webkit-backdrop-filter:blur(1.5px) saturate(1.08)!important;
}

/* v85 Presentation Studio
   One clear composition replaces the former stack of decorative panels.
   Topic art, narration, motion and timing now share the same visual stage. */
.live-class-slideshow{
 --studio-ink:#0d2740;
 --studio-paper:#fffdf8;
 --studio-shadow:rgba(7,29,48,.28);
 background:linear-gradient(145deg,#f4f9ff,#fff8eb)!important;
 border:1px solid rgba(16,43,70,.16)!important;
 box-shadow:0 30px 80px rgba(12,38,60,.14)!important;
}
.live-class-slideshow .lesson-slide-stage{
 min-height:clamp(430px,54vw,700px)!important;
 border:7px solid #0a2238!important;
 border-radius:22px!important;
 box-shadow:0 30px 80px var(--studio-shadow),0 0 0 4px #f4dfbd!important;
}
.live-class-slideshow .lesson-slide.presentation-cinema{
 grid-template-columns:44px minmax(0,1.1fr) minmax(300px,.9fr)!important;
 grid-template-rows:minmax(0,1fr) auto!important;
 grid-template-areas:"number copy visual" ". caption caption"!important;
 column-gap:clamp(24px,3vw,48px)!important;
 row-gap:18px!important;
 padding:clamp(40px,5vw,72px)!important;
 padding-top:clamp(58px,6vw,84px)!important;
 background:
  radial-gradient(circle at 93% 8%,color-mix(in srgb,var(--scene-warm) 24%,transparent),transparent 25%),
  linear-gradient(122deg,var(--studio-paper) 0 48%,color-mix(in srgb,var(--scene) 9%,#edf7ff) 100%)!important;
 border:0!important;
 border-radius:14px!important;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.9)!important;
}
.live-class-slideshow .presentation-cinema::before{
 content:""!important;display:block!important;position:absolute!important;inset:0 auto 0 0!important;width:10px!important;
 background:linear-gradient(180deg,var(--scene-deep),var(--scene) 58%,var(--scene-warm))!important;
}
.live-class-slideshow .presentation-cinema::after{
 content:""!important;display:block!important;position:absolute!important;left:0!important;bottom:0!important;
 width:var(--slide-progress,0%)!important;height:7px!important;z-index:20!important;
 background:linear-gradient(90deg,var(--scene-deep),var(--scene),var(--scene-warm))!important;
 box-shadow:0 -5px 18px color-mix(in srgb,var(--scene) 26%,transparent)!important;
 transition:width .6s ease!important;
}
.live-class-slideshow .presentation-cinema .lesson-slide-copy{align-self:center!important;padding:0!important}
.live-class-slideshow .presentation-cinema .slide-kicker{
 display:inline-block!important;width:auto!important;margin:0 0 18px!important;padding:0 0 7px!important;border:0!important;border-radius:0!important;
 background:transparent!important;color:var(--scene-deep)!important;box-shadow:none!important;
 font:900 11px/1.1 Inter,"Segoe UI",sans-serif!important;letter-spacing:.19em!important;
 border-bottom:3px solid var(--scene-warm)!important;
}
.live-class-slideshow .presentation-cinema h2{
 max-width:15ch!important;margin:0 0 20px!important;color:var(--studio-ink)!important;
 font-size:clamp(34px,4.25vw,66px)!important;line-height:1.01!important;letter-spacing:-.045em!important;
 text-shadow:none!important;text-wrap:balance!important;
}
.live-class-slideshow .presentation-cinema .slide-subtitle{
 max-width:38ch!important;margin:0!important;color:var(--scene-deep)!important;
 font-size:clamp(18px,1.8vw,27px)!important;line-height:1.38!important;font-weight:750!important;
}
.live-class-slideshow .presentation-cinema .slide-body{
 max-width:48ch!important;margin:0!important;color:#21384b!important;
 font-size:clamp(18px,1.7vw,25px)!important;line-height:1.52!important;font-weight:520!important;
}
.live-class-slideshow .presentation-cinema .premium-learning-steps{gap:13px!important;max-width:49ch!important}
.live-class-slideshow .presentation-cinema .premium-learning-steps li{
 grid-template-columns:34px minmax(0,1fr)!important;gap:12px!important;color:#21384b!important;
 font-size:clamp(16px,1.48vw,22px)!important;line-height:1.42!important;
}
.live-class-slideshow .presentation-cinema .premium-learning-steps li::before{
 width:30px!important;height:30px!important;background:var(--scene-deep)!important;color:#fff!important;
 box-shadow:0 7px 18px color-mix(in srgb,var(--scene) 24%,transparent)!important;
}
.live-class-slideshow .presentation-cinema .lesson-slide-number{
 align-self:start!important;color:var(--scene-deep)!important;border-color:var(--scene-warm)!important;
 font-size:17px!important;letter-spacing:.12em!important;
}
.live-class-slideshow .presentation-cinema .premium-visual-rail{
 grid-area:visual!important;display:flex!important;flex-direction:column!important;gap:18px!important;
 width:100%!important;min-width:0!important;align-self:center!important;opacity:1!important;filter:none!important;
 position:relative!important;inset:auto!important;
}
.live-class-slideshow .presentation-cinema .premium-scene{
 width:100%!important;min-height:clamp(250px,28vw,390px)!important;aspect-ratio:6/5!important;
 border:0!important;border-radius:42% 58% 46% 54% / 52% 40% 60% 48%!important;
 background:
  radial-gradient(circle at 72% 19%,color-mix(in srgb,var(--scene-warm) 55%,white),transparent 23%),
  linear-gradient(145deg,#fff,color-mix(in srgb,var(--scene) 19%,#e7f4ff))!important;
 box-shadow:0 35px 70px color-mix(in srgb,var(--scene-deep) 25%,transparent),inset 0 0 0 1px rgba(255,255,255,.9)!important;
 transform:perspective(1100px) rotateY(-3deg)!important;overflow:hidden!important;
}
.live-class-slideshow .presentation-cinema .premium-scene::after{
 content:"";position:absolute;inset:7%;border:1px solid color-mix(in srgb,var(--scene) 20%,transparent);
 border-radius:inherit;transform:rotate(7deg);pointer-events:none;
}
.live-class-slideshow .presentation-cinema .premium-scene svg{inset:12% 5% 4%!important;width:90%!important;height:84%!important}
.live-class-slideshow .presentation-cinema .scene-label{
 left:9%!important;top:8%!important;padding:7px 11px!important;border-radius:2px!important;
 background:var(--scene-deep)!important;color:#fff!important;font-size:9px!important;letter-spacing:.16em!important;
}
.scene-storyline{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 8px;color:var(--scene-deep)}
.scene-storyline::before{content:"";position:absolute;left:12%;right:12%;top:8px;height:2px;background:linear-gradient(90deg,var(--scene-deep),var(--scene),var(--scene-warm));opacity:.45}
.scene-storyline span{position:relative;display:grid;justify-items:center;gap:8px;min-width:0;color:var(--scene-deep);font:850 10px/1.2 Inter,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;overflow-wrap:anywhere;animation:studioStoryIn .55s calc(.35s + var(--story)*.14s) both}
.scene-storyline i{position:relative;z-index:1;width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:var(--scene);box-shadow:0 0 0 1px color-mix(in srgb,var(--scene) 45%,white)}
.live-class-slideshow .presentation-cinema .teacher-writing-caption{
 grid-area:caption!important;min-height:58px!important;max-height:92px!important;padding:12px 16px 12px 20px!important;
 border:1px solid color-mix(in srgb,var(--scene) 18%,white)!important;border-radius:12px!important;
 background:rgba(255,255,255,.94)!important;box-shadow:0 10px 26px rgba(14,42,65,.09)!important;overflow:hidden!important;
}
.live-class-slideshow .presentation-cinema .teacher-writing-caption small{margin-bottom:4px!important;color:var(--scene-deep)!important}
.live-class-slideshow .presentation-cinema .teacher-writing-caption p{
 display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
 max-height:3em!important;overflow:hidden!important;color:#162e43!important;
 font-size:clamp(14px,1.25vw,18px)!important;line-height:1.42!important;
}
.live-class-slideshow .presentation-cinema .cinematic-progress{top:24px!important;left:5%!important;right:5%!important;gap:7px!important}
.live-class-slideshow .presentation-cinema .cinematic-progress i{position:relative;height:4px!important;background:rgba(13,39,64,.12)!important;overflow:hidden}
.live-class-slideshow .presentation-cinema .cinematic-progress i.done{background:color-mix(in srgb,var(--scene) 64%,white)!important}
.live-class-slideshow .presentation-cinema .cinematic-progress i.active{background:rgba(13,39,64,.12)!important;box-shadow:none!important;animation:none!important}
.live-class-slideshow .presentation-cinema .cinematic-progress i.active::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--scene-deep),var(--scene-warm));transform-origin:left;animation:studioProgress var(--slide-hold,15s) linear both}
.live-class-slideshow .presentation-cinema .energy-title{opacity:.065!important;font-size:clamp(40px,5.5vw,82px)!important}
.live-class-slideshow .presentation-cinema .slide-motion-layer i{opacity:.08!important;filter:saturate(1.15) blur(.2px)!important}
.live-class-slideshow .presentation-cinema .live-scene-canvas{opacity:.32!important;mix-blend-mode:multiply!important}
.live-class-slideshow .slide-layout-hero.presentation-cinema{grid-template-columns:44px minmax(0,1.17fr) minmax(320px,.83fr)!important}
.live-class-slideshow .slide-layout-hero.presentation-cinema h2{max-width:13ch!important;font-size:clamp(42px,5.2vw,78px)!important}
.live-class-slideshow .slide-layout-hero.presentation-cinema .premium-scene{min-height:clamp(300px,32vw,430px)!important}
.live-class-slideshow .slide-type-question.presentation-cinema{background:radial-gradient(circle at 82% 26%,rgba(119,80,195,.22),transparent 27%),linear-gradient(122deg,#f7f1ff,#fff 48%,#e9f7ff)!important}
.live-class-slideshow .slide-type-answer.presentation-cinema,.live-class-slideshow .slide-type-topic-end.presentation-cinema,.live-class-slideshow .slide-type-summary.presentation-cinema{background:radial-gradient(circle at 84% 22%,rgba(35,136,88,.19),transparent 27%),linear-gradient(122deg,#effbf3,#fff 48%,#fff4d7)!important}
.live-class-slideshow .slide-type-misconception.presentation-cinema{background:radial-gradient(circle at 84% 22%,rgba(190,61,63,.16),transparent 27%),linear-gradient(122deg,#fff2f0,#fff 48%,#fff5dd)!important}
.live-class-slideshow .theme-accounting{--scene:#b27a21;--scene-deep:#62430f;--scene-warm:#e8b348}
.live-class-slideshow .theme-economics{--scene:#2d7e9b;--scene-deep:#174a67;--scene-warm:#efad3d}
.live-class-slideshow .theme-business{--scene:#2d8063;--scene-deep:#174f41;--scene-warm:#e5a93d}
.live-class-slideshow .theme-history{--scene:#a55242;--scene-deep:#633126;--scene-warm:#e4b75b}
.live-class-slideshow .theme-mathematics{--scene:#6955b9;--scene-deep:#372c75;--scene-warm:#e3aa3c}
.live-class-slideshow .scene-equilibrium{fill:var(--scene-warm)!important;stroke:#fff!important;stroke-width:4!important;animation:studioPulse 1.8s ease-in-out infinite}
.live-class-slideshow .scene-demand,.live-class-slideshow .scene-supply{stroke-dasharray:180;stroke-dashoffset:180;animation:sceneDrawOnce 1.8s .35s ease forwards}
.live-class-slideshow .scene-banner{fill:color-mix(in srgb,var(--scene-warm) 45%,white)!important;animation:studioBanner 3.4s ease-in-out infinite}
.live-class-slideshow .scene-calculator{animation:sceneFloat 3.8s ease-in-out infinite}
.live-class-slideshow .teacher-speaking .premium-scene{transform:perspective(1100px) rotateY(-3deg) scale(1.018)!important;box-shadow:0 42px 85px color-mix(in srgb,var(--scene-deep) 32%,transparent),0 0 0 4px color-mix(in srgb,var(--scene-warm) 25%,transparent)!important}
@keyframes studioStoryIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes studioProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes studioPulse{50%{transform:scale(1.25)}}
@keyframes studioBanner{50%{transform:translateY(-5px)}}

@media(max-width:1000px){
 .live-class-slideshow .lesson-slide.presentation-cinema,
 .live-class-slideshow .presentation-cinema.fit-tight,
 .live-class-slideshow .presentation-cinema.fit-ultra{
  grid-template-columns:38px minmax(0,1.12fr) minmax(220px,.88fr)!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  grid-template-areas:"number copy visual" ". caption caption"!important;
  padding:54px 34px 34px!important;align-content:center!important;
 }
 .live-class-slideshow .presentation-cinema .premium-visual-rail{position:relative!important;right:auto!important;bottom:auto!important;width:100%!important;opacity:1!important;pointer-events:auto!important}
 .live-class-slideshow .presentation-cinema .premium-scene{min-height:230px!important}
 .live-class-slideshow .presentation-cinema h2{max-width:16ch!important}
}
@media(max-width:760px){
 .live-class-slideshow .lesson-slide-stage{min-height:720px!important;border-width:5px!important}
 .live-class-slideshow .lesson-slide.presentation-cinema,
 .live-class-slideshow .presentation-cinema.fit-tight,
 .live-class-slideshow .presentation-cinema.fit-ultra,
 .live-class-slideshow .presentation-cinema.fit-minimal,
 .live-class-slideshow .presentation-cinema.fit-safe{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(175px,230px) auto!important;
  grid-template-areas:"copy" "visual" "caption"!important;
  gap:18px!important;padding:54px 24px 24px!important;align-content:center!important;
 }
 .live-class-slideshow .presentation-cinema .lesson-slide-number{display:block!important;position:absolute!important;right:22px!important;top:20px!important;width:auto!important}
 .live-class-slideshow .presentation-cinema .premium-visual-rail{display:block!important;position:relative!important;inset:auto!important;width:min(100%,310px)!important;justify-self:center!important;opacity:1!important}
 .live-class-slideshow .presentation-cinema .premium-scene{min-height:175px!important;max-height:225px!important;aspect-ratio:16/10!important;border-radius:28% 42% 30% 44% / 40% 30% 48% 35%!important}
 .scene-storyline{margin-top:10px}.scene-storyline span{font-size:8px!important}
 .live-class-slideshow .presentation-cinema h2{max-width:none!important;font-size:clamp(30px,8vw,44px)!important;margin-bottom:13px!important}
 .live-class-slideshow .presentation-cinema .slide-body,.live-class-slideshow .presentation-cinema li{font-size:clamp(16px,4vw,19px)!important;line-height:1.42!important}
 .live-class-slideshow .presentation-cinema .teacher-writing-caption{grid-column:auto!important;max-height:80px!important}
 .live-class-slideshow .presentation-cinema .energy-title{display:none!important}
}
@media(max-width:460px){
 .live-class-slideshow .lesson-slide-stage{min-height:690px!important}
 .live-class-slideshow .lesson-slide.presentation-cinema{padding:50px 18px 20px!important}
 .live-class-slideshow .presentation-cinema .premium-scene{min-height:155px!important}
 .live-class-slideshow .presentation-cinema .slide-kicker{font-size:9px!important;margin-bottom:12px!important}
}
@media(prefers-reduced-motion:reduce){
 .scene-storyline span,.cinematic-progress i.active::after,.scene-equilibrium,.scene-banner,.scene-calculator{animation:none!important}
 .cinematic-progress i.active::after{transform:scaleX(1)!important}
}

/* v86 presentation contrast authority.
   Every lesson surface is light, so readable copy is explicitly dark regardless of
   the active portal theme or an older presentation rule. Only labelled dark chips
   intentionally retain white text. */
.classroom-slideshow .lesson-slide.presentation-cinema{
 --studio-ink:#102a43;
 --studio-copy:#20384d;
 color:var(--studio-copy)!important;
 color-scheme:light!important;
}
.classroom-slideshow .presentation-cinema h2,
.classroom-slideshow .presentation-cinema .lesson-slide-copy h2{
 color:var(--studio-ink)!important;
 -webkit-text-fill-color:var(--studio-ink)!important;
 text-shadow:none!important;
}
.classroom-slideshow .presentation-cinema .slide-body,
.classroom-slideshow .presentation-cinema .lesson-slide-copy p,
.classroom-slideshow .presentation-cinema .premium-learning-steps li{
 color:var(--studio-copy)!important;
 -webkit-text-fill-color:var(--studio-copy)!important;
 text-shadow:none!important;
}
.classroom-slideshow .presentation-cinema .slide-subtitle,
.classroom-slideshow .presentation-cinema .lesson-slide-number,
.classroom-slideshow .presentation-cinema .slide-kicker,
.classroom-slideshow .presentation-cinema .scene-storyline span,
.classroom-slideshow .presentation-cinema .energy-title{
 color:var(--scene-deep,#143f62)!important;
 -webkit-text-fill-color:var(--scene-deep,#143f62)!important;
 text-shadow:none!important;
}
.classroom-slideshow .presentation-cinema .slide-review-grid>div{
 background:rgba(255,255,255,.94)!important;
 border:1px solid color-mix(in srgb,var(--scene,#287ca0) 34%,#b8c8d4)!important;
 box-shadow:0 10px 25px rgba(15,42,64,.09)!important;
}
.classroom-slideshow .presentation-cinema .slide-review-grid b{
 color:var(--studio-ink)!important;
 -webkit-text-fill-color:var(--studio-ink)!important;
}
.classroom-slideshow .presentation-cinema .slide-review-grid span,
.classroom-slideshow .presentation-cinema .teacher-writing-caption p{
 color:var(--studio-copy)!important;
 -webkit-text-fill-color:var(--studio-copy)!important;
}
.classroom-slideshow .presentation-cinema .teacher-writing-caption small{
 color:var(--scene-deep,#143f62)!important;
 -webkit-text-fill-color:var(--scene-deep,#143f62)!important;
}
.classroom-slideshow .presentation-cinema .scene-label,
.classroom-slideshow .presentation-cinema .premium-learning-steps li::before,
.classroom-slideshow .presentation-cinema .cinema-transition b{
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
 text-shadow:0 1px 2px rgba(0,0,0,.24)!important;
}

/* Administrator lesson regeneration feedback. */
.lesson-regeneration-panel{border-color:rgba(37,112,154,.3)!important;background:linear-gradient(135deg,#f5fbff,#fffaf0)!important}
.lesson-regeneration-panel .progress{height:13px;margin:15px 0 10px;overflow:hidden;border-radius:999px;background:#dce9f2;box-shadow:inset 0 1px 3px rgba(13,39,64,.16)}
.lesson-regeneration-panel .progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#195f91,#2c9b84,#e2aa3e);transition:width .35s ease}
.lesson-regeneration-panel>p{margin-bottom:0;color:#20384d;font-weight:700;overflow-wrap:anywhere}
.lesson-regeneration-panel.is-complete{border-color:#25835a!important;background:linear-gradient(135deg,#effaf4,#fffaf0)!important}
.lesson-regeneration-panel.is-error{border-color:#b73545!important;background:#fff2f2!important}
.lesson-regeneration-panel.is-error>p{color:#8b1f31!important}
.lesson-library-summary .actions,.lesson-actions{min-width:0}
.lesson-library-summary .actions form,.lesson-actions form{margin:0;min-width:0}
.lesson-library-summary .actions .btn,.lesson-actions .btn{white-space:normal;text-align:center}
@media(max-width:720px){
 .lesson-library-summary .actions,.lesson-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
 .lesson-library-summary .actions>* ,.lesson-actions>*{width:100%!important;min-width:0!important}
 .lesson-library-summary .actions form .btn,.lesson-actions form .btn{width:100%!important}
}

/* v88 — responsive, audio-reactive live AI teacher studio. */
.classroom .teacherhead.live-teacher-head{
 display:grid!important;
 grid-template-columns:minmax(196px,232px) minmax(0,1fr) minmax(250px,292px)!important;
 grid-template-rows:auto!important;
 align-items:center!important;
 gap:20px!important;
}
.classroom .live-teacher-head>.live-teacher-window{
 grid-column:1!important;
 grid-row:1!important;
}
.classroom .live-teacher-head>.teacheridentity{
 grid-column:2!important;
 grid-row:1!important;
}
.classroom .live-teacher-head>.live-action-panel{
 grid-column:3!important;
 grid-row:1!important;
 width:100%!important;
 margin:0!important;
}
.live-teacher-window{
 --teacher-level:0;
 --teacher-scale:1;
 --teacher-mouth-scale:1;
 --teacher-lift:0px;
 --teacher-signal:#6fa9d5;
 position:relative;
 isolation:isolate;
 width:100%;
 min-width:0;
 margin:0;
 overflow:hidden;
 border:3px solid #0b2036;
 border-radius:20px;
 background:#0b2036;
 color:#fff;
 box-shadow:0 15px 36px rgba(8,28,48,.22),inset 0 0 0 1px rgba(255,255,255,.12);
 transition:box-shadow .25s ease,border-color .25s ease,width .25s ease;
}
.live-teacher-window[data-state="connecting"]{--teacher-signal:#5bb4ff;border-color:#317fb9;box-shadow:0 15px 40px rgba(39,127,185,.32)}
.live-teacher-window[data-state="ready"]{--teacher-signal:#68c9f4;border-color:#2a6f9f}
.live-teacher-window[data-state="listening"]{--teacher-signal:#6ad6e6;border-color:#2b95a8;box-shadow:0 15px 42px rgba(42,149,168,.3)}
.live-teacher-window[data-state="thinking"]{--teacher-signal:#f0bd55;border-color:#b77d1d;box-shadow:0 15px 42px rgba(183,125,29,.28)}
.live-teacher-window[data-state="speaking"]{--teacher-signal:#59dda3;border-color:#21865c;box-shadow:0 18px 48px rgba(30,134,91,.38),0 0 0 5px rgba(89,221,163,.12)}
.live-teacher-window[data-state="error"]{--teacher-signal:#ff7c8f;border-color:#b9344b}
.live-teacher-window[data-state="ended"]{--teacher-signal:#a8b6c4;border-color:#6d7d8c;filter:saturate(.82)}
.live-teacher-visual{
 position:relative;
 height:286px;
 overflow:hidden;
 background:
  radial-gradient(circle at 50% 25%,rgba(83,172,228,.35),transparent 43%),
  linear-gradient(150deg,#193d61 0%,#0d253e 55%,#071724 100%);
 transition:max-height .28s ease,opacity .2s ease;
}
.live-teacher-photo{
 position:absolute;
 z-index:2;
 inset:0;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center 23%;
 transform:translateY(var(--teacher-lift)) scale(var(--teacher-scale));
 transform-origin:50% 38%;
 filter:contrast(1.04) saturate(1.05);
 transition:filter .25s ease;
 will-change:transform;
}
.live-teacher-window[data-state="speaking"] .live-teacher-photo{filter:contrast(1.055) saturate(1.09)}
.live-teacher-mouth{display:none}
@supports (clip-path:ellipse(12% 4% at 50% 44%)){
 .live-teacher-mouth{
  position:absolute;
  z-index:4;
  inset:0;
  display:block;
  overflow:hidden;
  clip-path:ellipse(12% 4% at 50% 44%);
  opacity:0;
  pointer-events:none;
 }
 .live-teacher-mouth::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('live-ai-teacher.webp') center 23%/cover no-repeat;
  transform:scaleY(var(--teacher-mouth-scale));
  transform-origin:50% 44%;
  filter:contrast(1.055) saturate(1.09);
 }
 .live-teacher-window[data-state="speaking"] .live-teacher-mouth{opacity:1}
}
.live-teacher-fallback{
 position:absolute;
 z-index:1;
 inset:0;
 display:grid;
 place-items:center;
 color:#fff;
 font:900 54px/1 system-ui,sans-serif;
 background:linear-gradient(145deg,#1f6091,#112b46);
}
.live-teacher-window.photo-unavailable .live-teacher-photo{display:none}
.live-teacher-aura{
 position:absolute;
 z-index:3;
 left:50%;
 top:20%;
 width:66%;
 aspect-ratio:1;
 border:2px solid var(--teacher-signal);
 border-radius:50%;
 opacity:calc(.13 + var(--teacher-level));
 transform:translate(-50%,-50%) scale(calc(.88 + var(--teacher-level)));
 filter:drop-shadow(0 0 14px var(--teacher-signal));
 pointer-events:none;
 mix-blend-mode:screen;
}
.live-teacher-badge{
 position:absolute;
 z-index:5;
 left:10px;
 top:10px;
 display:inline-flex;
 align-items:center;
 gap:6px;
 padding:6px 9px;
 border:1px solid rgba(255,255,255,.4);
 border-radius:999px;
 background:rgba(5,21,35,.78);
 color:#fff!important;
 font:850 10px/1 system-ui,sans-serif;
 letter-spacing:.11em;
 box-shadow:0 5px 15px rgba(0,0,0,.22);
 backdrop-filter:blur(8px);
}
.live-teacher-badge i,.live-teacher-state>i{
 width:8px;
 height:8px;
 flex:0 0 8px;
 border-radius:50%;
 background:var(--teacher-signal);
 box-shadow:0 0 0 4px rgba(255,255,255,.08),0 0 12px var(--teacher-signal);
}
.live-teacher-caption{
 position:absolute;
 z-index:6;
 left:9px;
 right:9px;
 bottom:9px;
 padding:9px 10px 10px;
 border:1px solid rgba(255,255,255,.25);
 border-radius:11px;
 background:linear-gradient(180deg,rgba(3,15,26,.75),rgba(3,15,26,.94));
 color:#fff!important;
 box-shadow:0 8px 24px rgba(0,0,0,.25);
 backdrop-filter:blur(8px);
}
.live-teacher-caption[hidden]{display:none!important}
.live-teacher-caption small{display:block;margin:0 0 4px;color:#8fe8c2!important;font:850 8px/1 system-ui,sans-serif;letter-spacing:.14em}
.live-teacher-caption p{
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 margin:0!important;
 overflow:hidden;
 color:#fff!important;
 font:650 11px/1.35 system-ui,sans-serif;
 text-shadow:0 1px 2px rgba(0,0,0,.7);
}
.live-teacher-window figcaption{
 position:relative;
 z-index:7;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 min-height:48px;
 padding:10px 12px;
 background:linear-gradient(180deg,#102d49,#091d31);
 border-top:1px solid rgba(255,255,255,.13);
}
.live-teacher-state{display:flex;align-items:center;gap:8px;min-width:0;color:#fff!important}
.live-teacher-state b{color:#fff!important;font:750 11px/1.25 system-ui,sans-serif;overflow-wrap:anywhere}
.live-teacher-wave{display:flex;align-items:center;justify-content:center;gap:2px;width:46px;height:23px;flex:0 0 46px}
.live-teacher-wave i{
 width:3px;
 height:100%;
 border-radius:999px;
 background:var(--teacher-signal);
 transform:scaleY(.18);
 transform-origin:center;
 box-shadow:0 0 7px color-mix(in srgb,var(--teacher-signal) 55%,transparent);
}
.live-teacher-minimise{
 position:absolute;
 z-index:12;
 top:8px;
 right:8px;
 display:grid;
 place-items:center;
 width:28px;
 height:28px;
 padding:0;
 border:1px solid rgba(255,255,255,.38);
 border-radius:9px;
 background:rgba(5,21,35,.76);
 color:#fff!important;
 font:900 18px/1 system-ui,sans-serif;
 cursor:pointer;
 box-shadow:0 4px 12px rgba(0,0,0,.2);
 backdrop-filter:blur(7px);
}
.live-teacher-minimise:hover,.live-teacher-minimise:focus-visible{background:#fff;color:#123654!important;outline:2px solid #73d9ff;outline-offset:2px}
.live-teacher-window[data-state="connecting"] .live-teacher-aura{animation:teacher-scan 1.35s ease-in-out infinite}
.live-teacher-window[data-state="thinking"] .live-teacher-aura{animation:teacher-think 1.5s ease-in-out infinite}
.live-teacher-window[data-state="speaking"] .live-teacher-visual{animation:teacher-presence 3.8s ease-in-out infinite}
.live-teacher-window[data-state="speaking"] .live-teacher-badge i,
.live-teacher-window[data-state="listening"] .live-teacher-state>i{animation:teacher-pulse 1.1s ease-out infinite}
.live-teacher-window.is-session-live{
 position:fixed!important;
 right:22px!important;
 bottom:20px!important;
 z-index:1200!important;
 width:min(270px,calc(100vw - 44px))!important;
 animation:teacher-enter .38s cubic-bezier(.2,.8,.2,1) both;
}
.live-teacher-window.is-session-live .live-teacher-visual{height:300px}
.live-teacher-window.is-session-live.is-minimised{width:232px!important}
.live-teacher-window.is-minimised .live-teacher-visual{height:0!important;max-height:0!important;opacity:0}
.live-teacher-window.is-minimised figcaption{min-height:50px;padding-right:42px}

@keyframes teacher-enter{from{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes teacher-scan{0%,100%{opacity:.15;transform:translate(-50%,-50%) scale(.85)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes teacher-think{0%,100%{opacity:.2;filter:drop-shadow(0 0 8px var(--teacher-signal))}50%{opacity:.62;filter:drop-shadow(0 0 22px var(--teacher-signal))}}
@keyframes teacher-presence{0%,100%{filter:brightness(1)}50%{filter:brightness(1.035)}}
@keyframes teacher-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--teacher-signal) 60%,transparent)}100%{box-shadow:0 0 0 9px transparent}}

@media(max-width:1150px){
 .classroom .teacherhead.live-teacher-head{grid-template-columns:minmax(190px,220px) minmax(0,1fr)!important;align-items:center!important}
 .classroom .live-teacher-head>.live-teacher-window{grid-column:1!important;grid-row:1/3!important}
 .classroom .live-teacher-head>.teacheridentity{grid-column:2!important;grid-row:1!important}
 .classroom .live-teacher-head>.live-action-panel{grid-column:2!important;grid-row:2!important}
}
@media(max-width:760px){
 .classroom .teacherhead.live-teacher-head{grid-template-columns:1fr!important;gap:14px!important}
 .classroom .live-teacher-head>.live-teacher-window{grid-column:1!important;grid-row:1!important;width:min(100%,360px)!important;justify-self:center!important}
 .classroom .live-teacher-head>.teacheridentity{grid-column:1!important;grid-row:2!important;text-align:center!important}
 .classroom .live-teacher-head>.live-action-panel{grid-column:1!important;grid-row:3!important}
 .live-teacher-window.is-session-live{right:9px!important;bottom:74px!important;width:190px!important}
 .live-teacher-window.is-session-live .live-teacher-visual{height:205px}
 .live-teacher-window.is-session-live.is-minimised{width:202px!important}
 .live-teacher-caption{left:6px;right:6px;bottom:6px;padding:7px}
 .live-teacher-caption p{-webkit-line-clamp:2;font-size:9px}
 .live-teacher-window figcaption{min-height:44px;padding:8px 9px}
 .live-teacher-state b{font-size:10px}
 .live-teacher-wave{width:35px;flex-basis:35px}
}
@media(max-width:430px){
 .live-teacher-window.is-session-live{right:7px!important;bottom:68px!important;width:158px!important;border-width:2px;border-radius:16px}
 .live-teacher-window.is-session-live .live-teacher-visual{height:168px}
 .live-teacher-window.is-session-live.is-minimised{width:188px!important}
 .live-teacher-badge{left:6px;top:6px;padding:5px 7px;font-size:8px}
 .live-teacher-minimise{top:5px;right:5px;width:25px;height:25px}
 .live-teacher-wave{display:none}
}
@media(prefers-reduced-motion:reduce){
 .live-teacher-window,.live-teacher-window *{animation:none!important;transition:none!important}
 .live-teacher-photo{transform:none!important}
 .live-teacher-mouth{display:none!important}
}

/* v89 — classroom device tests are available to students before Start Class. */
.student-device-tests{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:8px!important;
 width:100%!important;
 margin:2px 0 0!important;
}
.student-device-tests .btn{
 width:100%!important;
 min-width:0!important;
 background:#7a183b!important;
 border-color:#7a183b!important;
 color:#fff!important;
 font-weight:800!important;
}
.student-device-tests .btn:hover,.student-device-tests .btn:focus-visible{
 background:#f5eadf!important;
 border-color:#7a183b!important;
 color:#7a183b!important;
}
@media(max-width:430px){.student-device-tests{grid-template-columns:1fr!important}}

/* v91 — teaching-first classroom presentation system.
   This scoped authority replaces the former decorative slide treatment without
   changing unrelated academy pages. Every frame has one readable teaching job. */
.live-class-slideshow .lesson-slide-stage{
 transition:margin .3s ease,width .3s ease;
}
.live-class-slideshow .lesson-slide.presentation-v91{
 --slide-ink:#0e2b45;
 --slide-copy:#284257;
 --slide-paper:#fffdf8;
 --slide-line:#d7e2ea;
 display:grid!important;
 grid-template-columns:minmax(0,1.08fr) minmax(290px,.92fr)!important;
 grid-template-rows:auto minmax(0,1fr) auto auto!important;
 grid-template-areas:
  "header header"
  "copy visual"
  "caption caption"
  "footer footer"!important;
 gap:clamp(14px,2vw,28px) clamp(24px,3.5vw,54px)!important;
 width:100%!important;
 height:100%!important;
 min-height:0!important;
 padding:clamp(38px,4.8vw,66px)!important;
 padding-top:clamp(56px,6vw,82px)!important;
 overflow:hidden!important;
 border:0!important;
 border-radius:14px!important;
 background:
  radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--scene-warm,#efb64d) 24%,transparent),transparent 24%),
  linear-gradient(121deg,var(--slide-paper) 0 55%,color-mix(in srgb,var(--scene,#287ca0) 9%,#edf8ff) 100%)!important;
 color:var(--slide-copy)!important;
 font-family:Inter,"Segoe UI",Arial,sans-serif!important;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.86)!important;
 color-scheme:light!important;
}
.live-class-slideshow .lesson-slide.presentation-v91::before{
 content:""!important;
 position:absolute!important;
 inset:0 auto 0 0!important;
 display:block!important;
 width:11px!important;
 background:linear-gradient(180deg,var(--scene-deep,#174a67),var(--scene,#287ca0) 58%,var(--scene-warm,#efb64d))!important;
}
.live-class-slideshow .lesson-slide.presentation-v91::after{
 content:""!important;
 position:absolute!important;
 inset:auto auto 0 0!important;
 z-index:30!important;
 display:block!important;
 width:var(--slide-progress,0%)!important;
 height:6px!important;
 background:linear-gradient(90deg,var(--scene-deep,#174a67),var(--scene,#287ca0),var(--scene-warm,#efb64d))!important;
 box-shadow:0 -4px 16px color-mix(in srgb,var(--scene,#287ca0) 24%,transparent)!important;
 transition:width .55s ease!important;
}
.presentation-v91 .academy-slide-header{
 grid-area:header;
 position:relative;
 z-index:7;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 min-width:0;
 padding-bottom:12px;
 border-bottom:1px solid color-mix(in srgb,var(--scene,#287ca0) 23%,#dce6ed);
 color:var(--scene-deep,#174a67)!important;
}
.presentation-v91 .academy-slide-header span{
 min-width:0;
 overflow:hidden;
 color:var(--scene-deep,#174a67)!important;
 font:850 11px/1.2 Inter,"Segoe UI",sans-serif!important;
 letter-spacing:.14em!important;
 text-overflow:ellipsis;
 text-transform:uppercase;
 white-space:nowrap;
}
.presentation-v91 .academy-slide-header b{
 flex:0 0 auto;
 padding:6px 10px;
 border-radius:999px;
 background:color-mix(in srgb,var(--scene,#287ca0) 10%,white);
 color:var(--scene-deep,#174a67)!important;
 font:800 11px/1 Inter,"Segoe UI",sans-serif!important;
}
.live-class-slideshow .presentation-v91 .lesson-slide-copy{
 grid-area:copy!important;
 position:relative!important;
 z-index:6!important;
 display:flex!important;
 flex-direction:column!important;
 justify-content:center!important;
 align-self:stretch!important;
 min-width:0!important;
 max-width:none!important;
 padding:0!important;
 overflow:visible!important;
}
.live-class-slideshow .presentation-v91 .slide-kicker{
 display:inline-flex!important;
 align-self:flex-start!important;
 width:auto!important;
 margin:0 0 15px!important;
 padding:8px 11px!important;
 border:0!important;
 border-radius:7px!important;
 background:var(--scene-deep,#174a67)!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
 font:900 10px/1 Inter,"Segoe UI",sans-serif!important;
 letter-spacing:.13em!important;
 text-shadow:none!important;
 box-shadow:0 8px 20px color-mix(in srgb,var(--scene-deep,#174a67) 18%,transparent)!important;
}
.live-class-slideshow .presentation-v91 h2,
.live-class-slideshow .presentation-v91 .lesson-slide-copy h2{
 max-width:16ch!important;
 margin:0 0 clamp(13px,1.6vw,21px)!important;
 overflow:visible!important;
 color:var(--slide-ink)!important;
 -webkit-text-fill-color:var(--slide-ink)!important;
 font:800 clamp(34px,4vw,61px)/1.03 Inter,"Segoe UI",Arial,sans-serif!important;
 letter-spacing:-.04em!important;
 text-shadow:none!important;
 text-wrap:balance!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
}
.live-class-slideshow .presentation-v91 .slide-subtitle{
 max-width:41ch!important;
 margin:0 0 12px!important;
 color:var(--scene-deep,#174a67)!important;
 -webkit-text-fill-color:var(--scene-deep,#174a67)!important;
 font:730 clamp(18px,1.7vw,25px)/1.36 Inter,"Segoe UI",sans-serif!important;
 text-wrap:pretty!important;
}
.live-class-slideshow .presentation-v91 .slide-body,
.live-class-slideshow .presentation-v91 .lesson-slide-copy p{
 max-width:48ch!important;
 margin:0!important;
 overflow:visible!important;
 color:var(--slide-copy)!important;
 -webkit-text-fill-color:var(--slide-copy)!important;
 font:520 clamp(18px,1.65vw,24px)/1.47 Inter,"Segoe UI",Arial,sans-serif!important;
 letter-spacing:0!important;
 text-shadow:none!important;
 text-wrap:pretty!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
}
.live-class-slideshow .presentation-v91 .premium-learning-steps{
 display:grid!important;
 gap:10px!important;
 max-width:50ch!important;
 margin:3px 0 0!important;
 padding:0!important;
 list-style:none!important;
 counter-reset:learning-step;
}
.live-class-slideshow .presentation-v91 .premium-learning-steps li{
 counter-increment:learning-step;
 display:grid!important;
 grid-template-columns:34px minmax(0,1fr)!important;
 align-items:center!important;
 gap:12px!important;
 min-width:0!important;
 margin:0!important;
 padding:8px 12px!important;
 border:1px solid color-mix(in srgb,var(--scene,#287ca0) 20%,#dbe5ec)!important;
 border-radius:12px!important;
 background:rgba(255,255,255,.84)!important;
 color:var(--slide-copy)!important;
 -webkit-text-fill-color:var(--slide-copy)!important;
 font:650 clamp(15px,1.36vw,20px)/1.32 Inter,"Segoe UI",sans-serif!important;
 box-shadow:0 7px 17px rgba(14,43,69,.065)!important;
}
.live-class-slideshow .presentation-v91 .premium-learning-steps li::before{
 content:counter(learning-step)!important;
 display:grid!important;
 place-items:center!important;
 width:30px!important;
 height:30px!important;
 border-radius:8px!important;
 background:var(--scene-deep,#174a67)!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
 font:900 13px/1 Inter,"Segoe UI",sans-serif!important;
 box-shadow:none!important;
}
.presentation-v91 .premium-learning-steps li span{min-width:0;overflow-wrap:normal;word-break:normal}
.live-class-slideshow .presentation-v91 .slide-review-grid{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:10px!important;
 margin-top:2px!important;
}
.live-class-slideshow .presentation-v91 .slide-review-grid article{
 min-width:0!important;
 padding:13px 14px!important;
 border:1px solid color-mix(in srgb,var(--scene,#287ca0) 24%,#dce5ec)!important;
 border-left:5px solid var(--scene,#287ca0)!important;
 border-radius:11px!important;
 background:rgba(255,255,255,.92)!important;
 box-shadow:0 8px 20px rgba(13,43,68,.075)!important;
}
.presentation-v91 .slide-review-grid b,
.presentation-v91 .slide-review-grid span{display:block!important;overflow-wrap:normal!important;word-break:normal!important}
.presentation-v91 .slide-review-grid b{margin-bottom:5px;color:var(--slide-ink)!important;font:800 14px/1.28 Inter,"Segoe UI",sans-serif!important}
.presentation-v91 .slide-review-grid span{color:var(--slide-copy)!important;font:550 13px/1.35 Inter,"Segoe UI",sans-serif!important}
.live-class-slideshow .presentation-v91 .premium-visual-rail{
 grid-area:visual!important;
 position:relative!important;
 inset:auto!important;
 z-index:5!important;
 display:flex!important;
 flex-direction:column!important;
 align-self:center!important;
 gap:12px!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 opacity:1!important;
 filter:none!important;
 transform:none!important;
}
.presentation-v91 .visual-stage-label{
 align-self:flex-start;
 color:var(--scene-deep,#174a67)!important;
 font:900 9px/1 Inter,"Segoe UI",sans-serif!important;
 letter-spacing:.14em!important;
}
.live-class-slideshow .presentation-v91 .premium-scene{
 position:relative!important;
 width:100%!important;
 min-height:clamp(245px,26vw,365px)!important;
 aspect-ratio:4/3!important;
 overflow:hidden!important;
 border:1px solid color-mix(in srgb,var(--scene,#287ca0) 26%,#d2e0e9)!important;
 border-radius:28px!important;
 background:
  radial-gradient(circle at 83% 13%,color-mix(in srgb,var(--scene-warm,#efb64d) 48%,white),transparent 27%),
  linear-gradient(145deg,#fff,color-mix(in srgb,var(--scene,#287ca0) 15%,#e8f5ff))!important;
 box-shadow:0 24px 52px color-mix(in srgb,var(--scene-deep,#174a67) 18%,transparent),inset 0 0 0 8px rgba(255,255,255,.34)!important;
 transform:none!important;
 isolation:isolate!important;
}
.live-class-slideshow .presentation-v91 .premium-scene::after{
 content:""!important;
 position:absolute!important;
 inset:13px!important;
 border:1px solid color-mix(in srgb,var(--scene,#287ca0) 17%,transparent)!important;
 border-radius:20px!important;
 transform:none!important;
 pointer-events:none!important;
}
.live-class-slideshow .presentation-v91 .premium-scene svg{
 inset:14% 5% 4%!important;
 width:90%!important;
 height:82%!important;
 filter:drop-shadow(0 9px 12px rgba(13,43,69,.1))!important;
}
.live-class-slideshow .presentation-v91 .scene-label{
 left:16px!important;
 top:14px!important;
 max-width:70%!important;
 overflow:hidden!important;
 padding:7px 10px!important;
 border-radius:7px!important;
 background:var(--scene-deep,#174a67)!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
 font:900 9px/1 Inter,"Segoe UI",sans-serif!important;
 letter-spacing:.12em!important;
 text-overflow:ellipsis!important;
 white-space:nowrap!important;
}
.presentation-v91 .learning-visual-legend{
 position:relative;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px;
 min-width:0;
}
.presentation-v91 .learning-visual-legend::before{
 content:"";
 position:absolute;
 z-index:-1;
 left:13%;right:13%;top:7px;
 height:2px;
 background:linear-gradient(90deg,var(--scene-deep,#174a67),var(--scene,#287ca0),var(--scene-warm,#efb64d));
 opacity:.32;
}
.presentation-v91 .learning-visual-legend span{
 display:grid;
 justify-items:center;
 gap:7px;
 min-width:0;
 color:var(--scene-deep,#174a67)!important;
 font:800 10px/1.22 Inter,"Segoe UI",sans-serif!important;
 text-align:center;
 text-transform:none;
 overflow-wrap:anywhere;
}
.presentation-v91 .learning-visual-legend i{
 position:relative;
 z-index:1;
 width:15px;height:15px;
 border:4px solid #fff;
 border-radius:50%;
 background:var(--scene,#287ca0);
 box-shadow:0 0 0 1px color-mix(in srgb,var(--scene,#287ca0) 45%,white);
}
.live-class-slideshow .presentation-v91 .teacher-writing-caption{
 grid-area:caption!important;
 position:relative!important;
 inset:auto!important;
 z-index:8!important;
 display:block!important;
 min-height:0!important;
 max-height:78px!important;
 margin:0!important;
 padding:10px 14px 10px 18px!important;
 overflow:hidden!important;
 border:1px solid color-mix(in srgb,var(--scene,#287ca0) 18%,#dbe6ee)!important;
 border-left:5px solid var(--scene,#287ca0)!important;
 border-radius:10px!important;
 background:rgba(255,255,255,.94)!important;
 box-shadow:0 8px 20px rgba(14,43,69,.07)!important;
}
.live-class-slideshow .presentation-v91 .teacher-writing-caption[hidden]{display:none!important}
.live-class-slideshow .presentation-v91 .teacher-writing-caption small{
 margin:0 0 4px!important;
 color:var(--scene-deep,#174a67)!important;
 -webkit-text-fill-color:var(--scene-deep,#174a67)!important;
 font:900 9px/1 Inter,"Segoe UI",sans-serif!important;
 letter-spacing:.12em!important;
}
.live-class-slideshow .presentation-v91 .teacher-writing-caption p{
 display:-webkit-box!important;
 max-width:none!important;
 max-height:2.8em!important;
 margin:0!important;
 overflow:hidden!important;
 color:var(--slide-copy)!important;
 -webkit-text-fill-color:var(--slide-copy)!important;
 font:600 clamp(13px,1.2vw,17px)/1.38 Inter,"Segoe UI",sans-serif!important;
 -webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;
}
.presentation-v91 .academy-slide-footer{
 grid-area:footer;
 position:relative;
 z-index:8;
 display:grid;
 grid-template-columns:auto minmax(30px,1fr) auto;
 align-items:center;
 gap:10px;
 color:var(--scene-deep,#174a67)!important;
 font:850 10px/1 Inter,"Segoe UI",sans-serif!important;
 letter-spacing:.08em;
}
.presentation-v91 .academy-slide-footer i{height:2px;background:color-mix(in srgb,var(--scene,#287ca0) 22%,#dce5ec)}
.presentation-v91 .academy-slide-brand{
 position:absolute;
 z-index:2;
 right:24px;
 bottom:23px;
 display:none;
 color:var(--scene-deep,#174a67)!important;
 opacity:.08;
 pointer-events:none;
}
.presentation-v91 .academy-slide-brand b{display:block;font:900 22px/1 Inter,"Segoe UI",sans-serif!important}
.presentation-v91 .academy-slide-brand span{display:block;margin-top:5px;font:800 8px/1 Inter,"Segoe UI",sans-serif!important;letter-spacing:.12em}
.presentation-v91 .slide-accent-shape{
 position:absolute;
 z-index:0;
 right:-70px;
 top:-90px;
 width:260px;
 height:260px;
 border:38px solid color-mix(in srgb,var(--scene,#287ca0) 8%,transparent);
 border-radius:50%;
 pointer-events:none;
}
.live-class-slideshow .presentation-v91 .cinematic-progress{
 position:absolute!important;
 z-index:12!important;
 top:22px!important;
 left:5%!important;
 right:5%!important;
 display:flex!important;
 gap:6px!important;
 height:4px!important;
}
.live-class-slideshow .presentation-v91 .cinematic-progress i{
 position:relative!important;
 flex:1!important;
 height:4px!important;
 overflow:hidden!important;
 border-radius:999px!important;
 background:rgba(14,43,69,.1)!important;
 box-shadow:none!important;
}
.live-class-slideshow .presentation-v91 .cinematic-progress i.done{background:color-mix(in srgb,var(--scene,#287ca0) 62%,white)!important}
.live-class-slideshow .presentation-v91 .cinematic-progress i.active::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(90deg,var(--scene-deep,#174a67),var(--scene-warm,#efb64d));
 transform-origin:left;
 animation:v91-progress var(--slide-hold,15s) linear both;
}
.presentation-v91 .live-scene-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.18!important;mix-blend-mode:multiply;pointer-events:none}
.live-class-slideshow .slide-type-question.presentation-v91{background:radial-gradient(circle at 88% 12%,rgba(120,84,196,.18),transparent 25%),linear-gradient(121deg,#faf6ff 0 55%,#edf7ff 100%)!important}
.live-class-slideshow .slide-type-misconception.presentation-v91{background:radial-gradient(circle at 88% 12%,rgba(194,64,68,.16),transparent 25%),linear-gradient(121deg,#fff7f3 0 55%,#fff8e6 100%)!important}
.live-class-slideshow .slide-type-answer.presentation-v91,
.live-class-slideshow .slide-type-topic-end.presentation-v91,
.live-class-slideshow .slide-type-summary.presentation-v91{background:radial-gradient(circle at 88% 12%,rgba(41,145,91,.17),transparent 25%),linear-gradient(121deg,#f3fbf6 0 55%,#fff7df 100%)!important}
.live-class-slideshow .slide-type-cover.presentation-v91,
.live-class-slideshow .slide-type-topic-cover.presentation-v91{background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--scene-warm,#efb64d) 32%,transparent),transparent 26%),linear-gradient(121deg,#fffaf0 0 54%,color-mix(in srgb,var(--scene,#287ca0) 13%,#edf8ff) 100%)!important}
.live-class-slideshow .slide-type-cover.presentation-v91 h2,
.live-class-slideshow .slide-type-topic-cover.presentation-v91 h2{max-width:14ch!important;font-size:clamp(40px,4.7vw,70px)!important}
.live-class-slideshow .slide-layout-tiles.presentation-v91 .lesson-slide-copy,
.live-class-slideshow .slide-layout-recall.presentation-v91 .lesson-slide-copy{justify-content:center!important}
.live-class-slideshow .presentation-v91.presentation-compact{padding:50px 44px 34px!important;gap:12px 30px!important}
.live-class-slideshow .presentation-v91.presentation-compact h2{font-size:clamp(30px,3.55vw,50px)!important;margin-bottom:12px!important}
.live-class-slideshow .presentation-v91.presentation-compact .slide-body,
.live-class-slideshow .presentation-v91.presentation-compact .slide-subtitle{font-size:clamp(16px,1.45vw,21px)!important;line-height:1.38!important}
.live-class-slideshow .presentation-v91.presentation-compact .premium-scene{min-height:220px!important}
.live-class-slideshow .presentation-v91.presentation-overflow-safe .slide-kicker{margin-bottom:9px!important;padding:6px 9px!important}
.live-class-slideshow .presentation-v91.presentation-overflow-safe .premium-learning-steps{gap:6px!important}
.live-class-slideshow .presentation-v91.presentation-overflow-safe .premium-learning-steps li{padding:6px 9px!important;font-size:15px!important}
.live-class-slideshow .presentation-v91.slide-enter .lesson-slide-copy{animation:v91-copy-in .62s .08s cubic-bezier(.2,.8,.2,1) both!important}
.live-class-slideshow .presentation-v91.slide-enter .premium-visual-rail{animation:v91-visual-in .72s .12s cubic-bezier(.2,.8,.2,1) both!important}
.live-class-slideshow .presentation-v91.slide-enter .premium-learning-steps li,
.live-class-slideshow .presentation-v91.slide-enter .slide-review-grid article{animation:v91-item-in .48s calc(.16s + var(--reveal)*.1s) both!important}
.live-class-slideshow .presentation-v91.slide-enter .premium-scene svg{animation:v91-diagram-in .85s .16s cubic-bezier(.2,.8,.2,1) both!important}
.live-class-slideshow.teacher-speaking .presentation-v91 .premium-scene{transform:translateY(-2px)!important;box-shadow:0 30px 64px color-mix(in srgb,var(--scene-deep,#174a67) 24%,transparent),0 0 0 4px color-mix(in srgb,var(--scene-warm,#efb64d) 23%,transparent)!important}
@keyframes v91-copy-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes v91-visual-in{from{opacity:0;transform:translateX(28px) scale(.97)}to{opacity:1;transform:none}}
@keyframes v91-item-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes v91-diagram-in{from{opacity:.2;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes v91-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Keep the fixed live teacher beside the learning frame on classroom displays. */
@media(min-width:1180px){
 body.presentation-teacher-safe .live-class-slideshow.class-live .lesson-slide-stage{margin-right:292px!important}
 body.presentation-teacher-safe .live-class-slideshow.class-live .lesson-slide.presentation-v91{grid-template-columns:minmax(0,1.12fr) minmax(245px,.88fr)!important;padding:52px 42px 34px!important;gap:14px 30px!important}
 body.presentation-teacher-safe .live-class-slideshow.class-live .presentation-v91 h2{font-size:clamp(31px,3.3vw,50px)!important}
 body.presentation-teacher-safe .live-class-slideshow.class-live .presentation-v91 .premium-scene{min-height:220px!important}
}
@media(max-width:1000px){
 .live-class-slideshow .lesson-slide.presentation-v91{
  grid-template-columns:minmax(0,1.08fr) minmax(225px,.92fr)!important;
  gap:13px 24px!important;
  padding:52px 34px 32px!important;
 }
 .live-class-slideshow .presentation-v91 h2{font-size:clamp(30px,4vw,49px)!important}
 .live-class-slideshow .presentation-v91 .slide-body,.live-class-slideshow .presentation-v91 .slide-subtitle{font-size:clamp(16px,1.8vw,21px)!important}
 .live-class-slideshow .presentation-v91 .premium-scene{min-height:215px!important}
}
@media(max-width:760px){
 .live-class-slideshow .lesson-slide-stage{min-height:760px!important}
 .live-class-slideshow .lesson-slide.presentation-v91,
 .live-class-slideshow .presentation-v91.presentation-compact,
 .live-class-slideshow .presentation-v91.presentation-overflow-safe{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto minmax(180px,230px) auto auto!important;
  grid-template-areas:"header" "copy" "visual" "caption" "footer"!important;
  align-content:center!important;
  gap:14px!important;
  padding:52px 23px 24px!important;
  overflow:hidden!important;
 }
 .presentation-v91 .academy-slide-header span{max-width:70%}
 .live-class-slideshow .presentation-v91 .lesson-slide-copy{justify-content:flex-start!important}
 .live-class-slideshow .presentation-v91 h2,
 .live-class-slideshow .slide-type-cover.presentation-v91 h2,
 .live-class-slideshow .slide-type-topic-cover.presentation-v91 h2{max-width:none!important;font-size:clamp(27px,7vw,40px)!important;margin-bottom:10px!important}
 .live-class-slideshow .presentation-v91 .slide-body,.live-class-slideshow .presentation-v91 .slide-subtitle{max-width:none!important;font-size:clamp(15px,3.8vw,18px)!important;line-height:1.38!important}
 .live-class-slideshow .presentation-v91 .premium-visual-rail{width:min(100%,390px)!important;justify-self:center!important}
 .live-class-slideshow .presentation-v91 .premium-scene{min-height:175px!important;max-height:220px!important;aspect-ratio:16/9!important;border-radius:20px!important}
 .presentation-v91 .visual-stage-label{display:none}
 .presentation-v91 .learning-visual-legend span{font-size:8px!important}
 .live-class-slideshow .presentation-v91 .premium-learning-steps{gap:6px!important}
 .live-class-slideshow .presentation-v91 .premium-learning-steps li{padding:6px 8px!important;font-size:14px!important}
 .live-class-slideshow .presentation-v91 .slide-review-grid{gap:7px!important}
 .live-class-slideshow .presentation-v91 .slide-review-grid article{padding:9px!important}
 body.presentation-teacher-safe .live-teacher-window.is-session-live:not(.is-minimised){width:158px!important}
 body.presentation-teacher-safe .live-teacher-window.is-session-live:not(.is-minimised) .live-teacher-visual{height:168px!important}
}
@media(max-width:460px){
 .live-class-slideshow .lesson-slide-stage{min-height:730px!important}
 .live-class-slideshow .lesson-slide.presentation-v91{padding:50px 18px 21px!important}
 .presentation-v91 .academy-slide-header{gap:8px}.presentation-v91 .academy-slide-header span{font-size:9px!important}.presentation-v91 .academy-slide-header b{font-size:9px!important}
 .live-class-slideshow .presentation-v91 .slide-review-grid{grid-template-columns:1fr 1fr!important}
 .live-class-slideshow .presentation-v91 .premium-scene{min-height:155px!important}
 .presentation-v91 .learning-visual-legend{gap:4px}
}
.academic-urdu-page .presentation-v91,
[dir="rtl"] .presentation-v91{text-align:right!important;font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu","Urdu Typesetting",serif!important}
.academic-urdu-page .presentation-v91 h2,
.academic-urdu-page .presentation-v91 p,
.academic-urdu-page .presentation-v91 li,
[dir="rtl"] .presentation-v91 h2,
[dir="rtl"] .presentation-v91 p,
[dir="rtl"] .presentation-v91 li{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu","Urdu Typesetting",serif!important;letter-spacing:0!important;line-height:1.7!important}
.academic-urdu-page .presentation-v91 .slide-kicker,
.academic-urdu-page .presentation-v91 .academy-slide-header,
.academic-urdu-page .presentation-v91 .learning-visual-legend,
[dir="rtl"] .presentation-v91 .slide-kicker,
[dir="rtl"] .presentation-v91 .academy-slide-header,
[dir="rtl"] .presentation-v91 .learning-visual-legend{font-family:"Jameel Noori Nastaleeq","Noto Nastaliq Urdu","Urdu Typesetting",serif!important;letter-spacing:0!important}
@media(prefers-reduced-motion:reduce){
 .presentation-v91,.presentation-v91 *{animation:none!important;transition:none!important}
 .presentation-v91 .cinematic-progress i.active::after{transform:scaleX(1)!important}
}

/* v93: audio teaching without a teacher portrait or floating teacher window. */
.live-teacher-audio-status{position:static!important;margin:0!important;max-width:160px;flex:0 0 auto;background:none!important;border:0!important;box-shadow:none!important}
.live-teacher-audio-status figcaption{padding:0;font-size:13px}
body.presentation-teacher-safe .live-class-slideshow.class-live .lesson-slide-stage{margin-right:0!important;margin-left:0!important}

/* v94: keep student identity readable regardless of sidebar or viewport width. */
.student-hub-head.card {
 display:grid!important;
 grid-template-columns:86px minmax(0,1fr)!important;
 grid-template-areas:"back back" "photo identity" "actions actions"!important;
 gap:16px!important;
 align-items:start!important;
}
.student-hub-head.card>.back-student-list {grid-area:back!important;justify-self:start!important}
.student-hub-head.card>.student-photo {grid-area:photo!important;width:86px!important;height:102px!important;margin:0!important}
.student-hub-head.card>.student-hub-title {grid-area:identity!important;min-width:0!important;width:100%!important;align-self:center!important}
.student-hub-head.card>.student-hub-title .eyebrow,
.student-hub-head.card>.student-hub-title h2,
.student-hub-head.card>.student-hub-title p {max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}
.student-hub-head.card>.student-hub-actions {grid-area:actions!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;min-width:0!important;width:100%!important}
.student-hub-head.card>.student-hub-actions>.btn {flex:0 1 auto!important;width:auto!important;max-width:100%!important;min-width:0!important;white-space:normal!important;text-align:center!important}
@media(max-width:480px){
 .student-hub-head.card {grid-template-columns:60px minmax(0,1fr)!important;gap:12px!important}
 .student-hub-head.card>.student-photo {width:60px!important;height:72px!important}
 .student-hub-head.card>.student-hub-actions>.btn {flex:1 1 140px!important}
}

/* v95 Forest: shared palette for every page and appearance controls. */
html[data-theme="forest"] {
 --page-bg:#f1f3e9;--bg:#f1f3e9;--surface:#fffef8;--surface-alt:#e8efdf;
 --surface-2:#e8efdf;--surface-soft:#edf2e5;--text:#213829;--text-muted:#566953;--muted:#566953;
 --heading:#183d2c;--primary:#24583f;--primary-hover:#183f2d;--primary-text:#fffef8;
 --accent:#24583f;--accent-dark:#183f2d;--accent-soft:#e2ecda;--accent-contrast:#fffef8;
 --sidebar-bg:#153d2d;--sidebar-text:#edf5e8;--sidebar-heading:#f4f7e9;
 --sidebar-hover:#24563e;--sidebar-active:#32694c;--submenu-bg:#1b4934;--submenu-text:#edf5e8;
 --border:#cbd8c3;--table-head:#24583f;--table-head-text:#fffef8;--focus:#39724b;--link:#24583f;
 --notice-bg:#f4edcc;--notice-text:#4b421b;--shadow:0 8px 24px rgba(24,61,44,.08);
 --maroon:#24583f;--maroon-dark:#183f2d;--maroon-soft:#39724b;
 --cream:#edf2e5;--cream2:#fffef8;--paper:#fffef8;--ink:#213829;--line:#cbd8c3;
}
html[data-theme="dark"][data-accent="forest"] {
 --page-bg:#101e17;--bg:#101e17;--surface:#192d22;--surface-alt:#233c2d;--surface-2:#233c2d;--surface-soft:#233c2d;
 --text:#edf4e7;--text-muted:#b8cdb4;--muted:#b8cdb4;--heading:#d1e9be;
 --primary:#a6cf87;--primary-hover:#bddfa2;--primary-text:#142b1d;
 --accent:#a6cf87;--accent-dark:#bddfa2;--accent-soft:#2c4c35;--accent-contrast:#142b1d;
 --sidebar-bg:#10271b;--sidebar-text:#edf4e7;--sidebar-heading:#d1e9be;
 --sidebar-hover:#244630;--sidebar-active:#31573c;--submenu-bg:#193723;--submenu-text:#edf4e7;
 --border:#405b44;--table-head:#244f36;--table-head-text:#edf4e7;--focus:#bfdf9d;--link:#bfdf9d;
 --notice-bg:#383b23;--notice-text:#f3efc8;--maroon:#a6cf87;--maroon-dark:#bddfa2;--maroon-soft:#a6cf87;
 --cream:#233c2d;--cream2:#192d22;--paper:#192d22;--ink:#edf4e7;--line:#405b44;
}
html[data-accent="forest"]:not([data-theme="contrast"]) .side {
 background:linear-gradient(165deg,var(--sidebar-bg),#102b20)!important;
}
html[data-accent="forest"]:not([data-theme="contrast"]) .side .brand,
html[data-accent="forest"]:not([data-theme="contrast"]) .side h2,
html[data-accent="forest"]:not([data-theme="contrast"]) .side h3 {color:var(--sidebar-heading)!important}
html[data-accent="forest"]:not([data-theme="contrast"]) .card,
html[data-accent="forest"]:not([data-theme="contrast"]) .panel,
html[data-accent="forest"]:not([data-theme="contrast"]) .appearance-panel {
 border-radius:14px!important;box-shadow:0 6px 22px rgba(16,43,32,.07)!important;
}
html[data-theme="forest"] body.login-home,
html[data-theme="dark"][data-accent="forest"] body.login-home {
 background-color:#153d2d!important;
 background-image:linear-gradient(120deg,rgba(12,43,28,.82),rgba(20,57,36,.50)),url("lesson-scenes/leaf.webp")!important;
 background-size:cover!important;background-position:center!important;
}
html[data-theme="forest"] body.login-home .auth>section:first-child,
html[data-theme="forest"] body.login-home .login {background:rgba(255,254,248,.95)!important}
html[data-theme="dark"][data-accent="forest"] body.login-home .auth>section:first-child,
html[data-theme="dark"][data-accent="forest"] body.login-home .login {background:rgba(25,45,34,.96)!important}

/* v96: public subject catalogue on the opening screen. */
body.login-home .public-subjects{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
body.login-home .public-subjects h2{margin:0 0 8px}
body.login-home .public-subjects>p{margin:0 0 16px;line-height:1.5}
body.login-home .public-subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}
body.login-home .public-subject-list li{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border);border-radius:10px;min-width:0;overflow-wrap:anywhere}
body.login-home .subject-leaf{color:var(--primary);flex-shrink:0}
body.login-home .auth{align-items:start}
@media(max-width:480px){body.login-home .public-subject-list{grid-template-columns:1fr}}
