:root{--color-primary:#004aad;--color-primary-hover:#003d90;--color-secondary:#2cb5e5;--color-surface-accent:#c6e3f1;--color-warning:#ffb216;--color-warning-soft:#ffb2161f;--color-warning-text:#8a5a00;--color-background:#f8fafc;--color-surface:#fff;--color-surface-subtle:#f3f6f9;--color-border:#e5e7eb;--color-border-strong:#cbd5e1;--color-text:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#94a3b8;--color-on-primary:#fff;--color-success:#16a34a;--color-success-soft:#f0fdf4;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--shadow-sm:0 4px 14px #0f172a0a;--shadow-md:0 10px 24px #004aad1a;--shadow-lg:0 16px 40px #0f172a1a;--font-family:Montserrat, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--surface:var(--color-surface);--surface-subtle:var(--color-surface-subtle);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-secondary);--blue:var(--color-primary);--blue-dark:var(--color-primary-hover);--blue-soft:var(--color-surface-accent);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft)}.school-card-action-button{z-index:2;width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.school-card-action-button:hover,.school-card-action-button:focus-visible,.school-card-action-button[aria-expanded=true]{border-color:var(--border);background:var(--surface);color:var(--text);outline:none}.school-card-action-menu{z-index:12;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:210px;padding:6px;display:grid;position:absolute;top:50px;right:12px;box-shadow:0 16px 40px #151f2e29}.school-card-action-menu a,.school-card-action-menu button{min-height:38px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:0 10px;display:flex}.school-card-action-menu a:hover,.school-card-action-menu a:focus-visible,.school-card-action-menu button:hover,.school-card-action-menu button:focus-visible{background:var(--surface-subtle);outline:none}.school-card-action-menu button:disabled{cursor:default;opacity:.6}.school-card-action-menu .danger-text{color:#bd2727}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.empty-state{color:var(--muted);margin:42px 0 0;font-size:14px}.section-message{border:1px dashed var(--color-border-strong);background:var(--surface-subtle);color:var(--muted);text-align:center;border-radius:8px;padding:24px}.section-message-error{border-color:var(--color-danger);background:var(--danger-soft);color:var(--danger)}.school-field{gap:7px;display:grid}.school-field span{color:var(--muted);font-size:13px}.school-field input,.school-field select{border:1px solid var(--border);background:var(--surface);border-radius:7px;min-height:44px;padding:0 12px}.edit-group-modal .school-field{margin:0 0 22px}.modal-backdrop{z-index:20;background:#1118275c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--border);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow-lg);border-radius:12px;padding:24px}.confirm-modal .school-field{margin-bottom:22px}.confirm-modal .school-field textarea{border:1px solid var(--border);background:var(--surface);resize:vertical;border-radius:7px;width:100%;min-height:92px;padding:11px 12px;line-height:1.45;display:block}.confirm-modal h2{margin-bottom:10px;font-size:24px}.confirm-modal p{color:var(--muted);margin-bottom:22px;line-height:1.55}.confirm-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:9px;display:flex}.confirm-modal-actions>button{white-space:nowrap;min-height:44px}@media (width<=560px){.modal-backdrop{padding:12px}.confirm-modal{padding:20px}.confirm-modal-actions{grid-template-columns:1fr;display:grid}.confirm-modal-actions>button{width:100%}}:root{font-family:var(--font-family);color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}.settings-page{width:min(1040px,100%);margin:0 auto;padding:56px 0 90px}.settings-heading{margin-bottom:34px}.settings-heading h1{color:#111c2f;margin:5px 0 8px;font-size:clamp(34px,4vw,48px)}.settings-heading>p:last-child{color:#6f7c90;margin:0;font-size:17px}.settings-card{background:#fff;border:1px solid #dce3eb;border-radius:14px;grid-template-columns:48px minmax(0,1fr);gap:22px;margin-top:18px;padding:28px;display:grid}.settings-card-icon{color:#0759bd;background:#eaf4ff;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.settings-card-content header h2{color:#152033;margin:0 0 6px;font-size:22px}.settings-card-content header p{color:#6f7c90;margin:4px 0}.settings-form-grid,.settings-password-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.settings-form-grid label,.settings-password-form label{color:#344156;gap:7px;font-weight:650;display:grid}.settings-form-grid label:last-child{grid-column:1/-1}.settings-form-grid input,.settings-form-grid select,.settings-password-form input{box-sizing:border-box;color:#182235;width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #cfd8e3;border-radius:8px;padding:0 13px}.settings-form-grid input:disabled{color:#718096;background:#f5f7fa}.settings-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.settings-connected,.settings-muted{color:#16854b;background:#eef9f2;border-radius:10px;align-items:center;gap:11px;margin-top:18px;padding:15px 17px;display:flex}.settings-muted{color:#657287;background:#f3f5f8}.settings-connected span,.settings-muted span{gap:3px;display:grid}.settings-connected small,.settings-muted small{color:#66758a}.login-password-form{gap:12px;width:100%;margin-top:18px;display:grid}.login-password-form label{text-align:left;color:#344156;gap:6px;font-weight:650;display:grid}.login-password-form input{box-sizing:border-box;width:100%;min-height:44px;font:inherit;border:1px solid #cfd8e3;border-radius:8px;padding:0 12px}@media (width<=720px){.settings-page{padding:28px 0 60px}.settings-card{grid-template-columns:1fr;padding:21px}.settings-form-grid,.settings-password-form{grid-template-columns:1fr}.settings-form-grid label:last-child{grid-column:auto}.settings-actions{justify-content:stretch}.settings-actions button{flex:1}}.school-home-page{display:grid}.school-secondary-nav{z-index:9;border-bottom:1px solid var(--border);scrollbar-width:none;background:#fffffff5;justify-content:center;gap:28px;min-height:48px;padding:0 max(24px,50vw - 600px);display:flex;position:sticky;top:68px;overflow-x:auto}.school-secondary-nav::-webkit-scrollbar{display:none}.school-secondary-nav a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.school-secondary-nav a.active{border-bottom-color:var(--blue);color:var(--blue-dark)}.school-context-badge{background:var(--blue-soft);color:var(--blue-dark);text-transform:uppercase;border-radius:999px;margin-left:4px;padding:4px 7px;font-size:9px;font-weight:800}.school-home-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.school-home-header h1{margin:0 0 4px;font-size:36px}.school-home-header p:last-child{color:var(--muted);margin:0}.school-home-section .section-heading>a{align-items:center;gap:6px;display:inline-flex}.school-home-section{min-width:0;margin-top:36px}.school-home-section .section-heading{align-items:flex-end;gap:24px;margin-bottom:14px}.school-group-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.school-quick-actions{align-items:center;gap:18px;margin-top:32px;display:flex}.school-quick-actions h2{margin:0;font-size:17px}.school-quick-actions nav{flex-wrap:wrap;gap:7px;display:flex}.school-quick-actions a{min-height:38px;padding:8px 12px}.school-group-preview>a,.school-group-preview>.school-group-archive-card>a,.school-group-preview>.school-group-manage-card>a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;gap:14px;padding:16px;transition:border-color .15s,transform .15s;display:grid}.school-group-preview>a:hover,.school-group-preview>.school-group-archive-card>a:hover,.school-group-preview>.school-group-manage-card>a:hover{border-color:var(--color-secondary);transform:translateY(-1px)}.school-group-preview header{align-items:center;gap:11px;display:flex}.school-group-preview header>span:last-child{gap:3px;display:grid}.school-group-preview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.school-group-preview dl div{background:var(--surface-subtle);border-radius:6px;justify-content:space-between;gap:8px;padding:7px 8px;display:flex}.school-group-preview dt{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.school-group-preview dd{margin:0;font-weight:800}.school-all-groups{flex-shrink:0;min-height:36px;margin-bottom:4px;padding:7px 10px}.school-group-preview small,.school-group-preview em{color:var(--muted);font-size:12px;font-style:normal}.school-group-icon{background:var(--blue-soft);width:40px;height:40px;color:var(--blue-dark);border-radius:9px;place-items:center;display:grid}.school-group-archive-card,.school-group-manage-card{gap:10px;display:grid}.school-group-manage-card{position:relative}.school-attention-list,.school-activity-list{border-top:1px solid var(--border);display:grid}.school-attention-list{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.school-attention-list a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px;display:grid}.school-attention-list a>span:last-child{color:var(--blue-dark);align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.school-attention-list svg:first-child{color:var(--color-warning-text)}.school-attention-list a.school-attention-low{border-left:3px solid #eab308}.school-attention-list a.school-attention-medium{border-left:3px solid #f97316}.school-attention-list a.school-attention-high{border-left:3px solid #dc2626}.school-all-good{background:var(--surface-subtle);border-radius:9px;align-items:center;gap:11px;padding:16px;display:flex}.school-all-good svg{color:var(--color-success)}.school-all-good span{gap:3px;display:grid}.school-all-good small{color:var(--muted)}.school-activity-list a{border-bottom:1px solid var(--border);color:var(--text);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 4px;display:grid}.school-activity-list a>span:last-child{gap:4px;display:grid}.school-activity-list time{color:var(--muted);font-size:11px}.school-activity-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;margin-top:6px}.school-totals{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:32px;padding-top:12px;font-size:11px}.school-placeholder{gap:12px;max-width:720px;padding-top:20px;display:grid}.school-placeholder h1{margin:0}.school-placeholder p{color:var(--muted)}.school-placeholder .back-link{margin-top:18px}.student-progress-panel{gap:22px;display:grid}.teacher-student-profile>section:last-child{gap:18px;display:grid}.teacher-student-profile>section:last-child>h2{margin:0}.school-reports-page{gap:22px;display:grid}.school-reports-header{justify-content:space-between;align-items:flex-end;gap:22px;display:flex}.school-reports-header h1{margin:0 0 5px;font-size:36px}.school-reports-header p:last-child{color:var(--muted);margin:0}.report-month-picker{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.report-month-picker>span{color:var(--muted);font-size:12px;font-weight:700}.report-month-picker strong,.report-month-picker button{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.report-month-picker button{cursor:pointer}.report-month-picker button:hover{border-color:var(--color-secondary);color:var(--blue-dark)}.report-tabs{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.report-tabs::-webkit-scrollbar{display:none}.report-tabs button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;padding:8px 13px;font-weight:700}.report-tabs button.active{border-color:var(--blue);color:var(--blue-dark);background:#004aad14}.admin-report-sections{gap:14px;display:grid}.admin-report-section{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.admin-report-section.expanded{box-shadow:0 0 0 2px #004aad0f}.admin-report-toggle{background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.admin-report-toggle span{gap:4px;min-width:0;display:grid}.admin-report-toggle strong{font-size:22px}.admin-report-toggle small{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-weight:500}.admin-report-toggle b{color:var(--blue-dark);white-space:nowrap;font-size:13px;font-weight:700}.admin-report-toggle svg{color:var(--muted);transition:transform .16s}.admin-report-section.expanded .admin-report-toggle svg{transform:rotate(180deg)}.admin-report-content{border-top:1px solid var(--border);gap:16px;padding:18px 20px 20px;display:grid}.report-panel{gap:14px;display:grid}.report-panel>h2{margin:0;font-size:21px}.report-table{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.report-table-head,.report-table-row{align-items:center;gap:12px;padding:12px 16px;display:grid}.teacher-hours-table .report-table-head,.teacher-hours-table .report-table-row{grid-template-columns:minmax(190px,1fr) 90px 140px 110px 120px}.report-table-head{background:var(--surface-subtle);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.report-table-row+.report-table-row{border-top:1px solid var(--border)}.report-table-row strong,.report-table-row span{overflow-wrap:anywhere;min-width:0}.report-problem{color:var(--danger);font-weight:800}.report-issue-list{gap:10px;display:grid}.report-issue-list article{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.report-issue-list article>svg{color:var(--blue-dark)}.report-issue-list article>span{gap:4px;min-width:0;display:grid}.report-issue-list small{color:var(--muted)}.report-issue-list article>div{gap:8px;display:flex}.report-detail-modal{width:min(920px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.report-detail-summary{background:var(--surface-subtle);border-radius:9px;justify-content:space-between;gap:16px;padding:13px 15px;display:flex}.report-detail-summary span{color:var(--muted);font-weight:700}.report-detail-table{border:1px solid var(--border);border-radius:10px;margin-top:14px;overflow:hidden}.report-detail-table>div,.report-detail-table>article{grid-template-columns:80px 120px minmax(150px,1fr) minmax(150px,1fr) 100px 100px;gap:10px;padding:11px 13px;display:grid}.report-detail-table>div{background:var(--surface-subtle);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.report-detail-table>article+article{border-top:1px solid var(--border)}.report-export-note{justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.report-export-note p{color:var(--muted);flex:1;margin:0;font-size:13px}.report-export-note button:disabled{cursor:not-allowed;opacity:.55}.group-reports-table .report-table-head,.group-reports-table .report-table-row{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 130px 120px}.report-muted{color:var(--muted)}.teacher-report-status{color:#5d6878;background:#eef2f6;border-radius:999px;align-items:center;width:max-content;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.teacher-report-status.status-Submitted,.teacher-report-status.status-Reviewed{color:#247542;background:#e5f5eb}.teacher-report-status.status-Draft{color:#805300;background:#fff0c9}.teacher-reports-page{gap:22px;display:grid}.teacher-hours-panel,.teacher-group-reports-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.teacher-hours-panel.expanded,.teacher-group-reports-panel.expanded{box-shadow:0 0 0 2px #004aad0f}.teacher-hours-toggle,.teacher-group-reports-toggle{background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.teacher-hours-toggle span,.teacher-group-reports-toggle span{gap:4px;min-width:0;display:grid}.teacher-hours-toggle strong,.teacher-group-reports-toggle strong{font-size:22px}.teacher-hours-toggle small,.teacher-group-reports-toggle small{color:var(--muted);overflow-wrap:anywhere;font-size:13px;font-weight:500}.teacher-hours-toggle b,.teacher-group-reports-toggle b{color:var(--blue-dark);white-space:nowrap;font-size:13px;font-weight:700}.teacher-hours-toggle svg,.teacher-group-reports-toggle svg{color:var(--muted);transition:transform .16s}.teacher-hours-panel.expanded .teacher-hours-toggle svg,.teacher-group-reports-panel.expanded .teacher-group-reports-toggle svg{transform:rotate(180deg)}.teacher-hours-content,.teacher-group-reports-content{border-top:1px solid var(--border);gap:16px;padding:0 20px 20px;display:grid}.teacher-hours-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:18px;display:flex}.teacher-hours-actions .section-eyebrow{flex:1;margin:0}.teacher-hours-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.teacher-hours-metrics article{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:4px;padding:14px;display:grid}.teacher-hours-metrics span{color:var(--muted);font-size:12px;font-weight:700}.teacher-hours-metrics strong{font-size:24px}.teacher-group-reports-content .teacher-report-grid{padding-top:18px}.teacher-report-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.teacher-report-grid button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:15px;display:flex}.teacher-report-grid button.active{border-color:var(--blue);box-shadow:0 0 0 2px #004aad1a}.teacher-report-grid span{gap:4px;display:grid}.teacher-report-grid small{color:var(--muted)}.teacher-report-grid b{color:var(--blue-dark);font-size:12px}.teacher-report-editor{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:14px;padding:18px;display:grid}.teacher-report-editor>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teacher-report-editor h2{margin:0}.teacher-report-field{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;display:grid;overflow:hidden}.teacher-report-field.expanded{box-shadow:0 0 0 2px #004aad14}.teacher-report-field-toggle{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:13px 14px;display:grid}.teacher-report-field-toggle span{overflow-wrap:anywhere;min-width:0;font-weight:700}.teacher-report-field-toggle small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;font-weight:500;overflow:hidden}.teacher-report-field-toggle svg{color:var(--muted);grid-area:1/2/span 2;transition:transform .16s}.teacher-report-field.expanded .teacher-report-field-toggle svg{transform:rotate(180deg)}.teacher-report-field textarea{resize:vertical;border:0;border-top:1px solid var(--border);background:var(--surface);width:100%;min-height:132px;color:var(--text);font:inherit;padding:11px 12px;font-weight:500}.teacher-report-editor footer{justify-content:flex-end;gap:9px;display:flex}.group-report-readonly{gap:14px;display:grid}.group-report-readonly section{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:13px}.group-report-readonly h3{margin:0 0 7px;font-size:15px}.group-report-readonly p{color:var(--text);white-space:pre-wrap;margin:0}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{background:var(--color-background);scrollbar-width:none;min-height:100vh;margin:0}body::-webkit-scrollbar{display:none}button,input,textarea,select{font:inherit}h1,h2,h3,strong{font-weight:600}button,.primary-button,.secondary-button,.danger-button{font-weight:500}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.app-loading,.route-placeholder{min-height:50vh;color:var(--muted);place-items:center;padding:24px;display:grid}.login-page{background:#fff;border:1px solid #004aad1a;border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);width:min(1400px,100%);min-height:min(820px,100vh - 68px);display:grid;overflow:hidden;box-shadow:0 30px 80px #00347a29}.login-hero{color:#fff;background:radial-gradient(circle at 54% 48%,#1377e3bf,#0000 34%),linear-gradient(145deg,#004aad 0%,#0068c9 62%,#2cb5e5 100%);flex-direction:column;padding:40px 56px 56px;display:flex;position:relative;overflow:hidden}.login-hero:after{content:"";border:70px solid #ffffff1a;border-radius:50%;width:540px;height:540px;position:absolute;bottom:-180px;right:-150px}.login-brand{z-index:1;letter-spacing:.04em;align-items:center;gap:20px;font-size:19px;font-weight:700;display:flex;position:relative}.login-brand img{object-fit:contain;filter:drop-shadow(0 5px 12px #00255738);width:72px;height:74px}.login-hero-copy{z-index:1;max-width:560px;margin:auto 0 46px;position:relative}.login-eyebrow{letter-spacing:.13em;text-transform:uppercase;font-size:15px;font-weight:700;color:#ffcf68!important;margin-bottom:22px!important}.login-page .login-hero h1{color:#fff;letter-spacing:-.045em;margin-bottom:18px;font-size:clamp(54px,5vw,76px);line-height:.98}.login-subtitle{max-width:470px;font-size:clamp(22px,2vw,28px);line-height:1.4;color:#fff!important;margin-bottom:18px!important}.login-description{max-width:470px;font-size:17px;line-height:1.65;color:#ffffffbd!important}.login-benefits{z-index:1;gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.login-benefits li{grid-template-columns:48px 1fr;align-items:center;gap:13px;display:grid}.login-benefits svg{box-sizing:content-box;color:#c6e3f1;background:#ffffff1f;border-radius:12px;padding:12px}.login-benefits span,.login-benefits strong{display:block}.login-benefits span{color:#ffffffb3;font-size:14px}.login-benefits strong{color:#fff;margin-bottom:2px;font-size:16px}.login-card{background:#fff;flex-direction:column;justify-content:center;padding:66px 72px;display:flex}.login-card-mark{color:#004aad;letter-spacing:-.04em;background:#c6e3f1;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:34px;font-weight:800;display:grid}.login-content h2{color:#102a43;letter-spacing:-.025em;margin-bottom:12px;font-size:40px}.login-content>p,.login-help p{color:#66788a;margin-bottom:0;line-height:1.6}.login-content>p{max-width:420px;font-size:17px}.telegram-login{background:linear-gradient(135deg,#087cf2,#0063e6);border-radius:10px;justify-content:center;align-items:center;min-height:58px;margin-top:34px;display:flex;overflow:hidden;box-shadow:0 10px 22px #0063e62e}.telegram-login iframe{transform:scale(1.12)}.login-configuration-error{color:var(--danger)!important;margin-top:24px!important}.dev-login{background:#f7f9fc;border:1px solid #dbe4ee;border-radius:12px;margin-top:32px;padding:20px}.dev-login header{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.dev-login header svg{color:#64788d;flex:none}.dev-login header strong{color:#182b3f;font-size:14px;display:block}.dev-login header p{color:#6a7b8c;margin:3px 0 0;font-size:12px}.dev-login-actions button{background:#fff;min-height:40px;padding:0 10px}.login-help{background:#fff8e8;border:0;border-radius:12px;grid-template-columns:auto 1fr;gap:14px;margin-top:0;padding:20px 22px;display:grid}.login-help>svg{color:#ffb216}.login-help p{font-size:13px}@media (width<=900px){.auth-layout{padding:24px}.login-page{grid-template-columns:1fr;min-height:auto}.login-hero{min-height:480px;padding:40px 46px}.login-hero-copy{margin:52px 0 38px}.login-card{padding:52px 46px}}@media (width<=560px){.auth-layout{background:#fff;padding:0;display:block}.login-page{box-shadow:none;border:0;border-radius:0}.login-hero{min-height:auto;padding:30px 24px 34px}.login-brand img{width:48px;height:50px}.login-hero-copy{margin:48px 0 32px}.login-page .login-hero h1{font-size:43px}.login-description{font-size:15px}.login-benefits li{grid-template-columns:38px 1fr}.login-benefits svg{width:18px;height:18px}.login-card{padding:42px 24px 48px}.login-content h2{font-size:28px}.dev-login-actions{grid-template-columns:1fr}}.login-divider{color:var(--muted);align-items:center;gap:12px;margin-bottom:16px;font-size:13px;display:flex}.login-divider:before,.login-divider:after{background:var(--border);content:"";width:100%;height:1px}.dev-login-actions{gap:8px;display:grid}.dev-login-actions button,.secondary-button,.primary-button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.primary-button{border-color:var(--blue);background:var(--blue);color:var(--color-on-primary);font-weight:600}.primary-button:hover,.primary-button:focus-visible{border-color:var(--color-secondary);background:var(--color-secondary)}.danger-button{border:1px solid var(--color-danger);background:var(--danger-soft);min-height:42px;color:var(--color-danger);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 16px;display:inline-flex}.danger-button:hover,.danger-button:focus-visible{background:var(--color-danger);color:var(--color-on-primary)}.danger-button:disabled{cursor:wait;opacity:.65}.dev-login-actions button:disabled{cursor:not-allowed;opacity:.45}.dashboard-layout{min-height:100vh}.dashboard-header{z-index:10;border-bottom:1px solid var(--border);background:#fffffff5;justify-content:space-between;align-items:center;min-height:68px;padding:0 max(24px,50vw - 600px);display:flex;position:sticky;top:0}.brand,.header-actions{align-items:center;display:flex}.brand{flex-shrink:0;gap:10px}.brand-logo{object-fit:contain;flex:none;width:48px;height:50px}.header-actions{flex-shrink:0;gap:8px}.header-search-button{height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.header-search-button:hover,.header-search-button:focus-visible{border-color:var(--color-secondary);background:var(--blue-soft);color:var(--blue-dark)}.language-switcher{position:relative}.language-trigger{min-width:86px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.language-trigger:hover,.language-trigger:focus-visible,.language-trigger[aria-expanded=true]{border-color:var(--color-secondary);background:var(--color-surface-accent);color:var(--color-primary-hover)}.language-menu{z-index:20;border:1px solid var(--border);background:var(--surface);width:210px;box-shadow:var(--shadow-lg);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.language-menu-title{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;padding:10px 10px 9px;font-size:13px;font-weight:600;display:flex}.language-option{width:100%;min-height:40px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;margin-top:2px;padding:0 10px;display:flex}.language-option:hover,.language-option:focus-visible,.language-option[aria-checked=true]{background:var(--blue-soft);color:var(--blue-dark)}.language-option:disabled{cursor:wait;opacity:.65}.header-user{max-width:220px;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin-right:8px;font-size:14px;overflow:hidden}.icon-button{width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:grid}.icon-button:hover,.icon-button:focus-visible{border-color:var(--color-secondary);background:var(--blue-soft);color:var(--blue-dark)}.dashboard-content{width:min(1200px,100%);margin:0 auto;padding:44px 24px 72px}.student-dashboard,.teacher-dashboard{gap:30px;display:grid}.teacher-dashboard-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;display:grid}.teacher-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.teacher-dashboard-header .quick-action{white-space:nowrap;min-height:44px;padding:0 13px;font-size:13px}.student-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.student-dashboard .teacher-workload-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-dashboard .teacher-workload-grid>div{grid-template-columns:auto 1fr;align-content:center;align-items:baseline;gap:10px;min-height:82px}.student-dashboard-flow{gap:18px;display:grid}.student-dashboard-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:14px;padding:20px}.student-dashboard-panel .section-heading h2{font-size:22px}.student-dashboard-list{border-top:1px solid var(--border);display:grid}.student-dashboard-row{border-bottom:1px solid var(--border);min-height:72px;color:var(--text);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:11px 4px;display:grid}.student-dashboard-row:hover{background:var(--surface-subtle)}.student-dashboard-row>span{gap:4px;min-width:0;display:grid}.student-dashboard-row>span:last-child{text-align:right;justify-items:end}.student-dashboard-row strong{overflow-wrap:anywhere;font-size:14px}.student-dashboard-row small{color:var(--muted);font-size:12px;line-height:1.4}.student-result-row{min-height:80px}.student-activity-row{grid-template-columns:auto minmax(0,1fr)}.student-activity-row>svg{color:var(--color-success)}.student-activity-row>span:last-child{text-align:left;justify-items:start}.quick-action{border:1px solid var(--border);background:var(--surface);min-height:72px;color:var(--text);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:11px;padding:0 18px;font-weight:650;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.quick-action:hover,.quick-action:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.quick-action svg{color:var(--blue)}.quick-action-primary{border-color:var(--blue);background:var(--blue);color:var(--color-on-primary)}.quick-action-primary svg{color:var(--color-on-primary)}.search-modal-backdrop{z-index:100;background:#0f172a7a;place-items:start center;padding:min(12vh,96px) 20px 20px;display:grid;position:fixed;inset:0}.search-modal{border:1px solid var(--border);background:var(--surface);width:min(560px,100%);max-height:min(680px,100vh - 40px);box-shadow:var(--shadow-lg);border-radius:8px;overflow:auto}.search-modal>header{z-index:1;border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-height:68px;padding:10px 16px;display:grid;position:sticky;top:0}.search-modal>header h2{text-align:center;grid-column:2;margin:0;font-size:21px}.search-modal>header>button:first-child{grid-column:1}.search-modal-close{grid-column:3}.search-type-picker{gap:10px;padding:24px;display:grid}.search-type-picker>p{color:var(--muted);text-align:center;margin-bottom:6px}.search-type-picker>button{border:1px solid var(--border);background:var(--surface);width:100%;min-height:62px;color:var(--text);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:13px;padding:0 16px;display:flex}.search-type-picker>button:hover,.search-type-picker>button:focus-visible{border-color:var(--color-secondary);background:var(--blue-soft)}.search-type-picker svg{color:var(--blue)}.search-panel{padding:20px 24px 24px}.search-input-wrap{border:1px solid var(--border);background:var(--surface);height:48px;color:var(--muted);border-radius:6px;align-items:center;gap:10px;padding:0 13px;display:flex}.search-input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.search-input-wrap input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.search-results{gap:8px;margin-top:16px;display:grid}.search-result-item{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 14px;display:flex}.search-result-item>div{gap:4px;min-width:0;display:grid}.search-result-item strong,.search-result-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-result-item span{color:var(--muted);font-size:13px}.search-result-item button{color:var(--blue-dark);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:5px;padding:8px;display:inline-flex}.search-hint{color:var(--muted);text-align:center;margin:18px 0 4px}.search-hint-error{color:var(--color-danger)}.test-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.test-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:104px;padding:18px;display:grid}.test-card:hover,.test-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md)}.test-card>svg{color:var(--blue)}.test-card>div{gap:5px;min-width:0;display:grid}.test-card span,.test-card small{color:var(--muted)}.test-results-table{gap:10px;display:grid}.test-results-table article{border:1px solid var(--border);background:var(--surface);border-radius:6px;grid-template-columns:minmax(160px,1fr) 130px minmax(220px,2fr);align-items:end;gap:14px;padding:16px;display:grid}.test-results-table label{gap:6px;display:grid}.test-results-table label span{color:var(--muted);font-size:12px}.test-results-table input{border:1px solid var(--border);border-radius:5px;width:100%;height:42px;padding:0 10px}.test-results-table{border-top:1px solid var(--border);display:grid}.test-result-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(160px,1fr) 110px 120px 80px auto auto;align-items:center;gap:16px;min-height:68px;padding:12px 4px;display:grid}.test-result-row>span{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.review-page{gap:18px;max-width:1040px;padding-top:20px;display:grid}.review-page>.back-link{margin-bottom:0}.review-student-meta{align-items:center;gap:9px;margin-top:5px;display:flex}.review-files{gap:7px;margin-bottom:10px;display:grid}.review-file{border:1px solid var(--border);border-radius:7px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:9px 10px;display:grid}.review-file>span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.review-delete{color:var(--danger)}.ui-page-header{gap:5px;display:grid}.ui-page-header h1{margin:0;font-size:clamp(30px,3.5vw,40px);line-height:1.08}.ui-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:18px;box-shadow:0 3px 12px #0f172a08}.ui-card-muted{background:var(--surface-subtle)}.ui-card>h2{align-items:center;gap:8px;margin:0 0 14px;font-size:19px;display:flex}.ui-status{border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.ui-status-success{color:#167044;background:#dcfce7}.ui-action-bar{justify-content:flex-end;padding-top:2px;display:flex}.ui-timeline{display:grid}.ui-timeline-event{grid-template-columns:14px 1fr;gap:10px;padding-bottom:18px;display:grid;position:relative}.ui-timeline-event:last-child{padding-bottom:0}.ui-timeline-event:before{background:var(--border);content:"";width:2px;position:absolute;top:12px;bottom:0;left:5px}.ui-timeline-event:last-child:before{display:none}.ui-timeline-event>span{z-index:1;border:2px solid var(--surface);background:var(--blue);border-radius:50%;width:12px;height:12px;margin-top:3px}.ui-timeline-event>div{gap:3px;display:grid}.ui-timeline-event time{color:var(--muted);font-size:12px}.ui-timeline-event p{color:var(--muted);margin:3px 0 0}.timeline-comment{color:var(--text);margin-top:5px;display:block}.review-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.review-content{gap:16px;display:grid}.review-history{max-width:100%}.review-file{background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto auto auto}.review-file>span{gap:2px;display:grid}.review-file small{color:var(--muted);font-size:11px;font-weight:400}.review-score-hero{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:4px 16px;padding-bottom:14px;display:grid}.review-score-hero>span{color:var(--muted);grid-column:1/-1;font-size:12px;font-weight:700}.review-score-hero strong{align-items:baseline;gap:8px;font-size:32px;display:flex}.review-score-hero input{appearance:textfield;background:0 0;border:0;width:100px;padding:0;font-size:32px;font-weight:800}.review-score-hero input::-webkit-inner-spin-button{appearance:none;margin:0}.review-score-hero input::-webkit-outer-spin-button{appearance:none;margin:0}.review-score-hero input:focus{box-shadow:inset 0 -2px var(--blue);outline:0}.review-score-hero small{color:var(--muted);font-size:18px}.review-score-hero b{color:var(--blue-dark);align-self:center;font-size:21px}.review-score-hero .field-error{color:var(--danger);grid-column:1/-1;margin:3px 0 0;font-size:12px}.review-score-hero input[aria-invalid=true]{color:var(--danger);box-shadow:inset 0 -2px var(--danger)}.review-empty-work{background:var(--surface-subtle);border-radius:8px;gap:6px;padding:14px;display:grid}.review-empty-work p{max-width:52ch;color:var(--muted);margin:0;font-size:14px;line-height:1.45}.review-save-button{justify-content:center;min-width:190px;min-height:46px}.review-layout form{gap:14px;display:grid}.review-layout form>label{gap:7px;max-width:none;display:grid;position:static}.review-layout form>label>span{color:var(--muted);font-size:12px;font-weight:700}.review-layout form>label textarea{border:1px solid var(--border);background:var(--surface);resize:vertical;border-radius:8px;width:100%;min-height:132px;padding:12px 13px;font-size:15px;line-height:1.5}.review-layout form>label textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #0f5bbe1a}.group-tabs{border-bottom:1px solid var(--border);gap:24px;display:flex;overflow-x:auto}.group-tabs a{color:var(--muted);flex:none;padding:14px 2px 13px;font-weight:600;position:relative}.group-tabs a.active{color:var(--blue-dark)}.group-tabs a.active:after{background:var(--blue);content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0}.group-tab-page{gap:28px;display:grid}.compact-group-page{width:min(1100px,100%);margin:0 auto;padding-top:8px}.compact-group-page>.back-link{margin-bottom:28px}.compact-group-intro{margin-bottom:26px}.compact-group-intro h1{margin-bottom:7px;font-size:41px}.compact-group-meta{gap:5px;display:grid}.compact-group-meta p{color:var(--text)}.compact-group-meta span{color:var(--muted)}.school-group-intro{align-items:flex-start}.school-group-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.school-group-title-row h1{margin:0}.school-archive-badge{color:#ad2525;background:#fbe8e8;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.school-archive-note{max-width:620px;color:var(--muted);margin:10px 0 0}.school-archive-banner{color:#8b2727;background:#fff6f6;border:1px solid #f0c8c8;border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:13px 15px;font-weight:600;display:flex}.school-archive-banner svg{flex:none;margin-top:1px}.archive-confirm-modal p{color:var(--muted);line-height:1.5}.compact-group-page>.group-tabs{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;gap:5px;width:fit-content;padding:4px}.compact-group-page>.group-tabs a{border-radius:7px;padding:9px 14px}.compact-group-page>.group-tabs a.active{background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--color-secondary)}.compact-group-page>.group-tabs a.active:after{display:none}.compact-group-page>.group-tabs+:is(.student-section-page,.group-tab-page,.dashboard-section,.section-message){margin-top:24px}.group-student-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.group-student-list a{border:1px solid var(--border);background:var(--surface);border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:14px 16px;display:grid}.group-student-list a:hover{border-color:var(--color-secondary)}.group-student-list svg{color:var(--blue)}.group-student-list a span{gap:3px;min-width:0;display:grid}.group-student-list a small{color:var(--muted);font-weight:500}.group-progress-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.group-progress-metrics>div{border:1px solid var(--border);background:var(--surface);border-radius:7px;gap:12px;padding:18px;display:grid}.group-progress-metrics span{color:var(--muted)}.group-progress-metrics strong{font-size:28px}.progress-track{background:var(--color-surface-accent);border-radius:4px;height:7px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--blue);height:100%;display:block}.progress-ranking{gap:8px;display:grid}.progress-ranking>div{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 16px;display:grid}.progress-ranking>div>span{color:var(--muted)}.progress-ranking b{color:var(--blue-dark)}.school-group-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.school-group-stat-grid>div{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:92px;padding:18px;display:grid}.school-group-stat-grid svg{color:var(--blue)}.school-group-stat-grid span{color:var(--muted);font-size:13px}.school-group-stat-grid strong{font-size:24px}.school-group-stat-grid .school-group-invite{grid-column:span 2}.school-group-invite button:not(.secondary-button){background:var(--blue-soft);color:var(--blue-dark);cursor:pointer;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 9px;display:inline-flex}.school-group-invite button:not(.secondary-button) strong{letter-spacing:.04em;font-size:16px}.school-member-add{align-items:center;gap:10px;display:flex}.school-member-add select{border:1px solid var(--border);background:var(--surface);border-radius:7px;width:min(480px,100%);min-height:42px;padding:0 12px}.school-member-add>span{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.school-member-list,.school-work-list{gap:9px;display:grid}.school-member-list>article{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;display:grid}.school-member-list>article:hover{border-color:var(--color-secondary)}.school-member-card-link{min-height:72px;color:inherit;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:17px 18px;display:grid}.school-member-card-link>svg{color:var(--blue)}.school-member-list span{gap:3px;display:grid}.school-member-list small{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.school-member-actions{align-items:center;gap:8px;display:flex}.school-member-actions>button{min-height:38px;color:var(--color-error);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.school-member-actions>.danger-button{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--color-on-primary);border-radius:6px;padding:0 14px}.school-member-actions>.danger-button:hover,.school-member-actions>.danger-button:focus-visible{filter:brightness(.9)}.school-member-icon-action{width:38px;height:38px;color:var(--color-error);cursor:pointer;background:#fff;border:1px solid #f0caca;border-radius:8px;place-items:center;margin-right:14px;display:inline-grid}.school-member-icon-action:hover,.school-member-icon-action:focus-visible{background:#fff1f1;outline:none}.school-member-list-search{margin-bottom:10px}.member-search-result{color:var(--muted);margin:-2px 0 10px;font-size:13px}.member-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.member-pagination>div{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.member-pagination button{border:1px solid var(--border);background:var(--surface);min-width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:7px;place-items:center;display:inline-grid}.member-pagination button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark);font-weight:800}.member-pagination button:disabled{cursor:not-allowed;opacity:.45}.school-member-remove{color:var(--color-error)}.school-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.school-member-modal{width:min(560px,100%);max-height:min(680px,100dvh - 40px);padding:22px;padding-bottom:calc(22px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-lg);border-radius:12px;gap:16px;display:grid;overflow:hidden}.school-member-modal>header,.school-member-modal>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.school-member-modal h2{margin:0;font-size:21px}.school-member-modal>footer{justify-content:flex-end}.school-member-search{border:1px solid var(--border);border-radius:7px;align-items:center;gap:9px;min-height:44px;padding:0 12px;display:flex}.school-member-search svg{color:var(--muted)}.school-member-search input{background:0 0;border:0;outline:0;width:100%}.school-member-options{gap:6px;display:grid;overflow-y:auto}.school-member-options>label{cursor:pointer;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:11px 12px;display:grid}.school-member-options>label:hover{background:var(--surface-subtle)}.available-students-modal{width:min(620px,100%)}.available-students-empty{text-align:center;align-content:center;justify-items:center;min-height:112px}.available-students-empty span{color:var(--muted);margin-top:4px;display:block}.available-student-options{max-height:min(320px,38dvh);padding-right:2px}.available-student-options>label{border:1px solid #0000;min-height:50px;padding-block:8px}.available-student-options>label:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}.available-student-options input{width:18px;height:18px;accent-color:var(--blue)}.available-students-pagination{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:13px;display:grid}.available-students-pagination span{text-align:center;white-space:nowrap;font-weight:700}.available-students-pagination button:first-child{justify-self:start}.available-students-pagination button:last-child{justify-self:end}.school-member-options span{gap:3px;display:grid}.school-member-options small{color:var(--muted)}.school-work-row{border:1px solid var(--border);background:var(--surface);min-height:72px;color:inherit;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 18px;display:grid}.school-work-row:hover,.school-work-row:focus-visible{border-color:var(--color-secondary);outline:none}.school-work-row>svg{color:var(--blue)}.school-work-row span{gap:4px;display:grid}.school-work-row small,.school-work-row b{color:var(--muted);font-size:12px}.school-person-page{width:min(900px,100%);margin:0 auto}.school-person-page h1{margin:10px 0 28px}.school-person-header{margin-top:28px;position:relative}.school-person-header>.school-person-actions{z-index:5;align-items:center;gap:8px;margin:0;display:flex;position:absolute;top:0;right:0}.school-person-more-button{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;display:grid}.school-person-more-button:hover,.school-person-more-button:focus-visible,.school-person-more-button[aria-expanded=true]{border-color:color-mix(in srgb, var(--blue) 45%, var(--border));color:var(--text);outline:none}.school-person-action-menu{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:245px;padding:6px;display:grid;position:absolute;top:46px;right:0;box-shadow:0 16px 40px #151f2e29}.school-person-action-menu button{min-height:40px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:0 10px;display:flex}.school-person-action-menu button:hover,.school-person-action-menu button:focus-visible{background:var(--surface-subtle);outline:none}.school-person-action-menu .danger-text{color:var(--color-danger)}.school-person-archived-status{background:var(--danger-soft);color:var(--color-danger);border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;font-weight:600;display:inline-flex}.school-person-archive-details{border-bottom:1px solid var(--border);gap:3px;padding:7px 10px 9px;display:grid}.school-person-archive-details small{color:var(--muted);font-size:12px}@media (width<=650px){.school-person-header{padding-right:46px}.school-person-archived-status{display:none}.school-person-action-menu{margin-top:8px;top:100%}}.school-person-header h1{margin-bottom:7px}.school-person-header>span{color:var(--muted);font-weight:600}.school-person-header>div{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.school-person-header b{background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;padding:5px 9px;font-size:12px}.school-person-tabs{margin:28px 0 22px}.school-person-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.school-person-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:space-between;gap:14px;min-height:108px;padding:17px;display:grid}.school-person-summary span{color:var(--muted);font-size:12px}.school-person-summary strong{font-size:25px}.school-person-panel{gap:18px;display:grid}.school-person-panel h2{margin:0}.school-person-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.school-person-details>div{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:7px;padding:17px;display:grid}.school-person-details span{color:var(--muted);font-size:12px}.pending-group-list{gap:10px;display:grid}.pending-group-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;min-height:112px;padding:18px 20px;display:flex}.compact-review-card{min-height:88px;padding-block:14px}.material-card{justify-content:flex-start;min-height:76px}.material-card>svg{color:var(--blue);flex:none}.material-badge{background:var(--blue-soft);text-transform:uppercase;border-radius:4px;width:fit-content;padding:2px 6px;font-weight:800;color:var(--blue-dark)!important;font-size:10px!important}.material-badge.test{background:#f1eafe;color:#6941c6!important}.teacher-activity-item span{gap:3px;display:grid}.teacher-activity-item small{color:var(--muted);font-size:11px}.teacher-review-status{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:16px 18px;display:grid}.teacher-review-status>svg{color:var(--color-success)}.teacher-review-status>div{gap:3px;display:grid}.teacher-review-status p{color:var(--muted);margin:0;font-size:13px}.teacher-review-status>span{color:var(--muted);align-items:baseline;gap:5px;font-size:12px;display:flex}.teacher-review-status>span b{color:var(--text);font-size:20px}.pending-group-main{gap:6px;display:grid}.pending-group-main strong{font-size:17px}.pending-group-main span{color:var(--text);font-weight:700}.pending-group-main small{color:var(--muted);font-size:13px}.pending-group-link{color:inherit;transition:border-color .16s,box-shadow .16s,transform .16s}.pending-group-link:hover,.pending-group-link:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.teacher-workload-grid div{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:5px;padding:16px;display:grid}.teacher-workload-grid strong{color:var(--text);font-size:28px}.teacher-workload-grid span{color:var(--muted);font-size:13px}.dashboard-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.teacher-main-grid{align-items:start}.teacher-section-heading{align-items:center}.teacher-section-heading .section-eyebrow{margin-bottom:3px}.teacher-material-tabs{gap:5px;display:flex}.teacher-material-tabs button{border:1px solid var(--border);background:var(--surface);min-height:30px;color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:0 10px;font-size:11px}.teacher-material-tabs button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark);font-weight:700}.teacher-section-link{color:var(--blue-dark);justify-self:start;font-size:13px;font-weight:700}.teacher-compact-list,.teacher-activity-list{gap:10px;display:grid}.teacher-compact-item,.teacher-activity-item{border:1px solid var(--border);background:var(--surface);min-height:64px;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.teacher-compact-item span{color:var(--muted);font-size:13px}.teacher-compact-item>span{gap:3px;display:grid}.teacher-compact-item strong{color:var(--text);font-size:14px}.teacher-compact-item small{color:var(--muted);font-size:12px;display:block}.student-results-list{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-activity-item{min-height:76px;color:var(--muted);justify-content:flex-start}.teacher-activity-item strong{color:var(--text);font-size:13px;font-weight:650;line-height:1.35}.student-activity-item>span{gap:3px;display:grid}.student-activity-item strong{color:var(--text)}.student-activity-item small{color:var(--muted);font-size:12px}.student-result-score{text-align:right}.student-result-open{color:var(--blue-dark);font-weight:700}.teacher-activity-item svg{color:var(--color-success);flex:none}.pending-card-skeleton{background:var(--color-surface-accent);border-color:#0000;animation:1.5s ease-in-out infinite pulse}.dashboard-intro h1{margin-bottom:10px;font-size:44px;line-height:1.1}.dashboard-intro>p:last-child{max-width:620px;color:var(--muted);margin-bottom:0;font-size:17px}.student-groups-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.student-groups-heading>div>p:last-child{color:var(--muted);margin:0;font-size:17px}.student-groups-heading .primary-button{flex:none}.student-join-modal>p{color:var(--muted);margin:0}.student-group-preview{border:1px solid var(--border);background:var(--surface-subtle);color:var(--blue);border-radius:9px;align-items:center;gap:14px;padding:16px;display:flex}.student-group-preview div{gap:3px;display:grid}.student-group-preview strong{color:var(--text);font-size:18px}.student-group-preview span,.student-group-preview small{color:var(--muted)}@media (width<=640px){.student-groups-heading{flex-direction:column;align-items:stretch}.student-groups-heading .primary-button{align-self:flex-start}}.section-eyebrow{color:var(--blue);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:700}.dashboard-section{gap:18px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-heading h2{margin-bottom:0;font-size:24px}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.group-card{border:1px solid var(--border);background:var(--surface);min-height:116px;box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.group-card:hover,.group-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.group-card-icon{background:var(--blue-soft);width:46px;height:46px;color:var(--blue);border-radius:8px;place-items:center;display:grid}.group-card-content{gap:6px;min-width:0;display:grid}.group-card-content strong,.group-card-content span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-card-content small{color:var(--muted);font-size:12px}.group-card-content strong{font-size:17px}.group-card-content span{color:var(--muted);font-size:14px}.group-card-arrow{color:var(--color-text-tertiary)}.group-card-skeleton{background:var(--color-surface-accent);box-shadow:none;border-color:#0000;animation:1.5s ease-in-out infinite pulse}.teacher-workload-grid small{margin-top:3px;font-size:11px;display:block}.student-section-page{gap:22px;display:grid}.filter-tabs{flex-wrap:wrap;gap:8px;display:flex}.filter-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:9px 14px}.filter-tabs button.active{border-color:var(--color-primary);background:var(--color-surface-accent);color:var(--blue-dark);font-weight:700}.student-filter-tabs button{align-items:center;gap:7px;min-height:36px;padding:7px 11px;display:inline-flex}.student-filter-tabs button strong{background:var(--surface-subtle);min-width:20px;height:20px;color:var(--muted);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;display:grid}.student-filter-tabs button.active strong{background:var(--surface);color:var(--blue-dark)}.student-empty-state{border:1px solid var(--border);background:var(--surface);min-height:110px;color:var(--muted);border-radius:10px;align-items:center;gap:14px;padding:20px;display:flex}.student-empty-state>svg{color:var(--color-success);flex:none}.student-empty-state>div{flex:1;gap:5px;display:grid}.student-empty-state strong{color:var(--text)}.student-empty-state p{margin:0;font-size:13px}.student-empty-state button{color:var(--blue-dark);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.homework-list-tools{grid-template-columns:minmax(240px,1fr) auto;gap:10px;display:grid}.homework-list-tools label{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.homework-list-tools input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.homework-list-tools select{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;border-radius:8px;padding:0 34px 0 11px}.student-compact-homework-list{gap:10px;display:grid}.student-compact-homework{border:1px solid var(--border);background:var(--surface);min-height:108px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:10px;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.student-compact-homework:hover,.student-compact-homework:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.student-compact-homework>div{gap:5px;min-width:0;display:grid}.student-compact-homework h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.student-compact-homework span,.student-compact-homework small{color:var(--muted);font-size:13px}.load-more-row{color:var(--muted);justify-content:center;align-items:center;gap:16px;font-size:13px;display:flex}.student-item-list{gap:14px;display:grid}.student-detail-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:14px;padding:20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.student-detail-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.student-detail-card>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.student-detail-card h2{margin:3px 0 0;font-size:19px}.student-detail-card p{margin:0}.student-card-facts,.metric-detail dl{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;display:grid}.student-card-facts div,.metric-detail dl div{background:var(--surface-subtle);border-radius:8px;padding:10px}.student-card-facts dt,.metric-detail dt{color:var(--muted);font-size:12px}.student-card-facts dd,.metric-detail dd{margin:4px 0 0;font-weight:800}.dashboard-metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.dashboard-metric-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:8px;padding:18px;display:grid}.dashboard-metric-card span{color:var(--muted);font-size:13px}.dashboard-metric-card strong{font-size:27px}.progress-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.metric-detail{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:20px}.metric-detail:last-child{grid-column:1/-1}.group-page{padding-top:20px}.group-intro{margin-bottom:42px}.group-intro h1{margin-bottom:10px;font-size:44px;line-height:1.1}.group-intro p{color:var(--muted);margin-bottom:0}.homeworks-list{gap:14px;display:grid}.homework-card{border:1px solid var(--border);background:var(--surface);min-height:150px;box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:24px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.homework-card:hover,.homework-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.homework-card-skeleton{background:var(--color-surface-accent);box-shadow:none;border-color:#0000;animation:1.5s ease-in-out infinite pulse}.teacher-homework-card{border:1px solid var(--border);background:var(--surface);min-height:96px;box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;transition:border-color .16s,box-shadow .16s;display:flex}.teacher-homework-card:hover,.teacher-homework-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md)}.teacher-homework-title{gap:6px;display:grid}.teacher-homework-title strong{font-size:17px}.teacher-homework-title small{color:var(--muted)}.teacher-homework-metrics{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.teacher-homework-overview{color:var(--blue-dark);align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.teacher-homework-sections{gap:28px;display:grid}.teacher-materials-page{gap:20px;display:grid}.materials-toolbar{justify-content:space-between;align-items:end;gap:18px;display:flex}.materials-toolbar h2{margin:0;font-size:25px}.create-material-menu{position:relative}.create-material-menu summary{cursor:pointer;list-style:none}.create-material-menu summary::-webkit-details-marker{display:none}.create-material-menu>div{z-index:10;border:1px solid var(--border);background:var(--surface);width:250px;box-shadow:var(--shadow-md);border-radius:9px;padding:6px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.create-material-menu>div a{min-height:42px;color:var(--text);border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-weight:650;display:flex}.create-material-menu>div a:hover{background:var(--surface-subtle)}.materials-filter-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding-bottom:14px;display:flex}.materials-search{border:1px solid var(--border);background:var(--surface);max-width:520px;min-height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:9px;padding:0 13px;display:flex}.materials-search:focus-within{border-color:var(--color-secondary);box-shadow:0 0 0 3px var(--blue-soft)}.materials-search input{width:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.materials-pagination{margin-top:4px}.materials-status-tabs,.materials-author-tabs{flex-wrap:wrap;gap:6px;display:flex}.materials-status-tabs button,.materials-author-tabs button{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:0 11px;font-size:12px}.materials-status-tabs button b{background:var(--surface-subtle);border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;font-size:10px;display:inline-grid}.materials-status-tabs button.active,.materials-author-tabs button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark);font-weight:700}.materials-card-list{gap:10px;display:grid}.material-work-card{border:1px solid var(--border);background:var(--surface);min-height:116px;color:var(--text);box-shadow:var(--shadow-sm);border-radius:10px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.material-work-card:hover,.material-work-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.material-work-main{gap:5px;min-width:0;display:grid}.material-work-main>strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.material-work-main>small{color:var(--muted);font-size:12px}.material-work-main>span{flex-wrap:wrap;gap:5px 16px;margin-top:3px;display:flex}.material-work-main>span b{color:var(--muted);font-size:12px;font-weight:500}.material-work-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.material-work-actions .primary-button,.material-work-actions .secondary-button{min-height:36px;padding-inline:11px;font-size:12px}.materials-empty-state{border:1px dashed var(--border-strong);min-height:210px;color:var(--muted);text-align:center;border-radius:10px;align-content:center;place-items:center;gap:8px;padding:28px;display:grid}.materials-empty-state svg{color:var(--blue)}.materials-empty-state .primary-button svg{color:#fff}.materials-empty-state strong{color:var(--text)}.materials-empty-state p{margin:0 0 8px}.teacher-tab-actions{justify-content:flex-end}.teacher-homework-controls{flex-wrap:wrap;gap:8px;display:flex}.teacher-homework-sections h3{margin-bottom:12px;font-size:18px}.teacher-homeworks-error{justify-content:center;align-items:center;gap:16px;display:flex}.overview-header,.submission-header{margin-bottom:32px}.overview-page .homework-condition,.overview-page .dashboard-section{margin-bottom:42px}.overview-header h1,.submission-header h1{margin-bottom:18px;font-size:42px}.overview-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.overview-title-row h1{margin-bottom:18px}.overview-actions{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.overview-readonly-note{max-width:620px;color:var(--muted);margin:-8px 0 18px;font-size:14px}.overview-details{gap:40px;margin:0;display:flex}.overview-details div{gap:4px;display:grid}.overview-details dt{color:var(--muted);font-size:13px}.overview-details dd{margin:0;font-weight:700}.overview-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:42px;display:grid}.overview-stats div{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-content:center;gap:7px;min-height:116px;padding:18px 20px;display:grid;box-shadow:0 1px 2px #0f172a08}.overview-stats strong{color:var(--blue-dark);font-size:28px}.overview-stats span{color:var(--muted);font-size:14px}.attachment-list{flex-wrap:wrap;gap:8px;display:flex}.attachment-link{border:1px solid var(--border);color:var(--blue-dark);border-radius:6px;align-items:center;gap:7px;padding:9px 11px;font-size:13px;font-weight:600;display:inline-flex}.editable-attachment{align-items:stretch;display:inline-flex}.editable-attachment .attachment-link{border-radius:6px 0 0 6px}.editable-attachment button{border:1px solid var(--border);background:var(--surface);width:38px;color:var(--color-danger);cursor:pointer;border-left:0;border-radius:0 6px 6px 0;place-items:center;display:grid}.editable-attachment button:hover,.editable-attachment button:focus-visible{background:var(--danger-soft)}.editable-attachment button:disabled{cursor:wait;opacity:.65}.student-submission-list{gap:9px;display:grid}.grading-form-actions{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.student-submission-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:82px;box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.student-submission-card:hover,.student-submission-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.student-submission-card>div{gap:4px;display:grid}.student-submission-card>div span,.student-no-action{color:var(--muted);font-size:13px}.student-submission-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.test-submission-files{align-items:center;gap:6px;display:inline-flex}.submission-dot{border-radius:50%;width:10px;height:10px}.status-on-time{background:var(--color-success)}.status-late{background:var(--color-warning)}.status-overdue{background:var(--color-danger)}.status-not-submitted{background:var(--muted)}.submission-status{background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.submission-status.late,.submission-status.latereviewed{background:color-mix(in srgb, var(--color-warning) 18%, white);color:color-mix(in srgb, var(--color-warning) 72%, black)}.submission-late-note{color:color-mix(in srgb, var(--color-warning) 72%, black);margin:8px 0 0;font-weight:700}.submission-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;gap:22px;display:grid}.submission-post{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:18px}.submission-post.teacher-reply{border-color:var(--color-surface-accent);background:color-mix(in srgb, var(--color-surface-accent) 35%, white)}.submission-post header{color:var(--muted);justify-content:space-between;gap:15px;font-size:12px;display:flex}.submission-post header strong{color:var(--text);font-size:14px}.submission-post p{white-space:pre-wrap;margin:13px 0}.post-grade-badge{background:var(--color-success-soft);color:var(--color-success);border-radius:999px;align-items:center;gap:5px;margin:0 0 12px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.post-grade-badge strong{color:var(--color-success)}.grading-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px;position:sticky;top:90px}.grading-panel h2{font-size:20px}.grading-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.grading-panel-header h2{margin-bottom:0}.grading-panel-header+.teacher-form{margin-top:20px}.reviewed-grade-summary{gap:10px;margin-top:18px;display:grid}.reviewed-grade-summary>strong{color:var(--text);font-size:24px}.reviewed-grade-summary p{color:var(--muted);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.5}.teacher-form{gap:9px;display:grid}.teacher-form label{margin-top:5px;font-size:13px;font-weight:650}.teacher-form input,.teacher-form textarea{border:1px solid var(--border);background:var(--color-surface);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:11px}.teacher-form .primary-button{margin-top:5px}.teacher-form .primary-button:disabled{cursor:wait;opacity:.65}.current-grade{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;font-size:13px;display:flex}.current-grade strong{color:var(--text);font-size:16px}.create-homework-page{max-width:780px;margin:0 auto}.create-homework-header{margin-bottom:30px}.create-homework-header h1{margin-bottom:9px;font-size:40px}.create-homework-header>p:last-child{color:var(--muted);margin-bottom:0}.create-homework-form{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;padding:26px;display:grid}.create-homework-form>label,.create-homework-row label{margin-top:8px;font-size:13px;font-weight:700}.create-homework-form input,.create-homework-form textarea{border:1px solid var(--border);background:var(--color-surface);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:11px 12px}.create-homework-form input:focus,.create-homework-form textarea:focus{border-color:var(--blue);outline:3px solid var(--blue-soft)}.create-homework-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.create-homework-row>div{gap:8px;display:grid}.file-picker{align-items:center;gap:12px;margin-top:14px;display:flex}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.file-picker-button{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-size:14px;font-weight:650;display:inline-flex}.file-picker>span{color:var(--muted);font-size:12px}.selected-files{gap:6px;display:grid}.selected-files>div{background:var(--surface-subtle);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;font-size:13px;display:grid}.selected-files button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:4px;display:grid}.create-homework-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;margin-top:18px;padding-top:18px;display:flex}.create-homework-actions .primary-button:disabled{cursor:wait;opacity:.65}.edit-attachments-block{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;gap:10px;padding:16px;display:grid}.edit-attachments-block h2{margin-bottom:0;font-size:17px}.edit-attachments-block p{color:var(--muted);margin-bottom:0;font-size:14px}.select-homework-group-page{max-width:880px;margin:0 auto}.select-group-list{gap:10px;display:grid}.select-group-card{border:1px solid var(--border);background:var(--surface);min-height:94px;box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:17px 19px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.select-group-card:hover,.select-group-card:focus-visible{border-color:var(--color-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.select-group-content{gap:5px;display:grid}.select-group-content strong{font-size:17px}.select-group-content span{color:var(--muted);font-size:13px}.select-group-action{color:var(--blue-dark);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.back-link{color:var(--blue-dark);align-items:center;gap:7px;margin-bottom:36px;font-size:14px;font-weight:600;display:inline-flex}.student-homework-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.student-homework-header h1{margin-bottom:0;font-size:42px}.student-homework-layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);align-items:start;gap:22px;display:grid}.student-homework-main{gap:34px;display:grid}.homework-condition,.student-answer-form,.student-grade-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:22px}.homework-condition h2,.student-answer-form h2,.student-grade-panel h2{margin-bottom:16px;font-size:20px}.homework-condition>p{color:var(--color-text);white-space:pre-wrap;margin-bottom:24px;line-height:1.65}.homework-condition>p:last-child{margin-bottom:0}.student-answer-form{gap:10px;display:grid}.student-answer-form>label{font-size:13px;font-weight:700}.answer-form-hint{color:var(--muted);margin:-2px 0 4px;font-size:13px}.student-answer-form textarea{border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;padding:12px}.student-answer-form>.primary-button{justify-self:end;margin-top:9px}.student-answer-form>.primary-button:disabled{cursor:wait;opacity:.65}.student-grade-panel{position:sticky;top:90px}.student-grade-panel>p{color:var(--muted);margin-bottom:0;font-size:14px}.student-result-meta{color:var(--muted);gap:5px;margin-bottom:16px;font-size:13px;display:grid}.student-result-meta>span{color:var(--color-text);font-weight:600}.student-result-meta small{font-size:12px}.student-score{color:var(--muted);align-items:baseline;gap:7px;padding:8px 0 18px;display:flex}.student-score strong{color:var(--blue-dark);font-size:40px}.teacher-feedback{border-top:1px solid var(--border);margin-top:10px;padding-top:18px}.teacher-feedback strong{font-size:13px}.teacher-feedback p{color:var(--color-text);white-space:pre-wrap;margin:8px 0 0;line-height:1.5}@media (width<=720px){.dashboard-header{min-height:60px;padding:0 16px}.brand strong,.header-user,.header-search-button span{display:none}.header-search-button{justify-content:center;width:40px;padding:0}.language-trigger{min-width:72px;padding:0 7px}.brand-logo{width:42px;height:44px}.dashboard-content{padding:30px 16px 48px}.student-dashboard,.teacher-dashboard{gap:34px}.teacher-quick-actions,.school-group-stat-grid,.school-person-details{grid-template-columns:1fr}.school-group-stat-grid .school-group-invite{grid-column:auto}.school-member-add{flex-direction:column;align-items:stretch}.school-member-list>article{grid-template-columns:minmax(0,1fr) auto}.school-member-card-link{grid-template-columns:auto minmax(0,1fr);padding:14px}.school-member-icon-action{width:34px;height:34px;margin-right:10px}.school-member-actions{grid-column:1/-1;justify-content:flex-end}.group-student-list{grid-template-columns:1fr}.member-pagination{flex-direction:column;align-items:flex-start}.member-pagination>div{justify-content:flex-start}.school-modal-backdrop{padding:14px;padding-bottom:calc(18px + env(safe-area-inset-bottom));align-items:center}.available-students-modal{max-height:calc(100dvh - 32px);padding:16px;padding-bottom:calc(18px + env(safe-area-inset-bottom));gap:12px;overflow-y:auto}.available-students-modal h2{font-size:20px}.available-student-options{max-height:34dvh}.available-student-options>label{align-items:flex-start;min-height:52px;padding:9px 10px}.available-student-options input{margin-top:3px}.available-students-pagination{grid-template-columns:1fr;justify-items:stretch;gap:8px}.available-students-pagination span{order:-1}.available-students-pagination button{justify-content:center;width:100%}.school-member-modal>footer{flex-direction:column-reverse;align-items:stretch}.school-member-modal>footer button{justify-content:center;width:100%}.school-member-modal>footer .primary-button:disabled{opacity:.5}.school-person-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.school-history-list{gap:14px;display:grid}.school-history-controls{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(150px,auto));gap:10px;margin-bottom:26px;display:grid}.school-history-controls.school-group-work-controls{grid-template-columns:minmax(260px,1fr) minmax(180px,auto)}.school-history-controls select,.school-history-search{border:1px solid var(--border);background:#fff;border-radius:7px;height:42px}.school-history-controls select{color:var(--text);padding:0 34px 0 12px}.school-history-search{color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:flex}.school-history-search input{background:0 0;border:0;outline:0;width:100%}.school-history-month{margin-bottom:28px}.school-history-month>h3{margin:0 0 12px;font-size:18px}.school-history-more{margin-top:2px}.school-history-empty{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.school-history-list>article{border:1px solid var(--border);background:#fff;border-radius:10px;padding:20px 22px}.school-history-list h3{margin:0 0 7px;font-size:18px}.school-history-list p{color:var(--muted);margin:0}.school-history-list dl{flex-wrap:wrap;gap:12px 32px;margin:16px 0;display:flex}.school-history-list dl div{gap:3px;display:grid}.school-history-list dt{color:var(--muted);font-size:12px}.school-history-list dd{margin:0;font-size:14px}.school-history-list footer{flex-wrap:wrap;gap:9px;display:flex}.school-result-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.school-result-grid main{gap:16px;display:grid}.school-result-score{align-items:baseline;gap:14px;display:flex}.school-result-score>strong{font-size:28px}.school-result-score>b{color:var(--primary)}.school-result-comment{white-space:pre-wrap}.school-result-history h2{align-items:center;gap:8px;display:flex}.school-result-history .timeline{gap:20px;margin-top:18px;display:grid}.school-result-history .timeline>div{gap:10px;display:flex}.school-result-history .timeline span{gap:4px;display:grid}.school-result-history .timeline small{color:var(--muted)}@media (width<=800px){.school-result-grid,.school-history-controls,.school-history-controls.school-group-work-controls{grid-template-columns:1fr}}.school-back-button{cursor:pointer;background:0 0;border:0;padding:0}.readonly-teacher-comment,.readonly-submission-history{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.readonly-teacher-comment>span{color:var(--muted);font-size:12px}.readonly-teacher-comment p{white-space:pre-wrap}.readonly-submission-history{gap:14px;display:grid}.readonly-submission-history h3{margin:0}.readonly-submission-history>div{gap:4px;display:grid}.readonly-submission-history time{color:var(--muted);font-size:13px}.overview-student-filters{flex-wrap:wrap;gap:7px;display:flex}.overview-student-filters button{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:#fff;border-radius:20px;padding:7px 12px}.overview-student-filters button.active{border-color:var(--primary);color:var(--primary);background:#edf5ff}.missing-work-status{gap:8px;display:grid}.missing-work-status>span{color:var(--muted)}.missing-work-status>strong{font-size:28px}.missing-work-status>b{color:#b45309}.missing-work-page aside h2{align-items:center;gap:8px;display:flex}@media (width<=1100px){.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.search-modal.command-palette{border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:min(720px,100vh - 40px);display:grid;overflow:hidden}.search-modal.command-palette>.command-search-header{min-height:64px;color:var(--muted);gap:11px;padding:10px 14px 10px 18px;display:flex;position:static}.command-search-header input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:19px}.command-search-header kbd,.command-footer kbd{border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);font:inherit;border-bottom-width:2px;border-radius:5px;padding:3px 6px;font-size:11px}.command-results{min-height:230px;padding:10px;overflow:auto}.command-empty{padding:12px 10px 20px}.command-empty>p{color:var(--muted);margin:4px 6px 18px}.command-empty nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.command-empty nav span{border:1px solid var(--border);border-radius:7px;align-items:center;gap:9px;min-height:52px;padding:0 12px;display:flex}.command-empty nav svg{color:var(--blue)}.command-empty nav small{color:var(--muted);margin-left:auto}.command-section+.command-section{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.command-section h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;margin:0;padding:5px 9px 7px;font-size:12px;display:flex}.command-section>div{gap:2px;display:grid}.command-section button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:10px 11px;display:grid}.command-section button:hover,.command-section button:focus-visible{background:var(--blue-soft);outline:0}.command-section button>svg{color:var(--blue)}.command-section button span{gap:3px;min-width:0;display:grid}.command-section button strong,.command-section button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.command-section button small{color:var(--muted)}.command-footer{border-top:1px solid var(--border);min-height:42px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:7px 16px;font-size:11px;display:flex}.command-footer span{align-items:center;gap:4px;display:flex}@media (width<=600px){.command-empty nav{grid-template-columns:1fr}.command-footer span:last-child{display:none}}.teacher-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.teacher-metric-grid>div{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-content:space-between;gap:10px;min-height:104px;padding:17px 18px;display:grid}.teacher-metric-grid span{color:var(--muted);font-size:13px}.teacher-metric-grid strong{font-size:26px}.teacher-today{margin-top:34px}.teacher-today>a{border-bottom:1px solid var(--border);min-height:58px;color:var(--text);grid-template-columns:auto 70px 1fr;align-items:center;gap:12px;padding:0 16px;display:grid}.teacher-today>a svg{color:var(--blue)}.teacher-workspace-panel>.teacher-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}.teacher-work-list{gap:8px;display:grid}.teacher-work-list>a{border:1px solid var(--border);min-height:68px;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.teacher-work-list>a:hover{border-color:var(--blue)}.teacher-work-list>a>span:first-child{gap:4px;display:grid}.teacher-work-list small,.teacher-work-list>a>span:last-child{color:var(--muted)}.teacher-workload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-workload-grid>div{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;min-height:112px;padding:18px;display:grid}.teacher-workload-grid svg{color:var(--blue);grid-row:1/3}.teacher-workload-grid span{color:var(--muted)}.teacher-workload-grid strong{font-size:24px}.teacher-activity-list{display:grid}.teacher-activity-list article{border-bottom:1px solid var(--border);grid-template-columns:78px minmax(0,1fr) 54px;align-items:center;gap:10px;min-height:70px;padding:10px 2px;display:grid}.teacher-activity-list article>svg{color:var(--blue)}.teacher-activity-list article>span:nth-child(2){gap:3px;min-width:0;line-height:1.3;display:grid}.teacher-activity-list article>span:nth-child(2) strong,.teacher-activity-list article>span:nth-child(2) b,.teacher-activity-list article>span:nth-child(2) small{min-width:0;display:block}.teacher-activity-list article b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.teacher-activity-list small,.teacher-activity-list time{color:var(--muted);font-size:12px}.teacher-activity-list article>time{text-align:right}.teacher-workspace{width:min(1200px,100%)}.teacher-overview-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;margin-top:32px;display:grid}.teacher-overview-columns .teacher-workspace-panel{min-width:0;height:100%;margin-top:0}.teacher-overview-secondary{margin-top:24px}.teacher-workspace-panel{border:1px solid var(--border);background:var(--surface);border-radius:16px;align-content:start;padding:22px 24px}.teacher-workspace-panel>h2{margin-bottom:2px;font-size:22px}.teacher-group-cards{gap:8px;display:grid}.teacher-group-cards>a{border:1px solid var(--border);min-height:112px;color:var(--text);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 16px;padding:14px 15px;display:grid}.teacher-group-cards>a:hover{border-color:var(--blue)}.teacher-group-card-title{gap:3px;display:grid}.teacher-group-card-stats{flex-wrap:wrap;grid-column:1/-1;gap:5px 14px;display:flex}.teacher-group-cards small{color:var(--muted);font-size:12px}.teacher-group-cards>a>b{color:var(--blue);grid-area:1/2;font-size:12px}.teacher-attention-list{gap:8px;display:grid}.teacher-attention-list>div{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:11px;min-height:72px;padding:12px 14px;display:flex}.teacher-attention-list .success svg{color:var(--color-success);flex:none}.teacher-attention-list .warning svg{color:var(--color-warning);flex:none}.teacher-attention-list span{gap:3px;display:grid}.teacher-attention-list small{color:var(--muted)}.teacher-material-filters{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.teacher-material-filters button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--muted);cursor:pointer;border-radius:7px;padding:0 13px}.teacher-material-filters button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark);font-weight:700}.teacher-material-list{display:grid}.teacher-material-list>a{border-bottom:1px solid var(--border);min-height:66px;color:var(--text);grid-template-columns:58px minmax(0,1fr) 100px 120px;align-items:center;gap:12px;padding:10px 8px;display:grid}.teacher-material-list>a:hover{background:var(--surface-subtle)}.teacher-material-list>a>span:nth-child(2){gap:3px;min-width:0;display:grid}.teacher-material-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-material-list small,.teacher-material-list time,.teacher-material-list>a>span:last-child{color:var(--muted);font-size:12px}.teacher-material-type{background:var(--blue-soft);color:var(--blue-dark);border-radius:6px;justify-self:start;padding:5px 8px;font-size:11px;font-weight:800}.teacher-material-type.test{color:#6941c6;background:#f1eafe}.teacher-material-list.compact>a{grid-template-columns:58px minmax(0,1fr) 128px;min-height:70px;padding:10px 2px}.teacher-material-list.compact>a>span:nth-child(2){overflow:hidden}.teacher-material-list.compact strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.teacher-list-meta{text-align:right;justify-items:end;gap:3px;display:grid}.teacher-empty-state{border:1px solid var(--border);background:var(--surface);min-height:72px;color:var(--muted);border-radius:8px;padding:18px 14px}.teacher-activity-groups{gap:16px;display:grid}.teacher-activity-groups h3{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:700}.teacher-activity-badge{background:var(--surface-subtle);color:var(--muted);border-radius:5px;justify-self:start;padding:4px 7px;font-size:10px;font-weight:700}.teacher-admin-table-wrap{overflow-x:auto}.teacher-admin-table{border-collapse:collapse;text-align:left;width:100%}.teacher-admin-table th{border-bottom:1px solid var(--border);color:var(--muted);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600}.teacher-admin-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:14px 12px}.teacher-admin-table td:nth-child(2){color:var(--muted)}.teacher-admin-table a{color:var(--blue);font-weight:700}.school-catalog-page{width:min(1120px,100%);margin:0 auto}.school-catalog-page>header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.school-catalog-page>header h1{margin:5px 0}.school-catalog-page>header p:last-child{color:var(--muted);margin:0}.school-catalog-search{border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--muted);border-radius:8px;align-items:center;gap:9px;padding:0 13px;display:flex}.school-catalog-search input{background:0 0;border:0;outline:0;width:100%}.school-catalog-page>.school-catalog-search{margin-bottom:20px}.school-archive-tabs{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:5px;margin-bottom:12px;padding:4px;display:inline-flex}.school-archive-tabs button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}.school-archive-tabs button.active{background:var(--blue-soft);color:var(--blue-dark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 24%, transparent)}.school-archive-tabs b{background:var(--surface-subtle);min-width:21px;height:21px;color:var(--text);border-radius:999px;place-items:center;padding:0 6px;font-size:12px;display:inline-grid}.school-empty-state{border:1px dashed var(--border);background:var(--surface);min-height:180px;color:var(--muted);text-align:center;border-radius:10px;place-items:center;gap:8px;padding:28px;display:grid}.school-empty-state svg{color:var(--blue)}.school-empty-state strong{color:var(--text);font-size:18px}.school-empty-state span{max-width:420px}.school-people-tools{grid-template-columns:minmax(260px,1fr) auto;gap:14px;margin-bottom:20px;display:grid}.school-people-tools nav{border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:6px;padding:4px;display:flex}.school-people-tools nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px}.school-people-tools nav button.active{background:var(--blue-soft);color:var(--blue-dark)}.school-people-catalog{gap:8px;display:grid}.school-people-catalog>a{border:1px solid var(--border);background:var(--surface);min-height:76px;color:var(--text);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 17px;display:grid}.school-people-catalog>a:hover{border-color:var(--blue)}.school-people-selection-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:9px;align-items:center;gap:14px;min-height:52px;margin-bottom:12px;padding:7px 10px 7px 14px;display:flex}.school-people-selection-toolbar label{color:var(--muted);cursor:pointer;align-items:center;gap:9px;display:inline-flex}.school-people-selection-toolbar strong{margin-left:auto}.school-people-selection-toolbar input,.school-person-checkbox input{width:18px;height:18px;accent-color:var(--blue)}.school-people-catalog.selectable>article{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;transition:border-color .15s,background .15s;display:grid}.school-people-catalog.selectable>article:hover,.school-people-catalog.selectable>article.selected{border-color:var(--blue)}.school-people-catalog.selectable>article.selected{background:color-mix(in srgb, var(--blue-soft) 35%, var(--surface))}.school-person-checkbox{cursor:pointer;align-self:stretch;place-items:center;width:48px;display:grid}.school-person-checkbox:has(input:disabled){cursor:not-allowed;opacity:.45}.school-people-catalog.selectable article>a{min-height:74px;color:var(--text);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 17px 11px 0;display:grid}.school-people-catalog.selectable article>a>svg:first-child{color:var(--blue)}.school-people-catalog.selectable article>a>span{gap:4px;display:grid}.people-confirm-list{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;gap:7px;max-height:180px;margin:-8px 0 20px;padding:10px;display:grid;overflow:auto}.people-confirm-list span{align-items:center;gap:8px;display:flex}@media (width<=650px){.school-people-selection-toolbar{flex-direction:column;align-items:stretch}.school-people-selection-toolbar strong{margin-left:0}.school-people-catalog.selectable article>a{grid-template-columns:auto minmax(0,1fr) auto}.school-people-catalog.selectable article>a>span:nth-of-type(2){display:none}}.school-people-catalog>a>svg:first-child{color:var(--blue)}.school-people-catalog>a>span{gap:4px;display:grid}.school-people-catalog small{color:var(--muted)}.school-invite-page{gap:20px;width:min(1180px,100%);margin:0 auto;display:grid}.school-invite-page>header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.school-invite-page>header h1{margin:5px 0}.school-invite-page>header p:last-child{color:var(--muted);margin:0}.school-invite-toolbar{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:14px;display:grid}.school-invite-toolbar nav{border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:6px;padding:4px;display:flex}.school-invite-toolbar nav button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.school-invite-toolbar nav button.active{background:var(--blue-soft);color:var(--blue-dark)}.school-invite-toolbar nav b{background:var(--surface-subtle);border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:11px;display:inline-grid}.school-invite-table{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.school-invite-head,.school-invite-row{grid-template-columns:150px 120px minmax(160px,1fr) 140px 130px minmax(230px,auto);align-items:center;gap:12px;padding:13px 16px;display:grid}.school-invite-head{background:var(--surface-subtle);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:700}.school-invite-row{border-top:1px solid var(--border);min-height:64px}.school-invite-row strong{letter-spacing:.04em}.invite-status{border-radius:999px;width:max-content;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex}.invite-status-active{color:#247542;background:#e5f5eb}.invite-status-used{color:#596579;background:#edf1f6}.invite-status-expired{color:#a32020;background:#fde7e7}.school-invite-actions{justify-content:flex-end;gap:8px;display:flex}.school-invite-actions .secondary-button{min-height:34px}.school-invite-actions .danger-text{color:#bd2727}.invite-create-modal{max-width:460px}.school-today-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.school-today-grid>div{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:auto 1fr;align-content:center;gap:4px 10px;min-height:110px;padding:16px;display:grid}.school-today-grid svg{color:var(--blue);grid-row:1/3}.school-today-grid strong{font-size:24px}.school-today-grid span{color:var(--muted);font-size:12px}.school-event-icon{color:var(--color-success)}.school-journal-link{color:var(--blue-dark);align-items:center;gap:6px;margin-top:12px;font-weight:600;display:inline-flex}.school-activity-page{width:min(1050px,100%);margin:0 auto}.school-activity-page>header{margin:28px 0 24px}.school-activity-page>header h1{margin:6px 0}.school-activity-page>header p:last-child{color:var(--muted)}.activity-log-tools{grid-template-columns:minmax(280px,1fr) 180px;gap:10px;display:grid}.activity-log-tools select{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:0 12px}.activity-category-tabs{gap:7px;margin:14px 0 22px;display:flex;overflow-x:auto}.activity-category-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:20px;flex:none;padding:8px 12px}.activity-category-tabs button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}.activity-log-list{display:grid}.activity-log-list>a{border-bottom:1px solid var(--border);min-height:68px;color:var(--text);grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.activity-log-list>a:hover{background:var(--surface-subtle)}.activity-log-list time,.activity-log-list small{color:var(--muted);font-size:12px}.activity-log-list span{gap:4px;display:grid}@media (width<=850px){.school-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.activity-log-tools{grid-template-columns:1fr}.activity-log-list>a{grid-template-columns:1fr auto}.activity-log-list time{grid-column:1/-1}}.school-attention-page{width:min(1050px,100%);margin:0 auto}.school-attention-page-header{margin:28px 0 26px}.school-attention-page-header h1{margin:5px 0 7px}.school-attention-page-header p:last-child{color:var(--muted);margin:0}.school-action-list{gap:10px;display:grid}.school-action-list article{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-height:88px;padding:15px 18px;display:grid}.school-action-list .school-action-card{border:1px solid var(--border);background:var(--surface);min-height:88px;color:var(--text);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px 18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.school-action-list .school-action-card:hover,.school-action-list .school-action-card:focus-visible{border-color:color-mix(in srgb, var(--blue) 45%, var(--border));transform:translateY(-1px);box-shadow:0 8px 24px #0f172a12}.school-action-card>svg,.school-action-card-arrow{color:var(--blue)}.school-action-card>span:not(.school-action-card-arrow){gap:4px;display:grid}.school-action-card small{color:var(--muted)}.school-action-card b{font-size:13px;font-weight:600}.school-action-list article>svg{color:var(--blue)}.school-action-list article>span{gap:4px;display:grid}.school-action-list article small{color:var(--muted)}.school-action-list article b{font-size:13px;font-weight:600}.school-action-list .late-review-label{color:color-mix(in srgb, var(--color-warning) 72%, black)}.lesson-action-modal{width:min(720px,100vw - 32px);max-height:min(820px,100vh - 32px);overflow:auto}@media (width<=650px){.school-action-list article{grid-template-columns:auto 1fr}.school-action-list .school-action-card{grid-template-columns:auto 1fr auto}.school-action-list article>a,.school-action-list article>button{grid-column:1/-1;justify-content:center}}.auth-layout{background:#f7f9fc;place-items:center;min-height:100vh;padding:48px 24px;display:grid}.login-page{width:min(500px,100%);min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;display:block;overflow:visible}.login-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:36px 42px 32px;display:block;box-shadow:0 18px 48px #0f2a4314}.login-logo{object-fit:contain;width:90px;height:94px;margin:0 auto 16px;display:block}.login-content h1{color:#102a43;letter-spacing:-.035em;margin:0 0 8px;font-size:38px;line-height:1.15}.login-content>.login-subtitle{max-width:none;font-size:16px;font-weight:600;line-height:1.5;color:#60758a!important;margin:0 0 16px!important}.login-content>p:not(.login-subtitle):not(.login-configuration-error){color:#526679;max-width:430px;margin:0 auto;font-size:16px;line-height:1.5}.telegram-login{min-height:58px;box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;margin:18px 0 0;display:flex;overflow:visible}.telegram-login iframe{clip-path:inset(0 1px 0 0 round 6px);border-radius:6px;display:block;transform:none;border:0!important}.login-or{color:#8090a0;align-items:center;gap:16px;margin:16px 0;font-size:12px;display:flex}.login-or:before,.login-or:after{content:"";background:#d8e0e8;flex:1;height:1px}.login-help{text-align:left;background:0 0;border:0;border-radius:0;margin:18px 0 0;padding:0;display:block}.login-help strong{color:#243b53;margin-bottom:3px;font-size:15px;display:block}.login-help p{color:#6b7d8e;margin:0;font-size:14px;line-height:1.45}.login-password-form{gap:10px;margin-top:0}.login-password-form label{gap:5px;font-size:14px}.login-password-form input{min-height:42px}.login-password-form .primary-button{min-height:44px;margin-top:2px}.dev-login{text-align:left;background:#fff;border:1px solid #dce4ec;border-radius:10px;margin-top:34px;padding:18px}.dev-login header{margin-bottom:14px}.dev-login-actions{grid-template-columns:repeat(3,1fr)}@media (width<=560px){.auth-layout{background:#f7f9fc;padding:36px 20px;display:grid}.login-page{width:min(440px,100%)}.login-card{border-radius:16px;padding:28px 24px 26px}.login-logo{width:80px;height:84px;margin-bottom:14px}.login-content h1{font-size:32px}.login-content>.login-subtitle{margin-bottom:14px!important}.dev-login-actions{grid-template-columns:1fr}}.legal-page{color:#182b3f;background:#f4f7fb;min-height:100vh;padding:32px 20px}.legal-card{background:#fff;border:1px solid #dce5ee;border-radius:16px;max-width:860px;margin:0 auto;padding:36px 44px;box-shadow:0 12px 35px #182b3f14}.legal-header{justify-content:center;margin-bottom:18px;display:flex}.legal-logo{object-fit:contain;width:118px;height:auto;display:block}.legal-nav{flex-wrap:wrap;gap:16px;margin-bottom:22px;display:flex}.legal-nav a,.legal-card a{color:#1769aa}.legal-nav a{font-weight:600}.legal-updated{color:#64788d;font-size:13px}.legal-card h1{margin:8px 0 28px;font-size:32px}.legal-card h2{margin:26px 0 8px;font-size:20px}.legal-card p,.legal-card li{line-height:1.65}.legal-card table{border-collapse:collapse;width:100%;margin:16px 0}.legal-card th,.legal-card td{text-align:left;border:1px solid #dce5ee;padding:10px}.legal-contact{border-top:1px solid #dce5ee;margin-top:34px;padding-top:18px}.login-legal-links{flex-wrap:wrap;justify-content:center;gap:10px 14px;margin-top:18px;font-size:12px;display:flex}.login-legal-links a{color:#1769aa}@media (width<=600px){.legal-card{padding:24px 20px}.legal-logo{width:94px}.legal-card h1{font-size:27px}}@media (width<=768px){html,body,#root{width:100%;max-width:100%;overflow-x:clip}.dashboard-layout,.dashboard-content,.group-page,.compact-group-page,.overview-page,.submission-page,.review-page{width:100%;min-width:0;max-width:100%}.dashboard-content>*,.group-page>*,.compact-group-page>*,.overview-page>*,.submission-page>*,.review-page>*{min-width:0}.compact-group-page>.group-tabs{overscroll-behavior-inline:contain;scrollbar-width:none;justify-content:flex-start;width:100%;max-width:100%;overflow-x:auto}.compact-group-page>.group-tabs::-webkit-scrollbar{display:none}.compact-group-page>.group-tabs a{white-space:nowrap;padding-inline:12px}.group-intro,.compact-group-intro{margin-bottom:28px}.group-intro h1,.compact-group-intro h1,.overview-header h1,.submission-header h1,.student-homework-header h1{overflow-wrap:anywhere;max-width:100%;margin-bottom:10px;font-size:clamp(31px,9vw,38px);line-height:1.08}.overview-title-row,.student-homework-header{flex-direction:column;align-items:stretch}.overview-title-row{gap:18px;margin-bottom:28px}.overview-title-row h1{margin-bottom:0}.overview-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;padding-top:0;display:grid}.overview-actions>a,.overview-actions>button{justify-content:center;width:100%;min-width:0}.overview-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.overview-details div,.overview-details dd{overflow-wrap:anywhere;min-width:0}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-stats div{min-height:104px;padding:15px}.section-heading{flex-direction:column;align-items:flex-start}.overview-student-filters,.filter-tabs{justify-content:flex-start;width:100%}.submission-layout,.student-homework-layout,.review-layout,.school-result-grid{grid-template-columns:minmax(0,1fr)}.review-sidebar{width:100%;position:static}.student-submission-card{grid-template-columns:auto minmax(0,1fr)}.student-submission-card>a,.student-submission-card>button,.student-submission-card>.student-no-action,.student-submission-actions{grid-column:1/-1;justify-content:center;justify-self:stretch}.student-submission-actions{grid-template-columns:minmax(0,1fr);display:grid}.homework-condition,.student-answer-form,.student-grade-panel,.dashboard-section,.ui-card{min-width:0}.homework-condition{padding:18px}.homework-condition p,.submission-post p,.timeline-comment{overflow-wrap:anywhere}.school-history-controls,.school-history-controls.school-group-work-controls,.activity-log-tools,.school-people-tools{grid-template-columns:minmax(0,1fr)}}@media (width<=420px){.dashboard-content{padding-inline:14px}.overview-details{gap:16px 14px}.overview-actions>a,.overview-actions>button{padding-inline:10px;font-size:13px}.school-group-preview dl{grid-template-columns:minmax(0,1fr)}}.schedule-page{gap:20px;display:grid}.schedule-page-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.schedule-page-header h2{margin:3px 0 4px;font-size:30px}.schedule-page-header p{color:var(--muted,#687386);margin:0}.schedule-create-actions{gap:10px;display:flex}.schedule-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.schedule-summary-grid>div{background:#fff;border:1px solid #e2e7ef;border-radius:14px;gap:7px;padding:17px 18px;display:grid}.schedule-summary-grid span{color:#737f91;font-size:13px}.schedule-summary-grid strong{font-size:20px}.schedule-warning{background:#fff8df;border:1px solid #f2ce74;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:17px 20px;display:flex}.schedule-warning p{color:#6f6041;margin:4px 0 0}.schedule-filters{overflow-x:auto}.schedule-month{gap:10px;display:grid}.schedule-month>h3{text-transform:capitalize;margin:8px 0 0;font-size:18px}.schedule-table{background:#fff;border:1px solid #dfe5ed;border-radius:14px;overflow:visible}.schedule-table-head,.schedule-table-row{grid-template-columns:110px 145px minmax(150px,1.15fr) minmax(170px,1.3fr) 65px 155px 155px;align-items:center;gap:12px;padding:13px 16px;display:grid}.schedule-table-head{color:#707b8d;text-transform:uppercase;letter-spacing:.03em;background:#f7f9fc;border-bottom:1px solid #e5e9ef;font-size:12px;font-weight:700}.schedule-table-row{border-bottom:1px solid #edf0f4;min-height:66px;position:relative}.schedule-table-row:last-child{border-bottom:0}.schedule-table-row>span{min-width:0}.schedule-table-row>span:first-child{align-items:baseline;gap:7px;display:flex}.schedule-table-row small,.schedule-muted{color:#7b8594}.schedule-missing{color:#a15d00;font-weight:700}.schedule-status{color:#0b5599;background:#e6f3fb;border-radius:999px;width:max-content;padding:6px 9px;font-size:12px;display:inline-flex}.schedule-status-warning{color:#805300;background:#fff0c9}.schedule-status-cancelled{color:#a32020;background:#fde7e7}.schedule-status-completed{color:#247542;background:#e5f5eb}.schedule-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex;position:relative}.compact-button{font-size:13px;padding:7px 10px!important}.schedule-action-menu{z-index:20;background:#fff;border:1px solid #dfe4ec;border-radius:12px;min-width:190px;padding:6px;display:grid;position:absolute;top:42px;right:0;box-shadow:0 14px 35px #18223824}.schedule-action-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:10px;display:flex}.schedule-action-menu button:hover{background:#f2f5f9}.schedule-action-menu .danger-text{color:#bd2727}.schedule-pagination{justify-content:center;align-items:center;gap:16px;display:flex}.schedule-pagination span{color:#606b7b;font-size:14px}@media (width<=900px){.schedule-page-header{flex-direction:column;align-items:stretch}.schedule-create-actions>*{flex:1}.schedule-summary-grid{grid-template-columns:repeat(2,1fr)}.schedule-warning{flex-direction:column;align-items:stretch}.schedule-table-head{display:none}.schedule-table{background:0 0;border:0;gap:10px;display:grid}.schedule-table-row{background:#fff;border-radius:14px;grid-template-columns:1fr 1fr;gap:13px;padding:16px;border:1px solid #dfe5ed!important}.schedule-table-row>span{gap:4px;display:grid!important}.schedule-table-row>span:before{content:attr(data-label);color:#7b8594;text-transform:uppercase;font-size:11px}.schedule-row-actions{grid-column:1/-1;justify-content:flex-end;display:flex!important}.schedule-row-actions:before{display:none}.schedule-action-menu{top:38px}.schedule-pagination{justify-content:space-between}.schedule-pagination span{font-size:12px}}@media (width<=520px){.schedule-summary-grid{grid-template-columns:1fr}.schedule-create-actions{flex-direction:column}.schedule-table-row{grid-template-columns:1fr}.schedule-row-actions{grid-column:auto}.schedule-pagination button{padding:8px}.schedule-pagination button svg{display:none}}.schedule-series-modal{width:min(680px,100%)}.schedule-series-body{gap:16px;padding:2px;display:grid;overflow-y:auto}.schedule-series-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.schedule-weekdays{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.schedule-weekdays legend,.schedule-exclusions>span{width:100%;color:var(--muted);margin-bottom:7px;font-size:13px}.schedule-weekdays button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;min-width:44px;padding:9px 10px}.schedule-weekdays button.active{color:#155994;background:#eaf4ff;border-color:#1f70c1;font-weight:700}.schedule-exclusions{gap:9px;display:grid}.schedule-exclusions>div:first-of-type{gap:9px;display:flex}.schedule-exclusions input{border:1px solid var(--border);background:var(--surface);border-radius:7px;min-height:44px;padding:0 12px}.schedule-exclusion-list{flex-wrap:wrap;gap:7px;display:flex}.schedule-exclusion-list button{cursor:pointer;background:#edf2f7;border:0;border-radius:999px;padding:6px 9px}.schedule-series-preview{border:1px solid var(--border);background:#f8fafc;border-radius:12px;gap:10px;padding:15px;display:grid}.schedule-series-preview h3,.schedule-series-preview p{margin:0}.schedule-preview-list{max-height:230px;display:grid;overflow-y:auto}.schedule-preview-list>div{border-bottom:1px solid #e5eaf0;justify-content:space-between;gap:15px;padding:9px 0;display:flex}.schedule-conflicts-ok{color:#247542;font-weight:700}.schedule-conflicts{color:#8a3b19;background:#fff0e8;border-radius:9px;gap:6px;padding:11px;display:grid}.schedule-conflicts small{margin-top:4px}@media (width<=520px){.schedule-series-grid{grid-template-columns:1fr}.schedule-exclusions>div:first-of-type{flex-direction:column;align-items:stretch}.schedule-preview-list>div{flex-direction:column;align-items:flex-start;gap:3px}}.schedule-series-modal>header{flex:none}.schedule-series-modal>footer{border-top:1px solid var(--border);background:var(--surface);flex:none;padding-top:14px}.schedule-series-step{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:12px;font-weight:700}.schedule-preview-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.schedule-preview-summary>div{border:1px solid var(--border);background:#f8fafc;border-radius:10px;gap:4px;padding:12px;display:grid}.schedule-preview-summary span{color:var(--muted);font-size:12px}.schedule-preview-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-preview-note{color:#6f6041;background:#fff8df;border-radius:9px;margin:0;padding:10px 12px;font-size:13px}.schedule-preview-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-preview-heading span{border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}.schedule-preview-heading .ok{color:#247542;background:#e5f5eb}.schedule-preview-heading .warning{color:#a32020;background:#fde7e7}.schedule-preview-list>div>span{gap:3px;display:grid}.schedule-preview-list small{color:#a32020}.schedule-preview-list .has-conflict{background:#fff1f1;border-radius:8px;margin:0 -8px;padding:9px 8px}.schedule-preview-empty,.schedule-conflict-hint{color:var(--muted);margin:0;font-size:13px}@media (width<=700px){.schedule-preview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-table-head,.schedule-table-row{grid-template-columns:100px 130px minmax(135px,1fr) minmax(145px,1.15fr) 55px 125px 145px 70px}.schedule-clickable-row{cursor:pointer}.schedule-clickable-row:hover,.schedule-clickable-row:focus-visible{background:#f8fbff;outline:none}.attendance-badge{color:#5d6878;background:#eef2f6;border-radius:999px;width:max-content;max-width:100%;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.attendance-required{color:#805300;background:#fff0c9}.attendance-marked{color:#247542;background:#e5f5eb}.lesson-details-modal{overscroll-behavior:contain;width:min(680px,100%);overflow-y:auto}.lesson-attendance-page{gap:20px;display:grid}.lesson-attendance-page-header{border:1px solid var(--border);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.lesson-attendance-page-header h1{margin:0 0 6px}.lesson-attendance-page-header p:last-child{color:var(--muted);margin:0}.lesson-attendance-page-hours{color:var(--muted);background:#f0f5fb;border-radius:999px;flex-shrink:0;padding:7px 10px;font-weight:700}.lesson-attendance-page-state{justify-items:start;gap:14px;display:grid}.lesson-details-date{background:#f6f9fc;border-radius:12px;justify-content:space-between;align-items:baseline;gap:16px;padding:16px;display:flex}.lesson-details-grid{border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr;gap:0;margin:0;display:grid;overflow:hidden}.lesson-details-grid>div{border-bottom:1px solid var(--border);gap:5px;padding:14px;display:grid}.lesson-details-grid>div:nth-child(odd){border-right:1px solid var(--border)}.lesson-details-grid>div:nth-last-child(-n+2){border-bottom:0}.lesson-details-grid dt{color:var(--muted);font-size:12px}.lesson-details-grid dd{margin:0;font-weight:700}.lesson-detail-actions{flex-wrap:wrap;gap:9px;display:flex}.lesson-attendance-panel{gap:16px;display:grid;overflow-y:auto}.attendance-context{background:#f6f9fc;border-radius:10px;gap:4px;padding:13px;display:grid}.attendance-context span,.attendance-context small{color:var(--muted)}.attendance-student-list{border:1px solid var(--border);border-radius:12px;display:grid;overflow:hidden}.attendance-student-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.attendance-student-list>div:last-child{border-bottom:0}.attendance-student-list>div>span{gap:7px;display:flex}.attendance-student-list button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:7px 10px}.attendance-student-list button.present.active{color:#247542;background:#e5f5eb;border-color:#52a16b}.attendance-student-list button.absent.active{color:#a32020;background:#fde7e7;border-color:#d16b6b}.attendance-save{justify-self:end}@media (width<=700px){.lesson-attendance-page-header{flex-direction:column}.lesson-details-grid{grid-template-columns:1fr}.lesson-details-grid>div:nth-child(odd){border-right:0}.lesson-details-grid>div:nth-last-child(2){border-bottom:1px solid var(--border)}.lesson-details-date,.attendance-student-list>div{flex-direction:column;align-items:stretch}.attendance-student-list>div>span>*{flex:1}}.schedule-summary-five{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-attendance-panel{border-top:1px solid var(--border);padding-top:4px}.lesson-attendance-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lesson-attendance-panel h3{margin:0 0 4px;font-size:18px}.lesson-attendance-panel header p,.attendance-hint{color:var(--muted);margin:0;font-size:13px}.attendance-toolbar,.attendance-actions{flex-wrap:wrap;gap:8px;display:flex}.attendance-actions{z-index:1;background:var(--surface);border-top:1px solid var(--border);justify-content:flex-end;margin:0 -2px -2px;padding:12px 2px 2px;position:sticky;bottom:-1px}.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-summary>div{border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:12px}.attendance-summary span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.attendance-summary strong{font-size:22px}.attendance-summary p{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px}.attendance-absent-preview{border:1px solid var(--border);background:#fff;border-radius:10px;gap:6px;padding:12px 14px;display:grid}.attendance-absent-preview span{color:var(--muted);font-size:12px}.attendance-absent-preview strong{font-size:14px}.attendance-search{border:1px solid var(--border);background:var(--surface);width:100%;min-height:42px;font:inherit;border-radius:9px;padding:0 12px}.attendance-segment{border:1px solid var(--border);border-radius:9px;display:inline-flex;overflow:hidden}.attendance-student-list .attendance-segment button{border:0;border-radius:0}.attendance-student-list .attendance-segment button+button{border-left:1px solid var(--border)}.attendance-readonly-list b{flex-shrink:0}@media (width<=1100px){.schedule-summary-five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.schedule-summary-five{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-month-navigation{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:14px;padding:10px 14px;display:flex}.schedule-month-navigation strong{text-align:center;text-transform:capitalize;min-width:170px}.schedule-summary-grid small{color:var(--muted);font-size:12px;font-weight:600}.personal-schedule-page{gap:18px;display:grid}.schedule-back-link{justify-self:start}.personal-schedule-header p{color:var(--text-muted);margin:4px 0 0}.schedule-view-switch{border:1px solid var(--border-color);background:#f6f8fb;border-radius:10px;gap:3px;padding:3px;display:inline-flex}.schedule-view-switch span{color:var(--text-muted);border-radius:7px;padding:7px 10px;font-size:13px;font-weight:700}.schedule-view-switch .active{color:var(--text);background:#fff;box-shadow:0 1px 5px #14203714}.personal-timetable{--timetable-lane-height:118px;--timetable-event-gap:8px;border:1px solid var(--border-color);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px #1420370f}.personal-timetable-grid{grid-template-columns:96px repeat(14,minmax(58px,1fr));display:grid}.personal-timetable-corner,.personal-timetable-slot{background:#f8fafc;border-bottom:1px solid #e7edf5;min-height:48px}.personal-timetable-corner{border-right:1px solid #e7edf5}.personal-timetable-slot{color:#667085;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:flex}.personal-timetable-row{display:contents}.personal-timetable-day{min-height:calc(var(--lane-count,1) * var(--timetable-lane-height));background:#fbfcfe;border-bottom:1px solid #eef2f7;border-right:1px solid #e7edf5;align-content:center;gap:2px;padding:12px 10px;display:grid}.personal-timetable-day strong{text-transform:capitalize}.personal-timetable-day span{color:var(--text-muted);font-size:12px}.personal-timetable-day-grid{min-height:calc(var(--lane-count,1) * var(--timetable-lane-height));background:#fff;border-bottom:1px solid #eef2f7;grid-column:2/-1;grid-template-columns:repeat(14,minmax(58px,1fr));display:grid;position:relative}.personal-timetable-line{pointer-events:none;border-right:1px solid #edf2f7}.personal-timetable-event{z-index:1;left:var(--event-left);top:calc(var(--event-lane) * var(--timetable-lane-height) + var(--timetable-event-gap));width:var(--event-width);height:calc(var(--timetable-lane-height) - var(--timetable-event-gap) * 2);min-width:116px;max-width:calc(100% - var(--event-left) - 8px);color:var(--text);text-align:left;cursor:pointer;background:#f3f9ff;border:1px solid #d8e6f3;border-left:4px solid #3578bd;border-radius:10px;align-content:start;gap:3px;padding:9px 10px;display:grid;position:absolute;overflow:hidden;box-shadow:0 6px 16px #1851821a}.personal-timetable-event:hover{background:#eef7ff;border-color:#bcd5eb;transform:translateY(-1px);box-shadow:0 10px 24px #18518229}.personal-timetable-event strong,.personal-timetable-list-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.15;overflow:hidden}.personal-timetable-event-time,.personal-timetable-list-event>span{color:#30689f;font-size:12px;font-weight:800;line-height:1.15}.personal-timetable-event small,.personal-timetable-list-event small{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px;line-height:1.15;overflow:hidden}.personal-timetable-event b,.personal-timetable-list-event b{color:#0b5599;background:#e6f3fb;border-radius:999px;width:max-content;max-width:100%;padding:4px 7px;font-size:11px;line-height:1.1}.personal-timetable-event-completed,.personal-timetable-event-present{background:#f1fbf5;border-left-color:#2d8a50}.personal-timetable-event-completed b,.personal-timetable-list-event-completed b,.personal-timetable-event-present b,.personal-timetable-list-event-present b{color:#247542;background:#e5f5eb}.personal-timetable-event-cancelled,.personal-timetable-event-absent{background:#fff5f5;border-left-color:#b94444}.personal-timetable-event-cancelled b,.personal-timetable-list-event-cancelled b,.personal-timetable-event-absent b,.personal-timetable-list-event-absent b{color:#a32020;background:#fde7e7}.personal-timetable-event-notmarkedyet{background:#fffbeb;border-left-color:#c58a19}.personal-timetable-event-notmarkedyet b,.personal-timetable-list-event-notmarkedyet b{color:#805300;background:#fff0c9}.personal-timetable-list{display:none}.personal-timetable-list-event-completed,.personal-timetable-list-event-present{background:#f7fdf9;border-color:#cfe8d8}.personal-timetable-list-event-cancelled,.personal-timetable-list-event-absent{background:#fff7f7;border-color:#f0cccc}.personal-timetable-list-event-notmarkedyet{background:#fffdf4;border-color:#f2d894}.student-week-navigation{flex-wrap:wrap;align-items:center;gap:.65rem;margin:1rem 0;display:flex}.student-week-navigation strong{text-align:center;min-width:12rem}.student-schedule-days{gap:1rem;display:grid}.student-schedule-days>section{gap:.45rem;display:grid}.student-schedule-days h3{text-transform:capitalize;color:var(--text-muted);margin:.25rem 0;font-size:.9rem}.student-lesson-card{text-align:left;border:1px solid var(--border-color);background:var(--surface);width:100%;color:inherit;cursor:pointer;border-radius:14px;grid-template-columns:8rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.1rem;display:grid}.student-lesson-card:hover{border-color:var(--primary);box-shadow:0 4px 18px #1e508c14}.student-lesson-card>span:nth-child(2){gap:.25rem;display:grid}.student-lesson-card small{color:var(--text-muted)}.student-lesson-time{font-weight:700}.student-attendance-badge{color:#5d6878;background:#eef2f6;border-radius:999px;width:max-content;max-width:100%;padding:6px 9px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.student-attendance-present{color:#247542;background:#e5f5eb}.student-attendance-absent{color:#a32020;background:#fde7e7}.student-attendance-upcoming,.schedule-status-upcoming,.schedule-status-planned{color:#0b5599;background:#e6f3fb}.student-attendance-notmarkedyet,.schedule-status-notmarkedyet,.schedule-status-needsattendance{color:#805300;background:#fff0c9}.student-attendance-cancelled{color:#5d6878;background:#eef2f6}.student-attendance-note{color:var(--text-muted);margin-top:6px;font-weight:400;display:block}.student-schedule-empty{border:1px dashed var(--border-color);text-align:center;border-radius:14px;padding:1.5rem}.student-schedule-empty p{margin:0 0 .8rem}.upcoming-lessons-preview{gap:14px;display:grid}.upcoming-next-label{color:var(--text-muted);margin:0}.upcoming-next-label strong{color:var(--text);text-transform:capitalize}.upcoming-lessons-list{gap:10px;display:grid}.dashboard-lesson-card{border:1px solid var(--border-color);width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border-left:4px solid #3578bd;border-radius:8px;grid-template-columns:minmax(10rem,.8fr) 8rem minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.dashboard-lesson-card:hover,.dashboard-lesson-card:focus-visible{border-color:#bcd5eb;outline:none;transform:translateY(-1px);box-shadow:0 6px 20px #1851821a}.dashboard-lesson-date{color:var(--text-muted);text-transform:capitalize;font-size:14px;font-weight:700}.dashboard-lesson-main{gap:3px;min-width:0;display:grid}.dashboard-lesson-card strong,.dashboard-lesson-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-lesson-card small{color:var(--text-muted)}.dashboard-lesson-card-present,.dashboard-lesson-card-completed{background:#f7fdf9;border-left-color:#2d8a50}.dashboard-lesson-card-absent{background:#fff7f7;border-left-color:#b94444}.dashboard-lesson-card-upcoming,.dashboard-lesson-card-planned{background:#f7fbff;border-left-color:#3578bd}.dashboard-lesson-card-notmarkedyet{background:#fffdf4;border-left-color:#c58a19}.dashboard-lesson-card-needsattendance{background:#fff8df;border-color:#edc866 #edc866 #edc866 #c77700;box-shadow:inset 0 0 0 1px #c7770014}.dashboard-lesson-card-cancelled{color:#5d6878;background:#f8fafc;border-left-color:#8a95a3}@media (width<=800px){.schedule-view-switch{display:none}.personal-schedule-page{padding-top:10px}.personal-timetable{box-shadow:none;background:0 0;border:0;overflow:visible}.personal-timetable-grid{display:none}.personal-timetable-list{gap:12px;display:grid}.personal-timetable-list section{gap:8px;display:grid}.personal-timetable-list h2{color:var(--text-muted);margin:0;font-size:14px}.personal-timetable-empty{border:1px dashed var(--border-color);color:var(--text-muted);text-align:center;border-radius:8px;margin:0;padding:14px}.personal-timetable-list-event{width:100%;color:inherit;text-align:left;background:#f7fbff;border:1px solid #d8e6f3;border-left:4px solid #3578bd;border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;padding:12px 13px;display:grid}.personal-timetable-list-event>small,.personal-timetable-list-event>b{grid-column:2}.personal-timetable-list-event>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);overflow:hidden}}@media (width<=700px){.student-lesson-card,.dashboard-lesson-card{grid-template-columns:1fr}.student-lesson-card .schedule-status,.student-lesson-card .student-attendance-badge,.dashboard-lesson-card .schedule-status{justify-self:start}.student-week-navigation strong{text-align:left;order:-1;width:100%}.dashboard-lesson-card strong,.dashboard-lesson-card small{white-space:normal}.dashboard-lesson-date{border-bottom:1px solid #64748b24;padding-bottom:2px}}@media (width<=720px){.dashboard-metric-grid{grid-template-columns:repeat(2,1fr)}.progress-details-grid{grid-template-columns:1fr}.metric-detail:last-child{grid-column:auto}.groups-grid,.dashboard-two-column{grid-template-columns:minmax(0,1fr)}.group-card,.teacher-compact-item,.teacher-activity-item,.teacher-compact-item>span,.student-activity-item>span{min-width:0}.teacher-compact-item strong,.teacher-compact-item small,.student-activity-item strong,.student-activity-item span,.student-activity-item small{overflow-wrap:anywhere}.student-results-list,.homework-list-tools{grid-template-columns:1fr}.student-compact-homework{flex-direction:column;align-items:flex-start;gap:12px}.student-compact-homework>a{align-self:flex-end}.teacher-dashboard-header{grid-template-columns:1fr;align-items:stretch;gap:18px}.teacher-review-status{grid-template-columns:auto minmax(0,1fr)}.teacher-review-status>span{grid-column:2}.teacher-section-heading{flex-direction:column;align-items:flex-start}.student-dashboard .teacher-workload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-dashboard-panel{padding:16px}.student-dashboard-row{grid-template-columns:1fr;gap:7px}.student-dashboard-row>span:last-child{text-align:left;justify-items:start}.student-activity-row{grid-template-columns:auto minmax(0,1fr)}.materials-toolbar,.materials-filter-row{flex-direction:column;align-items:stretch}.create-material-menu>div{left:0;right:auto}.material-work-card{grid-template-columns:1fr}.material-work-actions{justify-content:flex-start}}@media (width<=768px){.school-secondary-nav{justify-content:flex-start;gap:18px;min-height:46px;padding:0 16px;top:60px}.brand strong,.school-context-badge,.header-user{display:none}.dashboard-header{flex-wrap:nowrap;min-height:60px;padding:0 16px}}@media (width<=760px){.school-home-header{flex-direction:column;align-items:stretch}.school-group-preview,.school-attention-list{grid-template-columns:1fr}.school-quick-actions{flex-direction:column;align-items:stretch}.school-home-section .section-heading{flex-direction:column;align-items:flex-start;gap:12px}.school-all-groups{justify-content:center;width:100%;margin-bottom:0}.school-reports-header{flex-direction:column;align-items:stretch}.report-month-picker{flex-wrap:wrap;align-items:stretch}.report-month-picker strong{flex:1;justify-content:center}.admin-report-sections{gap:12px}.admin-report-toggle{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:15px}.admin-report-toggle strong{font-size:20px}.admin-report-toggle b{grid-column:1}.admin-report-toggle svg{grid-area:1/2/span 2}.admin-report-content{gap:12px;padding:14px}.teacher-reports-page{gap:16px}.teacher-hours-toggle,.teacher-group-reports-toggle{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:15px}.teacher-hours-toggle strong,.teacher-group-reports-toggle strong{font-size:20px}.teacher-hours-toggle b,.teacher-group-reports-toggle b{grid-column:1}.teacher-hours-toggle svg,.teacher-group-reports-toggle svg{grid-area:1/2/span 2}.teacher-hours-content,.teacher-group-reports-content{gap:12px;padding:0 14px 14px}.teacher-hours-actions{flex-direction:column;align-items:stretch;padding-top:14px}.teacher-hours-actions .secondary-button{justify-content:center}.teacher-group-reports-content .teacher-report-grid{padding-top:14px}.teacher-report-grid{grid-template-columns:1fr}.teacher-report-grid button{border-radius:9px;padding:14px}.teacher-report-editor{border-radius:10px;gap:10px;padding:14px}.teacher-report-editor>header{flex-direction:column;align-items:flex-start;gap:10px}.teacher-report-editor h2{font-size:28px}.teacher-report-field-toggle{padding:12px}.teacher-report-field textarea{min-height:156px}.teacher-report-editor footer{flex-direction:column}.teacher-report-editor footer button{justify-content:center;width:100%}.report-table{background:0 0;border:0;gap:10px;display:grid;overflow:visible}.report-table-head{display:none}.teacher-hours-table .report-table-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:1fr;align-items:stretch;gap:9px;padding:15px}.report-table-row+.report-table-row{border-top:1px solid var(--border)}.report-table-row>span{justify-content:space-between;gap:10px;display:flex}.report-table-row>span:before{color:var(--muted);content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.report-table-row button{justify-content:center}.report-issue-list article{grid-template-columns:1fr}.report-issue-list article>svg{display:none}.report-issue-list article>div{grid-template-columns:1fr;display:grid}.report-detail-modal{width:calc(100vw - 24px)}.report-detail-table{border:0;gap:10px;display:grid;overflow:visible}.report-detail-table>div{display:none}.report-detail-table>article{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:1fr;gap:8px;padding:13px}.report-detail-table>article+article{border-top:1px solid var(--border)}.report-detail-table>article span{justify-content:space-between;gap:10px;display:flex}.report-detail-table>article span:before{color:var(--muted);content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:800}.report-export-note{flex-direction:column;align-items:stretch}}@media (width<=820px){.review-layout{grid-template-columns:1fr}}.review-page{max-width:1100px}.review-page .ui-page-header h1{font-size:clamp(28px,3vw,36px)}.review-student-meta{flex-wrap:wrap}.review-header-score{color:var(--blue-dark);align-items:baseline;gap:8px;margin-left:4px;font-weight:800;display:inline-flex}.review-header-score small{color:var(--muted);font-size:12px;font-weight:600}.review-layout>.ui-card{min-width:0;padding:18px 20px}.review-work-block{gap:9px;display:grid}.review-section-divider{background:var(--border);height:1px;margin:18px 0}.ui-card>.review-form-title{margin:0 0 14px;font-size:19px}.review-file{min-height:48px;padding:7px 9px}.review-file .secondary-button{min-height:34px;padding:6px 9px}.review-score-hero{border-bottom:0;grid-template-columns:120px 1fr;align-items:end;max-width:280px}.review-score-hero>span{grid-column:1/-1}.review-score-hero strong{gap:0;display:grid}.review-score-hero strong small{margin-top:-3px;font-size:13px;font-weight:600;display:block}.review-score-hero b{align-self:end;padding-bottom:5px}.review-history-details summary{color:var(--muted);cursor:pointer;margin:-3px 0 14px;font-size:12px}.review-history-details:not([open]) summary{margin-bottom:0}.review-history .ui-card{padding:16px}.review-history .ui-card>h2{margin-bottom:10px}.review-history .ui-timeline-event{padding-bottom:14px}@media (width<=820px){.review-header-score{width:100%;margin-left:0}}@media (width<=900px){.test-result-row{grid-template-columns:minmax(140px,1fr) auto auto}.test-result-row>span:nth-of-type(3),.test-result-download{display:none}}.student-test-upload{width:fit-content}@media (width<=1000px){.teacher-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-workspace-panel>.teacher-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.teacher-overview-columns{grid-template-columns:1fr}}@media (width<=650px){.teacher-metric-grid,.teacher-workspace-panel>.teacher-metric-grid,.teacher-workload-grid{grid-template-columns:1fr}.teacher-workspace-panel{padding:18px}.teacher-material-list>a,.teacher-material-list.compact>a{grid-template-columns:48px minmax(0,1fr)}.teacher-list-meta{text-align:left;grid-column:2;justify-items:start}.teacher-activity-list article{grid-template-columns:70px minmax(0,1fr)}.teacher-activity-list article>time{text-align:left;grid-column:2}}@media (width<=760px){.school-people-tools,.school-invite-toolbar{grid-template-columns:1fr}.school-people-tools nav,.school-invite-toolbar nav{scrollbar-width:none;overflow-x:auto}.school-people-tools nav::-webkit-scrollbar{display:none}.school-invite-toolbar nav::-webkit-scrollbar{display:none}.school-invite-toolbar nav button{white-space:nowrap;flex:none}.school-people-catalog>a{grid-template-columns:auto 1fr auto}.school-people-catalog>a>span:nth-child(3){display:none}.school-catalog-page>header,.school-invite-page>header{flex-direction:column;align-items:flex-start}.school-invite-page>header .primary-button{justify-content:center;width:100%}.school-invite-table{background:0 0;border:0;border-radius:0;gap:12px;display:grid;overflow:visible}.school-invite-head{display:none}.school-invite-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:1fr;gap:11px;min-height:0;padding:16px;display:grid}.school-invite-row>strong,.school-invite-row>span:not(.school-invite-actions){overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.school-invite-row>strong:before,.school-invite-row>span:not(.school-invite-actions):before{content:attr(data-label);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:700}.invite-status{width:max-content}.school-invite-actions{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.school-invite-actions .secondary-button{justify-content:center}}@media (width<=768px){.group-tabs,.filter-tabs,.materials-status-tabs,.materials-author-tabs{overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.group-tabs::-webkit-scrollbar{display:none}.filter-tabs::-webkit-scrollbar{display:none}.materials-status-tabs::-webkit-scrollbar{display:none}.materials-author-tabs::-webkit-scrollbar{display:none}.compact-group-page>.group-tabs{width:100%}.compact-group-page>.group-tabs a,.filter-tabs button,.materials-status-tabs button,.materials-author-tabs button{white-space:nowrap}.materials-filter-row{min-width:0}.materials-status-tabs,.materials-author-tabs{flex-wrap:nowrap;justify-content:flex-start}.material-work-main>strong,.material-work-main>small,.material-work-main>span b,.teacher-compact-item strong,.teacher-compact-item small{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;overflow:visible}.material-work-actions{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));width:100%;display:grid}.material-work-actions .primary-button,.material-work-actions .secondary-button{justify-content:center}.schedule-page{min-width:0}.schedule-month-navigation{max-width:100%}.schedule-month-navigation strong{min-width:0}}@media (width<=900px){.schedule-table-head{display:none}.schedule-table{background:0 0;border:0;gap:10px;display:grid}.schedule-table-row{background:#fff;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px;border:1px solid #dfe5ed!important}.schedule-table-row>span{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid!important}.schedule-table-row>span:first-child{align-items:start}.schedule-table-row>span:before{content:attr(data-label);color:#7b8594;text-transform:uppercase;font-size:11px}.schedule-row-actions{grid-column:1/-1;justify-content:flex-start;display:flex!important}.schedule-row-actions:before{display:none}}@media (width<=560px){.dashboard-content{padding-inline:14px}.dashboard-header{gap:10px;padding-inline:12px}.header-actions{gap:4px;min-width:0}.language-trigger{min-width:60px}.icon-button,.header-search-button{width:38px;height:38px}.compact-group-page{padding-top:0}.compact-group-page>.back-link{margin-bottom:20px}.group-intro h1,.compact-group-intro h1{font-size:clamp(31px,9.5vw,38px);line-height:1.05}.compact-group-intro{margin-bottom:18px}.schedule-page{gap:14px}.schedule-page-header{gap:12px}.schedule-create-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.schedule-create-actions .secondary-button,.schedule-create-actions .primary-button{min-height:44px;padding-inline:10px;font-size:14px}.schedule-table-row{grid-template-columns:minmax(0,1fr)}.schedule-row-actions{grid-column:auto}.schedule-status,.attendance-badge{white-space:normal;width:fit-content;max-width:100%}.schedule-month-navigation{gap:8px;padding-inline:8px}.schedule-month-navigation strong{font-size:14px}.student-week-navigation{grid-template-columns:auto auto minmax(0,1fr);display:grid}.student-week-navigation strong{grid-column:1/-1;min-width:0}.student-week-navigation .compact-button{justify-self:start}}@media (width<=640px){.group-tabs{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:0;gap:8px;max-width:100%;display:flex;overflow:auto hidden}.group-tabs::-webkit-scrollbar{display:none}.group-tabs a,.compact-group-page>.group-tabs a{flex:none;padding:10px 16px}.compact-group-page>.group-tabs{justify-content:flex-start;gap:8px;width:100%;max-width:100%;padding:6px;overflow-x:auto}.group-intro,.compact-group-intro{margin-bottom:22px}.group-intro h1,.compact-group-intro h1{font-size:clamp(32px,10vw,38px);line-height:1.05}.compact-group-meta p{overflow-wrap:anywhere;font-size:16px;line-height:1.4}.filter-tabs,.student-filter-tabs,.materials-status-tabs,.materials-author-tabs{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:10px;max-width:100%;padding-bottom:4px;display:flex;overflow:auto hidden}.filter-tabs::-webkit-scrollbar{display:none}.student-filter-tabs::-webkit-scrollbar{display:none}.materials-status-tabs::-webkit-scrollbar{display:none}.materials-author-tabs::-webkit-scrollbar{display:none}.filter-tabs button,.student-filter-tabs button,.materials-status-tabs button,.materials-author-tabs button{flex:none}.materials-toolbar{flex-direction:column;align-items:stretch;gap:14px}.materials-toolbar h2{font-size:clamp(28px,8vw,34px);line-height:1.1}.create-material-menu{width:100%}.create-material-menu summary.primary-button{justify-content:center;width:100%}.create-material-menu>div{width:100%;left:0;right:0}.materials-filter-row{flex-direction:column;align-items:stretch;gap:10px}.material-work-card{flex-direction:column;align-items:stretch;gap:14px;min-height:0;padding:18px;display:flex}.material-work-card>.teacher-material-type{text-align:left;align-self:flex-start;width:auto;max-width:100%;padding-inline:10px}.material-work-main{gap:8px}.material-work-main>strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:20px;line-height:1.2;overflow:visible}.material-work-main>span{gap:6px;display:grid}.material-work-main>span b{font-size:14px;line-height:1.35}.material-work-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.material-work-actions .primary-button,.material-work-actions .secondary-button{justify-content:center;width:100%;min-height:44px}.material-work-actions:has(>:nth-child(3)){grid-template-columns:minmax(0,1fr)}.student-compact-homework h3{text-overflow:clip;white-space:normal;overflow:visible}}
