:root{--bios-primary: #7e8733;--bios-primary-hover: #626a29;--bios-bg: #ebebeb;--bios-surface-header: #f5f5f5;--bios-surface: #ffffff;--bios-text: #242424;--bios-text-secondary: #616161;--bios-border: #d1d1d1;--bios-status-anwesend: #0e700e;--bios-status-pause: #dd8755;--bios-status-abwesend: #b10e1c;--bios-shadow: 0 1px 2px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100dvh;overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bios-bg);color:var(--bios-text);min-height:100dvh;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#app{min-height:100dvh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.75rem 1.5rem;padding-top:calc(.75rem + env(safe-area-inset-top));padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));background-color:var(--bios-surface-header);border-bottom:2px solid var(--bios-primary);box-shadow:0 2px 8px #0000000a;user-select:none;-webkit-user-select:none}.app-brand{display:flex;align-items:center;gap:.75rem;justify-self:start}.app-brand-text{display:flex;flex-direction:column;gap:.125rem}.app-datum{font-size:.8125rem;font-weight:500;color:var(--bios-text-secondary);font-variant-numeric:tabular-nums}.app-uhrzeit{justify-self:center;font-size:1.625rem;font-weight:600;color:var(--bios-text);font-variant-numeric:tabular-nums;letter-spacing:.02em}.app-header-actions{justify-self:end;display:flex;align-items:center;gap:.5rem}.online-indikator{position:relative;width:22px;height:22px;color:var(--bios-text-secondary);display:none;align-items:center;justify-content:center}.online-indikator-aktiv{display:inline-flex}.online-indikator svg{width:100%;height:100%}.online-indikator-aktiv:after{content:"";position:absolute;left:-3px;right:-3px;height:2px;background:var(--bios-status-abwesend);transform:rotate(-45deg);border-radius:1px;box-shadow:0 0 0 1.5px var(--bios-surface-header)}.app-logo{height:2.5rem;width:auto;display:block}.app-header h1{color:var(--bios-primary);font-size:1.25rem;font-weight:600;margin:0;display:inline-flex;align-items:center;gap:.5rem}.demo-tag{background-color:var(--bios-status-pause);color:#fff;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.125rem .5rem;border-radius:999px}.btn{font:inherit;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:background-color .1s ease}.btn-primary{background-color:var(--bios-primary);color:#fff}.btn-primary:hover{background-color:var(--bios-primary-hover)}.btn-ghost{background-color:transparent;border-color:var(--bios-border);color:var(--bios-text)}.btn-ghost:hover{background-color:#f5f5f5}.btn-sm{padding:.35rem .75rem;font-size:.875rem}.login-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.login-screen h1{color:var(--bios-primary);font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.login-screen .subtitle{color:var(--bios-text-secondary);font-size:1rem;margin-bottom:2rem}.kachel-container{flex:1;padding:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));padding-left:calc(1.25rem + env(safe-area-inset-left));padding-right:calc(1.25rem + env(safe-area-inset-right))}.kachel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:1400px;margin:0 auto}@media(min-width:1024px){.kachel-grid{grid-template-columns:repeat(5,1fr)}}.kachel{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;padding:1rem 1.25rem 1.125rem;background-color:var(--bios-surface);border:1px solid var(--bios-border);border-radius:6px;cursor:pointer;box-shadow:var(--bios-shadow);transition:transform .05s ease,box-shadow .1s ease;text-align:left;user-select:none;-webkit-user-select:none}.kachel:active{transform:scale(.98);box-shadow:0 1px 1px #00000014}.kachel-icon{width:32px;height:32px;display:inline-flex}.kachel-icon svg{width:100%;height:100%}.kachel-name{font-size:1.5rem;font-weight:600;color:var(--bios-text);line-height:1.2}.kachel-status{font-size:.875rem;font-weight:500}.kachel-anwesend{color:var(--bios-status-anwesend)}.kachel-pause{color:var(--bios-status-pause)}.kachel-abwesend{color:var(--bios-status-abwesend)}.kachel-anwesend,.kachel-pause{box-shadow:var(--bios-shadow),inset 2px 0 0 currentColor}.kachel-anwesend:active,.kachel-pause:active{box-shadow:0 1px 1px #00000014,inset 2px 0 0 currentColor}.hint{font-size:.875rem;color:var(--bios-text-secondary);text-align:center;margin-top:2rem}.ma-badge{font-size:.75rem;color:var(--bios-text-secondary);text-align:center;margin-top:1rem}.modal-overlay{position:fixed;inset:0;background-color:#00000040;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100;animation:modal-fade-in .12s ease-out}.modal-overlay.is-closing{animation:modal-overlay-out .2s cubic-bezier(.32,.72,0,1) forwards}.modal-overlay.is-closing .modal{animation:modal-pop-out .2s cubic-bezier(.32,.72,0,1) forwards}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-overlay-out{to{opacity:0}}@keyframes modal-pop-out{to{transform:translateY(8px) scale(.99);opacity:0}}.modal{background-color:var(--bios-surface);border-radius:8px;box-shadow:0 14px 28px #0000003d,0 0 8px #0000002e;padding:2.5rem 2.25rem 2.25rem;width:100%;max-width:420px;opacity:0;transform:translateY(16px) scale(.94)}.modal-name{font-size:2.25rem;font-weight:600;color:var(--bios-text);margin-bottom:.25rem}.modal-status{font-size:1.0625rem;font-weight:500;margin-bottom:2rem}.modal-status-anwesend{color:var(--bios-status-anwesend)}.modal-status-pause{color:var(--bios-status-pause)}.modal-status-abwesend{color:var(--bios-status-abwesend)}.modal-aktionen{display:flex;flex-direction:column;gap:1.5rem}.btn-aktion{font:inherit;font-weight:600;font-size:1.25rem;padding:1.25rem 1.5rem;border-radius:6px;border:1px solid transparent;cursor:pointer;color:#fff;box-shadow:0 1px 2px #0000001a;transition:transform .08s ease,filter .1s ease,box-shadow .1s ease;user-select:none;-webkit-user-select:none}.btn-aktion:active{transform:scale(.96);filter:brightness(.78) saturate(1.05);box-shadow:inset 0 2px 6px #00000040,0 0 0 transparent}.btn-aktion-anwesend{background-color:var(--bios-status-anwesend)}.btn-aktion-pause{background-color:var(--bios-status-pause)}.btn-aktion-abwesend{background-color:var(--bios-status-abwesend)}.feier-banner{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin:0 auto;padding:.5rem 1.4rem;background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--bios-primary-hover);border:1px solid rgba(126,135,51,.35);border-radius:999px;box-shadow:0 4px 18px #0000001f;font-size:1.1rem;font-weight:700;letter-spacing:.01em}.feier-banner-text{text-align:center}.feier-banner-emoji{font-size:1.4rem;animation:feier-wackeln 2.2s ease-in-out infinite}@keyframes feier-wackeln{0%,to{transform:rotate(-12deg) scale(1)}50%{transform:rotate(12deg) scale(1.12)}}.feier-banner-container{display:flex;justify-content:center;padding:1.25rem 1.25rem 0;padding-left:calc(1.25rem + env(safe-area-inset-left));padding-right:calc(1.25rem + env(safe-area-inset-right))}.feier-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}@media(prefers-reduced-motion:reduce){.feier-banner-emoji{animation:none}}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2")}body:has(>#app.app-persoenlich){background-color:#f5f7ef}.pers-top{position:fixed;top:calc(.75rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));display:flex;align-items:center;gap:.5rem;z-index:10}.app-persoenlich{--bios-bg: #f5f7ef;--bios-surface: #ffffff;--bios-text: #22261a;--bios-text-secondary: #5f6551;--bios-border: rgba(34, 38, 26, .1);--bios-shadow: 0 1px 2px rgba(34, 38, 26, .04), 0 8px 24px rgba(34, 38, 26, .06);height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,sans-serif;font-feature-settings:"tnum" 1;background-color:var(--bios-bg);color:var(--bios-text)}.app-persoenlich main{min-height:0;overflow:hidden}.pers-container{flex:1;min-height:0;display:flex;flex-direction:column}.pers-seiten{flex:1;min-height:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.pers-seiten::-webkit-scrollbar{display:none}.pers-seite{flex:0 0 100%;width:100%;scroll-snap-align:start;overflow-y:auto;padding:1rem 1.25rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));padding-left:calc(1.25rem + env(safe-area-inset-left));padding-right:calc(1.25rem + env(safe-area-inset-right))}.pers-layout{max-width:26rem;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}@media(min-width:640px){.pers-seite:has(.plan-seite) .pers-layout{max-width:44rem}}.pers-container>.hint,.pers-container>.ma-badge{padding:0 1.25rem}.app-persoenlich .app-header{flex:none;position:static;background:#fff;border-bottom:1px solid #000000;box-shadow:none;padding:0;padding-top:env(safe-area-inset-top);color:#000;display:block}.app-persoenlich .app-header{padding-top:calc(env(safe-area-inset-top,0px) + min(20px,env(safe-area-inset-top,0px)))}.app-persoenlich .app-header-leiste{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:56px;padding:0 1rem;padding-left:calc(1rem + env(safe-area-inset-left));padding-right:calc(1rem + env(safe-area-inset-right))}.app-persoenlich .app-brand{display:flex;align-items:center;gap:.5rem;min-width:0}.app-persoenlich .app-logo{height:32px;width:auto;display:block}.app-persoenlich .app-header h1{font-size:1rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;margin:0;color:#000}.app-persoenlich .app-header-status{margin-left:auto}.online-status{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;white-space:nowrap}.online-status:before{content:"";width:8px;height:8px;flex:none;background:#1a5c2a}.online-status-offline{color:#b3261e}.online-status-offline:before{background:#b3261e}.name-chip{display:inline-flex;align-items:center;height:32px;padding:0 .5rem;font-size:.875rem;font-weight:600;white-space:nowrap;max-width:40vw;overflow:hidden;text-overflow:ellipsis}.pers-tabs{display:flex;overflow-x:auto;scrollbar-width:none;padding:0;padding-left:calc(.25rem + env(safe-area-inset-left));padding-right:calc(.25rem + env(safe-area-inset-right));background:#fff;border-top:1px solid rgba(0,0,0,.08)}.pers-tabs::-webkit-scrollbar{display:none}.pers-tab{flex:1 0 auto;min-width:0;min-height:48px;font:inherit;font-size:.9375rem;font-weight:500;padding:0 .9rem;border:none;border-bottom:3px solid transparent;background:none;color:#4a4a4a;white-space:nowrap;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}.pers-tab:active{background-color:#0000000a}.pers-tab-aktiv{color:#000;font-weight:700;border-bottom-color:var(--bios-primary)}.pers-bilanz{background-color:var(--bios-surface);border:1px solid var(--bios-border);border-radius:12px;box-shadow:var(--bios-shadow);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.5rem}.pers-bilanz-leer{flex-direction:row;align-items:baseline;justify-content:space-between}.pers-bilanz-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.pers-bilanz-monat{font-size:1rem;font-weight:600}.pers-bilanz-stand,.pers-bilanz-hinweis{font-size:.8125rem;color:var(--bios-text-secondary)}.pers-bilanz-werte{display:flex;justify-content:space-between;gap:.5rem;font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.pers-bilanz-wert{display:flex;flex-direction:column;gap:.125rem}.pers-bilanz-label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bios-text-secondary)}.monats-tag-melden{flex:none;font-size:.8125rem;font-weight:600;color:var(--bios-primary-hover);border:1px solid rgba(126,135,51,.5);border-radius:999px;padding:.25rem .625rem;white-space:nowrap;margin-left:.25rem}.wuensche-intro{margin:0;padding:.75rem 1rem 0;font-size:.875rem;line-height:1.45;color:var(--bios-text-secondary)}.wunsch-zeile{display:flex;flex-direction:column;gap:.25rem;padding:.625rem 0}.wunsch-zeile+.wunsch-zeile{border-top:1px solid #e8e8e8}.wunsch-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.wunsch-zeitraum{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.wunsch-status{flex:none;font-size:.8125rem;font-weight:600;color:var(--bios-text-secondary)}.wunsch-status-bestaetigt{color:var(--bios-status-anwesend)}.wunsch-status-abgelehnt{color:var(--bios-status-abwesend)}.wunsch-detail{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;font-size:.875rem;color:var(--bios-text-secondary)}.wunsch-text{font-style:italic}.wunsch-zurueck{margin-left:auto;background:none;border:none;padding:0;font:inherit;font-size:.8125rem;color:var(--bios-text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.kal-legende{display:flex;flex-wrap:wrap;gap:.375rem .875rem;padding:.625rem 1rem 0;font-size:.75rem;color:var(--bios-text-secondary)}.kal-legende span{display:inline-flex;align-items:center;gap:.35rem}.kal-legende-punkt{display:inline-block;width:12px;height:12px;border-radius:3px}.kal-legende-feiertag,.kal-tag.kal-feiertag{background-color:#22261a24;color:var(--bios-text-secondary)}.kal-legende-ferien,.kal-tag.kal-ferien{background-color:#fefbef}.kal-tag.kal-ferien.kal-feiertag{background-color:#22261a24}.anspruch{padding:.75rem 1rem 0;display:flex;flex-direction:column;gap:.5rem}.anspruch-zeile{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.9375rem;color:var(--bios-text-secondary)}.anspruch-wert b{font-size:1.25rem;font-weight:700;color:var(--bios-text);font-variant-numeric:tabular-nums}.anspruch-ueber,.anspruch-ueber b{color:var(--bios-status-abwesend)}.anspruch-hinweis{font-size:.8125rem}.anspruch-balken{height:8px;border-radius:4px;background-color:#22261a14;overflow:hidden}.anspruch-balken-fuellung{height:100%;border-radius:4px;background-color:var(--bios-primary);transition:width .3s ease}.anspruch-balken-ueber{background-color:var(--bios-status-abwesend)}.anspruch-fuss{margin:0;font-size:.75rem;line-height:1.4;color:var(--bios-text-secondary)}.kal-monat-hinweise{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(34,38,26,.07);font-size:.75rem;color:var(--bios-text-secondary)}.kal-monat-hinweis-ferien:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background-color:#fefbef;border:1px solid rgba(34,38,26,.15);margin-right:.3rem;vertical-align:0}.kal-auswahl-banner{margin:.625rem 1rem 0;padding:.5rem .75rem;border-radius:8px;background-color:#7e873324;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kal-auswahl-banner .anmeldung-link{flex:none;padding:0}.kal-jahr{display:flex;flex-direction:column;gap:.75rem}.kal-jahr .kal-monat{background-color:var(--bios-surface);border:1px solid rgba(34,38,26,.07);border-radius:var(--pers-radius, 12px);box-shadow:var(--bios-shadow);padding:.75rem 1rem .875rem}.kal-monat-titel{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.25rem}.kal-wochentage,.kal-raster{display:grid;grid-template-columns:repeat(7,1fr)}.kal-wochentage{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bios-text-secondary);text-align:center;margin-bottom:.125rem}.kal-raster{gap:4px}.kal-tag{height:2.25rem;display:flex;align-items:center;justify-content:center;position:relative;font:inherit;font-size:.875rem;font-variant-numeric:tabular-nums;color:inherit;background:none;border:none;border-radius:8px;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.kal-so{color:var(--bios-text-secondary);opacity:.6}.kal-feiertag{color:var(--bios-text-secondary)}.kal-tag.kal-w-offen,.kal-legende-punkt.kal-w-offen{background-color:#7e873338;color:var(--bios-text);font-weight:600}.kal-tag.kal-w-bestaetigt,.kal-legende-punkt.kal-w-bestaetigt{background-color:var(--bios-primary);color:#fff;font-weight:600}.kal-tag.kal-w-abgelehnt,.kal-legende-punkt.kal-w-abgelehnt{background-color:#b10e1c1a;color:var(--bios-text-secondary);text-decoration:line-through}.kal-auswahl{box-shadow:inset 0 0 0 2px var(--bios-primary);border-radius:8px;font-weight:700}.wuensche-liste{padding:.5rem 1rem 1rem}.wuensche-liste-titel{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bios-text-secondary);margin:.25rem 0 .125rem}.pers-layout .monats-uebersicht{margin:0}.monats-tag-btn{font:inherit;color:inherit;text-align:left;width:100%;background:none;border:none;cursor:pointer;border-radius:6px;user-select:none;-webkit-user-select:none}.monats-tag-btn:active{background-color:#f5f5f5}.monats-tag-laeuft{color:var(--bios-status-anwesend);font-weight:600;white-space:nowrap;font-size:.875rem}.monats-tag-keine-schicht{color:var(--bios-text-secondary);font-size:.875rem;white-space:nowrap}.monats-tag-gemeldet{color:var(--bios-text-secondary);font-weight:600}.monats-tag-bearbeitet{color:var(--bios-status-anwesend);font-weight:600}.monats-tag-art{display:inline-block;margin-left:.5rem;vertical-align:1px;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--bios-text-secondary);background-color:#f0efec;border-radius:999px;padding:.125rem .5rem;white-space:nowrap}.monats-tage-anfang{border-top:none;padding-top:.875rem}.modal-meldung{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,sans-serif;font-feature-settings:"tnum" 1;max-width:26rem;padding:1.25rem 1.25rem 1.125rem;max-height:calc(100dvh - 2rem);overflow-y:auto}.meldung-titel{font-size:1.25rem;font-weight:700;margin-bottom:.125rem}.meldung-feld{display:flex;flex-direction:column;gap:.25rem;min-width:0}.meldung-label{font-size:.8125rem;font-weight:600;color:var(--bios-text-secondary)}.meldung-datum{font-size:1.0625rem;font-weight:600}.meldung-bisher{font-size:.875rem;color:var(--bios-text-secondary);font-variant-numeric:tabular-nums}.meldung-zeiten{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin:1rem 0 .75rem}.meldung-input{font:inherit;font-size:1rem;font-variant-numeric:tabular-nums;padding:.5rem .625rem;border:1px solid var(--bios-border);border-radius:6px;background-color:var(--bios-surface);color:var(--bios-text);width:100%;min-width:0;user-select:text;-webkit-user-select:text}.meldung-input:focus-visible{outline:2px solid var(--bios-primary);outline-offset:1px}.meldung-textarea{resize:none;font-variant-numeric:normal;display:block;margin-bottom:.75rem}.meldung-fehler{font-size:.875rem;color:var(--bios-status-abwesend);font-weight:500;margin-bottom:.625rem}.meldung-buttons{display:flex;gap:.625rem}.meldung-buttons .btn-primary{flex:1;padding:.7rem 1rem;font-weight:600}.meldung-buttons .btn-ghost{padding:.7rem 1rem}.pers-fuss{display:flex;flex-direction:column;align-items:center;gap:.375rem;margin-top:.75rem}.pers-abmelden{background:none;border:none;padding:.25rem .5rem;font:inherit;font-size:.8125rem;color:var(--bios-text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.anmeldung{flex:1;min-height:0;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem;padding-top:calc(1.5rem + env(safe-area-inset-top));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.anmeldung-karte{width:min(26rem,100%);background-color:var(--bios-surface);border:1px solid var(--bios-border);border-radius:12px;box-shadow:var(--bios-shadow);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.anmeldung-signet{height:2.5rem;width:auto;align-self:center}.anmeldung-titel{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;text-align:center;margin:0}.anmeldung-untertitel{font-size:1rem;font-weight:600;margin:0}.anmeldung-text{font-size:1rem;line-height:1.45;margin:0;color:var(--bios-text)}.anmeldung-hinweis{font-size:.875rem;line-height:1.45;margin:0;color:var(--bios-text-secondary)}.anmeldung-warten{text-align:center;color:var(--bios-text-secondary)}.anmeldung-form{display:flex;flex-direction:column;gap:.75rem}.anmeldung-form[hidden]{display:none}.anmeldung-feld{display:flex;flex-direction:column;gap:.25rem}.anmeldung-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bios-text-secondary)}.anmeldung-input{font:inherit;font-size:1.0625rem;padding:.75rem .875rem;border:1px solid var(--bios-border);border-radius:8px;background-color:var(--bios-surface);color:var(--bios-text)}.anmeldung-input:focus{outline:2px solid var(--bios-primary);outline-offset:1px}.anmeldung-btn{min-height:3rem;font-size:1.0625rem;border-radius:10px}.anmeldung-fehler{margin:0;font-size:.875rem;color:var(--bios-status-abwesend)}.anmeldung-schritte{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem;font-size:1rem;line-height:1.45}.anmeldung-fuss{margin:.25rem 0 0;text-align:center}.anmeldung-link{background:none;border:none;padding:.25rem .5rem;font:inherit;font-size:.875rem;color:var(--bios-text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.anmeldung-kiosk{border-top:1px solid var(--bios-border);padding-top:1rem}.monats-uebersicht{max-width:1400px;margin:1rem auto 0;background-color:var(--bios-surface);border:1px solid var(--bios-border);border-radius:6px;box-shadow:var(--bios-shadow);overflow:hidden}.monats-uebersicht-klickbar{cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;transition:box-shadow .12s ease-out}.monats-uebersicht-klickbar:active{box-shadow:0 1px 1px #00000014}.monats-kopf{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem .25rem;color:var(--bios-text);text-align:left}.monats-kopf-titel{display:flex;align-items:baseline;gap:.4rem;font-size:1.125rem;font-weight:600}.monats-chevron{display:inline-block;font-size:1.125rem;line-height:1;transition:transform .15s ease-out;color:var(--bios-text-secondary)}.monats-chevron-auf{transform:rotate(90deg)}.monats-stand{font-size:.875rem;font-weight:400;color:var(--bios-text-secondary)}.monats-summe{display:flex;gap:1rem;font-size:1rem;font-variant-numeric:tabular-nums}.monats-summe-wert{color:var(--bios-text-secondary)}.monats-heute{padding:.25rem 1.25rem 1rem;font-size:1rem;color:var(--bios-text)}.monats-uebersicht>.monats-heute:first-child{padding-top:1rem}.monats-hinweis{padding:0 1.25rem 1rem;font-size:.875rem;color:var(--bios-text-secondary)}.monats-uebersicht>.monats-hinweis:first-child{padding-top:1rem}.monats-kappung{color:#9a5b00;font-weight:600}.monats-tag-pause{color:var(--bios-text-secondary);white-space:nowrap}.monats-tag-gekappt{color:#9a5b00;font-weight:600;white-space:nowrap}.monats-tage{border-top:1px solid var(--bios-border);padding:.5rem 1.25rem .875rem}.monats-tag{display:flex;flex-direction:column;gap:.2rem;padding:.625rem 0}.monats-tag+.monats-tag{border-top:1px solid #e8e8e8}.monats-tag-kopf{display:flex;align-items:center;gap:.5rem}.monats-tag-datum{flex:1;font-size:1rem;font-weight:600;color:var(--bios-text)}.monats-tag-zahlen{display:flex;align-items:baseline;gap:.75rem;font-size:1rem;font-variant-numeric:tabular-nums}.monats-tag-stunden{font-weight:600}.monats-tag-delta{min-width:3.5rem;text-align:right}.monats-tag-zl{display:flex;gap:.5rem;font-size:.875rem;align-items:baseline}.monats-tag-label{flex:none;width:2.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--bios-text-secondary)}.monats-tag-wert{color:var(--bios-text);font-variant-numeric:tabular-nums}.monats-tag-wert-plan{color:var(--bios-text-secondary)}.monats-tag-zeit{white-space:nowrap}.monats-tag-fehlt{color:var(--bios-status-abwesend);font-weight:500}.monats-tag-meldung{font-size:.875rem;margin-left:3rem}.monats-delta-plus{color:var(--bios-status-anwesend)}.monats-delta-minus{color:var(--bios-status-abwesend)}.mon-kalender{padding:.75rem 1rem 0}.mon-tag{cursor:default;border-radius:8px}.mon-gearbeitet{background-color:#7e873338;font-weight:600}.mon-laeuft{box-shadow:inset 0 0 0 2px var(--bios-primary);font-weight:700}.mon-geplant{box-shadow:inset 0 0 0 1px #7e87338c;color:var(--bios-primary-hover)}.mon-fehlt{background-color:#b10e1c1f;color:var(--bios-status-abwesend);font-weight:600}.mon-urlaub{background-color:#f3dcc8;color:#5a3417;font-weight:600}.mon-krank{background-color:#22261a1f;color:var(--bios-text-secondary);font-weight:600}.mon-feiertag{background-color:#22261a0f;color:var(--bios-text-secondary)}.mon-sonderzeit{background-color:#7e87331f;color:var(--bios-primary-hover)}.mon-abwesend{background-color:#22261a14;color:var(--bios-text-secondary)}.mon-legende{padding-top:.5rem}.mon-legende .kal-legende-punkt{box-shadow:none}.mon-legende .kal-legende-punkt.mon-laeuft,.mon-legende .kal-legende-punkt.mon-geplant{box-shadow:inset 0 0 0 2px var(--bios-primary)}.mon-zusammenfassung{display:flex;flex-wrap:wrap;gap:.375rem 1rem;padding:.75rem 1rem .25rem;font-size:.875rem;color:var(--bios-text-secondary)}.mon-zusammenfassung b{color:var(--bios-text);font-weight:600;font-variant-numeric:tabular-nums}.mon-tage{border-top:1px solid var(--bios-border);margin-top:.5rem}.mon-zeile{padding:.5rem 0}.mon-plan{color:var(--bios-text-secondary);font-size:.875rem}.mon-pill-fehlt{color:var(--bios-status-abwesend)}.pers-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:12.5rem;text-align:center;gap:.375rem;padding:1.5rem;border-radius:12px;border:1px solid transparent;box-shadow:var(--bios-shadow);transition:background-color .3s ease,color .3s ease}.pers-status-icon{width:52px;height:52px;display:inline-flex;margin-bottom:.25rem}.pers-status-icon svg{width:100%;height:100%}.pers-status-label{font-size:1.75rem;font-weight:700;line-height:1.15;letter-spacing:-.01em}.pers-status-seit{font-size:1.0625rem;font-variant-numeric:tabular-nums}.pers-status-abwesend{background-color:var(--bios-surface);color:var(--bios-text);border-color:var(--bios-border)}.pers-status-abwesend .pers-status-icon,.pers-status-abwesend .pers-status-seit{color:var(--bios-text-secondary)}.pers-status-anwesend{background-color:var(--bios-status-anwesend);color:#fff}.pers-status-anwesend .pers-status-seit{color:#ffffffd1}.pers-status-pause{background-color:#e9a678;color:#42230d}.pers-status-pause .pers-status-seit{color:#42230dbf}.pers-aktionen{display:grid;grid-template-columns:1fr;gap:.75rem}.pers-aktionen-2{grid-template-columns:1fr 1fr}.pers-aktion{font-size:1.25rem;padding:0 1rem;border-radius:10px;min-height:5rem}.pers-aktion:disabled{opacity:.6;pointer-events:none}.pers-heute{background-color:var(--bios-surface);border:1px solid var(--bios-border);border-radius:12px;box-shadow:var(--bios-shadow);padding:.875rem 1rem}.pers-heute-kopf{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.375rem}.pers-heute-titel{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bios-text-secondary)}.pers-heute-summe{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums}.pers-heute-block{font-size:1.0625rem;font-variant-numeric:tabular-nums;padding:.125rem 0}.pers-heute-laeuft{color:var(--bios-status-anwesend);font-weight:600;font-size:.9375rem}.pers-heute-leer{font-size:.9375rem;color:var(--bios-text-secondary)}.pers-heute-kontext{margin-top:.375rem;font-size:.875rem;color:var(--bios-text-secondary);font-variant-numeric:tabular-nums}.sw-kalender .kal-raster{gap:4px}.sw-tag{height:2.75rem;flex-direction:column;gap:.05rem;line-height:1}.sw-tag-label{font-size:.5625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.kal-tag.sw-frei,.kal-legende-punkt.sw-frei{background-color:#f3dcc8;color:#5a3417}.kal-tag.sw-frueh,.kal-legende-punkt.sw-frueh{background-color:#fbf1c7;color:#5a4a12}.kal-tag.sw-spaet,.kal-legende-punkt.sw-spaet{background-color:#7e873347;color:var(--bios-primary-hover)}.sw-wahl-liste{display:flex;flex-direction:column;gap:.5rem;margin:.25rem 0 .5rem}.sw-wahl{min-height:2.75rem;border-radius:10px;font-size:1rem;border:1px solid var(--bios-border);background-color:var(--bios-surface);color:var(--bios-text)}.sw-wahl-aktiv{box-shadow:inset 0 0 0 2px var(--bios-primary);font-weight:600}.app-persoenlich{--pers-radius: 12px;--pers-radius-klein: 6px}.app-persoenlich .monats-uebersicht,.app-persoenlich .pers-bilanz,.app-persoenlich .pers-status,.app-persoenlich .pers-heute,.app-persoenlich .pers-aktion,.app-persoenlich .anspruch-balken,.app-persoenlich .kal-auswahl-banner{border-radius:var(--pers-radius);border-color:#22261a12}.app-persoenlich .kal-tag,.app-persoenlich .mon-tag,.app-persoenlich .kal-auswahl,.app-persoenlich .kal-legende-punkt{border-radius:var(--pers-radius-klein)}.app-persoenlich .tag-kachel{border-radius:10px}.monats-tag-datum-kachel{display:flex;align-items:center;gap:.7rem;flex:1 1 0;min-width:0}.monats-tag-btn .monats-tag-zahlen{flex-direction:column;align-items:flex-end;gap:0;flex:none}.monats-tag-btn .monats-tag-delta,.monats-tag-btn .monats-tag-laeuft{font-size:.875rem;min-width:0}.tag-kachel{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:12px;background-color:#22261a0d}.tag-kachel-zahl{font-size:1.25rem;font-weight:700;line-height:1;letter-spacing:-.02em}.tag-kachel-heute{background-color:var(--bios-primary);box-shadow:0 3px 10px #7e873359}.tag-kachel-heute .tag-kachel-zahl{color:#fff}.tag-kopf-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.tag-wochentag{font-size:1rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-unterzeile{font-size:.8125rem;font-weight:400;color:var(--bios-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monats-tag-datum-kachel .monats-tag-art{align-self:center}.plan-seite{display:flex;flex-direction:column;gap:.75rem}.plan-umschalter{display:flex;gap:.25rem;padding:.25rem;border-radius:var(--pers-radius, 12px);background-color:#22261a0f}.plan-umschalter-btn{flex:1;font:inherit;font-size:.9375rem;font-weight:600;min-height:2.5rem;border:none;border-radius:9px;background:none;color:var(--bios-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-umschalter-aktiv{background-color:var(--bios-surface);color:var(--bios-text);box-shadow:0 1px 2px #22261a1f}.plan-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.plan-nav-titel{min-width:0;text-align:center}.plan-seite .nav-btn{width:40px;height:40px;border:1px solid #000000;background:#fff;font:inherit;font-size:1.5rem;line-height:1;color:#000;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-seite .wochen-bereich{font-size:1.125rem;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:#000}.plan-seite .wochen-kw{font-size:.8125rem;color:var(--bios-text-secondary);margin-top:.125rem}.plan-seite .heute-btn{align-self:center;height:32px;padding:0 .6rem;background:#000;color:#fff;border:none;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.plan-seite .lade-hinweis{text-align:center;color:var(--bios-text-secondary);font-size:.95rem;padding:2rem 1rem}.plan-seite .lade-hinweis-fehler{color:var(--bios-status-abwesend)}.plan-seite .tage{display:flex;flex-direction:column;gap:.75rem}.plan-seite .tag{background-color:var(--bios-surface);border:1px solid rgba(34,38,26,.07);border-radius:var(--pers-radius, 12px);box-shadow:var(--bios-shadow);overflow:hidden}.plan-seite .tag-heute{border-color:#22261a29}.plan-seite .tag-kopf{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem .6rem}.plan-seite .tag-kachel{width:2.75rem;height:2.75rem;border-radius:10px}.plan-seite .tag-kachel-zahl{font-size:1.375rem}.plan-seite .tag-heute .tag-kachel{background-color:var(--bios-primary);box-shadow:0 3px 10px #7e873359}.plan-seite .tag-heute .tag-kachel-zahl{color:#fff}.plan-seite .tag-wochentag{font-size:1.125rem;margin:0}.plan-seite .tag-heute-badge{margin-left:auto;flex-shrink:0;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--bios-text-secondary);background-color:#22261a0f;padding:.25rem .6rem;border-radius:4px}.plan-seite .tag-info{padding:.25rem 1rem 1rem;font-size:.9375rem;color:#969b89}.plan-seite .tag-info-feiertag{color:var(--bios-text-secondary);font-weight:600}.plan-seite .tag-info-sync{display:flex;align-items:center;gap:.5rem;font-weight:600}.plan-seite .tag-info-sync:before{content:"";width:.6rem;height:.6rem;border-radius:50%;border:2px solid rgba(34,38,26,.1);border-top-color:var(--bios-text-secondary);animation:sync-dreh .8s linear infinite}@keyframes sync-dreh{to{transform:rotate(360deg)}}.plan-seite .schicht-spalten{display:flex;flex-direction:column;padding-bottom:.4rem}.plan-seite .schicht-gruppe+.schicht-gruppe{margin-top:.35rem}@media(min-width:640px){.plan-seite .schicht-spalten{flex-direction:row;align-items:stretch}.plan-seite .schicht-gruppe{flex:1 1 0;min-width:0}.plan-seite .schicht-gruppe+.schicht-gruppe{margin-top:0;border-left:1px solid rgba(34,38,26,.12)}}.plan-seite .gruppe-label{font-size:.875rem;font-weight:700;padding:.45rem 1rem;background-color:#22261a0f}.plan-seite .schicht{padding:.6rem 1rem .65rem}.plan-seite .schicht+.schicht{border-top:1px solid rgba(34,38,26,.07)}.plan-seite .schicht-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.plan-seite .schicht-person{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem;min-width:0;font-size:1rem;font-weight:600}.plan-seite .schicht-zeit{flex-shrink:0;font-size:1rem;font-variant-numeric:tabular-nums}.plan-seite .schicht-rollen{font-size:.875rem;color:var(--bios-text-secondary);margin-top:.15rem}.plan-seite .schicht-eigene{background-color:#7e87331f}.plan-seite .schicht-du{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background-color:var(--bios-primary);padding:.12rem .42rem;border-radius:4px}.plan-seite .schicht-offen{font-weight:500;font-style:italic;color:#969b89}.plan-seite .schicht-markiert{background-color:var(--bios-status-abwesend);color:#fff;font-weight:600;padding:.06rem .36rem;border-radius:4px}.plan-seite .schicht-hinweis{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bios-text-secondary);background-color:#22261a0f;padding:.16rem .5rem;border-radius:4px}.plan-seite .abwesenheiten{display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem 1rem .9rem;border-top:1px solid rgba(34,38,26,.07)}.plan-seite .abwesenheit{font-size:.875rem;border-radius:4px;padding:.25rem .7rem}.plan-seite .abwesenheit-art{font-weight:700}.plan-seite .abwesenheit-urlaub{color:#2f6f8c;background-color:#e8f1f6}.plan-seite .abwesenheit-krank{color:#b04057;background-color:#f9ebee}.plan-seite .abwesenheit-dienst{color:var(--bios-text-secondary);background-color:#22261a12}.plan-tag{height:2.75rem;flex-direction:column;gap:.05rem;line-height:1;cursor:default}.plan-tag-zeit{font-size:.5625rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}.plan-tag-heute{box-shadow:inset 0 0 0 2px var(--bios-primary)}.kal-tag.plan-frueh,.kal-legende-punkt.plan-frueh{background-color:#fbf1c7;color:#5a4a12}.kal-tag.plan-spaet,.kal-legende-punkt.plan-spaet{background-color:#7e873347;color:var(--bios-primary-hover)}.kal-tag.plan-abwesend,.kal-legende-punkt.plan-abwesend{background-color:#e8f1f6;color:#2f6f8c}.plan-monat .kal-legende{padding-bottom:.75rem}.plan-liste{padding:.25rem 1rem}.plan-liste-zeile{display:flex;gap:.75rem;align-items:baseline;padding:.5rem 0;font-size:.9375rem}.plan-liste-zeile+.plan-liste-zeile{border-top:1px solid rgba(34,38,26,.07)}.plan-liste-heute .plan-liste-datum{color:var(--bios-primary-hover)}.plan-liste-datum{flex:none;width:5.25rem;font-weight:600;font-variant-numeric:tabular-nums}.plan-liste-inhalt{display:flex;flex-direction:column;gap:.15rem;min-width:0}.plan-liste-zeit{font-variant-numeric:tabular-nums}.plan-liste-rollen{color:var(--bios-text-secondary)}.plan-liste-abwesend{color:#2f6f8c;font-weight:600}.plan-liste-woche{display:flex;align-items:baseline;gap:.5rem;padding:.75rem 0 .25rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bios-text-secondary)}.plan-liste-woche+.plan-liste-zeile{border-top:none}.plan-liste-woche-bereich{font-weight:500;letter-spacing:0;text-transform:none}.pers-stempeln{display:flex;flex-direction:column;gap:.75rem}
