@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f5f7f6;--surface:#fff;--ink:#1b2a26;--muted:#5a6763;--line:#d8e0dd;--green:#1e6b4f;--green-soft:#e3efe9;--red:#a33a32;--red-soft:#f6e4e1;--amber:#9a6a12;--amber-soft:#f7ecd6;--radius:10px;--tabbar-h:64px;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Atkinson Hyperlegible,system-ui,sans-serif;font-size:17px;line-height:1.45}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121816;--surface:#1b2320;--ink:#e6ece9;--muted:#9aa8a3;--line:#2d3834;--green:#5fbf96;--green-soft:#1d3329;--red:#e58a80;--red-soft:#3a2220;--amber:#e0b35c;--amber-soft:#3a2f19;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#121816;--surface:#1b2320;--ink:#e6ece9;--muted:#9aa8a3;--line:#2d3834;--green:#5fbf96;--green-soft:#1d3329;--red:#e58a80;--red-soft:#3a2220;--amber:#e0b35c;--amber-soft:#3a2f19;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body,h1,h2,p{margin:0}:focus-visible{outline:3px solid var(--green);outline-offset:2px}.shell{min-height:100dvh}.content{max-width:560px;padding:calc(24px + env(safe-area-inset-top)) 16px calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom));margin:0 auto}.page-head{margin-bottom:20px}.page-head h1{font-size:1.75rem;line-height:1.15}.page-head p{color:var(--muted);margin-top:4px}.hint{color:var(--muted);margin:12px 0;font-size:.9rem}.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-items:start;gap:12px;padding:16px;display:grid}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:center;gap:4px;display:flex;position:fixed;inset:auto 0 0}.tab{min-width:0;color:var(--muted);border-radius:8px;flex-direction:column;flex:0 140px;align-items:center;gap:2px;padding:6px 0;font-size:.8rem;text-decoration:none;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tab-icon{display:grid;position:relative}.punkt{background:var(--red);border:2px solid var(--surface);box-sizing:content-box;border-radius:50%;width:11px;height:11px;position:absolute;top:-1px;right:-3px}.punkt-inline{vertical-align:middle;border:0;width:12px;height:12px;margin-left:8px;display:inline-block;position:static}.tab.active{color:var(--green);font-weight:700}.btn{font:inherit;border:1.5px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;padding:10px 18px;font-weight:700}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--green);border-color:var(--green);color:var(--surface)}.btn-block{width:100%;margin-top:24px}.btn-tight{margin-top:12px}.btn-link{text-align:center;line-height:24px;text-decoration:none;display:block}.form-error{color:var(--red);background:var(--red-soft);border-radius:8px;margin:12px 0;padding:10px 12px}.form-success{color:var(--green);background:var(--green-soft);border-radius:8px;margin:12px 0;padding:10px 12px}.login{flex-direction:column;justify-content:center;gap:28px;max-width:400px;min-height:100dvh;margin:0 auto;padding:0 20px;display:flex}.login-head h1{color:var(--green);font-size:2rem;line-height:1.1}.login-head p{color:var(--muted);margin-top:6px}.login-form{gap:16px;display:grid}.login-form label{gap:6px;font-size:.95rem;font-weight:700;display:grid}.login-form input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:12px}.login-form input:focus{border-color:var(--green);outline:none}.login-form .form-error,.login-form .form-success{margin:0}.dienste{gap:12px;margin:0;padding:0;list-style:none;display:grid}.dienst{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:64px 1fr;display:grid;overflow:hidden}.date{background:var(--green-soft);color:var(--green);border-right:1px solid var(--line);flex-direction:column;align-items:center;padding:12px 0;display:flex}.date-weekday{font-size:.85rem;font-weight:700}.date-day{font-size:2rem;font-weight:700;line-height:1.05}.date-month{font-size:.85rem}.dienst-body{gap:2px;padding:12px 14px 14px;display:grid}.dienst-body h2{font-size:1.1rem}.dienst-meta,.dienst-notes{color:var(--muted);font-size:.95rem}.dienst-role{margin-top:4px;font-weight:700}.dienst-status{border-radius:999px;justify-self:start;margin-top:8px;padding:3px 10px;font-size:.85rem;font-weight:700}.status-offen .dienst-status{background:var(--amber-soft);color:var(--amber)}.status-zugesagt .dienst-status{background:var(--green-soft);color:var(--green)}.status-abgesagt .dienst-status{background:var(--red-soft);color:var(--red)}.status-abgesagt .date{background:var(--paper);color:var(--muted)}.status-abgesagt h2{color:var(--muted)}.dienst-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.week-nav{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin-bottom:16px;display:grid}.week-btn{width:48px;min-height:48px;color:var(--green);place-items:center;padding:0;display:grid}.week-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.week-label{text-align:center;line-height:1.25;display:grid}.week-label strong{font-size:1.15rem}.week-label span{color:var(--muted);font-size:.9rem}.week-today{color:var(--green);margin:-4px auto 16px;display:block}.zahlen{grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.zahlen button{background:var(--paper);width:100%;min-height:56px;color:var(--muted);font:inherit;cursor:pointer;border:0;border-radius:8px;justify-items:center;padding:6px 2px;font-size:.8rem;display:grid}.zahlen button:disabled{cursor:default;opacity:.6}.zahlen button[aria-expanded=true]{outline:3px solid var(--ink);outline-offset:-3px}.zahlen button:focus-visible{outline:3px solid var(--green);outline-offset:2px}.zahlen b{color:var(--ink);font-size:1.4rem;line-height:1.15}.zahlen .zahl-zugesagt{background:var(--green-soft);color:var(--green)}.zahlen .zahl-zugesagt b{color:var(--green)}.zahlen .zahl-abgesagt{background:var(--red-soft);color:var(--red)}.zahlen .zahl-abgesagt b{color:var(--red)}.zahlen .zahl-offen{background:var(--amber-soft);color:var(--amber)}.zahlen .zahl-offen b{color:var(--amber)}.roster{margin-top:12px}.roster h3{color:var(--muted);margin:12px 0 4px;font-size:.9rem}.roster h3:first-child{margin-top:0}.roster ul{margin:0;padding:0;list-style:none}.roster li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.roster li:first-child{border-top:0}.roster-name{flex:1;min-width:0;line-height:1.25;display:grid}.roster-gruppe{color:var(--muted);font-size:.85rem}.roster-hinweis{color:var(--muted);margin:0 0 4px;font-size:.85rem}.roster-haken{cursor:pointer;place-items:center;width:44px;height:44px;margin:-6px -8px -6px 0;display:grid}.roster-haken input{width:28px;height:28px;accent-color:var(--green);cursor:pointer;margin:0}.roster-leer{color:var(--muted);margin:0}.zahl-leer{background:var(--paper);color:var(--muted)}.verf-gruppe{margin-bottom:20px}.verf-gruppe h3{color:var(--muted);margin-bottom:8px;font-size:1rem}.verf-abschnitt{margin-top:32px}.page-head+.verf-abschnitt{margin-top:0}.verf-abschnitt h2{font-size:1.35rem}.verf-abschnitt>p,.verf-hinweis{color:var(--muted);margin:4px 0 16px}.urlaub-form{grid-template-columns:1fr 1fr;align-items:end;gap:12px;display:grid}.urlaub-form label{gap:4px;min-width:0;font-size:.9rem;font-weight:700;display:grid}.urlaub-form input{font:inherit;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:48px;color:var(--ink);min-width:0;padding:0 12px}.urlaub-form input:focus{border-color:var(--green);outline:none}.urlaub-form .btn{grid-column:1/-1}.urlaub-liste{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.urlaub-eintrag{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.urlaub-eintrag span{font-weight:700}.verf-liste{gap:8px;margin:0;padding:0;list-style:none;display:grid}.verf{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-height:64px;padding:10px 14px;display:grid}.verf input{width:28px;height:28px;accent-color:var(--green);cursor:pointer;margin:0}.verf:has(input:focus-visible){outline:3px solid var(--green);outline-offset:2px}.verf-an{background:var(--green-soft);border-color:var(--green)}.verf-text{min-width:0;display:grid}.verf-titel{font-weight:700}.verf-meta{color:var(--muted);font-size:.9rem}.auswahl{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius)}.auswahl summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 14px;list-style:none;display:flex}.auswahl summary::-webkit-details-marker{display:none}.auswahl summary:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:var(--radius)}.auswahl summary svg{fill:none;width:24px;height:24px;stroke:var(--muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .15s}.auswahl[open] summary svg{transform:rotate(180deg)}.auswahl .verf-liste{padding:0 10px 10px}.auswahl .verf-gruppe{margin-bottom:0}.auswahl .verf-gruppe h3{padding:0 10px}.auswahl .verf{grid-template-columns:auto 1fr auto}.dienst-kurz{background:var(--paper);width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:700;text-decoration:none;display:grid}.verf-an .dienst-kurz{background:var(--green);color:var(--surface)}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:grid}.stat-value{color:var(--green);font-size:2.25rem;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);font-size:.9rem}.details{grid-template-columns:auto 1fr;gap:4px 16px;margin:20px 0 0;display:grid}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:700}.omi-badge{vertical-align:middle;background:var(--green-soft);color:var(--green);letter-spacing:.04em;cursor:help;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:700;line-height:1.5;text-decoration:none;display:inline-block}.podest-name .omi-badge{justify-self:center;margin-top:2px}.ist-ich .omi-badge{background:var(--surface)}.plan-form{grid-template-columns:1fr 1fr;gap:12px;padding:0 14px 14px;display:grid}.dienst-body>.plan-form{margin-top:4px;padding:0}.plan-form .voll{grid-column:1/-1}.plan-form label{gap:4px;min-width:0;font-size:.9rem;font-weight:700;display:grid}.plan-form input,.plan-form select{font:inherit;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:48px;color:var(--ink);min-width:0;padding:0 12px;font-weight:400}.plan-form input:focus,.plan-form select:focus{border-color:var(--green);outline:none}.plan-form .form-error,.plan-form .form-success{margin:0}.plan-form .dienst-actions{margin-top:0}.btn-danger{background:var(--red);border-color:var(--red);color:var(--surface)}.loesch-frage{gap:4px;margin-top:10px;display:grid}.loesch-frage .form-error{margin:8px 0 0}.verf-abschnitt .week-nav{margin-top:12px}.auswahl+.verf-abschnitt{margin-top:28px}.back-link{min-height:44px;color:var(--green);border-radius:999px;align-items:center;gap:2px;margin:0 0 4px -8px;padding:0 12px 0 4px;font-weight:700;text-decoration:none;display:inline-flex}.back-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.back-link:hover{background:var(--green-soft)}.settings-section{margin-top:28px}.settings-section h2{margin-bottom:4px;font-size:1.35rem}.settings-section .segmented{margin:4px 0 0}.settings-section .login-form{margin-top:12px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:999px;margin-bottom:20px;padding:3px;display:inline-flex}.segmented button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:36px;padding:6px 16px;font-size:.95rem;font-weight:700}.segmented button[aria-pressed=true]{background:var(--green);color:var(--surface)}.podest{grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;margin:8px 0 20px;padding:0;list-style:none;display:grid}.podest-platz{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.pos-0{order:2}.pos-1{order:1}.pos-2{order:3}.podest-name{overflow-wrap:anywhere;max-width:100%;font-weight:700;line-height:1.2;display:grid}.podest-nachname{color:var(--muted);font-size:.85rem;font-weight:400}.podest-count{color:var(--muted);margin-bottom:6px;font-size:.9rem}.podest-stufe{width:100%;color:var(--green);background:var(--green-soft);border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;place-items:center;font-size:2rem;font-weight:700;display:grid}.rang-1 .podest-stufe{background:var(--green);height:112px;color:var(--surface);border-color:var(--green)}.rang-2 .podest-stufe{height:84px}.rang-3 .podest-stufe{height:64px}.podest-platz.ist-ich .podest-name{color:var(--green)}.rangliste{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.rang-zeile{grid-template-columns:2.25rem 1fr auto;align-items:center;gap:8px;padding:10px 14px;display:grid}.rang-zeile+.rang-zeile{border-top:1px solid var(--line)}.rang-platz{color:var(--muted);font-weight:700}.rang-name{min-width:0;display:grid}.rang-gruppe{color:var(--muted);font-size:.85rem}.rang-du{color:var(--green)}.rang-count{font-size:1.15rem;font-weight:700}.rang-zeile.ist-ich{background:var(--green-soft)}.rang-zeile.ist-ich:first-child{border-radius:var(--radius) var(--radius) 0 0}.rang-zeile.ist-ich:last-child{border-radius:0 0 var(--radius) var(--radius)}.rang-zeile.ist-ich:only-child{border-radius:var(--radius)}.rangliste-ich{margin-top:12px}.rangliste-ich:before{content:"Dein Platz";color:var(--muted);padding:8px 14px 0;font-size:.85rem;display:block}.dok-gruppe{margin-bottom:20px}.dok-gruppe h2{color:var(--muted);margin-bottom:8px;font-size:1rem}.dok-liste{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dok{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:12px 14px;display:grid}.dok-kopf{align-items:center;gap:10px;display:flex}.dok-typ{background:var(--paper);min-width:48px;color:var(--muted);text-align:center;border-radius:6px;flex:none;padding:4px 6px;font-size:.75rem;font-weight:700}.dok-titel{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:700}.dok .form-error{margin:0}.dok-neu{background:var(--red);color:var(--surface);border-radius:999px;flex:none;padding:2px 8px;font-size:.75rem;font-weight:700}.pfad{margin-bottom:12px}.pfad ol{flex-wrap:wrap;align-items:center;gap:2px 0;margin:0;padding:0;list-style:none;display:flex}.pfad li{overflow-wrap:anywhere;align-items:center;min-width:0;display:flex}.pfad li+li:before{content:"›";color:var(--muted);margin:0 8px}.pfad a{color:var(--green);align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.ordner-liste{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.ordner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:56px;color:var(--ink);overflow-wrap:anywhere;align-items:center;gap:12px;padding:8px 14px;font-weight:700;text-decoration:none;display:flex}.ordner svg{fill:none;width:26px;height:26px;stroke:var(--green);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ordner:hover{border-color:var(--green)}.ordner:focus-visible{outline:3px solid var(--green);outline-offset:2px}.dok-meta{color:var(--muted);font-size:.85rem;font-weight:400;display:block}.ordner-liste+.dok-liste,.auswahl+.ordner-liste,.auswahl+.dok-liste{margin-top:16px}
