:root{--petrol:#1c3f52;--petrol-dark:#0f2733;--petrol-deep:#0a1920;--petrol-light:#4e7e93;--petrol-pale:#9dbac9;--volt:#3fa66b;--volt-dark:#237a47;--volt-light:#7bc79a;--kupfer:#c97a3b;--kupfer-dark:#9c5a26;--graphite:#182229;--slate:#59666d;--fog:#f1f2ee;--white:#fff;--border:#dee2dc;--danger:#b04035;--danger-bg:#f7e6e3;--warn:#a9791e;--warn-bg:#f7f0df;--heading:var(--petrol);--status-offen:var(--petrol-light);--status-in_arbeit:var(--kupfer);--status-erledigt:var(--volt);--radius:12px;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem}:root[data-theme=dark]{--graphite:#e4e9eb;--slate:#9fb0b7;--fog:#141b20;--white:#1c262c;--border:#33434c;--danger-bg:#3a2521;--warn-bg:#362b17;--heading:var(--petrol-pale);--danger:#e8786a;--kupfer-dark:#d68f52}:root[data-theme=dark] .status-badge.status-offen{color:var(--petrol-pale);background:#23343e}:root[data-theme=dark] .status-badge.status-in_arbeit{background:#3a2e1c}:root[data-theme=dark] .status-badge.status-erledigt{color:var(--volt-light);background:#1c3326}:root[data-theme=dark] .callout.info{color:var(--petrol-pale);background:#23343e}:root[data-theme=dark] .callout.warn{background:#3a2e1c;border-color:#5c471f}:root[data-theme=dark] .kpi.accent{background:#1c3326;border-color:#2a4a37}:root[data-theme=dark] .kpi.accent .kv{color:var(--volt-light)}:root[data-theme=dark] .btn.danger{border-color:#5c332c}:root[data-theme=dark] .filter-panel-badge,:root[data-theme=dark] .dashboard-badge-free{color:var(--kupfer-dark);background:#3a2e1c}:root[data-theme=dark] .card,:root[data-theme=dark] .timeline,:root[data-theme=dark] .board-column{box-shadow:0 4px 24px #0006,inset 0 1px #ffffff0d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--fog);color:var(--graphite);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,Segoe UI,sans-serif;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.01em;margin:0}button{font-family:inherit}.app-shell{grid-template-columns:260px 1fr;height:100vh;display:grid}.app-shell:has(.sidebar.collapsed){grid-template-columns:64px 1fr}.sidebar{background:linear-gradient(160deg, var(--petrol-deep) 0%, var(--petrol-dark) 45%, var(--petrol) 100%);color:#fff;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-topbar{background:var(--white);justify-content:space-between;align-items:center;gap:8px;padding:14px 22px;display:flex}.sidebar.collapsed .sidebar-topbar{justify-content:center;padding:14px 10px}.sidebar-collapse-btn{border:1px solid var(--border);color:var(--slate);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;line-height:1;display:flex}.sidebar-collapse-btn:hover{background:var(--fog)}.sidebar-topbar img{width:auto;height:29px;display:block}.sidebar-brand{border-bottom:1px solid #ffffff1f;padding:18px 22px}.sidebar-wordmark{color:#fff;letter-spacing:-.01em;font-size:1.3rem;font-weight:700}.sidebar-bar{background:linear-gradient(90deg, var(--volt), var(--kupfer));border-radius:2px;width:42px;height:3px;margin-top:9px}.sidebar-tag{letter-spacing:.13em;text-transform:uppercase;color:var(--petrol-pale);margin-top:10px;font-size:.72rem}.sidebar-nav{flex-direction:column;gap:2px;padding:12px 0;display:flex}.sidebar-nav-bottom{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:14px}.sidebar-footer{background:var(--white);border-top:1px solid var(--border);color:var(--slate);align-items:center;gap:8px;padding:10px 22px;font-size:.68rem;display:flex}.sidebar-footer img{filter:grayscale()opacity(.55);width:auto;height:15px;display:block}.sidebar-link{color:#c7d6e0;align-items:center;gap:10px;padding:10px 26px;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover,.sidebar-link.active{color:#fff;background:#ffffff24}.sidebar-link.active{font-weight:600}.sidebar-icon{text-align:center;width:1.1em}.sidebar.collapsed .sidebar-nav{padding:12px 0}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px 0}.app-main{flex-direction:column;width:100%;min-width:0;height:100vh;padding:28px 32px;display:flex;overflow-y:auto}.page-fill-viewport{flex-direction:column;flex:1;min-height:0;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-header h1{color:var(--heading);font-size:1.5rem;font-weight:700}.page-header-actions,.page-header-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-header-actions .checkbox-label{color:var(--slate);flex-direction:row;align-items:center;gap:6px;font-size:.85rem;display:flex}.page-header-search{border:1.5px solid var(--border);font:inherit;background:var(--white);color:var(--graphite);border-radius:8px;width:14em;padding:7px 10px}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--petrol-light);margin-bottom:2px;font-size:.72rem;font-weight:600}.empty-state{color:var(--slate)}.form-error{color:var(--danger);background:var(--danger-bg);margin-bottom:var(--space-md);border-radius:8px;padding:8px 12px;font-size:.85rem}.zelle-email{color:var(--slate);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.8rem;overflow:hidden}.form-hinweis{color:var(--slate);font-size:.72rem;font-weight:400;line-height:1.35}.form-locked-hinweis{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--warn);background:var(--warn-bg);margin-bottom:var(--space-md);border-radius:8px;padding:8px 12px;font-size:.85rem;display:flex}.form-locked-hinweis button{flex-shrink:0}.form-fieldset{border:none;min-width:0;margin:0;padding:0;display:contents}.card{background:var(--white);border:1px solid var(--border);margin-bottom:var(--space-lg);border-radius:16px;padding:20px 22px;box-shadow:0 4px 24px #0f273312,inset 0 1px #ffffffb3}.btn{border:1.5px solid var(--border);background:var(--white);color:var(--graphite);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:.86rem;font-weight:600;transition:all .15s}.btn:hover{border-color:var(--slate)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--petrol), var(--petrol-dark));border-color:var(--petrol-dark);color:#fff;box-shadow:0 2px 6px #0f27334d}.btn.primary:hover{background:linear-gradient(135deg, var(--petrol-dark), var(--petrol-deep))}.btn.danger{color:var(--danger);border-color:#e6c4be;margin-right:auto}.btn.danger:hover{background:var(--danger-bg)}.btn.sm{padding:6px 11px;font-size:.8rem}.btn.sm.active{background:var(--petrol);border-color:var(--petrol);color:#fff}.config-tabs{margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);gap:8px;padding-bottom:10px;display:flex}.config-tab{color:var(--slate);border-radius:8px;padding:8px 14px;font-size:.86rem;font-weight:600;text-decoration:none}.config-tab:hover{background:var(--fog)}.config-tab.active{background:var(--petrol);color:#fff}.theme-toggle{border:1.5px solid var(--border);background:var(--white);color:var(--graphite);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:.86rem;font-weight:600;transition:all .15s;display:flex}.theme-toggle:hover{border-color:var(--slate)}.data-table{border-collapse:collapse;width:100%;font-size:.88rem}.data-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);border-bottom:1.5px solid var(--border);padding:0 8px 8px;font-size:.68rem;font-weight:600}.sortier-kopf{width:100%;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.sortier-kopf:hover,.sortier-kopf:focus-visible,.sortier-kopf.aktiv{color:var(--petrol)}.sortier-pfeil{opacity:.35;font-size:.62rem;line-height:1}.sortier-kopf.aktiv .sortier-pfeil,.sortier-kopf:hover .sortier-pfeil{opacity:1}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 8px}.data-table tr:last-child td{border-bottom:none}.form-inline{gap:var(--space-sm);margin-bottom:var(--space-lg);background:var(--white);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:end;padding:16px 18px;display:flex}.form-inline label{color:var(--slate);gap:var(--space-xs);flex-direction:column;font-size:.78rem;font-weight:500;display:flex}.filter-projekte-label{color:var(--slate);font-size:.78rem;font-weight:500}.projekt-dropdown{gap:var(--space-xs);flex-direction:column;display:flex;position:relative}.projekt-dropdown-toggle{border:1.5px solid var(--border);background:var(--white);color:var(--graphite);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-width:11em;padding:7px 11px;font-size:.82rem;font-weight:500;display:flex}.projekt-dropdown-toggle:hover{border-color:var(--petrol-light)}.projekt-dropdown-caret{color:var(--slate);font-size:.7rem}.projekt-dropdown-panel{z-index:10;background:var(--white);border:1.5px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:220px;max-height:280px;padding:8px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 6px 20px #0a192024}.form-inline label.projekt-dropdown-option,.modal label.projekt-dropdown-option{color:var(--graphite);cursor:pointer;border-radius:6px;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;font-weight:400;display:flex}.projekt-dropdown-option:hover{background:var(--fog)}.projekt-dropdown-empty{color:var(--slate);padding:6px 8px;font-size:.8rem}.form-inline input,.form-inline select{border:1.5px solid var(--border);font:inherit;background:var(--white);color:var(--graphite);border-radius:8px;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--petrol);outline-offset:1px;border-color:var(--petrol)}.status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-block}.status-badge.status-offen{color:var(--petrol-dark);background:#e4eaee}.status-badge.status-in_arbeit{color:var(--kupfer-dark);background:#f1e4d4}.status-badge.status-erledigt{color:var(--volt-dark);background:#e1f3e8}.board-header-actions{align-items:center;gap:var(--space-sm);display:flex}.page-header .btn.primary{text-align:center;min-width:152px;padding:6px 11px;font-size:.8rem}.board-gruppierung-toggle{gap:4px;display:flex}.filter-bar-extra{margin-left:auto}.bucket-create-form{margin-bottom:var(--space-sm);gap:6px;display:flex}.bucket-create-form input{border:1.5px solid var(--border);border-radius:8px;width:14em;padding:6px 10px;font-size:.82rem}.board{gap:var(--space-md);padding-bottom:var(--space-md);flex-wrap:wrap;display:flex}.board-column{background:var(--white);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex-shrink:0;width:270px;max-height:calc(100vh - 190px);transition:box-shadow .1s,border-color .1s;display:flex;box-shadow:0 4px 24px #0f273312,inset 0 1px #ffffffb3}.board-column.drag-over{border-color:var(--petrol);box-shadow:inset 0 0 0 2px var(--petrol-pale)}.board-column-header{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:12px 16px;font-size:.92rem;font-weight:700;display:flex}.board-column-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.board-column-title.editable{cursor:text}.board-column-title.editable:hover{color:var(--heading)}.bucket-rename-form{flex:1}.bucket-rename-form input{border:1.5px solid var(--petrol);border-radius:6px;width:100%;padding:3px 6px;font-size:.88rem;font-weight:700}.board-column-count{color:var(--slate);font-weight:500}.board-column-actions{gap:2px;display:flex}.board-column-action-btn{color:var(--slate);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.7rem}.board-column-action-btn:hover{background:var(--fog);color:var(--heading)}.board-column-action-btn:disabled{opacity:.3;cursor:not-allowed}.board-column-action-btn.danger:hover{background:var(--danger-bg);color:var(--danger)}.board-column-cards{padding:var(--space-sm);gap:var(--space-sm);flex-direction:column;display:flex;overflow-y:auto}.board-card{background:var(--fog);border:1px solid var(--border);cursor:grab;border-radius:8px;padding:11px 13px;transition:all .15s}.board-card:active{cursor:grabbing}.board-card:hover{border-color:var(--petrol);background:#1c3f520d}.board-card.archiviert{opacity:.65;border-style:dashed}.archiv-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--slate);border:1px solid var(--border);border-radius:999px;margin:2px 0 4px;padding:1px 8px;font-size:.68rem;font-weight:600;display:inline-block}.board-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xs);display:flex}.board-card-title{margin-bottom:var(--space-xs);font-size:.9rem;font-weight:600}.favorit-btn{color:var(--petrol-light);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1rem;line-height:1}.favorit-btn.active{color:#e0a300}.board-card-meta{color:var(--slate);font-size:.78rem}.board-card-leitung{color:var(--slate);opacity:.85;letter-spacing:.01em;font-size:.7rem}.board-card-notiz{color:var(--slate);margin-top:var(--space-xs);text-overflow:ellipsis;white-space:nowrap;border-top:1px dashed var(--border);padding-top:var(--space-xs);font-size:.76rem;overflow:hidden}.board-card-footer{margin-top:var(--space-sm);justify-content:space-between;align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.board-card-footer select{border:1.5px solid var(--border);background:var(--white);min-width:0;color:var(--graphite);border-radius:6px;flex:1 1 0;padding:3px 6px;font-size:.75rem}.timeline{background:var(--white);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex:1;min-height:0;padding:18px 20px;display:flex;box-shadow:0 4px 24px #0f273312,inset 0 1px #ffffffb3}.timeline-zoom{color:var(--slate);align-items:center;gap:8px;margin-bottom:12px;font-size:.78rem;display:flex}.timeline-zoom input[type=range]{width:160px;accent-color:var(--petrol)}.timeline-zoom-value{font-variant-numeric:tabular-nums;min-width:3.2em;color:var(--graphite);font-weight:600}.timeline-scroll{flex:1;min-height:0;position:relative;overflow:auto}.timeline-content{position:relative}.timeline-today-line{background:var(--kupfer);z-index:0;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.timeline-header{background:var(--white);z-index:4;border-bottom:1.5px solid var(--border);margin-bottom:4px;padding-bottom:6px;display:flex;position:sticky;top:0}.timeline-track{flex-shrink:0;align-self:stretch;position:relative}.timeline-monat-row{display:flex}.timeline-monat-cell{text-align:center;letter-spacing:.03em;text-transform:uppercase;color:var(--graphite);background:var(--white);border-left:1px solid var(--border);white-space:nowrap;flex-shrink:0;padding:3px 0;font-size:.7rem;font-weight:700;overflow:hidden}.timeline-monat-cell.alt{background:var(--fog)}.timeline-kw-row{display:flex}.timeline-kw-cell{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--petrol);white-space:nowrap;border-left:1px solid #ffffff59;flex-shrink:0;padding:3px 0;font-size:.66rem;font-weight:700;overflow:hidden}.timeline-kw-row-solo .timeline-kw-cell{padding:9px 0;font-size:.78rem}.timeline-projekt{border:1.5px solid var(--petrol-pale);border-radius:8px;width:max-content;min-width:100%;margin-bottom:14px;position:relative}.timeline-meilenstein{background:var(--kupfer);z-index:0;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.timeline-meilenstein-flag{white-space:nowrap;color:var(--kupfer-dark);background:var(--white);border:1px solid var(--kupfer);pointer-events:auto;border-radius:4px;padding:1px 5px;font-size:.68rem;font-weight:700;position:absolute;top:-2px;left:4px}.timeline-meilenstein-buendel{font:inherit;cursor:pointer;color:var(--white);background:var(--kupfer);font-size:.68rem;font-weight:700}.timeline-meilenstein-buendel:hover,.timeline-meilenstein-buendel:focus-visible{background:var(--kupfer-dark)}.timeline-meilenstein-liste{z-index:30;background:var(--white);border:1px solid var(--kupfer);pointer-events:auto;cursor:default;border-radius:6px;flex-direction:column;gap:2px;min-width:180px;max-width:320px;padding:7px 9px;display:flex;position:absolute;left:4px;box-shadow:0 6px 18px #0000002e}.timeline-meilenstein-listeneintrag{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:.72rem;display:flex}.timeline-meilenstein-listenname{color:var(--kupfer-dark);text-overflow:ellipsis;font-weight:600;overflow:hidden}.timeline-meilenstein-listendatum{color:var(--muted);font-variant-numeric:tabular-nums}.timeline-row.timeline-projekt-header-row{min-height:calc(30px + (var(--meilenstein-lanes,1) - 1) * 18px);align-items:stretch}.timeline-label.timeline-projekt-header{color:#fff;background:var(--petrol);border-radius:6.5px 0 0;justify-content:space-between;align-items:center;gap:8px;padding:4px 12px;font-size:.8rem;font-weight:700;display:flex}.timeline-projekt-header-name{overflow-wrap:break-word;white-space:normal;min-width:0;line-height:1.25}.timeline-projekt-header-actions{flex-shrink:0;gap:4px;display:flex}.timeline-projekt-header-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff73;border-radius:4px;padding:2px 6px;font-size:.64rem;font-weight:600;transition:all .15s}.timeline-projekt-header-action-btn:hover{background:#ffffff4d}.timeline-projekt-header-track{background:var(--petrol)}.timeline-daygrid-track{cursor:copy}.timeline-header-auswahl{pointer-events:none;background:#00000040;border-left:1px solid #0000008c;border-right:1px solid #0000008c;position:absolute;top:0;bottom:0}.timeline-row{border-top:1px solid var(--border);align-items:center;width:max-content;min-width:100%;min-height:42px;display:flex}.timeline-projekt .timeline-row:first-child{border-top:none}.timeline-label{padding:0 var(--space-sm) 0 10px;z-index:1;background:var(--white);flex-shrink:0;position:sticky;left:0}.timeline-row.zebra,.timeline-row.zebra .timeline-label{background:var(--fog)}.timeline-ohne-zeitraum-track{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.timeline-ohne-zeitraum-chip{border:1.5px dashed var(--petrol-pale);background:var(--white);color:var(--heading);cursor:pointer;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:.78rem;font-weight:500}.timeline-ohne-zeitraum-chip:hover{border-color:var(--petrol);background:var(--petrol-pale)}.timeline-label-title{font-size:.85rem;font-weight:500}.timeline-label-meta{color:var(--slate);font-size:.75rem}.timeline-bar{background:var(--petrol-light);color:#fff;text-align:left;height:24px;padding:0 var(--space-xs);text-overflow:ellipsis;white-space:nowrap;cursor:grab;border:none;border-radius:6px;font-size:.75rem;font-weight:500;transition:box-shadow .1s,opacity .1s;position:absolute;top:9px;overflow:hidden}.timeline-bar-static{cursor:default}.timeline-bar-stunden{font-variant-numeric:tabular-nums;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.timeline-bar-stunden.frei{color:var(--petrol-dark);font-weight:600}.timeline-bar-abwesenheit-gap{color:var(--graphite);background-color:var(--border);pointer-events:none;background-image:repeating-linear-gradient(45deg,#ffffff80 0 4px,#0000 4px 8px);justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}button.timeline-bar.archiviert{opacity:.55}button.timeline-bar.kein-mitarbeiter{background:var(--white);border:1.5px dashed var(--petrol-pale);color:var(--heading)}button.timeline-bar.dragging{cursor:grabbing;opacity:.85;z-index:5;transition:none;box-shadow:0 3px 10px #00000059}button.timeline-bar.resizing{z-index:5;transition:none}.timeline-bar-resize-handle{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0}.timeline-bar-resize-handle.links{left:0}.timeline-bar-resize-handle.rechts{right:0}.timeline-bar-resize-handle:hover{background:#ffffff59}.timeline-touch-info{z-index:1000;background:var(--petrol-dark);color:#fff;white-space:normal;pointer-events:none;border-radius:8px;width:min(90vw,620px);padding:10px 14px;font-size:.82rem;line-height:1.4;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0000004d}.timeline-bar,.timeline-bar-resize-handle{touch-action:none;-webkit-user-select:none;user-select:none}@media (pointer:coarse){.timeline-bar-resize-handle:after{content:"";width:24px;position:absolute;top:-6px;bottom:-6px}.timeline-bar-resize-handle.links:after{left:-8px}.timeline-bar-resize-handle.rechts:after{right:-8px}}.modal-overlay{z-index:100;background:#0a192080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--white);gap:var(--space-sm);border-radius:12px;flex-direction:column;width:100%;max-width:420px;max-height:88vh;padding:24px;display:flex;overflow-y:auto}.modal.modal-aufgabe{max-width:820px}.modal-zwei-spalten{align-items:flex-start;gap:24px;display:flex}.modal-spalte-links,.modal-spalte-rechts{gap:var(--space-sm);flex-direction:column;flex:1;min-width:0;display:flex}@media (max-width:720px){.modal-zwei-spalten{flex-direction:column}}.modal h2{color:var(--heading);margin-bottom:6px;font-size:1.1rem;font-weight:700}.modal label{gap:var(--space-xs);color:var(--slate);flex-direction:column;font-size:.78rem;font-weight:500;display:flex}.modal .checkbox-label,.form-inline .checkbox-label{flex-direction:row;align-items:center;gap:6px;display:flex}.modal input,.modal select,.modal textarea{border:1.5px solid var(--border);font:inherit;color:var(--graphite);border-radius:8px;padding:8px 10px}.modal textarea{resize:vertical}.benutzer-neu{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;display:grid}.benutzer-neu label{gap:var(--space-xs);color:var(--slate);flex-direction:column;font-size:.78rem;font-weight:500;display:flex}.form-row{gap:var(--space-sm);display:flex}.form-row label{flex:1}.modal-actions{gap:var(--space-sm);margin-top:var(--space-sm);justify-content:flex-end;display:flex}.form-feldhinweis{color:var(--slate);margin:-4px 0 0;font-size:.74rem}.modal-hinweis{color:var(--slate);align-self:center;max-width:32em;margin-right:auto;font-size:.78rem}.rechte-tabelle{border-collapse:collapse;width:100%;font-size:.88rem}.rechte-tabelle th,.rechte-tabelle td{border-bottom:1px solid var(--line,#1c3f521f);text-align:left;padding:8px 10px}.rechte-tabelle th.rechte-rolle,.rechte-tabelle td.rechte-zelle{text-align:center;width:140px}.rechte-tabelle tr.rechte-gruppe td{letter-spacing:.04em;text-transform:uppercase;color:var(--slate);border-bottom:none;padding-top:16px;font-size:.78rem;font-weight:600}.rechte-tabelle input[type=checkbox]{cursor:pointer;width:17px;height:17px}.rechte-tabelle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.log-aktionen{gap:var(--space-sm);align-items:center;display:flex}.hinweis-bereich{z-index:90;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:20px;right:20px}.hinweis-toast{pointer-events:auto;align-items:flex-start;gap:var(--space-sm);border-left:4px solid var(--orange,#d98324);background:var(--white);border-radius:10px;max-width:380px;padding:12px 14px;display:flex;box-shadow:0 6px 24px #0a192038}.hinweis-toast-text{margin:0;font-size:.85rem;line-height:1.35}.hinweis-toast-liste{font-variant-numeric:tabular-nums;margin:6px 0 0;padding-left:18px;font-size:.82rem}.hinweis-toast-schliessen{cursor:pointer;color:var(--slate);background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:1.1rem;line-height:1}.hinweis-toast-schliessen:hover{color:var(--ink,inherit)}.modal.modal-bestaetigung{max-width:380px}.modal-bestaetigung p{margin:0}.bestaetigung-details{margin:var(--space-sm) 0 0;flex-direction:column;gap:4px;font-size:.85rem;display:flex}.bestaetigung-details>div{gap:var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.bestaetigung-hinweis{color:var(--slate);font-size:.82rem}.modal.modal-gefahr{border-top:4px solid var(--danger);max-width:440px}.gefahr-label{color:var(--danger);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:flex}.modal-gefahr .gefahr-text{background:var(--danger-bg);border-radius:8px;padding:10px 12px;font-size:.88rem;line-height:1.45}.btn.btn-gefahr{background:var(--danger);border-color:var(--danger);color:var(--white)}.btn.btn-gefahr:hover{filter:brightness(.92)}.btn.btn-icon{justify-content:center;align-items:center;padding:6px 10px;display:inline-flex}.bestaetigung-details dt{color:var(--slate)}.bestaetigung-details dd{font-variant-numeric:tabular-nums;margin:0}.aufgabe-zeitstempel{margin:var(--space-sm) 0 0;color:var(--slate);font-size:.72rem}.meilenstein-liste{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.meilenstein-liste li{background:var(--fog);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:.82rem;display:flex}.meilenstein-liste li.meilenstein-bearbeitung{background:var(--white);box-shadow:inset 0 0 0 1px var(--kupfer)}.meilenstein-bearbeitung input[type=date]{flex:none}.meilenstein-bearbeitung input:not([type=date]){flex:auto;min-width:0}.meilenstein-liste li span:first-child{color:var(--slate);font-variant-numeric:tabular-nums;flex-shrink:0}.meilenstein-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.meilenstein-add-form{gap:6px;margin-top:8px;display:flex}.meilenstein-add-form input[type=date]{flex-shrink:0;width:9.5em}.meilenstein-add-form input:not([type=date]){flex:1;min-width:0}.meilenstein-liste li.abschnitt-item{flex-direction:column;align-items:stretch;gap:4px;padding:5px 8px}.abschnitt-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.wochenstunden-editor{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}label.wochenstunden-editor-row{color:var(--slate);flex-direction:row;align-items:center;gap:3px;font-size:.74rem;display:flex}.wochenstunden-editor-row input{border:1.5px solid var(--border);border-radius:4px;width:3.4em;padding:2px 4px;font-size:.78rem}.wochenstunden-editor-unit{color:var(--slate)}.wochenstunden-editor-row.blockiert span:first-child{color:var(--slate);font-weight:600}.wochenstunden-editor-row.blockiert input{border-color:var(--border);background:var(--fog);color:var(--slate)}.datumsfeld-kw{color:var(--slate);margin-top:2px;font-size:.68rem}.farbe-picker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.farbe-swatch-btn{border:1.5px solid var(--border);background:var(--white);color:var(--slate);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 6px;font-size:.78rem;font-weight:500;display:flex}.farbe-swatch-btn:hover{border-color:var(--petrol-light)}.farbe-swatch-btn.ausgewaehlt{border-color:var(--petrol);background:var(--petrol-pale);color:var(--petrol-dark);font-weight:700}.farbe-swatch{border-radius:50%;flex-shrink:0;width:16px;height:16px;box-shadow:inset 0 0 0 1px #0000001f}.kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (max-width:760px){.kpis{grid-template-columns:1fr 1fr}}.kpi{background:var(--fog);border:1px solid var(--border);border-radius:9px;padding:13px 15px}.kpi.accent{background:#e4f6ec;border-color:#b9e3c9}.kpi .kl{letter-spacing:.06em;text-transform:uppercase;color:var(--slate);margin-bottom:5px;font-size:.66rem;font-weight:600}.kpi .kv{font-size:1.3rem;font-weight:700;line-height:1.1}.kpi.accent .kv{color:var(--volt-dark)}.kpi .ks{color:var(--slate);margin-top:3px;font-size:.72rem}.callout{border-radius:8px;gap:9px;margin-bottom:12px;padding:11px 13px;font-size:.84rem;display:flex}.callout.info{border:1px solid var(--petrol-pale);color:var(--petrol-dark);background:#e4eaee}.callout.warn{color:var(--kupfer-dark);background:#f1e4d4;border:1px solid #e0bd97}.callout .m{font-weight:700}.timeline-row.timeline-section-header-row{min-height:30px}.timeline-label.timeline-section-header{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);justify-content:space-between;align-items:center;gap:8px;padding:2px 10px;font-size:.72rem;font-weight:700;display:flex}.timeline-label.timeline-section-header .btn{text-transform:none;letter-spacing:normal;padding:2px 8px}.timeline-bar.abwesenheit-voll,.timeline-bar.abwesenheit-teilweise{cursor:default}.timeline-bar.abwesenheit-voll{background:repeating-linear-gradient(135deg, var(--slate), var(--slate) 6px, #3d4a52 6px, #3d4a52 12px)}.timeline-bar.abwesenheit-teilweise{background:repeating-linear-gradient(135deg, var(--petrol-light), var(--petrol-light) 6px, #375c6b 6px, #375c6b 12px)}.auslastung-badge{vertical-align:middle;cursor:pointer;background:0 0;border:none;margin-left:6px;padding:0;font-family:inherit;font-size:.6rem;line-height:1}.auslastung-badge:hover{transform:scale(1.3)}.auslastung-badge-over{color:var(--danger)}.auslastung-badge-ok{color:var(--volt)}.auslastung-badge-free{color:var(--kupfer)}.auslastung-badge-urlaub{color:var(--slate)}.dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 16px;display:flex}.kw-nav{align-items:center;gap:4px;display:flex}.kw-nav-label{color:var(--slate);text-align:center;min-width:12em;font-size:.82rem;font-weight:500}.dashboard-fenster-select{color:var(--slate);align-items:center;gap:6px;font-size:.8rem;display:flex}.dashboard-fenster-select select{border:1.5px solid var(--border);border-radius:6px;padding:4px 6px;font-size:.82rem}.dashboard-summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}@media (max-width:640px){.dashboard-summary-grid{grid-template-columns:1fr}}.dashboard-metric{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.dashboard-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--heading);margin-bottom:4px;font-size:.68rem;font-weight:600}.dashboard-metric-value{color:var(--graphite);font-size:1.6rem;font-weight:600}.dashboard-metric-value.danger{color:var(--danger)}.dashboard-metric-value.kupfer{color:var(--kupfer)}.dashboard-metric-value.volt{color:var(--volt)}.dashboard-metric-sub{color:var(--slate);margin-top:2px;font-size:.7rem}.dashboard-person-grid{flex-direction:column;gap:8px;display:flex}.dashboard-person-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden}.dashboard-person-header{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.dashboard-avatar{background:var(--petrol-pale);width:34px;height:34px;color:var(--petrol-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:600;display:flex}.dashboard-person-info{flex-direction:column;flex:0 0 180px;display:flex;overflow:hidden}.dashboard-person-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.dashboard-person-meta{color:var(--slate);font-size:.72rem}.dashboard-bars{flex:1;gap:3px;min-width:0;display:flex}.dashboard-bar-item{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:4px;display:flex}.dashboard-bar-kw{color:var(--slate);font-variant-numeric:tabular-nums;font-size:.66rem}.dashboard-bar-track{background:var(--fog);border-radius:4px;width:100%;height:11px;display:block;overflow:hidden}.dashboard-bar-track.urlaub{background:repeating-linear-gradient(135deg, var(--border) 0px, var(--border) 3px, var(--fog) 3px, var(--fog) 7px)}.dashboard-bar-delta{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.66rem;font-weight:600}.dashboard-bar-delta.status-over{color:var(--danger)}.dashboard-bar-delta.status-free{color:var(--kupfer)}.dashboard-bar-delta.status-ok{color:var(--volt)}.dashboard-bar-delta.status-urlaub{color:var(--slate)}.dashboard-bar-fill{border-radius:4px;height:100%;display:block}.dashboard-bar-fill.status-over{background:var(--danger)}.dashboard-bar-fill.status-free{background:var(--kupfer)}.dashboard-bar-fill.status-ok{background:var(--volt)}.dashboard-bar-fill.status-urlaub{background:var(--slate)}.badge{white-space:nowrap;text-align:center;border-radius:999px;flex-shrink:0;min-width:4.2em;padding:3px 10px;font-size:.72rem;font-weight:500}.filter-panel-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.filter-panel-label{color:var(--slate);font-size:.78rem;font-weight:500}.filter-panel-badge{color:var(--kupfer);background:#fbe9d9}.dashboard-badge-over{background:var(--danger-bg);color:var(--danger)}.dashboard-badge-free{color:var(--kupfer);background:#fbe9d9}.dashboard-badge-ok{background:var(--fog);color:var(--volt)}.dashboard-badge-urlaub{background:var(--fog);color:var(--slate)}.chevron{color:var(--slate);text-align:center;flex-shrink:0;width:16px;font-size:1rem;transition:transform .15s}.chevron.open{transform:rotate(180deg)}.wochen-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.wochen-chip{background:var(--warn-bg);color:var(--heading);cursor:pointer;border:1.5px solid #0000;border-radius:999px;align-items:baseline;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.wochen-chip:hover{border-color:var(--border)}.wochen-chip.aktiv{background:var(--card);border-color:var(--volt-dark);color:var(--volt-dark)}.wochen-chip-delta{font-size:.78rem;font-weight:500}.buchungs-liste{margin:0;padding:0;list-style:none}.buchungs-liste li{border-bottom:1px solid var(--border);align-items:baseline;gap:14px;padding:9px 2px;display:flex}.buchung-stunden{color:var(--heading);flex:0 0 44px;font-size:.86rem;font-weight:700}.buchung-text{min-width:0;font-size:.86rem}.buchung-projekt{color:var(--petrol);font-weight:600}.buchung-trenner{color:var(--border)}.wochen-chip-delta.status-over,.buchungs-fuss .status-over{color:var(--danger)}.wochen-chip-delta.status-free,.buchungs-fuss .status-free{color:var(--kupfer)}.wochen-chip-delta.status-ok,.buchungs-fuss .status-ok{color:var(--volt)}.wochen-chip-delta.status-urlaub,.buchungs-fuss .status-urlaub{color:var(--slate)}.buchungs-fuss{color:var(--slate);justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;font-size:.86rem;font-weight:500;display:flex}.dashboard-person-detail{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.dashboard-wochen-detail-header{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px 10px;font-size:.8rem;font-weight:500;display:flex}.dashboard-wochen-status{white-space:nowrap;font-size:.74rem;font-weight:500}.dashboard-wochen-status-over{color:var(--danger)}.dashboard-wochen-status-free{color:var(--kupfer)}.dashboard-wochen-status-ok{color:var(--volt)}.dashboard-wochen-status-urlaub{color:var(--slate)}.dashboard-detail-liste{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex}.dashboard-detail-liste li{color:var(--slate);gap:8px;font-size:.78rem;display:flex}.dashboard-detail-liste li span:first-child{font-variant-numeric:tabular-nums;color:var(--graphite);flex-shrink:0;width:3em}.log-liste{flex-direction:column;margin:0;padding:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.78rem;list-style:none;display:flex}.log-zeile{border-bottom:1px solid var(--linie,#59666d1f);white-space:nowrap;align-items:baseline;gap:10px;padding:3px 0;display:flex}.log-zeit{color:var(--slate);font-variant-numeric:tabular-nums;flex-shrink:0}.log-aktion{text-transform:capitalize;flex-shrink:0;width:5.5em;font-weight:700}.log-aktion-angelegt{color:var(--petrol,#3fa66b)}.log-aktion-geaendert{color:var(--kupfer-dark)}.log-aktion-geloescht{color:var(--danger)}.log-entitaet{width:6.5em;color:var(--slate);flex-shrink:0}.log-text{color:var(--graphite);text-overflow:ellipsis;overflow:hidden}.meilenstein-liste li.abschnitt-item.vergangen{background:color-mix(in srgb, var(--slate) 12%, var(--white));border-color:color-mix(in srgb, var(--slate) 34%, var(--border));opacity:.78}.timeline-context-backdrop{z-index:1190;background:0 0;border:0;position:fixed;inset:0}.timeline-context-menu{z-index:1200;border:1px solid var(--border);background:var(--white);border-radius:8px;min-width:190px;padding:5px;position:fixed;box-shadow:0 10px 30px #0000002e}.timeline-context-menu button{width:100%;color:var(--graphite);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:8px 10px}.timeline-context-menu button:hover:not(:disabled){background:var(--fog)}.log-akteur{color:var(--slate);flex-shrink:0;margin-left:auto;font-size:.78rem}.realtime-status{background:#d9832424;border-radius:8px;align-items:flex-start;gap:8px;margin:0 12px 8px;padding:8px 10px;font-size:.72rem;line-height:1.3;display:flex}.realtime-status-punkt{background:var(--orange,#d98324);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.sidebar-identitaet{flex-direction:column;gap:1px;min-width:0;padding:0 12px 8px;display:flex}.sidebar-identitaet-label{text-transform:uppercase;letter-spacing:.04em;color:var(--slate);opacity:.65;font-size:.65rem}.sidebar-identitaet-name{color:var(--slate);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.sidebar-theme{align-items:stretch;gap:8px;padding:0 12px 10px;display:flex}.sidebar-theme .theme-toggle.nur-symbol{flex:none;justify-content:center;width:36px;height:36px;padding:0}.sidebar-theme .sidebar-abmelden{flex:auto;justify-content:center;min-width:0}.sidebar.collapsed .sidebar-theme{justify-content:center;padding-inline:0}.bucket-liste{margin:var(--space-sm) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.bucket-liste li{gap:var(--space-sm);align-items:center;display:flex}.bucket-liste input{flex:1;max-width:320px}.jahresabschluss-vorschau{background:#1c3f520d;border-radius:10px;padding:12px 14px;font-size:.85rem}.jahresabschluss-vorschau p{margin:0}.modal.modal-mitarbeiter{max-width:640px}.sidebar-rolle{background:#1c3f5229;border-radius:8px;flex-direction:column;gap:4px;margin:0 12px 8px;padding:8px 10px;display:flex}.sidebar-rolle label{letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:4px;font-size:.7rem;display:flex}.sidebar-rolle select{width:100%}.sidebar-rolle-hinweis{opacity:.75;font-size:.68rem;line-height:1.25}.mitarbeiter-aktionen{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.sidebar-abmelden{padding:0 12px 12px}.sidebar-abmelden .btn{justify-content:center;width:100%}:root{--segment-verplant:#24658a;--segment-allgemein:#8855a3;--segment-nicht-geplant:#858585;--segment-abwesend:#aa6500}:root[data-theme=dark]{--segment-verplant:#71b9e2;--segment-allgemein:#c99be2;--segment-nicht-geplant:#8c8c8c;--segment-abwesend:#edb65b}.stundenverteilung-karte{background:var(--white);border:1px solid var(--border);border-radius:10px;margin-bottom:18px;padding:14px 16px 16px}.stundenverteilung-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stundenverteilung-titel{color:var(--graphite);font-size:.94rem;font-weight:600}.stundenverteilung-toggle{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.stundenverteilung-sub{color:var(--slate);margin:2px 0 0;font-size:.72rem}.stundenverteilung-kapazitaet{flex-direction:column;align-items:flex-end;display:flex}.stundenverteilung-kapazitaet-wert{color:var(--graphite);font-size:1.2rem;font-weight:600}.stundenverteilung-kapazitaet-label{text-transform:uppercase;letter-spacing:.05em;color:var(--petrol);font-size:.68rem;font-weight:600}.stundenverteilung-body{flex-wrap:wrap;align-items:center;gap:24px;margin-top:12px;display:flex}.stundenverteilung-donut{flex:none;width:160px}.stundenverteilung-donut svg{width:100%;height:auto;display:block}.stundenverteilung-bogen{transition:opacity .12s}.stundenverteilung-bogen.gedimmt{opacity:.32}.stundenverteilung-mitte-wert,.stundenverteilung-mitte-label{pointer-events:none}.stundenverteilung-mitte-wert{text-anchor:middle;fill:var(--graphite);font-size:22px;font-weight:600}.stundenverteilung-mitte-label{text-anchor:middle;letter-spacing:.05em;text-transform:uppercase;fill:var(--slate);font-size:9px;font-weight:600}.stundenverteilung-legende{flex-direction:column;flex:260px;gap:2px;min-width:240px;max-width:420px;margin:0;padding:0;list-style:none;display:flex}.stundenverteilung-legende-zeile{color:var(--graphite);border-radius:6px;grid-template-columns:12px 1fr auto 3.5em;align-items:center;gap:8px;padding:3px 6px;font-size:.8rem;display:grid}.stundenverteilung-legende-zeile.aktiv{background:var(--fog)}.stundenverteilung-legende-zeile.leer{color:var(--slate);opacity:.55}.stundenverteilung-swatch{background:var(--slate);border-radius:3px;width:12px;height:12px}.stundenverteilung-legende-stunden,.stundenverteilung-legende-pct{font-variant-numeric:tabular-nums}.stundenverteilung-legende-pct{text-align:right;color:var(--slate)}.stundenverteilung-hinweis{color:var(--danger);margin:10px 0 0;font-size:.74rem}.segment-verplant{stroke:var(--segment-verplant);background:var(--segment-verplant)}.segment-allgemein{stroke:var(--segment-allgemein);background:var(--segment-allgemein)}.segment-nichtGeplant{stroke:var(--segment-nicht-geplant);background:var(--segment-nicht-geplant)}.segment-abwesend{stroke:var(--segment-abwesend);background:var(--segment-abwesend)}@media (max-width:640px){.stundenverteilung-body{gap:14px}.stundenverteilung-legende{min-width:100%}}.stundenverteilung-reiter{border-bottom:1px solid var(--border);gap:4px;margin:12px 0 4px;display:flex}.stundenverteilung-reiter-btn{font:inherit;color:var(--slate);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 10px;font-size:.8rem;font-weight:500}.stundenverteilung-reiter-btn:hover{color:var(--graphite)}.stundenverteilung-reiter-btn.aktiv{color:var(--petrol);border-bottom-color:var(--petrol);font-weight:600}.projektstunden-liste{flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.projektstunden-zeile{grid-template-columns:minmax(8em,16em) 1fr auto 3.5em;align-items:center;gap:10px;font-size:.8rem;display:grid}.projektstunden-label{color:var(--graphite);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projektstunden-track{background:var(--fog);border-radius:3px;height:18px;overflow:hidden}.projektstunden-fill{background:var(--segment-verplant);border-radius:3px 4px 4px 3px;min-width:3px;height:100%;display:block}.projektstunden-fill.allgemein{background:var(--segment-allgemein)}.projektstunden-wert,.projektstunden-pct{font-variant-numeric:tabular-nums;text-align:right}.projektstunden-wert{color:var(--graphite)}.projektstunden-pct{color:var(--slate)}.projektstunden-rest{color:var(--slate);margin:10px 0 0;font-size:.74rem}@media (max-width:640px){.projektstunden-zeile{grid-template-columns:1fr auto;grid-template-areas:"label wert""track track";gap:4px 8px}.projektstunden-label{grid-area:label}.projektstunden-track{grid-area:track}.projektstunden-wert{grid-area:wert}.projektstunden-pct{display:none}}.anmeldung-pruefung{background:var(--fog);min-height:100vh}.anmeldung-seite{min-height:100vh;padding:var(--space-md);background:linear-gradient(160deg, var(--petrol-deep) 0%, var(--petrol-dark) 55%, var(--petrol) 100%);justify-content:center;align-items:center;display:flex}.anmeldung-karte{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:22rem;padding:26px 26px 24px;display:flex;box-shadow:0 18px 48px -20px #0a19208c}.anmeldung-karte>form{flex-direction:column;gap:14px;display:flex}.anmeldung-marke{flex-direction:column;gap:8px;display:flex}.anmeldung-wortmark{letter-spacing:-.01em;color:var(--heading,var(--petrol));font-size:1.25rem;font-weight:700}.anmeldung-balken{background:linear-gradient(90deg, var(--volt), var(--kupfer));border-radius:2px;width:42px;height:3px}.anmeldung-text{color:var(--slate);margin:0;font-size:.86rem}.anmeldung-feld{color:var(--slate);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.anmeldung-hinweis{color:var(--slate);opacity:.85;margin:-4px 0 0;font-size:.75rem;line-height:1.5}.anmeldung-hinweis code{background:var(--surface-2,#7f7f7f1f);border-radius:3px;padding:1px 4px;font-size:.72rem}.anmeldung-feld input{font:inherit;color:var(--graphite);background:var(--white);border:1.5px solid var(--border);border-radius:8px;padding:9px 11px;font-size:.95rem}.anmeldung-feld input:focus-visible{outline:2px solid var(--petrol-light);outline-offset:1px;border-color:var(--petrol-light)}.anmeldung-karte .btn{margin-top:2px}.mobil-menue-knopf,.sidebar-overlay{display:none}@media (max-width:900px){:is(.app-shell,.app-shell:has(.sidebar.collapsed)){grid-template-columns:1fr;height:auto;min-height:100dvh}.sidebar,.sidebar.collapsed{z-index:60;width:min(82vw,300px);height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.mobil-offen{transform:none}.sidebar.collapsed .sidebar-brand,.sidebar.collapsed .sidebar-link span+*,.sidebar-topbar .sidebar-collapse-btn{display:revert}.sidebar-topbar .sidebar-collapse-btn{display:none}.sidebar-overlay{z-index:50;background:#0a192073;display:block;position:fixed;inset:0}.mobil-menue-knopf{z-index:40;border:1.5px solid var(--border);background:var(--card);width:42px;height:42px;color:var(--heading);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex;position:fixed;top:10px;left:10px}.app-main{height:auto;min-height:100dvh;padding:62px 14px 20px}.page-fill-viewport{min-height:70dvh}.page-header{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.page-header h1{font-size:1.25rem}.card:has(.data-table){overflow-x:auto}.data-table{min-width:560px}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar>*{width:100%}.modal{max-width:none;max-height:92dvh;padding:18px}.dashboard-person-grid{grid-template-columns:1fr}.dashboard-bars{display:none}}.ueber-knopf{border:1.5px solid var(--border);width:22px;height:22px;color:var(--slate);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:.82rem;font-style:italic;line-height:1;display:inline-grid}.ueber-knopf:hover{border-color:var(--petrol);color:var(--petrol)}.ueber-karte .ueber-daten{grid-template-columns:auto minmax(0,1fr);gap:8px 18px;margin:0;font-size:.88rem;display:grid}.ueber-karte dt{color:var(--slate);font-weight:500}.ueber-karte dd{color:var(--heading);margin:0}.ueber-karte .ueber-autor{flex-direction:column;display:flex}.ueber-karte .ueber-autor+.ueber-autor{margin-top:6px}.ueber-karte .ueber-autor a{color:var(--petrol-light);font-size:.82rem}.jahresauswertung-jahr{gap:6px;display:flex}.jahresauswertung-balken{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;height:190px;margin:14px 0 12px;display:grid;position:relative}.jahresauswertung-linie{border-top:1px dashed var(--slate);pointer-events:none;z-index:1;position:absolute;left:0;right:0}.jahresauswertung-linie span{color:var(--slate);font-size:.66rem;position:absolute;top:-15px;right:0}.jahresauswertung-spalte{flex-direction:column;align-items:stretch;min-width:0;display:flex}.jahresauswertung-wert{text-align:center;height:14px;color:var(--slate);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.66rem;line-height:14px;overflow:hidden}.jahresauswertung-bahn{flex:1;align-items:flex-end;display:flex;position:relative}.jahresauswertung-saeule{background:var(--slate);border-radius:4px 4px 0 0;width:100%;min-height:2px}.jahresauswertung-saeule.status-over{background:var(--danger)}.jahresauswertung-saeule.status-ok{background:var(--volt)}.jahresauswertung-saeule.status-free{background:var(--kupfer)}.jahresauswertung-monat{text-align:center;height:18px;color:var(--graphite);white-space:nowrap;font-size:.7rem;line-height:18px}.jahresauswertung-spalte.staerkster .jahresauswertung-monat,.jahresauswertung-spalte.schwaechster .jahresauswertung-monat,.jahresauswertung-spalte.staerkster .jahresauswertung-wert,.jahresauswertung-spalte.schwaechster .jahresauswertung-wert{color:var(--heading);font-weight:700}.jahresauswertung-tabelle-rahmen{margin-bottom:8px;overflow-x:auto}.jahresauswertung-tabelle{border-collapse:separate;border-spacing:2px;width:100%;font-size:.72rem}.jahresauswertung-tabelle th{color:var(--slate);text-align:center;white-space:nowrap;padding:2px 4px;font-weight:600}.jahresauswertung-tabelle tbody th{text-align:left;color:var(--graphite);background:var(--white);font-weight:500;position:sticky;left:0}.jahresauswertung-zelle{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--fog);color:var(--slate);border-radius:4px;padding:3px 4px}.jahresauswertung-zelle.status-over{background:var(--danger-bg);color:var(--danger)}.jahresauswertung-zelle.status-ok{color:var(--volt-dark);background:#3fa66b29}.jahresauswertung-zelle.status-free{color:var(--kupfer-dark);background:#c97a3b29}.jahresauswertung-zelle.gesamt{font-weight:700}:root[data-theme=dark] .jahresauswertung-zelle.status-ok{color:var(--volt-light)}.jahresauswertung-jahr{flex-wrap:wrap}.jahresauswertung-vergleich-schalter{font-size:.8rem}.jahresauswertung-bahn.mit-vergleich{gap:3px}.jahresauswertung-bahn.mit-vergleich .jahresauswertung-saeule{flex:1;min-width:0}.jahresauswertung-saeule.vorjahr{background:repeating-linear-gradient(135deg, var(--slate) 0 3px, var(--border) 3px 6px)}.jahresauswertung-vorjahreswert{color:var(--graphite);white-space:nowrap;margin-top:3px;font-size:.65rem;font-weight:400;display:block}.jahresprojekte-filter{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.jahresprojekte-filter label{align-items:center;gap:8px;display:flex}.jahresprojekte-filter input{min-width:180px}.dashboard-projekt-grid{margin-top:16px}.dashboard-projekt-fill{background:var(--segment-verplant)}.dashboard-projekt-stunden{white-space:nowrap;color:var(--graphite);background:var(--fog)}
