.shell{min-height:100vh;display:flex;flex-direction:column}.shell-header{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.shell-logo{font-size:18px;font-weight:700;flex-shrink:0}.shell-nav{display:flex;gap:4px;flex:1;overflow-x:auto}.nav-item{color:var(--text-muted);font-size:14px;padding:6px 14px;border-radius:var(--radius-sm);white-space:nowrap;transition:background .2s,color .2s}.nav-item:hover{background:var(--bg-input);color:var(--text)}.nav-item--aktiv{background:var(--accent-soft);color:var(--accent);font-weight:600}.shell-logout{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px;padding:6px 12px;flex-shrink:0;transition:border-color .2s,color .2s}.shell-logout:hover{border-color:var(--danger);color:var(--danger)}.shell-main{flex:1;padding:24px 20px;max-width:900px;width:100%;margin:0 auto}.shell-footer{text-align:center;padding:14px;border-top:1px solid var(--border)}.shell-footer a{font-size:12px;color:var(--text-faint)}.login-seite{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.login-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px 32px;box-shadow:var(--shadow)}.login-logo{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px;text-align:center}.logo-shift{color:var(--text)}.logo-flow{color:var(--accent);font-weight:300}.login-untertitel{text-align:center;color:var(--text-muted);font-size:14px;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:16px}.feld input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:12px 14px;outline:none;transition:border-color .2s}.login-fehler{background:#ff5c5c1a;border:1px solid rgba(255,92,92,.3);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;padding:10px 14px;text-align:center}.login-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:15px;font-weight:600;padding:13px;margin-top:4px;transition:opacity .2s}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:24px;text-align:center;font-size:12px}.login-footer a{color:var(--text-faint)}.login-footer a:hover{color:var(--text-muted)}.einladung-seite{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.einladung-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px 32px;box-shadow:var(--shadow)}.einladung-logo{font-size:24px;font-weight:700;color:var(--text);text-align:center;margin-bottom:24px}.einladung-logo span{color:var(--accent);font-weight:300}.einladung-titel{font-size:20px;font-weight:700;margin-bottom:8px;text-align:center}.einladung-text{color:var(--text-muted);font-size:14px;text-align:center;margin-bottom:24px;line-height:1.6}.einladung-text strong{color:var(--text)}.einladung-form{display:flex;flex-direction:column;gap:16px}.feld input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:11px 14px;outline:none;transition:border-color .2s}.einladung-fehler{background:#ff5c5c1a;border:1px solid rgba(255,92,92,.3);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;padding:10px 14px;text-align:center}.einladung-fehler-box{text-align:center}.einladung-fehler-box h2{font-size:18px;margin-bottom:10px}.einladung-fehler-box p{color:var(--text-muted);font-size:14px}.einladung-fertig{text-align:center}.einladung-fertig h2{font-size:20px;margin-bottom:10px}.einladung-icon{font-size:40px;margin-bottom:16px}.einladung-footer{margin-top:24px;text-align:center}.einladung-footer a{font-size:12px;color:var(--text-faint)}.sf-btn{border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;padding:11px 20px;cursor:pointer;width:100%;transition:opacity .2s}.sf-btn--klein{padding:7px 14px;font-size:13px;width:auto}.dashboard{width:100%}.dash-laden{text-align:center;color:var(--text-muted);padding:60px 0}.dash-willkommen{margin-bottom:24px}.dash-willkommen h1{font-size:22px;font-weight:700;margin-bottom:4px}.dash-willkommen p{color:var(--text-muted);font-size:14px}.dash-hinweis{margin-top:10px;background:#f5a6231a;border:1px solid rgba(245,166,35,.3);border-radius:var(--radius-sm);color:var(--warning);font-size:13px;padding:10px 14px}.dash-hinweis a{color:var(--warning);font-weight:600}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.stat-zahl{font-size:28px;font-weight:700;color:var(--accent);line-height:1;margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-muted)}.dash-sektion{margin-bottom:28px}.dash-sektion h2{font-size:16px;font-weight:600;margin-bottom:14px}.dash-kacheln{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.kachel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 16px;cursor:pointer;transition:border-color .2s,background .2s;text-decoration:none;display:block}.kachel:hover{border-color:var(--accent);background:var(--accent-soft)}.kachel--bald{opacity:.5;cursor:default;pointer-events:none}.kachel-icon{font-size:24px;margin-bottom:8px}.kachel-titel{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}.kachel-sub{font-size:12px;color:var(--text-faint)}.stamm-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.stamm-tabs{display:flex;gap:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.stamm-tab{background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-size:14px;font-weight:500;padding:7px 18px;transition:background .2s,color .2s}.stamm-tab--aktiv{background:var(--accent);color:#fff}.stamm-tab:hover:not(.stamm-tab--aktiv){background:var(--bg-input);color:var(--text)}.stamm-meldung{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px;padding:12px 16px}.stamm-meldung--ok{background:#2ecc871a;color:var(--success);border:1px solid rgba(46,204,135,.3)}.stamm-meldung--fehler{background:#ff5c5c1a;color:var(--danger);border:1px solid rgba(255,92,92,.3)}.stamm-meldung-x{background:none;border:none;color:inherit;font-size:18px;line-height:1}.stamm-laden{text-align:center;color:var(--text-muted);padding:60px 0}.stamm-leer{text-align:center;color:var(--text-muted);padding:48px 20px;background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);font-size:14px}.schichten-liste{display:flex;flex-direction:column;gap:12px}.schicht-karte{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .2s}.schicht-karte:hover{border-color:var(--accent)}.schicht-farbe{width:4px;height:60px;border-radius:4px;flex-shrink:0}.schicht-info{flex:1;min-width:0}.schicht-name{font-size:15px;font-weight:600;margin-bottom:4px}.schicht-zeiten{font-size:13px;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:10px}.schicht-folgetag{background:var(--accent-soft);color:var(--accent);border-radius:4px;font-size:11px;font-weight:700;padding:1px 6px}.schicht-ma{color:var(--text-faint);font-size:12px}.schicht-tage{display:flex;gap:4px;flex-wrap:wrap}.tag-badge{border-radius:4px;font-size:11px;font-weight:600;padding:2px 6px}.tag-badge--an{background:var(--accent-soft);color:var(--accent)}.tag-badge--aus{background:var(--bg-input);color:var(--text-faint)}.schicht-aktionen{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.ma-liste{display:flex;flex-direction:column;gap:10px}.ma-karte{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.ma-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ma-info{flex:1;min-width:0}.ma-name{font-size:14px;font-weight:600;margin-bottom:2px}.ma-email{font-size:13px;color:var(--text-muted);margin-bottom:4px}.ma-details{display:flex;gap:10px;font-size:12px;color:var(--text-faint)}.ma-status{font-size:11px;font-weight:600;border-radius:20px;padding:3px 10px;text-transform:uppercase}.ma-status--aktiv{background:#2ecc871f;color:var(--success)}.ma-status--inaktiv{background:#ff5c5c1f;color:var(--danger)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;margin-bottom:20px;position:sticky;top:0;background:var(--bg-card)}.feld label{font-size:13px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:6px}.feld input[type=text],.feld input[type=time],.feld input[type=number]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 14px;outline:none;transition:border-color .2s}.farb-btn{width:28px;height:28px;border-radius:50%;border:3px solid transparent;transition:border-color .2s,transform .1s}.farb-btn--aktiv{border-color:#fff;transform:scale(1.15)}.tage-auswahl{display:flex;gap:6px;flex-wrap:wrap}.tag-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:600;padding:6px 10px;transition:background .2s,color .2s,border-color .2s}.sf-btn{border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;padding:11px 20px;cursor:pointer;transition:opacity .2s}.kalender{width:100%}.kalender-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.kalender-ansicht-tabs{display:flex;gap:4px}.kalender-tab{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;padding:7px 14px;cursor:pointer;transition:all .15s}.kalender-tab--aktiv{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.kalender-nav{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.kalender-nav-titel{font-size:15px;font-weight:600;white-space:nowrap}.kalender-individ{display:flex;align-items:center;gap:8px;flex:1}.kalender-individ input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 12px;font-size:13px;outline:none}.kalender-individ input:focus{border-color:var(--accent)}.kalender-meldung{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-sm);font-size:14px;margin-bottom:14px;padding:11px 16px}.kalender-meldung--ok{background:#2ecc871a;color:var(--success);border:1px solid rgba(46,204,135,.3)}.kalender-meldung--fehler{background:#ff5c5c1a;color:var(--danger);border:1px solid rgba(255,92,92,.3)}.kalender-meldung-x{background:none;border:none;color:inherit;font-size:18px;line-height:1}.kalender-laden{text-align:center;color:var(--text-muted);padding:60px 0}.kalender-grid-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px}.kalender-grid{width:100%;border-collapse:collapse;min-width:500px}.kalender-grid th,.kalender-grid td{border:1px solid var(--border);padding:0}.kalender-th-ma,.kalender-th-tag{background:var(--bg-input);font-size:11px;font-weight:600;color:var(--text-muted);padding:8px;text-align:center;white-space:nowrap}.kalender-th-ma{text-align:left;min-width:130px;padding-left:12px}.kalender-th-heute{background:var(--accent-soft);color:var(--accent)}.kalender-datum{font-size:10px;color:var(--text-faint);font-weight:400}.kalender-ma-zelle{padding:8px 12px;background:var(--bg-card);min-width:130px}.kalender-ma-info{display:flex;align-items:center;gap:8px}.kalender-ma-avatar{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center}.kalender-ma-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.kalender-ma-status{font-size:14px;font-weight:700;cursor:help;flex-shrink:0;width:18px;text-align:center}.kalender-ma-status--veroeffentlicht{color:var(--success)}.kalender-ma-status--entwurf{color:var(--text-faint)}.kalender-ma-status--verfueg{color:var(--warning)}.kalender-ma-status--leer{color:var(--border)}.kalender-tag-zelle{padding:3px;vertical-align:top;min-width:70px;min-height:44px;background:var(--bg);position:relative;cursor:pointer}.kalender-tag-heute{background:#4f8eff0a}.kalender-tag-zelle:hover{background:var(--accent-soft)}.kalender-verfueg{border-radius:4px;margin-bottom:2px;padding:3px 5px;cursor:pointer}.kalender-verfueg:hover{opacity:.8}.kalender-verfueg-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.kalender-eintrag{background:var(--bg-card);border-radius:4px;margin-bottom:2px;padding:3px 5px;cursor:pointer;transition:opacity .15s}.kalender-eintrag--entwurf{opacity:.85}.kalender-eintrag:hover{opacity:.85;outline:1px solid var(--accent)}.kalender-eintrag-name{font-size:10px;font-weight:600;display:block}.kalender-eintrag-zeit{font-size:9px;color:var(--text-faint);display:block}.kalender-eintrag-status{font-size:8px;color:var(--text-faint);display:block;text-transform:uppercase;letter-spacing:.3px}.kalender-zelle-plus{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--border);opacity:0;transition:opacity .15s}.kalender-tag-zelle:hover .kalender-zelle-plus{opacity:1}.kalender-leer{text-align:center;color:var(--text-muted);padding:40px 16px;font-size:13px}.kalender-legende{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.kalender-legende-gruppe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.kalender-legende-gruppe strong{color:var(--text);margin-right:4px}.legende-item{display:flex;align-items:center;gap:4px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;margin-bottom:16px;position:sticky;top:0;background:var(--bg-card);z-index:1}.modal-header h2{font-size:17px}.modal-form{display:flex;flex-direction:column;gap:14px;padding:0 24px 24px}.modal-datum{font-size:13px;color:var(--text-muted);font-weight:500}.modal-trenner{text-align:center;font-size:12px;color:var(--text-faint)}.feld input[type=text],.feld input[type=time]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 12px;outline:none;transition:border-color .2s;font-size:14px}.schicht-auswahl{display:flex;flex-direction:column;gap:6px}.schicht-option{background:var(--bg-input);border:1px solid var(--border);border-left:4px solid transparent;border-radius:var(--radius-sm);padding:8px 12px;text-align:left;cursor:pointer;transition:background .15s}.schicht-option:hover:not(:disabled){background:var(--bg-card)}.schicht-option:disabled{opacity:.5;cursor:not-allowed}.schicht-option-name{font-size:13px;font-weight:600;color:var(--text)}.schicht-option-zeit{font-size:11px;color:var(--text-muted);margin-top:1px}.verfueg-typ-auswahl-modal{display:flex;gap:6px;flex-wrap:wrap}.verfueg-typ-btn-modal{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px;font-weight:500;padding:6px 12px;cursor:pointer;transition:all .15s}.verfueg-typ-btn-modal.aktiv{font-weight:600}.edit-aktuelle-schicht{margin-bottom:4px}.edit-schicht-label{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.edit-schicht-info{background:var(--bg-input);border:1px solid var(--border);border-left:4px solid transparent;border-radius:var(--radius-sm);padding:10px 12px}.edit-status-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;margin-top:4px;text-transform:uppercase}.edit-status-badge.entwurf{background:var(--bg-input);color:var(--text-faint)}.edit-status-badge.veroeffentlicht{background:#2ecc8726;color:var(--success)}.edit-loeschen-bereich{border-top:1px solid var(--border);padding-top:12px}.edit-loeschen-btn{color:var(--danger)!important;border-color:#ff5c5c4d!important;width:100%}.edit-bestaetigung{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.edit-bestaetigung span{font-size:13px;color:var(--text-muted);flex:1}.ac-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.ac-check input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent)}.sf-btn--ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.sf-btn--gefahr{background:var(--danger);color:#fff}.sf-btn--gefahr:hover:not(:disabled){opacity:.9}.kalender-druckansicht{display:none;background:#fff;color:#000}.druck-kopf{margin-bottom:12px}.druck-kopf h1{font-size:16px;margin:0 0 2px;color:#000}.druck-erstellt{font-size:10px;color:#444}.druck-tabelle{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}.druck-tabelle th,.druck-tabelle td{border:1px solid #999;padding:3px;text-align:center;font-size:11px;overflow:hidden;background:#fff;color:#000}.druck-th-tag{text-align:left!important;width:110px;font-weight:600;padding-left:4px!important;white-space:nowrap}.druck-tabelle thead th{font-weight:700;background:#eee;font-size:11px;color:#000}.druck-zelle-eintrag{font-weight:700;padding:1px 0;font-size:10px;color:#000;white-space:nowrap}.druck-zelle-verfueg{font-weight:700;font-size:11px}.druck-legende{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:#000}.druck-legende-item{display:inline-flex;align-items:center;gap:3px}.druck-legende-swatch{display:inline-block;width:8px;height:8px;border-radius:2px}@media print{@page{size:landscape;margin:8mm}html,body{background:#fff!important}body *{visibility:hidden}.kalender-druckansicht,.kalender-druckansicht *{visibility:visible}.kalender-druckansicht{display:block!important;position:absolute;top:0;left:0;width:100%;background:#fff!important}.druck-tabelle th,.druck-tabelle td{font-size:12px;padding:4px 2px;background:#fff!important;color:#000!important}.druck-tabelle thead th{font-size:12px;background:#eee!important}.druck-zelle-eintrag{font-size:11px}}.kalender-druckansicht .druck-tabelle tr.druck-zeile-sa td{background:#e6e6e6!important}.kalender-druckansicht .druck-tabelle tr.druck-zeile-so td{background:#cfcfcf!important}.kalender-th-ma{position:sticky;left:0;z-index:3;box-shadow:2px 0 4px -2px #00000059}.kalender-ma-zelle{position:sticky;left:0;z-index:2;box-shadow:2px 0 4px -2px #00000059}.kalender-ma-stunden{font-size:10px;color:var(--text-faint);margin-top:2px;white-space:nowrap}.kalender-ma-stunden--warnung{color:#f5a623;font-weight:700}.kalender-ma-stunden--ueber{color:#ff5c5c;font-weight:700}.kalender-gesamt-stunden{font-size:12px;color:var(--text-muted);font-weight:600;white-space:nowrap}.kalender-druck-check{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);white-space:nowrap;cursor:pointer}.druck-zeile-stunden td{font-weight:700;border-top:2px solid #999!important}.druck-gesamt-stunden{margin-top:8px;font-size:11px;font-weight:700;color:#000}.druck-zeile-stunden--gesamt td{font-weight:700;border-top:2px solid #333}.ma-aktionen{display:flex;align-items:center;margin-left:auto;margin-right:12px}.kalender-besetzung{font-size:11px;font-weight:700;margin-top:2px;line-height:1.2}.kalender-besetzung--ok{color:#1a8a4a}.kalender-besetzung--luecke{color:#c0392b}.kalender-tag-ausgewaehlt{outline:2px solid #2f6fed;outline-offset:-2px;background:#2f6fed14}.kalender-bulk-leiste{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:10px;background:#eef4ff;border:1px solid #2f6fed;border-radius:6px;font-size:13px}.kalender-bulk-leiste select{padding:4px 8px}.kalender-konflikt-liste{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.kalender-konflikt-zeile{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #e0e0e0;border-radius:6px;flex-wrap:wrap}.kalender-konflikt-info{flex:1;min-width:160px;font-size:13px;color:#1a1a1a}.kalender-konflikt-gruende{margin-top:4px;display:flex;gap:6px}.kalender-konflikt-tag{font-size:11px;font-weight:700;color:#c0392b;background:#fdecea;padding:2px 6px;border-radius:4px}.kalender-konflikt-aktionen{display:flex;gap:6px}.kalender-konflikt-gruppe{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.kalender-konflikt-gruppe:last-child{border-bottom:none;margin-bottom:0}.kalender-konflikt-datum{font-weight:600;font-size:.95rem;color:#1f2937;background:#f3f4f6;padding:4px 10px;border-radius:6px;margin-bottom:8px;display:inline-block}.wizard-seite{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.wizard-card{width:100%;max-width:520px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow)}.wizard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.wizard-logo{font-size:20px;font-weight:700;color:var(--text)}.wizard-logo span{color:var(--accent);font-weight:300}.wizard-schritte{display:flex;align-items:center;gap:8px}.wizard-schritt{width:28px;height:28px;border-radius:50%;background:var(--bg-input);border:2px solid var(--border);color:var(--text-faint);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s}.wizard-schritt--aktiv{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-linie{width:32px;height:2px;background:var(--border)}.wizard-titel{font-size:22px;font-weight:700;margin-bottom:6px}.wizard-sub{color:var(--text-muted);font-size:14px;margin-bottom:24px;line-height:1.6}.wizard-form{display:flex;flex-direction:column;gap:20px}.feld{display:flex;flex-direction:column;gap:8px}.feld label{font-size:13px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:8px}.feld input[type=text],.feld input[type=time],.feld input[type=number],.feld select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:11px 14px;outline:none;transition:border-color .2s;font-size:14px}.feld input:focus,.feld select:focus{border-color:var(--accent)}.feld select option{background:var(--bg-card)}.feld-row{display:flex;gap:12px}.feld-row .feld{flex:1}.wizard-optionen{display:flex;flex-wrap:wrap;gap:8px}.wizard-option{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;padding:7px 14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.wizard-option:hover{background:var(--bg-card);color:var(--text)}.wizard-option--aktiv{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.wizard-tage{display:flex;gap:6px;flex-wrap:wrap}.tag-btn{background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tag-btn--an{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.farb-auswahl{display:flex;gap:8px;flex-wrap:wrap}.farb-btn{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:border-color .15s,transform .1s}.farb-btn--aktiv{border-color:#fff;transform:scale(1.2)}.wizard-fehler{background:#ff5c5c1a;border:1px solid rgba(255,92,92,.3);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;padding:10px 14px}.wizard-skip{background:none;border:none;color:var(--text-faint);font-size:13px;cursor:pointer;text-align:center;text-decoration:underline;padding:0}.wizard-skip:hover{color:var(--text-muted)}.wizard-footer{margin-top:24px;text-align:center}.wizard-footer a{font-size:12px;color:var(--text-faint)}.sf-btn{border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;padding:13px 20px;cursor:pointer;transition:opacity .2s;width:100%}.verfueg-seite{width:100%}.verfueg-header{margin-bottom:20px}.verfueg-header h1{font-size:22px;font-weight:700;margin-bottom:6px}.verfueg-hinweis{font-size:13px;color:var(--text-muted);line-height:1.6}.sf-meldung{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px;padding:11px 16px}.sf-meldung--ok{background:#2ecc871a;color:var(--success);border:1px solid rgba(46,204,135,.3)}.sf-meldung--fehler{background:#ff5c5c1a;color:var(--danger);border:1px solid rgba(255,92,92,.3)}.sf-meldung button{background:none;border:none;color:inherit;font-size:18px;line-height:1}.verfueg-typ-auswahl{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.verfueg-typ-btn{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.verfueg-typ-btn--aktiv{background:var(--bg-card);font-weight:600}.verfueg-typ-punkt{width:10px;height:10px;border-radius:50%;flex-shrink:0}.verfueg-nav{display:flex;align-items:center;gap:16px;margin-bottom:16px}.verfueg-monat{font-size:16px;font-weight:600;flex:1;text-align:center}.verfueg-laden{text-align:center;color:var(--text-muted);padding:40px 0}.verfueg-kalender{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px}.verfueg-wt{text-align:center;font-size:11px;font-weight:600;color:var(--text-faint);padding:6px 0;text-transform:uppercase}.verfueg-tag{aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .15s;position:relative}.verfueg-tag:hover:not(.verfueg-tag--vergangenheit):not(.verfueg-tag--leer){border-color:var(--accent);background:var(--accent-soft)}.verfueg-tag--leer{border:none;background:none;cursor:default}.verfueg-tag--heute{border-color:var(--accent)!important}.verfueg-tag--vergangenheit{opacity:.4;cursor:not-allowed}.verfueg-tag--markiert{border-width:2px}.verfueg-tag-zahl{font-size:14px;font-weight:600;color:var(--text)}.verfueg-tag-typ{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.verfueg-legende{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.verfueg-legende-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.verfueg-legende-punkt{width:10px;height:10px;border-radius:50%;flex-shrink:0}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:380px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;margin-bottom:20px}.modal-header h2{font-size:18px}.modal-x{background:none;border:none;color:var(--text-muted);font-size:22px;line-height:1}.modal-form{display:flex;flex-direction:column;gap:16px;padding:0 24px 24px}.modal-aktionen{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.feld{display:flex;flex-direction:column;gap:6px}.feld label{font-size:13px;font-weight:500;color:var(--text-muted)}.feld input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 14px;outline:none;transition:border-color .2s;font-size:14px}.feld input:focus{border-color:var(--accent)}.feld input::placeholder{color:var(--text-faint)}.sf-btn{border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;padding:10px 18px;cursor:pointer;transition:opacity .2s}.sf-btn:disabled{opacity:.5;cursor:not-allowed}.sf-btn--primaer{background:var(--accent);color:#fff}.sf-btn--primaer:hover:not(:disabled){opacity:.9}.sf-btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.sf-btn--ghost:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.sf-btn--klein{padding:7px 14px;font-size:13px}.verfueg-ma-auswahl{display:flex;align-items:center;gap:10px;margin-bottom:16px}.verfueg-ma-auswahl label{font-weight:600;color:var(--text-muted);font-size:14px}.verfueg-ma-auswahl select{padding:7px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;min-width:220px}.verfueg-leer-hinweis{font-size:15px}.verfueg-tag-schicht{display:block;margin-top:2px;padding:1px 4px;border:1px solid;border-radius:4px;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heute-seite{max-width:480px;margin:0 auto;padding:24px 16px}.heute-header{text-align:center;margin-bottom:24px}.heute-wochentag{font-size:22px;font-weight:700;color:var(--text)}.heute-datum{font-size:15px;color:var(--text-muted);margin-top:4px}.heute-laden{text-align:center;color:var(--text-muted);padding:32px 0}.heute-verfueg-hinweis{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:15px;color:var(--text)}.heute-keine-schicht{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.heute-schicht-karte{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:12px}.heute-schicht-name{font-size:20px;font-weight:700;color:var(--text)}.heute-schicht-zeit{font-size:16px;color:var(--text-muted);margin-top:4px}.heute-schicht-entwurf{font-size:12px;color:var(--text-faint);margin-top:6px;font-style:italic}.heute-eigener-status{border:2px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:20px;font-size:17px;font-weight:600;text-align:center}.heute-eigener-status--arbeit{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.heute-eigener-status--frei{border-color:var(--border);color:var(--text-muted);background:var(--bg-card)}.heute-team-titel{font-size:14px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:8px 0 12px}.heute-team-zeile{font-size:15px;color:var(--text);padding:2px 0}.jahres-seite{padding:20px;max-width:1100px;margin:0 auto;color:#1a1a1a}.jahres-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.jahres-toolbar h1{font-size:20px;margin:0;color:#1a1a1a}.jahres-toolbar select{padding:6px 10px;border-radius:6px;border:1px solid #ccc;font-size:14px;background:#fff;color:#1a1a1a}.jahres-laden,.jahres-leer{padding:24px;text-align:center;color:#666}.jahres-abschnitt{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:16px 20px;margin-bottom:20px;color:#1a1a1a}.jahres-abschnitt h2{font-size:16px;margin:0 0 12px;color:#1a1a1a}.jahres-monats-kopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.jahres-monats-kopf h2{margin:0;color:#1a1a1a}.jahres-monats-kopf select{padding:6px 10px;border-radius:6px;border:1px solid #ccc;font-size:14px;background:#fff;color:#1a1a1a}.jahres-chart-wrapper{overflow-x:auto}.jahres-chart-svg{width:100%;height:220px;min-width:300px}.jahres-chart-legende,.jahres-zeitstrahl-legende{display:flex;gap:16px;margin-top:8px;font-size:12px;color:#333}.jahres-legende-item{display:inline-flex;align-items:center;gap:5px;color:#333}.jahres-legende-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.jahres-zeitstrahl-wrapper{overflow-x:auto;margin-top:10px}.jahres-zeitstrahl-tabelle{border-collapse:collapse;font-size:11px;color:#1a1a1a}.jahres-zeitstrahl-tabelle th,.jahres-zeitstrahl-tabelle td{border:1px solid #ddd;padding:3px;text-align:center;min-width:22px;color:#1a1a1a}.jahres-zeitstrahl-tabelle thead th{background:#eee;font-weight:700;color:#1a1a1a}.jahres-zeitstrahl-name-th,.jahres-zeitstrahl-name-td{position:sticky;left:0;background:#fff;z-index:2;text-align:left!important;padding-left:8px!important;min-width:120px;white-space:nowrap;border-right:2px solid #ccc;color:#1a1a1a}.jahres-zeitstrahl-name-th{background:#eee;z-index:3}.jahres-zeitstrahl-zelle{font-weight:700;color:#1a1a1a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-card: #1a1d27;--bg-input: #222536;--border: #2e3248;--accent: #4f8eff;--accent-soft: rgba(79, 142, 255, .12);--success: #2ecc87;--warning: #f5a623;--danger: #ff5c5c;--text: #e8eaf6;--text-muted: #9095b3;--text-faint: #5a5f7d;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0,0,0,.4)}html,body{height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.laden{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted)}
