:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:#fff;background:#2563eb;border:0;border-radius:9px;padding:9px 14px;font-weight:650}button:disabled{cursor:not-allowed;opacity:.55}input,select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:9px 11px}label{color:#334155;gap:6px;font-size:13px;font-weight:600;display:grid}.shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#e2e8f0;background:#0f172a;padding:24px}.sidebar h1{margin:0 0 24px;font-size:18px}.nav{gap:8px;display:grid}.nav a{border-radius:10px;padding:10px 12px}.nav a:hover{background:#1e293b}.main{padding:32px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:16px;padding:20px;box-shadow:0 1px 2px #0f172a0d}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.muted{color:#64748b}.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;padding:12px}.error a{margin-left:12px;text-decoration:underline;display:inline-block}.toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stack{gap:16px;display:grid}.empty{color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:10px}th{color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.workspace-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.workspace-header h2{margin:3px 0;font-size:clamp(24px,3vw,36px)}.eyebrow{color:#2563eb;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.context-select{min-width:250px}.workflow-strip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:14px 16px;display:flex}.workflow-strip>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-pill,.term-state{color:#1e40af;text-transform:capitalize;background:#dbeafe;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.grid-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.segmented{background:#e2e8f0;border-radius:10px;padding:3px;display:inline-flex}.segmented button{color:#334155;background:0 0;padding:7px 12px}.segmented button.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a24}.demand-badge{color:#166534;background:#dcfce7;border-radius:999px;margin-left:auto;padding:7px 11px;font-size:12px;font-weight:750}.demand-badge.warning{color:#92400e;background:#fef3c7}.warning-text{color:#92400e;font-weight:700}.weekly-grid-wrap{background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding-bottom:8px;overflow:auto;box-shadow:0 8px 30px #0f172a12}.weekly-grid{min-width:1050px;display:grid;position:relative}.grid-corner,.day-header,.period-label,.grid-cell{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.grid-corner,.day-header{z-index:4;background:#f8fafc;place-items:center;font-weight:800;display:grid;position:sticky;top:0}.grid-corner{z-index:5;left:0}.period-label{z-index:3;background:#f8fafc;flex-direction:column;justify-content:center;gap:4px;padding:11px;display:flex;position:sticky;left:0}.period-label span{color:#64748b;font-size:12px}.grid-cell{background:#fff;padding:7px}.grid-cell:focus,.lesson-card:focus{outline-offset:-3px;outline:3px solid #60a5fa}.grid-cell.non-teaching{color:#64748b;text-transform:capitalize;background:repeating-linear-gradient(135deg,#f1f5f9,#f1f5f9 8px,#e2e8f0 8px 9px);place-items:center;font-size:11px;font-weight:750;display:grid}.lesson-card{z-index:2;color:#0f172a;border:1px solid #0f172a1f;border-left:5px solid;border-radius:9px;flex-direction:column;align-self:stretch;gap:3px;margin:5px;padding:9px 10px;display:flex;overflow:hidden;box-shadow:0 2px 7px #0f172a1f}.lesson-card strong{font-size:13px}.lesson-card span,.lesson-card small{color:#334155;font-size:11px}.lesson-card b{color:#fff;background:#991b1b;border-radius:999px;align-self:start;padding:2px 6px;font-size:10px}.lesson-card.double-lesson{border-style:solid;box-shadow:inset 0 -5px #0f172a1c,0 2px 7px #0f172a1f}.lesson-card.has-conflict{outline-offset:-2px;outline:3px solid #dc2626}.lesson-card.merged-lesson{border-top:3px solid #0f766e}.lesson-card.parallel-lesson{box-shadow:inset 0 4px #2563eb59,0 2px 7px #0f172a1f}.subject-0{background:#dbeafe;border-left-color:#1d4ed8}.subject-1{background:#dcfce7;border-left-color:#15803d}.subject-2{background:#fae8ff;border-left-color:#a21caf}.subject-3{background:#ffedd5;border-left-color:#c2410c}.subject-4{background:#e0e7ff;border-left-color:#4338ca}.subject-5{background:#ccfbf1;border-left-color:#0f766e}.subject-6{background:#fef9c3;border-left-color:#a16207}.subject-7{background:#ffe4e6;border-left-color:#be123c}.context-year{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.term-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.term-card{border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:5px;padding:12px;display:flex}.term-card span{color:#64748b;font-size:12px}.term-state.ended{color:#475569;background:#e2e8f0}.term-state.upcoming{color:#92400e;background:#fef3c7}.class-list,.space-list,.teacher-list{gap:10px;display:grid}.class-list article,.space-list article,.teacher-list article{border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.class-list article>div,.space-list article>div{gap:4px;display:grid}.class-list span,.space-list span{color:#64748b;font-size:12px}.teacher-list article{align-items:start}.teacher-list ul{color:#475569;margin:0;font-size:13px}.sync-state{color:#166534;background:#f0fdf4;border-radius:10px;padding:12px}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{padding:14px 18px}.sidebar h1{margin-bottom:10px}.nav{display:flex;overflow-x:auto}.main{padding:20px 14px}.workspace-header,.workflow-strip{flex-direction:column;align-items:stretch}.context-select{min-width:0}.demand-badge{margin-left:0}.class-list article,.space-list article{flex-direction:column;align-items:stretch}}@media (max-width:760px){.timetable-workspace>:not(.workspace-header){display:none!important}.timetable-workspace:after{content:"Timetable management needs more space. Use a desktop or a tablet in landscape.";color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-top:16px;padding:18px;font-weight:700;display:block}}@media print{.sidebar,.workflow-strip,.grid-toolbar,.context-select{display:none!important}.shell{display:block}.main{padding:0}.weekly-grid-wrap{box-shadow:none;border:0;overflow:visible}.weekly-grid{min-width:0}.lesson-card{break-inside:avoid}}
