:root{--grau-0: oklch(99% .002 255);--grau-1: oklch(97.2% .003 255);--grau-2: oklch(93% .004 255);--grau-3: oklch(86% .005 255);--grau-6: oklch(55% .012 255);--grau-7: oklch(42% .014 255);--grau-9: oklch(18% .012 255);--akzent: oklch(48% .1 195);--akzent-hover: oklch(43% .1 195);--akzent-tint: oklch(48% .1 195 / .08);--akzent-tint-stark: oklch(48% .1 195 / .16);--auf-akzent: oklch(99% .002 255);--warnung: oklch(58% .14 65);--warnung-tint: oklch(62% .14 75 / .12);--fehler: oklch(52% .18 25);--fehler-tint: oklch(52% .18 25 / .08);--erfolg: oklch(52% .13 155);--schrift: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-eingabe: 6px;--radius-karte: 10px;--radius-gross: 14px;--schatten-karte: 0 0 0 1px oklch(0% 0 0 / .05), 0 1px 2px oklch(0% 0 0 / .05);--schatten-schwebend: 0 0 0 1px oklch(0% 0 0 / .06), 0 8px 24px oklch(0% 0 0 / .12);--schnell: .12s;--normal: .2s;--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:14px/1.5 var(--schrift);color:var(--grau-9);background:var(--grau-0);-webkit-font-smoothing:antialiased}h1,h2{margin:0;line-height:1.2;text-wrap:balance}h1{font-size:24px;font-weight:650;letter-spacing:-.02em}h2{font-size:15px;font-weight:600}p{margin:0}a{color:var(--akzent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}:focus-visible{outline:2px solid var(--akzent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.leise{color:var(--grau-6)}.nowrap{white-space:nowrap}.icon{width:16px;height:16px;flex:none}.icon-klein{width:14px;height:14px}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:20px 12px;background:var(--grau-1);border-right:1px solid var(--grau-2)}.marke{display:flex;align-items:center;gap:10px;padding:0 8px;font-weight:650;color:var(--grau-9);letter-spacing:-.01em}.marke:hover{text-decoration:none}.marke-zeichen{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--akzent);color:var(--auf-akzent);font-weight:700;font-size:15px}.marke-gross{width:44px;height:44px;border-radius:12px;font-size:22px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{position:relative;display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border-radius:var(--radius-eingabe);color:var(--grau-7);font-weight:500;transition:background-color var(--schnell),color var(--schnell)}.nav a:hover{background:var(--grau-2);color:var(--grau-9);text-decoration:none}.nav a[aria-current=page]{background:var(--akzent-tint);color:var(--akzent)}.nav a[aria-current=page]:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--akzent)}.abmelden{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 0 10px}.benutzer{color:var(--grau-6);font-size:13px;overflow:hidden;text-overflow:ellipsis}.inhalt{padding:28px 32px 96px;min-width:0;display:flex;flex-direction:column;gap:24px}.kopf{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.kopf-zusatz{font-size:14px;font-weight:400;letter-spacing:0;color:var(--grau-6);margin-left:6px}.monatswahl{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.monatswahl h1{min-width:9.5ch;text-align:center}.monatswahl-klein{margin-top:6px;margin-left:-6px}.monatswahl-text{font-weight:500;min-width:10ch;text-align:center}.blaettern{display:flex;gap:8px}.brotkrumen a{display:inline-flex;align-items:center;gap:4px;color:var(--grau-6);font-size:13px}.brotkrumen a:hover{color:var(--grau-9)}.knopf,.knopf-geist{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-eingabe);font:inherit;font-weight:550;cursor:pointer;white-space:nowrap;transition:background-color var(--schnell),border-color var(--schnell),color var(--schnell),transform var(--schnell)}.knopf{background:var(--akzent);color:var(--auf-akzent);border:1px solid var(--akzent)}.knopf:hover{background:var(--akzent-hover);text-decoration:none}.knopf-geist{background:var(--grau-0);color:var(--grau-9);border:1px solid var(--grau-3)}.knopf-geist:hover{background:var(--grau-1);border-color:var(--grau-6);text-decoration:none}.knopf:active,.knopf-geist:active{transform:scale(.98)}.knopf-klein{min-height:30px;padding:0 10px;font-size:13px}.knopf-icon{width:36px;padding:0}.textlink{font-size:13px}.feld{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--grau-7)}input:not([type=checkbox]),.auswahl{min-height:36px;padding:0 10px;border-radius:var(--radius-eingabe);border:1px solid var(--grau-3);background:var(--grau-0);color:var(--grau-9);font:inherit;font-weight:400;transition:border-color var(--schnell),box-shadow var(--schnell)}input:hover,.auswahl:hover{border-color:var(--grau-6)}input:focus-visible,.auswahl:focus-visible{outline:none;border-color:var(--akzent);box-shadow:0 0 0 3px var(--akzent-tint-stark)}.auswahl{padding-right:28px;cursor:pointer}.eingabe-kurz{width:7ch}.eingabe-einheit{display:inline-flex;align-items:center;gap:6px;color:var(--grau-6)}.eingabe-einheit input{width:9ch;text-align:right;font-variant-numeric:tabular-nums}.schalter{display:flex;align-items:baseline;gap:8px;font-weight:500}.schalter input{accent-color:var(--akzent);width:16px;height:16px}.meldung{padding:10px 14px;border-radius:var(--radius-eingabe);background:var(--akzent-tint);color:var(--grau-9);border:1px solid var(--akzent-tint-stark)}.meldung-fehler{background:var(--fehler-tint);border-color:#ba2b2e40;color:#861118}.hinweis{color:var(--warnung);display:inline-flex;align-items:center;gap:4px}.kennzahlen{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:12px}.kennzahl{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--grau-0);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte)}.kennzahl-haupt{background:linear-gradient(var(--akzent-tint),var(--akzent-tint)),var(--grau-0)}.kennzahl-titel{font-size:13px;color:var(--grau-7);font-weight:500}.kennzahl-wert{font-size:26px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.kennzahl-haupt .kennzahl-wert{font-size:36px;color:var(--akzent)}.kennzahl-einheit{font-size:14px;font-weight:400;color:var(--grau-6);letter-spacing:0}.kennzahl-vergleich{font-size:13px;color:var(--grau-6);font-variant-numeric:tabular-nums}.tabelle-rahmen{overflow-x:auto;background:var(--grau-0);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte)}.tabelle{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.tabelle th,.tabelle td{padding:0 14px;height:42px;text-align:left;border-bottom:1px solid var(--grau-2);white-space:nowrap}.tabelle thead th{position:sticky;top:0;z-index:1;height:38px;background:var(--grau-1);color:var(--grau-7);font-size:12.5px;font-weight:550}.tabelle tbody tr:last-child>*{border-bottom:0}.tabelle tfoot>tr>*{border-top:1px solid var(--grau-3);border-bottom:0;font-weight:650;background:var(--grau-1)}.tabelle .zahl{text-align:right}.tabelle-klickbar tbody tr{cursor:pointer;transition:background-color var(--schnell)}.tabelle-klickbar tbody tr:hover{background:var(--grau-1)}.zeilen-link{color:var(--grau-9);font-weight:550}tr.inaktiv .zeilen-link,tr.inaktiv td{color:var(--grau-6)}.marker{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--grau-2);color:var(--grau-7);font-size:12px;font-weight:500}.marker-warnung{background:var(--warnung-tint);color:oklch(45% .12 65)}.spalte-stunden{position:relative;min-width:120px;font-weight:550}.balken{position:absolute;left:14px;right:14px;bottom:7px;height:3px;border-radius:2px;background:linear-gradient(to right,var(--akzent-tint-stark) var(--anteil),transparent var(--anteil))}.zuletzt{color:var(--grau-7)}.punkt-frisch{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--akzent);box-shadow:0 0 0 3px var(--akzent-tint-stark);vertical-align:1px}.status-punkt{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--grau-3);margin-right:8px;vertical-align:1px}.status-aktiv{background:var(--erfolg)}.aktion{text-align:right}.alt{color:var(--grau-6);text-decoration:line-through;text-decoration-color:var(--grau-3)}.tabelle-eingabe th,.tabelle-eingabe td{height:40px;padding:0 8px}.tabelle-eingabe th:first-child{padding-left:16px}.tabelle-eingabe input{min-height:30px;width:8ch;font-variant-numeric:tabular-nums;border-color:transparent;background:transparent}.tabelle-eingabe input:hover{border-color:var(--grau-3);background:var(--grau-0)}.tabelle-eingabe input:focus-visible{background:var(--grau-0)}.tabelle-eingabe .eingabe-kurz{width:6ch}.tabelle-eingabe input::placeholder{color:transparent}.tabelle-eingabe input:focus::placeholder{color:var(--grau-3)}.tabelle-eingabe .spalte-bemerkung{width:100%}.tabelle-eingabe .spalte-bemerkung input{width:100%;min-width:16ch}.tag{font-weight:500}.tag-nr{font-variant-numeric:tabular-nums}.tag-name{color:var(--grau-6);font-weight:400;margin-left:4px}tr.wochenende{background:var(--grau-1)}tr.wochenende .tag-name{color:var(--grau-7);font-weight:500}tr.heute .tag,tr.heute .tag-name{color:var(--akzent)}tr.hat-fehler td:not(.spalte-bemerkung) input{border-color:var(--fehler)}.fehlerzeile td{height:auto;padding:0 8px 8px;color:#861118;font-size:13px;border-bottom:1px solid var(--grau-2)}tr.hat-fehler>*{border-bottom:0}.stunden-zelle{min-width:88px;font-weight:550}.status{display:inline-flex;width:16px;margin-left:4px;vertical-align:-2px;color:var(--grau-6)}.monatsangaben{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:0;padding:16px 18px;border:0;border-radius:var(--radius-karte);box-shadow:var(--schatten-karte);background:var(--grau-0)}.monatsangaben legend{float:left;width:100%;margin-bottom:4px;font-weight:600;font-size:15px}.monatsangaben .meldung{width:100%}.feld-breit{flex:1 1 260px}.speicherleiste{position:sticky;bottom:16px;z-index:2;display:flex;align-items:center;gap:16px;margin-top:16px;padding:10px 10px 10px 18px;background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-schwebend)}.speicherleiste-summe{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-right:auto;font-variant-numeric:tabular-nums}.speicherleiste-summe strong{font-size:18px;letter-spacing:-.01em}.ungespeichert{color:var(--warnung);font-size:13px}.saetze,.neu-formular,.karte-formular{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--grau-0);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte)}.saetze{max-width:720px}.saetze-felder,.neu-felder{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.karte-formular{max-width:480px;gap:16px}.formular-aktionen{display:flex;gap:8px}.filterleiste{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.filterleiste .textlink{padding-bottom:8px}.leer{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:32px;border:1px dashed var(--grau-3);border-radius:var(--radius-karte)}.leer .knopf{margin-top:8px}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--grau-1)}.login-karte{display:flex;flex-direction:column;gap:16px;width:min(100%,360px);padding:32px;background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-schwebend)}.login-karte .knopf{margin-top:4px;min-height:40px}@media(max-width:1100px){.kennzahlen{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:5;height:auto;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;border-right:0;border-bottom:1px solid var(--grau-2);overflow-x:auto}.marke{padding:0;font-size:0;gap:0}.nav{flex-direction:row}.nav a{white-space:nowrap}.nav a[aria-current=page]:before{inset:auto 8px -8px;width:auto;height:3px;border-radius:3px 3px 0 0}.abmelden{margin-top:0;margin-left:auto;padding:0}.benutzer{display:none}.inhalt{padding:20px 16px 96px}.kennzahlen{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kennzahl{padding:12px 14px}.kennzahl-haupt{grid-column:1 / -1}.kennzahl-wert{font-size:19px}.kennzahl-haupt .kennzahl-wert{font-size:30px}.monatswahl h1{font-size:20px;min-width:0}.nav a{padding:0 8px;gap:6px}.speicherleiste{bottom:8px;padding-left:14px}.ungespeichert{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}app-icon{display:inline-flex}app-icon>svg{width:100%;height:100%}.meldung{display:flex;align-items:center;gap:12px}.meldung-zu{margin-left:auto;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.6}.meldung-zu:hover{opacity:1;background:#0000000d}.knopf:disabled,.knopf-geist:disabled{opacity:.55;cursor:not-allowed;transform:none}.laedt{opacity:.6;transition:opacity var(--normal)}.skelett .kennzahl{min-height:104px}.skelett-tabelle{min-height:420px}.skelett-hoch{min-height:70vh}.skelett .kennzahl,.skelett-tabelle{animation:pulsieren 1.2s ease-in-out infinite alternate}@keyframes pulsieren{0%{opacity:1}to{opacity:.55}}app-uebersicht,app-blatt,app-mitarbeiter-liste,app-mitarbeiter-bearbeiten,app-protokoll,app-freigaben{display:flex;flex-direction:column;gap:24px;min-width:0}.blatt{display:flex;flex-direction:column;gap:16px}.blatt .speicherleiste{margin-top:0}.kopf-aktionen{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.abschluss-status{display:inline-flex;align-items:center;gap:6px;color:var(--grau-7);font-size:13px;font-weight:500}.meldung app-icon{vertical-align:-2px;margin-right:4px}a.benutzer{color:var(--grau-6)}a.benutzer:hover{color:var(--grau-9)}.formular-spalten{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.formular-spalten .karte-formular{max-width:none}.zugang-felder{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.startpasswort{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--radius-eingabe);background:var(--akzent-tint);border:1px solid var(--akzent-tint-stark)}.startpasswort dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0}.startpasswort dt{color:var(--grau-7)}.startpasswort dd{margin:0}.startpasswort code{font:600 16px/1.4 ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.04em}.startpasswort .knopf-geist{align-self:flex-start}.knopf-gefahr{color:var(--fehler)}.knopf-gefahr:hover{border-color:var(--fehler);background:var(--fehler-tint)}.feld-hinweis{font-weight:400;font-size:12.5px}app-erfassen,app-passwort{display:block}.erfassen{display:flex;flex-direction:column;gap:16px;max-width:520px;margin:0 auto;padding:12px 16px 48px}.erfassen-kopf{display:flex;align-items:center;gap:10px;padding:4px 0}.erfassen-gruss{font-weight:600;margin-right:auto}.tag-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.tag-nav-titel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.tag-nav-titel h1{font-size:20px}.knopf-gross.knopf-icon{width:44px;min-height:44px}.tag-karte{display:flex;flex-direction:column;gap:16px;padding:18px;background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-karte)}.zeitfelder{display:grid;grid-template-columns:1fr .8fr 1fr;gap:10px}.zeitfelder .feld{min-width:0}.gross-feld{width:100%;min-height:48px;font-size:18px!important;font-variant-numeric:tabular-nums}.zeitfelder .eingabe-einheit{display:flex}.zeitfelder .eingabe-einheit .gross-feld{min-width:0;text-align:left}.gross-feld:disabled{background:var(--grau-1);color:var(--grau-6)}.tag-ergebnis{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-height:28px}.tag-ergebnis strong{font-size:24px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tag-aktionen{display:flex;gap:8px}.knopf-gross-breit{flex:1;min-height:48px;font-size:16px}.tag-aktionen .knopf-geist{min-height:48px}.monatsliste{background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-karte);overflow:hidden}.monatsliste-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--grau-2);font-variant-numeric:tabular-nums}.monatsliste ul{list-style:none;margin:0;padding:0}.monatsliste li>a:not(.knopf-geist){display:grid;grid-template-columns:5.5em 1fr auto;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-bottom:1px solid var(--grau-2);color:var(--grau-9);font-variant-numeric:tabular-nums}.monatsliste li>a:not(.knopf-geist):hover{background:var(--grau-1);text-decoration:none}.monatsliste li>a.wochenende{background:var(--grau-1)}.monatsliste li>a.aktuell{background:var(--akzent-tint);box-shadow:inset 3px 0 0 var(--akzent)}.monatsliste li.leise{padding:14px 16px}.liste-tag{color:var(--grau-7)}.liste-zeit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.liste-stunden{font-weight:600;text-align:right;min-width:3.5em}.monatsliste-fuss{display:flex;justify-content:space-between;gap:12px;padding:12px 16px}.zahl-abzeichen{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:10px;background:var(--akzent);color:var(--auf-akzent);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.reiter{display:flex;gap:4px;border-bottom:1px solid var(--grau-2)}.reiter a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:-1px;color:var(--grau-7);font-weight:500;border-bottom:2px solid transparent}.reiter a:hover{color:var(--grau-9);text-decoration:none}.reiter a[aria-current=page]{color:var(--akzent);border-bottom-color:var(--akzent)}.reiter .zahl-abzeichen{margin-left:0}.antrags-liste{display:flex;flex-direction:column;gap:12px}.antrags-karte{display:flex;flex-direction:column;gap:12px;padding:16px 18px;background:var(--grau-0);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte)}.antrags-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.antrags-name{font-weight:650;color:var(--grau-9)}.antrags-vergleich{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;font-variant-numeric:tabular-nums}.antrags-vergleich>div{display:flex;flex-direction:column;gap:2px}.antrags-vergleich app-icon{color:var(--grau-6)}.vergleich-titel{font-size:12px;color:var(--grau-6);font-weight:500}.vergleich-differenz{margin-left:auto;text-align:right}.antrags-bemerkung{color:var(--grau-7)}.antrags-aktionen,.ablehnen-formular{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.antrags-entscheidung{display:flex;align-items:center;gap:6px;color:var(--erfolg);font-weight:500}.antrags-entscheidung.abgelehnt{color:var(--fehler)}.marker-laeuft{background:oklch(52% .13 155 / .12);color:oklch(40% .12 155)}.punkt-laeuft{width:6px;height:6px;border-radius:50%;background:var(--erfolg)}.marker-antrag{background:var(--akzent-tint-stark);color:var(--akzent)}.marker-antrag:hover{text-decoration:none;background:var(--akzent-tint)}.gestempelt{color:var(--akzent);font-weight:700;margin-left:2px}a.kennzahl-vergleich{color:var(--akzent)}.meldung-warnung{background:var(--warnung-tint);border-color:oklch(62% .14 75 / .3);flex-wrap:wrap}.meldung-warnung a{font-weight:600}.stempeluhr{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-karte);border-top:3px solid var(--grau-3)}.stempeluhr-aktiv{border-top-color:var(--erfolg)}.stempeluhr-pause{border-top-color:var(--warnung)}.stempeluhr-status{display:flex;align-items:center;gap:10px;font-size:16px}.stempeluhr-punkt{width:10px;height:10px;border-radius:50%;background:var(--grau-3);flex:none}.stempeluhr-aktiv .stempeluhr-punkt{background:var(--erfolg);box-shadow:0 0 0 4px oklch(52% .13 155 / .18)}.stempeluhr-pause .stempeluhr-punkt{background:var(--warnung);box-shadow:0 0 0 4px var(--warnung-tint)}.stempeluhr-zeit{margin-left:auto;font-size:22px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stempeluhr-knoepfe{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px}.stempel-knopf{min-height:56px;font-size:17px}.stempel-knopf app-icon{width:18px;height:18px}.stempel-liste{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;color:var(--grau-7);font-size:13px}.stempel-zeit{font-weight:600;color:var(--grau-9);margin-right:4px;font-variant-numeric:tabular-nums}.tagesstand{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-variant-numeric:tabular-nums}.tagesstand-titel{font-size:12px;font-weight:600;color:var(--grau-6);width:100%}.tagesstand-zeit{font-size:17px}.tagesstand-bemerkung{width:100%}.antrag{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-eingabe)}.antrag>div{display:flex;flex-direction:column;gap:2px;flex:1;font-variant-numeric:tabular-nums}.antrag app-icon{margin-top:2px}.antrag-offen{background:var(--akzent-tint);color:var(--grau-9)}.antrag-offen>app-icon{color:var(--akzent)}.antrag-abgelehnt{background:var(--fehler-tint)}.antrag-abgelehnt>app-icon{color:var(--fehler)}.korrektur{display:flex;flex-direction:column;gap:14px;padding-top:4px;border-top:1px solid var(--grau-2)}.korrektur-hinweis{padding-top:12px}.liste-marker{color:var(--akzent);margin-right:6px;vertical-align:-2px}:root{--urlaub: oklch(62% .13 85);--urlaub-tint: oklch(80% .12 85 / .35);--urlaub-text: oklch(42% .09 75);--krank: oklch(55% .13 330);--krank-tint: oklch(65% .12 330 / .16);--krank-text: oklch(42% .12 330)}app-abwesenheit,app-meine-dokumente{display:flex;flex-direction:column;gap:16px}app-kalender,app-dokumente{display:flex;flex-direction:column;gap:20px;min-width:0}app-monatskalender{display:block}.kalender-legende{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px}.punkt-urlaub,.punkt-krank,.punkt-beantragt{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:8px}.kalender-legende>span:first-child{margin-left:0}.punkt-urlaub{background:var(--urlaub)}.punkt-krank{background:var(--krank)}.punkt-beantragt{background:repeating-linear-gradient(135deg,var(--urlaub) 0 2px,transparent 2px 4px);outline:1px solid var(--urlaub);outline-offset:-1px}.kalender{display:flex;flex-direction:column;gap:4px}.kalender-kopf,.kalender-tage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.kalender-kopf span{text-align:center;font-size:12px;font-weight:550;color:var(--grau-6)}.kalender-tag{position:relative;aspect-ratio:1;min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid transparent;border-radius:8px;background:var(--grau-1);color:var(--grau-9);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color var(--schnell),border-color var(--schnell),transform var(--schnell)}.kalender-tag:hover:not(:disabled){border-color:var(--grau-3)}.kalender-tag:active:not(:disabled){transform:scale(.95)}.kalender-tag:disabled{cursor:default}.kalender-tag.wochenende{background:var(--grau-2);color:var(--grau-7)}.kalender-tag.heute .kalender-zahl{color:var(--akzent);font-weight:700}.kalender-tag.heute:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--akzent)}.kalender-tag.urlaub{background:var(--urlaub-tint);color:var(--urlaub-text)}.kalender-tag.krank{background:var(--krank-tint);color:var(--krank-text)}.kalender-tag.beantragt{background:repeating-linear-gradient(135deg,var(--urlaub-tint) 0 4px,var(--grau-0) 4px 8px);border-color:var(--urlaub);border-style:dashed}.kalender-tag.krank.beantragt{border-color:var(--krank)}.kalender-tag.gewaehlt{background:var(--akzent);color:var(--auf-akzent);border-color:var(--akzent)}.kalender-tag.gewaehlt .kalender-zahl{color:var(--auf-akzent)}.kalender-zahl{font-size:15px;font-weight:550;line-height:1}.kalender-kennung{font-size:10.5px;font-weight:700;letter-spacing:.02em;line-height:1}.kalender-leer{aspect-ratio:1}.urlaubskonto{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:1px;overflow:hidden;background:var(--grau-2);border-radius:var(--radius-gross);box-shadow:var(--schatten-karte)}.urlaubskonto>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--grau-0)}.urlaubskonto>div:first-child{background:linear-gradient(var(--urlaub-tint),var(--urlaub-tint)),var(--grau-0)}.konto-zahl{font-size:22px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.urlaubskonto>div:first-child .konto-zahl{font-size:28px;color:var(--urlaub-text)}.konto-titel{font-size:12px;color:var(--grau-7)}.abwesenheit-formular{display:flex;flex-direction:column;gap:14px;padding-top:14px;border-top:1px solid var(--grau-2)}.art-wahl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.art-wahl button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--grau-3);border-radius:var(--radius-eingabe);background:var(--grau-0);color:var(--grau-7);font:inherit;font-weight:550;cursor:pointer;transition:background-color var(--schnell),border-color var(--schnell),color var(--schnell)}.art-wahl button:hover{border-color:var(--grau-6)}.art-wahl button.aktiv{border-color:var(--akzent);background:var(--akzent-tint);color:var(--akzent);box-shadow:inset 0 0 0 1px var(--akzent)}.abwesenheit-eintrag,.dokument-eintrag{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 16px;border-bottom:1px solid var(--grau-2)}.abwesenheit-eintrag>app-icon,.dokument-eintrag>app-icon{color:var(--grau-6)}.abwesenheit-eintrag>div,.dokument-eintrag>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.dokument-eintrag{flex-wrap:wrap;row-gap:8px}.dokument-eintrag>div{flex:1 1 55%}.dokument-eintrag strong{overflow-wrap:break-word}.dokument-eintrag>.marker-neu{align-self:flex-start}.dokument-eintrag>a:first-of-type{margin-left:auto}.monatsliste li:last-child{border-bottom:0}.status-text{font-size:12.5px;font-weight:550}.status-beantragt{color:var(--warnung)}.status-genehmigt{color:var(--erfolg)}.status-abgelehnt{color:var(--fehler)}.status-storniert{color:var(--grau-6)}.marker-neu{background:var(--akzent);color:var(--auf-akzent);margin-left:0}.abwesenheit-hinweis{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:12px 14px;border-radius:var(--radius-eingabe);background:var(--urlaub-tint);color:var(--urlaub-text)}.abwesenheit-hinweis>span{flex:1;color:var(--grau-9)}.abwesenheit-hinweis.abwesenheit-krank{background:var(--krank-tint);color:var(--krank-text)}.abwesenheit-hinweis.abwesenheit-beantragt{background:repeating-linear-gradient(135deg,var(--urlaub-tint) 0 6px,transparent 6px 12px),var(--grau-0);outline:1px dashed var(--urlaub)}.liste-abwesenheit{color:var(--urlaub-text);font-weight:550}.liste-abwesenheit.abwesenheit-krank{color:var(--krank-text)}.tag-abwesenheit{display:inline-flex;align-items:center;gap:4px;margin-right:6px;padding:2px 8px;border-radius:4px;background:var(--urlaub-tint);color:var(--urlaub-text);font-size:12.5px;font-weight:550;white-space:nowrap}.tag-abwesenheit.abwesenheit-krank{background:var(--krank-tint);color:var(--krank-text)}.tag-abwesenheit.abwesenheit-beantragt{background:transparent;outline:1px dashed currentColor;outline-offset:-1px}.abschnitt-titel{display:flex;align-items:center;gap:8px;color:var(--grau-7)}.team-kalender-rahmen{max-height:calc(100vh - 220px);overflow:auto}.team-kalender{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.team-kalender th,.team-kalender td{padding:0;border-bottom:1px solid var(--grau-2);text-align:center}.team-kalender thead th{position:sticky;top:0;z-index:2;height:44px;min-width:30px;background:var(--grau-1);font-size:12.5px;font-weight:600;color:var(--grau-9);line-height:1.1}.team-kalender thead th span{display:block;font-size:10.5px;font-weight:500;color:var(--grau-6)}.team-kalender thead th.wochenende{color:var(--grau-6)}.team-kalender thead th.heute{color:var(--akzent);box-shadow:inset 0 -2px 0 var(--akzent)}.team-kalender .team-name{position:sticky;left:0;z-index:1;min-width:120px;max-width:170px;padding:0 12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--grau-0);font-weight:550;border-right:1px solid var(--grau-2)}.team-kalender thead .team-name{z-index:3;background:var(--grau-1);color:var(--grau-7)}.team-kalender td.wochenende{background:var(--grau-1)}.team-kalender td.heute{background:var(--akzent-tint)}.team-zelle{display:block;width:100%;min-width:30px;height:38px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;transition:background-color var(--schnell)}.team-zelle:hover{background:var(--grau-2)}.team-zelle.urlaub{background:var(--urlaub-tint);color:var(--urlaub-text)}.team-zelle.krank{background:var(--krank-tint);color:var(--krank-text)}.team-zelle.beantragt{background:repeating-linear-gradient(135deg,var(--urlaub-tint) 0 4px,transparent 4px 8px)}.team-zelle.gewaehlt{background:var(--akzent);color:var(--auf-akzent)}.team-zelle.offen{box-shadow:inset 0 0 0 2px var(--akzent)}.team-zelle:focus-visible{outline-offset:-2px}.kalender-panel{max-width:640px}.kalender-panel h2{display:flex;align-items:center;gap:6px}.eingabe-mit-knopf{display:flex;gap:8px}.eingabe-mit-knopf input{flex:1;min-width:0}.ablage-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;padding:20px;border:1.5px dashed var(--grau-3);border-radius:var(--radius-karte);background:var(--grau-1);color:var(--grau-7);text-align:center;cursor:pointer;transition:border-color var(--schnell),background-color var(--schnell)}.ablage-zone app-icon{width:24px;height:24px;color:var(--akzent)}.ablage-zone:hover,.ablage-zone.aktiv{border-color:var(--akzent);background:var(--akzent-tint)}.ablage-zone:focus-within{outline:2px solid var(--akzent);outline-offset:2px}.upload-liste{display:flex;flex-direction:column}.karte-formular:has(.upload-liste){max-width:none}.upload-zeile{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(150px,1fr) auto auto minmax(140px,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--grau-2)}.upload-zeile:last-child{border-bottom:0}.upload-zeile.fehlt select:first-of-type{border-color:var(--warnung)}.upload-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-monat{width:11em}.upload-titel{min-width:0}.tabelle td.aktion{white-space:nowrap}.tabelle td.aktion>*+*{margin-left:6px}.unten-leiste,.mehr-menue,.mehr-hintergrund{display:none}app-ma-shell .unten-leiste{display:flex}app-ma-shell .erfassen{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.inhalt{padding-top:calc(28px + env(safe-area-inset-top,0px))}.unten-leiste{position:fixed;left:0;right:0;bottom:0;z-index:20;justify-content:space-around;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:#fbfcfdf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--grau-2)}.unten-leiste>a,.unten-leiste>button{position:relative;flex:1;max-width:120px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:var(--radius-eingabe);background:transparent;color:var(--grau-6);font:inherit;font-size:11.5px;font-weight:550;cursor:pointer;touch-action:manipulation;transition:color var(--schnell),background-color var(--schnell)}.unten-leiste app-icon{width:22px;height:22px}.unten-leiste>a:hover{text-decoration:none;color:var(--grau-9)}.unten-leiste>a[aria-current=page],.unten-leiste>button.aktiv,.unten-leiste>button[aria-expanded=true]{color:var(--akzent)}.unten-leiste>a[aria-current=page]:before{content:"";position:absolute;top:-7px;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--akzent)}.leiste-punkt{position:absolute;top:4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:9px;background:var(--akzent);color:var(--auf-akzent);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--grau-0)}.mehr-hintergrund{position:fixed;inset:0;z-index:21;background:#00000040;animation:einblenden var(--normal) var(--ease-out)}.mehr-menue{position:fixed;left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:22;flex-direction:column;padding:6px;background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-schwebend);animation:hochgleiten var(--normal) var(--ease-out)}.mehr-menue>a,.mehr-menue>button{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:0;border-radius:var(--radius-eingabe);background:transparent;color:var(--grau-9);font:inherit;font-size:15px;text-align:left;cursor:pointer}.mehr-menue>a:hover,.mehr-menue>button:hover{background:var(--grau-1);text-decoration:none}.mehr-menue>button{color:var(--fehler)}@keyframes einblenden{0%{opacity:0}}@keyframes hochgleiten{0%{opacity:0;transform:translateY(8px)}}@media(max-width:760px){.sidebar{display:none}app-shell .unten-leiste{display:flex}.mehr-menue{display:flex}.mehr-hintergrund{display:block}.inhalt{padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(96px + env(safe-area-inset-bottom,0px));gap:18px}.speicherleiste{bottom:calc(76px + env(safe-area-inset-bottom,0px))}h1{font-size:21px}.kopf-zusatz{display:block;margin:4px 0 0}input:not([type=checkbox]),.auswahl{font-size:16px;min-height:42px}.knopf,.knopf-geist{min-height:42px}.knopf-klein{min-height:36px}.knopf-icon{width:42px}.formular-spalten{grid-template-columns:minmax(0,1fr)}.formular-aktionen{flex-wrap:wrap}.filterleiste .feld,.filterleiste .auswahl{width:100%}.tabelle-rahmen:has(.tabelle-karten){background:transparent;box-shadow:none;overflow:visible}.tabelle-karten thead{display:none}.tabelle-karten,.tabelle-karten tbody{display:block}.tabelle-karten tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin-bottom:10px;padding:12px 14px;background:var(--grau-0);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte)}.tabelle-karten td{display:block;height:auto;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}.tabelle-karten td[data-titel]{display:contents}.tabelle-karten td[data-titel]:before{content:attr(data-titel);color:var(--grau-6);font-size:12.5px;padding-top:1px}.tabelle-karten td:not([data-titel]){grid-column:1 / -1}.tabelle-karten td.aktion{text-align:left;margin-top:8px}.tabelle-uebersicht tr>:nth-child(n+4):not(:nth-child(8)){display:none}.tabelle-uebersicht .spalte-stunden{min-width:0}.tabelle-uebersicht th,.tabelle-uebersicht td{padding:0 10px}.tabelle-rahmen:has(.tabelle-eingabe){overflow:visible}.tabelle-eingabe thead{display:none}.tabelle-eingabe,.tabelle-eingabe tbody{display:block}.tabelle-eingabe tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;padding:10px 12px;border-bottom:1px solid var(--grau-2)}.tabelle-eingabe tbody tr>*{display:block;height:auto;padding:0!important;border:0}.tabelle-eingabe .tag{grid-column:1 / 3;align-self:center}.tabelle-eingabe .stunden-zelle{grid-column:3;grid-row:1;text-align:right;min-width:0}.tabelle-eingabe td[data-titel]:before{content:attr(data-titel);display:block;font-size:11.5px;color:var(--grau-6)}.tabelle-eingabe input,.tabelle-eingabe .eingabe-kurz{width:100%;min-height:40px;border-color:var(--grau-3);background:var(--grau-0)}.tabelle-eingabe input::placeholder{color:var(--grau-3)}.tabelle-eingabe .spalte-bemerkung{grid-column:1 / -1;white-space:normal}.tabelle-eingabe .spalte-bemerkung input{min-width:0}.tag-abwesenheit{margin:2px 0 6px}.fehlerzeile{display:block!important}.fehlerzeile td:first-child{display:none!important}.team-kalender .team-name{min-width:96px;max-width:110px;padding:0 8px;font-size:13px}.team-kalender-rahmen{max-height:calc(100vh - 260px)}.team-zelle{min-width:36px;height:42px}.upload-zeile{grid-template-columns:minmax(0,1fr) auto;padding:12px 0}.upload-zeile>:not(.upload-name):not(.knopf-icon){grid-column:1 / -1;width:100%}.upload-zeile .knopf-icon{grid-column:2;grid-row:1}}@media(max-width:420px){.urlaubskonto{grid-template-columns:repeat(3,1fr)}.urlaubskonto>div:first-child{grid-column:1 / -1}.kennzahl-wert{font-size:17px}}.neuigkeiten-hintergrund{position:fixed;inset:0;z-index:40;background:#00000059;animation:einblenden var(--normal) var(--ease-out)}.neuigkeiten{position:fixed;z-index:41;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100% - 24px,460px);max-height:min(80vh,640px);overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:22px;background:var(--grau-0);border-radius:var(--radius-gross);box-shadow:var(--schatten-schwebend);animation:hochgleiten var(--normal) var(--ease-out)}.neuigkeiten header{display:flex;align-items:center;gap:12px}.neuigkeiten header app-icon{width:26px;height:26px;color:var(--akzent)}.neuigkeiten header h2{font-size:19px;letter-spacing:-.01em}.neuigkeiten header .leise{font-size:12.5px}.neuigkeit h3{margin:0 0 4px;font-size:14px;font-weight:650}.neuigkeit ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--grau-7)}.neuigkeiten .knopf{min-height:46px}app-dienstplan{display:flex;flex-direction:column;gap:20px;min-width:0}.plan-standort{display:flex;flex-direction:column;gap:10px}.plan-kopf h2{font-size:17px;letter-spacing:-.01em}.plan-kopf p{font-size:13px}.plan-tage{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:start}@media(min-width:1100px){.plan-tage{grid-template-columns:repeat(7,minmax(0,1fr))}.plan-zeit{min-width:0}.plan-schicht{justify-content:space-between}}.plan-tag{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--grau-0);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte)}.plan-tag h3{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;font-weight:650;color:var(--grau-7)}.plan-heute{box-shadow:var(--schatten-karte),inset 3px 0 0 var(--akzent)}.plan-heute h3{color:var(--akzent)}.plan-heute .marker{background:var(--akzent-tint-stark);color:var(--akzent);margin-left:0}.plan-schicht{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-variant-numeric:tabular-nums}.plan-zeit{min-width:9.5ch;color:var(--grau-7);font-size:12.5px}.plan-name{font-weight:550}.plan-handy{display:flex;flex-direction:column;gap:12px}.plan-woche{display:none}.plan-woche-zeigen{display:block}.plan-zeiten{display:flex;flex-direction:column;gap:4px;font-size:12.5px}.plan-tagkarten{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:start}@media(max-width:760px){.plan-tage{grid-template-columns:minmax(0,1fr)}.plan-schicht{gap:2px 12px}.plan-zeit{min-width:11ch}}@media(min-width:761px){.plan-tagwahl{max-width:520px}.plan-tagwahl button{min-height:40px}}.plan-tagwahl{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.plan-tagwahl::-webkit-scrollbar{display:none}.plan-tagwahl button{flex:1 1 0;min-width:0;min-height:44px;padding:0 4px;white-space:nowrap;border:1px solid var(--grau-3);border-radius:var(--radius-eingabe);background:var(--grau-0);color:var(--grau-7);font:inherit;font-weight:600;cursor:pointer;transition:background-color var(--schnell),border-color var(--schnell),color var(--schnell)}.plan-tagwahl button.ist-heute{border-color:var(--akzent);color:var(--akzent)}.plan-tagwahl button.gewaehlt{background:var(--akzent);border-color:var(--akzent);color:var(--auf-akzent)}button.plan-alle{align-self:flex-start;border:0;background:none;padding:6px 0;cursor:pointer;color:var(--akzent);font:inherit;font-size:13px;font-weight:550}button.plan-alle:hover{text-decoration:underline;text-underline-offset:2px}.plan-tagtitel{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:650;letter-spacing:-.01em}.plan-tagtitel .marker{background:var(--akzent-tint-stark);color:var(--akzent);margin-left:0}.plan-tag-gross{gap:8px;padding:14px 16px}.plan-tag-gross h3{font-size:14px;color:var(--grau-9)}.plan-tag-gross .plan-schicht{justify-content:flex-start;min-height:28px;font-size:15px}.plan-tag-gross .plan-zeit{min-width:12ch;font-size:14px}
