: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}.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}
.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:100vw;min-height:100vh;padding:20px 24px 24px;display:grid;position:fixed;inset:0;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-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:74px}.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 10px 0 6px;display:inline-flex}.classroom-student-chip span{width:26px;height:26px;color:var(--blue);background:#eaf2ff;border-radius:999px;place-items:center;font-size:12px;display:grid}.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:1000px}.student-directory-table th:first-child{width:18%}.student-directory-table th:nth-child(2){width:34%}.student-directory-table th:nth-child(3){width:16%}.student-directory-table th:nth-child(4){width:7%}.student-directory-table th:nth-child(5){width:12%}.student-directory-table th:nth-child(6){width:13%}.student-directory-table th,.student-directory-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:12px 14px}.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 tbody tr:hover{background:#f8fbff}.student-directory-table tbody tr:last-child td{border-bottom:0}.student-directory-name{align-items:center;gap:10px;min-width:145px;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:330px;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:120px}.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-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{gap:10px;display:grid}.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-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}
.record-thumb img{object-fit:cover;width:100%;height:100%}.record-row strong,.record-row span,.record-row p{display:block}.record-row strong{color:var(--ink)}.record-row span,.record-row p,.record-row small{color:var(--muted);font-size:12px}.record-row p{margin-top:5px;line-height:1.5}.course-layout,.course-detail-layout,.archive-layout,.dashboard-grid,.admin-grid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:14px;display:grid}.teacher-course-search-panel{max-width:760px}.teacher-course-search{color:var(--muted);gap:8px;font-size:12px;font-weight:900;display:grid}.teacher-course-search input{border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;padding:12px 14px;font-size:15px;font-weight:700}.teacher-course-focus-strip,.teacher-session-summary-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.teacher-course-focus-strip span,.teacher-session-summary-strip span{min-height:34px;color:var(--ink);background:#fff;border:1px solid #7e8fa63d;border-radius:999px;align-items:center;padding:7px 12px;font-size:13px;font-weight:850;display:inline-flex}.institution-course-detail-layout{grid-template-columns:1fr}.lesson-catalog-panel{box-shadow:none}.lesson-card-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:8px;display:grid}.lesson-card{border:1px solid var(--line);min-width:0;min-height:58px;color:inherit;text-align:left;cursor:pointer;font:inherit;background:#fff;border-radius:8px;align-content:start;gap:5px;padding:10px 30px 10px 10px;display:grid;position:relative}.lesson-card.active{background:linear-gradient(#e8f1ff,#f7fbff);border-color:#2f68d8e6;box-shadow:0 0 0 2px #2f68d82e,0 10px 22px #2f68d824}.lesson-card:hover{background:#f4f8ff;border-color:#2f68d873}.lesson-card.active:before{content:"";background:var(--blue);border-radius:0 999px 999px 0;width:4px;position:absolute;top:9px;bottom:9px;left:0}.lesson-card.active .lesson-card-index{background:var(--blue);color:#fff}.lesson-card.reorderable{cursor:grab;touch-action:none}.lesson-card.dragging{opacity:.52;cursor:grabbing}.lesson-card.drop-target{background:#edf5ff;border-color:#2f68d8b8;box-shadow:inset 0 0 0 1px #2f68d833}.lesson-card.trial-lesson-card{background:#f0fbf7;border-color:#2c9f9147}.lesson-card.trial-lesson-card:hover{background:#e4f8f1;border-color:#2c9f918c}.lesson-card.trial-lesson-card.active{background:linear-gradient(#dbf7ee,#f1fbf8);border-color:#2c9f91c7;box-shadow:0 0 0 2px #2c9f912e,0 10px 22px #2c9f911f}.lesson-card.trial-lesson-card.active:before{background:#15917f}.lesson-card.trial-lesson-card.active .lesson-card-index{color:#fff;background:#15917f}.lesson-card-index{width:fit-content;color:var(--blue);background:#eaf2ff;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900}.lesson-card.trial-lesson-card .lesson-card-index{color:#147466;background:#d8f3eb}.lesson-add-card{color:var(--blue);background:repeating-linear-gradient(135deg,#2f68d80f 0 8px,#2f68d805 8px 16px),#f8fbff;border:1.5px dashed #2f68d870;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:10px;padding:10px 12px}.lesson-add-card:hover{background:repeating-linear-gradient(135deg,#2f68d81a 0 8px,#2f68d809 8px 16px),#eef5ff;border-color:#2f68d8b8}.lesson-add-card-icon{background:var(--blue);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;box-shadow:0 8px 18px #2f68d838}.lesson-card.lesson-add-card strong{color:var(--blue);font-size:13px;font-weight:950}.lesson-card strong{text-overflow:ellipsis;min-width:0;color:var(--ink);font-size:13px;line-height:1.3;display:block;overflow:hidden}.lesson-card-arrow{color:var(--muted);position:absolute;top:12px;right:10px}.lesson-resource-panel{gap:14px;display:grid}.student-archive-layout{grid-template-columns:390px minmax(0,1fr)}.student-detail-stack{gap:14px;min-width:0;display:grid}.student-profile-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.student-profile-main{align-items:center;gap:14px;min-width:0;display:flex}.student-profile-main>span{width:54px;height:54px;color:var(--blue);background:#eaf2ff;border-radius:14px;flex:none;place-items:center;font-size:24px;font-weight:900;display:grid}.student-profile-main strong,.student-profile-main p{display:block}.student-profile-main strong{color:var(--ink);font-size:24px;line-height:1.2}.student-profile-main p{color:var(--muted);margin-top:5px;line-height:1.5}.student-profile-tags{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.student-profile-tags span{min-height:26px;color:var(--ink);background:#f2f6fb;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.student-profile-stats{grid-template-columns:repeat(3,minmax(84px,1fr));gap:8px;display:grid}.student-profile-stats div{border:1px solid var(--line);background:#fbfcfe;border-radius:9px;min-width:0;padding:10px 12px}.student-profile-stats span,.student-profile-stats strong{display:block}.student-profile-stats span{color:var(--muted);font-size:12px;font-weight:900}.student-profile-stats strong{color:var(--ink);margin-top:5px;font-size:20px}.student-tabs{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;display:grid}.student-tabs button{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;font:900 13px/1 var(--font-sans);background:#f8fafc;border-radius:8px}.student-tabs button.active{background:var(--blue);color:#fff;border-color:#2f68d86b}.student-growth-brief{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d8e2edeb;border-radius:10px;grid-template-columns:minmax(260px,1.1fr) minmax(360px,1.35fr) minmax(220px,1fr);align-items:center;gap:12px;padding:12px;display:grid}.student-growth-identity{align-items:center;gap:11px;min-width:0;display:flex}.student-growth-mini-avatar{color:#143447;background:linear-gradient(135deg,#aee1d4,#f0b37d);border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:20px;font-weight:900;display:grid}.student-growth-identity span,.student-growth-brief-stats span,.student-growth-link-actions span{color:var(--muted);font-size:12px;font-weight:900}.student-growth-identity h2{color:var(--ink);margin:2px 0 3px;font-size:19px;line-height:1.2}.student-growth-identity p,.student-growth-brief-comment{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.student-growth-brief-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.student-growth-brief-stats div{background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;min-width:0;padding:8px 10px}.student-growth-brief-stats strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:15px;font-weight:900;line-height:1.25;display:block;overflow:hidden}.student-growth-brief-comment{min-width:0}.student-growth-link-actions{border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;align-items:center;gap:8px;min-width:0;padding-top:10px;display:flex}.student-growth-access-status{flex:320px;gap:3px;min-width:260px;display:grid}.student-growth-access-status small{color:#526578;font-size:11px;font-weight:800;line-height:1.4}.growth-ledger-page,.growth-history-page{gap:12px;display:grid}.growth-ledger-toolbar{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d8e2edeb;border-radius:10px;grid-template-columns:minmax(220px,1fr) minmax(180px,280px) minmax(140px,190px) 110px;align-items:end;gap:10px;padding:12px;display:grid}.growth-ledger-toolbar>div{gap:4px;display:grid}.growth-ledger-toolbar strong{color:var(--ink);font-size:15px}.growth-ledger-toolbar span{color:var(--muted);font-size:12px;font-weight:800}.growth-ledger-toolbar label{color:var(--muted);gap:5px;font-size:12px;font-weight:900;display:grid}.growth-ledger-toolbar input,.growth-ledger-toolbar select{border:1px solid var(--line);min-width:0;height:38px;color:var(--ink);font:800 13px/1 var(--font-sans);background:#f8fafc;border-radius:8px}.growth-history-layout,.growth-ledger-layout{grid-template-columns:minmax(320px,.95fr) minmax(0,1.55fr);align-items:start;gap:12px;display:grid}.growth-history-list,.growth-ledger-list,.growth-history-detail,.course-progress-detail{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d8e2edeb;border-radius:10px}.growth-history-list,.growth-ledger-list{display:grid;overflow:hidden}.growth-history-row,.course-progress-row{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:#fff;border:0;border-bottom:1px solid #e7edf3;gap:8px;display:grid}.growth-history-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px 14px}.course-progress-row{grid-template-columns:minmax(0,1fr) 150px;padding:12px 14px}.growth-history-row:hover,.course-progress-row:hover,.growth-history-row.active,.course-progress-row.active{background:#f4f8ff}.growth-history-row.active,.course-progress-row.active{box-shadow:inset 3px 0 0 var(--blue)}.growth-history-row span,.growth-history-row small,.course-progress-row span,.course-progress-row small,.course-progress-detail header span,.growth-history-detail header span{color:var(--muted);font-size:12px;font-weight:900}.growth-history-row strong,.course-progress-row strong{color:var(--ink);margin-top:4px;font-size:14px;line-height:1.35;display:block}.growth-history-row small,.course-progress-row small{margin-top:5px;line-height:1.35;display:block}.growth-history-row em,.course-progress-row em{height:24px;color:var(--terracotta);background:#fff1eb;border-radius:999px;justify-content:center;align-self:start;align-items:center;padding:0 8px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.course-progress-row-meta{justify-items:end;gap:5px;display:grid}.course-progress-row .progress-track{grid-column:1/-1}.growth-ledger-pagination{background:#fbfdff;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:10px 14px;display:flex}.growth-ledger-pagination span{color:var(--muted);font-size:12px;font-weight:900}.growth-ledger-pagination div{gap:8px;display:flex}.growth-ledger-pagination button{border:1px solid var(--line);height:30px;color:var(--ink);cursor:pointer;font:900 12px/1 var(--font-sans);background:#fff;border-radius:7px}.growth-ledger-pagination button:disabled{cursor:not-allowed;opacity:.45}.growth-history-detail,.course-progress-detail{gap:12px;padding:14px;display:grid}.growth-history-detail header,.course-progress-detail header{border-bottom:1px solid #e7edf3;justify-content:space-between;align-items:start;gap:5px;padding-bottom:10px;display:flex}.growth-history-detail header>div,.course-progress-detail header>div{gap:5px;min-width:0;display:grid}.growth-history-detail h3,.course-progress-detail h3{color:var(--ink);margin:0;font-size:20px;line-height:1.3}.growth-history-detail p,.course-progress-detail p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.course-progress-lesson-list{gap:6px;max-height:620px;padding-right:2px;display:grid;overflow:auto}.course-progress-lesson{background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:8px 10px;display:grid}.course-progress-lesson span,.course-progress-lesson em{color:var(--muted);font-size:11px;font-style:normal;font-weight:900}.course-progress-lesson strong{min-width:0;color:var(--ink);font-size:13px;line-height:1.35}.course-progress-lesson.done{background:#f2fbf9;border-color:#2c9f914d}.course-progress-lesson.scheduled{background:#f4f8ff;border-color:#2f68d83d}.guardian-visibility-toggle{cursor:pointer;min-width:86px;min-height:32px;font:900 12px/1 var(--font-sans);border:1px solid #0000;border-radius:999px}.guardian-visibility-toggle.visible{color:#177163;background:#eaf7f2;border-color:#2c9f9147}.guardian-visibility-toggle.hidden{color:#5b6b7d;background:#f1f5f9;border-color:#94a3b85c}.parent-showcase-hero{background:linear-gradient(120deg,#f1faf8f5,#fffdf7f0 56%,#eff6faeb),#fff;border:1px solid #b5cfcdc7;border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(300px,.54fr);align-items:stretch;gap:26px;padding:30px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 58px #1934421a}.parent-showcase-hero:before{content:"";pointer-events:none;border:1px solid #ffffffc7;border-radius:18px;position:absolute;inset:13px}.parent-showcase-copy{z-index:1;align-content:center;gap:18px;display:grid;position:relative}.parent-showcase-hero span,.parent-showcase-stats span,.parent-story-body span,.parent-story-note small,.parent-story-index small,.parent-story-image figcaption,.parent-course-card header span,.parent-course-card header p,.parent-course-lesson span,.parent-course-lesson em{color:var(--muted);font-size:12px;font-weight:900}.parent-showcase-hero h2{color:var(--ink);margin:0;font-size:38px;line-height:1.15}.parent-showcase-hero p,.parent-story-body p,.parent-story-empty p{color:#43576a;margin:0;font-size:15px;line-height:1.65}.parent-showcase-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:4px;display:grid}.parent-showcase-stats div{border-top:1px solid #4c77792e;min-width:0;padding-top:13px}.parent-showcase-stats strong{color:var(--ink);margin-top:6px;font-size:27px;line-height:1.1;display:block}.parent-hero-art{z-index:1;background:#ffffffdb;border:1px solid #aec7ccc7;border-radius:20px;align-content:start;gap:10px;min-width:0;margin:0;padding:12px;display:grid;position:relative;box-shadow:0 20px 40px #1f37461a}.parent-hero-art img,.parent-hero-empty{aspect-ratio:4/3;border-radius:14px;width:100%}.parent-hero-art img{object-fit:cover;display:block}.parent-hero-empty{color:var(--muted);text-align:center;border:1px dashed #7a97a175;align-content:center;place-items:center;gap:9px;display:grid}.parent-hero-empty span{max-width:220px;line-height:1.55}.parent-hero-art figcaption{color:#506778;font-size:12px;font-weight:900;line-height:1.45}.parent-story-feed{gap:18px;display:grid}.parent-story-feed-header{justify-content:space-between;align-items:center;gap:14px;padding:2px 4px 0;display:flex}.parent-story-feed-header strong,.parent-story-feed-header span{display:block}.parent-story-feed-header strong{color:var(--ink);font-size:18px}.parent-story-feed-header span{color:var(--muted);margin-top:3px;font-size:13px;font-weight:800}.parent-story-card{background:#fffffff5;border:1px solid #ccdde2e6;border-radius:22px;grid-template-columns:92px minmax(0,1fr);gap:0;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 42px #21394914}.parent-story-index{background:linear-gradient(#effaf7,#f8fbfa);border-right:1px solid #cddfe1d6;align-content:start;gap:8px;padding:20px 15px;display:grid}.parent-story-index span{color:#48766e;font-size:12px;font-weight:900}.parent-story-index strong{color:#177163;font-size:26px}.parent-story-body{gap:18px;padding:22px;display:grid}.parent-story-heading{gap:5px;display:grid}.parent-story-body h3{color:var(--ink);margin:0;font-size:23px;line-height:1.3}.parent-story-showcase{grid-template-columns:minmax(280px,.9fr) minmax(0,1fr);align-items:stretch;gap:22px;display:grid}.parent-story-image{background:#fff;border:1px solid #d8e2ede6;border-radius:18px;align-content:start;gap:9px;min-width:0;margin:0;padding:10px;display:grid}.parent-story-image img,.parent-story-image>div{aspect-ratio:4/3;border-radius:13px;width:100%;min-height:260px}.parent-story-image img{object-fit:cover;background:#fff;border:1px solid #d8e2ede6;display:block}.parent-story-image>div{color:var(--muted);text-align:center;border:1px dashed #7a97a17a;align-content:center;place-items:center;gap:8px;display:grid}.parent-story-image figcaption{color:#5f7483}.parent-story-notes{border-left:1px solid #cfdee2e6;align-content:start;gap:16px;min-width:0;padding-left:20px;display:grid}.parent-story-note{border-bottom:1px solid #dee7ebeb;gap:8px;padding-bottom:16px;display:grid}.parent-story-note:last-child{border-bottom:0;padding-bottom:0}.parent-story-note p{color:#203247;margin:0;font-size:15px;line-height:1.72}.parent-story-note.teacher{border-left:3px solid #dca04170;padding-left:14px}.parent-growth-highlight{color:#8b5a14;background:#fff8e8;border:1px solid #db9f4142;border-radius:12px;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:900;line-height:1.55;display:flex}.parent-story-empty{text-align:center;background:#ffffffeb;border:1px solid #ccdde2e6;border-radius:22px;justify-items:center;gap:9px;padding:42px 20px;display:grid}.parent-story-empty strong{color:var(--ink);font-size:18px}.parent-course-progress{gap:14px;display:grid}.parent-course-card{background:#fffffff0;border:1px solid #ccdde2e6;border-radius:18px;gap:12px;padding:18px;display:grid;box-shadow:0 12px 30px #2139490f}.parent-course-card h3{color:var(--ink);margin:3px 0 4px;font-size:21px}.parent-course-lessons{gap:6px;display:grid}.parent-course-lesson{background:#fbfdff;border:1px solid #e7edf3;border-radius:8px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:8px 10px;display:grid}.parent-course-lesson strong{color:var(--ink);font-size:13px}.parent-course-lesson.done{background:#f2fbf9;border-color:#2c9f914d}.parent-course-lesson.scheduled{background:#f4f8ff;border-color:#2f68d83d}.parent-story-load-more{color:#177163;min-height:42px;font:900 14px/1 var(--font-sans);cursor:pointer;background:#fff;border:1px solid #2c9f9147;border-radius:999px;justify-self:center;padding:0 20px;box-shadow:0 10px 26px #2139490f}.student-overview-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:14px;display:grid}.archive-action-list,.student-info-grid,.enrollment-list,.archive-session-list{gap:10px;display:grid}.archive-action-list>div,.student-info-grid>div,.archive-session-row{border:1px solid var(--line);background:#fbfcfe;border-radius:9px;min-width:0;padding:12px}.archive-action-list strong,.archive-action-list span,.student-info-grid span,.student-info-grid strong,.archive-session-row span,.archive-session-row strong,.archive-session-row small{display:block}.archive-action-list strong,.student-info-grid strong,.archive-session-row strong{color:var(--ink)}.archive-action-list span,.student-info-grid span,.archive-session-row span,.archive-session-row small{color:var(--muted);font-size:12px;line-height:1.55}.archive-action-list span{margin-top:5px}.student-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-info-grid strong{overflow-wrap:anywhere;margin-top:5px}.archive-progress-summary{background:#f6f9ff;border-radius:9px;gap:9px;margin-top:12px;padding:12px;display:grid}.archive-progress-summary>div:first-child{justify-content:space-between;gap:12px;display:flex}.archive-progress-summary span{color:var(--muted);font-size:13px;font-weight:900}.archive-progress-summary strong{color:var(--ink)}.growth-detail-stack{gap:16px}.growth-hero{background:linear-gradient(90deg,#fffffffa,#f4fcf9f0),#fff;border:1px solid #7a97b23d;border-radius:12px;grid-template-columns:minmax(280px,1.25fr) minmax(220px,.9fr) minmax(240px,1fr) minmax(230px,.9fr);gap:0;display:grid;overflow:hidden;box-shadow:0 14px 34px #182d420f}.growth-hero--simple{grid-template-columns:minmax(280px,1.2fr) minmax(220px,.95fr) minmax(260px,1.1fr)}.growth-hero--simple .growth-encouragement-card{border-right:0}.growth-child-card,.growth-next-card,.growth-encouragement-card,.growth-family-card{border-right:1px solid #d8e2edcc;min-width:0;padding:18px}.growth-family-card{border-right:0}.growth-child-card{align-items:center;gap:15px;display:flex}.growth-avatar{color:#143447;background:radial-gradient(circle at 30% 25%,#fffffff2,#0000 28px),linear-gradient(135deg,#9ed9c9,#f0b37d);border:2px solid #fff;border-radius:22px;flex:none;place-items:center;width:76px;height:76px;font-size:30px;font-weight:900;display:grid;box-shadow:0 12px 24px #2c9f912e}.growth-child-card span,.growth-next-card span,.growth-encouragement-card span,.growth-family-card span,.growth-course-rail header span,.growth-course-heading span,.growth-event-title span,.growth-story-grid span,.growth-family-preview span,.growth-family-preview small{color:var(--muted);font-size:12px;font-weight:900}.growth-child-card h1{color:var(--ink);margin:4px 0 7px;font-size:25px;line-height:1.2}.growth-child-card p,.growth-next-card p,.growth-encouragement-card p,.growth-family-card p,.growth-family-preview p{color:var(--muted);font-size:13px;line-height:1.55}.growth-hero-tags{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.growth-hero-tags span{color:#177163;background:#eaf7f2;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;display:inline-flex}.growth-next-card,.growth-encouragement-card,.growth-family-card{align-content:center;gap:8px;display:grid}.growth-next-card strong,.growth-family-card strong{color:var(--ink);font-size:17px;line-height:1.35}.growth-encouragement-card{background:linear-gradient(135deg,#ebf8f6d1,#fff9efe0)}.growth-encouragement-card p{color:#28465a;font-size:14px}.growth-family-card p{overflow-wrap:anywhere;max-height:42px;overflow:hidden}.growth-family-actions,.growth-family-link{flex-wrap:wrap;gap:8px;display:flex}.growth-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.growth-metric-item{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d8e2edeb;border-radius:10px;align-items:center;gap:11px;padding:13px 14px;display:flex}.growth-metric-item svg{border-radius:999px;flex:none;width:38px;height:38px;padding:9px}.growth-metric-item.blue svg{color:var(--blue);background:#edf4ff}.growth-metric-item.coral svg{color:var(--terracotta);background:#fff1eb}.growth-metric-item.teal svg{color:var(--teal);background:#e8f7f4}.growth-metric-item.green svg{color:#347d3e;background:#edf8ee}.growth-metric-item span,.growth-metric-item strong{display:block}.growth-metric-item span{color:var(--muted);font-size:12px;font-weight:900}.growth-metric-item strong{color:var(--ink);margin-top:4px;font-size:22px}.growth-journey-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:14px;display:grid}.growth-progress-full{display:grid}.growth-course-rail{min-width:0;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d8e2ede6;border-radius:12px;align-self:start;gap:12px;padding:14px;display:grid}.growth-course-rail header{gap:4px;display:grid}.growth-course-rail header strong{color:var(--ink);font-size:17px}.growth-course-list{gap:12px;max-height:760px;padding-right:2px;display:grid;overflow:auto}.growth-course-block{background:#fbfcfe;border:1px solid #e5edf3;border-radius:10px;gap:10px;padding:12px;display:grid}.growth-course-heading{justify-content:space-between;gap:12px;display:flex}.growth-course-heading strong,.growth-course-heading small{display:block}.growth-course-heading strong{color:var(--ink);margin-top:3px;line-height:1.35}.growth-course-heading small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.growth-course-heading em{color:#177163;background:#eaf7f2;border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:30px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.growth-lesson-rail{gap:2px;display:grid}.growth-lesson-node{border-left:2px solid #dce7ef;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0 8px 16px;display:grid;position:relative}.growth-lesson-node:before{content:"";background:#c2ceda;border-radius:999px;width:8px;height:8px;position:absolute;top:16px;left:-5px}.growth-lesson-node.done{border-left-color:var(--teal)}.growth-lesson-node.done:before{background:var(--teal)}.growth-lesson-node.scheduled{border-left-color:var(--blue)}.growth-lesson-node.scheduled:before{background:var(--blue)}.growth-lesson-node span,.growth-lesson-node small{color:var(--muted);font-size:11px;font-weight:900}.growth-lesson-node strong{min-width:0;color:var(--ink);font-size:12px;line-height:1.35}.growth-journey-main{gap:12px;min-width:0;display:grid}.growth-followup-note{color:#9b4b2f;background:#fff8f3;border:1px solid #b85b3733;border-radius:10px;align-items:center;gap:9px;min-height:42px;padding:10px 12px;font-size:13px;font-weight:900;display:flex}.growth-timeline{gap:12px;display:grid}.growth-event-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #d8e2edeb;border-radius:12px;grid-template-columns:104px minmax(0,1fr);gap:0;display:grid;overflow:hidden}.growth-event-date{background:#fbfdff;border-right:1px solid #e7edf3;align-content:start;justify-items:start;gap:5px;padding:18px 14px;display:grid}.growth-event-date strong{color:var(--ink);font-size:22px}.growth-event-date span{color:var(--muted);font-size:12px;font-weight:900}.growth-event-date em{color:var(--blue);background:#eaf2ff;border-radius:999px;margin-top:4px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900}.growth-event-card.work .growth-event-date em{color:var(--terracotta);background:#fff1eb}.growth-event-card.scheduled .growth-event-date em{color:#177163;background:#eaf7f2}.growth-event-body{gap:12px;min-width:0;padding:16px;display:grid}.growth-event-title{justify-content:space-between;gap:12px;display:flex}.growth-event-title h3{color:var(--ink);margin:4px 0 5px;font-size:18px;line-height:1.3}.growth-event-title p{color:var(--muted);font-size:12px;line-height:1.5}.growth-story-grid{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.growth-story-grid>div{background:#fbfcfe;border:1px solid #e8eef4;border-radius:9px;min-width:0;padding:10px}.growth-story-grid p{color:var(--ink);margin-top:6px;font-size:13px;line-height:1.6}.growth-art-preview img,.growth-art-preview>div{border-radius:8px;width:100%;min-height:116px;margin-top:7px}.growth-art-preview img{object-fit:cover;display:block}.growth-art-preview>div{color:var(--blue);text-align:center;background:linear-gradient(135deg,#2f68d81f,#2c9f9129);place-items:center;gap:6px;padding:10px;display:grid}.growth-art-preview small{color:#35536a;font-size:12px;line-height:1.45}.growth-family-highlight{grid-column:1/-1;background:#fff8e9!important}.growth-family-highlight p{color:#754d12;font-weight:800}.growth-node-summary{grid-template-columns:minmax(0,.9fr) minmax(260px,1.2fr) minmax(0,.9fr);gap:12px;display:grid}.growth-node-panel{background:#fbfcfe;border:1px solid #e8eef4;border-radius:10px;align-content:start;gap:9px;min-width:0;padding:12px;display:grid}.growth-node-panel span,.growth-image-manager span,.growth-upload-button{color:var(--muted);font-size:12px;font-weight:900}.growth-node-panel p{color:var(--ink);margin:0;font-size:14px;line-height:1.65}.growth-node-image-panel img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-height:220px;display:block}.growth-image-placeholder{min-height:220px;color:var(--muted);text-align:center;background:#f8fbfd;border:1px dashed #c4d0dc;border-radius:10px;align-content:center;place-items:center;gap:8px;padding:18px;display:grid}.growth-image-placeholder strong{color:var(--ink);font-size:15px}.growth-image-placeholder small{max-width:240px;color:var(--muted);font-size:12px;line-height:1.5}.growth-image-manager{background:#fff;border:1px solid #e7edf3;border-radius:12px;gap:10px;padding:12px;display:grid}.growth-image-manager>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.growth-image-manager strong{color:var(--ink);font-size:14px}.growth-upload-button{cursor:pointer;background:#f8fafc;border:1px dashed #b8c5d2;border-radius:9px;align-items:center;gap:7px;width:fit-content;min-height:34px;padding:0 11px;display:inline-flex}.growth-upload-button input{display:none}.growth-image-strip{gap:10px;padding:4px 2px;display:flex;overflow-x:auto}.growth-image-thumb{border:2px solid #0000;border-radius:12px;flex:0 0 96px;padding:2px;position:relative}.growth-image-thumb.selected{border-color:var(--blue);background:#2f68d814}.growth-image-thumb>button:first-child{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.growth-image-thumb img{object-fit:cover;border:1px solid var(--line);border-radius:9px;width:100%;height:78px;display:block}.growth-image-thumb span{color:#fff;background:#111e33d1;border-radius:999px;padding:4px 6px;font-size:10px;font-weight:900;position:absolute;bottom:5px;left:5px}.manual-growth-image-box{background:#fbfdff;border:1px solid #e7edf3;border-radius:12px;gap:10px;min-width:0;padding:12px;display:grid}.manual-growth-image-box>div:first-child{justify-content:space-between;gap:10px;display:flex}.manual-growth-image-box span{color:var(--muted);font-size:12px;font-weight:900}.manual-growth-image-box strong{color:var(--ink);font-size:13px}.growth-family-preview{background:linear-gradient(90deg,#eaf7f2d9,#fff8e9bf),#fff;border:1px solid #2c9f9133;border-radius:12px;grid-template-columns:minmax(0,1fr) 118px minmax(260px,.9fr);align-items:center;gap:12px;padding:14px;display:grid}.growth-family-preview strong{color:var(--ink);margin-top:4px;font-size:18px;display:block}.growth-family-link span{text-overflow:ellipsis;white-space:nowrap;flex:100%;min-width:0;overflow:hidden}.shared-growth-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:14px;display:grid}.parent-growth-timeline .growth-event-card{border-color:#2c9f912e}.enrollment-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;gap:12px;padding:14px;display:grid}.enrollment-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.enrollment-header span,.enrollment-header strong,.enrollment-header small{display:block}.enrollment-header span,.enrollment-header small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.5}.enrollment-header strong{color:var(--ink);font-size:18px}.enrollment-header>div:last-child{text-align:right;min-width:96px}.lesson-progress-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lesson-progress-row{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.lesson-progress-row.done{background:#f1faf8;border-color:#17806d47}.lesson-progress-row.scheduled{background:#f3f7ff;border-color:#2f68d847}.lesson-progress-row span,.lesson-progress-row strong,.lesson-progress-row small{display:block}.lesson-progress-row span,.lesson-progress-row small{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:900}.lesson-progress-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.archive-session-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.archive-session-row>div:last-child{text-align:right;min-width:120px}.course-filter-bar{grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:12px;display:grid}.course-filter-primary{grid-template-columns:minmax(280px,1fr) minmax(160px,220px) auto auto;align-items:end;gap:10px;display:grid}.course-filter-primary label,.course-filter-advanced label{gap:6px;display:grid}.course-filter-advanced{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(150px,220px));gap:10px;margin-top:10px;padding-top:10px;display:grid}.filter-toggle.active{color:var(--blue);background:#edf4fb;border-color:#3568a84d}.filter-reset{color:var(--muted)}.course-filter-bar label,.table-toolbar label{gap:6px;display:grid}.course-filter-bar .secondary-action{min-width:110px}.table-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.table-toolbar>span{color:var(--muted);font-size:13px;font-weight:800}.table-toolbar label{width:110px}.course-list-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.course-list-toolbar>div:first-child{gap:4px;min-width:0;display:grid}.course-list-toolbar strong{color:var(--ink);font-size:15px;line-height:1.35}.course-list-toolbar span{color:var(--muted);font-size:13px;font-weight:800}.course-view-toggle{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.course-view-toggle button{min-height:34px;color:var(--muted);font:900 13px/1 var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.course-view-toggle button.active{background:var(--blue);color:#fff;box-shadow:0 8px 18px #2f68d833}
