:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#1f2933;cursor:pointer;background:#fff;border:1px solid #c8d0da;border-radius:6px;padding:8px 12px}button:hover{background:#f7fafc;border-color:#55708f}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{color:#202124;background:#fff;border:1px solid #c8d0da;border-radius:6px;min-height:36px;padding:7px 9px}textarea{resize:vertical}label{color:#4b5563;gap:5px;min-width:0;font-size:13px;font-weight:600;display:grid}label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{width:100%;min-width:0}.login-shell{background:#f1f5f9;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #d9dee7;border-radius:8px;gap:22px;width:min(100%,390px);padding:26px;display:grid;box-shadow:0 18px 45px #0f172a1f}.login-brand{align-items:center}.login-form{gap:14px;display:grid}.login-form button{color:#fff;background:#245c59;border-color:#245c59;min-height:40px;font-weight:800}.login-form button:hover{background:#1d4d4a;border-color:#1d4d4a}.login-error{color:#8f1d1d;background:#fff1ed;border:1px solid #f0b4a4;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:700;line-height:1.35}.login-loading{color:#4b5563;font-size:14px;font-weight:700}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .16s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #d9dee7;flex-direction:column;gap:24px;min-width:0;padding:22px 16px;display:flex;overflow:hidden}.sidebar-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-copy{min-width:0}.brand-mark{flex:0 0 54px;place-items:center;width:54px;height:54px;display:grid;overflow:visible}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-title{color:#111827;font-weight:800}.brand-subtitle,.muted{color:#6b7280;font-size:13px}.nav-list{flex-direction:column;gap:10px;min-height:0;padding-right:2px;display:flex;overflow:auto}.sidebar-toggle{flex:0 0 32px;place-items:center;width:32px;height:32px;min-height:32px;padding:0;display:grid}.hamburger-icon{gap:3px;width:16px;display:grid}.hamburger-icon span{background:#334155;border-radius:999px;height:2px;display:block}.sidebar-collapsed .sidebar{align-items:center;padding:16px 10px}.sidebar-collapsed .sidebar-head{flex-direction:column;justify-content:flex-start}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-list,.sidebar-collapsed .api-health,.sidebar-collapsed .sidebar-user{display:none}.sidebar-collapsed .brand{justify-content:center}.nav-group{background:#f8fafc;border:1px solid #dfe6ee;border-radius:8px;overflow:hidden}.nav-group.has-active{border-color:#a4d2ca;box-shadow:inset 3px 0 #2f7f7a}.nav-group-toggle{text-align:left;background:#f8fafc;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:38px;padding:9px 10px;display:flex}.nav-group-toggle:hover{background:#eef4f7;border-color:#0000}.nav-group.has-active .nav-group-toggle{background:#eef8f6}.nav-group-title{color:#334155;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.nav-group-meta{color:#64748b;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.nav-chevron{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .14s;transform:rotate(45deg)}.nav-group.closed .nav-chevron{transform:rotate(-45deg)}.nav-group-items{background:#fff;border-top:1px solid #e3e9f0;gap:4px;padding:5px;display:grid}.nav-group.closed .nav-group-items{display:none}.nav-button{text-align:left;background:0 0;border-color:#0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 8px;display:flex}.nav-button:hover{background:#f6f9fb;border-color:#d4dde8}.nav-button.active{color:#174f56;background:#e9f5f3;border-color:#a4d2ca;font-weight:700}.api-health{color:#4b5563;align-items:center;gap:8px;margin-top:auto;font-size:13px;display:flex}.sidebar-user{border-top:1px solid #e5e9f0;gap:4px;padding-top:12px;display:grid}.sidebar-user span{color:#64748b;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.sidebar-user strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.sidebar-user button{width:fit-content;min-height:30px;padding:5px 9px;font-size:12px;font-weight:700}.health-dot{background:#d1d5db;border-radius:50%;width:10px;height:10px}.health-dot.ok{background:#2f9e44}.health-dot.error{background:#c92a2a}.main{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.page-title{color:#111827;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:30px;font-weight:800;overflow:hidden}.course-context{background:#fff;border:1px solid #d9dee7;border-radius:8px;flex:0 auto;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:7px 9px;display:flex}.course-context label{gap:3px;width:clamp(180px,22vw,260px);font-size:12px}.course-context select{min-height:30px;padding:4px 8px;font-size:13px}.course-context-note{max-width:180px;font-size:12px;line-height:1.25}.course-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.course-context .status-badge{padding:3px 7px;font-size:11px}.summary-strip span,.context-strip span{color:#6b7280;text-transform:uppercase;font-size:12px;font-weight:700}.view-stack{gap:16px;display:grid}.toolbar{background:#fff;border:1px solid #d9dee7;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;padding:14px;display:flex}.schedule-toolbar{justify-content:flex-start}.schedule-calendar-toolbar{justify-content:flex-start;align-items:end}.segmented-control{background:#f8fafc;border:1px solid #d9dee7;border-radius:7px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.segmented-control button{background:0 0;border:0;min-height:30px;padding:5px 9px;font-size:12px;font-weight:700}.segmented-control button.active{color:#1d635d;background:#fff;box-shadow:0 1px 4px #0f172a1f}.schedule-picker{min-width:220px}.calendar-navigation{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.calendar-navigation input{min-height:30px;padding:4px 6px;font-size:12px}.calendar-navigation button{min-height:30px;padding:5px 9px;font-size:12px;font-weight:700}.calendar-navigation .calendar-nav-arrow{width:30px;padding:5px 0;font-size:16px;line-height:1}.schedule-block-toggle{color:#475569;background:#f8fafc;border:1px solid #d9dee7;border-radius:7px;align-self:center;min-height:30px;padding:5px 8px;font-size:12px}.parallel-course-picker{flex-wrap:wrap;align-items:center;gap:6px;max-width:min(100%,720px);display:flex}.parallel-course-picker label{color:#334155;background:#f8fafc;border:1px solid #d9dee7;border-radius:7px;align-items:center;gap:5px;min-height:30px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-flex}.schedule-consistency-panel{background:#fff7f5;border:1px solid #f1c8c1;border-radius:8px;gap:8px;padding:9px 10px;display:grid}.schedule-consistency-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.schedule-consistency-header span{color:#9a3412;text-transform:uppercase;font-size:11px;font-weight:800}.schedule-consistency-header strong{color:#7f1d1d;font-size:13px}.schedule-consistency-list{gap:5px;display:grid}.schedule-consistency-item{text-align:left;background:#fff;border:1px solid #f0b4a4;border-radius:6px;grid-template-columns:minmax(180px,.9fr) minmax(240px,1.5fr);align-items:center;gap:8px;width:100%;min-height:30px;padding:5px 7px;display:grid}.schedule-consistency-item:hover{background:#fff1ed;border-color:#d45b3d}.schedule-consistency-item.critical{border-color:#efb8b8}.schedule-consistency-item strong{text-overflow:ellipsis;white-space:nowrap;color:#7f1d1d;min-width:0;font-size:12px;overflow:hidden}.schedule-consistency-item span{color:#374151;min-width:0;font-size:12px;line-height:1.25}.schedule-consistency-list small{color:#7f1d1d;font-size:12px;font-weight:700}.block-phase-strip{background:#fbfcfd;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.block-phase-strip>span{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800}.block-phase-strip>small{color:#64748b;font-size:12px}.block-phase-chips{flex-wrap:wrap;gap:6px;display:flex}.block-phase-chip{color:#2f5f5a;background:#f2faf8;border:1px solid #cfe0dc;border-radius:999px;align-items:center;gap:6px;min-width:0;padding:4px 8px;display:inline-flex}.block-phase-chip strong{font-size:12px}.block-phase-chip small,.block-phase-chip em{color:#517f76;white-space:nowrap;font-size:11px;font-style:normal}.schedule-selected-summary{background:#fff;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.5fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.schedule-selected-summary.empty{background:#f8fafc;grid-template-columns:1fr}.schedule-selected-main{gap:3px;min-width:0;display:grid}.schedule-selected-main span{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800}.schedule-selected-main strong{text-overflow:ellipsis;white-space:nowrap;color:#1f2937;min-width:0;font-size:15px;overflow:hidden}.schedule-selected-main small{color:#475569;font-size:12px;font-weight:700}.schedule-selected-details{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.schedule-selected-details span{color:#334155;background:#f8fafc;border:1px solid #d9dee7;border-radius:999px;align-items:center;gap:5px;min-width:0;max-width:100%;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.schedule-selected-details em{color:#64748b;text-transform:uppercase;flex:none;font-size:10px;font-style:normal}.schedule-selected-status{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.schedule-selected-issues{border-top:1px solid #f1c8c1;grid-column:1/-1;gap:4px;padding-top:8px;display:grid}.schedule-selected-issues strong{color:#9a3412;text-transform:uppercase;font-size:11px}.schedule-selected-issues span{color:#7f1d1d;font-size:12px;line-height:1.25}.schedule-action-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:16px;display:grid}.schedule-action-grid .panel{overflow:hidden}.schedule-action-grid .form-note,.schedule-action-grid .protection-note,.schedule-action-grid .check-result{overflow-wrap:anywhere}.schedule-action-grid .form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.schedule-action-grid .schedule-time-row{grid-template-columns:minmax(132px,1.25fr) minmax(78px,.8fr) minmax(78px,.8fr)}.schedule-action-grid .schedule-resource-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.schedule-action-grid .button-group{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));display:grid}.schedule-action-grid .button-group button,.schedule-action-grid .form-grid>button{white-space:normal;width:100%;min-width:0}.resource-filter-note{color:#475569;background:#f8fafc;border:1px solid #d9dee7;border-radius:6px;gap:3px;padding:6px 8px;font-size:12px;font-weight:700;line-height:1.25;display:grid}.resource-filter-note span{color:#9a3412;font-weight:700}.course-planning-panel{gap:12px;display:grid}.course-planning-controls{grid-template-columns:minmax(130px,.7fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(190px,.9fr) minmax(260px,1fr);align-items:end;gap:10px;display:grid}.course-planning-check{align-self:end;min-height:36px}.course-planning-actions{justify-content:flex-end;align-items:end;gap:8px;display:flex}.course-planning-actions button{white-space:nowrap;min-width:128px}.course-planning-job-status{background:#f8fafc;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.course-planning-job-main{gap:4px;min-width:0;display:grid}.course-planning-job-main span,.course-planning-job-main small{color:#64748b;overflow-wrap:anywhere;font-size:12px;font-weight:700}.course-planning-job-main strong{color:#111827;font-size:14px;line-height:1.25}.course-planning-job-main progress{width:100%;height:6px}.course-planning-job-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.course-planning-job-actions button{min-width:96px}.course-planning-parallel-box{background:#f8fafc;border:1px solid #d9dee7;border-radius:8px;gap:8px;padding:10px;display:grid}.course-planning-cleanup-box{background:snow;border:1px solid #ead4d4;border-radius:8px;gap:8px;padding:10px;display:grid}.course-planning-cleanup-box h2{color:#111827;margin:0;font-size:16px}.course-planning-cleanup-box p{color:#64748b;margin:3px 0 0;font-size:12px}.course-planning-cleanup-actions{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;display:grid}.course-planning-cleanup-actions button{white-space:normal;min-width:0}.danger-button{color:#991b1b;background:#fee2e2;border-color:#fecaca}.danger-button:hover:not(:disabled){background:#fecaca}.course-planning-rounds{width:86px;min-width:0}.course-planning-select-actions{grid-template-columns:repeat(3,minmax(120px,1fr))}.course-planning-course-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:6px;max-height:168px;padding-right:2px;display:grid;overflow:auto}.course-planning-course-option{background:#fff;border:1px solid #dfe6ee;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.course-planning-course-option input{min-height:auto}.course-planning-course-option span{min-width:0}.course-planning-course-option strong,.course-planning-course-option small{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.2;display:block;overflow:visible}.course-planning-course-option .status-badge{justify-self:end;padding:2px 6px;font-size:11px}.course-planning-course-option small{color:#64748b;font-size:12px}.course-planning-report{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);align-items:start;gap:10px;display:grid}.course-planning-result-panel{gap:12px;display:grid}.course-planning-metrics{margin-bottom:0}.course-planning-metrics.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.course-planning-report .issue-preview,.course-planning-missing-list{margin-bottom:0}.course-report-grid{grid-template-columns:1fr;gap:8px;display:grid}.course-report-overview{margin-bottom:10px;padding:0;display:block}.course-report-overview h3,.course-report-courses>h3{color:#111827;margin:0 0 7px;font-size:15px}.course-report-overview ul,.course-report-reason-list{margin:0;padding-left:20px}.course-report-overview li{margin:3px 0}.course-report-overview li span{min-width:70px;display:inline-block}.course-report-overview li strong{color:#111827}.course-report-courses{border-top:1px solid #e5e7eb;padding-top:10px}.course-report-card{background:0 0;border:0;border-bottom:1px solid #e5e7eb;border-radius:0;padding:8px 0 10px;display:block}.course-report-card:last-child{border-bottom:0}.course-report-card h4{color:#111827;margin:0 0 3px;font-size:14px}.course-report-reason-list{margin-top:5px;font-size:12px}.course-report-reason-list li{margin:3px 0;padding-left:2px}.course-report-reason-list li span{margin-right:6px}.course-report-reason-list li strong{color:#334155;white-space:nowrap}.course-report-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.course-report-card h3{color:#111827;margin:0;font-size:15px}.course-report-card p{color:#64748b;margin:3px 0 0;font-size:12px}.course-report-result-line strong{color:#334155}.course-report-reasons-title{color:#475569;text-transform:uppercase;letter-spacing:.03em;font-size:11px}.course-report-run-meta{color:#64748b}.course-report-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.course-report-metrics div{background:#f8fafc;border:1px solid #edf1f6;border-radius:6px;padding:6px}.course-report-metrics span{color:#64748b;font-size:11px;display:block}.course-report-metrics strong{color:#111827;font-size:15px;display:block}.course-report-detail,.course-report-notes{background:0 0;border:0;border-radius:6px;gap:5px;padding:0;font-size:12px;display:grid}.course-report-detail>div{justify-content:space-between;gap:8px;display:flex}.course-report-reasons{gap:7px}.course-report-reasons details{background:#fff;border:1px solid #dfe6ee;border-radius:6px}.course-report-reasons summary{color:#334155;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;list-style:none;display:grid}.course-report-reasons summary::-webkit-details-marker{display:none}.course-report-reasons summary span{overflow-wrap:anywhere;min-width:0;font-weight:700}.course-report-reasons summary strong{color:#111827;white-space:nowrap}.course-report-reason-modules{border-top:1px solid #edf1f6;gap:5px;padding:7px 8px;display:grid}.course-report-reason-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.course-report-reason-row span{overflow-wrap:anywhere;min-width:0}.course-report-reason-row small{color:#64748b;margin-top:2px;font-size:11px;line-height:1.25;display:block}.course-report-reason-row strong{color:#334155;white-space:nowrap}.course-report-reason-fallback{color:#334155;line-height:1.35}.course-report-detail>div span:first-child{overflow-wrap:anywhere;min-width:0}.course-report-detail>div span:last-child{color:#334155;flex:none;font-weight:700}.course-planning-global-issues{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;display:grid}.error-text{color:#991b1b}.warning-text{color:#8a5a00}.settings-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:16px;display:grid}.settings-summary{grid-template-columns:repeat(4,minmax(150px,1fr))}.settings-form-row{grid-template-columns:minmax(140px,.7fr) minmax(160px,.8fr) minmax(210px,1fr);align-items:end}.settings-check{min-height:36px}.settings-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.settings-example-grid div{background:#f8fafc;border:1px solid #d9dee7;border-radius:8px;padding:10px}.settings-example-grid span{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.settings-example-grid strong{margin-top:4px;display:block}.settings-note{margin-bottom:10px}.user-management-panel{gap:12px;display:grid}.user-create-grid{background:#f8fafc;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:minmax(150px,.9fr) minmax(170px,1fr) minmax(150px,.7fr) minmax(150px,.8fr) auto auto;align-items:end;gap:10px;padding:10px;display:grid}.user-create-grid button,.user-active-check{min-height:36px}.user-table-wrap{max-height:420px}.user-table{min-width:920px}.user-table th:first-child,.user-table td:first-child,.user-table th:nth-child(3),.user-table td:nth-child(3){width:170px}.user-table th:nth-child(4),.user-table td:nth-child(4){width:120px}.user-table th:nth-child(6),.user-table td:nth-child(6){text-align:right;width:120px}.user-table td{vertical-align:middle}.user-table td>strong,.user-table td>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.user-table td>small{color:#64748b;margin-top:3px;font-size:11px;font-weight:700}.user-table input,.user-table select{width:100%;min-width:0}.table-check{min-height:30px}.calendar-shell{background:#fff;border:1px solid #d9dee7;border-radius:8px;min-width:0;overflow:auto}.calendar-title-row{background:#f8fafc;border-bottom:1px solid #d9dee7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 12px;display:flex}.calendar-title-row h2{margin:0;font-size:16px}.calendar-title-row span{color:#64748b;font-size:12px;font-weight:700}.calendar-time-grid{min-width:760px;display:grid;overflow-x:auto}.parallel-time-grid{min-width:860px;display:grid;overflow-x:auto}.calendar-corner,.calendar-day-head{background:#fff;border-bottom:1px solid #d9dee7}.calendar-day-head{text-align:center;color:#334155;padding:8px;font-size:12px}.calendar-day-head.holiday{color:#6f4a00;background:#fff8e6}.calendar-day-head small{color:#8a5a00;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;font-weight:700;display:block;overflow:hidden}.calendar-time-scale{background:#f8fafc;border-right:1px solid #d9dee7;position:relative}.calendar-time-scale span{color:#64748b;font-size:11px;font-weight:700;position:absolute;right:8px;transform:translateY(-50%)}.calendar-day-column{background-image:repeating-linear-gradient(#fff 0 46px,#eef2f7 47px);border-right:1px solid #e3e8ef;min-width:0;position:relative}.calendar-day-column.holiday{background-image:linear-gradient(#fff8e6b8,#fff8e6b8),repeating-linear-gradient(#fff 0 46px,#eef2f7 47px)}.calendar-day-column:last-child{border-right:0}.calendar-day-column.drag-over{outline-offset:-2px;background-image:linear-gradient(#e8f7f594,#e8f7f594),repeating-linear-gradient(#fff 0 46px,#eef2f7 47px);outline:2px solid #1d635d52}.calendar-day-column.live-drag-target{outline-color:#1d635d6b}.calendar-day-column.holiday.drag-over{background-image:linear-gradient(#e8f7f575,#e8f7f575),linear-gradient(#fff8e6b8,#fff8e6b8),repeating-linear-gradient(#fff 0 46px,#eef2f7 47px)}.calendar-event{z-index:1;color:#173f3b;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;background:#e8f7f5;border:1px solid #9fcac5;border-left:4px solid #1d635d;border-radius:6px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto;gap:2px 5px;max-width:calc(100% - 8px);min-height:34px;padding:4px 6px;display:grid;position:absolute;overflow:hidden;box-shadow:0 1px 4px #0f172a1f}.calendar-event.draggable{cursor:grab}.calendar-event.dragging{z-index:8;cursor:grabbing;opacity:1;transform:scale(1.01);box-shadow:0 10px 24px #0f172a3d,0 0 0 2px #1d635d2e}.calendar-event:hover,.calendar-event.selected{border-color:#1d635d;box-shadow:0 0 0 2px #1d635d29}.calendar-event-time,.calendar-event small{font-size:10px;font-weight:700;line-height:1.1}.calendar-event-time{color:#24635e;grid-column:1}.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;font-size:11px;line-height:1.15;overflow:hidden}.calendar-event small{color:#42645f;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;overflow:hidden}.calendar-event-flags{grid-area:1/2;justify-content:flex-end;gap:3px;min-width:0;max-width:86px;display:inline-flex;overflow:hidden}.calendar-event-flags em{color:inherit;text-overflow:ellipsis;white-space:nowrap;background:#ffffffb8;border-radius:999px;padding:1px 4px;font-size:9px;font-style:normal;font-weight:800;line-height:1.2;overflow:hidden}.calendar-event.status-stattgefunden{color:#14532d;background:#e6f4ea;border-color:#b8dfc2 #b8dfc2 #b8dfc2 #2f8f4e}.calendar-event.status-ausgefallen{color:#7f1d1d;background:#fde7e7;border-color:#efb8b8 #efb8b8 #efb8b8 #c24141}.calendar-event.fixed{color:#6f4a00;background:#fff4d6;border-color:#ebcf83 #ebcf83 #ebcf83 #c08a0c}.calendar-event.protected{color:#475569;background:#eef2f7;border-color:#d3dae5 #d3dae5 #d3dae5 #64748b}.calendar-event.has-warning{color:#7c2d12;background:#fff1ed;border-color:#f0b4a4 #f0b4a4 #f0b4a4 #e05f3f}.calendar-event.has-critical{color:#7f1d1d;background:#fde7e7;border-color:#efb8b8 #efb8b8 #efb8b8 #c24141}.parallel-schedule-shell .calendar-event{pointer-events:none}.parallel-course-column{min-width:180px}.parallel-empty-day{color:#94a3b8;font-size:12px;font-weight:700;position:absolute;top:12px;left:10px}.calendar-free-slot{z-index:0;color:#64748b;text-align:left;background:#f8fafcd1;border:1px dashed #b7c8d8;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;max-width:calc(100% - 8px);min-height:30px;padding:4px 7px;display:grid;position:absolute}.calendar-free-slot:hover{z-index:2;color:#1d635d;background:#eef8f6;border-color:#1d635d;box-shadow:0 0 0 2px #1d635d1f}.calendar-free-slot span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;overflow:hidden}.calendar-free-slot strong{color:#1d635d;background:#fff;border-radius:999px;place-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:inline-grid}.calendar-month-grid{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px;display:grid}.calendar-month-head{color:#475569;text-align:center;background:#f8fafc;border-bottom:1px solid #d9dee7;padding:8px;font-size:12px;font-weight:800}.calendar-month-cell{background:#fff;border-bottom:1px solid #e3e8ef;border-right:1px solid #e3e8ef;min-height:128px;padding:7px}.calendar-month-cell.holiday{background:#fff8e6}.calendar-month-cell.muted-month{color:#94a3b8;background:#f8fafc}.calendar-month-cell.holiday.muted-month{background:#fffaf0}.calendar-month-date{color:#334155;margin-bottom:5px;font-size:12px;font-weight:800}.calendar-month-holiday{color:#6f4a00;text-overflow:ellipsis;white-space:nowrap;background:#ffe9b3;border-radius:5px;margin-bottom:5px;padding:3px 5px;font-size:11px;font-weight:800;overflow:hidden}.calendar-month-events{gap:4px;display:grid}.calendar-month-events .calendar-event{width:100%;max-width:100%;min-height:28px;padding:4px 6px;position:static}.calendar-month-events .calendar-event-flags{max-width:110px}.calendar-more{color:#64748b;font-size:11px;font-weight:700}.calendar-list{display:grid}.calendar-list-row{text-align:left;border:0;border-bottom:1px solid #e3e8ef;border-radius:0;grid-template-columns:120px 95px minmax(180px,1.3fr) minmax(170px,1fr) auto auto auto;align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;display:grid}.calendar-list-row.selected,.calendar-list-row:hover{background:#eef8f6}.calendar-list-row.has-warning{background:#fff7f5}.calendar-list-row.has-critical{background:#fdecec}.calendar-list-row.holiday{color:#6f4a00;background:#fff8e6}.calendar-list-row.holiday:hover{background:#fff8e6}.calendar-list-row span{color:#475569;font-size:12px}.calendar-list-row.holiday span{color:#8a5a00}.calendar-list-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-holiday-pill{background:#ffe9b3;border-radius:999px;justify-self:start;padding:3px 7px;font-weight:800;color:#6f4a00!important;font-size:11px!important}.protection-note{color:#8a5a00;margin-top:5px;font-size:12px;font-weight:700}.copy-toolbar{justify-content:flex-start}.copy-toolbar label{min-width:min(420px,100%)}.course-catalog-select{color:#334155;gap:4px;min-width:min(360px,100%);font-size:12px;font-weight:800;display:grid}.course-catalog-select select{min-height:34px;font-size:13px}.context-strip{grid-template-columns:1.2fr 1fr auto;gap:10px;display:grid}.context-strip div{background:#fff;border:1px solid #d9dee7;border-radius:8px;padding:12px}.context-strip strong{margin-top:4px;display:block}.workspace-header{background:#fff;border:1px solid #d9dee7;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;padding:14px;display:flex}.workspace-overview{background:#fff;border:1px solid #d9dee7;border-radius:8px;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,1fr));align-items:center;gap:0;padding:10px 12px;display:grid}.workspace-overview>div{border-right:1px solid #e5e9f0;gap:2px;min-width:0;padding:0 12px;display:grid}.workspace-overview>div:first-child{padding-left:0}.workspace-overview>div:last-child{border-right:0;padding-right:0}.workspace-overview span,.workspace-status-head span{color:#6b7280;text-transform:uppercase;font-size:11px;font-weight:800}.workspace-overview strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.workspace-overview-title strong{font-size:16px}.workspace-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.workspace-main,.workspace-side{min-width:0}.workspace-status-stack{gap:12px;display:grid}.workspace-status-panel{padding:12px}.workspace-status-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.workspace-status-head h2{margin:2px 0 0;font-size:17px}.workspace-status-reasons{color:#334155;margin:0 0 10px;padding-left:18px;font-size:13px}.workspace-status-reasons li{margin:4px 0}.workspace-issue-summary-grid{gap:10px;display:grid}.workspace-hints-panel{background:#f8fafc;padding:0}.workspace-hints-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;list-style:none;display:flex}.workspace-hints-summary::-webkit-details-marker{display:none}.workspace-hints-summary:after{content:"+";color:#475569;background:#fff;border:1px solid #c8d0da;border-radius:999px;place-items:center;width:20px;height:20px;font-weight:800;display:grid}.workspace-hints-panel[open] .workspace-hints-summary:after{content:"-"}.workspace-hints-summary strong{color:#111827;font-size:13px;display:block}.workspace-hints-summary span{color:#6b7280;margin-top:2px;font-size:12px;display:block}.workspace-hints-summary .status-badge{margin-left:auto}.workspace-hints-content{border-top:1px solid #d9dee7;gap:6px;padding:8px 10px;display:grid}.workspace-hints-section{gap:4px;display:grid}.workspace-hints-section>strong{color:#334155;font-size:12px}.workspace-hints-section.ok>strong{color:#1f7a3b}.workspace-hints-list{color:#475569;gap:3px;margin:0;padding-left:18px;font-size:12px;display:grid}.workspace-hints-section.ok .workspace-hints-list{color:#1f7a3b}.issue-summary{border-radius:8px;gap:8px;padding:10px;font-size:13px;display:grid}.issue-summary.error{color:#8f1d1d;background:#fde7e7}.issue-summary.warning{color:#8a5a00;background:#fff4d6}.issue-summary.info{color:#475569;background:#eef2f7}.issue-summary-head,.issue-area-head,.issue-category-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.issue-summary-head span,.issue-area-head span,.issue-category-head span{white-space:nowrap;font-size:12px;font-weight:800}.issue-area{border-top:1px solid color-mix(in srgb, currentColor 22%, transparent);gap:7px;padding-top:8px;display:grid}.issue-category-list,.issue-detail-list{gap:6px;margin:0;padding-left:18px;display:grid}.issue-category-list>li{gap:4px;display:grid}.issue-category-list p,.issue-detail-note{color:#475569;margin:0;font-size:12px;line-height:1.35}.issue-summary.error .issue-category-list p,.issue-summary.error .issue-detail-note{color:#8f1d1d}.issue-summary.warning .issue-category-list p,.issue-summary.warning .issue-detail-note{color:#8a5a00}.issue-detail-list{color:inherit;font-size:12px}.issue-preview{border-radius:8px;gap:6px;margin-bottom:10px;padding:10px;font-size:13px;display:grid}.issue-preview.error{color:#8f1d1d;background:#fde7e7}.issue-preview.warning{color:#8a5a00;background:#fff4d6}.issue-preview.info{color:#475569;background:#eef2f7}.migration-panel h3{margin:0 0 10px;font-size:15px}.migration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.plain-list{color:#334155;margin:0;padding-left:18px}.plain-list li{margin:7px 0}.panel{background:#fff;border:1px solid #d9dee7;border-radius:8px;min-width:0;padding:14px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-header h2,.issue-block h3{margin:0;font-size:16px}.summary-strip{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;display:grid}.summary-strip.compact{grid-template-columns:repeat(3,minmax(140px,1fr));margin-bottom:14px}.summary-strip div,.detail-band{background:#fff;border:1px solid #d9dee7;border-radius:8px;padding:12px}.summary-strip strong,.detail-band strong{margin-top:4px;display:block}.status-help-box{background:#f8fafc;border:1px solid #d9dee7;border-radius:8px;margin:-4px 0 12px}.workspace-status-help{margin:0}.status-help-box summary{color:#334155;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:800;list-style:none;display:flex}.status-help-box summary::-webkit-details-marker{display:none}.status-help-box summary:after{content:"+";color:#475569;background:#fff;border:1px solid #c8d0da;border-radius:999px;place-items:center;width:20px;height:20px;font-weight:800;display:grid}.status-help-box[open] summary:after{content:"-"}.status-help-box-content{border-top:1px solid #d9dee7;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px;display:grid}.status-help-box-note{color:#475569;grid-column:1/-1;margin:0;font-size:12px;line-height:1.4}.status-help-box-group h3{color:#111827;margin:0 0 7px;font-size:13px}.status-help-box-list{gap:7px;margin:0;display:grid}.status-help-box-list div{grid-template-columns:minmax(120px,auto) minmax(0,1fr);align-items:start;gap:8px;display:grid}.status-help-box-list dt,.status-help-box-list dd{margin:0}.status-help-box-list dd{color:#475569;font-size:12px;line-height:1.35}.detail-band{justify-content:space-between;align-items:center;gap:12px;display:flex}.table-wrap{background:#fff;border:1px solid #d9dee7;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f4;padding:10px 12px;font-size:14px}th{color:#334155;text-transform:uppercase;letter-spacing:0;background:#f0f4f8;font-size:12px;position:sticky;top:0}tr:last-child td{border-bottom:0}.block-management-panel{padding:12px}.block-panel-note{margin-bottom:10px}.block-soll-insights-panel{background:#f8fafc;border-color:#d6dde8;padding:0}.block-soll-insights-panel.ok{background:#f2fbf5;border-color:#b8dfc2}.block-soll-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;list-style:none;display:flex}.block-soll-summary::-webkit-details-marker{display:none}.block-soll-summary:after{content:"+";color:#475569;background:#fff;border:1px solid #c8d0da;border-radius:999px;place-items:center;width:20px;height:20px;font-weight:800;display:grid}.block-soll-insights-panel[open] .block-soll-summary:after{content:"-"}.auto-distribution-panel{background:#f3fbfa;border-color:#bdd7d3;padding:10px 12px}.auto-distribution-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:8px;display:grid}.auto-distribution-summary div{background:#fff;border:1px solid #cfe3df;border-radius:6px;padding:7px 8px}.auto-distribution-summary span{color:#64748b;text-transform:uppercase;letter-spacing:0;font-size:11px;font-weight:800;display:block}.auto-distribution-summary strong{color:#0f4f4a;margin-top:2px;font-size:14px;display:block}.auto-distribution-warning{color:#6f4a00;background:#fff8e7;border:1px solid #ebcf83;border-radius:6px;margin-top:8px;padding:7px 8px;font-size:12px}.auto-distribution-root-list{gap:4px;margin-top:8px;display:grid}.auto-distribution-root{border-top:1px solid #dbe9e6;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr);align-items:start;gap:8px;padding:5px 0;display:grid}.auto-distribution-root:first-child{border-top:0}.auto-distribution-root span{color:#123f3c;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.auto-distribution-root small,.auto-distribution-more{color:#64748b;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.auto-distribution-missing{color:#6f4a00;margin-top:8px;font-size:12px}.auto-distribution-missing summary{cursor:pointer;font-weight:800}.auto-distribution-missing div{gap:4px;margin-top:6px;display:grid}.block-soll-summary strong{color:#111827;font-size:15px;display:block}.block-soll-summary span{color:#6b7280;margin-top:2px;font-size:12px;display:block}.soll-insight-ok{color:#1f7a3b;border-top:1px solid #b8dfc2;padding:9px 12px;font-size:12px;font-weight:700}.soll-insight-content{border-top:1px solid #d9dee7;gap:0;display:grid}.soll-insight-group{gap:6px;min-width:0;padding:10px 12px;display:grid}.soll-insight-group+.soll-insight-group{border-top:1px solid #e5e9f0}.soll-insight-group-head,.soll-insight-category-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.soll-insight-group-head strong,.soll-insight-category-head strong{color:#111827;font-size:13px}.soll-insight-group-head span,.soll-insight-category-head span{color:#6b7280;white-space:nowrap;font-size:12px;font-weight:800}.soll-insight-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.soll-insight-category{border-top:1px solid #edf0f5;gap:4px;padding:8px 0;display:grid}.soll-insight-category:last-child{padding-bottom:0}.soll-insight-category p,.soll-insight-empty{color:#475569;margin:0;font-size:12px;line-height:1.35}.soll-insight-module-list{flex-wrap:wrap;gap:4px 8px;max-height:104px;padding-right:2px;display:flex;overflow:auto}.soll-module-link{color:#1f2933;text-align:left;background:0 0;border:0;align-items:baseline;gap:4px;max-width:min(100%,360px);min-height:0;padding:1px 0;display:inline-flex}.soll-module-link:hover:not(:disabled){color:#0f766e;background:0 0;text-decoration:underline}.soll-module-link span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.soll-module-link small{color:#6b7280;white-space:nowrap;font-size:11px}.block-issues-panel{background:#fffaf0;border-color:#ebcf83;padding:0}.block-issues-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;list-style:none;display:flex}.block-issues-summary::-webkit-details-marker{display:none}.block-issues-summary:after{content:"+";color:#6f4a00;background:#fff;border:1px solid #d8ba64;border-radius:999px;flex:none;place-items:center;width:20px;height:20px;font-weight:800;display:grid}.block-issues-panel[open] .block-issues-summary:after{content:"-"}.block-issues-summary strong{color:#5f3f00;font-size:15px;display:block}.block-issues-summary span{color:#7a5a16;margin-top:2px;font-size:12px;display:block}.issue-explain{color:#6f4a00;background:#fff4d6;border:1px solid #ebcf83;border-radius:6px;margin:0 12px 8px;padding:7px 9px;font-size:12px}.block-issue-category-list{gap:8px;padding:0 12px 12px;display:grid}.block-issue-category{background:#fff;border:1px solid #e2d3a3;border-radius:6px;overflow:hidden}.block-issue-category-head{background:#fff8e7;border-bottom:1px solid #f1e5bf;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.block-issue-category-head strong{color:#5f3f00;font-size:13px;display:block}.block-issue-category-head small{color:#6f4a00;margin-top:2px;font-size:12px;display:block}.block-issue-category-head>span{color:#8a5a00;white-space:nowrap;font-size:12px;font-weight:800}.block-issue-list{gap:0;display:grid}.block-issue-row{background:#fff;border-top:1px solid #f2ead4;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;display:grid}.block-issue-row:first-child{border-top:0}.issue-main{min-width:0;display:grid}.issue-main strong{color:#5f3f00;font-size:13px}.issue-main span,.issue-main small{color:#475569;font-size:12px}.issue-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.issue-meta{white-space:nowrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.issue-meta span{color:#8a5a00;font-size:12px;font-weight:800}.issue-meta button{min-height:24px;padding:4px 7px;font-size:12px}.issue-quick-actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px;display:flex}.issue-quick-actions button{color:#6f4a00;background:#fffaf0;border-color:#ebcf83}.issue-quick-actions button:hover:not(:disabled){background:#fff4d6}.matrix-view-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.matrix-control-group{background:#f8fafc;border:1px solid #d6dde8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;display:flex}.matrix-control-group button{border-radius:6px;min-height:28px;padding:5px 8px;font-size:12px}.matrix-control-group[aria-label=Tabellennavigation]{flex-wrap:nowrap}.matrix-control-group[aria-label=Tabellennavigation] button{place-items:center;width:30px;padding:0;font-weight:800;display:grid}.block-matrix-wrap{background:#fff;border:1px solid #d9dee7;border-radius:8px;max-height:calc(100vh - 330px);overflow:auto}.block-matrix{table-layout:fixed}.block-matrix th,.block-matrix td{white-space:nowrap;vertical-align:middle;height:36px;padding:6px 8px}.block-matrix th{z-index:2}.block-module-cell,.sticky-module-col{z-index:1;background:#fff;width:270px;min-width:270px;max-width:270px;position:sticky;left:0;box-shadow:1px 0 #d9dee7}.first-block-col{border-left:2px solid #b8c2cf}.last-block-col{border-right:2px solid #b8c2cf}.block-matrix th.sticky-module-col{z-index:3;background:#f0f4f8}.module-cell-inner{align-items:center;gap:6px;min-width:0;display:flex}.module-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:185px;display:inline-block;overflow:hidden}.group-toggle,.group-toggle-spacer{flex:0 0 20px;width:20px;height:20px;min-height:20px}.group-toggle{color:#334155;background:#fff;border-color:#b8c2cf;border-radius:5px;place-items:center;padding:0;font-size:13px;font-weight:800;line-height:1;display:grid}.group-toggle:hover{background:#eef8f6;border-color:#7ca99f}.numeric-cell{text-align:center;text-overflow:ellipsis;overflow:hidden}.editable-cell{cursor:cell;background:#fffdf4}.editable-cell:hover{background:#fff7cc}.cell-editor{text-align:center;border-radius:5px;width:70px;height:24px;min-height:24px;padding:2px 5px}.summary-row td{background:#e6ebf1;font-weight:800}.summary-row .sticky-module-col{background:#e6ebf1}.block-group-row td{font-weight:700}.block-group-row.depth-0 td{background:#dfe5eb}.block-group-row.depth-1 td{background:#e8edf2}.block-group-row.depth-2 td,.block-group-row.depth-3 td{background:#f1f4f7}.diff-cell{color:#8a5a00;font-weight:800}.takeover-controls{justify-content:flex-start}.takeover-controls label{min-width:220px}.takeover-warning-panel{background:#fffaf0;border-color:#ebcf83;padding:10px 12px}.takeover-panel{padding:12px}.takeover-matrix-wrap{background:#fff;border:1px solid #d9dee7;border-radius:8px;max-height:calc(100vh - 270px);overflow:auto}.takeover-matrix{table-layout:fixed;min-width:860px}.takeover-matrix th,.takeover-matrix td{white-space:nowrap;vertical-align:middle;height:38px;padding:6px 8px}.takeover-matrix th:nth-child(2),.takeover-matrix th:nth-child(3),.takeover-matrix th:nth-child(4),.takeover-matrix th:nth-child(5),.takeover-matrix td:nth-child(2),.takeover-matrix td:nth-child(3),.takeover-matrix td:nth-child(4),.takeover-matrix td:nth-child(5){text-align:center;width:128px}.takeover-module-col{z-index:1;background:#fff;width:430px;min-width:430px;max-width:430px;position:sticky;left:0;box-shadow:1px 0 #d9dee7}.takeover-matrix th.takeover-module-col{z-index:3;background:#f0f4f8}.takeover-matrix .module-name{max-width:340px}.takeover-final-input{width:86px}.takeover-negative-row td{background:#fff4d6}.teaching-summary{grid-template-columns:repeat(6,minmax(110px,1fr))}.teaching-block-panel,.teaching-plan-panel{padding:12px}.teaching-block-table{min-width:840px}.teaching-block-table th,.teaching-block-table td{white-space:nowrap}.teaching-block-summary-row td{background:#f8fafc;font-weight:700}.teaching-block-phase-row td{color:#475569;background:#fff}.teaching-block-phase-row td:nth-child(2){padding-left:24px}.teaching-matrix-wrap{background:#fff;border:1px solid #d9dee7;border-radius:8px;max-height:calc(100vh - 430px);overflow:auto}.teaching-matrix{table-layout:fixed;min-width:1260px}.teaching-matrix th,.teaching-matrix td{white-space:nowrap;vertical-align:middle;height:38px;padding:6px 8px}.teaching-matrix th:nth-child(2),.teaching-matrix td:nth-child(2){text-align:center;width:90px}.teaching-matrix th:nth-child(3),.teaching-matrix th:nth-child(4),.teaching-matrix th:nth-child(5),.teaching-matrix th:nth-child(6),.teaching-matrix th:nth-child(7),.teaching-matrix th:nth-child(8),.teaching-matrix td:nth-child(3),.teaching-matrix td:nth-child(4),.teaching-matrix td:nth-child(5),.teaching-matrix td:nth-child(6),.teaching-matrix td:nth-child(7),.teaching-matrix td:nth-child(8){text-align:center;width:92px}.teaching-matrix th:nth-child(9),.teaching-matrix td:nth-child(9){width:160px}.teaching-matrix th:nth-child(10),.teaching-matrix td:nth-child(10){text-align:center;width:76px}.teaching-matrix th:nth-child(11),.teaching-matrix td:nth-child(11){width:120px}.teaching-module-col{z-index:1;background:#fff;width:360px;min-width:360px;max-width:360px;position:sticky;left:0;box-shadow:1px 0 #d9dee7}.teaching-matrix th.teaching-module-col{z-index:3;background:#f0f4f8}.teaching-matrix .module-name{max-width:270px}.teaching-risk-row td{background:#fff4d6}.clickable-row{cursor:pointer}.clickable-row:hover,.selected-row td{background:#eef8f6}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.status-green{color:#1f7a3b;background:#e6f4ea;border-color:#b8dfc2}.status-yellow{color:#8a5a00;background:#fff4d6;border-color:#ebcf83}.status-red{color:#a61e1e;background:#fde7e7;border-color:#efb8b8}.status-neutral{color:#475569;background:#eef2f7;border-color:#d6dde8}.alert,.loading,.empty-state{border-radius:8px;padding:12px 14px}.alert-error{color:#8f1d1d;background:#fde7e7;border:1px solid #efb8b8}.alert-success{color:#1f7a3b;background:#e6f4ea;border:1px solid #b8dfc2}.alert-info,.loading,.empty-state{color:#475569;background:#eef2f7;border:1px solid #d6dde8}.two-column{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.resource-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);align-items:start;gap:16px;display:grid}.teacher-detail-layout,.module-detail-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}.resource-filter-toolbar{justify-content:flex-start}.resource-filter-toolbar label{min-width:min(260px,100%)}.availability-edit-form{margin-top:14px}.teaching-times-toolbar{justify-content:space-between}.teaching-times-grid{grid-template-columns:minmax(0,1fr) minmax(330px,420px);align-items:start;gap:16px;display:grid}.teaching-times-main,.teaching-times-side{min-width:0}.teaching-times-side{gap:16px;display:grid}.weekday-selector{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.weekday-button{text-align:left;background:#f8fafc;border-color:#d6dde8;gap:3px;min-height:54px;padding:8px;display:grid}.weekday-button span{text-overflow:ellipsis;min-width:0;font-weight:800;overflow:hidden}.weekday-button small{color:#64748b;font-size:11px;font-weight:700}.weekday-button.active{background:#e6f4ee;border-color:#9fcdbd}.weekday-button.inactive{color:#64748b;background:#f1f4f7}.weekday-button.selected{box-shadow:inset 0 0 0 2px #2f7d6f}.teaching-day-form{grid-template-columns:minmax(300px,.7fr) minmax(300px,1fr);align-items:stretch;gap:10px;margin-bottom:12px;display:grid}.teaching-day-settings,.teaching-day-actions{background:#f8fafc;border:1px solid #d9dee7;border-radius:8px;flex-wrap:wrap;align-items:end;gap:8px;padding:9px;display:flex}.teaching-day-settings label:not(.inline-check){min-width:116px}.teaching-day-settings button,.teaching-day-actions button{min-height:34px}.teaching-day-actions{justify-content:flex-end}.teaching-block-wrap{max-height:calc(100vh - 410px)}.teaching-time-table{min-width:720px}.teaching-time-table th:first-child,.teaching-time-table td:first-child{text-align:center;width:52px}.teaching-time-table th:nth-child(2),.teaching-time-table th:nth-child(3),.teaching-time-table td:nth-child(2),.teaching-time-table td:nth-child(3){text-align:center;width:90px}.teaching-time-table th:nth-child(5),.teaching-time-table td:nth-child(5){width:120px}.teaching-time-table th:nth-child(6),.teaching-time-table td:nth-child(6){text-align:right;width:100px}.time-block-row td{vertical-align:middle}.time-block-unterricht td{background:#f0faf4}.time-block-pause td{background:#fffaf0}.time-block-mittag td{background:#fff3e8}.teaching-block-actions{margin-top:10px}.time-block-form{border-top:1px solid #edf0f4;grid-template-columns:minmax(220px,1fr) minmax(140px,.45fr) minmax(130px,.35fr) auto;align-items:end;margin-top:12px;padding-top:12px}.template-table-wrap{max-height:220px}.template-list-actions{justify-content:flex-end;margin-top:10px}.compact-table{min-width:360px}.compact-table th,.compact-table td{padding:8px 9px;font-size:13px}.template-form{border-top:1px solid #edf0f4;margin-top:12px;padding-top:12px}.template-fields-row{grid-template-columns:minmax(90px,.8fr) minmax(120px,1fr);gap:10px;display:grid}.template-fields-row label,.template-form label{min-width:0}.template-fields-row input,.template-fields-row select,.template-form input{width:100%;min-width:0}.template-form-actions{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.template-form-actions button{white-space:nowrap;min-width:0}.template-form-actions button:first-child{white-space:normal}.copy-day-grid{margin-bottom:12px}.holiday-panel{padding:12px}.holiday-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:16px;display:grid}.holiday-list-section{min-width:0}.holiday-toolbar{grid-template-columns:minmax(110px,.25fr) minmax(130px,.3fr) auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.holiday-table-wrap{max-height:320px}.holiday-table{min-width:560px}.holiday-table th:first-child,.holiday-table td:first-child{white-space:nowrap;width:130px}.holiday-form{position:sticky;top:14px}.altplan-toolbar{align-items:end}.altplan-filter{grid-template-columns:repeat(2,minmax(130px,1fr)) auto;align-items:end;gap:10px;display:grid}.altplan-summary{grid-template-columns:repeat(4,minmax(150px,1fr))}.altplan-management-band{border-top:2px solid #cfd7e3;gap:12px;margin-top:8px;padding-top:18px;display:grid}.altplan-management-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 16px;display:flex}.altplan-management-heading span{color:#517f76;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.altplan-management-heading h2{color:#172033;margin:2px 0 0;font-size:18px}.altplan-management-heading p{color:#64748b;margin:0;font-size:13px;font-weight:600}.altplan-upload-panel,.altplan-import-panel,.altplan-lock-panel,.altplan-course-panel{padding:12px}.altplan-upload-grid{grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) auto;align-items:end;gap:10px;display:grid}.altplan-upload-actions{white-space:nowrap;justify-content:flex-end}.altplan-preview{gap:10px;margin-top:12px;display:grid}.altplan-preview-summary{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;display:grid}.altplan-preview-summary>div{background:#f8fafc;border:1px solid #d9dee7;border-radius:6px;min-width:0;padding:8px 10px}.altplan-preview-summary span{color:#64748b;font-size:12px;display:block}.altplan-preview-summary strong{color:#172033;margin-top:3px;font-size:17px;display:block}.altplan-preview-stale{margin-bottom:0}.altplan-import-summary{background:#fff;border:1px solid #d9dee7;border-radius:6px;gap:10px;padding:10px;display:grid}.altplan-import-summary h3{margin:0 0 4px;font-size:14px}.altplan-import-summary p{color:#475569;margin:0;line-height:1.45}.altplan-import-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px;display:grid}.altplan-import-summary-grid>div{background:#f8fafc;border:1px solid #e3e8ef;border-radius:6px;min-width:0;padding:8px}.altplan-import-summary-grid span,.altplan-import-notes span{color:#64748b;font-size:12px;display:block}.altplan-import-summary-grid strong{color:#172033;margin-top:2px;font-size:16px;display:block}.altplan-import-notes{border-top:1px solid #e3e8ef;gap:7px;padding-top:9px;display:grid}.altplan-import-notes strong{color:#334155;margin-bottom:2px;font-size:12px;display:block}.altplan-note-list{flex-wrap:wrap;gap:5px;display:flex}.altplan-note-list span{color:#475569;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #d9dee7;border-radius:999px;min-width:0;max-width:100%;padding:3px 7px;display:inline-flex}.altplan-mapping-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.altplan-mapping-grid label{min-width:0}.altplan-mapping-grid select{width:100%;min-width:0}.altplan-import-table-wrap{max-height:300px}.altplan-import-table{min-width:1040px}.altplan-import-table th:first-child,.altplan-import-table td:first-child{text-align:center;width:70px}.altplan-import-table th:nth-child(5),.altplan-import-table td:nth-child(5),.altplan-import-table th:nth-child(6),.altplan-import-table td:nth-child(6),.altplan-import-table th:nth-child(8),.altplan-import-table td:nth-child(8){text-align:center;width:110px}.altplan-import-actions{justify-content:flex-end;margin-top:10px}.altplan-grid{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:start;gap:16px;display:grid}.altplan-lock-table-wrap,.altplan-course-table-wrap{max-height:calc(100vh - 360px)}.altplan-lock-options{background:#f8fafc;border:1px solid #d9dee7;border-radius:6px;grid-template-columns:auto auto;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-bottom:8px;padding:6px 8px;display:grid}.altplan-lock-options>span{color:#334155;align-self:center;font-size:11px;font-weight:700}.altplan-lock-filter{grid-template-columns:repeat(2,118px) auto;gap:6px}.altplan-lock-filter label{gap:2px;font-size:11px}.altplan-lock-filter input{min-height:30px;padding:4px 6px;font-size:12px}.altplan-lock-filter button{min-height:30px;padding:4px 8px;font-size:12px}.altplan-lock-table{min-width:940px}.altplan-course-table{min-width:760px}.altplan-lock-table th:first-child,.altplan-lock-table td:first-child{white-space:nowrap;width:120px}.altplan-lock-table th:nth-child(2),.altplan-lock-table td:nth-child(2){white-space:nowrap;width:130px}.altplan-course-table th:nth-child(2),.altplan-course-table td:nth-child(2),.altplan-course-table th:nth-child(3),.altplan-course-table td:nth-child(3),.altplan-course-table th:nth-child(4),.altplan-course-table td:nth-child(4){text-align:center;width:110px}.altplan-course-actions{justify-content:flex-end;margin-top:10px}.modal-backdrop{z-index:80;background:#0f172a57;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #d5dde8;border-radius:8px;width:min(980px,100%);max-height:min(760px,100vh - 48px);padding:18px;overflow:auto;box-shadow:0 24px 70px #0f172a3d}.module-catalog-form{grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:10px;display:grid}.module-catalog-form label{min-width:0}.module-catalog-form input,.module-catalog-form select{width:100%;min-width:0}.module-catalog-select-field{grid-template-columns:none;align-items:center;gap:10px;display:flex}.module-catalog-select-field select{min-width:240px}.module-catalog-meta{justify-self:end;position:relative}.module-catalog-meta summary{color:#334155;cursor:pointer;background:#fff;border:1px solid #c8d0da;border-radius:6px;min-height:34px;padding:7px 10px;font-size:13px;font-weight:700;list-style-position:inside}.module-catalog-meta summary:hover{background:#f7fafc;border-color:#55708f}.module-catalog-meta[open]{grid-column:1/-1;justify-self:stretch}.module-catalog-meta[open] summary{width:max-content;margin-left:auto}.module-catalog-meta-grid{grid-template-columns:minmax(220px,2fr) minmax(90px,.7fr) minmax(110px,.9fr) minmax(180px,1.5fr) auto;align-items:end;gap:10px;margin-top:10px;display:grid}.module-catalog-submit{white-space:nowrap;justify-self:start}.module-catalog-usage{background:#f8fafc;border:1px solid #d9e3ee;border-radius:6px;gap:8px;margin-top:12px;padding:10px;display:grid}.module-catalog-usage-active{background:#f3fbf6;border-color:#b7d9c5}.module-catalog-usage-header{color:#334155;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.module-catalog-usage-header strong{color:#1f2937;text-align:right;min-width:28px}.module-catalog-course-list{flex-wrap:wrap;gap:6px;display:flex}.module-catalog-course-chip{text-overflow:ellipsis;white-space:nowrap;color:#334155;background:#fff;border:1px solid #c9d8e8;border-radius:999px;max-width:100%;padding:4px 8px;font-size:12px;font-weight:700;overflow:hidden}.module-mode-switch{background:#f8fafc;border:1px solid #cfd8e3;border-radius:8px;align-items:center;gap:4px;padding:3px;display:inline-flex}.module-mode-switch button{color:#475569;background:0 0;border:0;border-radius:6px;min-height:32px;padding:6px 10px;font-weight:700}.module-mode-switch button:hover{background:#eef4f7}.module-mode-switch button.active{color:#1f2937;background:#fff;box-shadow:0 1px 4px #0f172a1f}.module-action-toolbar{justify-content:flex-start}.module-create-panel{max-width:960px}.module-import-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.module-import-form input{width:100%}.module-import-name-field,.module-import-education-field,.module-import-file-field{grid-column:span 2}.module-import-file-chip{background:#f8fafc;border:1px solid #d9dee7;border-radius:6px;grid-column:span 2;justify-content:space-between;align-self:end;align-items:center;gap:10px;min-height:36px;padding:5px 6px 5px 10px;display:flex}.module-import-file-chip span{text-overflow:ellipsis;white-space:nowrap;color:#334155;min-width:0;font-size:13px;overflow:hidden}.module-import-file-chip button{min-height:28px;padding:4px 8px;font-size:12px}.module-import-preview{gap:12px;margin-top:14px;display:grid}.module-import-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.module-import-summary div{background:#f8fafc;border:1px solid #d9dee7;border-radius:6px;gap:2px;padding:8px 10px;display:grid}.module-import-summary span{color:#64748b;font-size:12px;font-weight:700}.module-import-summary strong{color:#1f2937;font-size:18px}.module-import-issues{gap:6px;max-height:260px;display:grid;overflow:auto}.module-import-issue,.module-import-ok{border-radius:6px;gap:3px;padding:8px 10px;font-size:13px;display:grid}.module-import-issue-warning{color:#7a4b00;background:#fff8e8;border:1px solid #f1cf85}.module-import-issue-error{color:#8f1d1d;background:#fdecec;border:1px solid #efa7a7}.module-import-issue small{color:inherit;opacity:.76}.module-import-ok{color:#1f6b57;background:#edf8f0;border:1px solid #b7d9c5}.module-create-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.module-dependency-panel{min-width:0}.module-dependency-toolbar{grid-template-columns:minmax(260px,440px) auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.module-dependency-select select{width:100%}.module-dependency-note{color:#475569;background:#f8fafc;border:1px solid #d9e3ee;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;padding:8px 10px;font-size:13px;display:flex}.module-dependency-errors{gap:6px;margin-bottom:12px;display:grid}.module-dependency-errors div{color:#8f1d1d;background:#fdecec;border:1px solid #efa7a7;border-radius:6px;padding:8px 10px;font-size:13px}.module-dependency-wrap{max-height:calc(100vh - 300px)}.module-dependency-table{table-layout:fixed}.module-dependency-table th,.module-dependency-table td{text-align:center;vertical-align:middle;width:136px;min-width:136px;padding:0}.module-dependency-table thead th{z-index:3;color:#334155;white-space:normal;background:#f3f6f9;height:96px;padding:8px;font-size:12px;line-height:1.25;position:sticky;top:0}.module-dependency-table .module-dependency-corner,.module-dependency-table tbody th{z-index:2;text-align:left;color:#334155;white-space:normal;background:#f3f6f9;width:280px;min-width:280px;padding:8px 10px;font-size:12px;line-height:1.25;position:sticky;left:0}.module-dependency-table .module-dependency-corner{z-index:4;text-align:center}.module-dependency-table .dependency-axis-active{background:#dce7ef}.module-dependency-table td{background:#fff;height:42px}.module-dependency-cell{color:#166534;background:#fff;border:0;border-radius:0;width:100%;height:42px;min-height:42px;font-size:17px;font-weight:900}.module-dependency-cell:hover,.module-dependency-cell.hovered{background:#dbeafe}.module-dependency-cell.selected{color:#fff;background:#22c55e}.module-dependency-cell.selected:hover,.module-dependency-cell.selected.hovered{background:#16a34a}.module-dependency-cell.self,.module-dependency-cell.self:hover{color:#64748b;cursor:not-allowed;background:#e5e7eb}.module-sync-dialog{width:min(1120px,100%)}.module-sync-header,.module-sync-actions{justify-content:space-between;align-items:start;gap:12px;display:flex}.module-sync-header h2{margin:0 0 4px;font-size:18px}.module-sync-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:14px 0;display:grid}.module-sync-summary div{background:#f8fafc;border:1px solid #d9dee7;border-radius:6px;gap:2px;padding:8px 10px;display:grid}.module-sync-summary span{color:#64748b;font-size:12px;font-weight:700}.module-sync-summary strong{color:#1f2937;font-size:18px}.module-sync-table-wrap{max-height:420px}.module-sync-table{min-width:880px}.module-sync-table th:first-child{width:260px}.module-sync-table th:nth-child(2),.module-sync-table th:nth-child(3),.module-sync-table th:nth-child(4),.module-sync-table th:nth-child(5){text-align:center;width:95px}.module-sync-table td:nth-child(2),.module-sync-table td:nth-child(3),.module-sync-table td:nth-child(4),.module-sync-table td:nth-child(5){text-align:center}.module-sync-blocked-row td{background:#fff7f7}.module-sync-course-cell{color:#1f2937;grid-template-columns:none;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.module-sync-course-cell input{min-height:0}.module-sync-notes{gap:4px;display:grid}.module-sync-note{border-radius:6px;padding:4px 6px;font-size:12px;display:inline-block}.module-sync-note.error{color:#8f1d1d;background:#fdecec}.module-sync-note.warning{color:#7a4b00;background:#fff8e8}.module-sync-actions{justify-content:flex-end;margin-top:14px}.module-workspace{grid-template-columns:minmax(0, 1fr) 12px minmax(300px, var(--module-inspector-width,390px));align-items:start;gap:8px;display:grid}.module-tree-panel{min-width:0}.module-tree-wrap{max-height:calc(100vh - 250px)}.module-resize-handle{cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:6px;justify-content:center;align-self:stretch;width:12px;min-height:calc(100vh - 250px);padding:0;display:flex;position:sticky;top:14px}.module-resize-handle:before{content:"";background:#d4dbe4;border-radius:999px;width:3px;height:100%;min-height:120px;transition:background .15s,width .15s;display:block}.module-resize-handle:hover:before,.module-resize-handle:focus-visible:before{background:#517f76;width:4px}.resizing-module-workspace{cursor:col-resize;-webkit-user-select:none;user-select:none}.module-inspector{align-self:start;gap:12px;max-height:calc(100vh - 28px);display:grid;position:sticky;top:14px;overflow:auto}.module-inspector-card{padding:12px}.module-inspector-card .panel-header{align-items:start}.module-inspector-card .panel-header .muted{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.module-inspector-actions{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.module-inspector-actions button{min-height:30px;padding:6px 9px;font-size:12px}.module-tree-table{table-layout:fixed;min-width:980px}.module-tree-table th:first-child{width:42%}.module-tree-table th:nth-child(2){width:110px}.module-tree-table th:nth-child(3),.module-tree-table th:nth-child(4){width:105px}.module-tree-table th:nth-child(5){width:28%}.module-tree-table td{vertical-align:middle}.module-tree-row td{height:38px}.module-group-row td{border-bottom-color:#d6dde8;font-weight:700}.module-group-row.depth-0 td{background:#dfe5eb}.module-group-row.depth-1 td{background:#e8edf2}.module-group-row.depth-2 td,.module-group-row.depth-3 td{background:#f1f4f7}.module-leaf-row td{background:#fff}.module-leaf-row.module-not-distributable-row td{color:#64748b;background:#fbfcfe}.module-tree-table .clickable-row:hover td,.module-tree-table .selected-row td{background:#eef8f6}.module-tree-table .selected-row td:first-child{box-shadow:inset 4px 0 #2f7d6f}.tree-name-cell{align-items:center;gap:8px;min-height:24px;display:flex}.tree-toggle,.tree-toggle-placeholder{flex:0 0 24px;width:24px;height:24px}.tree-toggle{border-radius:6px;min-height:24px;padding:0;line-height:1}.module-tree-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.module-group-row .module-tree-name{color:#1f2937}.module-type-badge,.distribution-badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:66px;min-height:24px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.module-property-badges{flex-wrap:wrap;gap:4px;display:inline-flex}.module-type-group{color:#334155;background:#e6ebf1;border-color:#cbd5df}.module-type-module{color:#475569;background:#f7fafc;border-color:#d9dee7}.distribution-yes{color:#1f6b57;background:#e6f4ee;border-color:#9fcdbd}.distribution-no{color:#64748b;background:#f1f4f7;border-color:#d6dde8}.teacher-checkbox-list{background:#fff;border:1px solid #d9dee7;border-radius:8px;gap:4px;max-height:220px;padding:6px;display:grid;overflow:auto}.teacher-checkbox-row{color:#334155;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:30px;padding:4px 6px;font-size:13px;display:grid}.teacher-checkbox-row:hover{background:#f7fafc}.teacher-checkbox-row input{min-height:auto}.teacher-checkbox-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.compact-check-panel{padding:12px}.catalog-validation-criteria{background:#fff;border:1px solid #dbe3ed;border-radius:6px;gap:0;display:grid;overflow:hidden}.catalog-validation-criterion{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:6px 9px;font-size:12px;display:flex}.catalog-validation-criterion:last-child{border-bottom:0}.catalog-validation-criterion span{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.catalog-validation-criterion strong{color:#166534;flex:none;font-size:12px}.catalog-validation-check{background:#dcfce7;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;line-height:1;display:inline-flex}.catalog-validation-criterion.has-issues{background:#fffbeb}.catalog-validation-criterion.has-issues strong{color:#92400e}.catalog-block-validation{background:#f8fafc;border:1px solid #d7e1ec;border-radius:6px;gap:10px;padding:10px;display:grid}.catalog-block-validation.has-errors{background:#fff7f7;border-color:#fecaca}.catalog-block-validation.ok{background:#f3fbf6;border-color:#b7d9c5}.catalog-block-validation-header{color:#334155;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.catalog-block-validation-header strong{color:#111827;font-size:14px}.catalog-block-validation-header span{color:#64748b;font-weight:700}.module-validation-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.module-validation-summary div{background:#fff;border:1px solid #dbe3ed;border-radius:6px;padding:7px 8px}.module-validation-summary span{color:#64748b;text-transform:uppercase;letter-spacing:0;font-size:11px;font-weight:800;display:block}.module-validation-summary strong{color:#1f2937;margin-top:2px;font-size:14px;display:block}.catalog-block-validation-details summary{cursor:pointer;color:#7f1d1d;font-size:12px;font-weight:800}.catalog-block-validation-list{gap:6px;max-height:280px;margin-top:8px;display:grid;overflow:auto}.catalog-block-validation-item{text-align:left;color:#7f1d1d;background:#fff;border-color:#fecaca;border-radius:6px;justify-content:stretch;gap:2px;width:100%;min-height:auto;padding:8px 10px;display:grid}.catalog-block-validation-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:800;overflow:hidden}.catalog-block-validation-item small{color:#7f1d1d;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.catalog-block-validation-ok{color:#166534;font-size:12px;font-weight:700}.catalog-general-issues-panel{background:#fffaf0;border:1px solid #ebcf83;border-radius:6px;padding:0;overflow:hidden}.catalog-general-issues-panel[open] .block-issues-summary:after{content:"-"}.catalog-general-issue-category-list{max-height:300px;overflow:auto}.catalog-general-issue-row .issue-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-general-issue-row .issue-meta>span{text-align:center;min-width:54px}.compact-panel-header{margin-top:2px}.form-grid{gap:12px;display:grid}.form-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.form-note{color:#475569;background:#f7fafc;border:1px solid #d9dee7;border-radius:8px;padding:9px}.inline-check{align-items:center;gap:8px;font-weight:600;display:flex}.inline-check input{min-height:auto}.field-block{gap:8px;display:grid}.field-block>span{color:#4b5563;font-size:13px;font-weight:700}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.absence-controls{justify-content:flex-start}.absence-controls label{min-width:190px}.absence-summary{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.absence-legend{background:#fff;border:1px solid #d9dee7;border-radius:8px;padding:11px 12px}.absence-legend span{color:#475569;text-transform:uppercase;font-size:12px;font-weight:800;display:block}.absence-legend strong{margin-top:4px;display:block}.absence-urlaub{background:#e6f4ea;border-color:#b8dfc2}.absence-krank{background:#fde7e7;border-color:#efb8b8}.absence-fortbildung{background:#e8f0fe;border-color:#b9cdf8}.absence-neutral{background:#eef2f7}.absence-panel{padding:12px}.absence-grid-wrap{background:#fff;border:1px solid #d9dee7;border-radius:8px;overflow:auto}.absence-grid{table-layout:fixed;min-width:1080px}.absence-grid th,.absence-grid td{text-align:center;vertical-align:middle;padding:4px}.absence-grid th:first-child{text-align:left;width:118px}.absence-grid td{width:30px}.absence-day{color:#334155;background:#fff;border:1px solid #d6dde8;border-radius:5px;place-items:center;width:28px;height:28px;min-height:28px;padding:0;font-size:11px;font-weight:800;display:grid}.absence-day-muted{color:#64748b;background:#eef2f7}.absence-day-urlaub{color:#14532d;background:#c9efd4;border-color:#7fc694}.absence-day-krank{color:#8f1d1d;background:#ffd6d6;border-color:#ef9a9a}.absence-day-fortbildung{color:#1d4e89;background:#d6e4ff;border-color:#8fb2f4}.absence-day:disabled{cursor:default}.absence-empty-cell{background:#f8fafc}.button-group{flex-wrap:wrap;gap:8px;display:flex}.check-result{color:#334155;gap:6px;margin-top:12px;display:grid}.check-hard,.check-warning{border-radius:6px;padding:8px}.check-hard{color:#8f1d1d;background:#fde7e7}.check-warning{color:#8a5a00;background:#fff4d6}.issue-block{margin-top:14px}.issue-list{margin:8px 0 0;padding-left:18px}.issue-list li{margin:5px 0}.issue-list.error li{color:#a61e1e}.issue-list.warning li{color:#8a5a00}@media (width<=940px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d9dee7;border-right:0;position:static}.nav-list{grid-template-columns:1fr}.nav-group{align-content:start}.topbar,.detail-band{display:grid}.page-title{white-space:normal}.course-context{flex-wrap:wrap;justify-content:flex-start;width:100%}.course-context label{width:100%}.block-issue-row{grid-template-columns:1fr}.issue-main span{white-space:normal}.issue-meta{flex-wrap:wrap;justify-content:flex-start}.course-badges{justify-content:flex-start}.summary-strip,.summary-strip.compact,.workspace-overview,.workspace-grid,.migration-grid,.absence-summary,.resource-layout,.teaching-times-grid,.holiday-layout,.altplan-grid,.altplan-filter,.altplan-summary,.altplan-upload-grid,.altplan-preview-summary,.altplan-import-summary-grid,.altplan-mapping-grid,.altplan-lock-options,.module-workspace,.course-planning-controls,.course-planning-job-status,.course-planning-report,.course-planning-cleanup-actions,.settings-grid,.settings-summary,.settings-form-row,.user-create-grid,.module-catalog-form,.module-import-form,.module-catalog-meta-grid,.module-dependency-toolbar,.schedule-consistency-item,.schedule-selected-summary,.schedule-action-grid,.context-strip,.two-column,.form-row,.checkbox-grid,.status-help-box-content,.status-help-box-list div,.course-report-reasons summary,.course-report-reason-row{grid-template-columns:1fr}.course-report-reasons summary strong,.course-report-reason-row strong{white-space:normal}.workspace-overview>div{border-bottom:1px solid #e5e9f0;border-right:0;padding:8px 0}.workspace-overview>div:first-child{padding-top:0}.workspace-overview>div:last-child{border-bottom:0;padding-bottom:0}.module-inspector{max-height:none;position:static;overflow:visible}.module-tree-wrap{max-height:none}.module-resize-handle{display:none}.module-import-name-field,.module-import-education-field,.module-import-file-field,.module-import-file-chip{grid-column:auto}.module-catalog-select-field{gap:5px;display:grid}.module-catalog-meta{justify-self:stretch}.module-catalog-meta[open] summary{width:auto;margin-left:0}.weekday-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-toolbar,.teaching-day-form,.template-fields-row,.template-form-actions{grid-template-columns:1fr}.teaching-day-actions{justify-content:flex-start}.holiday-form{position:static}.altplan-import-actions,.altplan-course-actions{justify-content:flex-start}}
