@import"https://fonts.googleapis.com/css2?family=Syncopate:wght@400;700&display=swap";.setup-container[data-v-550b819a]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.setup-box[data-v-550b819a]{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:800px;color:#333}.setup-header[data-v-550b819a]{text-align:center;margin-bottom:2rem}.logo-icon[data-v-550b819a]{font-size:3rem;margin-bottom:.5rem}h1[data-v-550b819a]{margin:0 0 .5rem;font-size:2rem;color:#667eea}.subtitle[data-v-550b819a]{color:#666;font-size:1.1rem;margin:0}.stepper[data-v-550b819a]{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;flex-wrap:wrap;gap:.5rem}.step[data-v-550b819a]{display:flex;flex-direction:column;align-items:center;gap:.25rem}.step-number[data-v-550b819a]{width:32px;height:32px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s}.step.active .step-number[data-v-550b819a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.step.completed .step-number[data-v-550b819a]{background:#4caf50;color:#fff}.step-label[data-v-550b819a]{font-size:.75rem;color:#666}.step.active .step-label[data-v-550b819a]{color:#667eea;font-weight:600}.step-line[data-v-550b819a]{width:40px;height:3px;background:#e0e0e0;transition:all .3s}.step-line.completed[data-v-550b819a]{background:#4caf50}.step-content[data-v-550b819a]{text-align:center}.step-content h2[data-v-550b819a]{color:#333;margin-bottom:1rem}.step-content p[data-v-550b819a]{color:#666;margin-bottom:1.5rem}.mode-options[data-v-550b819a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.mode-card[data-v-550b819a]{border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s;text-align:left;position:relative}.mode-card[data-v-550b819a]:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.mode-card.selected[data-v-550b819a]{border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.mode-icon[data-v-550b819a]{font-size:2rem;margin-bottom:.5rem}.mode-card h3[data-v-550b819a]{margin:0 0 .5rem;color:#333}.mode-card p[data-v-550b819a]{margin:0 0 1rem;font-size:.9rem;color:#666}.mode-details[data-v-550b819a]{list-style:none;padding:0;margin:0;font-size:.85rem}.mode-details li[data-v-550b819a]{margin:.25rem 0;color:#4caf50}.mode-details li.muted[data-v-550b819a]{color:#999}.mode-tag[data-v-550b819a]{position:absolute;top:.5rem;right:.5rem;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;background:#e0e0e0;color:#666}.mode-tag.recommended[data-v-550b819a]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mode-tag.coming-soon[data-v-550b819a]{background:#f0f0f0;color:#aaa;font-style:italic}.mode-card.disabled[data-v-550b819a]{opacity:.5;cursor:not-allowed;pointer-events:none}.mode-card.disabled[data-v-550b819a]:hover{border-color:#e0e0e0;box-shadow:none}.form-group[data-v-550b819a]{margin-bottom:1.5rem;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}label[data-v-550b819a]{display:block;margin-bottom:.5rem;font-weight:500;color:#333}input[data-v-550b819a]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s;background:#fff;color:#333}input[data-v-550b819a]:focus{outline:none;border-color:#667eea}.button-row[data-v-550b819a]{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.primary-button[data-v-550b819a]{padding:.875rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-button[data-v-550b819a]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.primary-button[data-v-550b819a]:disabled{opacity:.6;cursor:not-allowed}.secondary-button[data-v-550b819a]{padding:.875rem 2rem;background:transparent;color:#667eea;border:2px solid #667eea;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.secondary-button[data-v-550b819a]:hover:not(:disabled){background:#667eea1a}.info-card[data-v-550b819a]{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.info-card h3[data-v-550b819a]{margin:0 0 1rem;color:#333}.info-card ul[data-v-550b819a]{margin:0;padding-left:1.5rem}.info-card li[data-v-550b819a]{margin:.5rem 0;color:#666}.success-icon[data-v-550b819a]{font-size:4rem;margin-bottom:1rem}.stats-card[data-v-550b819a]{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.stats-card h3[data-v-550b819a]{margin:0 0 1rem;color:#333}.stats-grid[data-v-550b819a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.stat-item[data-v-550b819a]{text-align:center}.stat-value[data-v-550b819a]{display:block;font-size:1.5rem;font-weight:700;color:#667eea}.stat-label[data-v-550b819a]{font-size:.75rem;color:#666}.error-message[data-v-550b819a]{background:#fee;color:#c00;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.error-box[data-v-550b819a]{background:#fee;color:#c00;padding:1.5rem;border-radius:12px;margin-top:1.5rem}.error-box p[data-v-550b819a]{color:#c00}.gfp[data-v-969a4ab4]{background:var(--c-surface);border-bottom:2px solid var(--c-primary);padding:.6rem 2rem .75rem;position:sticky;top:62px;z-index:90;box-shadow:0 3px 8px #00000014}.gfp-inner[data-v-969a4ab4]{max-width:1600px}.gfp-header[data-v-969a4ab4]{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.gfp-title[data-v-969a4ab4]{font-weight:700;font-size:.85rem;color:var(--c-primary)}.gfp-active-hint[data-v-969a4ab4]{font-size:.78rem;color:var(--c-text-muted);flex:1}.gfp-header-actions[data-v-969a4ab4]{display:flex;gap:.4rem;margin-left:auto}.gfp-btn-reset[data-v-969a4ab4]{font-size:.78rem;padding:.2rem .7rem;border:1px solid var(--c-border);border-radius:20px;background:var(--c-surface-alt);color:var(--c-text);cursor:pointer}.gfp-btn-reset[data-v-969a4ab4]:hover{background:var(--c-danger, #dc3545);color:#fff;border-color:transparent}.gfp-btn-close[data-v-969a4ab4]{font-size:.85rem;padding:.2rem .6rem;border:1px solid var(--c-border);border-radius:4px;background:none;color:var(--c-text-muted);cursor:pointer}.gfp-btn-close[data-v-969a4ab4]:hover{background:var(--c-surface-alt)}.gfp-row[data-v-969a4ab4]{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:flex-end}.gf-item[data-v-969a4ab4]{display:flex;flex-direction:column;gap:2px;min-width:130px}.gf-ta-item[data-v-969a4ab4]{min-width:160px}.gf-label[data-v-969a4ab4]{font-size:.72rem;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.03em}.gf-select[data-v-969a4ab4]{font-size:.82rem;padding:.3rem .5rem;border:1px solid var(--c-border);border-radius:5px;background:var(--c-bg);color:var(--c-text);cursor:pointer;height:30px}.gf-select[data-v-969a4ab4]:focus{outline:2px solid var(--c-primary);border-color:transparent}.gf-ta-control[data-v-969a4ab4],.gf-ta-wrapper[data-v-969a4ab4]{position:relative}.gf-input[data-v-969a4ab4]{font-size:.82rem;padding:.3rem .5rem;border:1px solid var(--c-border);border-radius:5px;background:var(--c-bg);color:var(--c-text);width:100%;height:30px;box-sizing:border-box}.gf-input[data-v-969a4ab4]:focus{outline:2px solid var(--c-primary);border-color:transparent}.gf-dropdown[data-v-969a4ab4]{position:absolute;top:calc(100% + 2px);left:0;min-width:220px;max-height:200px;overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:200;padding:.25rem 0;list-style:none;margin:0}.gf-dropdown li[data-v-969a4ab4]{padding:.35rem .75rem;font-size:.82rem;color:var(--c-text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gf-dropdown li[data-v-969a4ab4]:hover{background:var(--c-surface-hover, var(--c-surface-alt))}.gf-no-results[data-v-969a4ab4]{padding:.4rem .75rem;font-size:.8rem;color:var(--c-text-muted)}.gf-chips-row[data-v-969a4ab4]{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:3px}.gf-chip[data-v-969a4ab4]{display:inline-flex;align-items:center;gap:4px;background:var(--c-primary);color:#fff;border-radius:20px;padding:.2rem .5rem .2rem .7rem;font-size:.78rem;font-weight:600;max-width:180px;height:30px}.gf-chip span[data-v-969a4ab4]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-chip-x[data-v-969a4ab4]{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px;opacity:.8;flex-shrink:0}.gf-chip-x[data-v-969a4ab4]:hover{opacity:1}.gf-already-selected[data-v-969a4ab4]{background:var(--c-surface-alt);color:var(--c-text-muted)}.gf-already-selected[data-v-969a4ab4]:before{content:"✓ ";font-weight:700;color:var(--c-primary)}.layout[data-v-3f96f8b0]{min-height:100vh;background-color:#f5f7fa}.navbar[data-v-3f96f8b0]{background:#fff;padding:1rem 2rem;display:flex;align-items:center;gap:2rem;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100}.nav-brand[data-v-3f96f8b0]{display:inline-flex;align-items:center;gap:.45rem}.brand-logo[data-v-3f96f8b0]{width:2.2rem;height:2.2rem;display:block;flex-shrink:0}.brand-wordmark[data-v-3f96f8b0]{font-family:Syncopate,sans-serif;font-size:1.02rem;font-weight:700;color:#0b2158;letter-spacing:.6em;text-indent:.6em;white-space:nowrap}.nav-links[data-v-3f96f8b0]{display:flex;gap:.5rem;flex:1;align-items:center}.nav-links a[data-v-3f96f8b0]{text-decoration:none;color:#666;font-weight:500;padding:.6rem 1.2rem;border-radius:8px;transition:all .2s}.nav-links a[data-v-3f96f8b0]:hover{background-color:#f0f2ff;color:#667eea}.nav-links a.router-link-active[data-v-3f96f8b0]{background-color:#667eea;color:#fff}.nav-dropdown[data-v-3f96f8b0]{position:relative}.dropdown-btn[data-v-3f96f8b0]{background:none;border:none;color:#666;font-weight:500;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;transition:all .2s;font-size:1rem}.dropdown-btn[data-v-3f96f8b0]:hover{background-color:#f0f2ff;color:#667eea}.dropdown-content[data-v-3f96f8b0]{display:none;position:absolute;top:100%;left:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:1000;padding-top:.5rem;margin-top:0}.nav-dropdown:hover .dropdown-content[data-v-3f96f8b0],.dropdown-content[data-v-3f96f8b0]:hover{display:block}.dropdown-content a[data-v-3f96f8b0]{display:block;padding:.75rem 1rem;border-radius:0}.dropdown-content a[data-v-3f96f8b0]:first-child{border-radius:8px 8px 0 0}.dropdown-content a[data-v-3f96f8b0]:last-child{border-radius:0 0 8px 8px}.nav-dropdown.mega .dropdown-content[data-v-3f96f8b0]{min-width:600px;max-width:800px;padding:1.5rem;left:50%;transform:translate(-50%)}.mega-menu[data-v-3f96f8b0]{display:none;grid-template-columns:repeat(3,1fr);gap:1.5rem}.nav-dropdown.mega:hover .mega-menu[data-v-3f96f8b0],.mega-menu[data-v-3f96f8b0]:hover{display:grid!important}.mega-section[data-v-3f96f8b0]{display:flex;flex-direction:column;gap:.25rem}.mega-section h4[data-v-3f96f8b0]{margin:0 0 .75rem;padding:0 1rem .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:#667eea;font-weight:600;border-bottom:2px solid #e6e9ff}.mega-section a[data-v-3f96f8b0]{padding:.5rem 1rem;font-size:.9rem;border-radius:6px}.nav-user[data-v-3f96f8b0]{display:flex;align-items:center;gap:1rem}.user-badge[data-v-3f96f8b0]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f8f9fa;border-radius:8px;font-size:.9rem;font-weight:500}.role-dot[data-v-3f96f8b0]{width:8px;height:8px;border-radius:50%}.role-dot.admin[data-v-3f96f8b0]{background-color:#e74c3c}.role-dot.editor[data-v-3f96f8b0]{background-color:#3498db}.role-dot.viewer[data-v-3f96f8b0]{background-color:#95a5a6}.gf-toggle-btn[data-v-3f96f8b0]{position:relative;padding:.4rem .7rem;background:none;border:1px solid var(--c-border, #e0e0e0);border-radius:8px;cursor:pointer;font-size:1rem;line-height:1;transition:background .2s,border-color .2s;color:var(--c-text, #333)}.gf-toggle-btn[data-v-3f96f8b0]:hover{background:var(--c-surface-alt, #f0f0f0)}.gf-toggle-active[data-v-3f96f8b0]{background:#667eea!important;border-color:#667eea!important}.gf-badge[data-v-3f96f8b0]{position:absolute;top:-5px;right:-5px;background:#e74c3c;color:#fff;border-radius:10px;font-size:.65rem;font-weight:700;padding:1px 5px;line-height:1.3;min-width:16px;text-align:center}.theme-toggle-btn[data-v-3f96f8b0]{padding:.4rem .7rem;background:none;border:1px solid var(--c-border, #e0e0e0);border-radius:8px;cursor:pointer;font-size:1.1rem;line-height:1;transition:background .2s;color:var(--c-text, #333)}.theme-toggle-btn[data-v-3f96f8b0]:hover{background:var(--c-surface-alt, #f0f0f0)}.logout-btn[data-v-3f96f8b0]{padding:.6rem 1.2rem;background-color:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.logout-btn[data-v-3f96f8b0]:hover{background-color:#c0392b;transform:translateY(-1px)}.main-content[data-v-3f96f8b0]{width:100%;margin:0 auto;padding:2rem}.modal-overlay[data-v-0984907d]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container[data-v-0984907d]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow:auto}.modal-header[data-v-0984907d]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal-header h3[data-v-0984907d]{margin:0;color:#333}.close-btn[data-v-0984907d]{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn[data-v-0984907d]:hover{background-color:#f8f9fa;color:#333}.modal-body[data-v-0984907d]{padding:1.5rem}.modal-enter-active[data-v-0984907d],.modal-leave-active[data-v-0984907d]{transition:opacity .3s}.modal-enter-from[data-v-0984907d],.modal-leave-to[data-v-0984907d]{opacity:0}.modal-enter-active .modal-container[data-v-0984907d],.modal-leave-active .modal-container[data-v-0984907d]{transition:transform .3s}.modal-enter-from .modal-container[data-v-0984907d],.modal-leave-to .modal-container[data-v-0984907d]{transform:scale(.9)}.std-cell[data-v-b1f2210e]{text-align:center;font-variant-numeric:tabular-nums;color:#444}.form-control-narrow[data-v-b1f2210e]{width:100%;max-width:100px}.termin-select-widget[data-v-3d338131]{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;margin:1rem 0}.widget-header[data-v-3d338131]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.widget-header h4[data-v-3d338131]{margin:0;font-size:1rem;color:#333}.legend[data-v-3d338131]{display:flex;gap:1rem;font-size:.8rem}.legend-item[data-v-3d338131]{display:flex;align-items:center;gap:.3rem}.cell-preview[data-v-3d338131]{width:16px;height:16px;border-radius:3px;border:1px solid #ccc}.cell-preview.available[data-v-3d338131]{background:#fff;border-color:#ccc}.cell-preview.selected-alle[data-v-3d338131]{background:#28a745;border-color:#1e7e34}.cell-preview.selected-lk[data-v-3d338131]{background:#fd7e14;border-color:#c96209}.loading[data-v-3d338131]{text-align:center;padding:2rem;color:#666}.schedule-grid[data-v-3d338131]{overflow-x:auto}.grid-header[data-v-3d338131]{display:grid;grid-template-columns:60px repeat(5,1fr);gap:2px;margin-bottom:2px}.tag-header[data-v-3d338131]{background:#495057;color:#fff;padding:.5rem;text-align:center;font-weight:700;font-size:.85rem;border-radius:4px 4px 0 0}.stunde-label[data-v-3d338131]{background:#6c757d;color:#fff;padding:.3rem;text-align:center;font-size:.75rem;font-weight:500;display:flex;align-items:center;justify-content:center;border-radius:4px 0 0 4px}.grid-row[data-v-3d338131]{display:grid;grid-template-columns:60px repeat(5,1fr);gap:2px;margin-bottom:2px}.termin-cell[data-v-3d338131]{display:flex;gap:2px;background:#e9ecef;padding:2px;border-radius:2px}.woche-btn[data-v-3d338131]{flex:1;padding:.25rem .1rem;font-size:.7rem;font-weight:700;border:1px solid #ccc;border-radius:3px;cursor:pointer;transition:all .15s ease;background:#fff;color:#333}.woche-btn[data-v-3d338131]:hover{background:#e2e6ea;border-color:#adb5bd}.woche-btn.state-alle[data-v-3d338131]{background:#28a745;border-color:#1e7e34;color:#fff}.woche-btn.state-alle[data-v-3d338131]:hover{background:#218838}.woche-btn.state-lk[data-v-3d338131]{background:#fd7e14;border-color:#c96209;color:#fff}.woche-btn.state-lk[data-v-3d338131]:hover{background:#e8690a}.woche-a[data-v-3d338131]:not(.state-alle):not(.state-lk){color:#0056b3}.woche-b[data-v-3d338131]:not(.state-alle):not(.state-lk){color:#6f42c1}.selection-summary[data-v-3d338131]{margin-top:1rem;padding-top:.75rem;border-top:1px solid #dee2e6;display:flex;align-items:center;gap:1rem;font-size:.9rem}.btn-clear[data-v-3d338131]{padding:.25rem .75rem;font-size:.8rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-clear[data-v-3d338131]:hover{background:#c82333}@media(max-width:600px){.grid-header[data-v-3d338131],.grid-row[data-v-3d338131]{grid-template-columns:45px repeat(5,1fr)}.stunde-label[data-v-3d338131]{font-size:.65rem;padding:.2rem}.woche-btn[data-v-3d338131]{font-size:.6rem;padding:.15rem}}.preview-box[data-v-ddcbbda8]{background:#e8f5e9;border:1px solid #4caf50;border-radius:4px;padding:16px;margin-top:20px}.preview-box strong[data-v-ddcbbda8]{color:#2e7d32;display:block;margin-bottom:8px}.preview-box ul[data-v-ddcbbda8]{margin:0;padding-left:20px}.preview-box li[data-v-ddcbbda8]{margin:4px 0;font-size:.9rem}.header-actions[data-v-e38eae67]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.theme-label[data-v-e38eae67]{font-size:.85rem;color:#555;white-space:nowrap}.theme-select[data-v-e38eae67]{width:auto;min-width:120px;padding:.3rem .6rem;font-size:.85rem}.zoom-info[data-v-e38eae67]{font-size:.8rem;color:#555;min-width:3.5rem;text-align:center;font-variant-numeric:tabular-nums}.diagram-viewport[data-v-e38eae67]{border:1px solid #ddd;border-radius:8px;background:#fafafa;height:calc(100vh - 220px);min-height:400px;overflow:hidden;position:relative;cursor:grab;-webkit-user-select:none;user-select:none}.diagram-viewport.panning[data-v-e38eae67]{cursor:grabbing}.diagram-canvas[data-v-e38eae67]{position:absolute;top:0;left:0;will-change:transform}.diagram-canvas[data-v-e38eae67] svg{display:block;max-width:none!important}.close-button[data-v-b84c157d]{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-button[data-v-b84c157d]:hover{background:#e9ecef}.result-modal[data-v-b84c157d]{max-width:900px}.validation-modal[data-v-b84c157d]{max-width:700px}.form-section[data-v-edc9e47b]{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:20px 24px;margin-bottom:20px}.form-section h3[data-v-edc9e47b]{margin:0 0 12px;font-size:1rem;font-weight:600}.schulhalbjahr-select[data-v-edc9e47b]{width:320px;max-width:100%;margin-bottom:6px}.warn-text[data-v-edc9e47b]{color:var(--warning, #f59e0b);font-size:.85rem}.text-error[data-v-edc9e47b]{color:#991b1b}.validation-section[data-v-54521e06]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.validation-section h3[data-v-54521e06]{margin-top:0;margin-bottom:20px}.conflicts-section[data-v-54521e06]{margin-bottom:20px}.conflicts-section h4[data-v-54521e06]{color:#b45309;margin-bottom:16px}.table-small th[data-v-54521e06],.table-small td[data-v-54521e06]{padding:6px 10px;font-size:.85rem}.table-small th[data-v-65cc8d0c],.table-small td[data-v-65cc8d0c]{padding:.35rem .6rem;font-size:.85rem}.row-missing td[data-v-65cc8d0c]{background:#fff7ed}.row-existing td[data-v-65cc8d0c]{background:#f0f9ff;color:#888}.row-warning td[data-v-65cc8d0c]{background:#fffbeb}.config-section[data-v-cafc5f1c]{background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:16px 20px;margin-bottom:20px}.config-row[data-v-cafc5f1c]{display:flex;gap:24px;flex-wrap:wrap}.config-field[data-v-cafc5f1c]{display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px}.mapping-table[data-v-cafc5f1c]{margin:12px 0;border-collapse:collapse;font-size:.9rem}.mapping-table th[data-v-cafc5f1c],.mapping-table td[data-v-cafc5f1c]{padding:4px 12px;border:1px solid var(--c-border);text-align:left}.mapping-table th[data-v-cafc5f1c]{background:var(--c-surface);font-weight:600}.result-summary[data-v-cafc5f1c],.result-final[data-v-cafc5f1c]{margin-bottom:24px}.summary-grid[data-v-cafc5f1c]{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.summary-card[data-v-cafc5f1c]{background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:12px 20px;text-align:center;min-width:120px}.summary-card.success[data-v-cafc5f1c]{border-color:var(--c-success, #28a745)}.summary-card.warning[data-v-cafc5f1c]{border-color:var(--c-warning, #ffc107)}.summary-card.error[data-v-cafc5f1c]{border-color:var(--c-danger, #dc3545)}.summary-number[data-v-cafc5f1c]{font-size:2rem;font-weight:700;color:var(--c-text)}.summary-card.success .summary-number[data-v-cafc5f1c]{color:var(--c-success, #28a745)}.summary-card.warning .summary-number[data-v-cafc5f1c]{color:#856404}.summary-card.error .summary-number[data-v-cafc5f1c]{color:var(--c-danger, #dc3545)}.summary-label[data-v-cafc5f1c]{font-size:.8rem;color:var(--c-text-muted, #6c757d);margin-top:4px}.warn-box[data-v-cafc5f1c]{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;margin-bottom:16px}.warn-box h4[data-v-cafc5f1c]{margin:0 0 8px;color:#856404}.warn-box ul[data-v-cafc5f1c]{margin:0;padding-left:20px}.warn-box li[data-v-cafc5f1c]{color:#856404;margin:2px 0;font-size:.9rem}.warn-box-prominent[data-v-cafc5f1c]{background:#f8d7da;border-color:#dc3545}.warn-box-prominent h4[data-v-cafc5f1c]{color:#721c24}.warn-box-prominent p[data-v-cafc5f1c]{color:#721c24;margin:4px 0;font-size:.9rem}.error-box[data-v-cafc5f1c]{background:#f8d7da;border:1px solid #dc3545;border-radius:8px;padding:12px 16px;margin-top:12px;color:#721c24}.warning-text[data-v-cafc5f1c]{color:#856404!important}.detail-section[data-v-cafc5f1c]{margin-top:24px}.detail-section h3[data-v-cafc5f1c]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.filter-row[data-v-cafc5f1c]{display:flex;gap:8px;margin-bottom:12px}.row-error[data-v-cafc5f1c]{background:#fff5f5}.row-warning[data-v-cafc5f1c]{background:#fffbf0}.error-text[data-v-cafc5f1c]{font-size:.8rem;color:var(--c-danger, #dc3545);margin-top:2px}.fachwahl-chips[data-v-cafc5f1c]{display:flex;flex-wrap:wrap;gap:4px}.chip[data-v-cafc5f1c]{display:inline-block;padding:2px 7px;border-radius:4px;font-size:.78rem;font-weight:500;cursor:help}.chip-success[data-v-cafc5f1c]{background:#d4edda;color:#155724}.chip-warning[data-v-cafc5f1c]{background:#fff3cd;color:#856404}.chip-error[data-v-cafc5f1c]{background:#f8d7da;color:#721c24}.badge[data-v-cafc5f1c]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.78rem;background:var(--c-surface);border:1px solid var(--c-border);font-weight:400}.badge-success[data-v-cafc5f1c]{background:#d4edda;color:#155724;border:none}.badge-warning[data-v-cafc5f1c]{background:#fff3cd;color:#856404;border:none}.badge-error[data-v-cafc5f1c]{background:#f8d7da;color:#721c24;border:none}.action-row[data-v-cafc5f1c]{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.checkbox-label[data-v-cafc5f1c]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem}.checkbox-label input[type=checkbox][data-v-cafc5f1c]{width:16px;height:16px}.badge-clickable[data-v-cafc5f1c]{cursor:pointer;text-decoration:underline dotted;transition:opacity .15s}.badge-clickable[data-v-cafc5f1c]:hover{opacity:.75}.badge-override[data-v-cafc5f1c]{background:#cce5ff;color:#004085;border:none;margin-left:4px}.chip-clickable[data-v-cafc5f1c]{cursor:pointer;text-decoration:underline dotted;transition:opacity .15s}.chip-clickable[data-v-cafc5f1c]:hover{opacity:.75}.dialog-backdrop[data-v-cafc5f1c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-box[data-v-cafc5f1c]{background:var(--c-bg);border:1px solid var(--c-border);border-radius:10px;padding:24px 28px;min-width:420px;max-width:560px;width:100%;box-shadow:0 8px 32px #0000002e}.dialog-box h3[data-v-cafc5f1c]{margin:0 0 6px;font-size:1.1rem}.dialog-subtitle[data-v-cafc5f1c]{color:var(--c-text-muted, #6c757d);font-size:.9rem;margin-bottom:16px}.tab-row[data-v-cafc5f1c]{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--c-border)}.tab-btn[data-v-cafc5f1c]{padding:6px 16px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.9rem;color:var(--c-text-muted, #6c757d);transition:color .15s}.tab-btn[data-v-cafc5f1c]:hover{color:var(--c-text)}.tab-active[data-v-cafc5f1c]{color:var(--c-primary);border-bottom-color:var(--c-primary);font-weight:600}.dialog-tab-content[data-v-cafc5f1c]{padding-top:4px}.form-row[data-v-cafc5f1c]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-row label[data-v-cafc5f1c]{font-size:.85rem;font-weight:600;color:var(--c-text)}.form-input[data-v-cafc5f1c]{padding:7px 10px;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface);color:var(--c-text);font-size:.9rem}.form-input[data-v-cafc5f1c]:focus{outline:none;border-color:var(--c-primary)}.dialog-actions[data-v-cafc5f1c]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.subtitle[data-v-36113077]{color:var(--c-text-sub);margin:.25rem 0 0;font-size:.9rem}.required-marker[data-v-36113077]{color:#dc3545;font-weight:700}.empty-state[data-v-36113077]{text-align:center;padding:3rem 1rem;color:var(--c-text-muted)}.empty-icon[data-v-36113077]{font-size:3rem;margin-bottom:1rem}.auswertung-grid[data-v-36113077]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media(max-width:1000px){.auswertung-grid[data-v-36113077]{grid-template-columns:1fr}}.chart-section[data-v-36113077]{background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:1.25rem}.section-title[data-v-36113077]{font-size:1rem;font-weight:600;color:var(--c-text);margin:0 0 .2rem}.section-hint[data-v-36113077]{font-size:.8rem;color:var(--c-text-muted);margin:0 0 1rem}.bar-table[data-v-36113077]{width:100%;border-collapse:collapse;font-size:.82rem}.bar-fach-header[data-v-36113077]{text-align:left;padding:4px 10px 4px 0;color:var(--c-text-sub);font-weight:600;border-bottom:2px solid var(--c-border);white-space:nowrap}.bar-ka-header[data-v-36113077]{text-align:left;padding:4px 8px 4px 0;border-bottom:2px solid var(--c-border);white-space:nowrap}.bar-fach-label[data-v-36113077]{font-weight:700;padding:3px 10px 3px 0;white-space:nowrap;color:var(--c-text);vertical-align:middle}.bar-cell[data-v-36113077]{padding:3px 8px 3px 0;vertical-align:middle;min-width:90px}.inline-bar[data-v-36113077]{display:flex;align-items:center;gap:5px}.bar-num[data-v-36113077]{font-variant-numeric:tabular-nums;font-weight:600;font-size:.8rem;color:var(--c-text);min-width:42px;text-align:right;flex-shrink:0}.bar-num-sep[data-v-36113077]{color:var(--c-text-muted);font-weight:400;padding:0 1px}.bar-num-3lvk[data-v-36113077]{color:#c05a00;font-weight:700}.bar-track[data-v-36113077]{flex:1;display:flex;background:var(--c-surface-alt);border-radius:3px;height:10px;overflow:hidden;min-width:30px}.bar-fill[data-v-36113077]{height:100%;flex-shrink:0;transition:width .3s ease}.kursart-gk[data-v-36113077]{background:#4caf50cc}.kursart-lk[data-v-36113077]{background:#2196f3cc}.kursart-lvk[data-v-36113077]{background:#ff9800d9}.kursart-lvk-3[data-v-36113077]{background:#a04600e6}.kursart-wpu[data-v-36113077]{background:#9c27b0cc}.kursart-tut[data-v-36113077]{background:#607d8bcc}.cell-empty[data-v-36113077]{color:var(--c-text-muted);font-size:.75rem}.tab-bar[data-v-36113077]{display:flex;gap:.5rem;margin-bottom:1rem}.tab-btn[data-v-36113077]{padding:.35rem .9rem;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface-alt);color:var(--c-text);cursor:pointer;font-size:.85rem;transition:background .15s,border-color .15s}.tab-btn[data-v-36113077]:hover{background:var(--c-surface-hover)}.tab-btn.active[data-v-36113077]{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}.matrix-scroll[data-v-36113077]{overflow-x:auto}.matrix-table[data-v-36113077]{border-collapse:collapse;font-size:.75rem;min-width:max-content}.matrix-corner[data-v-36113077]{width:42px}.matrix-col-header[data-v-36113077]{text-align:center;font-weight:600;padding:3px 5px;color:var(--c-text-sub);white-space:nowrap;border-bottom:2px solid var(--c-border);min-width:36px}.matrix-row-header[data-v-36113077]{text-align:right;font-weight:600;padding:3px 7px 3px 4px;color:var(--c-text-sub);white-space:nowrap;border-right:2px solid var(--c-border)}.matrix-cell[data-v-36113077]{text-align:center;padding:4px 3px;min-width:34px;border:1px solid var(--c-border);font-variant-numeric:tabular-nums;font-size:.72rem;cursor:default}.matrix-diagonal[data-v-36113077]{background:var(--c-surface-alt)!important;color:var(--c-text-muted)}.matrix-cell-clickable[data-v-36113077]{cursor:pointer}.matrix-cell-clickable[data-v-36113077]:hover{filter:brightness(1.2);outline:2px solid var(--c-primary);outline-offset:-2px}.matrix-total-header[data-v-36113077]{font-weight:700;color:var(--c-text);background:var(--c-surface-alt);border-left:2px solid var(--c-border)}.matrix-total-cell[data-v-36113077]{font-weight:700;font-variant-numeric:tabular-nums;background:var(--c-surface-alt);border-left:2px solid var(--c-border);color:var(--c-text)}.matrix-totals-row td[data-v-36113077]{border-top:2px solid var(--c-border);background:var(--c-surface-alt)}.matrix-totals-row .matrix-total-cell[data-v-36113077]{font-weight:700;color:var(--c-text)}.matrix-total-corner[data-v-36113077]{background:var(--c-surface-alt);color:var(--c-text-muted);border-left:2px solid var(--c-border)}.matrix-legend[data-v-36113077]{margin-top:.6rem;font-size:.78rem;color:var(--c-text-sub)}.combi-overlay[data-v-36113077]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.combi-popup[data-v-36113077]{background:var(--c-surface);border:1px solid var(--c-border);border-radius:10px;min-width:260px;max-width:420px;width:90vw;max-height:75vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000040}.combi-popup-header[data-v-36113077]{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem .65rem;border-bottom:1px solid var(--c-border);flex-shrink:0}.combi-popup-title[data-v-36113077]{display:flex;align-items:center;gap:.4rem;font-weight:700}.combi-fach-badge[data-v-36113077]{background:var(--c-primary);color:#fff;padding:.15rem .55rem;border-radius:4px;font-size:.85rem;font-weight:700}.combi-plus[data-v-36113077]{color:var(--c-text-muted);font-size:1rem}.combi-popup-close[data-v-36113077]{background:none;border:none;cursor:pointer;color:var(--c-text-muted);font-size:1rem;padding:.2rem .4rem;border-radius:4px;line-height:1}.combi-popup-close[data-v-36113077]:hover{color:var(--c-text);background:var(--c-surface-alt)}.combi-popup-body[data-v-36113077]{padding:.75rem 1rem;overflow-y:auto}.combi-popup-count[data-v-36113077]{font-size:.8rem;color:var(--c-text-muted);margin:0 0 .5rem}.combi-popup-list[data-v-36113077]{list-style:none;padding:0;margin:0}.combi-popup-item[data-v-36113077]{padding:.3rem 0;border-bottom:1px solid var(--c-border);font-size:.88rem;color:var(--c-text)}.combi-popup-item[data-v-36113077]:last-child{border-bottom:none}.badge-3lvk-popup[data-v-36113077]{display:inline-block;margin-left:.5rem;background:#c05a00;color:#fff;font-size:.72rem;font-weight:700;padding:.1rem .4rem;border-radius:3px;vertical-align:middle}.bar-inline-clickable[data-v-36113077]{cursor:pointer}.bar-inline-clickable[data-v-36113077]:hover{opacity:.85}.stbl-section[data-v-36113077]{grid-column:1 / -1}.stbl-toolbar[data-v-36113077]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.stbl-search[data-v-36113077]{max-width:260px;font-size:.85rem;padding:.3rem .6rem;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface-alt);color:var(--c-text)}.stbl-scroll[data-v-36113077]{overflow:auto;max-height:70vh}.stbl-table[data-v-36113077]{border-collapse:collapse;font-size:.8rem;min-width:max-content;width:100%}.stbl-sticky-col1[data-v-36113077]{position:sticky;left:0;z-index:2;background:var(--c-surface);border-right:1px solid var(--c-border)}thead .stbl-sticky-col1[data-v-36113077]{z-index:5}.stbl-th[data-v-36113077]{position:sticky;top:0;z-index:3;padding:5px 7px;white-space:nowrap;background:var(--c-surface);color:var(--c-text-sub);font-weight:600;font-size:.78rem;text-align:center;border-bottom:2px solid var(--c-border)}.stbl-th-col1[data-v-36113077]{text-align:left;min-width:140px;max-width:170px}.stbl-th-col2[data-v-36113077]{text-align:left;min-width:110px;max-width:140px}.stbl-fach-th[data-v-36113077]{min-width:52px}.stbl-sortable[data-v-36113077]{cursor:pointer;-webkit-user-select:none;user-select:none}.stbl-sortable[data-v-36113077]:hover{background:var(--c-surface-hover);color:var(--c-text)}.stbl-sort-icon[data-v-36113077]{font-size:.65rem;opacity:.55;margin-left:2px;vertical-align:middle}.stbl-filter-th[data-v-36113077]{position:sticky;top:34px;z-index:3;padding:2px 3px;border-bottom:1px solid var(--c-border);background:var(--c-surface-alt)}.stbl-col-filter[data-v-36113077]{width:100%;font-size:.7rem;padding:1px 2px;border:1px solid var(--c-border);border-radius:3px;background:var(--c-surface-alt);color:var(--c-text);min-width:46px}.stbl-td[data-v-36113077]{padding:4px 5px;border-bottom:1px solid var(--c-border);text-align:center;white-space:nowrap;font-size:.78rem;font-weight:600;color:var(--c-text)}.stbl-td-name[data-v-36113077]{text-align:left;font-weight:500;font-size:.8rem;max-width:160px;overflow:hidden;text-overflow:ellipsis}.stbl-row:hover .stbl-td[data-v-36113077],.stbl-row:hover .stbl-sticky-col1[data-v-36113077]{background:var(--c-surface-hover)}.stbl-cell-gk[data-v-36113077]{color:#2e7d32}.stbl-cell-gkplus[data-v-36113077]{color:#1b5e20;font-style:italic}.stbl-cell-lk[data-v-36113077]{color:#1565c0}.stbl-cell-lvk[data-v-36113077]{color:#e65100}.stbl-cell-lvk3[data-v-36113077]{color:#6d2400}.stbl-cell-wpu[data-v-36113077]{color:#6a1b9a}.stbl-cell-tut[data-v-36113077]{color:#37474f}.stbl-cell-empty[data-v-36113077]{color:var(--c-border);font-weight:400}.stbl-td-editable[data-v-36113077]{cursor:pointer}.stbl-td-editable[data-v-36113077]:hover{outline:1px dashed var(--c-primary);outline-offset:-1px}.stbl-td-editing[data-v-36113077]{padding:0!important}.stbl-inline-select[data-v-36113077]{width:100%;height:100%;font-size:.78rem;font-weight:600;border:2px solid var(--c-primary);border-radius:3px;background:var(--c-surface);color:var(--c-text);padding:2px;text-align:center;cursor:pointer}.fehlende-faecher-warning[data-v-36113077]{grid-column:1 / -1;background:var(--c-surface);border:1px solid #e6a817;border-radius:8px;padding:1rem 1.25rem}.fehlende-header[data-v-36113077]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--c-text);margin-bottom:.75rem}.fehlende-icon[data-v-36113077]{font-size:1.2rem}.fehlende-toggle[data-v-36113077]{margin-left:auto;font-size:.9rem;color:var(--c-text-muted, #888)}.fehlende-list[data-v-36113077]{display:flex;flex-direction:column;gap:.5rem}.fehlende-item[data-v-36113077]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--c-border)}.fehlende-item[data-v-36113077]:last-child{border-bottom:none}.fehlende-fach-name[data-v-36113077]{font-size:.85rem;color:var(--c-text);white-space:nowrap}.fehlende-actions[data-v-36113077]{display:flex;align-items:center;gap:.5rem}.fehlende-select[data-v-36113077]{font-size:.8rem;padding:2px 6px;border-radius:4px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text)}.btn-xs[data-v-36113077]{font-size:.78rem;padding:2px 8px;border-radius:4px;white-space:nowrap}.required-marker[data-v-c3f74c21]{color:#dc3545;font-weight:700}.empty-state[data-v-c3f74c21]{text-align:center;padding:3rem 1rem;color:var(--c-text-muted)}.empty-icon[data-v-c3f74c21]{font-size:3rem;margin-bottom:1rem}.error-box[data-v-c3f74c21]{color:#dc3545;padding:1rem;background:var(--c-surface-alt);border-radius:6px}.kp-layout[data-v-c3f74c21]{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media(max-width:1100px){.kp-layout[data-v-c3f74c21]{grid-template-columns:1fr}}.kp-table-col[data-v-c3f74c21],.kp-stats-col[data-v-c3f74c21]{background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:1.25rem}.kp-table-header[data-v-c3f74c21]{margin-bottom:.75rem}.section-title[data-v-c3f74c21]{font-size:1rem;font-weight:600;color:var(--c-text);margin:0 0 .2rem}.section-hint[data-v-c3f74c21]{font-size:.8rem;color:var(--c-text-muted);margin:0 0 .75rem}.kp-sollstunden-info[data-v-c3f74c21]{font-size:.8rem;color:var(--c-text-muted);margin-bottom:.5rem;padding:.4rem .75rem;background:var(--c-surface-alt);border-radius:6px;border-left:3px solid var(--c-border)}.kp-vorschlag-bar[data-v-c3f74c21]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .75rem;margin-bottom:.5rem;background:var(--c-surface-alt);border-radius:6px;border-left:3px solid var(--c-primary)}.kp-varianten-bar[data-v-c3f74c21]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .75rem;margin-bottom:.75rem;background:var(--c-surface-alt);border-radius:6px;border-left:3px solid #4caf50}.kp-var-dropdown[data-v-c3f74c21]{position:relative;display:inline-block}.kp-var-toggle[data-v-c3f74c21]{display:flex;align-items:center;gap:.4rem;padding:3px 10px;font-size:.82rem;border:1px solid var(--c-border);border-radius:4px;background:var(--c-surface);color:var(--c-text);cursor:pointer;min-width:200px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-var-toggle[data-v-c3f74c21]:hover{border-color:var(--c-primary)}.kp-var-toggle[data-v-c3f74c21]:disabled{opacity:.5;cursor:not-allowed}.kp-var-chevron[data-v-c3f74c21]{margin-left:auto;font-size:.7rem;opacity:.6}.kp-var-menu[data-v-c3f74c21]{position:absolute;top:100%;left:0;z-index:50;min-width:280px;max-width:400px;max-height:260px;overflow-y:auto;margin:2px 0 0;padding:0;list-style:none;background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;box-shadow:0 4px 14px #00000026}.kp-var-empty[data-v-c3f74c21]{padding:8px 12px;font-size:.8rem;color:var(--c-text-muted)}.kp-var-item[data-v-c3f74c21]{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0;border-bottom:1px solid var(--c-border)}.kp-var-item[data-v-c3f74c21]:last-child{border-bottom:none}.kp-var-item-text[data-v-c3f74c21]{flex:1;padding:6px 10px;cursor:pointer;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kp-var-item-text[data-v-c3f74c21]:hover{background:var(--c-surface-hover)}.kp-var-item-active .kp-var-item-text[data-v-c3f74c21]{font-weight:700;color:var(--c-primary)}.kp-var-item-date[data-v-c3f74c21]{display:inline-block;margin-left:6px;font-size:.7rem;color:var(--c-text-muted);font-weight:400}.kp-var-item-del[data-v-c3f74c21]{flex-shrink:0;padding:4px 8px;border:none;background:none;cursor:pointer;font-size:.82rem;color:var(--c-text-muted);border-radius:3px}.kp-var-item-del[data-v-c3f74c21]:hover{background:#dc35451f;color:#dc3545}.kp-var-kommentar[data-v-c3f74c21]{width:180px;font-size:.82rem;padding:3px 6px}.kp-var-sep[data-v-c3f74c21]{color:var(--c-border);font-weight:300;padding:0 .1rem}.kp-var-success[data-v-c3f74c21]{font-size:.8rem;color:#2e7d32;font-weight:600}.kp-var-error[data-v-c3f74c21]{font-size:.8rem;color:#b71c1c;font-weight:600}.kp-vb-label[data-v-c3f74c21]{font-size:.8rem;font-weight:700;color:var(--c-primary);white-space:nowrap}.kp-vb-inline-label[data-v-c3f74c21]{font-size:.8rem;color:var(--c-text-sub);white-space:nowrap;cursor:help}.kp-vb-input[data-v-c3f74c21]{width:56px!important}.kp-vb-hint[data-v-c3f74c21]{font-size:.77rem;color:var(--c-text-muted);margin-left:.2rem}.kp-scroll[data-v-c3f74c21]{overflow:auto;max-height:65vh}.kp-table[data-v-c3f74c21]{border-collapse:collapse;font-size:.82rem;width:100%;min-width:max-content}.kp-th[data-v-c3f74c21]{position:sticky;top:0;z-index:2;padding:5px 8px;background:var(--c-surface);border-bottom:2px solid var(--c-border);font-weight:600;font-size:.77rem;color:var(--c-text-sub);white-space:nowrap;text-align:center}.kp-th-fach[data-v-c3f74c21]{text-align:left;min-width:140px}.kp-th-schüler[data-v-c3f74c21]{min-width:60px}.kp-th-n[data-v-c3f74c21]{min-width:52px;background:var(--c-surface-alt)}.kp-th-groesse[data-v-c3f74c21]{min-width:52px}.kp-row:hover .kp-td[data-v-c3f74c21]{background:var(--c-surface-hover)}.kp-td[data-v-c3f74c21]{padding:4px 8px;border-bottom:1px solid var(--c-border);vertical-align:middle;text-align:center}.kp-td-fach[data-v-c3f74c21]{text-align:left;white-space:nowrap}.kp-td-num[data-v-c3f74c21]{font-variant-numeric:tabular-nums;font-weight:600}.kp-td-total[data-v-c3f74c21]{font-weight:700;color:var(--c-text)}.kp-lvk-breakdown[data-v-c3f74c21]{font-size:.78em;font-weight:400;color:var(--c-text-muted);line-height:1.2}.kp-td-empty[data-v-c3f74c21]{color:var(--c-border)}.kp-td-input[data-v-c3f74c21]{background:var(--c-surface-alt)}.kp-td-groesse[data-v-c3f74c21]{font-variant-numeric:tabular-nums;font-weight:700}.kp-fach-name[data-v-c3f74c21]{margin-left:.4rem;font-size:.77rem;color:var(--c-text-sub)}.kp-n-input[data-v-c3f74c21]{width:46px;text-align:center;padding:2px 4px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-surface);color:var(--c-text);font-size:.82rem;font-weight:600}.kp-n-input[data-v-c3f74c21]:focus{outline:2px solid var(--c-primary);border-color:var(--c-primary)}.kp-n-input-disabled[data-v-c3f74c21],.kp-n-input[data-v-c3f74c21]:disabled{opacity:.35;cursor:not-allowed;background:var(--c-border)}.kp-groesse-ok[data-v-c3f74c21]{color:#2e7d32}.kp-groesse-high[data-v-c3f74c21]{color:#e65100}.kp-groesse-over[data-v-c3f74c21]{color:#b71c1c;font-weight:700}.kp-groesse-warn[data-v-c3f74c21]{color:#795548}.kp-groesse-empty[data-v-c3f74c21]{color:var(--c-text-muted)}.kp-ueg-label[data-v-c3f74c21]{display:inline-flex;align-items:center;gap:2px;font-size:.68rem;font-weight:700;color:var(--c-text-muted);cursor:pointer;margin-left:3px;white-space:nowrap;-webkit-user-select:none;user-select:none}.kp-ueg-label[data-v-c3f74c21]:hover,.kp-ueg-active[data-v-c3f74c21]{color:var(--c-primary)}.kp-ueg-cb[data-v-c3f74c21]{cursor:pointer;margin:0;width:11px;height:11px}.ki-banner[data-v-c3f74c21]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .75rem;margin-bottom:1rem;background:var(--c-surface-alt);border-radius:6px;font-size:.82rem}.ki-banner-label[data-v-c3f74c21]{font-weight:600;color:var(--c-text-sub)}.ki-banner-val[data-v-c3f74c21]{font-weight:700;color:var(--c-text)}.ki-banner-sep[data-v-c3f74c21],.ki-banner-hint[data-v-c3f74c21]{color:var(--c-text-muted)}.ki-cards[data-v-c3f74c21]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.ki-card[data-v-c3f74c21]{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:8px;padding:.75rem 1rem;text-align:center}.ki-card-value[data-v-c3f74c21]{font-size:1.35rem;font-weight:800;color:var(--c-text);letter-spacing:-.5px}.ki-card-label[data-v-c3f74c21]{font-size:.72rem;color:var(--c-text-muted);margin-top:.25rem;line-height:1.3}.ki-card-sub[data-v-c3f74c21]{font-size:.68rem;color:var(--c-text-muted);margin-top:.2rem}.ki-card-ok[data-v-c3f74c21]{border-color:#4caf50;background:#4caf5012}.ki-card-warn[data-v-c3f74c21]{border-color:#f44336;background:#f4433612}.ki-section[data-v-c3f74c21]{margin-bottom:1.25rem}.ki-section-title[data-v-c3f74c21]{font-size:.88rem;font-weight:600;color:var(--c-text);margin:0 0 .5rem}.kp-summary-table[data-v-c3f74c21]{width:100%;border-collapse:collapse;font-size:.8rem}.kp-summary-table th[data-v-c3f74c21],.kp-summary-table td[data-v-c3f74c21]{padding:4px 6px;border-bottom:1px solid var(--c-border)}.kp-summary-table th[data-v-c3f74c21]{font-weight:600;color:var(--c-text-sub);font-size:.75rem}.kp-sum-num[data-v-c3f74c21]{text-align:right;font-variant-numeric:tabular-nums}.kp-fach-summary[data-v-c3f74c21]{display:flex;flex-direction:column;gap:4px}.kp-fach-row[data-v-c3f74c21]{display:flex;align-items:center;gap:.5rem}.kp-fach-kurse[data-v-c3f74c21]{font-size:.72rem;color:var(--c-text-muted);min-width:28px;text-align:right}.kp-fach-bars[data-v-c3f74c21]{flex:1}.ki-hbar-row[data-v-c3f74c21]{display:flex;align-items:center;gap:.4rem}.ki-hbar-compact[data-v-c3f74c21]{margin:0}.ki-hbar-track[data-v-c3f74c21]{flex:1;height:8px;background:var(--c-surface-alt);border-radius:3px;overflow:hidden}.ki-hbar-fill[data-v-c3f74c21]{height:100%;border-radius:3px;transition:width .3s ease}.ki-hbar-aufwand[data-v-c3f74c21]{background:#2196f3bf}.ki-hbar-val[data-v-c3f74c21]{font-size:.72rem;color:var(--c-text-muted);min-width:38px;text-align:right}.ki-warning[data-v-c3f74c21]{font-size:.8rem;color:var(--c-text-muted);padding:.5rem .75rem;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface-alt)}.kp-th-highlight[data-v-c3f74c21]{background:#2196f31a!important;color:var(--c-primary, #1565c0)!important;border-left:2px solid rgba(33,150,243,.35)}.kp-th-hperschueler[data-v-c3f74c21]{min-width:115px}.kp-td-highlight[data-v-c3f74c21]{background:#2196f30a;border-left:2px solid rgba(33,150,243,.18);font-variant-numeric:tabular-nums}.kp-td-hperschueler[data-v-c3f74c21]{min-width:115px}.kp-hfach-val[data-v-c3f74c21]{font-weight:700;font-size:.84rem}.kp-hps-wrap[data-v-c3f74c21]{display:flex;align-items:center;gap:5px}.kp-hps-bar[data-v-c3f74c21]{flex-shrink:0;width:50px;height:7px;background:var(--c-border);border-radius:3px;overflow:hidden}.kp-hps-fill[data-v-c3f74c21]{height:100%;background:#2196f3a6;border-radius:3px;transition:width .3s ease}.kp-hps-val[data-v-c3f74c21]{font-size:.78rem;font-weight:700;color:var(--c-text)}.kp-dot-wrap[data-v-c3f74c21]{display:flex;align-items:center;gap:7px}.kp-dot[data-v-c3f74c21]{display:inline-block;border-radius:50%;flex-shrink:0}.kp-row-sum .kp-td[data-v-c3f74c21]{border-top:2px solid var(--c-border)!important;background:var(--c-surface-alt)}.kp-row-sum .kp-td.kp-td-highlight[data-v-c3f74c21]{background:#2196f31f!important}.kp-sum-label[data-v-c3f74c21]{font-weight:700;color:var(--c-text-sub);font-style:italic}.kp-td-sum-n[data-v-c3f74c21]{background:var(--c-surface-alt);color:var(--c-primary);font-weight:800;font-size:.86rem}.kp-sum-inner[data-v-c3f74c21]{color:var(--c-border)}.kp-sum-total[data-v-c3f74c21]{font-weight:800!important;font-size:.88rem}.kp-th-sortnr[data-v-c3f74c21]{min-width:36px;max-width:44px;font-size:.72rem;color:var(--c-text-muted)}.kp-td-sortnr[data-v-c3f74c21]{min-width:36px;max-width:44px;font-size:.72rem;color:var(--c-text-muted);font-variant-numeric:tabular-nums}.kp-th-sortable[data-v-c3f74c21]{cursor:pointer;-webkit-user-select:none;user-select:none}.kp-th-sortable[data-v-c3f74c21]:hover{background:var(--c-surface-hover, rgba(0,0,0,.04))!important;color:var(--c-primary)!important}.kp-sort-icon[data-v-c3f74c21]{font-size:.68rem;opacity:.55;margin-left:2px}.kp-th-sortable:hover .kp-sort-icon[data-v-c3f74c21]{opacity:1}.kp-th-sch-total[data-v-c3f74c21]{min-width:42px;font-weight:700}.kp-td-sch-total[data-v-c3f74c21]{font-weight:800;color:var(--c-text)}.kp-ka-gk[data-v-c3f74c21]{background-color:#4caf500f}.kp-ka-tut[data-v-c3f74c21]{background-color:#00bcd40f}.kp-ka-lk[data-v-c3f74c21]{background-color:#2196f30f}.kp-ka-kop[data-v-c3f74c21]{background-color:#9c27b00f}.kp-ka-gkp[data-v-c3f74c21]{background-color:#ff98000f}.kp-th.kp-ka-gk[data-v-c3f74c21]{background-color:#4caf501f;border-bottom-color:#4caf5066}.kp-th.kp-ka-tut[data-v-c3f74c21]{background-color:#00bcd41f;border-bottom-color:#00bcd466}.kp-th.kp-ka-lk[data-v-c3f74c21]{background-color:#2196f31f;border-bottom-color:#2196f366}.kp-th.kp-ka-kop[data-v-c3f74c21]{background-color:#9c27b01f;border-bottom-color:#9c27b066}.kp-th.kp-ka-gkp[data-v-c3f74c21]{background-color:#ff98001f;border-bottom-color:#ff980066}.kp-row:hover .kp-ka-gk[data-v-c3f74c21]{background-color:#4caf501a!important}.kp-row:hover .kp-ka-tut[data-v-c3f74c21]{background-color:#00bcd41a!important}.kp-row:hover .kp-ka-lk[data-v-c3f74c21]{background-color:#2196f31a!important}.kp-row:hover .kp-ka-kop[data-v-c3f74c21]{background-color:#9c27b01a!important}.kp-row:hover .kp-ka-gkp[data-v-c3f74c21]{background-color:#ff98001a!important}.text-muted[data-v-c3f74c21]{color:var(--c-text-muted)}.kuerzel-badge[data-v-c3f74c21]{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:3px;padding:1px 5px;font-size:.78rem;font-weight:700;font-family:monospace}.kp-overflow-ctrl[data-v-c3f74c21]{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;margin-top:3px;padding-top:3px;border-top:1px dashed var(--c-border)}.kp-overflow-label[data-v-c3f74c21]{display:inline-flex;align-items:center;gap:2px;font-size:.68rem;font-weight:700;color:var(--c-text-muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.kp-overflow-label[data-v-c3f74c21]:hover,.kp-overflow-active[data-v-c3f74c21]{color:#e65100}.kp-overflow-sep[data-v-c3f74c21]{font-size:.65rem;color:var(--c-text-muted);margin:0 1px}.kp-overflow-max[data-v-c3f74c21]{width:40px!important}.kp-overflow-count[data-v-c3f74c21]{font-size:.68rem;font-weight:700;color:#e65100;background:#e651001a;border:1px solid rgba(230,81,0,.25);border-radius:3px;padding:0 3px;white-space:nowrap;cursor:help}.kp-overflow-gk-hint[data-v-c3f74c21]{font-size:.66rem;font-weight:700;color:#e65100;background:#e651001a;border:1px solid rgba(230,81,0,.25);border-radius:3px;padding:0 3px;margin-left:3px;white-space:nowrap;cursor:help}.inline-edit[data-v-285d98f5]{display:inline-block;width:160px;margin-right:4px;font-size:.82rem}.ml-1[data-v-285d98f5]{margin-left:4px}.kommentar-text[data-v-285d98f5]{font-size:.82rem}.toast[data-v-285d98f5]{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:600;z-index:9999;box-shadow:0 4px 12px #0003}.toast-success[data-v-285d98f5]{background:#2e7d32;color:#fff}.toast-error[data-v-285d98f5]{background:#b71c1c;color:#fff}.btn-xs[data-v-285d98f5]{font-size:.72rem;padding:2px 7px;border-radius:3px}#app{width:100%;min-height:100vh}:root{--c-primary: #667eea;--c-primary-hover: #5568d3;--c-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--c-primary-shadow: rgba(102, 126, 234, .4);--c-primary-focus: rgba(102, 126, 234, .1);--c-bg: #f5f5f5;--c-surface: #ffffff;--c-surface-alt: #f8f9fa;--c-surface-hover: #f0f0f0;--c-text: #333333;--c-text-sub: #666666;--c-text-muted: #999999;--c-text-white: #ffffff;--c-border: #dddddd;--c-border-strong: #e9ecef;--c-success: #155724;--c-success-bg: #d4edda;--c-success-border: #c3e6cb;--c-warning: #856404;--c-warning-bg: #fff3cd;--c-warning-border: #ffc107;--c-danger: #721c24;--c-danger-bg: #f8d7da;--c-danger-border: #dc3545;--c-info: #1565c0;--c-info-bg: #e3f2fd;--c-info-border: #bee3f8;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--shadow-xs: 0 1px 3px rgba(0,0,0,.06);--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 4px 20px rgba(0,0,0,.15)}[data-theme=dark]{--c-primary: #7c8ef7;--c-primary-hover: #6b7cf5;--c-primary-gradient: linear-gradient(135deg, #7c8ef7 0%, #9f5de8 100%);--c-primary-shadow: rgba(124, 142, 247, .4);--c-primary-focus: rgba(124, 142, 247, .15);--c-bg: #1a202c;--c-surface: #2d3748;--c-surface-alt: #283141;--c-surface-hover: #374151;--c-text: #e2e8f0;--c-text-sub: #a0aec0;--c-text-muted: #718096;--c-text-white: #ffffff;--c-border: #4a5568;--c-border-strong: #4a5568;--c-success: #9ae6b4;--c-success-bg: #1c4532;--c-success-border: #276749;--c-warning: #fbd38d;--c-warning-bg: #744210;--c-warning-border: #d97706;--c-danger: #fed7d7;--c-danger-bg: #742a2a;--c-danger-border: #f56565;--c-info: #90cdf4;--c-info-bg: #1a365d;--c-info-border: #2c5282;--shadow-xs: 0 1px 3px rgba(0,0,0,.3);--shadow-sm: 0 2px 4px rgba(0,0,0,.3);--shadow-md: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 4px 20px rgba(0,0,0,.6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;background-color:var(--c-bg);color:var(--c-text)}#app{width:100%}button{border-radius:var(--r-md);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--c-surface);color:var(--c-text);cursor:pointer;transition:all .2s}button:hover{border-color:var(--c-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--r-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--c-primary);color:var(--c-text-white)}.btn-primary:hover:not(:disabled){background-color:var(--c-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--c-primary-shadow)}.btn-secondary{background:var(--c-surface-alt);color:var(--c-text);border:1px solid var(--c-border)}.btn-secondary:hover:not(:disabled){background:var(--c-surface-hover)}.btn-danger{background:var(--c-danger-border);color:#fff;border:none}.btn-danger:hover:not(:disabled){background:#c82333}.btn-warning{background:var(--c-warning-border);color:#212529;border:none}.btn-warning:hover:not(:disabled){background:#e0a800}.btn-success{background:#28a745;color:#fff;border:none}.btn-success:hover:not(:disabled){background:#218838}.btn-ghost{background:transparent;border:1px solid var(--c-border);color:var(--c-text);padding:.4rem .8rem;border-radius:var(--r-sm);cursor:pointer;font-size:.85rem}.btn-ghost:hover{background:var(--c-surface-hover)}.btn-info{background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem .4rem;border-radius:var(--r-sm);transition:background .2s}.btn-info:hover{background:var(--c-info-bg)}.btn-sm{padding:.25rem .75rem;font-size:.875rem;font-weight:500}.btn-lg{padding:.875rem 2rem;font-size:1.1rem;font-weight:600}.btn-large{padding:14px 32px;font-size:1.1rem;font-weight:600;border-radius:var(--r-md)}.btn-edit{padding:.4rem .8rem;background:#ffe17b;color:#333;border:none;border-radius:var(--r-sm);cursor:pointer;font-size:1rem;margin-right:.5rem;transition:all .2s}.btn-edit:before{content:"✏️ ";margin-right:.3rem}.btn-edit:hover{background:#ffd54f;transform:scale(1.05)}.btn-delete{padding:.4rem .8rem;background:#f56565;color:#fff;border:none;border-radius:var(--r-sm);cursor:pointer;font-size:1rem;transition:all .2s}.btn-delete:before{content:"🗑️ ";margin-right:.3rem}.btn-delete:hover{background:#e53e3e;transform:scale(1.05)}.btn-close{background:none;border:none;font-size:1.5rem;color:var(--c-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:background .2s}.btn-close:hover{background:var(--c-surface-hover)}input{border-radius:var(--r-md);border:1px solid var(--c-border);padding:.6em;font-size:1em;font-family:inherit;background:var(--c-surface);color:var(--c-text)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--c-text)}.form-control{width:100%;padding:.75rem;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:1rem;background:var(--c-surface);color:var(--c-text)}.form-control:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-focus)}.form-control.is-invalid{border-color:var(--c-danger-border)}textarea.form-control{resize:vertical;min-height:80px}.form-input{width:100%;padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:1rem;background:var(--c-surface);color:var(--c-text);box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-focus)}.form-select{width:100%;padding:.75rem;border:1px solid var(--c-border);border-radius:var(--r-md);font-size:1rem;background:var(--c-surface);color:var(--c-text);cursor:pointer}.form-select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-focus)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group-inline{flex:1}.form-fieldset{border:1px solid var(--c-border);border-radius:var(--r-md);padding:.75rem 1rem;margin-bottom:1rem}.form-fieldset legend{font-size:.85rem;font-weight:600;color:var(--c-text-sub);padding:0 .25rem}.form-static{margin:0;padding:6px 0;color:var(--c-text);font-weight:500}.form-hint{font-size:.8rem;color:var(--c-text-sub);margin-top:.25rem}.form-hint-warning{font-size:.8rem;color:#e65100;margin-top:.25rem}.help-text{font-size:.8rem;color:var(--c-text-sub);margin-top:.25rem}.help-text.warning{color:var(--c-warning)}.error-hint{font-size:.8rem;color:var(--c-danger-border);margin-top:.25rem}.error-message{color:var(--c-danger-border);font-size:.85rem;margin-top:.25rem}.hint{font-size:.9em;color:var(--c-text-muted);font-style:italic}.hint-required{color:var(--c-danger-border);font-size:.85rem;margin-top:4px;display:block}.required-mark{color:var(--c-danger-border);font-weight:700}.optional{font-size:.8rem;color:var(--c-text-muted);font-weight:400}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-alt);min-height:38px;align-items:center}.checkbox-label{display:flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer;padding:.25rem .5rem;border-radius:var(--r-sm);border:1px solid var(--c-border);transition:all .15s;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:var(--c-info-bg)}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--c-primary)}.checkbox-label:has(input:checked){font-weight:600}.multi-select{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;border:1px solid var(--c-border);border-radius:var(--r-md);min-height:44px}.multi-select option:checked{background:var(--c-primary);color:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.table-container{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow-x:auto;margin-bottom:2rem}table{width:100%;border-collapse:collapse}thead th{background-color:var(--c-surface-alt);padding:1rem;text-align:left;font-weight:600;color:var(--c-text-sub);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--c-border-strong)}tbody td{padding:1rem;border-bottom:1px solid var(--c-border);color:var(--c-text)}tbody tr:hover{background-color:var(--c-surface-alt)}tbody tr:last-child td{border-bottom:none}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-header:hover{background:var(--c-surface-hover)}.sort-icon{margin-left:.25rem;font-size:.75rem;opacity:.6}.sortable-header:hover .sort-icon{opacity:1}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{border:1px solid var(--c-border);padding:8px 12px;text-align:left}.data-table th{background:var(--c-surface-alt);font-weight:600}.data-table tr:hover{background:var(--c-surface-alt)}.table-wrapper{overflow-x:auto;margin:12px 0}.table-wrapper-scroll{max-height:420px;overflow-y:auto;border-radius:var(--r-sm);border:1px solid var(--c-border)}.table{width:100%;border-collapse:collapse;background:var(--c-surface)}.table th{background:var(--c-surface-alt);padding:10px 12px;text-align:left;font-weight:600;color:var(--c-text-sub);border-bottom:2px solid var(--c-border);font-size:.9rem}.table td{padding:8px 12px;border-bottom:1px solid var(--c-border);font-size:.9rem;color:var(--c-text)}.table tbody tr:hover{background:var(--c-surface-alt)}.row-num,.col-num{text-align:center;color:var(--c-text-muted);font-size:13px}.col-num{width:44px;font-weight:600}.row-duplicate{background:#fef9c3}.row-missing{background:#fee2e2}.detail-table{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.9rem}.detail-table thead{position:sticky;top:0;z-index:1;background:var(--c-surface-alt)}.detail-table th,.detail-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--c-border);font-size:14px}.detail-table th{font-weight:600;color:var(--c-text-sub)}.detail-table td:nth-child(2){text-align:center;color:#999}.detail-table tbody tr:hover{background:var(--c-surface-alt)}.detail-table-wrapper{max-height:350px;overflow-y:auto}.imported-table-wrapper{max-height:300px;overflow-y:auto;border:1px solid var(--c-border);border-radius:var(--r-md)}.imported-table{width:100%;border-collapse:collapse}.imported-table thead{position:sticky;top:0;background:var(--c-surface-alt);z-index:1}.imported-table th,.imported-table td{padding:12px;text-align:left;border-bottom:1px solid var(--c-border)}.imported-table th{font-weight:600;color:var(--c-text-sub)}.imported-table tbody tr:hover{background:var(--c-surface-alt)}.badge{padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;display:inline-block}.badge-success,.badge-active,.badge-aktiv{background:var(--c-success-bg);color:var(--c-success)}.badge-inactive{background:var(--c-danger-bg);color:var(--c-danger)}.badge-secondary{background:#e2e3e5;color:#383d41}.badge-warning{background:var(--c-warning-bg);color:var(--c-warning)}.badge-danger{background:var(--c-danger-bg);color:var(--c-danger)}.badge-info{background:var(--c-info-bg);color:var(--c-info)}.badge-primary{background:#cce5ff;color:#004085}.badge-abgemeldet{background:var(--c-danger-bg);color:var(--c-danger)}.badge-planung{background:var(--c-warning-bg);color:var(--c-warning)}.badge-archiviert{background:#e2e3e5;color:#383d41}.badge-list{display:flex;gap:.25rem;flex-wrap:wrap}.status-badge,.role-badge{padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;display:inline-block}.status-badge.active{background:var(--c-success-bg);color:var(--c-success)}.status-badge.inactive{background:var(--c-danger-bg);color:var(--c-danger)}.role-badge.admin{background:#fee2e2;color:#991b1b}.role-badge.editor{background:#e3f2fd;color:#1976d2}.role-badge.viewer{background:#f3f4f6;color:#6b7280}.badge-fach{background:#bee3f8;color:#2c5282}.badge-kategorie{background:#c6f6d5;color:#22543d}.badge-variante{background:#fff3e0;color:#e65100}.badge-tutorat{background:#e8daef;color:#6c3483}.shj-badge{background:#cce5ff;color:#004085;padding:.2rem .6rem;border-radius:var(--r-sm);font-family:monospace;font-size:.9rem;font-weight:600}.kh-badge{background:var(--c-success-bg);color:var(--c-success);padding:.2rem .6rem;border-radius:var(--r-sm);font-family:monospace;font-size:.9rem;font-weight:600}.tut-badge{background:#e8daef;color:#6c3483;padding:.2rem .6rem;border-radius:var(--r-sm);font-family:monospace;font-size:.9rem;font-weight:600}.badge-ba-gk{background:#dbeafe;color:#1e40af}.badge-ba-lk{background:#d1fae5;color:#065f46}.badge-ba-lvk{background:#ede9fe;color:#5b21b6}.badge-ok{background:#d1fae5;color:#065f46}.badge-warn{background:#fef3c7;color:#92400e}.badge-err{background:#fee2e2;color:#991b1b}.badge-dup{background:#fef3c7;color:#92400e}.badge-miss{background:#fee2e2;color:#991b1b}.badge-kursart{background:#e0e7ff;color:#3730a3}.priority-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.85rem;font-weight:600;min-width:2rem;text-align:center}.priority-1{background:#c6f6d5;color:#22543d}.priority-2{background:#d4edda;color:#155724}.priority-3{background:#fefcbf;color:#744210}.priority-4{background:#fff3cd;color:#856404}.priority-5{background:#feebc8;color:#7b341e}.priority-6{background:#fed7d7;color:#822727}.priority-7{background:#fed7e2;color:#702459}.priority-8{background:#e9d8fd;color:#44337a}.priority-9{background:#e2e3e5;color:#383d41}.priority-10{background:#cbd5e0;color:#1a202c}.capacity-ok{color:var(--c-success);font-weight:600}.capacity-high{color:var(--c-warning);font-weight:600}.capacity-full{color:var(--c-danger);font-weight:600}.halbjahr-badge,.kursart-kuerzel,.kursnummer-badge,.mono{font-family:Courier New,monospace;padding:.2rem .5rem;background:var(--c-surface-alt);border-radius:var(--r-sm);font-size:.9rem}.config-key{font-family:monospace;padding:.2rem .5rem;background:var(--c-info-bg);color:var(--c-info);border-radius:var(--r-sm);font-size:.9rem}.config-value{font-family:monospace;padding:.2rem .5rem;background:var(--c-surface-alt);color:var(--c-text);border-radius:var(--r-sm);font-size:.875rem;max-width:300px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.me-badge{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;background:var(--c-info-bg);color:var(--c-info);border-radius:12px;font-size:.75rem;font-weight:600}.rev-col{color:var(--c-text-muted);font-size:.75rem;white-space:nowrap;font-family:monospace}.filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;padding:1rem;background:var(--c-surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.filter-bar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.filter-count{color:var(--c-text-sub);font-size:.85rem;margin-left:auto}.filter-checkbox{display:flex;align-items:center;gap:.35rem;font-size:.9rem;cursor:pointer}.search-input,.filter-input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--c-border);border-radius:6px;font-size:.9rem;background:var(--c-surface);color:var(--c-text)}.search-input:focus,.filter-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-focus)}.filter-select{padding:.5rem .75rem;border:1px solid var(--c-border);border-radius:6px;font-size:.9rem;background:var(--c-surface);color:var(--c-text);min-width:200px}.filter-select:focus{outline:none;border-color:var(--c-primary)}.loading{padding:2rem;text-align:center;background:var(--c-surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);color:var(--c-text-muted)}.error{padding:2rem;text-align:center;background:var(--c-surface);border-radius:var(--r-md);color:var(--c-danger-border)}.no-data{text-align:center;padding:2rem;color:var(--c-text-sub);font-style:italic}.empty-state{color:var(--c-text-muted);padding:24px;text-align:center}.spinner{width:40px;height:40px;border:4px solid var(--c-border-strong);border-top-color:var(--c-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--c-surface);color:var(--c-text);border-radius:var(--r-md);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-small{max-width:450px}.modal-danger{border-top:4px solid var(--c-danger-border)}.danger-text{color:var(--c-danger-border);font-weight:600}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--c-border)}.modal-header h2,.modal-header h3{margin:0;font-size:1.25rem;color:var(--c-text)}.modal-header.warning{background:var(--c-warning-bg);border-bottom:2px solid var(--c-warning-border)}.modal-header.warning h2,.modal-header.warning h3{color:var(--c-warning)}.modal-body{padding:24px}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--c-text-sub);cursor:pointer;padding:0 .25rem;line-height:1}.modal-close:hover{color:var(--c-text)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--c-border);background:var(--c-surface-alt)}.modal-info{padding:.75rem;background:var(--c-info-bg);border-radius:6px;margin-bottom:1rem;font-size:.9rem;color:var(--c-info)}.modal-error{padding:.75rem;background:var(--c-danger-bg);border-radius:6px;margin-bottom:1rem;font-size:.9rem;color:var(--c-danger)}.info-box{padding:1rem;background:var(--c-info-bg);border-left:4px solid #2196f3;border-radius:var(--r-sm);margin-bottom:1rem;font-size:.9rem;color:var(--c-info)}.info-box h3{margin-top:0;font-size:1rem;color:var(--c-info)}.info-box ul{margin:.5rem 0;padding-left:1.5rem}.info-box li{margin-bottom:.5rem}.info-box code{background:var(--c-surface);padding:.2rem .4rem;border-radius:var(--r-sm);font-weight:600;color:var(--c-info)}.info-box .hint{margin:.5rem 0 0;font-size:.9rem;color:var(--c-text-sub)}.info-box.lusd{background:var(--c-info-bg);border-left-color:#1976d2}.info-box.lusd .hint{color:var(--c-info)}.info-box-source{background:#e8f4fd;border-color:#3b82f6}.info-box.design-note{background:#fff8e1;border-left-color:#f9a825;color:#5d4037}.error-box{background:var(--c-danger-bg);border:1px solid var(--c-danger-border);color:var(--c-danger);padding:1rem;border-radius:var(--r-sm)}.error-box pre{margin-top:.5rem;font-size:.8rem;white-space:pre-wrap}.success-box{background:var(--c-success-bg);border:1px solid var(--c-success-border);border-radius:6px;padding:10px 14px;margin-bottom:12px}.success-highlight{padding:.5rem;background:var(--c-success-bg);border:1px solid var(--c-success-border);border-radius:var(--r-sm);color:var(--c-success);font-weight:500}.warning-text{color:var(--c-warning)}.hint-text{color:var(--c-warning);background:var(--c-warning-bg);padding:.5rem .75rem;border-radius:var(--r-sm);font-size:.85rem;margin-top:.25rem}.info-bar{background:var(--c-info-bg);border:1px solid var(--c-info-border);border-radius:6px;padding:.6rem 1rem;margin-bottom:1rem;font-size:.85rem;color:var(--c-info)}.info-bar code{background:#cce5ff;padding:.1rem .4rem;border-radius:3px;font-size:.8rem}.info-banner{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-left:4px solid #fd7e14;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;color:#664d03}.info-banner code{background:#00000012;padding:.1em .35em;border-radius:3px;font-size:.85em}.preview-box{padding:.75rem;background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:6px;margin-top:.5rem;font-size:.9rem}.preview-box-success{background:var(--c-success-bg);border-color:var(--c-success-border)}.preview-box-success strong{color:var(--c-success)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0;color:var(--c-text);font-size:1.75rem}.page-header .subtitle{color:var(--c-text-sub);font-size:.9rem;margin-top:.25rem}.container{max-width:1200px;margin:0 auto;padding:20px}.subtitle{color:var(--c-text-sub);margin-bottom:24px}.actions,.action-buttons{display:flex;gap:.5rem}.action-row{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap;align-items:center}.controls{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:1rem}.text-muted{color:var(--c-text-muted)}.description-cell,.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{white-space:nowrap;font-size:.85rem;color:var(--c-text-sub)}.checkbox-col{width:40px;text-align:center;padding:.5rem!important}.checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer}.selected-row{background:#e3f2fd!important}.actions-bar{display:flex;justify-content:space-between;align-items:center;background:var(--c-primary);color:var(--c-text-white);padding:1rem 1.5rem;border-radius:var(--r-md);margin-bottom:1rem;box-shadow:var(--shadow-sm)}.actions-info{font-size:1rem}.actions-buttons{display:flex;gap:.75rem}.actions-buttons .btn{color:#fff;border:1px solid rgba(255,255,255,.3);background:#ffffff1a}.actions-buttons .btn:hover{background:#fff3;border-color:#ffffff80}.actions-buttons .btn-danger{background:var(--c-danger-border);border-color:var(--c-danger-border)}.actions-buttons .btn-ghost{background:transparent;border:none;opacity:.8}.actions-buttons .btn-ghost:hover{opacity:1;background:#ffffff1a}.bulk-edit-info{background:var(--c-info-bg);border-left:4px solid #2196f3;padding:1rem;margin-bottom:1.5rem;border-radius:var(--r-sm)}.bulk-edit-info .hint{font-size:.875rem;color:var(--c-text-sub);font-style:italic}.confirmation-content{padding:1rem 0}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.detail-section{margin-bottom:1rem}.detail-section summary{cursor:pointer;font-weight:600;color:var(--c-text);padding:.5rem 0}.detail-section h3,.detail-section h4{margin-bottom:.5rem;color:var(--c-text)}.detail-label{color:var(--c-text-sub);min-width:80px;font-weight:500}.json-display{background:var(--c-surface-alt);border-radius:6px;padding:.75rem;font-family:Courier New,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.verlauf-container{max-height:60vh;overflow-y:auto;padding:0 .5rem}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.6rem;top:0;bottom:0;width:3px;background:var(--c-primary-gradient);border-radius:2px}.timeline-entry{position:relative;margin-bottom:1.5rem}.timeline-marker{position:absolute;left:-1.65rem;top:.3rem;width:12px;height:12px;background:var(--c-primary);border-radius:50%;border:2px solid var(--c-surface);box-shadow:0 0 0 2px var(--c-primary)}.timeline-content{background:var(--c-surface-alt);border-radius:var(--r-md);padding:1rem 1.25rem;border-left:3px solid var(--c-primary)}.timeline-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:1.05rem}.timeline-details{display:flex;flex-direction:column;gap:.4rem}.kurse-list{display:flex;flex-wrap:wrap;gap:.4rem}.kurs-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;padding:.2rem .5rem;font-size:.8rem}.kurs-chip.kurs-abgemeldet{opacity:.6;text-decoration:line-through;border-color:var(--c-danger-border)}.kurs-name{font-weight:600;color:var(--c-text)}.kurs-fach{color:var(--c-primary)}.kurs-lehrer{color:var(--c-text-muted);font-style:italic}.kurs-art{color:#43e97b;font-size:.75rem;font-weight:600}.admin-sections{display:flex;flex-direction:column;gap:2rem}.admin-card{background:var(--c-surface);padding:1.5rem;border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.admin-card h2{margin-top:0;margin-bottom:.5rem;color:var(--c-text)}.admin-card p{color:var(--c-text-sub);margin-bottom:.5rem}.result-box{padding:1rem;background:var(--c-surface-alt);border-radius:var(--r-sm);border-left:4px solid var(--c-primary)}.result-box h3{margin-top:0;font-size:1rem}.result-box ul{margin:.5rem 0 0;padding-left:1.5rem}.result-box-plan{border-left-color:#17a2b8}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:1rem 0}.result-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--c-surface);border-radius:6px;border:1px solid var(--c-border)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--c-primary)}.stat-value.stat-skip{color:var(--c-warning-border)}.stat-label{font-size:.8rem;color:var(--c-text-sub);margin-top:.25rem}.plan-variante-info{margin:.75rem 0;padding:.5rem;background:var(--c-success-bg);border:1px solid var(--c-success-border);border-radius:var(--r-sm);color:var(--c-success)}.conflict-warning,.conflict-item{color:var(--c-danger-border)}.more-hint{text-align:center;color:var(--c-text-muted);font-style:italic}.dashboard{margin-bottom:3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.stat-card{background:var(--c-surface);padding:2rem;border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.stat-card h2{margin:0 0 .5rem;color:var(--c-text);font-size:1.2rem}.stat-number{margin:0 0 1.5rem;font-size:2.5rem;font-weight:700;color:var(--c-primary)}.chart-container{height:200px;margin-bottom:1rem}.legend{display:flex;flex-direction:column;gap:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.legend-color{width:16px;height:16px;border-radius:3px}.section{background:var(--c-surface);padding:2rem;border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.section h2{margin:0 0 1.5rem}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.quick-link-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:var(--c-primary-gradient);color:var(--c-text-white);border-radius:var(--r-md);text-decoration:none;transition:transform .2s,box-shadow .2s}.quick-link-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px var(--c-primary-shadow)}.quick-link-card .icon{font-size:2rem}.info-banner-gradient{display:flex;gap:2rem;background:var(--c-primary-gradient);color:var(--c-text-white);padding:1.5rem 2rem;border-radius:var(--r-lg);margin-bottom:2rem;box-shadow:0 4px 12px var(--c-primary-shadow)}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{font-size:.9rem;opacity:.9}.info-item .value{font-size:1.5rem;font-weight:700}.login-container,.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--c-primary-gradient)}.loading-box{text-align:center;color:#fff}.login-box{background:var(--c-surface);color:var(--c-text);padding:2.5rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px}.login-box h1{margin:0 0 .5rem;font-size:2rem;color:var(--c-primary);text-align:center}.login-box input{width:100%;padding:.75rem;border:2px solid var(--c-border);border-radius:var(--r-md);font-size:1rem;background:var(--c-surface);color:var(--c-text)}.login-box input:focus{outline:none;border-color:var(--c-primary)}.login-box input:disabled{background-color:var(--c-surface-alt);cursor:not-allowed}.login-button{width:100%;padding:.875rem;background:var(--c-primary-gradient);color:#fff;border:none;border-radius:var(--r-md);font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px var(--c-primary-shadow)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.upload-section{margin-bottom:24px}.upload-box{border:2px dashed var(--c-border);border-radius:var(--r-md);padding:48px 40px;text-align:center;background:var(--c-surface-alt);transition:all .2s;cursor:pointer}.upload-box:hover,.upload-box.drag-over{border-color:var(--c-primary);background:var(--c-info-bg)}.file-input{display:none}.upload-label{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:16px}.upload-icon{font-size:48px}.upload-text{display:flex;flex-direction:column;gap:4px;text-align:left}.upload-text strong{display:block;font-size:18px;margin-bottom:4px;color:var(--c-primary)}.upload-text span{color:var(--c-text-muted);font-size:14px}.file-info{margin-top:16px;padding:12px 16px;background:var(--c-info-bg);border-radius:var(--r-sm);display:flex;justify-content:space-between;align-items:center}.mapping-section{margin:24px 0;padding:24px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md)}.mapping-section h3{margin-top:0;margin-bottom:8px}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:16px}.mapping-item{display:flex;flex-direction:column}.mapping-item label{font-weight:600;margin-bottom:8px;color:var(--c-text)}.config-section{margin-bottom:24px;padding:20px;background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--r-md)}.config-row{display:flex;gap:24px;flex-wrap:wrap}.config-item{flex:1;min-width:250px}.config-item label{display:block;margin-bottom:8px}.shj-select-section{margin-bottom:24px;padding:16px;background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--r-md)}.shj-select-section label{display:block;margin-bottom:8px}.shj-select{width:100%;max-width:500px}.import-info{margin-top:16px;text-align:center;color:var(--c-text-sub)}.filter-info{color:var(--c-text-muted);font-size:.9rem;margin-left:6px}.import-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.action-section{margin-bottom:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.execute-section{margin-top:24px;padding-top:20px;border-top:2px solid var(--c-border);text-align:center}.step-header{font-weight:600;margin-bottom:12px;color:var(--c-text)}.validation-stats{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.stat-item{flex:1;min-width:100px;padding:16px;border-radius:var(--r-md);text-align:center}.stat-item.info{background:#dbeafe;border:2px solid #3b82f6}.stat-item.success{background:var(--c-success-bg);border:2px solid #10b981}.stat-item.warning{background:var(--c-warning-bg);border:2px solid var(--c-warning-border)}.stat-item.error{background:var(--c-danger-bg);border:2px solid var(--c-danger-border)}.stat-item .stat-number{font-size:28px;font-weight:700;display:block}.stat-item.info .stat-number{color:#1d4ed8}.stat-item.success .stat-number{color:#065f46}.stat-item.warning .stat-number{color:#92400e}.stat-item.error .stat-number{color:#991b1b}.stat-item .stat-label{font-size:12px;color:var(--c-text-sub);margin-top:4px;font-weight:500;display:block}.result-section{margin-top:24px}.result-card{background:var(--c-surface);border-radius:var(--r-md);padding:24px;box-shadow:var(--shadow-md)}.result-title{margin-top:0;color:#10b981;font-size:1.4rem}.result-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.import-summary{display:flex;gap:16px;margin:20px 0;flex-wrap:wrap}.summary-item{flex:1;min-width:120px;padding:16px;border-radius:var(--r-md);text-align:center}.summary-item.success{background:var(--c-success-bg);border:2px solid var(--c-success-border)}.summary-item.info{background:var(--c-info-bg);border:2px solid #3b82f6}.summary-item.warning{background:var(--c-warning-bg);border:2px solid var(--c-warning-border)}.summary-item.error{background:var(--c-danger-bg);border:2px solid var(--c-danger-border)}.summary-number{font-size:32px;font-weight:700;margin-bottom:6px;display:block}.summary-item.success .summary-number{color:#10b981}.summary-item.info .summary-number{color:#3b82f6}.summary-item.warning .summary-number{color:#f59e0b}.summary-item.error .summary-number{color:#ef4444}.summary-label{font-size:13px;color:#64748b;font-weight:500}.warnings-section{margin-top:16px}.warnings-toggle{color:var(--c-warning);background:var(--c-warning-bg);padding:10px 14px;border-radius:6px;margin:0;display:flex;justify-content:space-between;cursor:pointer;list-style:none}.warnings-list{margin-top:8px;border:1px solid var(--c-warning-border);border-radius:6px;overflow:hidden}.warning-item{padding:8px 14px;border-bottom:1px solid var(--c-warning-border);font-size:.9rem;color:var(--c-text)}.warning-item:last-child{border-bottom:none}.warn-name{background:#fff7ed}.warn-tutorat{background:#fee2e2}.warn-assign{background:#eff6ff}.warn-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.warn-msg{font-size:.85rem;color:var(--c-text-sub)}.error-list{background:var(--c-danger-bg);border:1px solid var(--c-danger-border);border-radius:var(--r-md);padding:16px;margin-top:16px}.error-list h4{margin:0 0 8px;color:var(--c-danger)}.error-list ul{margin:0;padding-left:20px}.error-list li{color:var(--c-danger);margin:4px 0;font-size:.9rem}.result-full-section{margin-top:32px}.result-full-header{padding:20px 24px;border-radius:var(--r-md);margin-bottom:24px;border:2px solid}.result-full-success{background:var(--c-success-bg);border-color:var(--c-success-border)}.result-full-success h3{color:var(--c-success);margin:0 0 4px}.result-full-error{background:var(--c-warning-bg);border-color:var(--c-warning-border)}.result-full-error h3{color:var(--c-warning);margin:0 0 4px}.result-full-message{margin:0;color:var(--c-text-sub);font-size:14px}.result-summary{margin-bottom:24px}.detail-block{margin-bottom:20px;border-radius:var(--r-md);border:1px solid;overflow:hidden}.detail-block h4{margin:0;padding:12px 18px;font-size:15px}.detail-block-success{border-color:var(--c-success-border)}.detail-block-success h4{background:var(--c-success-bg);color:var(--c-success)}.detail-block-warning{border-color:var(--c-warning-border)}.detail-block-warning h4{background:var(--c-warning-bg);color:var(--c-warning)}.detail-block-error{border-color:var(--c-danger-border)}.detail-block-error h4{background:var(--c-danger-bg);color:var(--c-danger)}.detail-hint{margin:0;padding:8px 18px;font-size:13px;color:var(--c-text-muted);background:var(--c-surface-alt);border-bottom:1px solid var(--c-warning-border)}.error-detail-list{margin:0;padding:14px 18px 14px 38px;list-style:disc}.error-detail-list li{margin-bottom:6px;color:var(--c-danger);font-size:14px;line-height:1.5}.conflict-card{border:2px solid var(--c-warning-border);background:var(--c-warning-bg);border-radius:var(--r-md);padding:16px;margin-bottom:16px}.conflict-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.conflict-header strong{color:var(--c-warning)}.conflict-count{background:#f59e0b;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.conflict-items{font-family:monospace;background:var(--c-surface);border:1px solid var(--c-warning-border);padding:8px 12px;border-radius:var(--r-sm);margin:8px 0;font-size:.9rem}.conflict-affected{font-size:.85rem;color:var(--c-text-muted);margin:0 0 12px}.conflict-options{display:flex;flex-direction:column;gap:8px}.conflict-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem;padding:6px 10px;border-radius:var(--r-sm);transition:background .15s}.conflict-options label:hover{background:var(--c-surface-hover)}.coupling-item{display:flex;align-items:center;gap:8px;margin:4px 0}.coupling-name{font-weight:600}.coupling-stds{color:var(--c-text-muted);font-size:.85rem}.coupling-choices{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.badge-suggest{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;padding:2px 8px;border-radius:8px;font-size:.8rem}.missing-schueler-option{background:#fff7ed;padding:8px 12px;border-radius:4px;margin:4px 0;border-left:3px solid #f59e0b}.toggle-label{cursor:pointer;display:inline-flex;align-items:center;gap:6px}.toggle-label-large{font-size:1rem;font-weight:500}.conflict-desc{color:var(--c-text-sub);font-size:.9rem;margin-bottom:8px}.conflict-bulk-actions{display:flex;gap:8px;margin:12px 0}.preview-section{margin-top:24px}.preview-section h3,.preview-section h4{margin-top:0;margin-bottom:12px}.import-info-row{color:var(--c-text-sub);font-size:.95rem;margin-top:8px}.preview-mini{margin-top:16px}.preview-mini strong{display:block;margin-bottom:8px;font-weight:600}.validation-errors{background:var(--c-surface-alt);border:1px solid var(--c-border);border-radius:var(--r-md);padding:20px;margin:24px 0}.validation-errors p{margin:0 0 12px;color:var(--c-text);font-weight:600}.validation-errors .error-list{margin:0;background:transparent;border:none}.validation-info{font-weight:500;margin:24px 0 0;color:var(--c-text)}.validation-warnings{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px 16px;margin-bottom:16px}.validation-warnings p{margin:0 0 8px;font-weight:600;color:#1e40af}.validation-warnings ul{margin:0;padding-left:20px;font-size:.9rem;color:#1e40af}.imported-list h4{margin:0 0 16px;color:var(--c-text-sub)}.summary-cards{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.summary-card{flex:1;min-width:100px;padding:16px;border-radius:var(--r-md);text-align:center;border:2px solid}.card-value{font-size:2rem;font-weight:700;display:block;margin-bottom:4px}.card-label{font-size:.8rem;color:var(--c-text-sub)}.card-success{background:var(--c-success-bg);border-color:var(--c-success-border);color:var(--c-success)}.card-warning{background:var(--c-warning-bg);border-color:var(--c-warning-border);color:var(--c-warning)}.card-neutral{background:var(--c-surface-alt);border-color:var(--c-border);color:var(--c-text-sub)}.card-info{background:var(--c-info-bg);border-color:var(--c-info-border);color:var(--c-info)}.result-tabs{display:flex;gap:8px;margin-bottom:16px}.tab-btn{padding:6px 16px;border:1px solid var(--c-border);border-radius:20px;background:var(--c-surface);cursor:pointer;font-size:.9rem;transition:all .15s;color:var(--c-text)}.tab-btn.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}@media(max-width:768px){.mapping-grid{grid-template-columns:1fr 1fr}.config-row,.import-summary{flex-direction:column}.form-row,.stats-grid,.detail-row{grid-template-columns:1fr}.summary-cards{flex-direction:column}.info-banner-gradient{flex-direction:column;gap:1rem}}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-label{font-size:.8rem;font-weight:600;color:var(--c-text-sub);text-transform:uppercase;letter-spacing:.04em}.filter-stats{display:flex;align-items:center;gap:.5rem;margin-left:auto}.kuerzel-badge{font-family:Courier New,monospace;padding:.15rem .45rem;background:var(--c-surface-alt);border-radius:var(--r-sm);font-size:.875rem;border:1px solid var(--c-border)}.fk-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.03em;color:var(--c-primary);background:#4a6cf71f;border:1px solid rgba(74,108,247,.3);border-radius:3px;padding:0 4px;vertical-align:middle;margin-left:3px}.fk-val{font-family:Courier New,monospace;font-size:.875rem;color:var(--c-primary);cursor:help;border-bottom:1px dashed rgba(74,108,247,.4)}.tag{display:inline-block;padding:.15rem .5rem;border-radius:12px;font-size:.78rem;font-weight:600;margin-right:3px;white-space:nowrap}.tag-kursart{background:var(--c-info-bg);color:var(--c-info);border:1px solid var(--c-info-border)}.cell-number{text-align:right;font-variant-numeric:tabular-nums}.teilnehmer-voll{color:var(--c-danger);font-weight:700}.teilnehmer-fast-voll{color:var(--c-warning);font-weight:600}.ki-missing{color:var(--c-text-muted);font-style:italic}.ki-layout{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;align-items:start;margin-top:1rem}.ki-table-col{min-width:0}.ki-table-scroll{max-height:calc(100vh - 240px);overflow-y:auto}.ki-table-scroll table th,.ki-table-scroll table td{font-size:.8rem;padding:.35rem .5rem;white-space:nowrap}.ki-stats-col{min-width:0;display:flex;flex-direction:column;gap:1rem}.ki-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:var(--c-info-bg);border:1px solid var(--c-info-border);border-radius:var(--r-md);font-size:.85rem;flex-wrap:wrap}.ki-banner-label{font-weight:700;color:var(--c-info)}.ki-banner-val{font-weight:600;font-variant-numeric:tabular-nums}.ki-banner-sep{color:var(--c-text-muted)}.ki-banner-hint{color:var(--c-text-muted);font-size:.78rem;margin-left:auto}.ki-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.ki-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:.85rem 1rem;text-align:center;box-shadow:var(--shadow-sm)}.ki-card-value{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--c-text);line-height:1.2}.ki-card-label{font-size:.75rem;color:var(--c-text-sub);margin-top:.3rem;line-height:1.4}.ki-card-label small{font-size:.65rem;color:var(--c-text-muted)}.ki-card-pos{background:var(--c-success-bg);border-color:var(--c-success-border)}.ki-card-pos .ki-card-value{color:var(--c-success)}.ki-card-neg{background:var(--c-danger-bg);border-color:var(--c-danger-border)}.ki-card-neg .ki-card-value{color:var(--c-danger)}.ki-card-warn{background:var(--c-warning-bg);border-color:var(--c-warning-border)}.ki-card-warn .ki-card-value{color:var(--c-warning)}.ki-section{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:1rem 1.1rem;box-shadow:var(--shadow-sm)}.ki-section-title{font-size:.9rem;font-weight:700;color:var(--c-text);margin:0 0 .85rem;text-transform:uppercase;letter-spacing:.03em}.ki-section-title small{font-size:.75rem;font-weight:400;color:var(--c-text-muted);text-transform:none}.ki-stufen-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.ki-stufe-block{display:flex;flex-direction:column;gap:.4rem}.ki-stufe-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.2rem}.ki-stufe-label{font-weight:700;font-size:.9rem;color:var(--c-text)}.ki-stufe-meta{font-size:.75rem;color:var(--c-text-muted);text-align:right}.ki-hbar-row{display:flex;align-items:center;gap:.4rem;height:1.2rem}.ki-hbar-legend{font-size:.7rem;font-weight:600;width:4.5rem;flex-shrink:0;color:var(--c-text-sub)}.ki-legend-zuw{color:#667eea}.ki-legend-auf{color:#f5a623}.ki-hbar-track{flex:1;height:10px;background:var(--c-surface-alt);border-radius:5px;overflow:hidden;border:1px solid var(--c-border)}.ki-hbar-fill{height:100%;border-radius:5px;transition:width .4s ease;min-width:2px}.ki-hbar-zuweisung{background:linear-gradient(90deg,#667eea,#764ba2)}.ki-hbar-aufwand{background:linear-gradient(90deg,#f5a623,#f07e0b)}.ki-hbar-val{font-size:.72rem;font-variant-numeric:tabular-nums;width:3.5rem;text-align:right;flex-shrink:0;color:var(--c-text-sub)}.ki-hbar-compact .ki-hbar-legend{width:1rem}.ki-hbar-compact{height:1rem;gap:.25rem}.kz-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.kz-stat-card{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.25rem;background:var(--c-surface);border:1px solid var(--c-border);border-radius:.5rem;min-width:5rem}.kz-stat-value{font-size:1.5rem;font-weight:700;color:var(--c-primary);line-height:1}.kz-stat-label{font-size:.75rem;color:var(--c-text-sub);margin-top:.25rem}.kz-leisten-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.kz-leiste{background:var(--c-surface);border:1px solid var(--c-border);border-radius:.5rem;padding:.75rem 1rem}.kz-leiste-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--c-border)}.kz-leiste-nr{font-weight:700;font-size:.95rem;color:var(--c-primary)}.kz-leiste-count{font-size:.75rem;color:var(--c-text-sub)}.kz-gruppen{display:flex;flex-wrap:wrap;gap:.5rem}.kz-pk{display:inline-flex;flex-direction:column;padding:.25rem .5rem;border-radius:.3rem;font-size:.8rem;cursor:default;border:1px solid transparent;min-width:4.5rem}.kz-pk-header{display:flex;align-items:baseline;gap:.3rem;white-space:nowrap}.kz-pk-header--clickable{cursor:pointer}.kz-pk-name{font-weight:700;font-size:.82rem}.kz-pk-art{font-size:.68rem;font-weight:600;opacity:.85}.kz-pk-count{font-size:.65rem;font-weight:700;opacity:.9;margin-top:1px;letter-spacing:.02em}.kz-pk-toggle{margin-left:auto;padding-left:.35rem;font-size:.75rem;opacity:.65;-webkit-user-select:none;user-select:none;line-height:1}.kz-pk-schueler{margin-top:.25rem;padding-top:.2rem;border-top:1px solid currentColor;opacity:.9;display:flex;flex-direction:column;gap:.1rem;min-width:9rem;max-height:11rem;overflow-y:auto}.kz-pk-schueler-row{font-size:.7rem;white-space:nowrap;line-height:1.4;cursor:grab;border-radius:2px;padding:0 2px}.kz-pk-schueler-row:hover{background:var(--c-primary-light, rgba(102,126,234,.12))}.kz-pk-schueler-row--konflikt{background:#dc35451f;color:var(--c-danger, #dc3545);font-weight:500}[data-theme=dark] .kz-pk-schueler-row--konflikt{background:#ff646e2e;color:#ff7a87}.lp-col--fachwahl-ohne .lp-col-header{color:var(--c-warning, #e67e22)}.lp-col--student-drop-remove{outline:2px dashed var(--c-danger, #dc3545);outline-offset:-2px;background:#dc35450f!important}.lp-col--student-drop-remove .lp-col-header{color:var(--c-danger, #dc3545);background:#dc35451a}.lp-fachwahl-row{display:flex;justify-content:space-between;align-items:baseline;gap:.3rem;padding:.2rem .35rem;border-radius:4px;border:1px solid var(--c-border);background:var(--c-bg);font-size:.72rem;cursor:grab;transition:background .1s}.lp-fachwahl-row:hover{background:var(--c-primary-light, rgba(102,126,234,.1));border-color:var(--c-primary, #667eea)}.lp-fachwahl-name{font-weight:500;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.lp-fachwahl-kurs{flex-shrink:0;font-size:.68rem;color:var(--c-text-sub);white-space:nowrap}.kz-pk--student-drop{outline:2px dashed var(--c-primary, #667eea);outline-offset:-2px;background:var(--c-primary-light, rgba(102,126,234,.08))!important}.kz-pk[draggable=true],.kz-pk[draggable=true] *{cursor:grab}.kz-pk[draggable=true]:active,.kz-pk[draggable=true]:active *{cursor:grabbing}.kz-pk--dragging{opacity:.35;pointer-events:none}.kz-leiste--drag-over{outline:2px dashed var(--c-primary, #3b82f6);outline-offset:3px;background:#3b82f60f}[data-theme=dark] .kz-leiste--drag-over{background:#60a5fa1a}.kz-leiste--new-drop{border:2px dashed var(--c-border);background:transparent;min-height:3.5rem;justify-content:center}.kz-leiste--new-drop.kz-leiste--drag-over{border-color:var(--c-primary, #3b82f6);background:#3b82f60f}.kz-gruppen--drop-hint{font-size:.75rem;opacity:.55;font-style:italic;padding:.4rem 0}.kz-pk--gk{background:#d4edda;color:#155724;border-color:#a3d5b3}.kz-pk--lk,.kz-pk--lvk{background:#cce5ff;color:#004085;border-color:#9ec5fe}.kz-pk--tut{background:#e9ecef;color:#495057;border-color:#ced4da}.kz-pk--combo-gk{background:repeating-linear-gradient(135deg,#a8d5b5,#a8d5b5 9px,#7db8f0 9px,#7db8f0 18px);color:#0a2540;border-color:#4a90d9}.kz-pk--konflikt{outline:2px solid rgba(220,53,69,.85);outline-offset:-2px;box-shadow:0 0 6px 2px #dc354559}[data-theme=dark] .kz-pk--gk{background:#1a3a2a;color:#8fd4a8;border-color:#2d5a3f}[data-theme=dark] .kz-pk--lk,[data-theme=dark] .kz-pk--lvk{background:#172b4d;color:#7fb3e6;border-color:#244a7a}[data-theme=dark] .kz-pk--tut{background:#2d2f33;color:#adb5bd;border-color:#495057}[data-theme=dark] .kz-pk--combo-gk{background:repeating-linear-gradient(135deg,#1f4d33,#1f4d33 9px,#1a3a6e 9px,#1a3a6e 18px);color:#b8deff;border-color:#3a6fc4}[data-theme=dark] .kz-pk--konflikt{outline-color:#ff646ee6;box-shadow:0 0 8px 3px #ff505a66}.kz-pk--extra{background:#f8d7da;color:#721c24;border-color:#f1aeb5}[data-theme=dark] .kz-pk--extra{background:#3b1418;color:#e89ca3;border-color:#5c2329}.kz-konflikte-section{margin-top:1.5rem}.kz-konflikte-toggle{cursor:pointer;font-weight:600;padding:.5rem 0;color:var(--c-text)}.kz-konflikte-toggle:hover{color:var(--c-primary)}.kz-no-konflikte{padding:1rem;color:var(--c-text-sub);font-style:italic}.kz-konflikte-table{margin-top:.5rem}.lp-header{padding:.5rem 0 .25rem}.lp-header h1{font-size:1.25rem;margin:0}.lp-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid var(--c-border);margin-bottom:.5rem}.lp-filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.lp-select{font-size:.8rem;padding:.25rem .5rem;height:auto;min-width:140px}.lp-filter-dropdown{position:relative}.lp-filter-btn{cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:.3rem;background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text);white-space:nowrap}.lp-filter-btn--active{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 15%,var(--c-surface));font-weight:600}.lp-filter-arrow{font-size:.65rem;opacity:.6}.lp-filter-panel{position:absolute;top:calc(100% + 3px);left:0;z-index:200;background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;box-shadow:0 4px 16px #0000002e;padding:.4rem .5rem;min-width:130px;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem}.lp-filter-panel-actions{display:flex;justify-content:flex-end;margin-bottom:.3rem;padding-bottom:.3rem;border-bottom:1px solid var(--c-border)}.lp-filter-option{display:flex;align-items:center;gap:.4rem;font-size:.8rem;padding:.15rem .2rem;cursor:pointer;border-radius:3px}.lp-filter-option:hover{background:color-mix(in srgb,var(--c-primary) 10%,transparent)}.lp-filter-option input[type=checkbox]{cursor:pointer;accent-color:var(--c-primary)}.lp-actions{display:flex;gap:.4rem;align-items:center}.lp-stats{display:flex;gap:.6rem;align-items:center;margin-left:auto;flex-wrap:wrap}.lp-stat{font-size:.8rem;padding:.2rem .5rem;border-radius:.75rem;background:var(--c-surface);border:1px solid var(--c-border);white-space:nowrap}.lp-stat--warn{background:var(--c-danger-bg, #f8d7da);border-color:var(--c-danger, #dc3545);color:var(--c-danger, #dc3545)}.lp-stat--ok{background:var(--c-success-bg, #d1e7dd);border-color:var(--c-success, #198754);color:var(--c-success, #198754)}.lp-workspace{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.75rem;height:calc(100vh - 260px);min-height:400px}.lp-col{display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:.5rem;overflow:hidden;background:var(--c-surface)}.lp-col-header{font-size:.8rem;font-weight:600;padding:.4rem .75rem;background:var(--c-bg);border-bottom:1px solid var(--c-border);color:var(--c-text-sub);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.lp-col-header--warn{color:var(--c-danger, #dc3545);background:var(--c-danger-bg, #f8d7da)}.lp-col--drag-over{background:var(--c-primary-light, #e8eaff);border-color:var(--c-primary, #667eea);outline:2px dashed var(--c-primary, #667eea);outline-offset:-2px}.lp-leiste-insert{height:4px;border-radius:2px;background:transparent;transition:height .12s ease,background .12s ease;flex-shrink:0;cursor:default}.lp-leiste-insert--active{height:22px;background:var(--c-primary, #667eea);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#fff;font-weight:600;letter-spacing:.03em}.lp-col-scroll{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.lp-col-empty{padding:1rem;color:var(--c-text-sub);font-size:.85rem;text-align:center}.lp-konflikt-row{background:var(--c-bg);border:1px solid var(--c-border);border-radius:.375rem;padding:.4rem .6rem;font-size:.8rem}.lp-konflikt-pair{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.lp-konflikt-vs{color:var(--c-text-sub);font-weight:600}.lp-konflikt-count{margin-top:.2rem;font-size:.75rem;color:var(--c-text-sub)}[data-theme=dark] .lp-stat--warn{background:#dc354526}[data-theme=dark] .lp-stat--ok{background:#19875426}[data-theme=dark] .lp-col-header--warn{background:#dc354526}.kz-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.kz-gruppe-nr{font-weight:600;font-size:.7rem;color:var(--c-text-sub)}.kz-leiste--unassigned{border-color:var(--c-danger, #dc3545);background:var(--c-danger-bg, #f8d7da)}.kz-leiste--extra{border-style:dashed;border-color:var(--c-warning, #ffc107)}.kz-leisten-separator{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:var(--c-text-sub);font-size:.8rem;font-weight:600}.kz-leisten-separator:before,.kz-leisten-separator:after{content:"";flex:1;border-top:2px dashed var(--c-border)}.kz-badge-extra{display:inline-block;background:var(--c-warning, #ffc107);color:var(--c-warning-text, #856404);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .3rem;border-radius:.2rem;vertical-align:middle;line-height:1.2}.ki-hbar-compact .ki-hbar-track{height:7px}.pk-gen-modal{max-width:550px}.pk-gen-hint{font-size:.85rem;color:var(--c-text-sub);line-height:1.5;margin-bottom:1rem}.pk-gen-select-actions{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.pk-gen-count{margin-left:auto;font-size:.8rem;color:var(--c-text-sub);font-weight:600}.pk-gen-table{font-size:.9rem}.pk-gen-check-col{width:2rem;text-align:center}.pk-gen-table tbody tr{cursor:pointer;transition:opacity .15s}.pk-gen-row--disabled{opacity:.45}.pk-gen-table input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--c-primary)}.ki-fach-list{display:flex;flex-direction:column;gap:.55rem;max-height:320px;overflow-y:auto}.ki-fach-row{background:var(--c-surface-alt);border-radius:var(--r-sm);padding:.4rem .55rem}.ki-fach-header{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.ki-fach-meta{font-size:.72rem;color:var(--c-text-muted);flex-shrink:0}.ki-fach-bars{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.ki-diff-badge{font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:10px;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.ki-diff-pos{color:var(--c-success);background:var(--c-success-bg);border:1px solid var(--c-success-border)}.ki-diff-neg{color:var(--c-danger);background:var(--c-danger-bg);border:1px solid var(--c-danger-border)}.ki-diff-neutral{color:var(--c-text-sub);background:var(--c-surface-alt);border:1px solid var(--c-border)}.ki-stufe-meta .ki-diff-pos,.ki-stufe-meta .ki-diff-neg,.ki-stufe-meta .ki-diff-neutral{background:transparent;border:none}.ki-ziel-row{display:flex;align-items:center;gap:.35rem;font-size:.78rem;margin-bottom:.5rem;flex-wrap:wrap}.ki-ziel-label{color:var(--c-text-sub)}.ki-ziel-sep{color:var(--c-text-sub);font-size:.9rem;margin:0 .1rem}.ki-ziel-val{font-weight:700;font-variant-numeric:tabular-nums}.ki-ziel-hoch{color:var(--c-danger)}.ki-ziel-niedrig{color:var(--c-success)}.ki-warning{background:var(--c-warning-bg);border:1px solid var(--c-warning-border);border-radius:var(--r-md);padding:.65rem 1rem;font-size:.82rem;color:var(--c-warning);line-height:1.5}@media(max-width:1100px){.ki-layout{grid-template-columns:1fr}.ki-table-scroll{max-height:400px}.ki-cards{grid-template-columns:repeat(2,1fr)}.ki-stufen-grid{grid-template-columns:1fr}}.leisten-inputs{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.leiste-slot{display:flex;align-items:center;gap:.2rem}.leiste-label{font-size:.75rem;color:var(--c-text-sub);font-weight:600;min-width:1.6rem}.leiste-input{width:3.2rem;padding:.2rem .4rem;border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:.9rem;text-align:center;background:var(--c-surface);color:var(--c-text)}.leiste-input:focus{outline:2px solid var(--c-primary);border-color:var(--c-primary)}.leisten-overview{display:flex;gap:1rem;flex-wrap:wrap}.leiste-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);min-width:160px;overflow:hidden;box-shadow:var(--shadow-xs)}.leiste-card-header{background:var(--c-primary);color:var(--c-text-white);padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.leiste-number{font-weight:700;font-size:1rem}.leiste-card-body{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.35rem}.leiste-kurs-chip{display:flex;align-items:center;gap:.4rem;font-size:.9rem}
