:root{--ink:#17232d;--paper:#fff;--surface:#f6faf7;--line:#dae4de;--muted:#64736d;--teal:#128072;--mint:#78e1c6;--coral:#e84a5f;--amber:#f5b342;--chip:#e9f0ec;color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Atkinson Hyperlegible,Aptos,Segoe UI,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,select,textarea{letter-spacing:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e84a5f6b}::selection{color:var(--paper);background:var(--teal)}.app-shell{background:linear-gradient(90deg, #171f2a0a 1px, transparent 1px), linear-gradient(180deg, #171f2a0a 1px, transparent 1px), var(--surface);background-size:48px 48px;grid-template-columns:292px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .22s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.messages-page,.ai-page{height:100dvh;min-height:0;overflow:hidden}.messages-page .sidebar,.ai-page .sidebar{height:100dvh;min-height:0;overflow:auto}.sidebar{min-height:100vh;color:var(--paper);background:radial-gradient(120% 60% at 0% 0%, #78e1c629, transparent 55%), linear-gradient(180deg, #12807238, transparent 42%), var(--ink);scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;border-right:1px solid #ffffff0f;flex-direction:column;align-self:start;gap:18px;padding:20px 18px;display:flex;position:sticky;top:0}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.brand-lockup,.profile-panel,.security-note,.sidebar-nav a,.role-tab,.topbar,.overview-band,.metric-card,.panel,.record-row,.task-card,.ai-card,.ai-chat-workspace,.ai-chat-panel,.ai-chat-bubble,.ai-history-select,.history-delete,.ai-prompt-chip,.progress-card,.feedback-card,.auth-panel,.auth-access-note,.staff-auth-panel,.request-demo-callout,.request-demo-panel,.auth-back-link,.profile-identity,.profile-facts div,.catalog-summary,.generation-console,.unit-group,.lesson-row,.lesson-detail,.select-control{border-radius:8px}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-text strong{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.1;overflow:hidden}.brand-lockup strong,.profile-panel h2,.auth-panel h1,.topbar h1,.overview-copy h2,.panel h2,.record-row h3,.task-card h3,.ai-card h3,.progress-card h3,.feedback-card h3,.profile-identity h3,.unit-group h3,.lesson-detail h3{letter-spacing:0;margin:0;line-height:1.08}.brand-lockup span,.profile-panel p,.profile-identity p,.security-note span{color:#f8faf7ad;margin-top:2px;font-size:.82rem;display:block}.auth-screen{background:linear-gradient(90deg, #171f2a0a 1px, transparent 1px), linear-gradient(180deg, #171f2a0a 1px, transparent 1px), var(--surface);background-size:48px 48px;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);background:#ffffffeb;gap:14px;width:min(100%,460px);padding:26px;display:grid;box-shadow:0 24px 70px #171f2a1f}.auth-panel h1{color:var(--ink);font-size:2rem}.auth-panel p{color:var(--muted);margin:0}.auth-error,.error-text{color:#9d2434}.brand-mark,.panel-icon,.task-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{width:40px;height:40px;color:var(--paper);background:linear-gradient(140deg, var(--teal), #0f766e);border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff2e,0 6px 18px #0f766e52}.role-switcher{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:4px;padding:4px;display:grid}.ops-console,.school-lesson-console,.communications-console,.approval-board,.class-board,.calendar-console{gap:18px;display:grid}.calendar-schedule-form,.calendar-board,.calendar-detail{background:#fff;border:1px solid #0f172a1f;border-radius:8px;box-shadow:0 12px 32px #0f172a0f}.calendar-board{min-width:0;padding:18px}.calendar-schedule-form{gap:14px;width:min(920px,100vw - 32px);max-height:calc(100dvh - 48px);padding:18px;display:grid;overflow:auto}.calendar-schedule-form header,.calendar-board-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.calendar-board-header{align-items:flex-start}.calendar-schedule-form h3,.calendar-board-header h3,.calendar-detail h3{margin:0}.calendar-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.calendar-form-grid label,.calendar-repeat-row label{color:#475569;gap:6px;font-size:.82rem;font-weight:700;display:grid}.calendar-form-grid input,.calendar-form-grid select,.calendar-repeat-row input,.calendar-schedule-form textarea{width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #0f172a26;border-radius:8px;padding:10px 11px}.calendar-repeat-row{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:12px;display:grid}.calendar-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.calendar-modal-actions,.calendar-board-tools,.calendar-period-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-board-tools{justify-content:flex-end}.calendar-period-nav{background:#f8fafc;border:1px solid #0f172a1f;border-radius:8px;min-height:42px;padding:4px}.calendar-period-nav strong{color:#0f172a;text-align:center;min-width:220px;padding:0 8px;font-size:.9rem}.calendar-period-nav button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:32px;display:inline-grid}.calendar-view-toggle{background:#f8fafc;border:1px solid #0f172a1f;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.calendar-view-toggle button{color:#475569;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 11px}.calendar-view-toggle button.active{color:#fff;background:#0f172a}.calendar-layout{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.calendar-layout.detail-open{grid-template-columns:minmax(0,1fr) 312px}.calendar-main{min-width:0}.calendar-week-grid{--calendar-day-count:7;grid-template-columns:58px repeat(var(--calendar-day-count), minmax(96px, 1fr));background:#fff;border:1px solid #0f172a1a;border-radius:8px;display:grid;overflow:auto}.calendar-time-corner,.calendar-day-heading,.calendar-time-label,.calendar-time-slot{border-bottom:1px solid #0f172a14;border-right:1px solid #0f172a14}.calendar-time-corner,.calendar-day-heading{z-index:4;background:#f8fafc;position:sticky;top:0}.calendar-day-heading{color:#475569;text-transform:uppercase;align-content:center;justify-items:center;gap:3px;min-height:50px;font-size:.74rem;font-weight:800;display:grid}.calendar-day-heading strong{color:#0f172a;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.95rem;display:inline-grid}.calendar-day-heading.today strong{color:#fff;background:#0f766e}.calendar-time-label{color:#64748b;text-align:right;background:#f8fafc;padding:8px 8px 0;font-size:.76rem;font-weight:800}.calendar-time-slot{background:#fff;min-height:54px;padding:4px;position:relative}.calendar-time-slot:hover{background:#f8fafc}.calendar-slot-action{z-index:0;cursor:crosshair;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.calendar-slot-action:focus-visible{outline-offset:-3px;outline:3px solid #0d948847}.calendar-event-block{z-index:1;color:#0f172a;text-align:left;cursor:pointer;background:#ecfdf5;border:1px solid #0f766e42;border-left:4px solid #0f766e;border-radius:6px;align-content:start;gap:2px;width:100%;min-height:42px;padding:5px 6px;display:grid;position:relative;box-shadow:0 4px 10px #0f172a12}.calendar-event-block+.calendar-event-block{margin-top:4px}.calendar-event-block strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.12;display:-webkit-box;overflow:hidden}.calendar-event-block span{color:#475569;align-items:center;gap:4px;font-size:.68rem;font-weight:700;display:flex}.calendar-event-block span:not(.calendar-event-time){display:none}.calendar-event-block.video_lesson{background:#eff6ff;border-left-color:#2563eb}.calendar-event-block.live{border-color:#2563eb57}.calendar-event-block.cancelled,.calendar-agenda-row.cancelled,.calendar-month-event.cancelled{opacity:.62;text-decoration:line-through}.calendar-event-block.selected,.calendar-agenda-row.selected{border-color:#0f172a;box-shadow:0 0 0 3px #0f172a14}.calendar-month-grid{background:#fff;border:1px solid #0f172a1a;border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-month-day{border-bottom:1px solid #0f172a14;border-right:1px solid #0f172a14;grid-template-rows:auto 1fr;gap:6px;min-height:108px;padding:8px;display:grid}.calendar-month-day.muted{color:#94a3b8;background:#f8fafc}.calendar-month-day.today{box-shadow:inset 0 0 0 2px #0d948847}.calendar-month-date{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.calendar-month-date span{color:#64748b;text-transform:uppercase;font-size:.68rem;font-weight:800}.calendar-month-events{align-content:start;gap:4px;display:grid}.calendar-month-event,.calendar-month-add{color:#115e59;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#ccfbf1;border:0;border-radius:6px;min-width:0;padding:5px 7px;font-size:.72rem;font-weight:800;overflow:hidden}.calendar-month-event.video_lesson{color:#1d4ed8;background:#dbeafe}.calendar-month-add{color:#64748b;background:#f1f5f9;place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.calendar-more-count{color:#64748b;font-size:.72rem;font-weight:800}.calendar-agenda-list{gap:8px;display:grid}.calendar-agenda-row{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #0f172a1f;border-left:4px solid #0f766e;border-radius:8px;grid-template-columns:54px minmax(0,1fr) minmax(132px,.36fr);align-items:center;gap:10px;width:100%;padding:9px;display:grid}.calendar-agenda-date{color:#64748b;text-transform:uppercase;background:#f8fafc;border-radius:8px;justify-items:center;gap:2px;padding:6px;font-size:.74rem;font-weight:800;display:grid}.calendar-agenda-date strong{color:#0f172a;font-size:1.05rem}.calendar-agenda-body{gap:3px;display:grid}.calendar-agenda-body strong,.calendar-agenda-body small,.calendar-agenda-meta{overflow-wrap:anywhere}.calendar-agenda-body small,.calendar-agenda-meta{color:#64748b;font-size:.82rem}.calendar-agenda-meta{align-items:center;gap:6px;display:flex}.calendar-event-meta,.calendar-detail-row{color:#64748b;align-items:center;gap:7px;font-size:.88rem;display:flex}.calendar-detail{align-content:start;gap:10px;padding:14px;display:grid}.calendar-detail-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-detail-close{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #0f172a1a;border-radius:7px;place-items:center;width:30px;height:30px;display:inline-grid}.calendar-detail-close:hover{color:#0f172a;background:#eef2f7}.calendar-rsvp{background:#f8fafc;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px;display:grid}.calendar-rsvp button,.calendar-detail-actions button{white-space:nowrap}.calendar-invite-list{color:#475569;border-top:1px solid #0f172a1a;gap:7px;padding-top:6px;font-size:.9rem;display:grid}.calendar-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-empty{min-height:220px}.calendar-week-empty{grid-column:1/-1;margin:12px}.ops-command-strip,.tool-panel-header{border:1px solid var(--line);border-left:4px solid var(--teal);background:linear-gradient(90deg, #1280720a, transparent 40%), var(--paper);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.ops-command-strip h3,.tool-panel-header h3,.ops-table-row h3,.class-card h3,.school-lesson-card h4,.approval-card h3{letter-spacing:0;margin:0}.ops-command-strip p,.tool-panel-header p,.ops-table-row p,.class-card p,.school-lesson-card p,.approval-card p,.quick-action-card span{color:var(--muted);margin:6px 0 0}.ops-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ops-list,.ops-table,.school-lesson-grid,.quick-action-grid{gap:10px;display:grid}.ops-row,.ops-table-row,.approval-card,.school-lesson-card,.class-card,.quick-action-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;transition:border-color .13s,box-shadow .13s,transform .13s;box-shadow:0 2px 8px #171f2a0d}.ops-row:hover,.ops-table-row:hover{border-color:#1280723d;box-shadow:0 4px 14px #171f2a14}.ops-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:14px;display:grid}.ops-row span,.ops-table-row>span{color:var(--muted)}.ops-form,.lesson-import-form{border:1px solid var(--line);background:#ffffffe0;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.ops-form label,.lesson-import-form label,.communication-draft-form label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:800;display:grid}.ops-form input,.ops-form select,.ops-form textarea,.lesson-import-form input,.lesson-import-form select,.lesson-import-form textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.lesson-import-form{grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(260px,2fr) auto;align-items:stretch}.lesson-import-form textarea,.communication-draft-form textarea{resize:vertical;min-height:88px}.ops-table-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:16px;display:grid}.communication-row{grid-template-columns:minmax(0,1fr) auto auto auto}.class-board,.school-lesson-grid,.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-card,.school-lesson-card,.approval-card,.quick-action-card{padding:16px}.class-card header{justify-content:space-between;gap:12px;display:flex}.class-card-metrics{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:14px;font-size:.82rem;font-weight:800;display:flex}.class-card-metrics span{align-items:center;gap:5px;display:inline-flex}.class-roster{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.class-roster span,.recipient-picker label{color:var(--ink);background:#12807217;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:800}.quick-action-card{text-align:left;border:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);gap:8px;display:grid}.quick-action-card svg{color:var(--teal)}.quick-action-card:hover{background:#78e1c60f;border-color:#1280726b;transform:translateY(-2px);box-shadow:0 6px 18px #171f2a17}.approval-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.communication-draft-form{grid-template-columns:140px minmax(180px,1fr) minmax(260px,2fr) auto}.communication-draft-form .wide-field{min-width:0}.recipient-picker{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.recipient-picker label{align-items:center;gap:6px;display:inline-flex}.classes-workspace{gap:20px;display:grid}.class-management-panel{background:#fff;border:1px solid #0f172a1f;border-radius:8px;gap:16px;padding:18px;display:grid;box-shadow:0 12px 32px #0f172a0f}.class-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.class-summary-strip span{min-width:0;color:var(--muted);text-transform:uppercase;background:#fbf8f1;border:1px solid #0f172a1a;border-radius:8px;gap:2px;padding:12px;font-size:.76rem;font-weight:900;display:grid}.class-summary-strip strong{color:var(--ink);font-size:1.25rem;line-height:1}.class-management-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.class-management-header h3,.class-management-header p{margin:0}.class-management-header p{color:var(--muted);margin-top:4px;font-size:.9rem}.class-modal-overlay{z-index:320;-webkit-backdrop-filter:blur(7px);background:#17232d8a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.class-modal-card{background:#fff;border:1px solid #0f172a1f;border-radius:14px;flex-direction:column;width:min(940px,100%);max-height:min(760px,92dvh);display:flex;overflow:hidden;box-shadow:0 32px 80px #17232d3d,0 6px 20px #17232d1f}.class-modal-header{background:linear-gradient(#fff 0%,#fbf8f1 100%);border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 22px 16px;display:flex}.class-modal-header h3,.class-modal-header p{margin:0}.class-modal-header p{color:var(--muted);margin-top:4px;font-size:.88rem}.class-modal-body{gap:14px;padding:18px 22px 22px;display:grid;overflow:auto}.class-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.class-form-grid label,.class-picker{min-width:0}.class-form-grid label,.class-search{color:var(--muted);text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:900;display:grid}.class-form-grid input,.class-form-grid select,.class-search input{width:100%;min-width:0;color:var(--ink);font:inherit;text-transform:none;background:#fbf8f1;border:1px solid #0f172a29;border-radius:8px;padding:10px 12px}.class-form-grid small{color:var(--muted);text-transform:none;font-size:.74rem;font-weight:700}.class-picker{border:1px solid #0f172a1a;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.class-picker legend{color:var(--ink);align-items:center;gap:6px;padding:0 6px;font-size:.82rem;font-weight:900;display:inline-flex}.class-search{position:relative}.class-search svg{color:var(--muted);position:absolute;bottom:11px;left:12px}.class-search input{padding-left:34px}.class-picker-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:220px;display:grid;overflow:auto}.class-check-row{background:#fbf8f1;border:1px solid #0f172a1a;border-radius:8px;align-items:flex-start;gap:9px;min-width:0;padding:10px;display:flex}.class-check-row span{gap:2px;min-width:0;display:grid}.class-check-row strong,.class-check-row small{overflow-wrap:anywhere;min-width:0}.class-check-row strong{color:var(--ink);font-size:.88rem}.class-check-row small,.class-picker-empty{color:var(--muted);font-size:.78rem}.class-picker-empty{margin:0}.class-form-notice{border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.86rem;font-weight:800;display:inline-flex}.class-form-notice.success{color:#0f766e;background:#14b8a61f}.class-form-notice.error{color:#b42318;background:#f43f5e1a}.class-form-actions,.class-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.class-card{gap:14px;display:grid;position:relative;overflow:hidden}.class-card:before{content:"";background:linear-gradient(90deg, var(--teal), #e0b15b);height:4px;position:absolute;inset:0 0 auto}.class-card-header{align-items:flex-start}.class-card-title-row{align-items:flex-start;gap:12px;min-width:0;display:flex}.class-icon-tile{color:#0f766e;background:#14b8a61f;border-radius:8px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.class-schedule-row{min-width:0;color:var(--ink);background:#fbf8f1;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;font-weight:850;display:inline-flex}.class-schedule-row span{overflow-wrap:anywhere;min-width:0}.classes-section{gap:12px;display:grid}.classes-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.82rem;font-weight:900}.classes-empty{text-align:center;color:var(--muted);place-items:center;gap:10px;padding:48px 24px;display:grid}.classes-empty svg{color:#12807266}.classes-empty h3{color:var(--ink);margin:0;font-size:1.06rem}.classes-empty p{margin:0;font-size:.88rem}.agents-section{gap:10px;margin-top:4px;display:grid}.approval-command-strip{background:linear-gradient(135deg,#1280721f,#ffffffc7 42%),#fff;border:1px solid #12807233;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex;box-shadow:0 18px 44px #171f2a14}.approval-command-strip h3{color:var(--ink);letter-spacing:0;margin:10px 0 0;font-size:1.18rem}.approval-command-strip p{max-width:680px;color:var(--muted);margin:6px 0 0}.agents-import-form{grid-template-columns:200px minmax(200px,1fr)!important}.agents-section-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.agents-section-header p{color:var(--muted);margin:4px 0 0;font-size:.84rem}.approval-card-main{grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.approval-type-icon{color:#075044;background:#78e1c63d;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.approval-card-meta,.approval-card-detail,.approval-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval-card-meta{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.approval-card-detail{color:var(--muted);margin-top:10px;font-size:.84rem;font-weight:800}.approval-review-panel{background:#f8fcfae0;border:1px solid #1280722e;border-radius:8px;gap:12px;margin-top:14px;padding:14px;display:grid}.approval-review-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.approval-review-header strong{color:var(--ink);margin-top:3px;display:block}.approval-review-kicker{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:900}.approval-review-facts{flex-wrap:wrap;gap:8px;display:flex}.approval-review-facts span{color:#075044;background:#12807217;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.approval-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.approval-review-section{background:#ffffffc7;border:1px solid #171f2a14;border-radius:8px;min-width:0;padding:10px}.approval-review-section h4{color:var(--ink);letter-spacing:0;margin:0 0 8px;font-size:.82rem}.approval-review-section ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;font-size:.82rem;display:grid}.approval-review-section li::marker{color:#128072}.approval-publish-note,.approval-message-preview{color:var(--muted);margin:0;font-size:.84rem}.approval-publish-note{border-top:1px solid #171f2a14;padding-top:10px;font-weight:800}.approval-card-actions{justify-content:flex-end}.agents-pending-note{color:var(--muted);font-size:.82rem;font-style:italic}.comms-form-row{grid-column:1/-1;grid-template-columns:180px minmax(0,1fr);gap:12px;display:grid}.comms-title-field{min-width:0}.comms-field-label{color:var(--muted);font-size:.82rem;font-weight:900}.recipient-section{grid-column:1/-1;gap:10px;display:grid}.recipient-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.recipient-quick-actions{flex-wrap:wrap;gap:6px;display:flex}.comms-submit-row{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;display:flex}.comms-approval-note{color:var(--muted);margin:0;font-size:.82rem}.profile-cohort-list{grid-column:1/-1}.profile-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}@media (width<=980px){.ops-grid,.class-board,.class-form-grid,.class-summary-strip,.school-lesson-grid,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-form,.lesson-import-form,.communication-draft-form,.ops-table-row,.approval-card{grid-template-columns:1fr}.approval-card-actions{justify-content:flex-start}}@media (width<=640px){.ops-grid,.class-board,.class-form-grid,.class-summary-strip,.school-lesson-grid,.quick-action-grid{grid-template-columns:1fr}.ops-command-strip,.approval-command-strip,.class-management-header,.tool-panel-header{flex-direction:column}.agents-section-header,.approval-card-main{grid-template-columns:1fr}.approval-review-header{flex-direction:column}.approval-review-grid,.request-demo-grid,.request-demo-callout{grid-template-columns:1fr}.request-demo-link{width:100%}.agents-section-header{align-items:start;display:grid}.class-modal-overlay{align-items:flex-end;padding:0}.class-modal-card{border-radius:14px 14px 0 0;max-height:94dvh}.class-modal-header,.class-modal-body{padding-left:16px;padding-right:16px}}.role-tab{color:#f8faf7b8;cursor:pointer;min-height:34px;font:inherit;background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.role-tab:hover{color:var(--paper);background:#ffffff14}.role-tab.active{color:var(--paper);background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff14}.profile-panel{background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;transition:background .15s,border-color .15s;display:grid}.profile-panel:hover{background:#ffffff17;border-color:#ffffff24}.profile-panel>div{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.profile-panel .avatar{width:44px;height:44px;font-size:.92rem}.locale-switcher{color:var(--paper);background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;gap:6px;padding:10px 12px;display:grid}.locale-switcher span{color:#f8faf7b3;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;font-size:.72rem;font-weight:800;display:inline-flex}.locale-switcher select{min-width:0;min-height:36px;color:var(--paper);font:inherit;cursor:pointer;background:#0a131ab8;border:1px solid #ffffff1f;border-radius:8px;padding:0 10px;font-size:.88rem;transition:border-color .15s,background .15s}.locale-switcher select:hover,.locale-switcher select:focus-visible{background:#0a131ad9;border-color:#78e1c68c}.avatar{width:52px;height:52px;color:var(--paper);background:linear-gradient(145deg,#e84a5ff2,#128072e6);border-radius:50%;place-items:center;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:0;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.profile-panel .eyebrow{color:var(--mint)}.profile-panel h2{color:var(--paper);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.94rem;font-weight:800;line-height:1.2;overflow:hidden}.sidebar-nav{gap:3px;display:grid}.sidebar-nav a{color:#f8faf7c2;letter-spacing:.005em;border-radius:8px;align-items:center;gap:11px;min-height:40px;padding:0 12px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s,transform .12s;display:flex;position:relative}.sidebar-nav a svg{opacity:.85;flex:none;transition:opacity .12s}.sidebar-nav .nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-nav a:hover,.sidebar-nav a:focus-visible{color:var(--paper);background:#ffffff14;outline:none}.sidebar-nav a:hover svg,.sidebar-nav a:focus-visible svg{opacity:1}.sidebar-nav a.active,.sidebar-nav a[aria-current=page]{color:var(--paper);box-shadow:inset 3px 0 0 var(--mint);background:linear-gradient(90deg,#78e1c62e,#ffffff0f);font-weight:700}.sidebar-nav a.active svg,.sidebar-nav a[aria-current=page] svg{opacity:1;color:var(--mint)}.security-note{color:var(--paper);background:#12807229;border:1px solid #78e1c63d;grid-template-columns:20px minmax(0,1fr);gap:10px;margin-top:auto;padding:14px;display:grid}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-toggle{color:#f8faf7b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:7px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{color:var(--paper);background:#78e1c626;border-color:#78e1c666;outline:none}.sidebar-collapsed .sidebar{align-items:center;padding:16px 10px;overflow:hidden}.sidebar-collapsed .sidebar-top{flex-direction:column;align-items:center;gap:10px;width:100%}.sidebar-collapsed .brand-text,.sidebar-collapsed .role-switcher,.sidebar-collapsed .profile-panel>div,.sidebar-collapsed .locale-switcher,.sidebar-collapsed .nav-label,.sidebar-collapsed .security-note-text{display:none}.sidebar-collapsed .brand-lockup{justify-content:center}.sidebar-collapsed .profile-panel{grid-template-columns:1fr;justify-items:center;padding:10px}.sidebar-collapsed .sidebar-nav{width:100%}.sidebar-collapsed .sidebar-nav a{border-radius:10px;justify-content:center;width:44px;height:44px;margin:0 auto;padding:0}.sidebar-collapsed .sidebar-nav a.active,.sidebar-collapsed .sidebar-nav a[aria-current=page]{box-shadow:none;background:#ffffff29}.sidebar-collapsed .security-note{grid-template-columns:1fr;justify-items:center;padding:10px}.sidebar-collapsed .sidebar-nav a[title]:hover:after{content:attr(title);white-space:nowrap;background:var(--ink);color:var(--paper);pointer-events:none;z-index:200;border-radius:6px;padding:5px 10px;font-size:.78rem;font-weight:700;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 4px 12px #0003}.sidebar-collapsed .sidebar-nav a{position:relative}.workspace{gap:16px;padding:20px;display:grid}.messages-page .workspace,.ai-page .workspace{grid-template-rows:minmax(0,1fr);gap:0;height:100dvh;min-height:0;padding:12px;overflow:hidden}.calls-page .workspace{height:100dvh;min-height:0}.calls-page .workspace:has(.video-room.expanded){grid-template-rows:minmax(0,1fr);overflow:hidden}.calls-page .workspace:has(.video-room.expanded) .workspace-page{align-items:stretch;min-height:0}.workspace-page{align-items:start;gap:16px;min-width:0;display:grid}.persistent-call-view{min-width:0}.persistent-call-view.is-hidden{display:none}.meeting-return-banner{min-height:44px;color:var(--ink);background:linear-gradient(110deg,#78e1c62e,#fffffff0 58%),#fff;border:1px solid #12807247;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px 7px 10px;display:flex;box-shadow:0 8px 22px #171f2a12}.meeting-return-copy{align-items:center;gap:8px;min-width:0;display:flex}.meeting-return-copy>svg{color:var(--teal);flex:none}.meeting-return-copy p{align-items:baseline;gap:7px;min-width:0;margin:0;line-height:1.2;display:flex}.meeting-return-banner strong{color:var(--ink);white-space:nowrap;font-size:.9rem}.meeting-return-copy span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.meeting-return-actions{flex:none;gap:6px;display:flex}.meeting-icon-action{width:32px;height:32px;min-height:32px;color:var(--ink);background:#ffffffdb;border:1px solid #0f172a1c;border-radius:8px;padding:0}.meeting-icon-action:first-child{color:var(--paper);background:var(--ink);border-color:var(--ink)}.ai-page .workspace-page,.messages-page .workspace-page{align-items:stretch;gap:0;min-height:0}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;display:flex}.topbar h1{color:var(--ink);font-size:1.44rem;line-height:1.15}.topbar p,.overview-copy p,.record-row p,.task-card p,.ai-card p,.progress-card p,.feedback-card p,.lesson-detail p,.metric-card p{color:var(--muted);margin:6px 0 0}.topbar p{max-width:68ch;margin-top:3px;font-size:.88rem;line-height:1.35}.overview-page .topbar{padding:14px 20px}.overview-page .topbar h1{font-size:1.48rem}.lessons-page .topbar,.profile-page .topbar,.add-user-page .topbar{padding:10px 16px}.lessons-page .topbar h1,.profile-page .topbar h1,.add-user-page .topbar h1{font-size:1.26rem}.lessons-page .topbar p,.profile-page .topbar p,.add-user-page .topbar p{margin-top:2px;font-size:.84rem}.messages-page .topbar,.ai-page .topbar,.progress-page .topbar,.students-page .topbar,.teachers-page .topbar,.calls-page .topbar,.classes-page .topbar,.agents-page .topbar,.communications-page .topbar{display:none}.progress-page .workspace,.students-page .workspace,.teachers-page .workspace,.calls-page .workspace,.classes-page .workspace,.agents-page .workspace,.communications-page .workspace{gap:0;padding:12px}.lessons-page .workspace,.profile-page .workspace,.add-user-page .workspace{gap:10px;padding:14px}.primary-action,.ghost-action,.link-button,.provider-action,.compact-action,.wide-action,.upload-action,.composer button,.ai-chat-composer button{cursor:pointer;min-height:42px;font:inherit;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary-action,.composer button,.ai-chat-composer button{color:var(--paper);background:var(--ink);padding:0 16px}.ghost-action,.link-button,.compact-action,.wide-action,.upload-action{color:var(--ink);background:var(--paper);border-color:var(--line);padding:0 14px}.primary-action:hover,.ghost-action:hover,.link-button:hover,.provider-action:hover,.compact-action:hover,.wide-action:hover,.upload-action:hover,.composer button:hover,.ai-chat-composer button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #171f2a1f}button:disabled{cursor:not-allowed;opacity:.62}.auth-login-form{gap:12px;display:grid}.auth-login-form label{gap:7px;display:grid}.auth-login-form label>span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:900;display:inline-flex}.auth-login-form input,.auth-login-form select,.auth-login-form textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:46px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 12px}.auth-login-form textarea{resize:vertical;min-height:84px;padding:11px 12px}.auth-login-form input:focus,.auth-login-form select:focus,.auth-login-form textarea:focus{border-color:#12807280;outline:2px solid #1280723d}.auth-access-note,.staff-auth-panel,.request-demo-callout,.request-demo-panel{border:1px solid var(--line);background:#f7faf8db;gap:10px;padding:12px;display:grid}.auth-access-note{color:var(--teal);grid-template-columns:18px minmax(0,1fr)}.auth-access-note strong,.auth-access-note span{display:block}.auth-access-note strong{color:var(--ink);font-size:.9rem}.auth-access-note span,.staff-auth-panel p,.request-demo-callout p{color:var(--muted);margin:3px 0 0;font-size:.86rem;line-height:1.4}.request-demo-callout{grid-template-columns:minmax(0,1fr) auto;align-items:center}.request-demo-link{white-space:nowrap}.request-demo-screen{align-items:start;padding-block:48px}.request-demo-page-panel{width:min(100%,620px)}.request-demo-page-panel .request-demo-panel{background:0 0;border:0;padding:0}.request-demo-page-panel .auth-back-link{justify-self:start;min-height:36px}.request-demo-panel{background:linear-gradient(135deg,#12807217,#ffffffbd 42%),#f7faf8eb;gap:12px}.request-demo-heading{gap:4px;display:grid}.request-demo-heading h2{color:var(--ink);letter-spacing:0;margin:0;font-size:1.08rem}.request-demo-heading p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.request-demo-grid{grid-template-columns:minmax(0,1fr) 132px;gap:10px;display:grid}.request-demo-notice{align-items:center;gap:8px;margin:0;font-size:.84rem;font-weight:800;line-height:1.35;display:inline-flex}.request-demo-notice.success{color:#0b6b45}.request-demo-notice.error{color:#9d2434}.request-demo-submit{width:100%}.auth-provider-list{gap:10px;margin-top:4px;display:grid}.provider-action{border-color:var(--line);width:100%;min-height:46px;color:var(--ink);background:var(--paper);padding:0 16px}.provider-action.apple{color:var(--paper);background:#111820;border-color:#111820}.provider-glyph{width:20px;height:20px;color:var(--paper);background:linear-gradient(135deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);border-radius:50%;place-items:center;font-size:.78rem;font-weight:900;line-height:1;display:inline-grid}.overview-band{min-height:0;color:var(--ink);border:1px solid var(--line);background:linear-gradient(110deg,#1280721a,#0000 54%),#ffffffeb;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:14px;padding:16px;display:grid;overflow:hidden}.overview-copy{align-self:center}.pulse-label{color:#075044;background:#78e1c633;border-radius:8px;align-items:center;gap:8px;width:fit-content;padding:6px 9px;font-size:.82rem;font-weight:900;display:inline-flex}.overview-copy h2{max-width:720px;color:var(--ink);margin-top:9px;font-size:1.54rem}.overview-copy p{max-width:620px;color:var(--muted);font-size:.92rem;line-height:1.42}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.dashboard-next-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;align-content:center;gap:7px;min-width:0;padding:14px;display:grid}.dashboard-next-card strong{color:var(--ink);font-size:1.06rem;line-height:1.25}.dashboard-next-card>span:not(.eyebrow){color:var(--muted);line-height:1.35}.dashboard-next-card .hero-actions{margin-top:8px}.clinical-visual{background-color:#ffffff1a;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #ffffff2e;border-radius:8px;align-content:center;align-self:stretch;gap:12px;min-height:172px;padding:14px;display:grid}.monitor-frame{background:#0a131abd;border:1px solid #78e1c63d;border-radius:8px;height:104px;position:relative;overflow:hidden}.monitor-line,.wave{background:#78e1c638;height:2px;position:absolute;left:18px;right:18px}.monitor-line{top:28px}.monitor-line.short{top:76px;right:42%}.wave{background:linear-gradient(90deg, transparent 0 7%, var(--mint) 7% 13%, transparent 13% 22%, var(--mint) 22% 29%, transparent 29% 35%, var(--coral) 35% 38%, transparent 38% 48%, var(--mint) 48% 62%, transparent 62% 100%);filter:drop-shadow(0 0 10px #78e1c680);height:26px;top:51px}.dialogue-strip{gap:8px;display:grid}.dialogue-strip span{width:fit-content;max-width:100%;color:var(--paper);background:#ffffff24;border-radius:8px;padding:8px 10px;display:block}.dialogue-strip span:nth-child(2){background:#78e1c62e;justify-self:end}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:var(--paper);border:1px solid var(--line);min-height:92px;box-shadow:inset 3px 0 0 var(--teal);padding:14px;transition:background .14s,box-shadow .14s}.metric-card:hover{box-shadow:inset 3px 0 0 var(--teal), 0 4px 14px #171f2a12;background:#12807208}.metric-card span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.metric-card strong{color:var(--ink);margin-top:6px;font-size:1.58rem;line-height:1;display:block}.metric-card p{color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.3}.dashboard-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:14px;display:grid}.dashboard-card-icon{width:38px;height:38px;color:var(--teal);background:#1280721a;border-radius:8px;place-items:center;display:grid}.dashboard-card h3{color:var(--ink);margin:4px 0 0;font-size:1rem;line-height:1.2}.dashboard-card p{color:var(--muted);margin:5px 0 0;line-height:1.4}.dashboard-shell{gap:14px;display:grid}.dashboard-hero-panel{border:1px solid #0f172a1a;border-top:3px solid var(--teal);background:linear-gradient(120deg,#1280721f,#e0b15b12 48%,#0000 72%),#fffffff5;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(270px,360px);align-items:center;gap:14px;min-width:0;padding:20px;display:grid;overflow:hidden;box-shadow:0 4px 18px #171f2a14}.dashboard-hero-panel.student{z-index:4;border-top-color:var(--mint);background:linear-gradient(120deg,#78e1c62e,#e84a5f12 50%,#0000 74%),#fffffff5;position:sticky;top:20px}.dashboard-hero-panel.teacher{border-top-color:var(--teal);background:linear-gradient(120deg,#1280721f,#f5b34212 50%,#0000 74%),#fffffff5}.dashboard-hero-panel.admin{border-top-color:var(--ink);background:linear-gradient(120deg,#17232d1a,#12807217 48%,#0000 72%),#fffffff5}.dashboard-hero-copy{align-content:center;align-self:center;gap:10px;min-width:0;display:grid}.dashboard-hero-copy h2{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.04}.dashboard-hero-copy p{max-width:68ch;color:var(--muted);margin:0;font-size:.98rem;line-height:1.45}.dashboard-hero-actions{flex-wrap:wrap;gap:9px;margin-top:4px;display:flex}.dashboard-ai-entry{min-height:44px}.dashboard-priority-card{background:linear-gradient(180deg, #ffffffe0, #f7faf8c7), var(--paper);border:1px solid #0f172a1a;border-radius:8px;align-content:center;gap:10px;min-width:0;padding:15px;display:grid}.dashboard-priority-card strong{color:var(--ink);font-size:1.16rem;line-height:1.22}.dashboard-priority-card>span:not(.eyebrow),.dashboard-class-card span,.dashboard-task-card span,.dashboard-feedback-card span,.dashboard-learner-row small{color:var(--muted);line-height:1.35}.dashboard-progress-ring{background:radial-gradient(circle at center, var(--paper) 0 56%, transparent 57%), conic-gradient(var(--teal) var(--progress), #0f172a1a 0);border-radius:50%;place-self:end;place-items:center;width:112px;height:112px;display:grid}.dashboard-progress-ring strong,.dashboard-progress-ring span{grid-area:1/1}.dashboard-progress-ring strong{margin-top:-12px;font-size:1.4rem}.dashboard-progress-ring span{color:var(--muted);text-transform:uppercase;margin-top:34px;font-size:.74rem;font-weight:900}.dashboard-mic-orb{width:112px;height:112px;color:var(--paper);background:linear-gradient(135deg, #78e1c642, transparent 62%), var(--teal);border:1px solid #0f766e38;border-radius:50%;place-self:center;place-items:center;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;box-shadow:0 18px 34px #0f766e38}.dashboard-mic-orb:hover,.dashboard-mic-orb:focus-visible{border-color:#0f766e6b;transform:translateY(-1px);box-shadow:0 22px 40px #0f766e47}.dashboard-mic-orb:active{transform:translateY(1px)}.dashboard-hero-student-stats{border-top:1px solid #0f172a14;flex-wrap:wrap;grid-column:1/-1;gap:10px;padding-top:14px;display:flex}.dashboard-stat-chip{border:1px solid var(--line);background:var(--paper);min-width:100px;color:var(--teal);border-radius:10px;flex:1;align-items:center;gap:9px;padding:11px 14px;display:flex;box-shadow:0 1px 4px #171f2a0d}.dashboard-stat-chip strong{color:var(--ink);font-size:1.18rem;font-weight:900;line-height:1}.dashboard-stat-chip span{color:var(--muted);font-size:.78rem;font-weight:700}.dashboard-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-role-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-items:start;gap:14px;display:grid}.dashboard-generated-exercises{grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);align-items:start;gap:14px;display:grid}.dashboard-panel{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 2px 8px #171f2a0d}.exercise-current,.exercise-history{align-content:start}.dashboard-panel-header,.dashboard-class-card-top,.dashboard-class-progress>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-panel-header h3{color:var(--ink);margin:4px 0 0;font-size:1.08rem;line-height:1.2}.dashboard-class-list,.dashboard-learner-list,.dashboard-student-stack{gap:10px;display:grid}.dashboard-class-card,.dashboard-task-card,.dashboard-feedback-card,.dashboard-empty,.dashboard-learner-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0;padding:13px;transition:border-color .13s,background .13s,box-shadow .13s}.dashboard-class-card:hover,.dashboard-task-card:hover{background:#78e1c60f;border-color:#12807247;box-shadow:0 2px 10px #171f2a0f}.dashboard-class-card{gap:11px;display:grid}.dashboard-class-card strong,.dashboard-task-card strong,.dashboard-feedback-card strong,.dashboard-learner-row strong{color:var(--ink)}.dashboard-class-card-top>div,.dashboard-feedback-card>div{gap:4px;min-width:0;display:grid}.dashboard-learner-row>div{gap:5px;min-width:0;display:grid}.dashboard-class-progress{gap:7px;display:grid}.dashboard-class-progress span{text-transform:uppercase;font-size:.78rem;font-weight:900}.dashboard-class-progress strong{font-size:.95rem}.dashboard-class-meta{flex-wrap:wrap;gap:7px;display:flex}.dashboard-class-meta span{color:#24423d;background:#78e1c629;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:0 9px;font-size:.76rem;font-weight:900;display:inline-flex}.dashboard-learner-row{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.dashboard-learner-row:hover,.dashboard-learner-row:focus-visible{background:#78e1c61f;border-color:#1280724d}.dashboard-learner-row .avatar{width:38px;height:38px;font-size:.78rem}.dashboard-learner-row>span:last-child{color:var(--teal);font-weight:900}.dashboard-task-card{border-left:4px solid var(--coral);gap:5px;display:grid}.dashboard-feedback-card{color:var(--teal);grid-template-columns:22px minmax(0,1fr);gap:9px;display:grid}.dashboard-empty{min-height:110px;color:var(--muted);align-content:center;place-items:center;gap:8px;display:grid}.dashboard-empty.compact{min-height:84px}.ai-practice-panel{gap:16px}.exercise-session-strip{scrollbar-width:thin;scrollbar-color:#1280724d transparent;gap:9px;padding-bottom:4px;display:flex;overflow-x:auto}.exercise-session-strip::-webkit-scrollbar{height:4px}.exercise-session-strip::-webkit-scrollbar-thumb{background:#1280724d;border-radius:999px}.exercise-session-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:150px;max-width:210px;font:inherit;text-align:left;border-radius:9px;flex:none;gap:3px;padding:10px 12px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.exercise-session-card.active{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:#12807212}.exercise-session-card:hover:not(.active){background:#78e1c617;border-color:#1280725c}.exercise-session-card strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;line-height:1.3;overflow:hidden}.exercise-session-card span{color:var(--teal);align-items:center;gap:4px;font-size:.74rem;font-weight:800;display:flex}.exercise-session-card .session-pending{color:var(--muted)}.exercise-session-card small{color:var(--muted);font-size:.7rem}.exercise-topic-bar{background:#1280720d;border:1px solid #12807224;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:11px 14px;display:flex}.exercise-topic-bar strong{color:var(--ink);font-size:.96rem}.exercise-topic-bar span{color:var(--muted);font-size:.82rem}.exercise-quiz{gap:11px;display:grid}.exercise-question small,.exercise-flashcard small,.exercise-footer span{color:var(--muted);line-height:1.35}.exercise-flashcards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.exercise-flashcard,.exercise-question{border:1px solid var(--line);background:var(--surface);border-radius:9px;gap:8px;min-width:0;padding:13px;transition:border-color .12s,background .12s;display:grid}.exercise-flashcard{border-top:3px solid var(--mint)}.exercise-flashcard span{color:var(--teal);text-transform:uppercase;letter-spacing:.02em;font-size:.84rem;font-weight:900}.exercise-flashcard p{color:var(--ink);margin:0;font-size:.96rem;line-height:1.45}.exercise-question strong{color:var(--ink);line-height:1.3}.exercise-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.exercise-option{min-height:40px;color:var(--ink);font:inherit;text-align:left;background:#ffffffc7;border:1px solid #0f172a1f;border-radius:8px;padding:8px 10px;font-size:.88rem;font-weight:800;line-height:1.25}.exercise-option:hover,.exercise-option:focus-visible,.exercise-option.selected{background:#78e1c624;border-color:#12807257}.exercise-option.correct{color:#075044;background:#78e1c638;border-color:#12807273}.exercise-option.incorrect{color:#7f1d1d;background:#fee2e2e6;border-color:#dc26267a}.exercise-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.exercise-history-row{border:1px solid var(--line);width:100%;min-width:0;color:inherit;background:var(--surface);font:inherit;text-align:left;border-radius:8px;gap:4px;padding:11px;transition:border-color .12s,background .12s;display:grid}.exercise-history-row:hover,.exercise-history-row:focus-visible,.exercise-history-row.active{background:#78e1c61a;border-color:#12807257}.exercise-history-row strong{color:var(--ink);line-height:1.25}.content-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);align-items:start;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#ffffffe6;min-width:0;padding:18px}#messages,#ai{min-height:0}.messages-page #messages{background:0 0;border:none;border-radius:0;grid-template-rows:minmax(0,1fr);height:100%;padding:0;display:grid;overflow:hidden}.ai-page #ai{background:0 0;border:0;grid-template-rows:minmax(0,1fr);height:100%;padding:0;display:grid;overflow:hidden}.panel-header{align-items:center;gap:10px;min-height:40px;margin-bottom:14px;display:flex}.progress-page #progress>.panel-header,.students-page #students>.panel-header,.teachers-page #teachers>.panel-header,.add-user-page #add-user>.panel-header,.lessons-page #lessons>.panel-header,.ai-page #ai>.panel-header,.messages-page #messages>.panel-header,.profile-page #profile>.panel-header,.classes-page #classes>.panel-header,.agents-page #agents>.panel-header,.communications-page #communications>.panel-header{display:none}.progress-page #progress.panel,.students-page #students.panel,.teachers-page #teachers.panel,.add-user-page #add-user.panel,.lessons-page #lessons.panel,.profile-page #profile.panel,.classes-page #classes.panel,.agents-page #agents.panel,.communications-page #communications.panel{padding:14px}.ai-page #ai.panel,.messages-page #messages.panel{background:0 0;border:0;padding:0}.panel-icon,.task-icon{width:36px;height:36px;color:var(--teal);background:#1280721a;border-radius:8px}.panel h2{color:var(--ink);font-size:1.08rem}.stacked-list,.teacher-grid,.student-flow,.ai-list,.catalog-shell,.empty-state{gap:12px;display:grid}.catalog-toolbar{grid-template-columns:minmax(0,1fr) 172px;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;display:grid}.catalog-shell{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%}#lessons.panel{background:linear-gradient(#12807214,#0000 260px),#ffffffeb}.lesson-workspace{gap:16px}.lesson-hero{min-width:0;color:var(--paper);background:linear-gradient(135deg,#78e1c61a 0%,#0000 50%),#131f1e;border:1px solid #78e1c61f;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);align-items:stretch;gap:16px;padding:18px 20px;display:grid;overflow:hidden;box-shadow:0 14px 34px #0a141233}.lesson-hero-copy{align-self:center;min-width:0;padding:2px 0}.lesson-hero .eyebrow{color:var(--mint);letter-spacing:0;opacity:.8}.lesson-hero h3{max-width:720px;color:var(--paper);letter-spacing:0;margin:8px 0 0;font-size:1.45rem;line-height:1.12}.lesson-hero p{color:#f8faf78f;max-width:580px;margin:7px 0 0;font-size:.88rem;line-height:1.42}.lesson-hero-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.lesson-hero-start{min-height:40px;color:var(--paper);cursor:pointer;font:inherit;background:#ffffff1a;border:1px solid #78e1c64d;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:.86rem;font-weight:800;transition:background-color .14s,border-color .14s;display:inline-flex}.lesson-hero-start:hover,.lesson-hero-start:focus-visible{background:#78e1c62e;border-color:#78e1c67a;outline:none}.lesson-hero-progress{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;align-content:center;gap:12px;min-width:0;padding:14px;display:grid}.lesson-hero-progress>div:first-child,.path-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-hero-progress span{color:#f8faf773;text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800}.lesson-hero-progress strong{color:var(--paper);letter-spacing:0;font-size:.94rem}.lesson-hero-progress .progress-bar{background:#ffffff1a;border-radius:999px;height:3px}.lesson-hero-progress .progress-bar span{background:var(--mint);opacity:.7}.lesson-hero-metrics{flex-wrap:wrap;gap:10px;display:flex}.lesson-hero-metrics span{color:#f8faf773;white-space:nowrap;align-items:center;gap:5px;font-size:.76rem;font-weight:700;display:inline-flex}.level-selector{scrollbar-width:none;gap:6px;width:100%;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.level-selector::-webkit-scrollbar{display:none}.level-button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--paper);cursor:pointer;font:inherit;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 14px;transition:color .14s,border-color .14s,background-color .14s,box-shadow .14s;display:inline-flex}.level-button:hover,.level-button:focus-visible{color:var(--ink);border-color:#1280724d}.level-button.active{color:var(--paper);background:var(--teal);border-color:var(--teal);box-shadow:0 4px 14px #12807238}.level-button strong{letter-spacing:0;font-size:.84rem;font-weight:800}.level-button span{color:inherit;opacity:.65;font-size:.72rem;font-weight:600}.level-button-bar{background:#171f2a1a;border-radius:999px;width:28px;height:3px;overflow:hidden}.level-button.active .level-button-bar{background:#fff3}.level-button-bar-fill{border-radius:inherit;background:var(--teal);height:100%;transition:width .4s}.level-button.active .level-button-bar-fill{background:#ffffffd9}.select-control{border:1px solid var(--line);background:var(--paper);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:0 10px;display:grid}.select-control select{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;font-weight:800}.catalog-summary,.generation-console{border:1px solid var(--line);background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.catalog-summary span,.generation-console span{color:var(--muted);font-size:.84rem}.path-summary b{color:var(--teal);flex:none;font-size:.82rem;font-weight:800}.generation-console div{gap:3px;display:grid}.game-strip{grid-template-columns:repeat(4,minmax(110px,1fr)) repeat(2,minmax(176px,1.4fr));gap:10px;display:grid}.game-stat,.daily-goal,.activity-overview,.lesson-runner,.activity-card,.answer-feedback,.runner-result-grid div{border-radius:8px}.game-stat,.daily-goal{background:var(--paper);border:1px solid var(--line);border-radius:10px;align-content:center;gap:5px;min-width:0;min-height:84px;padding:13px 14px;transition:box-shadow .16s,transform .16s;display:grid;box-shadow:0 8px 24px #171f2a0d}.game-stat:hover{transform:translateY(-1px);box-shadow:0 14px 32px #171f2a17}.game-stat{grid-template-columns:26px minmax(0,1fr);align-items:center}.game-stat.primary{color:#075044;background:linear-gradient(145deg, #78e1c633, transparent 60%), var(--paper);border-color:#12807233;box-shadow:0 8px 24px #1280721a}.game-stat svg{color:var(--teal);grid-row:span 2}.game-stat.primary svg{color:#075044}.game-stat span,.daily-goal span,.runner-result-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:900}.game-stat strong,.daily-goal strong,.runner-result-grid strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:1.05rem}.game-stat.primary strong{color:#075044}.daily-goal{background:linear-gradient(145deg, #1280720d, transparent 60%), var(--paper);border-color:#12807229;gap:10px}.daily-goal div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.progress-bar.compact{height:8px;margin-top:0}.lesson-view-tabs{border:1px solid var(--line);background:#171f2a0a;border-radius:10px;gap:2px;padding:4px;display:flex}.lesson-view-tab{min-height:44px;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;align-items:center;gap:8px;padding:8px 12px;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s;display:flex}.lesson-view-tab svg{color:inherit}.lesson-view-tab:hover,.lesson-view-tab:focus-visible{color:var(--ink);background:var(--surface);border-color:var(--line)}.lesson-view-tab strong,.lesson-view-tab small{display:block}.lesson-view-tab strong{color:inherit;font-size:.88rem}.lesson-view-tab small{color:inherit;opacity:.72;margin-top:1px;font-size:.72rem}.lesson-view-tab.active{color:var(--ink);background:var(--paper);border-color:var(--line);box-shadow:0 2px 8px #171f2a0f}.lesson-view-tab.active svg{color:var(--teal)}.lesson-view-tab.active small{opacity:.72;color:var(--teal)}.learning-tool-panel,.authoring-console,.review-card,.notebook-card,.mastery-row{border-radius:8px}.learning-tool-panel,.authoring-console{background:linear-gradient(180deg, #1280720a, transparent 190px), var(--paper);border:1px solid var(--line);gap:14px;padding:16px;display:grid;box-shadow:0 14px 34px #171f2a12}.tool-panel-header,.authoring-summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tool-panel-header h3,.authoring-summary h3,.review-card h4,.notebook-card h4,.mastery-row h4{color:var(--ink);margin:3px 0 0;line-height:1.12}.tool-panel-header p,.authoring-summary p,.review-card p,.notebook-card p,.mastery-row p{color:var(--muted);margin:4px 0 0;font-size:.9rem;line-height:1.4}.review-grid,.notebook-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.review-card,.notebook-card{border:1px solid var(--line);background:#ffffffd1;align-content:start;gap:12px;min-width:0;padding:13px;display:grid}.notebook-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}.notebook-card.favorite{background:#78e1c624;border-color:#12807247}.notebook-search{gap:6px;min-width:min(260px,100%);display:grid}.notebook-search span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.notebook-search input{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 11px}.mastery-list{gap:10px;display:grid}.mastery-row{border:1px solid var(--line);background:#f7faf8db;grid-template-columns:minmax(0,1fr) minmax(160px,.32fr);align-items:center;gap:14px;padding:13px;display:grid}.mastery-meter{gap:8px;display:grid}.mastery-meter strong{text-align:right;color:var(--ink)}.learner-progress-dashboard{background:linear-gradient(180deg, #1280720a, transparent 210px), var(--paper);border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid;box-shadow:0 14px 34px #171f2a12}.progress-page .learner-progress-dashboard{gap:10px;padding:12px;box-shadow:0 8px 22px #171f2a0d}.progress-summary-pills{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.progress-summary-pills span{color:#075044;background:#78e1c633;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.progress-page .progress-summary-pills span{min-height:24px;padding:0 8px;font-size:.72rem}.progress-filters{grid-template-columns:minmax(220px,1fr) minmax(140px,.24fr);gap:10px;display:grid}.progress-filters label{gap:6px;min-width:0;display:grid}.progress-filters span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.progress-filters input,.progress-filters select{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 11px}.progress-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:12px;display:grid}.progress-dashboard-compact{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:start;gap:12px;display:grid}.learner-table,.learner-detail-panel,.learner-lesson-list,.recent-attempts{gap:8px;min-width:0;display:grid}.learner-row{border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#f7faf8c7;border-radius:8px;grid-template-columns:36px minmax(0,1fr) minmax(120px,.26fr) minmax(70px,auto) minmax(62px,auto);align-items:center;gap:10px;padding:10px;display:grid}.learner-row:hover,.learner-row:focus-visible,.learner-row.active{background:#78e1c61f;border-color:#1280724d}.learner-main,.learner-progress-cell,.learner-stat-cell{gap:4px;min-width:0;display:grid}.learner-main strong,.learner-progress-cell strong,.learner-stat-cell strong,.learner-detail-panel header strong,.learner-lesson-row strong{color:var(--ink)}.learner-main small,.learner-stat-cell small,.learner-lesson-row small{color:var(--muted);font-size:.78rem}.learner-stat-cell{text-align:right}.learner-table.compact .learner-row{grid-template-columns:36px minmax(0,1fr) minmax(108px,.28fr) minmax(64px,auto) minmax(58px,auto)}.learner-detail-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px}.learner-detail-panel.compact{align-content:start}.learner-detail-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.learner-detail-panel header h3{color:var(--ink);margin:6px 0 0}.learner-detail-panel header p{color:var(--muted);margin:4px 0 0}.learner-detail-panel header>strong{font-size:1.7rem}.dashboard-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-stat-row span{min-width:0;color:var(--muted);border:1px solid var(--line);overflow-wrap:anywhere;background:#f7faf8db;border-radius:8px;gap:3px;padding:10px;font-size:.76rem;font-weight:800;display:grid}.dashboard-stat-row strong{color:var(--ink);font-size:.98rem;line-height:1.15}.learner-lesson-row{border:1px solid var(--line);background:#f7faf8b8;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px;display:grid}.recent-attempts{margin-top:4px}.recent-attempts h4{color:var(--ink);margin:0}.recent-attempts>p{color:var(--muted);margin:0}.attempt-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.attempt-row p{color:var(--muted);margin:0;line-height:1.35}.attempt-row small{color:var(--ink);margin-top:3px;font-weight:700;line-height:1.35;display:block}.learner-row-avatar{border-radius:50%;flex-shrink:0;width:32px;height:32px;overflow:hidden}.learner-row-avatar .avatar{width:32px;height:32px;font-size:.72rem}.learner-profile-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:12px;display:flex}.learner-profile-avatar{border-radius:50%;flex-shrink:0;width:46px;height:46px;overflow:hidden}.learner-profile-avatar .avatar{width:46px;height:46px;font-size:.95rem}.learner-profile-info{flex:1;gap:2px;min-width:0;display:grid}.learner-profile-info h3{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;line-height:1.2;overflow:hidden}.learner-profile-info p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.74rem;overflow:hidden}.learner-profile-level{color:#075044;background:#78e1c638;border-radius:999px;align-items:center;width:fit-content;height:18px;padding:0 7px;font-size:.68rem;font-weight:900;display:inline-flex}.learner-profile-percent{color:var(--teal);flex-shrink:0;align-items:baseline;gap:1px;display:flex}.learner-profile-percent strong{color:var(--teal);font-size:1.9rem;font-weight:800;line-height:1}.learner-profile-percent span{color:var(--teal);font-size:.95rem;font-weight:700}.learner-progress-track{gap:5px;display:grid}.learner-progress-track>span{color:var(--muted);font-size:.74rem}.learner-progress-track-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.learner-progress-track-fill{background:linear-gradient(90deg,#128072,#78e1c6);border-radius:999px;height:100%;transition:width .4s}.attempt-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px;display:block}.attempt-dot.correct{background:#128072}.attempt-dot.retry{background:#e05050}.attempts-empty{color:var(--muted);margin:4px 0 0;font-size:.8rem;font-style:italic}.authoring-console{background:linear-gradient(90deg, #12807214, transparent 58%), var(--paper)}.catalog-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:start;gap:14px;display:grid}.lesson-card-board,.lesson-unit-section{gap:14px;width:100%;min-width:0;max-width:100%;display:grid}.lesson-card-board{gap:28px}.lesson-question-lines{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:12px;padding:14px 16px;display:grid;box-shadow:0 4px 16px #171f2a0d}.lesson-question-lines header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lesson-question-lines h3{color:var(--ink);margin:4px 0 0;font-size:1.02rem;line-height:1.12}.lesson-question-line-list{gap:8px;display:grid}.lesson-question-line{border:1px solid var(--line);background:#f7faf8d1;border-radius:8px;grid-template-columns:minmax(110px,auto) minmax(0,1fr);align-items:start;gap:6px 12px;min-width:0;padding:10px 12px;display:grid}.lesson-question-line p{color:var(--ink);margin:0;font-size:.9rem;line-height:1.35}.lesson-question-line strong{color:var(--muted);grid-column:2;font-size:.82rem;line-height:1.35}.lesson-unit-section{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.lesson-unit-section header,.lesson-focus-topbar{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lesson-unit-section h3,.lesson-focus-topbar h3{color:var(--ink);letter-spacing:0;margin:4px 0 0;font-size:1.05rem;line-height:1.1}.lesson-unit-section header small{color:var(--muted);flex:none;align-items:center;padding-top:5px;font-size:.76rem;font-weight:700;display:inline-flex}.unit-progress-track{background:var(--line);border-radius:999px;height:2px;margin:10px 0 12px;overflow:hidden}.unit-progress-fill{border-radius:inherit;background:var(--teal);opacity:.5;height:100%;transition:width .5s}.lesson-card-grid{flex-direction:column;gap:1px;width:100%;min-width:0;max-width:100%;display:flex}.lesson-card{width:100%;min-width:0;max-width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:row;align-items:center;gap:14px;padding:11px 14px 11px 20px;transition:background-color .14s,border-color .14s;display:flex;position:relative;overflow:hidden}.lesson-card-main{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:12px;padding:0;display:flex}.lesson-card-main:focus-visible,.lesson-card-start:focus-visible{outline-offset:3px;outline:3px solid #1280723d}.lesson-card:before{content:"";background:var(--line);border-radius:999px;width:2px;transition:background-color .14s;position:absolute;inset:6px auto 6px 0}.lesson-card:hover,.lesson-card:focus-visible{border-color:var(--line);background:#f6faf7f2}.lesson-card:hover:before{background:var(--teal);opacity:.6}.lesson-card:active{background:#f0f6f2f2}.lesson-card.completed{background:0 0}.lesson-card.completed:before{background:var(--teal);opacity:.9}.lesson-card.draft:before{background:var(--amber)}.lesson-card.archived:before{background:#171f2a33}.lesson-card-icon{flex:none;justify-content:center;align-items:center;display:flex}.lesson-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lesson-card-labels{align-items:center;gap:5px;display:flex}.lesson-card-body strong{color:var(--ink);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:.93rem;line-height:1.2;overflow:hidden}.lesson-card-body small{color:var(--muted);font-size:.78rem;line-height:1.3}.lesson-num-badge{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;opacity:.6;background:0 0;border-radius:4px;align-items:center;padding:0 5px;font-size:.65rem;font-weight:800;display:inline-flex}.lesson-card.completed .lesson-num-badge{color:var(--teal);opacity:.8}.lesson-card-stats{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex}.lesson-card-stats span{color:var(--muted);white-space:nowrap;opacity:.7;align-items:center;gap:4px;font-size:.74rem;font-weight:700;display:inline-flex}.lesson-card-start{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.74rem;font-weight:800;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex}.lesson-card:hover .lesson-card-start,.lesson-card-start:hover{color:var(--teal);background:#1280720a;border-color:#12807247}.lesson-focus-page{gap:14px;min-width:0;display:grid}.lesson-focus-topbar{border:1px solid var(--line);box-shadow:none;background:0 0;border-radius:8px;align-items:center;padding:10px 12px}.lesson-focus-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-focus-title{text-align:right;min-width:0}.lesson-focus-topbar h3{font-size:1.05rem}.lesson-focus-page .lesson-detail,.lesson-focus-page .lesson-runner{width:100%;position:static;top:auto}.catalog-list{scrollbar-color:#1280726b transparent;align-content:start;gap:10px;max-height:min(760px,68dvh);padding:2px 5px 2px 2px;display:grid;overflow:auto}.unit-group{border:1px solid var(--line);background:#ffffffdb;overflow:hidden;box-shadow:0 12px 28px #171f2a0f}.unit-group header{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#12807214,#0000 58%),#17232d08;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.unit-group header span{color:var(--teal);text-transform:uppercase;font-size:.75rem;font-weight:900}.unit-group h3{color:var(--ink);margin-top:3px;font-size:.95rem}.unit-group header small{color:var(--muted);text-transform:uppercase;flex:none;font-size:.74rem;font-weight:900}.lesson-row{box-sizing:border-box;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;min-height:86px;font:inherit;touch-action:manipulation;background:0 0;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:12px 13px;transition:background-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.lesson-row:last-child{border-bottom:0}.lesson-row.selected{box-shadow:inset 4px 0 0 var(--teal);background:linear-gradient(90deg,#12807229,#0000 72%),#1280720f}.lesson-row.completed{background:#78e1c614}.lesson-row:hover,.lesson-row:focus-visible{outline-offset:-2px;background:#12807212;outline:2px solid #1280723d}.lesson-row:active{transform:translateY(1px)}.lesson-row>*{pointer-events:none}.lesson-row-content{gap:4px;min-width:0;display:grid}.lesson-row strong,.lesson-row small{display:block}.lesson-row strong{color:var(--ink);line-height:1.18}.lesson-row small{color:var(--muted);margin-top:4px;line-height:1.25}.lesson-row-meta{color:var(--teal);flex-wrap:wrap;gap:5px;margin-top:4px;font-size:.75rem;font-weight:900;display:flex}.lesson-row-meta span{color:#075044;background:#78e1c633;border-radius:999px;align-items:center;min-height:24px;padding:0 7px;display:inline-flex}.lesson-row-meta .lesson-row-skill{color:var(--ink);background:var(--chip)}.lesson-check,.status-dot{width:28px;height:28px;color:var(--line);border:1.5px solid var(--line);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;transition:color .14s,border-color .14s;display:inline-grid}.lesson-check.done,.status-dot.published{color:var(--teal);background:#1280720f;border-color:#1280723d}.status-dot.draft{background:#f5b34261}.status-dot.archived{background:#64736d47}.lesson-detail{background:linear-gradient(180deg, #1280720f, transparent 180px), var(--paper);border:1px solid var(--line);align-content:start;gap:12px;min-width:0;padding:14px;display:grid;position:sticky;top:16px;box-shadow:0 18px 44px #171f2a14}.enhanced-lesson-detail{gap:16px}.lesson-detail:focus{outline-offset:3px;outline:3px solid #12807238}.lesson-detail.empty{place-items:start}.lesson-detail h3{color:var(--ink);margin-top:5px;font-size:1.22rem}.lesson-detail h4{color:var(--ink);text-transform:uppercase;margin:0 0 8px;font-size:.86rem}.lesson-detail ul,.lesson-detail ol{color:var(--muted);margin:0;padding-left:19px}.lesson-detail li+li{margin-top:5px}.lesson-detail-hero{gap:2px;padding-bottom:2px;display:grid}.detail-kicker{flex-wrap:wrap;gap:6px;display:flex}.lesson-detail-section{background:#f7faf8c7;border:1px solid #dae4dec7;border-radius:8px;min-width:0;padding:12px}.lesson-detail-tabs{border:1px solid var(--line);background:#f7faf8e0;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.lesson-detail-tab{min-height:40px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-weight:900;display:inline-flex}.lesson-detail-tab.active{color:var(--ink);background:#1280721a;border-color:#12807252}.lesson-detail-tab-panel{min-width:0}.lesson-step-preview,.translation-status-grid{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lesson-step-preview li,.translation-status-card{border:1px solid var(--line);background:#f7faf8db;border-radius:8px;min-width:0;padding:13px}.lesson-step-preview strong,.translation-status-card strong{color:var(--ink);margin-top:7px;display:block}.lesson-step-preview p{color:var(--muted);margin:5px 0 0}.translation-status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.translation-status-card{gap:8px;display:grid}.activity-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.activity-overview span{min-height:38px;color:var(--ink);background:linear-gradient(#ffffffc7,#78e1c61f),#12807214;border:1px solid #1280722e;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:900;display:inline-flex}.lesson-runner{background:linear-gradient(180deg, #1280721c, transparent 240px), var(--paper);border:1px solid var(--line);align-content:start;gap:14px;min-width:0;padding:18px;display:grid;position:sticky;top:16px;box-shadow:0 18px 44px #171f2a14}.lesson-runner:focus{outline-offset:3px;outline:3px solid #12807238}.lesson-runner h3{color:var(--ink);margin:8px 0 0;font-size:1.3rem;line-height:1.12}.lesson-runner p{color:var(--muted);margin:6px 0 0}.runner-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.runner-vitals{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.runner-vitals span{min-height:34px;color:var(--ink);background:var(--chip);border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-weight:900;display:inline-flex}.runner-vitals svg{color:var(--coral)}.runner-progress{margin-top:0}.activity-card{border:1px solid var(--line);background:linear-gradient(#ffffffd1,#f7faf8e6),#f7faf8e0;gap:12px;min-width:0;padding:15px;display:grid;box-shadow:inset 0 1px #ffffffb3}.activity-card p{color:var(--ink);margin:0;font-size:1rem;line-height:1.5}.step-type-pill{color:#075044;text-transform:uppercase;background:#78e1c642;border-radius:999px;align-items:center;width:fit-content;min-height:27px;padding:0 9px;font-size:.74rem;font-weight:900;display:inline-flex}.choice-grid{grid-template-columns:1fr}.answer-option,.word-chip{border:1px solid var(--line);min-height:46px;color:var(--ink);background:var(--paper);cursor:pointer;font:inherit;border-radius:8px;font-weight:800}.answer-option{text-align:left;padding:12px;transition:background-color .16s,border-color .16s,box-shadow .16s}.answer-option:hover,.answer-option:focus-visible,.word-chip:hover,.word-chip:focus-visible{background:#12807214;border-color:#12807261}.answer-option.selected{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal), 0 10px 22px #12807217}.answer-option.correct{color:#075044;background:#78e1c638;border-color:#12807261}.answer-option.incorrect{color:#7f1d1d;background:#fee2e2e6;border-color:#dc26267a;box-shadow:inset 4px 0 #dc2626,0 10px 22px #dc262614}.dialogue-card{background:linear-gradient(135deg,#17232d0a,#0000 48%),#f7faf8e6}.dialogue-line{gap:5px;max-width:84%;display:grid}.dialogue-line.patient{justify-self:end}.dialogue-line span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.dialogue-line p{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.dialogue-line.patient p{color:#075044;background:#78e1c62e;border-color:#1280722e}.match-card,.fill-card,.reorder-card{align-items:start}.match-row,.fill-card label{gap:7px;display:grid}.match-row{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);align-items:center}.match-row>span,.fill-card label>span{color:var(--muted);font-size:.82rem;font-weight:900}.match-row select,.fill-card input{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 11px}.built-sentence,.word-bank{flex-wrap:wrap;gap:8px;display:flex}.built-sentence{background:#1280720f;border:1px dashed #12807247;border-radius:8px;align-items:center;min-height:58px;padding:10px}.built-sentence>span{color:var(--muted);font-weight:800}.word-chip{padding:0 12px}.word-chip.selected{color:var(--paper);background:var(--ink);border-color:var(--ink)}.answer-feedback{color:#075044;background:#78e1c62e;border:1px solid #1280722e;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;min-height:44px;padding:10px 12px;display:grid}.answer-feedback.incorrect{color:#9d2434;background:#e84a5f1a;border-color:#e84a5f33}.runner-actions{justify-content:space-between;gap:10px;display:flex}.lesson-runner.complete{text-align:center;justify-items:center}.runner-complete-mark{color:#075044;background:#78e1c647;border:1px solid #12807238;border-radius:50%;place-items:center;width:78px;height:78px;display:grid}.runner-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.runner-result-grid div{background:var(--paper);border:1px solid var(--line);gap:5px;padding:12px;display:grid}.detail-actions.vertical{grid-template-columns:1fr;display:grid}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-row span{min-height:28px;color:var(--ink);background:var(--chip);border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.safety-strip{color:#075044;background:#78e1c629;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:10px;display:grid}.safety-strip ul{color:#075044;margin:0;padding-left:16px}.safety-strip li+li{margin-top:4px}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.status-pill{min-height:26px;color:var(--ink);background:var(--chip);border-radius:999px;align-items:center;padding:0 8px;font-size:.76rem;font-weight:800;display:inline-flex}.status-pill.active{color:#075044;background:#78e1c647}.status-pill.draft{color:#783405;background:#f5b34242}.status-pill.archived{color:var(--muted);background:#64736d2e}.record-row,.task-card,.ai-card,.progress-card,.feedback-card{background:var(--paper);border:1px solid var(--line);min-width:0;padding:14px}.record-row,.ai-card,.feedback-card{justify-content:space-between;gap:12px;display:flex}.record-row{align-items:center}.teacher-action-stack{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-row,.guardrail-row{background:#12807214;border-radius:8px;align-items:center;gap:10px;padding:13px;display:flex}.guardrail-row{color:var(--muted);background:#e84a5f14;align-items:flex-start}.admin-dashboard{gap:14px;display:grid}.admin-dashboard-header{background:linear-gradient(110deg, #1280721f, transparent 52%), var(--paper);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.admin-dashboard-summary{flex-wrap:wrap;gap:18px;display:flex}.admin-summary-stat{gap:3px;display:grid}.admin-summary-stat strong{color:var(--ink);font-size:1.32rem;line-height:1;display:block}.admin-summary-stat span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800;display:block}.admin-cohort-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.admin-cohort-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:12px;min-width:0;padding:16px;transition:box-shadow .16s,border-color .16s;display:grid}.admin-cohort-card:hover{border-color:#1280724d;box-shadow:0 6px 20px #171f2a14}.admin-cohort-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-cohort-card h4{color:var(--ink);margin:0;font-size:.96rem;line-height:1.2}.admin-cohort-card p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.admin-cohort-card-meta{gap:14px;display:flex}.admin-cohort-card-meta span{color:var(--muted);align-items:center;gap:5px;font-size:.82rem;font-weight:800;display:inline-flex}.admin-roster-section{gap:12px;display:grid}.admin-roster-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-roster-section-header p{color:var(--muted);margin:3px 0 0;font-size:.86rem}.data-map{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.data-map h3{color:var(--ink);margin:4px 0 0}.data-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.data-map-card{border:1px solid var(--line);background:#f7faf8db;border-radius:8px;min-width:0;padding:12px}.data-map-card strong,.data-map-card span{display:block}.data-map-card strong{color:var(--ink);font-size:1.35rem;line-height:1}.data-map-card span{color:var(--teal);margin-top:6px;font-weight:900}.data-map-card p{color:var(--muted);margin:4px 0 0;font-size:.84rem}.task-card{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.compact-action{white-space:nowrap;align-self:start;min-height:36px}.wide-action{width:100%}.wide-action.anchor{color:var(--paper);background:var(--teal)}.ai-card{align-items:flex-start}.ai-card.active{box-shadow:inset 4px 0 0 var(--teal);border-color:#12807261}.ai-card ul{color:var(--muted);margin:10px 0 0;padding-left:18px}.ai-chat-workspace{height:100%;min-height:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:272px minmax(0,1fr);min-block-size:0;display:grid;overflow:hidden}.ai-chat-history{border-right:1px solid var(--line);background:linear-gradient(#1280720f,#0000 44%),#f7faf8f0;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px;display:flex}.new-chat-action{min-height:40px;color:var(--paper);background:var(--ink);justify-content:flex-start}.ai-chat-history-list{align-content:start;gap:6px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.ai-history-row{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:4px;min-width:0;display:grid}.ai-history-select,.history-delete,.ai-prompt-chip{color:var(--ink);background:0 0;border:1px solid #0000}.ai-history-select{text-align:left;align-content:center;justify-items:start;gap:2px;min-width:0;min-height:52px;padding:8px 10px;display:grid}.ai-history-select span,.ai-history-select small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ai-history-select span{font-weight:800}.ai-history-select small{color:var(--muted);font-size:.74rem}.ai-history-row.active .ai-history-select,.ai-history-select:hover,.ai-history-select:focus-visible{background:var(--paper);border-color:var(--line)}.history-delete{width:34px;min-height:34px;color:var(--muted);opacity:0;align-self:center;padding:0}.ai-history-row:hover .history-delete,.ai-history-row:focus-within .history-delete{opacity:1}.history-delete:hover,.history-delete:focus-visible{color:#9d2434;background:#e84a5f14}.ai-card-actions{justify-items:end;gap:8px;display:grid}.ai-chat-panel{background:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;gap:0;min-width:0;min-height:0;padding:0;display:grid}.ai-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.ai-chat-header h3{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:1rem;display:flex}.ai-chat-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.ai-live-voice-select{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.ai-live-voice-select span{white-space:nowrap}.ai-live-voice-select select{width:168px;min-width:0;max-width:32vw;height:40px;color:var(--ink);background:var(--paper);font:inherit;border:1px solid #0f766e38;border-radius:8px;padding:0 32px 0 10px;font-weight:700}.ai-live-voice-select select:focus{border-color:#0f766e7a;outline:2px solid #0f766e29}.dashboard-live-voice-select{justify-content:center;width:100%}.dashboard-live-voice-select select{width:min(100%,188px);max-width:100%}.ai-live-call-action{width:40px;height:40px;color:var(--teal);background:#0f766e14;border:1px solid #0f766e38;border-radius:8px;flex:0 0 40px;place-items:center;padding:0;transition:background .15s,border-color .15s,transform .15s;display:inline-grid}.ai-live-call-action:hover,.ai-live-call-action:focus-visible{background:#0f766e24;border-color:#0f766e6b}.ai-live-call-action:active{transform:translateY(1px)}.ai-chat-stream{overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface);scroll-behavior:smooth;flex-direction:column;gap:10px;min-height:0;padding:18px;display:flex;overflow-y:auto}.ai-chat-bubble{border:1px solid var(--line);background:var(--paper);border-radius:16px 16px 16px 4px;width:min(86%,460px);padding:9px 13px}.ai-chat-bubble.user{background:var(--teal);border-color:var(--teal);border-radius:16px 16px 4px;place-self:end}.ai-chat-sender{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:.7rem;font-weight:800;display:block}.ai-chat-bubble.user .ai-chat-sender{color:#f8faf7a6}.ai-chat-bubble .rich-message,.ai-chat-bubble p{color:var(--ink);margin:0;line-height:1.45}.ai-chat-bubble.user .rich-message,.ai-chat-bubble.user p{color:var(--paper)}.rich-message{color:inherit;word-break:break-word;overflow-wrap:anywhere;gap:8px;line-height:1.5;display:grid;position:relative}.rich-message>*+*{margin-top:0}.rich-message h3,.rich-message h4,.rich-message h5,.rich-message p,.rich-message ul,.rich-message ol,.rich-message blockquote,.rich-message pre,.rich-message table{margin:0}.rich-message h3,.rich-message h4,.rich-message h5{color:inherit;letter-spacing:-.005em;font-weight:800;line-height:1.25}.rich-message h3{margin-top:4px;font-size:1.12rem}.rich-message h4{margin-top:3px;font-size:1.02rem}.rich-message h5{margin-top:2px;font-size:.94rem}.rich-message h3:first-child,.rich-message h4:first-child,.rich-message h5:first-child{margin-top:0}.rich-message strong,.rich-message b{font-weight:800}.rich-message em,.rich-message i{font-style:italic}.rich-message del,.rich-message s{opacity:.7}.rich-message ul,.rich-message ol{gap:4px;padding-left:22px;display:grid}.rich-message ul{list-style:outside}.rich-message ol{list-style:decimal}.rich-message ul ul{list-style:circle}.rich-message ul ul ul{list-style:square}.rich-message li{padding-left:2px}.rich-message li>p{display:inline}.rich-message li+li{margin-top:0}.rich-message li>ul,.rich-message li>ol{margin-top:4px}.rich-message a{color:var(--teal);text-underline-offset:3px;font-weight:700;text-decoration:underline}.ai-chat-bubble.user .rich-message a,.msg-bubble.own .rich-message a{color:#fff}.rich-message blockquote{color:inherit;background:#1280720f;border-left:3px solid #12807257;border-radius:0 6px 6px 0;padding:4px 10px;font-style:italic}.rich-message pre{background:#0f172a14;border-radius:8px;padding:10px 12px;font-size:.86em;line-height:1.5;overflow:auto}.rich-message code{background:#0f172a14;border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.rich-message pre code{font-size:inherit;background:0 0;padding:0}.rich-divider{background:#0f172a1f;border:0;width:100%;height:1px;margin:4px 0}.ai-chat-bubble.user .rich-message code,.ai-chat-bubble.user .rich-message pre,.msg-bubble.own .rich-message code,.msg-bubble.own .rich-message pre{color:inherit;background:#ffffff2e}.ai-chat-bubble.user .rich-message blockquote,.msg-bubble.own .rich-message blockquote{background:#ffffff1a;border-left-color:#ffffff80}.ai-chat-bubble.user .rich-divider,.msg-bubble.own .rich-divider{background:#ffffff59}.rich-table-scroll{border:1px solid #0f172a1a;border-radius:8px;max-width:100%;overflow-x:auto}.rich-message table{border-collapse:collapse;width:100%;min-width:280px;font-size:.88em}.rich-message th,.rich-message td{text-align:left;vertical-align:top;border-bottom:1px solid #0f172a1a;padding:7px 9px}.rich-message th{background:#12807214;font-weight:800}.selection-popup{z-index:95;background:var(--paper);border:1px solid #0f172a24;border-radius:8px;align-items:center;gap:4px;padding:5px;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #0f172a33}.selection-popup button{background:var(--teal);color:#fff;min-height:30px;font:inherit;cursor:pointer;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.selection-popup button:focus-visible{outline-offset:2px;outline:3px solid #12807247}.word-explain-token{color:inherit;font:inherit;line-height:inherit;text-align:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0;padding:0 1px;-webkit-text-decoration:underline dotted #1280726b;text-decoration:underline dotted #1280726b;text-decoration-thickness:1px;display:inline}.word-explain-token:hover,.word-explain-token:focus-visible{color:var(--teal);background:#78e1c62e;outline:none;text-decoration-style:solid;text-decoration-color:currentColor}.ai-chat-bubble.user .word-explain-token:hover,.ai-chat-bubble.user .word-explain-token:focus-visible,.msg-bubble.own .word-explain-token:hover,.msg-bubble.own .word-explain-token:focus-visible{color:var(--paper);background:#ffffff2e}.ai-chat-bubble.user .word-explain-token,.msg-bubble.own .word-explain-token{text-decoration-color:#ffffff7a}.ai-empty-chat{text-align:center;min-height:100%;color:var(--muted);align-content:center;justify-items:center;gap:14px;display:grid}.ai-empty-chat h3{color:var(--ink);margin:0;font-size:1.24rem}.ai-prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,560px);display:grid}.ai-prompt-chip{min-height:70px;color:var(--ink);background:var(--paper);border-color:var(--line);text-align:left;white-space:normal;padding:10px;font-weight:800;line-height:1.25}.ai-prompt-chip:hover,.ai-prompt-chip:focus-visible{border-color:#12807270;box-shadow:inset 0 0 0 1px #1280722e}.ai-chat-typing{background:var(--paper);border:1px solid var(--line);border-radius:16px 16px 16px 4px;align-items:center;gap:5px;width:60px;padding:12px 14px;display:flex}.ai-chat-typing span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-dot}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}.ai-chat-composer{background:var(--paper);border-top:1px solid var(--line);gap:8px;padding:14px 16px;display:grid}.ai-chat-error{color:#9d2434;background:#e84a5f1a;border-radius:8px;margin:0;padding:10px 12px;font-size:.88rem;line-height:1.35}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ai-chat-composer div{grid-template-columns:minmax(0,1fr) 48px;align-items:stretch;gap:8px;display:grid}.ai-chat-composer .ai-chat-composer-row{grid-template-columns:minmax(0,1fr) 48px 48px}.ai-chat-composer textarea{resize:none;border:1px solid var(--line);min-width:0;min-height:46px;max-height:140px;font:inherit;background:var(--surface);border-radius:10px;padding:12px 13px;font-size:.92rem;line-height:1.4;transition:border-color .15s}.ai-chat-composer textarea:focus{border-color:var(--teal);background:var(--paper);outline:none}.ai-chat-composer button{background:var(--teal);border-radius:10px;place-items:center;width:48px;min-width:48px;min-height:48px;padding:0;transition:background .15s,border-color .15s,opacity .15s,transform .15s;display:inline-grid}.ai-chat-composer button:not(:disabled):hover,.ai-chat-composer button:focus-visible{background:#0f766e}.ai-chat-composer button:not(:disabled):active{transform:translateY(1px)}.ai-chat-composer .ai-voice-action{color:var(--teal);background:#0f766e1a;border:1px solid #0f766e33}.ai-chat-composer .ai-voice-action.recording{color:#9f2f2b;background:#c2413b1f;border-color:#c2413b40}.ai-chat-composer .ai-voice-action:not(:disabled):hover,.ai-chat-composer .ai-voice-action:focus-visible{background:#0f766e29}.ai-chat-composer .ai-voice-action.recording:not(:disabled):hover,.ai-chat-composer .ai-voice-action.recording:focus-visible{background:#c2413b2e}.ai-chat-composer .ai-voice-action.processing{color:var(--teal);opacity:1;cursor:progress;background:#0f766e24;border-color:#0f766e47}.ai-chat-bubble.transcribing{background:#0f766ed9;border-color:#0f766ed9}.ai-chat-transcribing{color:var(--paper);letter-spacing:.01em;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.ai-chat-transcribing svg{opacity:.85}.ai-chat-transcribing-dots{align-items:center;gap:3px;display:inline-flex}.ai-chat-transcribing-dots span{background:var(--paper);opacity:.6;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite chat-dot}.ai-chat-transcribing-dots span:nth-child(2){animation-delay:.2s}.ai-chat-transcribing-dots span:nth-child(3){animation-delay:.4s}.ai-call-overlay{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181b75;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ai-call-modal{background:#f8faf8;border:1px solid #dde5e2;border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);height:min(620px,100dvh - 48px);max-height:calc(100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #18181b3d}.ai-call-header{background:#fff;border-bottom:1px solid #dde5e2;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.ai-call-header h3{color:#18181b;margin:2px 0 0;font-size:1.08rem}.ai-call-close{color:#18181b;background:#fff;border:1px solid #dde5e2;border-radius:8px;place-items:center;width:40px;height:40px;display:inline-grid}.ai-call-body{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);min-height:0;display:grid}.ai-call-stage{border-right:1px solid #dde5e2;align-content:center;place-items:center;gap:20px;min-height:0;padding:28px;display:grid}.ai-voice-orb{--voice-level:0;--voice-glow:var(--voice-level);--gemini-blue:#4285f4;--gemini-purple:#9b72f2;--gemini-pink:#f06292;--gemini-rose:#ff9a8b;--gemini-teal:#5eead4;aspect-ratio:1;isolation:isolate;background:0 0;border-radius:999px;place-items:center;width:200px;display:grid;position:relative;transform:translateZ(0)}.ai-voice-orb-halo{pointer-events:none;filter:blur(28px)saturate(120%);opacity:calc(.55 + .45 * var(--voice-glow));transform:scale(calc(.92 + .18 * var(--voice-glow)));z-index:0;background:radial-gradient(60% 60% at 28% 30%,#4285f473,#0000 70%),radial-gradient(55% 55% at 75% 28%,#9b72f26b,#0000 72%),radial-gradient(60% 60% at 70% 78%,#f0629266,#0000 72%),radial-gradient(55% 55% at 25% 75%,#5eead461,#0000 72%);border-radius:999px;transition:opacity .12s linear,transform .12s linear;position:absolute;inset:-22%}.ai-voice-orb.active .ai-voice-orb-halo{animation:10s ease-in-out infinite ai-orb-halo-drift}.ai-voice-orb-ring{pointer-events:none;opacity:0;z-index:1;background:conic-gradient(#4285f480,#9b72f280,#f0629280,#5eead480,#4285f480);border:1px solid #fff6;border-radius:999px;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 64%,#000 65% 72%,#0000 73%);mask:radial-gradient(circle,#0000 64%,#000 65% 72%,#0000 73%)}.ai-voice-orb.active .ai-voice-orb-ring.outer{animation:3.4s ease-out infinite ai-orb-ring,14s linear infinite ai-orb-spin}.ai-voice-orb.active .ai-voice-orb-ring.mid{animation:3.4s ease-out 1.7s infinite ai-orb-ring,14s linear infinite reverse ai-orb-spin}.ai-voice-orb-blob{z-index:2;background:conic-gradient(from 200deg at 50% 50%, var(--gemini-blue) 0deg, var(--gemini-purple) 95deg, var(--gemini-pink) 175deg, var(--gemini-rose) 245deg, var(--gemini-teal) 310deg, var(--gemini-blue) 360deg);width:72%;height:72%;box-shadow:inset 0 0 0 1px #ffffff59, inset 0 -10px 26px #1f295c52, 0 calc(8px + 24px * var(--voice-glow)) calc(28px + 70px * var(--voice-glow)) rgba(155, 114, 242, calc(.28 + .5 * var(--voice-glow)));scale:calc(.94 + .12 * var(--voice-level));border-radius:60% 40% 55% 45%/55% 50% 50% 45%;transition:scale 80ms linear,box-shadow .12s linear;animation:8s ease-in-out infinite ai-orb-morph,22s linear infinite ai-orb-spin-slow;position:relative;overflow:hidden;rotate:0deg}.ai-voice-orb.connecting .ai-voice-orb-blob,.ai-voice-orb.ending .ai-voice-orb-blob{filter:saturate(.82)brightness(.96);animation:8s ease-in-out infinite ai-orb-morph,2.4s ease-in-out infinite ai-orb-idle}.ai-voice-orb.error .ai-voice-orb-blob{background:conic-gradient(from 200deg,#c2413b 0deg,#f06292 110deg,#ff9a8b 220deg,#c2413b 360deg)}.ai-voice-orb-aurora{filter:blur(18px);opacity:.85;mix-blend-mode:screen;pointer-events:none;border-radius:50%;position:absolute}.ai-voice-orb-aurora.a{background:radial-gradient(circle,#ffffffb3 0%,#fff0 65%);width:75%;height:75%;animation:7s ease-in-out infinite ai-orb-aurora-a;inset:-18% -10% auto auto}.ai-voice-orb-aurora.b{background:radial-gradient(circle,#5eead4bf 0%,#5eead400 60%);width:78%;height:78%;animation:9s ease-in-out infinite ai-orb-aurora-b;inset:auto auto -14% -16%}.ai-voice-orb-aurora.c{background:radial-gradient(circle,#9b72f2b3 0%,#9b72f200 60%);width:70%;height:70%;animation:11s ease-in-out infinite ai-orb-aurora-c;inset:18% -18% auto auto}.ai-voice-orb-shine{filter:blur(4px);opacity:.85;pointer-events:none;background:radial-gradient(#ffffffa6 0%,#fff0 70%);border-radius:50%;height:26%;position:absolute;inset:6% 12% auto 18%}@keyframes ai-orb-morph{0%{border-radius:60% 40% 55% 45%/55% 50% 50% 45%}25%{border-radius:50% 60% 40% 55%/60% 45% 55% 40%}50%{border-radius:45% 55% 60% 40%/50% 60% 40% 50%}75%{border-radius:55% 45% 50% 55%/45% 55% 60% 45%}to{border-radius:60% 40% 55% 45%/55% 50% 50% 45%}}@keyframes ai-orb-spin-slow{to{rotate:360deg}}@keyframes ai-orb-spin{to{transform:rotate(360deg)}}@keyframes ai-orb-ring{0%{opacity:.55;transform:scale(.84)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}@keyframes ai-orb-idle{0%,to{scale:.96}50%{scale:1.02}}@keyframes ai-orb-halo-drift{0%,to{transform:scale(calc(.92 + .18 * var(--voice-glow))) translate(0, 0) rotate(0deg)}33%{transform:scale(calc(1 + .18 * var(--voice-glow))) translate(2%, -2%) rotate(8deg)}66%{transform:scale(calc(.94 + .18 * var(--voice-glow))) translate(-2%, 2%) rotate(-8deg)}}@keyframes ai-orb-aurora-a{0%,to{opacity:.7;transform:translate(0)scale(1)}50%{opacity:.95;transform:translate(-8%,6%)scale(1.1)}}@keyframes ai-orb-aurora-b{0%,to{opacity:.65;transform:translate(0)scale(1)}50%{opacity:.9;transform:translate(10%,-8%)scale(1.15)}}@keyframes ai-orb-aurora-c{0%,to{opacity:.6;transform:translate(0)scale(1)}50%{opacity:.85;transform:translate(-6%,-10%)scale(1.12)}}@media (prefers-reduced-motion:reduce){.ai-voice-orb.active .ai-voice-orb-ring,.ai-voice-orb-blob,.ai-voice-orb-aurora,.ai-voice-orb-halo{animation:none!important}}.ai-call-status-copy{text-align:center;gap:4px;display:grid}.ai-call-status-copy strong{color:#18181b;font-size:1.18rem}.ai-call-status-copy span{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ai-call-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ai-call-controls button{color:#18181b;background:#fff;border:1px solid #dde5e2;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:116px;min-height:44px;font-weight:800;display:inline-flex}.ai-call-controls button.danger{color:#fff;background:#c2413b;border-color:#c2413b}.ai-call-rail{background:#fff;grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.ai-call-rail-header{border-bottom:1px solid #dde5e2;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.ai-call-rail-header strong{color:#18181b;font-size:.94rem}.ai-call-rail-header span{color:#64748b;font-size:.78rem;font-weight:800}.ai-call-transcript{overscroll-behavior:contain;flex-direction:column;gap:10px;min-height:0;max-height:100%;padding:16px;display:flex;overflow-y:auto}.ai-call-empty{color:#64748b;margin:auto;font-size:.92rem}.ai-call-transcript-row{background:#f8faf8;border:1px solid #dde5e2;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.ai-call-transcript-row.partial{color:#64748b;border-color:#0f766e52;box-shadow:inset 0 0 0 1px #0f766e14}.ai-call-transcript-row.user{background:#0f766e14}.ai-call-transcript-row.assistant{background:#fff}.ai-call-transcript-row.system{background:#64748b14}.ai-call-transcript-row span{color:#64748b;text-transform:uppercase;font-size:.76rem;font-weight:900}.ai-call-transcript-row p{color:#18181b;margin:0;line-height:1.45}.ai-call-side-chat{border-top:1px solid #dde5e2;grid-template-columns:minmax(0,1fr) 48px;gap:8px;padding:12px;display:grid}.ai-call-side-chat input{min-width:0;height:44px;font:inherit;border:1px solid #dde5e2;border-radius:8px;padding:0 12px}.ai-call-side-chat input:focus{border-color:#0f766e;outline:none}.ai-call-side-chat button{background:#0f766e;border-radius:8px;place-items:center;width:48px;height:44px;display:inline-grid}.empty-state{text-align:center;min-height:180px;color:var(--muted);border:1px dashed var(--line);background:#f7faf8bd;border-radius:8px;align-content:center;place-items:center;padding:18px}.empty-state h3{color:var(--ink);margin:0}.empty-state p{max-width:420px;margin:0}.profile-settings{gap:14px;display:grid}.profile-page-heading{gap:5px;display:grid}.profile-page-heading h2{color:var(--ink);margin:0;font-size:1.22rem;line-height:1.15}.profile-page-heading p{color:var(--muted);margin:0;line-height:1.4}.profile-identity{background:linear-gradient(90deg, #12807214, transparent), var(--paper);border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.profile-photo-block{width:78px;height:78px;position:relative}.profile-avatar{width:78px;height:78px;font-size:1.28rem}.photo-badge{width:32px;height:32px;color:var(--paper);background:var(--ink);border:2px solid var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0;right:0}.profile-identity h3{color:var(--ink);margin-top:3px;font-size:1.24rem}.upload-action{width:fit-content;min-height:36px;margin-top:12px;position:relative;overflow:hidden}.upload-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-action.busy input{cursor:not-allowed}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-form label{gap:7px;display:grid}.profile-form label>span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:900;display:inline-flex}.profile-form input,.profile-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 12px}.profile-form input[readonly]{color:var(--muted);background:#f7faf8db}.profile-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.profile-facts div{border:1px solid var(--line);background:#f7faf8db;gap:5px;min-width:0;padding:12px;display:grid}.profile-facts svg{color:var(--teal)}.profile-facts span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.profile-facts strong{overflow-wrap:anywhere;min-width:0;color:var(--ink)}.profile-notice{color:#075044;background:#78e1c62e;border-radius:8px;margin:0;padding:11px 12px}.profile-notice.error{color:#9d2434;background:#e84a5f1a}.profile-actions{flex-wrap:wrap;gap:10px;display:flex}.progress-card{background:linear-gradient(90deg, #12807214, transparent), var(--paper)}.progress-bar{background:var(--chip);border-radius:999px;height:10px;margin-top:14px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--teal), var(--coral));height:100%;display:block}.feedback-card{justify-content:flex-start}.messages-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;min-height:396px;display:grid}.messages-page .messages-layout{height:100%;min-height:0}.thread-rail{align-content:start;gap:10px;min-width:0;display:grid}.messages-page .thread-rail{grid-template-rows:auto minmax(0,1fr);align-content:stretch;min-height:0;overflow:hidden}.thread-create-card{border:1px solid var(--line);background:#f7faf8d6;border-radius:8px;gap:10px;padding:12px;display:grid}.thread-create-header{gap:8px;display:grid}.thread-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.thread-mode button,.thread-select,.member-add-control select,.thread-create-card input{border:1px solid var(--line);background:var(--paper);min-height:38px;font:inherit;border-radius:8px}.thread-mode button{color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;display:inline-flex}.thread-mode button.active{color:var(--ink);background:#12807214;border-color:#12807261}.thread-select{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid}.thread-select select,.member-add-control select{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.thread-create-card input{min-width:0;padding:0 10px}.member-picker{gap:6px;max-height:168px;display:grid;overflow:auto}.member-choice{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.member-choice input{width:16px;height:16px;accent-color:var(--teal)}.member-choice span,.video-tile span{min-width:0}.member-choice strong,.member-choice small{display:block}.member-choice strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.88rem;overflow:hidden}.member-choice small{color:var(--muted);margin-top:2px;font-size:.76rem}.thread-list{align-content:start;gap:8px;display:grid}.messages-page .thread-list{min-height:0;padding-right:2px;overflow:auto}.thread-button{border:1px solid var(--line);text-align:left;background:var(--paper);cursor:pointer;border-radius:8px;min-height:62px;padding:10px}.thread-button.active{background:#12807214;border-color:#12807261}.thread-button span,.thread-button small{display:block}.thread-button small{color:var(--muted);margin-top:4px}.message-pane{grid-template-rows:auto minmax(250px,1fr) auto;gap:12px;min-width:0;min-height:0;display:grid}.message-pane.with-video{grid-template-rows:auto auto minmax(180px,1fr) auto}.message-pane.empty{grid-template-rows:1fr}.message-thread-header{border:1px solid var(--line);background:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.message-thread-header h3{color:var(--ink);margin:6px 0 0;font-size:1rem;line-height:1.1}.message-thread-header p{max-width:58ch;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.84rem;overflow:hidden}.message-thread-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.member-add-control{grid-template-columns:minmax(132px,1fr) auto;gap:6px;display:grid}.member-add-control select{padding:0 10px}.video-action.live{color:var(--paper);background:var(--teal);border-color:var(--teal)}.meet-launch-card{color:var(--paper);background:linear-gradient(135deg,#12807224,#0000 50%),#142321;border:1px solid #1280723d;border-radius:8px;gap:12px;padding:12px;display:grid}.meet-launch-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.meet-launch-header strong{margin-top:2px;display:block}.meet-launch-header small{color:#f8faf7a8;margin-top:3px;display:block}.meet-launch-actions,.meet-link-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.meet-launch-grid{grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);align-items:stretch;gap:10px;min-width:0;display:grid}.meet-link-panel,.meet-participants,.meet-context-strip,.meet-invite-notice{border-radius:8px}.meet-link-panel{background:#ffffff14;border:1px solid #f8faf724;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.meet-link-panel h4{color:var(--paper);margin:0;font-size:1rem}.meet-link-panel p,.meet-link-panel small{color:#f8faf7b8;margin:0}.meet-link-panel code{color:#f8faf7c7;text-overflow:ellipsis;white-space:nowrap;background:#0a131a75;border:1px solid #78e1c62e;border-radius:8px;min-width:0;padding:9px 10px;display:block;overflow:hidden}.meet-status{text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:30px;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.meet-status.ready{color:#075044;background:#78e1c6db}.meet-status.setup{color:#5c3b00;background:#ffd87a}.meet-link-actions{justify-content:flex-start}.meet-link-actions a{color:#075044;background:var(--mint);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-weight:900;text-decoration:none;display:inline-flex}.meet-participants{background:#0a131a7a;border:1px solid #f8faf724;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.meet-participants h4{color:var(--paper);align-items:center;gap:7px;margin:0 0 4px;display:inline-flex}.meet-participants>div{gap:7px;display:grid}.meet-participant-row{background:#ffffff14;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.meet-participant-row .avatar{width:34px;height:34px;font-size:.76rem}.meet-participant-row strong,.meet-participant-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meet-participant-row small{color:#f8faf79e}.meet-context-strip{background:#78e1c61f;border:1px solid #78e1c63d;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.meet-context-strip strong,.meet-context-strip span{display:block}.meet-context-strip span{color:#f8faf7b3;margin-top:3px;font-size:.84rem}.meet-context-strip svg{color:var(--mint);flex:none}.meet-invite-notice{color:#075044;background:#78e1c6e6;margin:0;padding:9px 11px;font-weight:900}.video-room{color:var(--paper);background:linear-gradient(135deg,#1280721f,#0000 48%),#142321;border:1px solid #1280723d;border-radius:8px;gap:10px;padding:12px;display:grid}.video-room.expanded{align-content:stretch;min-height:calc(100dvh - 48px)}.video-room>.lk-room-container{min-height:inherit;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;display:grid}.video-room.full-page{z-index:1000;border:0;border-radius:0;height:100dvh;min-height:100dvh;padding:14px;position:fixed;inset:0}.video-room.full-page>.lk-room-container{height:100%;min-height:0}.video-room-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.video-room-header strong{margin-top:2px;display:block}.video-room-header small{color:#f8faf7a3;margin-top:3px;display:block}.video-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.video-view-actions{gap:6px;display:inline-flex}.icon-action{width:42px;min-width:42px;padding:0}.compact-action.active,.compact-action[aria-pressed=true]{color:#075044;background:var(--mint);border-color:#78e1c68a}.video-stage{gap:10px;min-width:0;display:grid}.video-room.expanded .video-stage{min-height:0}.video-invite-strip,.video-invite-notice{border-radius:8px}.video-invite-strip{background:#78e1c61f;border:1px solid #78e1c63d;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.video-invite-strip strong,.video-invite-strip span{display:block}.video-invite-strip span{color:#f8faf7b3;margin-top:3px;font-size:.84rem}.video-invite-strip a{color:#075044;background:var(--mint);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-weight:900;text-decoration:none;display:inline-flex}.video-invite-notice{color:#075044;background:#78e1c638;margin:0;padding:9px 11px}.video-stage.with-participants{grid-template-columns:minmax(0,1fr) minmax(190px,220px);align-items:stretch;min-height:0}.video-stage.with-participants.messages-open{grid-template-columns:minmax(0,1fr) minmax(330px,.36fr)}.video-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.video-room.expanded .video-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:minmax(220px,1fr);align-content:stretch;height:100%;min-height:0}.video-room.zoom-0 .video-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-rows:minmax(170px,1fr)}.video-room.zoom-2 .video-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:minmax(330px,1fr)}.video-grid.presentation{grid-template-columns:minmax(0,1fr) 96px;align-items:stretch;gap:8px;display:grid}.video-room.expanded .video-grid.presentation,.video-room.full-page .video-grid.presentation{grid-template-columns:minmax(0,1fr) 96px;grid-auto-rows:minmax(0,1fr);align-content:stretch;height:100%;min-height:0}.video-presentation-main{min-width:0;min-height:0;display:grid}.video-presentation-main .video-tile{border-radius:10px;height:100%;min-height:0}.video-presentation-strip{scrollbar-width:thin;scrollbar-color:#78e1c633 transparent;flex-direction:column;gap:7px;min-width:0;display:flex;overflow-y:auto}.video-presentation-strip .video-tile{aspect-ratio:4/3;flex-shrink:0;min-height:72px;padding:5px}.video-presentation-strip .video-camera-avatar{width:28px}.video-presentation-strip .video-camera-avatar span{font-size:.66rem}.video-presentation-strip .video-tile>span{display:none}.video-tile{background:#ffffff14;border:1px solid #f8faf724;border-radius:8px;align-content:end;gap:8px;min-height:138px;padding:10px;display:grid;position:relative;overflow:hidden}.video-room.expanded .video-tile{min-height:220px}.video-room.expanded.zoom-0 .video-tile{min-height:170px}.video-room.expanded.zoom-2 .video-tile{min-height:330px}.video-room.expanded .video-tile.self:first-child,.screen-share-tile{min-height:260px}.video-room.expanded.zoom-0 .video-tile.self:first-child{min-height:210px}.video-room.expanded.zoom-2 .video-tile.self:first-child{min-height:420px}.video-room.full-page .video-stage{min-height:0}.video-room.full-page .video-grid{grid-auto-rows:minmax(220px,1fr);height:100%;min-height:0}.video-room.full-page .video-tile{min-height:220px}.video-room.full-page.zoom-0 .video-grid{grid-auto-rows:minmax(170px,1fr)}.video-room.full-page.zoom-0 .video-tile{min-height:170px}.video-room.full-page.zoom-2 .video-grid{grid-auto-rows:minmax(330px,1fr)}.video-room.full-page.zoom-2 .video-tile{min-height:330px}.video-room.expanded .video-presentation-strip .video-tile,.video-room.expanded.zoom-0 .video-presentation-strip .video-tile,.video-room.expanded.zoom-2 .video-presentation-strip .video-tile,.video-room.full-page .video-presentation-strip .video-tile,.video-room.full-page.zoom-0 .video-presentation-strip .video-tile,.video-room.full-page.zoom-2 .video-presentation-strip .video-tile,.video-room.expanded .video-presentation-strip .video-tile.self:first-child{min-height:72px}.video-tile video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.video-tile.live video{opacity:1}.screen-share-tile video{object-fit:contain;background:#050b0f}.video-tile>svg,.video-tile .avatar,.video-camera-avatar{z-index:1;position:relative}.video-camera-avatar{aspect-ratio:1;color:#075044;background:linear-gradient(135deg, #ffffffeb, #78e1c6d1), var(--mint);border-radius:999px;place-items:center;width:clamp(74px,18vw,116px);display:grid;box-shadow:0 18px 42px #00000038,inset 0 0 0 1px #ffffff94}.video-camera-avatar span{background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:clamp(1.55rem,4vw,2.45rem);font-weight:900;line-height:1;display:inline-flex}.video-tile>span{z-index:1;background:#0a131aad;border-radius:8px;width:fit-content;max-width:100%;padding:7px 8px;display:grid;position:relative}.video-tile strong,.video-tile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.video-tile small{color:#f8faf7b8}.video-tile.waiting{text-align:center;align-content:center;justify-items:center}.camera-off-tile{text-align:center;background:radial-gradient(circle at 50% 34%,#78e1c62e,#0000 32%),linear-gradient(135deg,#f8faf714,#0a131a3d),#ffffff14;align-content:center;justify-items:center}.screen-share-tile{text-align:center;background:linear-gradient(135deg,#78e1c638,#0000 54%),#ffffff1a;align-content:center;justify-items:center}.screen-share-tile svg{z-index:1;color:var(--mint);position:relative}.video-participants{background:#0a131a7a;border:1px solid #f8faf724;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.call-side-panel{grid-template-rows:auto auto;gap:10px;min-width:0;min-height:0;display:grid}.call-side-panel.messages-open{grid-template-rows:minmax(110px,auto) minmax(220px,1fr) auto}.video-participants h4{color:var(--paper);margin:0 0 4px}.video-participant-row{background:#ffffff14;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.video-participant-row .avatar{width:34px;height:34px;font-size:.76rem}.video-participant-row strong,.video-participant-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.video-participant-row small{color:#f8faf79e}.call-chat-panel,.call-recording-panel{background:#0a131a85;border:1px solid #f8faf724;border-radius:10px;min-width:0}.call-chat-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:0;display:grid;overflow:hidden}.call-recording-panel{gap:8px;padding:10px;display:grid}.call-recording-panel h4,.call-recording-panel header{margin:0}.call-recording-panel h4{color:var(--paper);align-items:center;gap:7px;display:inline-flex}.call-recording-panel header{justify-content:space-between;align-items:center;gap:8px;display:flex}.call-chat-panel h4{color:#f8faf7db;border-bottom:1px solid #f8faf717;align-items:center;gap:7px;margin:0;padding:9px 10px 9px 12px;font-size:.8rem;font-weight:700;display:flex}.call-chat-panel h4>span:first-of-type{flex:1}.call-chat-close{color:#f8faf799;cursor:pointer;background:0 0;border:1px solid #f8faf724;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;transition:background .13s,color .13s;display:inline-flex}.call-chat-close:hover{color:var(--paper);background:#ffffff1a}.video-control.active{color:var(--mint);background:#78e1c62e;border-color:#78e1c64d}.call-chat-stream{scrollbar-width:thin;scrollbar-color:#78e1c640 transparent;flex-direction:column;gap:4px;padding:10px;display:flex;overflow-y:auto}.call-chat-msg-wrap{align-items:flex-end;gap:6px;display:flex}.call-chat-msg-wrap.own{flex-direction:row-reverse}.call-chat-avatar-dot{width:24px;height:24px;color:var(--paper);background:linear-gradient(135deg,#128072cc,#e84a5f8c);border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:2px;font-size:.6rem;font-weight:800;display:grid}.call-chat-message{min-width:0;max-width:min(78%,230px);color:var(--paper);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border-radius:10px 10px 10px 3px;gap:2px;padding:7px 10px 5px;display:grid}.call-chat-message.own{background:linear-gradient(135deg,#128072bf,#09483fb3);border-radius:10px 10px 3px}.call-chat-message strong{color:#78e1c6e6;margin-bottom:1px;font-size:.69rem;font-weight:700;display:block}.call-chat-message p{overflow-wrap:anywhere;margin:0;font-size:.87rem;line-height:1.38}.call-chat-message small{color:#f8faf775;text-align:right;margin-top:2px;font-size:.66rem;display:block}.call-chat-message a.chat-link{color:var(--mint);word-break:break-all;text-underline-offset:2px;-webkit-text-decoration:underline #78e1c680;text-decoration:underline #78e1c680}.call-chat-message a.chat-link:hover{opacity:.8}.call-chat-message.own a.chat-link{color:#f8faf7eb;text-decoration-color:#f8faf766}.call-chat-empty{color:#f8faf775;text-align:center;margin:auto 0;padding:16px 0;font-size:.8rem}.call-chat-composer{border-top:1px solid #f8faf717;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:6px;padding:8px 10px 10px;display:grid}.call-chat-composer input{min-width:0;min-height:36px;color:var(--paper);font:inherit;background:#ffffff14;border:1px solid #f8faf729;border-radius:999px;padding:0 13px;font-size:.85rem;transition:border-color .14s}.call-chat-composer input:focus{border-color:#78e1c67a;outline:none}.call-chat-composer input::placeholder{color:#f8faf761}.call-chat-composer button{color:#075044;background:var(--mint);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .14s,transform .1s;display:inline-flex}.call-chat-composer button:not(:disabled):hover{opacity:.88;transform:scale(1.06)}.call-chat-composer button:disabled{cursor:not-allowed;opacity:.38}.call-recording-list{gap:7px;display:grid}.call-recording-row{background:#ffffff14;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.call-recording-row strong,.call-recording-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.call-recording-row small{color:#f8faf79e;margin-top:2px}.call-recording-actions{gap:6px;display:inline-flex}.video-controls-stack{gap:8px;display:grid}.video-control-bar{background:#0a131a9e;border:1px solid #f8faf71f;border-radius:8px;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px;display:flex}.video-control{min-width:88px;min-height:46px;color:var(--paper);cursor:pointer;font:inherit;background:#ffffff1a;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.video-control:hover,.video-control:focus-visible,.video-control.active{background:#78e1c62e;border-color:#78e1c63d}.video-control.muted{color:var(--paper);background:#e84a5f38;border-color:#e84a5f47}.video-control.record.active{background:#e84a5f47;border-color:#e84a5f70}.video-control:disabled{cursor:not-allowed;opacity:.58}.video-control.end{background:#b72d3e;border-color:#b72d3e}.spin{animation:.8s linear infinite spin}.calls-home,.new-call-panel,.call-join-screen{gap:12px;min-width:0;display:grid}.calls-page .tool-panel-header{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;padding:10px 12px}.calls-page .tool-panel-header h3{margin-top:2px;font-size:1rem}.calls-page .tool-panel-header p{margin-top:2px;font-size:.82rem;line-height:1.3}.progress-page .tool-panel-header h3,.teachers-page .tool-panel-header h3,.students-page .tool-panel-header h3{margin-top:1px;font-size:1rem}.progress-page .tool-panel-header p,.teachers-page .tool-panel-header p,.students-page .tool-panel-header p{margin-top:2px;font-size:.84rem;line-height:1.3}.call-room-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.call-room-card{border:1px solid var(--line);min-height:126px;color:var(--ink);text-align:left;background:linear-gradient(135deg, #1280721c, transparent 48%), var(--paper);cursor:pointer;font:inherit;border-radius:8px;align-content:start;gap:9px;padding:12px;display:grid}.call-room-card:hover,.call-room-card:focus-visible{border-color:#12807257;transform:translateY(-1px);box-shadow:0 14px 34px #0a131a17}.call-room-card strong{font-size:1rem}.call-room-card small,.call-room-card-footer{color:var(--muted);font-size:.84rem}.call-room-card-footer{align-items:center;gap:6px;margin-top:auto;display:inline-flex}.new-call-panel{max-width:760px}.new-call-form,.call-join-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 44px #0a131a14}.calls-page .new-call-form>div:first-child{gap:2px;display:grid}.new-call-form label{color:var(--muted);gap:7px;font-size:.84rem;font-weight:800;display:grid}.new-call-form input,.new-call-form select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 12px}.new-call-form small{color:var(--muted);font-weight:600}.call-checkbox{grid-template-columns:18px minmax(0,1fr);align-items:center}.call-checkbox input{width:17px;height:17px;accent-color:var(--teal)}.call-join-screen{justify-items:start}.call-join-screen.dark{text-align:center;min-height:360px;color:var(--paper);align-content:center;justify-items:center}.call-join-card{width:min(100%,760px)}.call-join-card h3,.new-call-form h3,.calls-home h3{margin:0}.call-join-card p,.new-call-form p,.calls-home p{color:var(--muted);margin:0}.call-safety-strip,.call-alert{border-radius:8px}.call-safety-strip{color:#075044;background:#78e1c633;align-items:center;gap:9px;padding:10px 12px;display:flex}.call-join-actions{flex-wrap:wrap;gap:8px;display:flex}.call-alert{color:#075044;background:#78e1c62e;margin:0;padding:9px 11px;font-weight:800}.call-alert.error{color:#7b1d2a;background:#e84a5f24}.ghost-action.inline{width:fit-content}.compact-action.danger{color:var(--paper);background:#b72d3e;border-color:#b72d3e}.video-tile .lk-participant-tile{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.video-tile .lk-participant-media-video,.video-tile .lk-participant-media{object-fit:cover;width:100%;height:100%}.video-tile .lk-participant-placeholder,.video-tile .lk-participant-name,.video-tile .lk-focus-toggle-button,.video-tile .lk-connection-quality{display:none}.message-stream{border:1px solid var(--line);background:#f7faf8bd;border-radius:8px;align-content:start;gap:10px;min-height:250px;max-height:360px;padding:12px;display:grid;overflow:auto}.messages-page .message-stream{min-height:0;max-height:none}.message-bubble{background:var(--paper);border:1px solid var(--line);border-radius:8px;width:min(86%,440px);padding:10px 12px}.message-bubble.own{color:var(--paper);background:var(--ink);border-color:var(--ink);justify-self:end}.message-bubble p{margin:4px 0 0}.message-bubble.own p{color:#f8faf7c7}.composer{gap:8px;display:grid}.composer label{color:var(--muted);font-size:.82rem;font-weight:800}.composer div{grid-template-columns:minmax(0,1fr) 96px;gap:8px;display:grid}.composer input{border:1px solid var(--line);min-width:0;min-height:42px;font:inherit;border-radius:8px;padding:0 12px}.messages-layout-v2{grid-template-columns:280px minmax(0,1fr);gap:0;height:100%;min-height:400px;display:grid}.messages-page .messages-layout-v2{border:1px solid var(--line);background:var(--paper);border-radius:12px;height:100%;min-height:0;overflow:hidden}.thread-rail-v2{border-right:1px solid var(--line);background:var(--paper);grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.thread-rail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:16px 16px 12px;display:flex}.thread-rail-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:900}.thread-new-btn{border:1px solid var(--line);background:var(--paper);min-height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.thread-new-btn:hover{border-color:var(--teal);color:var(--teal)}.thread-new-btn.active{background:var(--teal);border-color:var(--teal);color:var(--paper)}.thread-list-v2{align-content:start;gap:2px;padding:8px;display:grid;overflow-y:auto}.thread-list-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.thread-list-empty p{margin:0;font-size:.84rem}.thread-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:10px;transition:background .1s;display:grid}.thread-item:hover{background:var(--surface)}.thread-item.active{background:#12807217}.thread-item-avatar{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8rem;font-weight:800;display:flex}.thread-item-body{gap:3px;min-width:0;display:grid}.thread-item-top{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.thread-item-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:700;overflow:hidden}.thread-item.active .thread-item-name{color:var(--teal)}.thread-item-time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.72rem}.thread-item-bottom{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.thread-item-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.thread-item-badge{background:var(--teal);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:800;display:flex}.ntm-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);background:#17232d85;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ntm-card{background:var(--paper);border-radius:18px;flex-direction:column;width:100%;max-width:500px;max-height:min(680px,90dvh);display:flex;overflow:hidden;box-shadow:0 32px 80px #17232d3d,0 6px 20px #17232d1f}.ntm-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 0;display:flex}.ntm-title{color:var(--ink);margin:0 0 3px;font-size:1.08rem;font-weight:900;line-height:1.1}.ntm-subtitle{color:var(--muted);margin:0;font-size:.82rem}.ntm-close{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.ntm-close:hover{background:var(--line);color:var(--ink);border-color:#0000}.ntm-tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:4px;margin:18px 22px 0;padding:4px;display:grid}.ntm-tab{min-height:38px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:.84rem;font-weight:700;transition:background .14s,color .14s,box-shadow .14s;display:inline-flex}.ntm-tab.active{background:var(--paper);color:var(--teal);box-shadow:0 1px 6px #12807229,0 0 0 1px #1280721f}.ntm-field{flex-shrink:0;gap:8px;padding:16px 22px 0;display:grid}.ntm-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:800}.ntm-field-row{justify-content:space-between;align-items:center;display:flex}.ntm-search-wrap{position:relative}.ntm-input{border:1px solid var(--line);width:100%;min-height:42px;font:inherit;background:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:10px;outline:none;padding:0 14px;font-size:.875rem;transition:border-color .12s,background .12s}.ntm-input:focus{border-color:var(--teal);background:var(--paper)}.ntm-contact-list{flex:1;align-content:start;gap:6px;padding:14px 22px 4px;display:grid;overflow-y:auto}.ntm-no-results{text-align:center;color:var(--muted);margin:12px 0;font-size:.84rem}.ntm-hint{color:var(--muted);margin:5px 0 0;font-size:.8rem}.ntm-contact{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:46px minmax(0,1fr) 26px;align-items:center;gap:12px;padding:11px 14px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.ntm-contact:hover{background:#12807208;border-color:#12807259}.ntm-contact.selected{background:#1280720f;border-color:#1280727a;box-shadow:0 0 0 3px #12807214}.ntm-contact-avatar{width:46px;height:46px;color:var(--teal);background:linear-gradient(135deg,#e8f5f3,#c4e8e2);border:1px solid #12807226;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:.84rem;font-weight:900;display:flex}.ntm-contact.selected .ntm-contact-avatar{background:linear-gradient(135deg, var(--teal), #0e6459);color:#fff;border-color:#0000}.ntm-contact-info{min-width:0}.ntm-contact-info strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;display:block;overflow:hidden}.ntm-contact-info small{color:var(--muted);margin-top:2px;font-size:.76rem;display:block}.ntm-tick{border:2px solid var(--line);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:border-color .12s;display:flex}.ntm-tick.selected{border-color:var(--teal);color:var(--teal)}.ntm-footer{border-top:1px solid var(--line);background:var(--surface);flex-shrink:0;gap:10px;padding:16px 22px;display:flex}.ntm-cancel{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;flex:1;font-size:.875rem;font-weight:700;transition:background .12s}.ntm-cancel:hover{background:var(--line)}.ntm-submit{background:var(--teal);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:none;border-radius:10px;flex:2;justify-content:center;align-items:center;gap:7px;font-size:.875rem;font-weight:800;transition:opacity .12s;display:inline-flex}.ntm-submit:disabled{opacity:.38;cursor:not-allowed}.ntm-submit:not(:disabled):hover{opacity:.88}.message-pane-v2{background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.message-pane-v2.with-video{grid-template-rows:auto auto minmax(0,1fr) auto}.message-pane-v2.empty{grid-template-rows:1fr}.msg-thread-header{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 18px;display:flex}.msg-thread-identity{align-items:center;gap:12px;min-width:0;display:flex}.msg-thread-avatar{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:.84rem;font-weight:800;display:flex}.msg-thread-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.msg-thread-name{color:var(--ink);margin:0;font-size:.96rem;font-weight:800;line-height:1.1}.msg-type-badge{color:var(--teal);letter-spacing:.04em;text-transform:uppercase;background:#1280721a;border-radius:999px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.msg-thread-members{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:48ch;margin:3px 0 0;font-size:.78rem;overflow:hidden}.msg-thread-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.msg-stream{flex-direction:column;gap:16px;min-height:0;padding:20px 18px;display:flex;overflow-y:auto}.msg-stream-empty{text-align:center;color:var(--muted);margin:auto;font-size:.84rem}.msg-stream-empty p{margin:0}.msg-row{align-items:flex-end;gap:9px;max-width:72%;display:flex}.msg-row.own{flex-direction:row-reverse;align-self:flex-end}.msg-sender-avatar{color:#fff;background:linear-gradient(135deg,#5b6af0,#3d4dcb);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.68rem;font-weight:800;display:flex}.msg-sender-avatar.own{background:linear-gradient(135deg, var(--teal), #0e6459)}.msg-content{gap:4px;min-width:0;display:grid}.msg-row.own .msg-content{align-items:flex-end}.msg-meta{align-items:center;gap:6px;padding:0 2px;display:flex}.msg-row.own .msg-meta{flex-direction:row-reverse}.msg-sender-name{color:var(--ink);font-size:.74rem;font-weight:700}.msg-time{color:var(--muted);font-size:.68rem}.msg-bubble{background:var(--paper);border:1px solid var(--line);color:var(--ink);word-break:break-word;text-align:left;font-size:.875rem;line-height:1.45;font:inherit;cursor:pointer;border-radius:14px 14px 14px 4px;padding:10px 14px;transition:border-color .12s,box-shadow .12s,transform .12s;display:block}.msg-bubble.own{background:var(--teal);border-color:var(--teal);color:#fff;border-radius:14px 14px 4px}.msg-bubble:hover,.msg-bubble:focus-visible{border-color:#12807261;outline:none;box-shadow:0 8px 18px #0f211f14}.msg-bubble.selected{border-color:var(--teal);box-shadow:0 0 0 3px #12807224}.msg-bubble.own.selected{box-shadow:0 0 0 3px #1280722e,0 10px 20px #12807229}.msg-bubble.pending{opacity:.72}.msg-bubble.own.pending{background:#128072c7;border-color:#128072c7}.msg-bubble.failed{border-color:#c2413b8c}.msg-bubble.own.failed{background:#c2413bd9;border-color:#c2413bd9}.msg-delivery{letter-spacing:.01em;color:var(--muted);align-items:center;gap:5px;margin:2px 4px 0;padding:0;font-size:.7rem;font-weight:700;display:inline-flex}.msg-delivery.failed{color:#9d2434}.msg-delivery svg{flex-shrink:0}.msg-explain-tools{align-items:center;gap:8px;display:flex}.msg-row.own .msg-explain-tools{justify-content:flex-end}.msg-explain-button{background:var(--paper);min-height:30px;color:var(--teal);font:inherit;cursor:pointer;border:1px solid #12807238;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.msg-explain-button:disabled{cursor:wait;opacity:.7}.msg-explanation{width:min(420px,100%);color:var(--ink);background:#12807214;border:1px solid #1280722e;border-radius:12px;padding:10px 12px}.msg-row.own .msg-explanation{text-align:left}.msg-explanation span{color:var(--teal);text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:900;display:block}.msg-explanation p{margin:0;font-size:.82rem;line-height:1.45}.msg-explanation .rich-message{font-size:.82rem}.msg-explanation.error{color:#8b1d2b;background:#b72d3e14;border-color:#b72d3e3d;margin:0;font-size:.82rem;line-height:1.45}.word-modal-overlay{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a131a5c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.word-modal{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:14px;width:min(520px,100%);max-height:min(680px,100dvh - 32px);padding:16px;display:grid;overflow:auto;box-shadow:0 24px 70px #0f172a38}.word-modal header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.word-modal h3{color:var(--ink);margin:3px 0 0;font-size:1.35rem;line-height:1.12}.word-modal-close{flex:none;width:34px;height:34px;min-height:34px;padding:0}.word-modal-body{color:var(--ink);gap:10px;display:grid}.word-modal-loading,.word-modal-error,.word-modal-empty{align-items:center;gap:8px;margin:0;line-height:1.4;display:inline-flex}.word-modal-error{color:#8b1d2b}.word-explanation-card{gap:12px;display:grid}.word-explanation-card section{gap:5px;display:grid}.word-explanation-card span{color:var(--teal);text-transform:uppercase;font-size:.72rem;font-weight:900}.word-explanation-card p{margin:0;line-height:1.5}.word-explanation-card .rich-message{gap:6px}.word-explanation-card .rich-message h3,.word-explanation-card .rich-message h4,.word-explanation-card .rich-message h5{color:var(--ink)}.word-explanation-card ul{gap:8px;margin:0;padding-left:18px;display:grid}.word-explanation-card li{padding-left:2px}.word-example-translation{color:var(--muted);margin-top:2px;font-size:.86rem;line-height:1.45}.msg-composer{background:var(--paper);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 18px;display:grid}.msg-composer input{border:1px solid var(--line);min-width:0;min-height:44px;font:inherit;background:var(--surface);color:var(--ink);border-radius:22px;outline:none;padding:0 14px;font-size:.875rem;transition:border-color .12s}.msg-composer input:focus{border-color:var(--teal);background:var(--paper)}.msg-composer button{background:var(--teal);color:#fff;min-height:44px;font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:22px;align-items:center;gap:6px;padding:0 18px;font-size:.84rem;font-weight:800;transition:opacity .12s;display:inline-flex}.msg-composer button:disabled{opacity:.38;cursor:not-allowed}.msg-composer button:not(:disabled):hover{opacity:.88}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.messages-page,.ai-page{height:auto;min-height:100vh;overflow:visible}.sidebar{border-bottom:1px solid #ffffff14;border-right:0;gap:12px;min-height:auto;padding:14px 16px;position:static}.sidebar-nav{flex-wrap:wrap;gap:4px;display:flex}.sidebar-nav a{min-height:36px;padding:0 10px;font-size:.86rem}.sidebar-nav a.active,.sidebar-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--mint);background:#78e1c624}.profile-panel{padding:10px 12px}.locale-switcher{padding:8px 10px}.role-switcher{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.messages-page .sidebar,.messages-page .workspace,.messages-page #messages,.messages-page .messages-layout,.messages-page .messages-layout-v2{border:none;border-radius:0;height:auto;overflow:visible}.messages-page .workspace-page{align-items:start}.messages-page #messages{grid-template-rows:auto;padding:0}.ai-page .sidebar{display:none}.ai-page .workspace,.ai-page #ai,.ai-page .ai-chat-workspace{border:none;border-radius:0;height:auto;overflow:visible}.ai-page .workspace-page{align-items:start}.ai-page #ai{grid-template-rows:auto;padding:0}.messages-page .workspace,.messages-page #messages,.messages-page .thread-rail{grid-template-rows:none}.messages-page .thread-rail{align-content:start;overflow:visible}.workspace{padding:16px}.dashboard-hero-panel.student{position:static}.meeting-return-banner{align-items:stretch}.meeting-return-copy p{gap:2px;display:grid}.content-grid,.overview-band,.dashboard-hero-panel,.dashboard-role-grid,.dashboard-generated-exercises,.lesson-hero,.catalog-layout,.ai-chat-workspace,.profile-facts,.data-map-grid,.game-strip,.progress-dashboard-grid,.progress-dashboard-compact{grid-template-columns:1fr}.dashboard-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-chat-history{border-right:0;border-bottom:1px solid var(--line);min-height:0;overflow:hidden}.ai-chat-history-list{gap:8px;max-height:none;padding-bottom:2px;display:flex;overflow:auto hidden}.ai-history-row{min-width:min(240px,78vw)}.ai-page .ai-chat-workspace{grid-template-rows:auto minmax(0,1fr)}.messages-page .thread-list{max-height:220px}.messages-page .message-stream{min-height:250px;max-height:52dvh}.metric-grid,.dashboard-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero-student-stats{gap:8px}.dashboard-stat-chip{min-width:calc(50% - 4px)}.catalog-list{max-height:none;padding-right:0;overflow:visible}.lesson-detail,.lesson-runner{scroll-margin-top:16px;position:static}}@media (width<=680px){.sidebar,.workspace,.overview-band{padding:14px}.sidebar{gap:10px}.sidebar-top{gap:6px}.brand-mark{width:36px;height:36px}.brand-text strong{font-size:.95rem}.brand-lockup span{font-size:.74rem}.profile-panel{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:8px 10px}.profile-panel .avatar{width:36px;height:36px;font-size:.84rem}.profile-panel h2{font-size:.9rem}.sidebar-nav a{min-height:34px;padding:0 9px;font-size:.84rem}.role-tab{min-height:30px;font-size:.78rem}.locale-switcher select{min-height:32px;font-size:.84rem}.topbar{flex-direction:column;align-items:stretch;padding:12px 14px}.topbar h1,.overview-copy h2,.lesson-hero h3{font-size:1.26rem}.topbar p,.overview-copy p,.lesson-hero p{max-width:none;font-size:.84rem}.ai-page .workspace{padding:0}.ai-page .ai-chat-workspace{border-width:0;border-radius:0}.ai-page .ai-chat-history{padding:10px}.ai-page .ai-chat-header,.ai-page .ai-chat-composer{padding:12px}.ai-chat-header{flex-direction:column;align-items:flex-start}.ai-chat-header-actions{justify-content:space-between;width:100%}.ai-chat-composer .ai-chat-composer-row{grid-template-columns:minmax(0,1fr) auto 44px;gap:6px}.ai-chat-composer button{width:44px;min-width:44px;min-height:44px}.ai-page .ai-chat-stream{padding:14px 12px}.ai-page .ai-chat-bubble{width:min(94%,460px)}.selection-popup{right:auto;bottom:max(12px, env(safe-area-inset-bottom));transform:translate(-50%);top:auto!important;left:50%!important}.word-modal-overlay{place-items:end center;padding:12px}.word-modal{border-radius:12px 12px 8px 8px;width:100%;max-height:min(78dvh,680px)}.ai-call-overlay{padding:0}.ai-call-modal{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.ai-call-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.ai-call-stage{border-bottom:1px solid #dde5e2;border-right:0;padding:22px 14px}.ai-voice-orb{width:128px}.lesson-hero,.lesson-detail,.lesson-runner,.lesson-question-lines,.learning-tool-panel,.learner-progress-dashboard,.authoring-console{padding:14px}.metric-grid,.dashboard-metric-strip,.dashboard-role-grid,.dashboard-card-grid,.dashboard-stat-row,.messages-layout,.ai-chat-composer div,.ai-prompt-grid,.task-card,.catalog-toolbar,.progress-filters,.lesson-view-tabs,.lesson-hero-metrics,.profile-identity,.profile-form,.activity-overview,.match-row,.runner-result-grid,.notebook-card,.mastery-row,.meet-launch-grid,.video-stage.with-participants{grid-template-columns:1fr}.clinical-visual{min-height:128px}.monitor-frame{height:82px}.dashboard-next-card,.dashboard-hero-panel,.dashboard-panel{padding:12px}.dashboard-hero-copy h2{font-size:1.38rem}.dashboard-priority-card{align-content:start}.dashboard-progress-ring{justify-self:start}.runner-header,.runner-actions,.lesson-question-lines header,.learner-detail-panel header,.tool-panel-header,.authoring-summary{flex-direction:column;align-items:stretch}.runner-vitals{justify-content:flex-start}.lesson-hero-progress>div:first-child,.path-summary{flex-direction:column;align-items:flex-start}.level-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.unit-group header{flex-direction:column}.lesson-unit-section header,.lesson-focus-topbar{flex-direction:column;align-items:stretch}.lesson-question-line{grid-template-columns:1fr}.lesson-question-line strong{grid-column:1}.lesson-focus-actions{width:100%}.lesson-focus-actions .compact-action,.lesson-focus-actions .primary-action{flex:140px}.lesson-focus-title{text-align:left}.detail-grid{grid-template-columns:1fr}.record-row,.ai-card,.lesson-card,.learner-row,.message-thread-header,.meet-launch-header,.video-room-header,.catalog-summary,.progress-summary-pills{flex-direction:column;align-items:flex-start}.learner-row{grid-template-columns:40px minmax(0,1fr)}.learner-progress-cell,.learner-stat-cell{text-align:left;grid-column:2}.lesson-card{gap:8px}.lesson-card-main,.lesson-card-start{width:100%}.lesson-card-stats{justify-content:flex-start;width:100%}.learner-lesson-row,.attempt-row{grid-template-columns:1fr}.message-thread-actions,.member-add-control,.meet-launch-actions,.video-header-actions{width:100%}.meet-launch-actions,.video-header-actions{justify-content:stretch}.meet-context-strip,.video-invite-strip{flex-direction:column;align-items:stretch}.meet-launch-actions .compact-action,.video-header-actions .compact-action,.video-control{flex:128px}.video-grid.screen-share-active,.video-room.expanded .video-grid.screen-share-active,.video-room.full-page .video-grid.screen-share-active{grid-template-columns:1fr;grid-auto-rows:minmax(118px,auto)}.video-grid.screen-share-active .screen-share-tile.live,.video-room.full-page .video-grid.screen-share-active .screen-share-tile.live{grid-area:auto/1;min-height:min(62dvh,520px)}.video-grid.screen-share-active .video-tile:not(.screen-share-tile){grid-column:auto;min-height:118px}.member-add-control{grid-template-columns:1fr}.message-thread-actions .compact-action,.member-add-control .compact-action{width:100%}.composer div{grid-template-columns:1fr}.ai-card-actions{justify-items:stretch;width:100%}.ai-card-actions .compact-action,.notebook-card .compact-action,.tool-panel-header .notebook-search{width:100%}.admin-dashboard-header{flex-direction:column;align-items:flex-start}.admin-dashboard-header .primary-action{width:100%}}.teachers-page{gap:14px;display:grid}.teachers-page-header{background:linear-gradient(120deg, #12807221 0%, transparent 55%), var(--paper);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;box-shadow:0 2px 8px #171f2a0a}.students-page .teachers-page{gap:10px}.students-page .teachers-page-header{padding:10px 12px}.teachers-stats-row{gap:0;display:flex}.teachers-stat{gap:3px;padding:0 16px 0 0;display:grid;position:relative}.students-page .teachers-stat{padding-right:12px}.teachers-stat+.teachers-stat{border-left:1px solid var(--line);padding-left:16px}.students-page .teachers-stat+.teachers-stat{padding-left:12px}.teachers-stat strong{color:var(--ink);letter-spacing:0;font-size:1.34rem;font-weight:900;line-height:1;display:block}.students-page .teachers-stat strong{font-size:1.16rem}.teachers-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800;display:block}.students-page .teachers-stat span{font-size:.68rem}.teachers-stat.active strong{color:var(--teal)}.teachers-stat.archived strong{color:var(--muted)}.teachers-notice{border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:.86rem;font-weight:700;animation:.18s fadeSlideIn;display:flex}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.teachers-notice.success{color:#075044;background:#78e1c62e;border-color:#12807238}.teachers-notice.error{color:#9d2434;background:#e84a5f14;border-color:#e84a5f38}.teachers-toolbar{align-items:center;gap:10px;display:flex}.teachers-search-wrap{flex:1;min-width:0;position:relative}.teachers-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.teachers-search-input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:10px;padding:0 14px 0 38px;font-size:.9rem;transition:border-color .14s,box-shadow .14s}.teachers-search-input::placeholder{color:var(--muted)}.teachers-search-input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #1280721f}.teachers-filter-tabs{background:var(--chip);border:1px solid var(--line);border-radius:10px;flex-shrink:0;gap:3px;padding:3px;display:flex}.teachers-filter-tab{min-height:36px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:.82rem;font-weight:800;transition:background .14s,color .14s,box-shadow .14s}.teachers-filter-tab:hover{color:var(--ink)}.teachers-filter-tab.active{color:var(--ink);background:var(--paper);box-shadow:0 1px 5px #171f2a1a}.teachers-empty{color:var(--muted);border:1.5px dashed var(--line);text-align:center;background:#f6faf7cc;border-radius:14px;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;display:flex}.teachers-empty svg{opacity:.35}.teachers-empty p{max-width:280px;margin:0;font-size:.9rem;line-height:1.55}.teachers-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.teacher-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:0;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.teacher-card:before{content:"";background:linear-gradient(90deg, var(--teal), var(--mint));opacity:0;height:3px;transition:opacity .18s;display:block}.teacher-card:hover{border-color:#12807252;transform:translateY(-1px);box-shadow:0 8px 28px #171f2a17}.teacher-card:hover:before{opacity:1}.teacher-card.archived:before{background:var(--line);opacity:1}.teacher-card.archived{background:#f6faf7b3}.teacher-card-body{flex:1;gap:12px;padding:14px;display:grid}.teacher-card-top{align-items:flex-start;gap:13px;display:flex}.teacher-card-avatar{width:42px;height:42px;color:var(--paper);background:linear-gradient(140deg, var(--coral), var(--teal));letter-spacing:0;border-radius:12px;flex-shrink:0;place-items:center;font-size:.92rem;font-weight:900;display:grid;overflow:hidden;box-shadow:0 3px 10px #e84a5f38}.teacher-card.archived .teacher-card-avatar{box-shadow:none;background:linear-gradient(140deg,#9ca8a4,#64736d)}.teacher-card-avatar img{object-fit:cover;width:100%;height:100%}.teacher-card-identity{flex:1;min-width:0}.teacher-card-identity h4{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:.97rem;font-weight:800;line-height:1.25;overflow:hidden}.teacher-card-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.79rem;overflow:hidden}.teacher-card-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.teacher-chip{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:.74rem;font-weight:800;display:inline-flex}.teacher-chip.level{color:var(--teal);background:#1280721a;border:1px solid #1280722e}.teacher-chip.cohort{color:var(--muted);background:var(--chip);border:1px solid var(--line)}.teacher-chip.school{color:#6b4c00;background:#f5b34224;border:1px solid #f5b3424d}.teacher-card-footer{border-top:1px solid var(--line);background:#f6faf799;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.teacher-card-footer .status-pill{font-size:.72rem}.teacher-card-footer .ghost-action{border-radius:7px;min-height:32px;padding:0 12px;font-size:.8rem}.tm-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);background:#0f192394;justify-content:center;align-items:center;padding:20px;animation:.18s overlayIn;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.tm-card{background:var(--paper);border-radius:12px;flex-direction:column;width:100%;max-width:580px;max-height:min(760px,94dvh);animation:.2s cubic-bezier(.34,1.4,.64,1) modalIn;display:flex;overflow:hidden;box-shadow:0 40px 100px #0f192347,0 8px 24px #0f192324,0 0 0 1px #ffffff0f}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.tm-header{background:linear-gradient(120deg, #12807214 0%, transparent 60%), var(--paper);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;display:flex}.tm-header-icon{width:40px;height:40px;color:var(--paper);background:linear-gradient(135deg, var(--teal), var(--mint));border-radius:10px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 3px 10px #1280724d}.tm-header-text{flex:1;min-width:0}.tm-header-avatar{border-radius:10px;width:42px;height:42px;font-size:.88rem}.tm-title{color:var(--ink);margin:0 0 3px;font-size:1.04rem;font-weight:900;line-height:1.1}.tm-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;overflow:hidden}.tm-close{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,color .14s,border-color .14s;display:flex}.tm-close:hover{color:#9d2434;background:#e84a5f14;border-color:#e84a5f3d}.tm-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;gap:14px;padding:16px 18px;display:grid;overflow-y:auto}.tm-body::-webkit-scrollbar{width:5px}.tm-body::-webkit-scrollbar-track{background:0 0}.tm-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.tm-section-label{color:var(--teal);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:7px;margin:0 0 10px;font-size:.74rem;font-weight:900;display:flex}.tm-section-label:after{content:"";background:var(--line);flex:1;height:1px}.tm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tm-form-wide{grid-column:1/-1}.tm-form-grid label{gap:7px;display:grid}.tm-form-grid label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;font-size:.76rem;font-weight:800;display:inline-flex}.tm-form-grid input,.tm-form-grid select{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--surface);font:inherit;border-radius:9px;padding:0 12px;font-size:.9rem;transition:border-color .14s,box-shadow .14s,background .14s}.tm-form-grid input:focus,.tm-form-grid select:focus{border-color:var(--teal);background:var(--paper);outline:none;box-shadow:0 0 0 3px #1280721f}.tm-password-field{border:1px solid var(--line);background:var(--surface);border-radius:9px;transition:border-color .14s,box-shadow .14s;display:flex;overflow:hidden}.tm-password-field:focus-within{border-color:var(--teal);background:var(--paper);box-shadow:0 0 0 3px #1280721f}.tm-password-field input{min-height:42px;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:0 12px;font-size:.9rem}.tm-password-field input:focus{outline:none}.tm-password-field button{border:0;border-left:1px solid var(--line);width:42px;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .14s,background .14s;display:flex}.tm-password-field button:hover{color:var(--ink);background:#171f2a0d}.tm-fieldset{border:0;margin:0;padding:0}.tm-cohort-list{gap:6px;display:grid}.tm-check-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .14s,background .14s;display:flex}.tm-check-row:hover{background:#1280720a;border-color:#1280723d}.tm-check-row:has(input:checked){background:#1280720f;border-color:#12807247}.tm-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}.tm-check-row span{flex:1;gap:1px;min-width:0;display:grid}.tm-check-row strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;display:block;overflow:hidden}.tm-check-row small{color:var(--muted);font-size:.74rem;display:block}.tm-empty-text{color:var(--muted);text-align:center;background:var(--chip);border-radius:8px;margin:0;padding:14px;font-size:.84rem}.tm-detail-grid{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.tm-detail-item{background:var(--surface);gap:5px;padding:13px 15px;display:grid}.tm-detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:900;display:block}.tm-detail-item>span:last-child{color:var(--ink);word-break:break-word;font-size:.88rem;font-weight:600}.tm-edit-section{gap:16px;display:grid}.tm-footer{border-top:1px solid var(--line);background:#f6faf7b3;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:12px 18px;display:flex}.tm-footer-edit{justify-content:space-between}.tm-footer-right{gap:10px;display:flex}.danger-action{cursor:pointer;min-height:40px;font:inherit;color:#9d2434;background:#e84a5f0f;border:1px solid #e84a5f47;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:.86rem;font-weight:800;transition:background .14s,border-color .14s,box-shadow .14s;display:inline-flex}.danger-action:hover:not(:disabled){background:#e84a5f24;border-color:#e84a5f75;box-shadow:0 2px 8px #e84a5f24}.tm-delete-confirm{color:#7d1926;background:#e84a5f0d;border:1px solid #e84a5f33;border-radius:12px;align-items:flex-start;gap:14px;padding:16px;display:flex}.tm-delete-confirm>svg{color:var(--coral);flex-shrink:0;margin-top:1px}.tm-delete-confirm p{margin:0 0 5px;font-size:.88rem;line-height:1.5}.tm-delete-confirm p:last-of-type{color:var(--muted);margin-bottom:12px;font-weight:400}.tm-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.tm-reset-section{gap:12px;display:grid}.tm-reset-trigger{border:1px dashed var(--line);width:100%;color:var(--muted);background:0 0;border-radius:10px;justify-content:center;padding:10px 16px;font-size:.86rem}.tm-reset-trigger:hover{border-color:var(--teal);color:var(--teal);background:#1e8d6e0a}.tm-reset-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.calendar-form-grid,.calendar-layout,.calendar-repeat-row{grid-template-columns:1fr}.calendar-schedule-form header,.calendar-board-header{flex-direction:column;align-items:stretch}.calendar-rsvp{grid-template-columns:1fr}.calendar-board-tools,.calendar-modal-actions{justify-content:stretch;width:100%}.calendar-board-tools>*,.calendar-modal-actions>*{flex:auto}.calendar-period-nav strong{min-width:0}.calendar-week-grid{grid-template-columns:50px repeat(7,minmax(92px,1fr))}.calendar-time-slot{min-height:56px}.calendar-month-grid{grid-template-columns:1fr}.calendar-month-day{min-height:92px}.calendar-agenda-row{grid-template-columns:52px minmax(0,1fr)}.calendar-agenda-meta{grid-column:2}.teachers-page-header{flex-direction:column;align-items:stretch;gap:16px}.teachers-page-header .primary-action{justify-content:center;width:100%}.teachers-stats-row{justify-content:space-between}.teachers-toolbar{flex-direction:column;align-items:stretch}.teachers-filter-tabs{justify-content:center}.teachers-grid{grid-template-columns:1fr}}@media (width<=540px){.tm-overlay{align-items:flex-end;padding:0}.tm-card{border-radius:20px 20px 0 0;max-width:100%;max-height:96dvh;animation:.24s cubic-bezier(.34,1.2,.64,1) sheetIn}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tm-form-grid,.tm-detail-grid{grid-template-columns:1fr}.tm-footer-edit{flex-direction:column-reverse;gap:8px}.tm-footer-right{flex-direction:column;width:100%}.tm-footer-right button,.danger-action{justify-content:center;width:100%}}.admin-student-manager{gap:12px;display:grid}.admin-student-hero,.admin-student-create,.admin-student-roster,.admin-student-detail,.admin-student-notice{border-radius:8px}.admin-student-hero{color:var(--ink);background:var(--paper);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(240px,.62fr);align-items:center;gap:12px;padding:10px 12px;display:grid;overflow:hidden}.admin-student-hero .eyebrow{color:var(--teal)}.admin-student-hero h3,.admin-section-heading h4,.admin-detail-summary h4{color:inherit;letter-spacing:0;margin:0;line-height:1.08}.admin-student-hero h3{margin-top:4px;font-size:1rem;font-weight:800}.admin-student-hero p,.admin-section-heading p,.admin-detail-summary p{margin:6px 0 0}.admin-student-hero p{max-width:680px;color:var(--muted);font-size:.82rem;line-height:1.35}.admin-student-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.admin-student-stats div{background:#12807214;border:1px solid #12807233;border-radius:8px;align-content:center;gap:4px;min-width:0;min-height:50px;padding:8px;display:grid}.admin-student-stats strong{color:var(--ink);letter-spacing:0;font-size:1rem;font-weight:800;line-height:1}.admin-student-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800}.admin-student-notice{border:1px solid #0000;align-items:center;gap:10px;padding:12px;font-size:.88rem;font-weight:700;display:flex}.admin-student-notice.success{color:#075044;background:#78e1c633;border-color:#12807233}.admin-student-notice.error{color:#9d2434;background:#e84a5f1a;border-color:#e84a5f33}.admin-student-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-student-layout.roster-only{grid-template-columns:1fr}.admin-student-create,.admin-student-roster,.admin-student-detail{border:1px solid var(--line);min-width:0;box-shadow:none;background:#f7faf8d6;padding:12px}.admin-section-heading,.admin-detail-summary{align-items:center;gap:14px;display:flex}.admin-section-heading{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:8px}.admin-section-heading h4,.admin-detail-summary h4{color:var(--ink);letter-spacing:0;font-size:1rem;font-weight:700}.admin-section-heading p,.admin-detail-summary p{color:var(--muted);font-size:.84rem;line-height:1.5}.admin-icon-tile{width:42px;height:42px;color:var(--teal);background:linear-gradient(135deg,#1280721a,#1280720d);border:1px solid #12807229;border-radius:8px;flex:none;place-items:center;display:inline-grid}.admin-form-grid,.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form-grid label,.admin-detail-grid label,.admin-reset-form label{gap:8px;display:grid}.admin-form-wide{grid-column:1/-1}.admin-form-grid label>span,.admin-detail-grid label>span,.admin-reset-form label>span,.admin-cohort-picker legend,.admin-school-fieldset legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-school-context{color:var(--ink);background:#1280720f;border:1px solid #12807229;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:grid}.admin-school-context svg{color:var(--teal)}.admin-school-context.warning{background:#f5b3421f;border-color:#f5b34247}.admin-school-context.warning svg{color:#b16609}.admin-school-context span{gap:2px;min-width:0;display:grid}.admin-school-context strong,.admin-school-context small{overflow-wrap:anywhere;min-width:0}.admin-school-context small{color:var(--muted)}.admin-form-grid input,.admin-form-grid select,.admin-detail-grid select,.admin-password-field input,.admin-search input,.admin-filter select{border:1px solid var(--line);width:100%;min-width:0;min-height:38px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 10px;font-size:.9rem;transition:border-color .16s,box-shadow .16s,background .16s}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-detail-grid select:focus,.admin-search input:focus,.admin-filter select:focus{border-color:var(--teal);background:var(--paper);outline:none;box-shadow:0 0 0 3.5px #1280721f}.admin-form-grid input::placeholder{color:#64786e73}.admin-password-field{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) 38px;transition:border-color .16s,box-shadow .16s;display:grid;overflow:hidden}.admin-password-field:focus-within{border-color:var(--teal);background:var(--paper);box-shadow:0 0 0 3.5px #1280721f}.admin-password-field input{min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:0}.admin-password-field input:focus{box-shadow:none;background:0 0;border:0}.admin-password-field button{border:0;border-left:1px solid var(--line);min-height:36px;color:var(--muted);cursor:pointer;background:0 0;place-items:center;transition:color .14s,background .14s;display:grid}.admin-password-field button:hover{color:var(--ink);background:#1280720f}.admin-cohort-picker,.admin-school-fieldset{border:0;min-width:0;margin:20px 0 0;padding:0}.admin-cohort-picker legend,.admin-school-fieldset legend{margin-bottom:10px}.admin-cohort-picker>div{gap:6px;display:grid}.admin-check-row{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:8px;transition:background .16s,border-color .16s;display:grid}.admin-check-row:hover{background:#1280720a;border-color:#12807233}.admin-check-row:has(input:checked){background:#12807212;border-color:#12807252}.admin-check-row input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;margin:0}.admin-check-row span{gap:2px;min-width:0;display:grid}.admin-check-row strong,.admin-check-row small{overflow-wrap:anywhere;min-width:0}.admin-check-row strong{color:var(--ink);font-size:.88rem;font-weight:600}.admin-check-row small{color:var(--muted);font-size:.76rem}.admin-wide-action{letter-spacing:.01em;border-radius:8px;width:100%;min-height:38px;margin-top:12px;font-size:.92rem;font-weight:700}.admin-student-create .primary-action{background:var(--teal);border-color:var(--teal)}.admin-student-create .primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #12807252,0 2px 8px #12807229}.admin-roster-tools{grid-template-columns:minmax(0,1fr) 152px;gap:8px;margin-bottom:10px;display:grid}.admin-search,.admin-filter{align-items:center;display:grid;position:relative}.admin-search svg,.admin-filter svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;left:13px}.admin-search input,.admin-filter select{padding-left:40px}.admin-student-list{gap:8px;max-height:504px;padding-right:4px;display:grid;overflow:auto}.admin-student-row{border:1px solid var(--line);width:100%;min-width:0;min-height:62px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;transition:border-color .16s,background .16s;display:grid}.admin-student-row:hover,.admin-student-row:focus-visible{background:#1280720a;border-color:#1280724d}.admin-student-row.selected{box-shadow:none;background:#12807214;border-color:#12807261}.admin-student-row>span:nth-child(2){gap:2px;min-width:0;display:grid}.admin-student-row strong,.admin-student-row small{overflow-wrap:anywhere;min-width:0}.admin-student-row strong{font-size:.9rem;font-weight:600}.admin-student-row small{color:var(--muted);font-size:.78rem}.admin-avatar{width:42px;height:42px;color:var(--paper);letter-spacing:.02em;background:linear-gradient(145deg,#e84a5fe0,#128072e0);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:inline-grid}.admin-avatar.large{width:52px;height:52px;font-size:.94rem}.admin-status-pill{min-height:24px;color:var(--ink);background:var(--chip);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-status-pill.active{color:#075044;background:#78e1c642}.admin-status-pill.pending{color:#783405;background:#f5b3423d}.admin-status-pill.locked{color:#9d2434;background:#e84a5f1f}.admin-status-pill.archived{color:#4f5e58;background:#dae4decc}.admin-empty-state{min-height:72px;color:var(--muted);border:1px dashed var(--line);background:#f7faf8b3;border-radius:8px;align-items:center;gap:10px;padding:16px;font-size:.88rem;display:flex}.admin-student-detail{gap:12px;display:grid}.admin-detail-summary{background:var(--paper);border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:8px;grid-template-columns:52px minmax(0,1fr) auto;min-width:0;padding:12px;display:grid}.admin-detail-summary>div{min-width:0}.admin-detail-summary p{overflow-wrap:anywhere}.admin-status-context{min-height:46px;color:var(--muted);border:1px solid var(--line);background:#f7faf8cc;border-radius:8px;align-items:flex-start;gap:9px;padding:10px;font-size:.85rem;line-height:1.5;display:flex}.admin-status-context svg{color:var(--teal);opacity:.8;flex:none;margin-top:1px}.admin-cohort-picker.detail{margin-top:0}.admin-sensitive-actions,.admin-reset-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.admin-danger-action{color:#9d2434;border-color:#e84a5f47}.admin-danger-action:hover:not(:disabled){background:#e84a5f0f}.admin-spin{animation:.9s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}@media (width<=1120px){.admin-student-hero,.admin-student-layout,.admin-sensitive-actions{grid-template-columns:1fr}.admin-student-list{max-height:none;padding-right:0;overflow:visible}}@media (width<=720px){.admin-student-hero,.admin-student-create,.admin-student-roster,.admin-student-detail{padding:16px}.admin-student-stats,.admin-form-grid,.admin-detail-grid,.admin-roster-tools,.admin-reset-form{grid-template-columns:1fr}.admin-detail-summary{grid-template-columns:52px minmax(0,1fr)}.admin-detail-summary .admin-status-pill{grid-column:1/-1;justify-self:start}.admin-student-row{grid-template-columns:42px minmax(0,1fr)}.admin-student-row .admin-status-pill{grid-column:2;justify-self:start}.admin-sensitive-actions .primary-action,.admin-sensitive-actions .ghost-action,.admin-reset-form .ghost-action{width:100%}.admin-section-heading{margin-bottom:16px;padding-bottom:14px}}
