@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600&display=swap";:root{--brand-navy:#223e92;--brand-periwinkle:#8595c3;--brand-sky:#3fb5e8;--brand-green:#0d5421;--brand-red:#d33e4e;--brand-orange:#dc5e19;--ink:#18274d;--paper:#f4f6fb;--card:#fff;--line:#d7deee;--line-soft:#e9edf6;--good:#18743a;--warn:#dc5e19;--bad:#d33e4e;--sub:#d33e4e;--accent:#223e92;--accent-deep:#183170;--accent-tint:#eaf0fb;--admin:#223e92;--admin-deep:#183170;--admin-tint:#eaf0fb;--teacher:#dc5e19;--teacher-deep:#9a3f0d;--teacher-tint:#fff0e7;--student:#3fb5e8;--student-deep:#176e98;--student-tint:#eaf8fd;--parent:#d33e4e;--parent-deep:#962335;--parent-tint:#fdecef;--shadow:0 9px 28px #223e9213;--radius:16px}[data-role=teacher]{--accent:#dc5e19;--accent-deep:#9a3f0d;--accent-tint:#fff0e7}[data-role=student]{--accent:#3fb5e8;--accent-deep:#176e98;--accent-tint:#eaf8fd}[data-role=parent]{--accent:#d33e4e;--accent-deep:#962335;--accent-tint:#fdecef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);background:linear-gradient(#f7f9fd 0,#f4f6fb 240px);margin:0;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.mono,.tag,.eyebrow,.day-label,.timestamp,.tiny-label{font-family:IBM Plex Mono,monospace}.serif,h1,h2,.stat-value,.brand{font-family:DM Serif Display,Cormorant,serif;font-weight:400}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 1px #14181f08}.btn:hover{transform:translateY(-1px)}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.55;transform:none!important}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 14px color-mix(in srgb, var(--accent) 21%, transparent)}.btn.danger{color:var(--bad)}.btn.ghost{box-shadow:none;background:0 0}.btn.small{padding:6px 9px;font-size:12px}.tag{border:1px solid var(--line);color:var(--ink);background:#f7f8f5;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;font-size:10px;line-height:1.2;display:inline-flex}.tag.accent{color:var(--accent-deep);background:var(--accent-tint);border-color:#0000}.tag.good{color:#0d5421;background:#edf7ef;border-color:#d3e8d7}.tag.warn{color:#a4420e;background:#fff0e7;border-color:#f2cdb9}.tag.bad,.tag.sub{color:#a32637;background:#fdecef;border-color:#f1c7ce}.muted{color:#6d747b}.callout{border-left:3px solid var(--warn);color:#6b4a2e;background:#fff8ef;border-radius:0 9px 9px 0;padding:10px 12px;font-size:12px}.grid{gap:16px;display:grid}.two-col{grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr)}.three-col{grid-template-columns:repeat(3,1fr)}.assignment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.assignment-card{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;min-height:210px;padding:16px;display:flex}.assignment-card.locked{opacity:.62;background:#f6f7f4}.assignment-card.soon{background:#fff7ef;border-color:#f3cfac}.assignment-card.overdue{background:#fbf0f0;border-color:#ebc7c7}.assignment-card.completed{background:#f8fbf9;border-color:#d1fae5}.assignment-card h3{margin:8px 0;font-family:DM Serif Display,Cormorant,serif;font-size:20px;font-weight:400}.assignment-card .state{margin-top:auto;padding-top:16px}@media (width<=800px){.assignment-grid{grid-template-columns:1fr}}.input,.select,textarea{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;outline:none;width:100%;padding:9px 11px}.input:focus,.select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent);outline:none}.page-loading{justify-content:center;padding:120px 0;display:flex}.page-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-head h1{margin:0 0 7px;font-size:34px;line-height:1.05}.actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.eyebrow{color:var(--accent-deep);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}.panel-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.panel-head h2{margin:0;font-size:21px}.panel-body{padding:18px}.summary-list{gap:0;display:grid}.summary-list>div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;font-size:13px;display:flex}.summary-list>div:last-child{border-bottom:0}.summary-list>div>span{color:#6d747b;flex-shrink:0}.summary-list>div>strong{text-align:right;word-break:break-word}.wizard-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.wizard-step{border:1px solid var(--line);text-align:left;color:#70777d;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:11px 12px;font:600 12px Inter,sans-serif;transition:border-color .15s,background .15s;display:flex}.wizard-step>span{background:#f0f1ef;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700;display:inline-grid}.wizard-step.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent-deep);background:var(--accent-tint)}.wizard-step.active>span{background:var(--accent-tint);color:var(--accent-deep)}.wizard-step.complete>span{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-step.complete{color:var(--good)}.wizard-pane{display:none}.wizard-pane.active,.wizard-pane:not([hidden]){display:block}.wizard-pane[hidden]{display:none!important}.wizard-actions{border-top:1px solid var(--line-soft);background:#fbfcfa;justify-content:space-between;align-items:center;gap:10px;margin-top:0;padding:14px 18px;display:flex}.autosave{color:var(--good);font-family:IBM Plex Mono,monospace;font-size:11px}.wizard-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.select-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;padding:14px;transition:border-color .15s,transform .15s;display:block;position:relative}.select-card:hover{border-color:#b9bfb6;transform:translateY(-1px)}.select-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent);background:linear-gradient(180deg, var(--accent-tint), #fff 62%)}.select-card input[type=radio]{opacity:0;pointer-events:none;position:absolute}.select-card h3{margin:5px 0;font-family:DM Serif Display,serif;font-size:20px;font-weight:400}.select-card p{color:#717980;margin:0 0 12px;font-size:12px}.selection-mark{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:none;position:absolute;top:12px;right:12px}.select-card.selected .selection-mark{display:grid}.existing-toggle{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:14px;display:flex}.existing-toggle input{accent-color:var(--accent);margin-top:3px}.assessment-template-list{gap:10px;margin-top:12px;display:grid}.assessment-template-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px;transition:border-color .15s;display:grid}.assessment-template-card:hover{border-color:var(--accent)}.assessment-template-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-tint)}.assessment-template-card h3{margin:4px 0;font-size:14px}.assessment-template-card .source-line{color:#687079;font-size:12px}.assessment-empty{border:1px dashed var(--line);text-align:center;color:#80878d;background:#fafbf8;border-radius:12px;padding:24px}.assessment-empty p{margin:6px 0 0}.loaded-template-banner{background:var(--accent-tint);border:1px solid var(--accent);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:13px;display:flex}.lesson-assessment-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px;display:grid}.question-library-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:10px;padding:14px}.question-library-head{grid-template-columns:1fr auto;align-items:start;gap:12px;display:grid}.choice-mini{border:1px solid var(--line-soft);border-radius:8px;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;margin-top:6px;padding:7px 9px;font-size:13px;display:grid}.choice-mini.correct{background:#f2faf6;border-color:#a9d7c0}@media (width<=900px){.wizard-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-choice-grid,.lesson-assessment-grid{grid-template-columns:1fr}}@media (width<=600px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.course-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px;display:grid}.course-card{border:1px solid var(--line);min-height:200px;box-shadow:var(--shadow);background:#fff;border-radius:16px;flex-direction:column;padding:17px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.course-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));box-shadow:0 12px 32px #223e921c}.course-top{background:linear-gradient(135deg, var(--accent-tint), #fff 72%);border:1px solid var(--line-soft);border-radius:12px;justify-content:space-between;align-items:flex-end;height:84px;padding:13px;display:flex}.course-card h3{margin:14px 0 6px;font-family:DM Serif Display,serif;font-size:22px;font-weight:400}.meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-assigned-grid{grid-template-columns:repeat(3,minmax(240px,1fr));max-width:100%}.teacher-course-select{min-height:230px}.teacher-course-select:hover{border-color:var(--accent)!important;box-shadow:0 10px 28px #14181f14!important}.teacher-course-flow{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.teacher-course-flow>div{border:1px solid var(--line-soft);border-radius:12px;grid-template-columns:30px 1fr;column-gap:10px;padding:14px;display:grid}.teacher-course-flow>div>span{background:var(--accent-tint);width:30px;height:30px;color:var(--accent-deep);border-radius:50%;grid-row:1/3;place-items:center;font:700 11px IBM Plex Mono,monospace;display:grid}.teacher-course-flow strong{font-size:12px}.teacher-course-flow small{color:#747c85;margin-top:4px;line-height:1.4;display:block}.teacher-course-lessons{gap:0;display:grid}.teacher-lesson-detail{border-bottom:1px solid var(--line-soft);grid-template-columns:200px 1fr;gap:16px;padding:16px 18px;display:grid}.teacher-lesson-detail:last-child{border-bottom:0}.lesson-inline-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.teacher-content-row{border:1px solid var(--line-soft);background:#fafbf8;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;padding:8px 10px;font-size:13px;display:flex}.teacher-content-row p{color:#5a6270;margin:4px 0 0;line-height:1.5}.tiny-label{text-transform:uppercase;color:#858c91;margin-bottom:3px;font:500 9px IBM Plex Mono,monospace;display:block}.editor-shell{grid-template-columns:220px minmax(0,1fr) 280px;align-items:start;gap:14px;display:grid}.lesson-rail,.history-drawer{position:sticky;top:76px}.lesson-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:9px;margin:4px 0;padding:11px;transition:background .12s;display:flex}.lesson-item:hover{background:var(--accent-tint)}.lesson-item.active{background:var(--accent-tint);border-color:var(--line-soft)}.drag{color:#a4a9ad;letter-spacing:-1px;flex-shrink:0;margin-top:1px;font-family:IBM Plex Mono,monospace}.lesson-num{color:#899097;font:500 10px IBM Plex Mono,monospace;display:block}.lesson-rail-assessment-actions{flex-wrap:wrap;gap:5px;margin:8px 0 0 28px;display:flex}.lesson-rail-assessment-actions .btn{padding:4px 7px;font-size:10px}.teacher-edit-block{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:12px;padding:15px}.block-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.block-type{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.handle{color:#a1a8ad;letter-spacing:-1px;font-family:IBM Plex Mono,monospace}.teacher-block-file{border:1px solid var(--line-soft);background:#fbfcfa;border-radius:12px;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;padding:12px;display:grid}.file-thumb{background:var(--accent-tint);width:58px;height:72px;color:var(--accent-deep);border-radius:7px;place-items:center;font:700 12px IBM Plex Mono,monospace;display:grid}.video-thumb{color:#fff;background:linear-gradient(135deg,#1e2229,#515864)}.chips{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:flex}.chip:hover{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-deep)}.chip.selected{background:var(--accent-tint);color:var(--accent-deep);border-color:#0000}.empty{text-align:center;border:1px dashed var(--line);background:#fafbf8;border-radius:13px;padding:34px}.footer-note{color:#858b90;margin-top:20px;font-size:11px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:18px 18px 16px}.stat-card .label{color:#717980;margin-bottom:6px;font-size:12px}.stat-value{font-family:DM Serif Display,serif;font-size:30px;font-weight:400;line-height:1}.delta{color:var(--good);margin-top:8px;font-size:11px}.panel,.course-card,.stat-card{border-color:#d8e0f0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:#747c85;border-bottom:1px solid var(--line);padding:10px 12px;font:500 10px IBM Plex Mono,monospace}td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:13px 12px}tr:last-child td{border-bottom:0}.person{align-items:center;gap:10px;display:flex}.mini-avatar{background:var(--accent-tint);width:30px;height:30px;color:var(--accent-deep);border-radius:9px;place-items:center;font-size:11px;font-weight:700;display:grid}.attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-attendance-list{gap:14px;display:grid}.schedule-row{border:1px solid var(--line);border-radius:14px;padding:14px}.schedule-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ribbon{grid-template-columns:repeat(7,minmax(120px,1fr));gap:7px;display:grid}.day-cell{border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:12px;min-height:94px;padding:10px;transition:all .15s}.attendance-cell{border-top:3.5px solid #64748b;flex-direction:column;min-height:142px;display:flex}.attendance-cell-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.attendance-cell .attendance-open{border-radius:7px;justify-content:center;width:100%;margin-top:auto;padding:6px 7px;font-weight:600}.day-cell.you{border-top:3.5px solid var(--accent,#2563eb);box-shadow:0 1px 3px #00000008}.day-cell.attendance-cell.taken{background:#f0fdf4!important;border-color:#10b981 #86efac #86efac!important;border-top-style:solid!important;border-top-width:3.5px!important;box-shadow:inset 0 0 0 1px #a7f3d0!important}.day-cell.substitute{background:repeating-linear-gradient(-45deg,#fff,#fff 8px,#fff0f2 8px 16px);border-color:#f43f5e #f3b8c1 #f3b8c1;border-top-style:solid;border-top-width:3.5px}.day-label{color:#7b838a;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px}.day-date{color:#7b838a;white-space:nowrap;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:10px}.teacher-name{margin-top:10px;font-size:13px;font-weight:600}.attendance-readonly-note{color:#8b9298;margin-top:auto;padding-top:8px;font-size:10px}.attendance-history-panel{overflow:visible}.attendance-history-table td:nth-child(3){min-width:190px}.segmented{border:1px solid var(--line);background:#f8f9f6;border-radius:10px;padding:3px;display:flex}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:13px;font-weight:500}.segmented button.active{background:#fff;box-shadow:0 1px 4px #00000014}.messages{border:1px solid var(--line);border-radius:var(--radius);min-height:580px;box-shadow:var(--shadow);background:#fff;grid-template-columns:330px 1fr;display:grid;overflow:hidden}.thread-list{border-right:1px solid var(--line);overflow-y:auto}.thread{border-bottom:1px solid var(--line-soft);cursor:pointer;padding:14px}.thread:hover{background:#f7f8f5}.thread.active{background:var(--accent-tint)}.thread-top{justify-content:space-between;gap:8px;display:flex}.chat{flex-direction:column;min-width:0;display:flex}.chat-head{border-bottom:1px solid var(--line-soft);padding:14px 16px}.bubbles{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.bubble{background:#f0f2ee;border-radius:14px;max-width:70%;padding:10px 12px;font-size:13px;line-height:1.5}.bubble .timestamp{color:#8b9298;margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:10px}.bubble.me{background:var(--accent-tint);margin-left:auto}.composer{border-top:1px solid var(--line-soft);gap:8px;padding:12px;display:flex}.composer .input{flex:1}.field label{margin-bottom:6px;font-size:11px;font-weight:600;display:block}.modal{z-index:80;background:#14181f70;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal.open{display:flex}.modal-card{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(520px,100%);box-shadow:0 20px 60px #0003}.form-modal-card{padding:24px 28px 28px}.modal-form-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 24px 18px;display:flex}.modal-form-head h2{margin:2px 0 4px}.modal-form-head p{margin:0}.form-modal-card form{padding:22px 24px 24px}.modal-form-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;display:flex}.attendance-modal{z-index:90}.attendance-modal-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(1120px,100vw - 30px);max-height:92vh;overflow:auto;box-shadow:0 20px 70px #14181f38}.attendance-session-summary{border-bottom:1px solid var(--line-soft);background:#fafbf8;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;padding:16px 24px;display:grid}.attendance-session-summary>div{border:1px solid var(--line-soft);background:#fff;border-radius:10px;padding:11px}.attendance-session-summary .tiny-label{color:#80878d;text-transform:uppercase;margin-bottom:5px;font-size:9px;display:block}.attendance-session-summary strong{font-size:12px}.attendance-toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:13px 24px;display:flex}.attendance-roster{gap:0;padding:0 24px;display:grid}.attendance-student-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(170px,1fr) minmax(390px,1.6fr) minmax(180px,.9fr);align-items:center;gap:16px;padding:14px 0;display:grid}.attendance-person .muted{margin-top:2px;font-size:10px}.attendance-status-options{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.attendance-status-choice{cursor:pointer;position:relative}.attendance-status-choice input{opacity:0;pointer-events:none;position:absolute}.attendance-status-choice span{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;min-height:36px;padding:7px 8px;font-size:11px;font-weight:600;transition:background .12s,border-color .12s;display:flex}.attendance-status-choice input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.attendance-status-choice.present input:checked+span{color:var(--good);background:#edf8f2;border-color:#a9d8bf}.attendance-status-choice.late input:checked+span{color:#9b5319;background:#fff4e9;border-color:#f0cda8}.attendance-status-choice.absent input:checked+span{color:var(--bad);background:#fceded;border-color:#eabcbc}.attendance-status-choice.excused input:checked+span{color:#555f87;background:#f1f2f8;border-color:#c6cadf}.attendance-note label{font-size:9px}.attendance-note .input{padding:7px 9px;font-size:11px}.attendance-modal-card .modal-form-actions{margin:0 24px 22px}.attendance-empty{text-align:center;color:#80878d;padding:22px}@media (width<=1100px){.attendance-stats{grid-template-columns:repeat(2,1fr)}.attendance-student-row{grid-template-columns:1fr}.attendance-status-options{max-width:560px}.attendance-session-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=1180px){.stats{grid-template-columns:repeat(2,1fr)}.ribbon{grid-template-columns:repeat(4,minmax(90px,1fr))}}@media (width<=800px){.attendance-stats,.attendance-session-summary{grid-template-columns:1fr}.attendance-toolbar{flex-direction:column;align-items:flex-start}.attendance-status-options{grid-template-columns:repeat(2,1fr)}.attendance-modal-card{width:calc(100vw - 16px)}}.lesson-reader{grid-template-columns:240px 1fr;gap:14px;display:grid}.reader-lesson{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;padding:11px;display:flex}.reader-lesson:hover{background:#f8f9f6}.reader-lesson.active,.reader-lesson.active:hover{background:var(--accent-tint)}.viewed{width:18px;height:18px;color:var(--good);background:#e7f4ed;border-radius:50%;flex-shrink:0;place-items:center;margin-right:6px;font-size:10px;display:inline-grid}.new-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:9px;display:inline-block}.block{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:12px;padding:15px}.pdf-preview{border:1px solid var(--line);color:#747b80;background:linear-gradient(#f7f7f3,#eceee8);border-radius:10px;justify-content:center;align-items:center;height:250px;display:flex}.video-player{aspect-ratio:16/7;color:#fff;cursor:pointer;background:linear-gradient(135deg,#171c23,#3e4651);border-radius:12px;place-items:center;display:grid}.video-player.playing{box-shadow:inset 0 0 0 3px var(--accent)}.play{color:#111;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;padding-left:2px;display:grid}.quiz-stage{max-width:800px;margin:auto}.quiz-progress{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.option{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:9px;padding:13px}.option.selected{border-color:var(--accent);background:var(--accent-tint)}button.option.quiz-option{text-align:left;width:100%;color:var(--ink);cursor:pointer;appearance:none;display:block}button.option.quiz-option:hover{border-color:var(--accent)}.quiz-answer-status{color:#7a8288;text-transform:uppercase;letter-spacing:.05em;align-self:center;font:500 10px IBM Plex Mono,monospace}.score-moment{text-align:center;padding:34px}.score-ring{border:12px solid var(--accent-tint);width:120px;height:120px;box-shadow:inset 0 0 0 3px var(--accent);border-radius:50%;place-items:center;margin:0 auto 15px;display:grid}.score-ring strong{font-family:DM Serif Display,Cormorant,serif;font-size:34px;font-weight:400}.preview-course-meta{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.answer-review-list{gap:10px;max-height:60vh;margin-top:16px;display:grid;overflow-y:auto}.answer-review{border:1px solid var(--line);border-radius:12px;grid-template-columns:34px 1fr auto;align-items:start;gap:12px;padding:13px;display:grid}.answer-review.correct{background:#f7fcf9;border-color:#d5eddf}.answer-review.wrong{background:#fff8f8;border-color:#f4d2d2}.answer-status-icon{border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.answer-review.correct .answer-status-icon{color:var(--good);background:#e5f5ec}.answer-review.wrong .answer-status-icon{color:var(--bad);background:#fceded}.answer-lines{color:#636a71;flex-wrap:wrap;gap:18px;margin-top:8px;font-size:12px;display:flex}.answer-lines b{color:var(--ink)}.notification{border-bottom:1px solid var(--line-soft,#f1f5f9);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;margin-bottom:2px;padding:14px 16px;transition:all .15s;display:grid}.notification:hover{background:var(--surface-hover,#f8fafc);transform:translate(3px)}.notification:last-child{border-bottom:0}.notification.unread{background:linear-gradient(90deg,#eb5e2814,#ffffffe6 30%)}.notification.unread:hover{background:linear-gradient(90deg,#eb5e281f,#f8fafcf2 30%)}.notif-icon{background:var(--accent-tint,#eb5e281a);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:grid}.notification.urgent{background:#fffaf5}.notification.urgent .notif-icon{color:#d9480f;background:#fff0e5}.notif-title{color:var(--ink,#1e293b);margin-bottom:2px;font-size:14px;font-weight:600}.notif-body{color:var(--ink-light,#64748b);margin-bottom:4px;font-size:13px;line-height:1.4}.notif-meta{align-items:center;gap:12px;display:flex}.notif-action-tag{color:var(--accent,#eb5e28);align-items:center;gap:2px;font-size:12px;font-weight:600;display:inline-flex}.unread-dot{background:var(--accent,#eb5e28);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin:0 0 0 auto}.sticky-editor-head{z-index:20;background:var(--bg,#f8fafc);border-bottom:1px solid var(--line,#e2e8f0);margin-top:-12px;margin-bottom:20px;padding:12px 0 16px;position:sticky;top:56px}.lesson-rail,.history-drawer{max-height:calc(100vh - 195px);position:sticky;top:175px;overflow-y:auto}@media (width<=900px){.lesson-reader{grid-template-columns:1fr}}@media (width<=1180px){.course-grid,.three-col{grid-template-columns:repeat(2,1fr)}.editor-shell{grid-template-columns:200px 1fr}.history-drawer{grid-column:1/-1;position:static}}@media (width<=900px){.two-col{grid-template-columns:1fr}}@media (width<=1000px){.teacher-assigned-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.teacher-course-flow,.teacher-lesson-detail{grid-template-columns:1fr}}@media (width<=640px){.teacher-assigned-grid{grid-template-columns:1fr}}@media (width<=800px){.page-head{flex-direction:column}.course-grid,.three-col,.editor-shell{grid-template-columns:1fr}.lesson-rail,.history-drawer{position:static}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}._toast_1hmzo_1{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:2000;border-radius:999px;align-items:center;gap:12px;max-width:min(92vw,420px);padding:12px 20px;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px)}._toast_1hmzo_1._show_1hmzo_19{opacity:1;pointer-events:auto;transform:translate(-50%)}._toast_1hmzo_1._error_1hmzo_24{background:var(--bad)}._toast_1hmzo_1._info_1hmzo_25{background:var(--ink)}._action_1hmzo_26{appearance:none;color:#fff;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}._container_m0h4r_1{background:linear-gradient(#f7f9fd 0%,#edf2f9 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}._card_m0h4r_10{background:var(--card,#fff);border:1px solid var(--line,#d7deee);border-radius:var(--radius,16px);text-align:center;width:100%;max-width:580px;padding:40px 32px 32px;position:relative;overflow:hidden;box-shadow:0 16px 40px #18274d14,0 4px 12px #18274d0a}._card_m0h4r_10:before{content:"";background:linear-gradient(90deg,#d33e4e 0%,#dc5e19 50%,#3fb5e8 100%);height:4px;position:absolute;top:0;left:0;right:0}._iconWrapper_m0h4r_33{width:72px;height:72px;color:var(--bad,#d33e4e);background:#fdecef;border:1px solid #f1c7ce;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:inline-flex;position:relative;box-shadow:0 8px 24px #d33e4e26}._iconPulse_m0h4r_48{border:2px solid #d33e4e33;border-radius:50%;animation:2.5s cubic-bezier(.4,0,.6,1) infinite _pulse_m0h4r_1;position:absolute;inset:-6px}@keyframes _pulse_m0h4r_1{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.3;transform:scale(1.08)}}._badge_m0h4r_67{text-transform:uppercase;letter-spacing:.06em;color:#a32637;background:#fdecef;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;display:inline-flex}._title_m0h4r_83{color:var(--ink,#18274d);margin:0 0 10px;font-family:DM Serif Display,Cormorant,serif;font-size:28px;font-weight:400;line-height:1.2}._message_m0h4r_92{color:#53627c;max-width:460px;margin:0 auto 24px;font-size:14px;line-height:1.55}._actions_m0h4r_100{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:28px;display:flex}._btnPrimary_m0h4r_109{transition:all .15s ease-in-out;background:var(--brand-navy,#223e92)!important;border-color:var(--brand-navy,#223e92)!important;color:#fff!important;padding:10px 18px!important;font-size:13px!important;font-weight:600!important;box-shadow:0 4px 14px #223e9240!important}._btnPrimary_m0h4r_109:hover{transform:translateY(-1px);background:var(--accent-deep,#183170)!important;box-shadow:0 6px 18px #223e9259!important}._btnSecondary_m0h4r_126{color:var(--ink,#18274d)!important;border:1px solid var(--line,#d7deee)!important;background:#fff!important;padding:10px 16px!important;font-size:13px!important}._btnSecondary_m0h4r_126:hover{background:#f8fafc!important;border-color:#c2cde5!important}._detailsSection_m0h4r_139{border-top:1px solid var(--line-soft,#e9edf6);text-align:left;padding-top:20px}._detailsToggle_m0h4r_145{color:#6d747b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:6px 0;font-size:12px;font-weight:500;transition:color .15s;display:flex}._detailsToggle_m0h4r_145:hover{color:var(--ink,#18274d)}._detailsToggleText_m0h4r_165{align-items:center;gap:6px;display:flex}._chevron_m0h4r_171{transition:transform .2s}._chevronExpanded_m0h4r_175{transform:rotate(180deg)}._detailsContent_m0h4r_179{color:#e2e8f0;background:#18274d;border-radius:10px;margin-top:12px;padding:14px 16px;position:relative;overflow:hidden}._detailsHeader_m0h4r_189{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}._detailsLabel_m0h4r_198{color:#8595c3;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}._copyButton_m0h4r_205{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:all .15s;display:inline-flex}._copyButton_m0h4r_205:hover{color:#fff;background:#ffffff2e}._codeBlock_m0h4r_225{color:#f87171;white-space:pre-wrap;word-break:break-word;max-height:220px;margin:0;padding-right:4px;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.5;overflow-y:auto}._codeBlock_m0h4r_225::-webkit-scrollbar{width:6px}._codeBlock_m0h4r_225::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}._codeStack_m0h4r_247{color:#94a3b8;border-top:1px dashed #ffffff1a;margin-top:8px;padding-top:8px;font-size:11px}._topbar_q59f7_1{z-index:100;color:#fff;background:linear-gradient(100deg,#1d347c 0%,#223e92 58%,#294aa3 100%);justify-content:space-between;align-items:center;height:58px;padding:0 22px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 3px 16px #192b632e}._topbar_q59f7_1:after{content:"";background:linear-gradient(90deg, var(--brand-green) 0 24%, var(--brand-red) 24% 49%, var(--brand-orange) 49% 74%, var(--brand-sky) 74% 100%);height:3px;position:absolute;bottom:-3px;left:0;right:0}._brandGroup_q59f7_33{align-items:center;gap:10px;min-width:0;display:flex}._menuBtn_q59f7_40{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:10px;place-items:center;width:36px;height:36px;display:none}._menuBtn_q59f7_40:hover{background:#ffffff24}._menuBtn_q59f7_40:focus-visible,._userChip_q59f7_57:focus-visible{outline-offset:2px;outline:2px solid #fff}._brand_q59f7_33{color:#fff;align-items:center;gap:9px;min-width:0;font-family:Inter,system-ui,sans-serif;text-decoration:none;display:inline-flex}._brandLogo_q59f7_72{object-fit:cover;background:#fff;border-radius:10px;width:40px;height:40px;display:block;box-shadow:0 1px 7px #0000001f}._brandCopy_q59f7_82{flex-direction:column;gap:0;line-height:1.05;display:flex}._brandCopy_q59f7_82 strong{letter-spacing:.075em;color:#fff;font-size:14px;font-weight:700}._brandCopy_q59f7_82 small{color:#dde6ff;letter-spacing:.075em;text-transform:uppercase;margin-top:3px;font:500 9px IBM Plex Mono,monospace}._topActions_q59f7_104{align-items:center;gap:10px;display:flex}._roleBadge_q59f7_110{background:var(--accent);text-transform:uppercase;letter-spacing:.08em;color:#fff;border-radius:999px;padding:5px 9px;font:600 10px IBM Plex Mono,monospace}._centerBadge_q59f7_120{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;max-width:220px;padding:5px 10px;font-size:12px;font-weight:500;overflow:hidden}._userMenu_q59f7_134{position:relative}._userChip_q59f7_57{color:#fff;cursor:pointer;background:#20252d;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}._userChip_q59f7_57:hover{background:#2a303a}._avatar_q59f7_154{color:#fff;background:#8595c3;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:grid}._userName_q59f7_166{font-size:13px;font-weight:500}._userDropdown_q59f7_171{min-width:220px;color:var(--ink);border:1px solid var(--line,#e2e8f0);z-index:200;background:#fff;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #192b6338}._dropdownHead_q59f7_185{border-bottom:1px solid var(--line,#e2e8f0);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px;display:flex}._dropdownHead_q59f7_185 strong{font-size:13px}._dropdownHead_q59f7_185 small{opacity:.65;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}._dropdownItem_q59f7_206{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:13px;font-weight:500;display:flex}._dropdownItem_q59f7_206:hover{background:var(--bg-soft,#f1f5f9)}._dropdownDanger_q59f7_226{color:var(--bad)}@media (width<=800px){._menuBtn_q59f7_40{display:grid}._centerBadge_q59f7_120{display:none}._topbar_q59f7_1{padding:0 12px}._userName_q59f7_166,._brandCopy_q59f7_82 small{display:none}._brandLogo_q59f7_72{width:36px;height:36px}._brandCopy_q59f7_82 strong{font-size:12px}}._container_exnsb_1{width:100%;margin-top:8px;position:relative}._childSwitcher_exnsb_7{border:1px solid var(--line,#e2e8f0);background:var(--accent-tint,#fff7ed);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}._childSwitcher_exnsb_7:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:0 2px 6px #0000000a}._childSwitcherActive_exnsb_26{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);border-color:var(--accent,#ea580c)!important}._childInfo_exnsb_31{flex:1;min-width:0}._childName_exnsb_36{color:var(--ink,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;display:block;overflow:hidden}._switchBtn_exnsb_47{border:1px solid var(--line,#cbd5e1);color:var(--ink,#334155);cursor:pointer;background:#fff;border-radius:7px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}._switchBtn_exnsb_47:hover{border-color:var(--accent,#ea580c);color:var(--accent-deep,#c2410c);background:#f8fafc}._switchBtnActive_exnsb_69{background:var(--accent,#ea580c)!important;border-color:var(--accent,#ea580c)!important;color:#fff!important}._caret_exnsb_75{font-size:9px;line-height:1;transition:transform .2s}._caretOpen_exnsb_81{transform:rotate(180deg)}._dropdown_exnsb_86{z-index:100;border:1px solid var(--line,#e2e8f0);background:#fff;border-radius:12px;animation:.15s ease-out _slideDown_exnsb_1;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 10px 25px -4px #0000001f,0 4px 10px -2px #0000000d}@keyframes _slideDown_exnsb_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}._dropdownHeader_exnsb_111{border-bottom:1px solid var(--line-soft,#f1f5f9);background:#fafbf9;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}._dropdownTitle_exnsb_120{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:11px;font-weight:700}._childCount_exnsb_128{color:var(--accent-deep,#c2410c);background:var(--accent-tint,#fff7ed);border-radius:999px;justify-content:center;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}._dropdownList_exnsb_140{flex-direction:column;max-height:220px;padding:4px;display:flex;overflow-y:auto}._childOption_exnsb_148{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .12s;display:flex}._childOption_exnsb_148:hover{background:#f1f5f9}._selectedOption_exnsb_166{background:var(--accent-tint,#fff7ed)!important}._selectedOption_exnsb_166:hover{background:color-mix(in srgb, var(--accent-tint) 85%, #000)!important}._avatar_exnsb_174{color:#475569;background:#e2e8f0;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:grid}._selectedAvatar_exnsb_187{background:var(--accent,#ea580c);color:#fff}._optionDetails_exnsb_192{flex:1;min-width:0}._optionName_exnsb_197{color:var(--ink,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}._optionMeta_exnsb_206{color:#64748b;margin-top:1px;font-size:11px}._checkMark_exnsb_212{color:var(--accent,#ea580c);margin-left:auto;padding-right:2px;font-size:13px;font-weight:700}._dropdownFooter_exnsb_220{border-top:1px solid var(--line-soft,#f1f5f9);text-align:center;background:#fafbf9;padding:6px 12px}._dropdownFooter_exnsb_220 small{color:#94a3b8;font-size:10.5px}._sidebar_rfml0_1{--sidebar-width:232px;--sidebar-collapsed-width:72px;width:var(--sidebar-width);z-index:40;background:#fff;border-right:1px solid #d8e0f2;flex-direction:column;gap:4px;padding:16px 12px 12px;transition:width .2s;display:flex;position:fixed;top:58px;bottom:0;left:0;overflow:hidden auto;box-shadow:4px 0 16px #223e9209}._collapsed_rfml0_22{width:var(--sidebar-collapsed-width);align-items:stretch;padding:56px 10px 12px}._toggle_rfml0_28{border:1px solid var(--line);color:#4a5159;cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;transition:color .15s,border-color .15s,background .15s;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 1px 4px #14181f14}._collapsed_rfml0_22 ._toggle_rfml0_28{top:14px;right:50%;transform:translate(50%)}._toggle_rfml0_28:hover{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-tint)}._toggle_rfml0_28:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._sideContext_rfml0_62{border-bottom:1px solid var(--line-soft);margin-bottom:8px;padding:10px 10px 14px}._contextLabel_rfml0_68{color:#747c85;margin-bottom:4px;font-size:11px}._sideContext_rfml0_62 strong{color:var(--ink);font-size:14px;font-weight:600;line-height:1.35;display:block}._nav_rfml0_82{flex-direction:column;flex:1;gap:12px;display:flex}._navGroup_rfml0_89{flex-direction:column;display:flex}._navSection_rfml0_94{color:#8b9298;text-transform:uppercase;letter-spacing:.12em;padding:8px 12px 6px;font:500 10px IBM Plex Mono,monospace}._collapsed_rfml0_22 ._nav_rfml0_82{gap:8px}._navItem_rfml0_106{color:#4a5159;border-radius:10px;align-items:center;gap:12px;margin:2px 0;padding:9px 12px;font-size:14px;font-weight:400;text-decoration:none;transition:background .16s,color .16s,box-shadow .16s;display:flex;position:relative}._collapsed_rfml0_22 ._navItem_rfml0_106{justify-content:center;padding:10px 0}._navLabel_rfml0_126{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._navItem_rfml0_106:hover{background:#f7f8f5}._navItem_rfml0_106:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._navItem_rfml0_106._active_rfml0_141{background:var(--accent-tint);color:var(--accent-deep);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 9%, transparent);font-weight:600}._navItem_rfml0_106._active_rfml0_141:hover{background:var(--accent-tint)}._navItem_rfml0_106._active_rfml0_141:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:4px;height:22px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}._collapsed_rfml0_22 ._navItem_rfml0_106._active_rfml0_141:before{left:-10px}._navIcon_rfml0_168{width:20px;height:20px;color:inherit;background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}._collapsed_rfml0_22 ._navIcon_rfml0_168{width:22px;height:22px}._navItem_rfml0_106:hover ._navIcon_rfml0_168,._navItem_rfml0_106._active_rfml0_141 ._navIcon_rfml0_168{color:var(--accent-deep)}._footer_rfml0_192{border-top:1px solid var(--line-soft);margin-top:12px;padding-top:12px}._userCard_rfml0_198{border:1px solid var(--line-soft);background:#fafbf8;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}._collapsed_rfml0_22 ._userCard_rfml0_198{background:0 0;border-color:#0000;justify-content:center;padding:8px 0}._userAvatar_rfml0_215{background:var(--accent-tint);width:32px;height:32px;color:var(--accent-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}._userMeta_rfml0_228{flex-direction:column;flex:1;min-width:0;display:flex}._userName_rfml0_235{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}._userRole_rfml0_244{color:#747c85;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}._logoutBtn_rfml0_252{color:#6d747b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;transition:color .15s,background .15s,border-color .15s;display:grid}._logoutBtn_rfml0_252:hover{color:var(--bad);background:#fdecef;border-color:#f1c7ce}._logoutBtn_rfml0_252:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._backdrop_rfml0_277{display:none}@media (width<=800px){._sidebar_rfml0_1{z-index:120;width:var(--sidebar-width);padding:16px 12px 12px;transition:transform .2s,width .2s;transform:translate(-100%)}._sidebar_rfml0_1._open_rfml0_289{transform:translate(0)}._collapsed_rfml0_22{width:var(--sidebar-width);padding:16px 12px 12px}._collapsed_rfml0_22 ._toggle_rfml0_28,._toggle_rfml0_28{top:12px;right:12px;transform:none}._collapsed_rfml0_22 ._navItem_rfml0_106{justify-content:flex-start;padding:9px 12px}._collapsed_rfml0_22 ._nav_rfml0_82{gap:12px}._backdrop_rfml0_277{z-index:110;background:#14181f70;display:block;position:fixed;inset:58px 0 0}}@media (prefers-reduced-motion:reduce){._sidebar_rfml0_1,._navItem_rfml0_106,._toggle_rfml0_28,._navIcon_rfml0_168{transition:none}}._skeleton_adaif_1{background:linear-gradient(90deg, var(--line-soft) 25%, #eef1f6 50%, var(--line-soft) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite _shimmer_adaif_1;display:block}._line_adaif_9{height:12px}._block_adaif_13{border-radius:8px;height:34px}._circle_adaif_18{border-radius:50%}@keyframes _shimmer_adaif_1{0%{background-position:200% 0}to{background-position:-200% 0}}._tableSkeleton_adaif_32{flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}._toolbarSkeleton_adaif_39{gap:12px;padding-bottom:4px;display:flex}._headSkeleton_adaif_45,._rowSkeleton_adaif_46{grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;gap:16px;display:grid}._headSkeleton_adaif_45{border-bottom:1px solid var(--line-soft);padding:10px 0}._rowSkeleton_adaif_46{border-bottom:1px solid var(--line-soft);padding:11px 0}._rowSkeleton_adaif_46:last-child{border-bottom:none}._refreshing_adaif_69{opacity:.55;pointer-events:none;transition:opacity .15s;position:relative}._refreshBar_adaif_76{background:linear-gradient(90deg, transparent, var(--accent), transparent);z-index:1;background-size:200% 100%;border-radius:0 0 2px 2px;height:2px;animation:1s linear infinite _shimmer_adaif_1;position:absolute;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){._skeleton_adaif_1,._refreshBar_adaif_76{animation:none}._refreshing_adaif_69{transition:none}}._modal_ygxan_1{z-index:1000;background:#14181f70;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}._modal_ygxan_1._open_ygxan_11{display:flex}._modalCard_ygxan_12{background:var(--card);border:1px solid var(--line);border-radius:16px;width:min(520px,100%);max-height:90vh;padding:20px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0003}._modalHead_ygxan_23{background:var(--card);border-bottom:1px solid var(--line-soft);z-index:10;justify-content:space-between;align-items:center;margin:-20px -20px 16px;padding:16px 20px 12px;display:flex;position:sticky;top:-20px}._modalCard_ygxan_12 .actions:last-child,._modalCard_ygxan_12 form>.actions:last-child,._modalFooter_ygxan_37{background:var(--card);border-top:1px solid var(--line-soft);z-index:10;margin:18px -20px -20px;padding:14px 20px;position:sticky;bottom:-20px}._main_1bsny_1{min-height:100vh;margin-left:232px;padding:88px 32px 48px;transition:margin-left .2s}._mainCollapsed_1bsny_8{margin-left:72px}._pageEnter_1bsny_12{animation:.18s ease-out _page-enter_1bsny_1}@keyframes _page-enter_1bsny_1{0%{opacity:0;transform:translateY(6px)}}@media (width<=800px){._main_1bsny_1,._mainCollapsed_1bsny_8{margin-left:0;padding:82px 16px 36px}}@media (prefers-reduced-motion:reduce){._main_1bsny_1{transition:none}._pageEnter_1bsny_12{animation:none}}._spinner_1a3yj_1{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite _spin_1a3yj_1;display:inline-block}@keyframes _spin_1a3yj_1{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){._spinner_1a3yj_1{animation:none}}._empty_1nqiv_1{text-align:center;color:#6b7694;padding:48px 24px}._title_1nqiv_6{color:var(--ink);margin-bottom:6px;font-size:16px}._page_9r8le_7{background:var(--bg,#f6f7fb);min-height:100vh}._topbar_9r8le_14{z-index:100;color:#fff;background:linear-gradient(100deg,#1d347c 0%,#223e92 58%,#294aa3 100%);justify-content:space-between;align-items:center;height:58px;padding:0 22px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 3px 16px #192b632e}._topbar_9r8le_14:after{content:"";background:linear-gradient(90deg, var(--brand-green) 0 24%, var(--brand-red) 24% 49%, var(--brand-orange) 49% 74%, var(--brand-sky) 74% 100%);height:3px;position:absolute;bottom:-3px;left:0;right:0}._brand_9r8le_46{align-items:center;gap:9px;min-width:0;font-family:Inter,system-ui,sans-serif;display:inline-flex}._brandLogo_9r8le_54{object-fit:cover;background:#fff;border-radius:10px;width:40px;height:40px;display:block;box-shadow:0 1px 7px #0000001f}._brandCopy_9r8le_64{flex-direction:column;line-height:1.05;display:flex}._brandCopy_9r8le_64 strong{letter-spacing:.075em;color:#fff;font-size:14px;font-weight:700}._brandCopy_9r8le_64 small{color:#dde6ff;letter-spacing:.075em;text-transform:uppercase;margin-top:3px;font:500 9px IBM Plex Mono,monospace}._main_9r8le_5{max-width:1180px;margin:0 auto;padding:100px 28px 50px}._hero_9r8le_91{text-align:center;margin-bottom:34px}._heroLogo_9r8le_96{object-fit:cover;background:#fff;border-radius:24px;width:104px;height:104px;margin-bottom:16px;box-shadow:0 12px 36px #223e921f}._heroTitle_9r8le_106{margin:6px 0 12px;font-size:48px}._heroCopy_9r8le_111{max-width:720px;margin:0 auto;font-size:15px;line-height:1.6}._workspaceGrid_9r8le_118{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:26px}._workspaceCard_9r8le_123{border:1px solid var(--line);min-height:200px;box-shadow:var(--shadow);color:inherit;background:#fff;border-radius:16px;flex-direction:column;padding:17px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}._workspaceCard_9r8le_123:hover,._workspaceCard_9r8le_123:focus-visible{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 30px #192b6324}._cardTag_9r8le_147{align-self:flex-start}._cardTitle_9r8le_151{margin:12px 0 6px;font-size:19px}._cardCopy_9r8le_156{flex:1;margin:0 0 16px;font-size:13px;line-height:1.55}._cardCta_9r8le_163{color:var(--accent-deep);align-self:flex-start;font-size:13px;font-weight:600}._registrationPanel_9r8le_170{text-align:center;max-width:720px;margin:0 auto}._registrationTitle_9r8le_176{margin:0 0 8px;font-size:22px}._registrationCopy_9r8le_181{margin:0 0 18px;font-size:14px;line-height:1.6}@media (width<=720px){._main_9r8le_5{padding:88px 18px 40px}._heroTitle_9r8le_106{font-size:32px}._heroLogo_9r8le_96{border-radius:20px;width:82px;height:82px}}._page_1twcm_1{background:var(--bg,#f6f7fb);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}._card_1twcm_10{background:var(--card,#fff);border:1px solid var(--line,#e2e8f0);border-radius:var(--radius,16px);width:100%;max-width:420px;padding:32px 30px;position:relative;box-shadow:0 10px 30px #192b6314}._topActions_1twcm_21{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}._backBtn_1twcm_28{color:var(--muted,#64748b);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}._backBtn_1twcm_28:hover{color:var(--ink,#0f172a)}._roleBadge_1twcm_43{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}._brand_1twcm_53{justify-content:center;align-items:center;gap:10px;margin-bottom:18px;display:flex}._brandLogo_1twcm_61{object-fit:cover;border-radius:8px;width:36px;height:36px}._header_1twcm_68{text-align:center;margin-bottom:22px}._title_1twcm_73{margin:8px 0 6px;font-size:24px}._subtitle_1twcm_78{color:var(--muted,#64748b);margin:0;font-size:13px;line-height:1.5}._form_1twcm_85{flex-direction:column;gap:16px;display:flex}._field_1twcm_91{flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}._fieldError_1twcm_99{color:var(--bad,#dc2626);font-size:12px}._serverError_1twcm_104{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.45}._serverErrorAction_1twcm_114{margin-top:8px}._switchRoleBtn_1twcm_118{color:#fff;background:#b91c1c;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}._switchRoleBtn_1twcm_118:hover{opacity:.9}._forgotLink_1twcm_134{text-align:center;color:var(--accent,#1d347c);font-size:13px;text-decoration:none;display:block}._forgotLink_1twcm_134:hover{text-decoration:underline}._passwordRow_1twcm_146{align-items:stretch;gap:8px;display:flex}._passwordRow_1twcm_146 ._input_1twcm_152{flex:1}._eyeToggle_1twcm_156{border:1px solid var(--line,#cbd5e1);background:var(--paper,#f8fafc);cursor:pointer;color:var(--ink,#0f172a);border-radius:10px;padding:0 12px;font-size:12px}._remember_1twcm_166{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}._footerActions_1twcm_174{flex-direction:column;gap:8px;margin-top:4px;display:flex}._passwordRow_bnc5i_1{align-items:stretch;gap:8px;display:flex}._passwordRow_bnc5i_1 .input{flex:1;min-width:0}._eyeToggle_bnc5i_12{border:1px solid var(--line,#cbd5e1);background:var(--paper,#f8fafc);cursor:pointer;color:var(--ink,#0f172a);border-radius:10px;flex-shrink:0;padding:0 12px;font-size:12px}
