:root{--page-bg:#f4f7f6;--surface:#fff;--surface-soft:#f8faf9;--ink:#17313b;--muted:#61757b;--line:#d8e3e0;--blue:#3568a8;--teal:#2d8c7c;--terracotta:#c46545;--gold:#d7a43b;--sidebar:#17313b;--font-sans:"Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-sm:0 8px 22px #17313b0d;color:var(--ink);background:var(--page-bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--page-bg);min-width:320px;margin:0}button,input,select,textarea{font-family:inherit}
.app-shell{background:var(--page-bg);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#d9e2ed;border-right:1px solid #ffffff14;flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:11px;padding:4px 6px 18px;display:flex}.brand-mark{background:radial-gradient(circle at 68% 20%,#fff4c2b8,#0000 24px),linear-gradient(135deg,#1c8f84 0%,#2f68d8 52%,#d99045 100%);border-radius:8px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #fff3,0 12px 26px #0000003d}.brand-logo{width:32px;height:32px}.brand-logo-arc,.brand-logo-page,.brand-logo-wave,.brand-logo-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.brand-logo-arc{stroke:#fffffff2;stroke-width:3.2px}.brand-logo-page{stroke:#cbf7effa;stroke-width:2.3px}.brand-logo-wave{stroke:#ffd280f2;stroke-width:2.2px}.brand-logo-line{stroke:#ffffffdb;stroke-width:1.8px}.brand-logo-node{fill:#fff;stroke:#10192633;stroke-width:1px}.brand-logo-star{fill:#ffe2a3}.brand-copy,.brand-block strong{display:block}.brand-block strong{color:#fff;letter-spacing:0;font-size:16px;line-height:1.25}.account-switcher{color:#9fb0c2;gap:7px;margin:0 4px 14px;font-size:12px;display:grid}.account-switcher select{color:#fff;background:#ffffff14;border-color:#ffffff1f;min-height:38px}.platform-operations-return{z-index:950;max-width:calc(100vw - 36px);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;display:inline-flex;position:fixed;top:18px;right:18px}.nav-list{gap:16px;padding:2px 0 10px;display:grid;overflow-y:auto}.nav-group{gap:5px;min-width:0;display:grid}.nav-group-label{color:#71869a;letter-spacing:.08em;padding:0 12px;font-size:11px;font-weight:900}.nav-group-items{gap:4px;display:grid}.nav-item{color:#b9c6d4;height:42px;font:600 14px/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1a}.nav-item.active{box-shadow:inset 3px 0 0 var(--gold)}.sidebar-note{color:#c4f2ec;background:#ffffff0f;border-radius:8px;gap:10px;margin-top:auto;padding:11px 12px;font-size:12px;line-height:1.5;display:flex}.main{min-width:0;padding:24px 28px 40px}label{color:var(--muted);font-size:12px;font-weight:700}select,input,textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);font:500 14px/1.35 var(--font-sans);background:#fff;border-radius:7px;outline:0}select,input{min-height:38px;padding:0 10px}textarea{resize:vertical;min-height:78px;padding:10px}select:focus,input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f68d81f}.workspace{gap:14px;display:grid}.workspace-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-label{color:var(--terracotta);margin:0 0 5px;font-size:13px;font-weight:800}h1,h2,h3,p{margin:0}h1{color:var(--ink);letter-spacing:0;font-size:28px;line-height:1.15}.workspace-header p:not(.section-label){max-width:780px;color:var(--muted);margin-top:6px;font-size:14px;line-height:1.55}.workspace-header p.course-entry-callout{border:1px solid #2d8c7c38;border-left:4px solid var(--teal);width:fit-content;max-width:min(900px,100%);box-shadow:none;color:#236f65;background:#edf7f4;border-radius:8px;margin-top:9px;padding:8px 12px 8px 14px;font-size:14px;font-weight:800;line-height:1.45;display:inline-flex}.course-detail-title-with-cover{grid-template-columns:126px minmax(0,1fr);align-items:end;gap:14px;min-width:0;display:grid}.course-detail-title-shell,.course-detail-title-copy{min-width:0}.course-detail-title-copy{gap:0;display:grid}.workspace-header .course-detail-subtitle{max-width:820px;color:var(--muted);margin-top:6px;font-size:14px;line-height:1.45}.course-detail-positioning-inline{flex-wrap:wrap;align-items:center;gap:8px 10px;max-width:min(1120px,100%);margin-top:8px;display:flex}.workspace-header .course-detail-sales-copy{min-width:min(620px,100%);max-width:none;color:var(--ink);flex:620px;margin:0;font-size:14px;font-weight:850;line-height:1.45}.course-detail-age-copy{color:#214fba;background:#fff;border:1px solid #2f68d833;border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:13px;font-weight:850;line-height:1.25;display:inline-flex}.lesson-switcher{width:300px}.workspace-tools{align-items:flex-end;gap:12px;display:flex}.ai-page-grid{grid-template-columns:minmax(420px,1.2fr) minmax(280px,.75fr) minmax(360px,1fr);align-items:start;gap:14px;display:grid}.ai-input-panel,.ai-generate-panel{min-height:520px}.ai-page-tabs{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.ai-page-tabs button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:#fff;border-radius:999px;padding:0 12px;font-size:13px;font-weight:900}.ai-page-tabs button.active{border-color:var(--blue);color:var(--blue);background:#eff4ff}.schedule-grid{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:14px;display:grid}.mode-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;padding:4px;display:inline-flex}.mode-toggle button{min-height:34px;color:var(--muted);font:900 13px/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 13px}.mode-toggle button.active{background:var(--ink);color:#fff}.compact-action{width:auto;min-width:128px;margin-top:0;padding:0 16px}.schedule-workspace{gap:0}.outlook-calendar-shell{min-height:calc(100vh - 126px);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d5dbe3;border-radius:10px;position:relative;overflow:hidden}.calendar-commandbar{background:#f3f4f6;border-bottom:1px solid #d9dee5;grid-template-columns:minmax(380px,1fr) minmax(260px,.75fr) minmax(300px,auto);align-items:center;gap:18px;min-height:58px;padding:10px 14px;display:grid}.calendar-command-left,.calendar-command-center,.calendar-command-right,.calendar-nav-buttons{align-items:center;display:flex}.calendar-command-left{gap:10px}.calendar-command-left>strong{color:#2f343b;white-space:nowrap;font-size:15px;font-weight:800}.today-button,.calendar-nav-buttons button,.calendar-create-button{color:#3b4148;min-height:34px;font:800 13px/1 var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px}.today-button{background:#fff;border-color:#d4d9df;padding:0 12px}.calendar-nav-buttons{gap:2px}.calendar-nav-buttons button{place-items:center;width:34px;display:grid}.today-button:hover,.calendar-nav-buttons button:hover,.calendar-create-button:hover{background:#fff;border-color:#c5cbd3}.calendar-command-center{color:#4d5661;justify-content:center;gap:8px;min-width:0}.calendar-command-center span{font-size:12px;font-weight:900}.calendar-command-center strong,.calendar-command-center small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-command-center strong{color:#1f2933;max-width:220px;font-size:13px}.calendar-command-center small{color:#667481;max-width:260px;font-size:12px;font-weight:800}.calendar-command-right{justify-content:flex-end;gap:10px}.compact-mode-toggle{border-color:#d4d9df}.compact-mode-toggle button{min-width:48px}.calendar-create-button{color:#fff;background:#0877d6;padding:0 13px}.calendar-create-button:hover{color:#fff;background:#006cbe;border-color:#0877d6}.calendar-context-row{background:#fbfcfd;border-bottom:1px solid #e1e5eb;align-items:center;gap:8px;min-height:38px;padding:7px 14px;display:flex;overflow-x:auto}.calendar-context-row span{color:#526071;background:#fff;border:1px solid #d9e1ea;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:900}.week-calendar{background:#fff}.week-header-grid{background:#fff;border-bottom:1px solid #d9dee5;grid-template-columns:70px repeat(7,minmax(150px,1fr));min-width:1120px;display:grid}.week-timezone{color:#6b7480;border-right:1px solid #d9dee5;align-items:center;min-height:70px;padding:0 9px;font-size:12px;font-weight:800;display:flex}.week-day-heading{text-align:left;cursor:pointer;background:#fff;border:0;border-right:1px solid #d9dee5;align-content:center;gap:3px;min-height:70px;display:grid}.week-day-heading span,.week-day-heading strong{padding-left:12px;display:block}.week-day-heading span{color:#3f4751;font-size:12px;font-weight:900}.week-day-heading strong{color:#20262d;font-size:22px;line-height:1}.week-day-heading.today{box-shadow:inset 0 3px #0877d6}.week-day-heading.today span,.week-day-heading.today strong{color:#0877d6}.week-day-heading:hover{background:#f6f9fc}.week-grid-scroll{background:#fff;height:calc(100vh - 294px);min-height:540px;overflow:auto}.week-grid-content{min-width:1120px;min-height:calc(var(--hour-height) * 14);grid-template-columns:70px repeat(7,minmax(150px,1fr));display:grid;position:relative}.week-time-axis{background:#fff;border-right:1px solid #d9dee5}.time-axis-row{height:var(--hour-height);border-bottom:1px solid #e1e5eb;position:relative}.time-axis-row span{color:#6b7480;font-size:12px;font-weight:700;position:absolute;top:-8px;right:8px}.week-day-lane{min-width:0;height:calc(var(--hour-height) * 14);background:#fff;border-right:1px solid #d9dee5;position:relative}.week-time-cell{width:100%;height:var(--hour-height);cursor:crosshair;background:0 0;border:0;border-bottom:1px solid #e1e5eb;display:block;position:relative}.week-time-cell:after{content:"";border-top:1px dashed #e7ebf0;position:absolute;bottom:50%;left:0;right:0}.week-time-cell:hover{background:#eef6ff}.week-event-card{z-index:3;color:#17202a;text-align:left;cursor:grab;background:#ffc49d;border:1px solid #f1a16e;border-left:5px solid #f05f18;border-radius:5px;align-content:start;gap:4px;padding:8px 9px;display:grid;position:absolute;left:7px;right:7px;overflow:hidden;box-shadow:0 6px 16px #572f141f}.week-event-card:hover{background:#ffb889;border-color:#de6d2d}.week-event-card:active{cursor:grabbing}.week-event-card.dragging,.month-event-card.dragging{opacity:.62}.week-event-card.live{background:#ddecff;border-color:#2f68d86b #2f68d86b #2f68d86b #0877d6}.week-event-card strong,.week-event-card span,.week-event-card small{display:block}.week-event-card strong{color:#151b22;font-size:12px;line-height:1.25}.week-event-card span,.week-event-card small{color:#24303d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25;overflow:hidden}.current-time-marker{z-index:5;pointer-events:none;border-top:2px solid #0877d6;position:absolute;left:0;right:0}.current-time-marker span{color:#fff;background:#0877d6;border-radius:999px;padding:1px 4px;font-size:10px;font-weight:900;position:absolute;top:-9px;left:4px}.month-calendar{background:#fff}.month-weekday-row{background:#fbfcfd;border-bottom:1px solid #d9dee5;grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px;display:grid}.month-weekday-row span{color:#4d5661;border-right:1px solid #d9dee5;align-items:center;min-height:38px;padding:0 12px;font-size:12px;font-weight:900;display:flex}.month-grid{grid-template-rows:repeat(6,minmax(104px,1fr));grid-template-columns:repeat(7,minmax(140px,1fr));min-width:980px;height:calc(100vh - 294px);min-height:540px;display:grid;overflow:auto}.month-day-cell{background:#fff;border-bottom:1px solid #d9dee5;border-right:1px solid #d9dee5;grid-template-rows:auto minmax(0,1fr);gap:4px;min-height:104px;padding:7px;display:grid;position:relative}.month-day-cell.muted{background:#f8fafc}.month-day-cell.today{box-shadow:inset 0 3px #0877d6}.month-day-cell:hover{background:#f6f9fc}.month-day-add{color:#20262d;width:30px;height:28px;font:900 13px/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-self:start;place-items:center;display:grid}.month-day-cell.muted .month-day-add{color:#9aa5b1}.month-day-cell.today .month-day-add{color:#fff;background:#0877d6}.month-day-add:hover{color:#0877d6;background:#e8f2ff}.month-event-list{align-content:start;gap:4px;min-width:0;display:grid}.month-event-card{color:#17202a;text-align:left;cursor:grab;background:#ffc49d;border:1px solid #f1a16e;border-left:4px solid #f05f18;border-radius:5px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;padding:5px 6px;display:grid}.month-event-card.live{background:#ddecff;border-color:#2f68d86b #2f68d86b #2f68d86b #0877d6}.month-event-card span,.month-event-card strong,.month-event-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month-event-card span{color:#24303d;font-size:10px;font-weight:900}.month-event-card strong{color:#17202a;font-size:11px;line-height:1.2}.month-event-list small{color:#607184;font-size:11px;font-weight:900}.quick-event-scrim{z-index:20;cursor:default;background:#ffffff2e;border:0;position:absolute;inset:0}.quick-event-popover{z-index:21;background:#fff;border:1px solid #0c345933;border-radius:9px;width:min(520px,100% - 32px);position:absolute;top:116px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 50px #141f2b42}.quick-event-header{color:#fff;background:#0877d6;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:11px 14px 11px 18px;display:flex}.quick-event-header strong,.quick-event-header span{display:block}.quick-event-header strong{font-size:15px}.quick-event-header span{color:#ffffffd1;margin-top:2px;font-size:12px;font-weight:800}.quick-event-header button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.quick-event-header button:hover{background:#ffffff29}.quick-event-body{gap:12px;padding:18px;display:grid}.quick-field,.quick-time-row{color:#4d5661;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;display:grid}.quick-field select,.quick-field input,.quick-time-row select{min-height:36px;box-shadow:none;border-width:0 0 1px;border-radius:0;padding:0 4px}.quick-field select:focus,.quick-field input:focus,.quick-time-row select:focus{box-shadow:none;border-color:#0877d6}.quick-time-row{grid-template-columns:24px minmax(0,1fr) auto minmax(0,1fr)}.quick-time-row span{color:#667481;font-size:12px;font-weight:900}.quick-student-field{background:#f7f9fc;border-radius:8px;gap:9px;padding:12px;display:grid}.quick-event-footer{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 16px;display:flex}.quick-event-footer>span{color:#607184;font-size:12px;font-weight:900}.quick-event-footer>div{gap:8px;display:flex}.quick-open-button,.quick-delete-button,.quick-discard-button,.quick-save-button{min-height:38px;font:900 13px/1 var(--font-sans);cursor:pointer;border-radius:7px;padding:0 16px}.quick-open-button{color:#147466;background:#e9f7f4;border:1px solid #2c9f916b}.quick-delete-button{color:#a3482c;background:#fff8f5;border:1px solid #a3482c3d}.quick-discard-button{color:#24303d;background:#fff;border:1px solid #d4d9df}.quick-save-button{color:#fff;background:#0877d6;border:1px solid #0877d6}.quick-save-button:disabled{cursor:not-allowed;opacity:.48}.field-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-heading-row>span{color:var(--muted);font-size:12px;font-weight:800}.field-heading-row div{gap:6px;display:flex}.field-heading-row button{border:1px solid var(--line);min-height:28px;color:var(--muted);font:900 12px/1 var(--font-sans);cursor:pointer;background:#fff;border-radius:999px;padding:0 10px}.field-heading-row button:hover{color:var(--blue);border-color:#2f68d861}.calendar-board{grid-template-columns:repeat(7,minmax(148px,1fr));gap:10px;padding-bottom:2px;display:grid;overflow-x:auto}.calendar-day-column{border:1px solid var(--line);background:#f7f9fc;border-radius:10px;grid-template-rows:auto 1fr;min-width:148px;min-height:360px;display:grid;overflow:hidden}.calendar-day-column header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.calendar-day-column header strong{color:var(--ink);font-size:14px}.calendar-day-column header span{color:var(--muted);font-size:12px;font-weight:900}.calendar-day-stack{align-content:start;gap:8px;padding:8px;display:grid}.calendar-session-card{border:1px solid #2f68d833;border-left:4px solid var(--blue);text-align:left;cursor:pointer;background:#fff;border-radius:9px;gap:6px;width:100%;min-height:128px;padding:10px;display:grid;box-shadow:0 8px 18px #0f172a0a}.calendar-session-card:hover{background:#f8fbff;border-color:#2f68d87a}.calendar-session-card strong,.calendar-session-card small,.calendar-session-card em{display:block}.calendar-session-card strong{color:var(--ink);font-size:13px;line-height:1.4}.calendar-session-card small,.calendar-session-card em{color:var(--muted);font-size:12px;line-height:1.45}.calendar-session-card em{font-style:normal;font-weight:800}.session-status-pill{color:#147466;white-space:nowrap;background:#e9f7f4;border-radius:999px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:900}.session-status-pill.live{color:#a3482c;background:#fff5eb}.session-status-pill.overdue{color:#a63d28;background:#fff0eb}.session-status-pill.cancelled,.session-status-pill.complete{color:#526578;background:#edf3fa}.week-event-card.overdue,.month-event-card.overdue{background:#fff7f3;border-color:#a63d2859}.empty-slot{color:#8a9aab;cursor:pointer;background:#fff;border:1px dashed #d2dce7;border-radius:8px;place-items:center;min-height:84px;font-size:12px;font-weight:800;display:grid}.empty-slot:hover,.add-slot-button:hover{color:var(--blue);background:#f3f7ff;border-color:#2f68d873}.add-slot-button{min-height:36px;color:var(--muted);font:900 12px/1 var(--font-sans);cursor:pointer;background:#fff;border:1px dashed #cbd8e6;border-radius:8px}.schedule-table-wrap{border:1px solid var(--line);border-radius:10px;width:100%;overflow-x:auto}.schedule-table{border-collapse:collapse;background:#fff;width:100%;min-width:920px}.schedule-table th,.schedule-table td{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;vertical-align:middle;padding:12px 14px;font-size:13px}.schedule-table th{color:#526578;white-space:nowrap;background:#f7f9fc;font-size:12px;font-weight:900}.schedule-table tr:last-child td{border-bottom:0}.schedule-table td strong,.schedule-table td span{display:block}.schedule-table td strong{color:var(--ink);line-height:1.35}.schedule-table td span{color:var(--muted);margin-top:4px;font-size:12px}.session-detail-layout{grid-template-columns:minmax(520px,1.2fr) minmax(320px,.8fr);align-items:start;gap:14px;display:grid}.teacher-session-detail-layout{grid-template-columns:minmax(0,1fr) 320px}
.student-directory-attribute{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:800}.student-course-empty{color:var(--muted);font-size:12px;font-weight:800}.student-delete-confirm-dialog{width:min(520px,100vw - 32px)}.student-delete-confirm-dialog>header{background:#fff8f5}.student-delete-confirm-dialog>header span{color:#a3482c}.student-delete-confirm-body{gap:12px}.student-delete-permanent-warning{color:#8f3c25}.student-delete-confirm-field{color:var(--ink);gap:7px;font-size:12px;font-weight:900;display:grid}.student-delete-confirm-field input{border-color:#d9a896}.student-delete-confirm-field input:focus{border-color:#b75132;box-shadow:0 0 0 3px #b751321f}.student-delete-confirm-field small{color:var(--muted);font-size:11px;font-weight:800}.student-delete-confirm-dialog .destructive-action{color:#fff;background:#b5472c}.student-delete-confirm-dialog .destructive-action:hover:not(:disabled){background:#963820}.student-portfolio-export-stage{pointer-events:none;width:960px;position:fixed;top:0;left:-12000px}.student-portfolio-document{box-sizing:border-box;color:#183247;width:960px;font-family:var(--font-sans);background:#fff;padding:56px}.student-portfolio-document>header{color:#fff;background:linear-gradient(135deg,#173c4b,#2f6e75);border-radius:20px;padding:34px}.student-portfolio-document>header span{font-size:16px;font-weight:900}.student-portfolio-document>header h1{margin:12px 0 8px;font-size:38px}.student-portfolio-document>header p{color:#d8ecec;margin:0}.student-portfolio-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.student-portfolio-summary>div{background:#f7faf9;border:1px solid #dbe5e8;border-radius:14px;gap:6px;padding:18px;display:grid}.student-portfolio-summary span,.student-portfolio-courses article span,.student-portfolio-work>div>span{color:#69808e;font-size:13px;font-weight:800}.student-portfolio-summary strong{color:#1c6670;font-size:28px}.student-portfolio-document h2{margin:26px 0 14px;font-size:24px}.student-portfolio-courses{break-inside:avoid}.student-portfolio-courses article{border-bottom:1px solid #e3eaed;justify-content:space-between;gap:20px;padding:13px 16px;display:flex}.student-portfolio-work{break-inside:avoid;border:1px solid #dbe5e8;border-radius:16px;grid-template-columns:minmax(0,1fr) 260px;gap:22px;margin-bottom:20px;padding:20px;display:grid}.student-portfolio-work h3{margin:7px 0 14px;font-size:21px}.student-portfolio-work dl{gap:12px;margin:0;display:grid}.student-portfolio-work dl div{gap:4px;display:grid}.student-portfolio-work dt{color:#32727a;font-size:12px;font-weight:900}.student-portfolio-work dd{color:#425b68;margin:0;font-size:14px;line-height:1.65}.student-portfolio-work img,.student-portfolio-image-empty{object-fit:cover;background:#f0f4f5;border-radius:12px;width:260px;height:190px}.student-portfolio-image-empty{color:#78909b;place-items:center;font-weight:800;display:grid}.student-bulk-file-step{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:14px;display:grid}.student-bulk-file-step-icon{width:38px;height:38px;color:var(--blue);background:#edf4fb;border-radius:9px;place-items:center;display:grid}.student-bulk-file-step>div:nth-child(2){gap:4px;min-width:0;display:grid}.student-bulk-file-step>div:nth-child(2) strong{color:var(--ink);font-size:13px}.student-bulk-file-step>div:nth-child(2) span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.45}.student-bulk-file-step>.secondary-action,.student-bulk-upload-control{grid-column:1/-1;justify-content:center;width:100%;min-height:40px}.student-bulk-upload-control{color:var(--blue);cursor:pointer;background:#fff;border:1px solid #abc5df;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:900;display:flex;position:relative}.student-bulk-upload-control:hover{border-color:var(--blue);background:#f4f8fd}.student-bulk-upload-control.has-file{color:#176f61;background:#f2fbf8;border-color:#8ec8ba}.student-bulk-upload-control input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.student-bulk-selected-file{color:#42675f;background:#f6fbf9;border:1px solid #cfe5de;border-radius:8px;align-items:center;gap:7px;min-width:0;padding:9px 11px;font-size:11px;font-weight:900;display:flex}.student-bulk-selected-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-student-add-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.class-roster-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.class-roster-summary{color:var(--muted);font-size:12px;font-weight:800}.class-existing-student-panel,.class-student-create-panel{background:#f7fbff;border:1px solid #c9d8e8;border-radius:10px;gap:12px;padding:14px;display:grid}.class-existing-student-heading,.class-student-create-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.class-existing-student-heading strong,.class-student-create-heading strong{color:var(--ink);font-size:14px}.class-existing-student-heading span,.class-student-create-heading span{color:var(--muted);font-size:12px;font-weight:800}.class-existing-student-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.class-existing-student-controls label{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.class-existing-student-controls .primary-action{white-space:nowrap;width:auto;min-height:38px;margin:0}.class-existing-student-empty{color:var(--muted);text-align:center;background:#fff;border:1px dashed #c9d8e8;border-radius:8px;padding:12px;font-size:12px;font-weight:800}.class-student-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.class-student-create-form label{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.class-student-duplicate-warning{color:#8a5412;background:#fff8ed;border:1px solid #f0cf9f;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:850;line-height:1.45}.class-student-create-actions{justify-content:flex-end;gap:8px;display:flex}.class-student-create-actions .primary-action,.class-student-create-actions .secondary-action{width:auto;min-height:38px;margin:0}.class-student-simple-list{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.class-student-simple-list table{table-layout:fixed;border-collapse:collapse;width:100%}.class-student-simple-list th,.class-student-simple-list td{text-align:left;border-bottom:1px solid #e1e8ef;padding:11px 13px}.class-student-simple-list th{color:var(--muted);background:#f7f9fc;font-size:11px;font-weight:900}.class-student-simple-list th:first-child{width:46%}.class-student-simple-list th:nth-child(2),.class-student-simple-list th:nth-child(3){width:20%}.class-student-simple-list th:nth-child(4){width:14%}.class-student-simple-list tbody tr:last-child td{border-bottom:0}.class-student-simple-list td{color:var(--ink);font-size:13px;font-weight:750}.class-student-simple-list td strong{font-weight:900}.class-student-simple-list td:last-child{text-align:right}.class-student-remove-button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:inline-grid}.class-student-remove-button:hover{color:#b34b30;background:#fff1ed}.class-student-simple-empty{min-height:130px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;padding:20px;display:grid}.class-student-simple-empty strong{color:var(--ink)}.class-student-simple-empty span{font-size:12px;font-weight:800}.schedule-session-action-table .session-list-date{white-space:nowrap;width:8%}.schedule-session-action-table .session-list-time{white-space:nowrap;width:9%}.schedule-session-action-table .session-list-room{overflow-wrap:anywhere;width:9%}.schedule-session-action-table .session-list-lesson{overflow-wrap:anywhere;width:16%}.schedule-session-action-table .session-list-class{overflow-wrap:anywhere;width:12%}.schedule-session-action-table .session-list-students{white-space:nowrap;width:6%}.schedule-session-action-table .session-list-ai{white-space:nowrap;width:7%}.schedule-session-action-table .session-list-status{white-space:nowrap;width:10%}.schedule-session-action-table .session-list-actions{white-space:nowrap;width:23%}.schedule-session-action-table .table-action-group{flex-wrap:nowrap}.schedule-overview-table-wrap .schedule-session-action-table{min-width:840px}.schedule-overview-table-wrap .session-list-place{width:19%}.schedule-overview-table-wrap .session-list-lesson{width:32%}.schedule-overview-table-wrap .session-list-students{width:8%}.schedule-overview-table-wrap .session-list-ai{width:9%}.schedule-overview-table-wrap .session-list-status{width:14%}.schedule-overview-table-wrap .session-list-actions{width:18%}.session-list-place{overflow-wrap:anywhere}.session-list-place strong,.session-list-place span{display:block}.session-list-place span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800}.table-action-placeholder{color:var(--muted);font-size:13px;font-weight:900}.session-unsaved-scrim{z-index:30;background:#0a1f3357;border:0;position:absolute;inset:0}.session-unsaved-dialog{z-index:31;background:#fff;border:1px solid #0c34592e;border-radius:10px;gap:12px;width:min(390px,100% - 36px);padding:22px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #141f2b4d}.session-unsaved-dialog:focus{outline:none}.session-unsaved-dialog>strong{color:#17324b;font-size:18px}.session-unsaved-dialog>p{color:#607184;margin:0;font-size:14px;line-height:1.6}.session-unsaved-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.session-unsaved-actions button{color:#24303d;min-height:38px;font:900 13px/1 var(--font-sans);cursor:pointer;background:#fff;border:1px solid #d4dce4;border-radius:7px;padding:0 14px}.session-unsaved-actions button.danger{color:#a3482c;border-color:#a3482c47}.session-unsaved-actions button.primary{color:#fff;background:#0877d6;border-color:#0877d6}.session-unsaved-actions button:disabled{cursor:not-allowed;opacity:.48}.teacher-next-step-panel{background:#f7fdfb;border-color:#2c9f913d}.teacher-next-step-body{justify-content:space-between;align-items:center;gap:18px;display:flex}.teacher-next-step-body>div{gap:5px;display:grid}.teacher-next-step-body span{color:var(--teal);font-size:12px;font-weight:900}.teacher-next-step-body strong{color:var(--ink);font-size:20px;line-height:1.35}.teacher-next-step-body p{color:var(--muted);font-size:14px;line-height:1.55}.teacher-session-detail-layout .lesson-run-panel{min-height:auto}.lesson-run-panel{min-height:560px}.teaching-timeline{gap:10px;display:grid}.timeline-step{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;display:grid}.timeline-step>span{width:34px;height:34px;color:var(--blue);background:#eaf2ff;border-radius:50%;place-items:center;font-weight:900;display:grid}.timeline-step strong,.timeline-step p{display:block}.timeline-step strong{color:var(--ink);font-size:14px}.timeline-step p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.55}.ai-launch-list{border-top:1px dashed var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.ai-launch-card{border:1px solid #2c9f9152;border-left:4px solid var(--teal);background:#f2fbf8;border-radius:10px;gap:7px;padding:13px;display:grid}.ai-launch-card>span,.ai-launch-card strong,.ai-launch-card p,.ai-launch-card small{display:block}.ai-launch-card>span{color:#147466;font-size:12px;font-weight:900}.ai-launch-card strong{color:var(--ink);font-size:16px}.ai-launch-card p{color:#405466;font-size:13px;line-height:1.55}.ai-launch-card small{color:var(--muted);font-size:12px;font-weight:800}.ai-launch-card .table-action{justify-self:start;margin-top:4px}.detail-side-stack{gap:14px;display:grid}.panel-hint{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5;display:block}.session-list{gap:12px;display:grid}.session-card{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.session-card-main span,.session-card-main strong,.session-card-main small,.session-card-main p{display:block}.session-card-main span{color:#147466;background:#e9f7f4;border-radius:999px;width:fit-content;padding:5px 8px;font-size:12px;font-weight:900}.session-card-main strong{color:var(--ink);margin-top:8px;font-size:17px}.session-card-main small,.session-card-main p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.session-student-chips{flex-wrap:wrap;gap:7px;display:flex}.session-student-chips.compact{background:#f3f6f9;border-radius:9px;padding:10px}.session-student-chips button{border:1px solid var(--line);min-height:32px;color:var(--muted);font:800 12px/1 var(--font-sans);cursor:pointer;background:#fff;border-radius:999px;padding:0 10px}.session-student-chips button.active{color:var(--blue);background:#eaf2ff;border-color:#2f68d86b}.session-checkin-workspace{gap:20px;width:min(1040px,100%);margin:0 auto}.session-checkin-header{align-items:flex-start;padding-top:6px}.session-checkin-shell{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d9e2ec;border-radius:14px;overflow:hidden}.session-checkin-task,.session-checkin-attendance-header{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.session-checkin-task{padding:26px}.session-checkin-projection{background:#f7faff}.session-checkin-task-number{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:16px;font-weight:900;display:grid}.session-checkin-task-copy{gap:6px;min-width:0;display:grid}.session-checkin-task-copy h2{color:var(--ink);font-size:21px;line-height:1.3}.session-checkin-task-copy p{color:var(--muted);font-size:14px;line-height:1.55}.primary-action.session-checkin-open-button{width:auto;min-width:184px;min-height:48px;margin-top:0;padding:0 20px;font-size:15px}.session-checkin-attendance{border-top:1px solid #e2e8f0;padding:26px}.session-attendance-count{min-width:132px;color:var(--muted);justify-content:flex-end;align-items:baseline;gap:5px;display:flex}.session-attendance-count strong{color:var(--blue);font-size:30px;line-height:1}.session-attendance-count span{font-size:13px;font-weight:800}.session-attendance-student-chips{margin-top:20px;padding-left:60px}.session-attendance-student-chips button{color:#526578;background:#f8fafc;align-items:center;gap:6px;min-height:42px;padding:0 14px;font-size:14px;display:inline-flex}.session-attendance-student-chips button:hover{background:#fff;border-color:#9eb6cf}.session-attendance-student-chips button:focus-visible,.session-checkin-open-button:focus-visible{outline-offset:2px;outline:3px solid #2f68d838}.session-attendance-student-chips button.active{color:var(--blue);background:#eaf2ff;border-color:#2f68d87a}.session-attendance-saved{color:#147466;align-items:center;gap:7px;margin:16px 0 0 60px;font-size:12px;font-weight:800;line-height:1.45;display:flex}.classroom-launch-page{z-index:110;box-sizing:border-box;background:radial-gradient(circle at 20% 18%,#2f68d81f,#0000 28%),linear-gradient(135deg,#f4f7fb,#eef8f6);place-items:center;width:100vw;min-height:100vh;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.classroom-launch-shell{background:#fffffff5;border:1px solid #2f68d82e;border-radius:18px;grid-template-rows:auto minmax(260px,1fr) auto;gap:22px;width:min(980px,100%);min-height:min(640px,100vh - 48px);padding:28px;display:grid;box-shadow:0 28px 80px #18243429}.classroom-launch-top,.classroom-launch-footer{justify-content:space-between;align-items:center;gap:18px;display:flex}.classroom-launch-title{gap:8px;min-width:0;display:grid}.classroom-launch-title span{color:var(--blue);font-size:13px;font-weight:900}.classroom-launch-title h1{color:var(--ink);margin:0;font-size:48px;line-height:1.08}.classroom-launch-title p{max-width:720px;color:var(--muted);font-size:16px;line-height:1.65}.classroom-launch-center{min-width:0;color:var(--muted);text-align:center;background:linear-gradient(135deg,#e8f6fffa,#eefaf7f5),#f8fbfd;border:1px solid #d8e8f1;border-radius:18px;align-content:center;place-items:center;gap:16px;padding:46px;display:grid}.classroom-launch-center strong{color:var(--ink);font-size:48px;line-height:1.08}.classroom-launch-center span{max-width:680px;color:var(--muted);font-size:17px;font-weight:800;line-height:1.5}.classroom-launch-pages{flex-wrap:wrap;flex:1;gap:10px;min-width:0;display:flex}.classroom-launch-pages button{border:1px solid var(--line);min-height:48px;color:var(--ink);font:900 13px/1.2 var(--font-sans);cursor:pointer;background:#fff;border-radius:12px;align-content:center;gap:4px;padding:8px 14px;display:inline-grid}.classroom-launch-pages button span{color:var(--muted);font-size:11px;font-weight:900}.classroom-launch-pages button.active{color:var(--blue);background:#eef5ff;border-color:#2f68d86b}.classroom-start-button,.classroom-exit-button{min-height:46px;font:900 14px/1 var(--font-sans);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.classroom-start-button{background:var(--ink);color:#fff;white-space:nowrap;border:0;padding:0 22px}.classroom-exit-button{border:1px solid var(--line);color:var(--ink);background:#fff;padding:0 14px}.classroom-live-page{z-index:100;box-sizing:border-box;background:#f4f7fb;grid-template-rows:auto minmax(0,1fr);gap:16px;width:calc(100vw - 248px);min-height:100vh;padding:20px 24px 24px;display:grid;position:fixed;inset:0 0 0 248px;overflow:auto}.classroom-live-header{min-height:108px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #2f68d82e;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px;display:grid}.classroom-live-title{gap:7px;min-width:0;display:grid}.classroom-live-title span{color:var(--blue);font-size:12px;font-weight:900}.classroom-live-title h1{color:var(--ink);margin:0;font-size:38px;line-height:1.08}.classroom-live-title p{max-width:780px;color:var(--muted);font-size:15px;line-height:1.55}.classroom-live-actions{align-items:center;gap:10px;display:flex}.classroom-back-button{border:1px solid var(--line);min-height:40px;color:var(--ink);font:900 13px/1 var(--font-sans);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.classroom-page-switcher{border:1px solid var(--line);background:#f8fafc;border-radius:999px;gap:6px;padding:4px;display:flex}.classroom-page-switcher button{width:34px;min-height:34px;color:var(--muted);font:900 13px/1 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:999px}.classroom-page-switcher button.active{background:var(--blue);color:#fff}.classroom-live-stage{min-height:calc(100vh - 196px);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #94a3b847;border-radius:16px;grid-template-columns:minmax(300px,340px) minmax(0,1fr);align-items:stretch;gap:0;display:grid;overflow:hidden}.classroom-result-stage{min-width:0;box-shadow:none;background:#fff;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding:0;display:grid}.classroom-result-header{border-bottom:1px solid var(--line);background:#fbfdff;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:18px 22px;display:flex}.classroom-result-header>div{gap:4px;min-width:0;display:grid}.classroom-result-header strong{color:var(--ink);font-size:18px;font-weight:950}.classroom-result-header span{color:var(--muted);font-size:13px;font-weight:850;line-height:1.45}.classroom-result-header>span{color:var(--blue);background:#eef5ff;border:1px solid #2f68d829;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:950}.classroom-result-canvas{background:linear-gradient(135deg,#e6f6fff5,#eefaf7f0),#f8fbfd;border:1px dashed #c8d8e8;border-radius:16px;min-height:520px;margin:22px;display:grid;overflow:hidden}.result-placeholder{color:var(--muted);text-align:center;align-content:center;place-items:center;gap:12px;padding:42px;display:grid}.classroom-result-placeholder{padding:60px}.result-placeholder strong{color:var(--ink);font-size:28px;line-height:1.25}.classroom-result-placeholder strong{font-size:42px}.result-placeholder span{max-width:560px;color:var(--muted);font-size:15px;line-height:1.6}.classroom-result-placeholder span{max-width:620px;font-size:17px}.classroom-generated-summary{background:#ffffffe6;border:1px solid #1f8f783d;border-radius:18px;place-self:center;gap:18px;width:min(680px,100% - 48px);padding:34px;display:grid;box-shadow:0 18px 44px #163b4d1a}.classroom-generated-success{color:#14735f;background:#1f8f781f;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-size:13px;font-weight:950;display:inline-flex}.classroom-generated-summary>strong{color:var(--ink);font-size:clamp(28px,3vw,42px);line-height:1.16}.classroom-generated-summary>p{max-width:660px;color:var(--muted);margin:0;font-size:16px;line-height:1.7}.classroom-generated-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 0;display:grid}.classroom-generated-summary dl div{border:1px solid var(--line);background:#f8fbfd;border-radius:12px;gap:6px;min-width:0;padding:14px;display:grid}.classroom-generated-summary dt{color:var(--muted);font-size:12px;font-weight:850}.classroom-generated-summary dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:14px;font-weight:950}.result-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;display:grid}.classroom-result-grid{padding:14px}.classroom-result-image{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:14px;min-width:0;padding:0;position:relative}.classroom-result-image.selected{border-color:var(--blue);box-shadow:0 0 0 3px #2f68d824}.classroom-result-image span{color:#fff;background:#111e33d1;border-radius:999px;padding:6px 8px;font-size:12px;font-weight:900;position:absolute;top:12px;left:12px}.result-image-grid img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:240px}.classroom-result-grid img{border-radius:12px;min-height:300px}.classroom-stage-caption{border-top:1px solid var(--line);min-width:0;color:var(--muted);justify-content:space-between;gap:12px;padding:12px 22px;font-size:12px;font-weight:900;display:flex}.classroom-stage-caption strong{min-width:0;color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.classroom-conversation-stage{background:#f7f9fc;grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}.classroom-conversation-shell{background:linear-gradient(#f8fbfffa,#f4f7fbfa),#f7f9fc;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:520px;display:grid;overflow:hidden}.classroom-conversation-stream{scroll-behavior:smooth;min-width:0;min-height:0;padding:30px clamp(22px,4vw,54px) 22px;overflow-y:auto}.classroom-conversation-empty{min-height:100%;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:12px;display:grid}.classroom-conversation-empty.compact{min-height:300px}.classroom-conversation-empty-icon{width:54px;height:54px;color:var(--blue);background:#fff;border:1px solid #2f68d82e;border-radius:16px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 10px 26px #2f68d81a}.classroom-conversation-empty strong{color:var(--ink);font-size:22px;font-weight:950;line-height:1.25}.classroom-conversation-empty p{max-width:480px;color:var(--muted);margin:0;font-size:14px;font-weight:750;line-height:1.6}.classroom-conversation-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.classroom-conversation-suggestions span{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#ffffffd6;border-radius:999px;align-items:center;padding:0 11px;font-size:12px;font-weight:850;display:inline-flex}.classroom-conversation-turn{gap:18px;width:min(100%,860px);margin:0 auto 30px;display:grid}.classroom-conversation-user-message{justify-self:end;justify-items:end;gap:6px;max-width:min(78%,620px);display:grid}.classroom-conversation-user-message>span{color:var(--muted);padding-right:4px;font-size:11px;font-weight:900}.classroom-conversation-user-message p{background:var(--blue);color:#fff;border-radius:16px 4px 16px 16px;margin:0;padding:11px 14px;font-size:14px;font-weight:800;line-height:1.55;box-shadow:0 8px 18px #2f68d829}.classroom-conversation-assistant-message{gap:10px;display:grid}.classroom-conversation-assistant-label{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:850;display:flex}.classroom-conversation-assistant-label strong{color:var(--ink);font-size:13px;font-weight:950}.classroom-conversation-ai-mark{width:28px;height:28px;color:var(--blue);background:#eaf2ff;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.classroom-conversation-assistant-message>p{color:#45566d;max-width:700px;margin:0 0 2px 36px;font-size:14px;font-weight:750;line-height:1.6}.classroom-conversation-artwork{background:#fff;border:1px solid #94a3b84d;border-radius:15px;width:min(100%,720px);margin:0 0 0 36px;overflow:hidden;box-shadow:0 14px 32px #0f172a1a}.classroom-conversation-artwork-visual{color:#17304a;text-align:center;isolation:isolate;align-content:center;place-items:center;gap:11px;min-height:330px;padding:36px;display:grid;position:relative;overflow:hidden}.classroom-conversation-artwork-image{object-fit:contain;background:#f4f7fb;width:100%;height:auto;max-height:620px;display:block}.classroom-conversation-artwork-visual:before,.classroom-conversation-artwork-visual:after{z-index:-1;content:"";filter:blur(1px);border-radius:999px;position:absolute}.classroom-conversation-artwork-visual:before{background:#67c6d73d;width:240px;height:240px;bottom:-72px;left:-54px}.classroom-conversation-artwork-visual:after{background:#ffc47047;width:280px;height:280px;top:-96px;right:-84px}.classroom-conversation-artwork.version-1 .classroom-conversation-artwork-visual{background:linear-gradient(140deg,#dff3ff 0%,#f1fbf5 48%,#fff2d9 100%)}.classroom-conversation-artwork.version-2 .classroom-conversation-artwork-visual{background:linear-gradient(140deg,#fff3d8 0%,#f9edf9 46%,#e6f4ff 100%)}.classroom-conversation-artwork.version-3 .classroom-conversation-artwork-visual{background:linear-gradient(140deg,#e7f6ed 0%,#e6f1ff 48%,#f5e9ff 100%)}.classroom-conversation-artwork-visual svg{color:var(--blue)}.classroom-conversation-artwork-visual strong{color:var(--ink);font-size:27px;font-weight:950;line-height:1.2}.classroom-conversation-artwork-visual span{color:#52677d;max-width:520px;font-size:13px;font-weight:800;line-height:1.65}.classroom-conversation-artwork figcaption{color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;font-weight:900;display:flex}.classroom-conversation-artwork figcaption span{min-height:25px;color:var(--blue);background:#eef5ff;border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.classroom-conversation-artwork figcaption strong{color:var(--ink)}.classroom-conversation-composer{background:#fff;border:1px solid #94a3b86b;border-radius:15px;gap:8px;min-width:0;margin:0 clamp(18px,3vw,36px) 22px;padding:11px 12px 10px;display:grid;box-shadow:0 12px 30px #0f172a1a}.classroom-conversation-composer:focus-within{border-color:#2f68d894;box-shadow:0 0 0 3px #2f68d81a,0 12px 30px #0f172a1a}.classroom-conversation-composer textarea{resize:none;width:100%;min-height:58px;color:var(--ink);font:750 14px/1.55 var(--font-sans);background:0 0;border:0;outline:0;padding:2px 3px}.classroom-conversation-composer textarea::placeholder{color:#8b9aab}.classroom-conversation-composer textarea:disabled{cursor:not-allowed}.classroom-conversation-composer-footer{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.classroom-conversation-composer-footer>span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.classroom-conversation-composer-footer button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:11px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.classroom-conversation-composer-footer button:disabled{color:#8fa0b2;cursor:not-allowed;background:#d9e1ea}.ai-edit-conversation-shell{min-height:430px}.ai-edit-conversation-shell .classroom-conversation-stream{overflow:hidden}.classroom-conversation-composer.preview-only{pointer-events:none}.classroom-control-panel{border-right:1px solid var(--line);background:#f8fbff;align-content:start;gap:12px;min-width:0;max-height:calc(100vh - 196px);padding:18px;display:grid;overflow-y:auto}.classroom-control-card{border:1px solid var(--line);min-width:0;box-shadow:none;background:#fff;border-radius:12px;gap:12px;padding:14px;display:grid}.classroom-control-heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.classroom-control-heading span{color:var(--blue);font-size:12px;font-weight:900}.classroom-control-heading strong{color:var(--ink);font-size:13px;font-weight:900}.classroom-student-actions{align-items:center;gap:6px;display:inline-flex}.classroom-student-actions button{border:1px solid var(--line);min-height:28px;color:var(--blue);cursor:pointer;font:900 11px/1 var(--font-sans);background:#f8fafc;border-radius:7px;padding:0 8px}.classroom-student-actions button:disabled{cursor:not-allowed;opacity:.45}.classroom-field-list{gap:12px;display:grid}.classroom-field-list .field-stack{margin-top:0}.classroom-upload-zone{min-height:76px;color:var(--ink);cursor:pointer;background:linear-gradient(135deg,#f8fbff 0%,#f4f9ff 100%);border:1px dashed #2f68d861;border-radius:11px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:grid}.classroom-upload-zone:hover{background:#eef5ff;border-color:#2f68d8b8;box-shadow:0 6px 16px #2f68d814}.classroom-upload-zone input{display:none}.classroom-upload-icon{width:38px;height:38px;color:var(--blue);background:#e7f0ff;border-radius:10px;place-items:center;display:grid}.classroom-upload-copy{gap:4px;min-width:0;display:grid}.classroom-upload-copy strong{color:var(--ink);font-size:13px;font-weight:900}.classroom-upload-copy small{color:var(--muted);font-size:11px;font-weight:750;line-height:1.4}.classroom-upload-action{min-height:32px;color:var(--blue);white-space:nowrap;background:#fff;border:1px solid #2f68d842;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.classroom-student-chips{flex-wrap:wrap;gap:8px;display:flex}.classroom-student-chip{border:1px solid var(--line);min-height:38px;color:var(--ink);font:900 13px/1 var(--font-sans);cursor:pointer;background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.classroom-student-chip.selected{color:var(--blue);background:#eef5ff;border-color:#2f68d870}.classroom-generate-button{width:100%;min-height:46px;margin-top:0}.classroom-generate-sticky{z-index:3;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fbfff7;gap:7px;margin:0 -18px -18px;padding:12px 18px 14px;display:grid;position:sticky;bottom:-18px}.ai-page-config-list{gap:12px;display:grid}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);min-height:70px;box-shadow:none;border-radius:8px;padding:10px 12px}.metric-card span,.metric-card strong{display:block}.metric-card span{color:var(--muted);font-size:12px;font-weight:800}.metric-card strong{color:var(--ink);overflow-wrap:anywhere;margin-top:4px;font-size:18px;line-height:1.25}.metric-card.blue{border-top:3px solid var(--blue)}.metric-card.green{border-top:3px solid var(--teal)}.metric-card.orange{border-top:3px solid var(--terracotta)}.metric-card.neutral{border-top:3px solid #7d8fa3}.course-positioning-block{gap:10px;display:grid}.compact-course-metrics{gap:10px}.compact-course-metrics .metric-card{min-height:54px;box-shadow:none;border-radius:8px;padding:10px 12px}.compact-course-metrics .metric-card span{font-size:11px}.compact-course-metrics .metric-card strong{margin-top:5px;font-size:17px}.course-positioning-card{background:#f7fbff;border:1px solid #2f68d838;border-radius:10px;grid-template-columns:minmax(0,1.5fr) minmax(180px,.65fr);gap:10px;padding:12px;display:grid}.course-positioning-card>div{background:#fff;border:1px solid #2f68d81f;border-radius:8px;gap:5px;min-width:0;padding:10px 12px;display:grid}.course-positioning-card span,.course-positioning-card strong{display:block}.course-positioning-card span{color:var(--blue);font-size:12px;font-weight:900}.course-positioning-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px;line-height:1.55}.research-message{color:#147466;background:#f2fbf8;border:1px solid #2c9f913d;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:800}.research-message.warning{color:#945522;background:#fff8ed;border-color:#efd1ad}.research-message strong,.research-message span{overflow-wrap:anywhere}.research-detail-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:14px;display:grid}.research-side-stack{gap:14px;display:grid}.research-main-stack,.research-lesson-editor-layout{gap:14px;min-width:0;display:grid}.lesson-editor-context{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #2f68d833;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.lesson-editor-current{gap:4px;min-width:0;display:grid}.lesson-editor-current span,.lesson-editor-current strong,.lesson-editor-current small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lesson-editor-current span{color:var(--blue);font-size:12px;font-weight:900}.lesson-editor-current strong{color:var(--ink);font-size:18px;line-height:1.3}.lesson-editor-current small{color:var(--muted);font-size:12px;font-weight:800}.lesson-editor-switcher{align-items:center;gap:8px;display:flex}.lesson-jump-select{min-width:190px;color:var(--muted);gap:4px;font-size:11px;font-weight:900;display:grid}.lesson-jump-select select{border-radius:8px;min-height:34px;font-size:12px;font-weight:800}.research-panel-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.publish-check-list{gap:8px;display:grid}.publish-check-row{color:#9b4b30;background:#fff8f3;border:1px solid #ecd6c8;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-size:13px;font-weight:900;display:flex}.publish-check-row.passed{color:#147466;background:#f2fbf8;border-color:#2c9f9140}.research-tabs{margin-top:0}.research-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.research-readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.research-readonly-grid>div{border:1px solid var(--line);background:#f8fafc;border-radius:9px;gap:5px;min-width:0;padding:12px;display:grid}.research-readonly-grid .span-2{grid-column:1/-1}.research-readonly-grid dt{color:var(--muted);font-size:11px;font-weight:900}.research-readonly-grid dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:13px;font-weight:850;line-height:1.5}.marketplace-readonly-grid{margin-top:12px}.research-form-grid label,.research-material-row label{gap:6px;display:grid}.research-form-grid .span-2{grid-column:1/-1}.research-form-grid small{color:var(--muted);font-size:12px;line-height:1.45}.research-market-settings{border-top:1px solid var(--line);gap:14px;margin-top:4px;padding-top:16px;display:grid}.research-market-settings-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.research-market-settings-header>div{gap:4px;display:grid}.research-market-settings-header strong{color:var(--ink);font-size:16px}.research-market-settings-header small,.research-market-settings-header>span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.research-market-settings-header>span{color:#3f625d;white-space:nowrap;background:#f6faf9;border:1px solid #dce6e3;border-radius:999px;padding:6px 10px}.research-choice-field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.research-choice-field legend{color:var(--ink);margin-bottom:2px;padding:0;font-size:13px;font-weight:900}.research-choice-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.research-form-grid .research-choice-option{border:1px solid var(--line);color:#52676c;cursor:pointer;background:#fbfcfc;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:42px;padding:8px 10px;font-size:13px;font-weight:800;display:flex}.research-form-grid .research-choice-option.active{color:#197568;background:#eef8f5;border-color:#2d8c7c66}.research-form-grid .research-choice-option input{width:16px;min-height:16px;accent-color:var(--teal);box-shadow:none;margin:0;padding:0}.research-form-grid .research-choice-option:has(input:disabled){cursor:default;opacity:.72}.research-completeness{min-width:150px;position:relative}.research-completeness summary{cursor:pointer;color:#1d6a58;width:max-content;max-width:210px;font-size:12px;font-weight:900;line-height:1.4}.research-completeness.legacy summary{color:#9a4d2f}.research-completeness>div{border:1px solid var(--line);background:#fff;border-radius:9px;gap:8px;min-width:260px;margin-top:8px;padding:10px;display:grid;box-shadow:0 10px 24px #1424361f}.research-completeness p{color:#7b4a38;margin:0;font-size:11px;font-weight:800;line-height:1.45}.research-completeness ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.research-completeness li{color:var(--ink);gap:7px;font-size:11px;font-weight:800;display:flex}.research-completeness li span{color:#237461;min-width:38px}.research-completeness li[data-passed=false] span{color:#ad4b2d}.teacher-flow-textarea{white-space:pre-wrap;min-height:132px;line-height:1.65}.research-material-list{border-top:1px dashed var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.research-material-standard{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:900;display:flex}.research-material-standard strong{color:var(--ink);margin-right:2px}.research-material-standard span{border:1px solid var(--line);color:var(--blue);background:#f7f9fc;border-radius:999px;padding:5px 9px}.research-material-row{grid-template-columns:minmax(140px,.75fr) 92px minmax(240px,1.1fr) minmax(170px,auto) 88px;align-items:center;gap:10px;display:grid}.fixed-material-row>strong,.fixed-material-row>span{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#f8fafc;border-radius:8px;padding:11px 12px;font-size:13px;line-height:1.45;display:block}.fixed-material-row>span{color:var(--muted);font-weight:900}.material-path-cell{gap:6px;min-width:0;display:grid}.material-path-link{width:fit-content;color:var(--blue);font-size:12px;font-weight:900;text-decoration:none}.material-path-link:hover{text-decoration:underline}.material-upload-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.material-upload-button{min-height:34px;color:var(--blue);cursor:pointer;white-space:nowrap;background:#f3f7ff;border:1px solid #2f68d847;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:900;line-height:1;gap:7px!important;display:inline-flex!important}.material-upload-button.uploading{cursor:progress;opacity:.68}.material-upload-button input{display:none}.inline-check{color:var(--ink);align-items:center;font-size:12px;font-weight:900;gap:7px!important;display:flex!important}.inline-check input{width:16px;min-height:16px}.classroom-grid{grid-template-columns:280px minmax(360px,1fr) minmax(360px,.9fr);align-items:start;gap:14px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:none;border-radius:8px;padding:14px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-header>div{align-items:center;gap:9px;display:flex}.panel h2{color:var(--ink);font-size:16px;line-height:1.25}.student-list{gap:8px;display:grid}.student-row{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px;display:flex}.student-row:hover,.student-row.selected{background:#f3f7ff;border-color:#2f68d861}.student-row>span{width:34px;height:34px;color:var(--blue);background:#eaf2ff;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.student-row strong,.student-row small{display:block}.student-row strong{color:var(--ink);font-size:14px}.student-row small{color:var(--muted);margin-top:3px;font-size:12px}.archive-list-tools{gap:10px;margin-bottom:12px;display:grid}.archive-search-box{display:block;position:relative}.archive-search-box svg{color:var(--muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.archive-search-box input{padding-left:34px}.archive-filter-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.archive-filter-pills button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;font:900 12px/1 var(--font-sans);background:#fff;border-radius:8px}.archive-filter-pills button.active{color:var(--blue);background:#eef5ff;border-color:#2f68d86b}.archive-student-list .student-row{grid-template-columns:34px minmax(0,1fr) auto;display:grid}.student-row>div{min-width:0}.student-row em{white-space:nowrap;border-radius:999px;align-self:start;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900}.student-row em.ok{color:#147466;background:#e9f7f4}.student-row em.attention{color:#a3482c;background:#fff5eb}.student-archive-list-panel{gap:14px;display:grid}.student-directory-toolbar{grid-template-columns:minmax(280px,1.6fr) minmax(150px,.8fr) minmax(220px,1.1fr) minmax(130px,.7fr) minmax(104px,.55fr);align-items:end;gap:10px;display:grid}.student-directory-toolbar label{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.student-directory-wrapper{border:1px solid var(--line);background:#fff;border-radius:10px;overflow-x:auto}.student-directory-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:960px}.student-directory-table th:first-child{width:13%}.student-directory-table th:nth-child(2),.student-directory-table th:nth-child(3){width:5%}.student-directory-table th:nth-child(4){width:27%}.student-directory-table th:nth-child(5){width:18%}.student-directory-table th:nth-child(6),.student-directory-table th:nth-child(7){width:8%}.student-directory-table th:nth-child(8){width:16%}.student-directory-table th,.student-directory-table td{text-align:left;vertical-align:middle;padding:12px 10px}.student-directory-table th{border-bottom:1px solid var(--line)}.student-directory-table tbody td{border-bottom:2px solid #cbd6e2}.student-directory-table th{z-index:1;color:var(--muted);white-space:nowrap;background:#f7f9fc;font-size:12px;font-weight:900;position:sticky;top:0}.student-directory-table th:last-child,.student-directory-table td:last-child{background:#fff;border-left:1px solid #e5ebf2;position:sticky;right:0;box-shadow:-10px 0 16px -16px #233446bf}.student-directory-table th:last-child{z-index:2;background:#f7f9fc}.student-directory-table tbody tr:hover td:last-child,.student-directory-table tbody tr:hover{background:#f8fbff}.student-directory-table tbody tr:last-child td{border-bottom:0}.student-directory-name{align-items:center;gap:8px;min-width:0;display:flex}.student-directory-name>span{width:34px;height:34px;color:var(--blue);background:#eaf2ff;border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.student-directory-name strong,.student-directory-name small,.student-directory-meta strong,.student-directory-meta span,.archive-next-session strong,.archive-next-session span{display:block}.student-directory-name strong,.student-directory-meta strong,.archive-next-session strong,.student-directory-count{color:var(--ink);font-size:13px}.student-directory-name small,.student-directory-meta span,.archive-next-session span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.student-course-summary{gap:7px;min-width:0;display:grid}.student-course-summary-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-course-summary-header strong{color:var(--ink);font-size:12px;font-weight:900}.student-course-summary-header>span{color:var(--muted);font-size:11px;font-weight:800}.student-course-entry{background:#fbfdff;border:1px solid #e5ebf2;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:7px 9px;display:grid}.student-course-entry>div{min-width:0}.student-course-entry>div:first-child strong,.student-course-entry>div:first-child span{display:block}.student-course-entry>div:first-child strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.student-course-entry>div:first-child span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.student-course-entry>div:last-child{justify-items:end;gap:4px;display:grid}.student-course-entry>div:last-child>span{color:var(--ink);white-space:nowrap;font-size:11px;font-weight:900}.student-course-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:21px;padding:0 7px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.student-course-status.active{color:#147466;background:#e9f7f4}.student-course-status.trial{color:#2f68d8;background:#eef4ff}.student-course-status.paused{color:#a3482c;background:#fff5eb}.student-course-status.inactive{color:#66717d;background:#f1f3f5}.student-course-summary>small{color:var(--muted);font-size:11px;font-weight:800;line-height:1.4}.archive-progress-cell{gap:7px;min-width:120px;display:grid}.archive-progress-cell>span{color:var(--ink);font-size:12px;font-weight:900}.archive-status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.archive-status-pill.ok{color:#147466;background:#e9f7f4}.archive-status-pill.attention{color:#a3482c;background:#fff5eb}.archive-status-detail{justify-items:start;gap:5px;min-width:132px;display:grid}.archive-status-detail small{color:#7b4a38;font-size:11px;font-weight:800;line-height:1.35}.student-directory-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.student-directory-footer>span{color:var(--muted);font-size:12px;font-weight:900}.student-directory-footer>div{align-items:center;gap:8px;display:inline-flex}.student-directory-footer button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;padding:0 11px}.student-directory-footer button:disabled{cursor:not-allowed;opacity:.48}.student-directory-footer strong{color:var(--ink);font-size:12px}.student-row-actions{flex-wrap:wrap;min-width:0}.student-detail-header{align-items:flex-start}.student-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.student-editor-drawer{width:min(540px,100vw - 28px)}.student-bulk-import-drawer{width:min(780px,100vw - 28px)}.student-bulk-import-panel{gap:12px;min-width:0;display:grid}.student-bulk-file-flow{display:grid}.student-bulk-file-card{color:#214e87;cursor:pointer;background:#f5f9ff;border:1px dashed #8eb1e4;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.student-bulk-file-card span{gap:4px;display:grid}.student-bulk-file-card small{color:#70839a;font-weight:500}.student-bulk-file-card em{color:#fff;background:#2f68b4;border-radius:9px;padding:8px 12px;font-style:normal;font-weight:700}.student-bulk-file-card input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.confirmation-dialog-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f223a85;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fff;border:1px solid #d8e2ee;border-radius:18px;inline-size:min(560px,100%);overflow:hidden;box-shadow:0 24px 70px #112a4a40}.confirmation-dialog>header,.confirmation-dialog>footer{justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.action-confirmation-body{color:var(--muted);gap:14px;padding:20px 22px 0;line-height:1.65;display:grid}.action-confirmation-body p,.action-confirmation-body ul{margin:0}.action-confirmation-body ul{gap:7px;padding-left:20px;display:grid}.action-confirmation-error{color:#923c30;background:#fff5f2;border:1px solid #efc1b9;border-radius:10px;align-items:flex-start;gap:8px;padding:12px 14px;font-weight:800;display:flex}.session-close-confirm-copy{color:var(--muted);margin:18px 22px 0;line-height:1.7}.confirmation-dialog>header{border-bottom:1px solid #e4eaf1}.confirmation-dialog>header div{gap:4px;display:grid}.confirmation-dialog>header span{color:#b34a3e;font-size:12px;font-weight:800}.confirmation-dialog>header strong{font-size:19px}.confirmation-dialog>header button{background:#fff;border:1px solid #d8e2ee;border-radius:10px;place-items:center;block-size:36px;inline-size:36px;display:grid}.student-delete-impact,.student-delete-dialog>label{margin:18px 22px 0}.student-delete-impact{color:#7f332c;background:#fff6f4;border:1px solid #f1c6bf;border-radius:12px;padding:15px 17px}.student-delete-impact ul{color:#805852;margin:10px 0 0;padding-left:20px}.student-delete-dialog>label{gap:8px;font-weight:700;display:grid}.student-delete-dialog>label input{border:1px solid #cfdbe8;border-radius:10px;min-block-size:42px;padding:0 12px}.confirmation-dialog>footer{background:#f8fafc;border-top:1px solid #e4eaf1;justify-content:flex-end;margin-top:20px}.student-bulk-class-field{min-width:0;color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.student-bulk-class-field small,.student-bulk-import-message{color:var(--muted);font-size:11px;font-weight:800;line-height:1.45}.student-bulk-import-panel textarea{resize:vertical;min-height:132px}.student-import-status{margin-top:-4px}.student-editor-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-editor-form label{min-width:0;color:var(--muted);gap:7px;font-size:12px;font-weight:900;display:grid}.student-editor-form .span-2{grid-column:1/-1}.student-editor-form textarea{resize:vertical;min-height:108px}.student-editor-class-summary{border:1px solid var(--line);background:#fff;border-radius:9px;gap:6px;padding:12px;display:grid}.student-editor-class-summary span,.student-editor-class-summary small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.45}.student-editor-class-summary strong{color:var(--ink);line-height:1.45}.workspace-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.class-management-panel{overflow:hidden}.class-toolbar{grid-template-columns:minmax(260px,1fr) minmax(180px,.5fr) minmax(140px,.36fr);align-items:end;gap:12px;margin-bottom:14px;display:grid}.class-toolbar label,.class-editor-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.class-list{border:1px solid var(--line);background:#fff;border-radius:10px;overflow-x:auto}.class-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:900px}.class-table th:first-child{width:18%}.class-table th:nth-child(2){width:22%}.class-table th:nth-child(3),.class-table th:nth-child(4){width:10%}.class-table th:nth-child(5){width:16%}.class-table th:nth-child(6){width:24%}.class-table th,.class-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #d7e0e9;padding:13px 12px}.class-table th{color:var(--muted);background:#f6f8fb;font-size:12px;font-weight:900}.class-table tbody tr:last-child td{border-bottom:0}.class-table tbody tr:hover{background:#fbfdff}.class-table-name,.class-table-schedule{justify-items:start;gap:7px;min-width:0;display:grid}.class-table-name>strong{color:var(--ink);font-size:14px;line-height:1.4}.class-table-package,.class-table-value,.class-table-count,.class-table-schedule strong{color:var(--ink);font-size:12px;font-weight:900;line-height:1.45}.class-table-schedule small{color:var(--muted)}.class-table-actions{flex-wrap:nowrap;justify-content:flex-end}.class-table-actions .table-action{padding-inline:8px}.class-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(280px,1.25fr) minmax(210px,.65fr) auto;align-items:center;gap:18px;padding:14px;display:grid}.class-row-main,.class-row-progress{gap:8px;min-width:0;display:grid}.class-row-main strong,.class-row-main small,.class-row-meta span,.class-row-progress span,.class-row-progress strong,.class-row-progress small{display:block}.class-row-main strong{color:var(--ink);font-size:17px;line-height:1.3}.class-row-main small,.class-row-meta span,.class-row-progress span,.class-row-progress small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.45}.class-row-meta{flex-wrap:wrap;gap:7px;display:flex}.class-row-meta span{color:#526578;white-space:nowrap;background:#f2f6fb;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;display:inline-flex}.class-row-progress>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.class-row-progress strong{color:var(--ink)}.class-status{color:#a3482c;background:#fff5eb;border-radius:999px;align-items:center;width:max-content;min-height:26px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.class-status.active{color:#147466;background:#e9f7f4}.class-status.closed{color:#526578;background:#edf3fa}.class-row-actions{justify-content:flex-end;min-width:176px}.class-editor-drawer{width:min(760px,100vw - 28px)}.class-editor-section{border:1px solid var(--line);background:#fff;border-radius:10px;gap:12px;min-width:0;padding:14px;display:grid}.class-editor-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.class-teacher-picker{grid-column:1/-1;gap:8px;display:grid}.class-teacher-picker-heading{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.class-teacher-picker-heading strong{color:var(--ink)}.class-teacher-options{grid-template-columns:repeat(2,minmax(0,1fr))}.class-roster-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-roster-heading>div{gap:4px;display:grid}.class-roster-heading strong,.class-student-option strong{color:var(--ink)}.class-roster-heading span,.class-student-option small{color:var(--muted);font-size:12px;font-weight:900}.class-student-search{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:220px;padding:0 10px;display:flex}.class-student-search input{background:0 0;border:0;padding:0}.class-roster-builder,.selected-student-panel,.candidate-student-panel,.class-bulk-match{gap:12px;min-width:0;display:grid}.selected-student-panel,.candidate-student-panel{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:12px}.selected-student-panel-header,.candidate-result-header,.candidate-pagination,.selected-student-toolbar,.candidate-selection-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.selected-student-panel-header>div{gap:4px;min-width:0;display:grid}.selected-student-panel-header strong,.candidate-result-header strong{color:var(--ink)}.selected-student-panel-header span,.candidate-result-header span,.class-bulk-match>span{color:var(--muted);font-size:12px;font-weight:900;line-height:1.5}.selected-student-empty{color:var(--muted);text-align:center;background:#fff;border:1px dashed #c7d4df;border-radius:9px;padding:13px;font-size:13px;font-weight:900}.selected-student-summary{background:#fff;border-radius:9px;gap:4px;min-width:0;padding:11px 12px;display:grid}.selected-student-summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.selected-student-summary span,.selected-student-pagination>span,.candidate-pagination>span{color:var(--muted);font-size:12px;font-weight:800}.selected-student-manager{gap:10px;min-width:0;display:grid}.selected-student-toolbar .class-student-search{flex:1}.selected-student-list{gap:6px;max-height:280px;padding-right:2px;display:grid;overflow-y:auto}.selected-student-row{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:52px;padding:7px 9px;display:grid}.selected-student-row>span{width:32px;height:32px;color:var(--blue);background:#eaf2ff;border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.selected-student-row>div{gap:3px;min-width:0;display:grid}.selected-student-row strong{color:var(--ink);font-size:13px}.selected-student-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.selected-student-row button{color:#a33e3e;cursor:pointer;min-height:32px;font:900 12px/1 var(--font-sans);background:#fff1f1;border:0;border-radius:8px;padding:0 9px}.candidate-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.candidate-filter-grid .class-student-search{grid-column:1/-1}.candidate-filter-grid>label:not(.class-student-search){color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.class-bulk-match{background:#fff;border:1px dashed #c7d4df;border-radius:9px;padding:10px}.class-bulk-match summary{color:var(--ink);cursor:pointer;font-size:13px;font-weight:900}.bulk-import-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:10px;display:grid}.class-bulk-match textarea{min-height:86px}.bulk-import-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.bulk-import-flow span{color:#526578;background:#f2f6fb;border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:7px 8px;font-size:11px;font-weight:900;line-height:1.35;display:grid}.bulk-import-flow strong{width:24px;height:24px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;display:grid}.bulk-import-toolbar,.bulk-import-preview-heading,.bulk-import-confirm{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-top:10px;display:flex}.bulk-import-toolbar>div,.bulk-import-preview-heading>div{gap:4px;min-width:0;display:grid}.bulk-import-toolbar strong,.bulk-import-preview-heading strong{color:var(--ink);font-size:12px}.bulk-import-toolbar span,.bulk-import-preview-heading span,.bulk-import-confirm>span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.45}.bulk-import-preview{border-top:1px solid var(--line);gap:10px;min-width:0;margin-top:10px;padding-top:10px;display:grid}.bulk-import-preview-list{gap:7px;min-width:0;max-height:280px;display:grid;overflow-y:auto}.bulk-import-preview-row{border:1px solid var(--line);background:#fbfcfe;border-left-width:3px;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:9px;min-width:0;padding:9px;display:grid}.bulk-import-preview-row.new{border-left-color:#1d7f70}.bulk-import-preview-row.existing{border-left-color:var(--blue)}.bulk-import-preview-row.invalid,.bulk-import-preview-row.duplicate,.bulk-import-preview-row.conflict{background:#fff9f6;border-left-color:#b45434}.bulk-import-row-number,.bulk-import-preview-row em{color:var(--muted);white-space:nowrap;font-size:10px;font-style:normal;font-weight:900}.bulk-import-preview-row>div{gap:3px;min-width:0;display:grid}.bulk-import-preview-row>div strong{color:var(--ink);font-size:12px}.bulk-import-preview-row>div span,.bulk-import-preview-row>div small{overflow-wrap:anywhere;color:#526578;font-size:11px;font-weight:800;line-height:1.4}.bulk-import-preview-row>div small{color:var(--muted)}.bulk-import-confirm{align-items:flex-end;padding-top:2px}.bulk-import-confirm .primary-action{white-space:nowrap;width:auto;min-height:36px;margin-top:0;padding:0 12px}.candidate-result-header{padding-top:2px}.candidate-result-header>div:first-child{gap:4px;display:grid}.candidate-result-header>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.candidate-page-size-control{min-height:32px;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:900;display:flex}.candidate-page-size-control select{min-height:32px;padding:0 28px 0 9px}.candidate-selection-bar{background:#fff;border:1px solid #d6e0ea;border-radius:9px;min-height:46px;padding:8px 10px}.candidate-selection-bar.active{background:#eef5ff;border-color:#2f68d857}.candidate-selection-bar>span{color:#526578;font-size:12px;font-weight:900}.candidate-selection-bar>div,.candidate-pagination>div{align-items:center;gap:8px;display:flex}.class-student-picker{grid-template-columns:minmax(0,1fr);gap:6px;max-height:340px;padding-right:2px;display:grid;overflow-y:auto}.class-student-option{border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:9px;grid-template-columns:18px 34px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;display:grid}.class-student-option input{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;margin:0}.class-student-option>span{width:34px;height:34px;color:var(--blue);background:#eaf2ff;border-radius:50%;place-items:center;font-weight:900;display:grid}.class-student-option em{color:#526578;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;font-style:normal;font-weight:900;display:block;overflow:hidden}.class-student-option.active{background:#eef5ff;border-color:#2f68d86b}.class-student-option:hover{border-color:#2f68d857}.candidate-empty{grid-column:1/-1}.candidate-pagination{padding-top:2px}.candidate-pagination button{border:1px solid var(--line);min-height:32px;color:var(--ink);cursor:pointer;font:900 12px/1 var(--font-sans);background:#fff;border-radius:8px;padding:0 10px}.candidate-pagination button:disabled{cursor:not-allowed;opacity:.45}.candidate-pagination strong{color:var(--ink);font-size:12px}.class-empty-state{min-width:0}.growth-share-panel{grid-column:1/-1}.growth-share-card{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;grid-template-columns:minmax(120px,.26fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.growth-share-card span,.growth-share-card strong,.growth-share-card p{display:block}.growth-share-card span{color:var(--muted);font-size:12px;font-weight:900}.growth-share-card strong{color:var(--ink);margin-top:5px;font-size:19px}.growth-share-card p{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.5}.growth-share-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.field-stack{gap:7px;margin-top:12px;display:grid}.field-stack>span{color:var(--muted);font-size:12px;font-weight:800}.field-stack small{color:var(--muted);font-size:12px;line-height:1.5}.field-stack.compact{margin-top:12px}.roster-tools{border-top:1px dashed var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.manual-student{grid-template-columns:1fr 64px;gap:7px;display:grid}.manual-student input:nth-child(3){grid-column:span 2}.manual-student button,.file-button,.primary-action,.secondary-action{font:800 14px/1 var(--font-sans);cursor:pointer;border:0;border-radius:8px}.manual-student button{min-height:38px;color:var(--ink);background:#eef3f7}.file-button{min-height:40px;color:var(--ink);background:#f7f9fc;border:1px dashed #c9d4df;justify-content:center;align-items:center;gap:8px;display:flex}.file-button input,.upload-zone input{display:none}.lesson-flow{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.lesson-flow span{color:#526578;background:#f3f6f9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.dynamic-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.dynamic-fields .field-stack:has(textarea){grid-column:1/-1}.chip-list{flex-wrap:wrap;gap:7px;display:flex}.choice-chip{border:1px solid var(--line);min-height:32px;color:var(--muted);font:800 12px/1 var(--font-sans);cursor:pointer;background:#fff;border-radius:999px;padding:0 10px}.choice-chip.active{color:var(--blue);background:#eaf2ff;border-color:#2f68d86b}.activity-card{gap:12px;display:grid}.activity-card>div:first-child{background:#f7f9fc;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.activity-card strong,.activity-card span{display:block}.activity-card strong{color:var(--ink)}.activity-card span{color:var(--muted);font-size:12px;font-weight:800}.upload-zone{min-height:92px;color:var(--muted);cursor:pointer;background:#fbfcfe;border:1px dashed #b9c6d4;border-radius:10px;place-items:center;gap:8px;display:grid}.upload-zone small{max-width:240px;color:var(--muted);text-align:center;font-size:11px;font-weight:800;line-height:1.35}.image-preview-strip{gap:8px;display:flex;overflow-x:auto}.image-preview-item{border:2px solid #0000;border-radius:10px;flex:none;padding:2px;position:relative}.image-preview-item.selected{border-color:var(--blue);background:#2f68d814}.image-preview-item>button:first-child{cursor:pointer;background:0 0;border:0;padding:0;display:block}.image-preview-strip img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:68px;height:68px}.image-delete-button{color:#b42318;cursor:pointer;background:#fff5f5;border:1px solid #dc585859;border-radius:999px;place-items:center;width:24px;height:24px;display:inline-grid;position:absolute;top:-6px;right:-6px}.primary-action,.secondary-action{justify-content:center;align-items:center;gap:8px;min-height:38px;display:inline-flex}.primary-action{background:var(--blue);color:#fff;width:100%;margin-top:14px}.primary-action:disabled{cursor:not-allowed;opacity:.48}.secondary-action{border:1px solid var(--line);color:var(--ink);background:#fff;padding:0 12px}.secondary-action.danger{color:#a3482c;background:#fff8f5;border-color:#c465453d}.record-list{gap:10px;display:grid}.record-row{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.record-thumb{width:54px;height:54px;color:var(--blue);background:linear-gradient(135deg,#eaf2ff,#eaf8f4);border-radius:10px;place-items:center;display:grid;overflow:hidden}.teacher-session-list-shell{overflow:hidden}.teacher-session-list-filters{background:#fbfcfd;border-bottom:1px solid #e1e5eb;grid-template-columns:repeat(2,minmax(145px,.7fr)) repeat(3,minmax(150px,1fr)) auto auto;align-items:end;gap:10px;padding:12px 14px;display:grid}.teacher-session-list-filters>label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.teacher-session-list-filters input,.teacher-session-list-filters select{width:100%;min-height:38px}.teacher-session-filter-reset{min-height:38px;color:var(--ink);background:#fff;border:1px solid #d6dee7;border-radius:8px;padding:0 14px;font-weight:900}.teacher-session-filter-count{color:var(--muted);white-space:nowrap;align-self:center;font-size:12px;font-weight:900}.schedule-session-action-table{table-layout:fixed;min-width:1080px}.session-status-select{color:#147466;width:100%;max-width:112px;min-height:34px;font:inherit;background-color:#e9f7f4;border:1px solid #1474663d;border-radius:9px;padding:0 28px 0 10px;font-size:12px;font-weight:900;display:block}.session-status-select.live{color:#a3482c;background-color:#fff5eb;border-color:#a3482c38}.session-status-select.overdue{color:#a63d28;background-color:#fff0eb;border-color:#a63d2838}.table-action.review-action{background:var(--blue);color:#fff;border-color:#2f68d861}.schedule-table td .session-review-hint{color:#a3482c;margin-top:6px;font-size:11px;font-weight:900;display:block}.post-class-review-workspace{gap:16px;width:min(1120px,100%);margin:0 auto}.post-class-review-header{align-items:flex-start}.post-class-review-summary{background:#fff;border:1px solid #dbe3ec;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:14px 20px;display:flex}.post-class-review-summary>div{gap:5px;display:grid}.post-class-review-summary strong{color:var(--ink);font-size:16px}.post-class-review-summary span{color:var(--muted);font-size:13px;font-weight:800}.post-class-review-summary>span{color:#147466}.post-class-student-list{background:#fff;border:1px solid #dbe3ec;border-radius:12px;overflow:hidden}.post-class-student-row{border-bottom:2px solid #d5dee8;padding:18px 20px}.post-class-student-row:last-child{border-bottom:0}.post-class-student-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.post-class-student-heading>div{gap:4px;display:grid}.post-class-student-heading span,.post-class-record-copy p,.post-class-empty-record{color:var(--muted);font-size:13px;line-height:1.55}.post-class-student-heading .primary-action,.post-class-student-heading .secondary-action{align-items:center;gap:6px;width:auto;display:inline-flex}.post-class-record-list{gap:10px;margin-top:14px;display:grid}.post-class-record{background:#f7f9fc;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px;display:grid}.post-class-record-copy{gap:7px;min-width:0;display:grid}.post-class-record-copy p,.post-class-record-copy blockquote{margin:0}.post-class-record-copy blockquote{color:#334b63;border-left:3px solid #8fb0da;padding-left:10px;font-size:13px;line-height:1.55}.post-class-record-images,.post-class-image-strip{align-items:flex-start;gap:7px;display:flex;overflow-x:auto}.post-class-record-images img,.post-class-image-strip img{object-fit:cover;border:1px solid #d5dee8;border-radius:8px;width:72px;height:72px}.post-class-empty-record{background:#f7f9fc;border-radius:8px;margin-top:12px;padding:12px 14px}.post-class-record-editor{background:#f8fbff;border:1px solid #2f68d847;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;padding:16px;display:grid}.post-class-record-editor>label{color:#526578;gap:7px;font-size:12px;font-weight:900;display:grid}.post-class-record-editor>label em{color:#a3482c;font-style:normal}.post-class-record-editor textarea{resize:vertical;min-height:90px;color:var(--ink);font:500 14px/1.5 var(--font-sans);background:#fff;border:1px solid #cfd9e5;border-radius:8px;padding:10px 12px}.post-class-image-editor,.post-class-editor-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.post-class-image-strip>div{border:2px solid #0000;border-radius:10px;padding:2px;position:relative}.post-class-image-strip>div.selected{border-color:var(--blue)}.post-class-image-strip button{cursor:pointer;background:0 0;border:0;padding:0}.post-class-image-strip>div>button:last-child{color:#a3482c;background:#fff5f2;border:1px solid #e9b7aa;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-6px;right:-6px}.post-class-upload-button{min-height:36px;color:var(--blue);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cfd9e5;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.post-class-upload-button input{display:none}.post-class-editor-actions{justify-content:flex-end}.post-class-editor-actions .primary-action,.post-class-editor-actions .secondary-action{width:auto;min-width:104px}@media (max-width:1180px){.teacher-session-list-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (max-width:760px){.post-class-review-summary,.post-class-student-heading,.post-class-image-editor{flex-direction:column;align-items:stretch}.post-class-record,.post-class-record-editor{grid-template-columns:1fr}.post-class-image-editor,.post-class-editor-actions{grid-column:1}}
