@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(../media/quicksand-vietnamese-500-normal.0usxtby6evg2p.woff2)format("woff2"),url(../media/quicksand-vietnamese-500-normal.0c_3xr9yh-lkn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(../media/quicksand-latin-ext-500-normal.3vlzybgukmib3.woff2)format("woff2"),url(../media/quicksand-latin-ext-500-normal.1f5-7ath74n0x.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:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(../media/quicksand-latin-500-normal.2e2wn0aq0zjp5.woff2)format("woff2"),url(../media/quicksand-latin-500-normal.3sjuf_mpcfg4s.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:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(../media/quicksand-vietnamese-600-normal.1q3vxxar8co6g.woff2)format("woff2"),url(../media/quicksand-vietnamese-600-normal.32wi4fmpqi3r8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(../media/quicksand-latin-ext-600-normal.25hjvex8-ez1p.woff2)format("woff2"),url(../media/quicksand-latin-ext-600-normal.2630wl9ry86my.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:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(../media/quicksand-latin-600-normal.2_2qhdpm_vdti.woff2)format("woff2"),url(../media/quicksand-latin-600-normal.31epzyzrrg3wj.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:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(../media/quicksand-vietnamese-700-normal.44no9k3w1_c5z.woff2)format("woff2"),url(../media/quicksand-vietnamese-700-normal.0np_dyn3n_17f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(../media/quicksand-latin-ext-700-normal.2-8c628k1bazf.woff2)format("woff2"),url(../media/quicksand-latin-ext-700-normal.2nxsyc7arn9ld.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:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(../media/quicksand-latin-700-normal.320jfj4d7ah24.woff2)format("woff2"),url(../media/quicksand-latin-700-normal.2xq3tmtsb2r-y.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:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-alternates-cyrillic-ext-400-normal.3k_jmcaj3r3bj.woff2)format("woff2"),url(../media/montserrat-alternates-cyrillic-ext-400-normal.20f6b3euy6dpb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-alternates-cyrillic-400-normal.0onoi_yw9rt7m.woff2)format("woff2"),url(../media/montserrat-alternates-cyrillic-400-normal.3m1om5r69n-65.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-alternates-vietnamese-400-normal.02v-bnmt74qpi.woff2)format("woff2"),url(../media/montserrat-alternates-vietnamese-400-normal.05c_bu7897vrn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-alternates-latin-ext-400-normal.2ind8frph50_r.woff2)format("woff2"),url(../media/montserrat-alternates-latin-ext-400-normal.06641f4o6qikp.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:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:400;src:url(../media/montserrat-alternates-latin-400-normal.1cz8yqa-wntpo.woff2)format("woff2"),url(../media/montserrat-alternates-latin-400-normal.33lf28scstk6g.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:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-alternates-cyrillic-ext-600-normal.12nxowow0tdzu.woff2)format("woff2"),url(../media/montserrat-alternates-cyrillic-ext-600-normal.1-cpt3ghx23i-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-alternates-cyrillic-600-normal.016id12p6ymfk.woff2)format("woff2"),url(../media/montserrat-alternates-cyrillic-600-normal.01262xofctq1_.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-alternates-vietnamese-600-normal.0jslgr387pc28.woff2)format("woff2"),url(../media/montserrat-alternates-vietnamese-600-normal.2pb7df95gjhwb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-alternates-latin-ext-600-normal.2vm6z6h7supu8.woff2)format("woff2"),url(../media/montserrat-alternates-latin-ext-600-normal.1s_g4-cyo5y4t.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:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:600;src:url(../media/montserrat-alternates-latin-600-normal.11sjg6gazgm9g.woff2)format("woff2"),url(../media/montserrat-alternates-latin-600-normal.3fq-4-sgq9l_k.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{--gruen:#1d5841;--gruen-dunkel:#14402f;--gruen-hell:#eef4f1;--gruen-zart:#f2f7f4;--grund:#f5f8f6;--weiss:#fff;--text:#18231e;--text-2:#3f4c45;--text-3:#55625b;--linie:#dce6e1;--linie-2:#e6eee9;--feld:#c9d8d0;--warn:#7a4f00;--warn-grund:#fff4db;--warn-linie:#f0d58c;--fehler:#9b2c2c;--fehler-grund:#fcebeb;--fehler-linie:#efbcbc;--info:#1f4f7a;--info-grund:#e8f1fa;--schrift:"Quicksand", "Avenir Next", "Segoe UI", sans-serif;--titel:"Montserrat Alternates", "Trebuchet MS", sans-serif;--radius:14px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--grund);color:var(--text);font-family:var(--schrift);-webkit-font-smoothing:antialiased;font-size:15px;font-weight:500;line-height:1.45}a{color:var(--gruen)}a:hover{color:var(--gruen-dunkel)}h1,h2,h3{font-family:var(--titel);margin:0;font-weight:600;line-height:1.2}h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}p{margin:0}small,.klein{font-size:13px}.leise{color:var(--text-3)}.fett{font-weight:700}.marke{font-family:var(--titel);letter-spacing:-.01em;color:var(--gruen);font-weight:400}.knopf{background:var(--gruen);min-height:44px;color:var(--weiss);font:700 15px var(--schrift);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.knopf:hover{background:var(--gruen-dunkel);color:var(--weiss)}.knopf:disabled{opacity:.5;cursor:default}.knopf.zweit{background:var(--weiss);color:var(--gruen);border:2px solid var(--linie)}.knopf.zweit:hover{border-color:var(--gruen);color:var(--gruen)}.knopf.warn{background:var(--warn-grund);color:var(--warn);border:2px solid var(--warn-linie)}.knopf.rot{background:var(--weiss);color:var(--fehler);border:2px solid var(--fehler-linie)}.knopf.gross{width:100%;min-height:58px;font-size:17px;font-family:var(--titel);border-radius:16px;font-weight:600}.knopf.klein{border-radius:10px;min-height:36px;padding:0 12px;font-size:14px}.knopf.voll{width:100%}label{color:var(--text-3);gap:4px;font-size:13px;font-weight:700;display:grid}input,select,textarea{font:600 15px var(--schrift);color:var(--text);border:1px solid var(--feld);background:var(--weiss);border-radius:10px;width:100%;min-height:44px;padding:8px 12px}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gruen);outline-offset:1px}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--gruen)}.feldreihe{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stapel{gap:12px;display:grid}.zeile{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.zwischen{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.karte{background:var(--weiss);border:1px solid var(--linie);border-radius:16px;padding:16px}.hinweis{background:var(--gruen-hell);color:var(--text-2);border-radius:12px;padding:12px 14px;font-weight:600}.hinweis.warn{background:var(--warn-grund);color:var(--warn);border:1px solid var(--warn-linie)}.hinweis.fehler{background:var(--fehler-grund);color:var(--fehler);border:1px solid var(--fehler-linie)}.hinweis.info{background:var(--info-grund);color:var(--info)}.marker{background:var(--gruen-hell);color:var(--gruen);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.marker.warn{background:var(--warn-grund);color:var(--warn)}.marker.fehler{background:var(--fehler-grund);color:var(--fehler)}.marker.grau{color:var(--text-3);background:#eceff0}.marker.info{background:var(--info-grund);color:var(--info)}dl.daten{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;display:grid}dl.daten dt{color:var(--text-3);padding-top:1px;font-size:13px;font-weight:700}dl.daten dd{margin:0;font-weight:600}hr{border:0;border-top:1px solid var(--linie-2);width:100%;margin:4px 0}.buero{min-height:100vh;display:flex}.leiste{background:var(--gruen);width:220px;color:var(--weiss);flex-direction:column;flex:none;gap:24px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.leiste .marke{color:var(--weiss);padding-left:8px;font-size:28px}.leiste nav{flex-direction:column;gap:4px;display:flex}.leiste nav a,.leiste nav span{color:#dcebe3;border-radius:10px;align-items:center;min-height:44px;padding:0 12px;font-weight:700;text-decoration:none;display:flex}.leiste nav a:hover{color:var(--weiss);background:#ffffff1a}.leiste nav a[aria-current=page]{color:var(--weiss);background:#ffffff29}.leiste nav span{opacity:.5}.leiste .unten{color:#dcebe3;gap:8px;margin-top:auto;font-size:13px;display:grid}.leiste .unten a,.leiste .unten button{color:#dcebe3;font:700 13px var(--schrift);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.inhalt{flex-direction:column;flex:1;gap:16px;min-width:0;padding:22px 26px 40px;display:flex}@media (max-width:860px){.buero{flex-direction:column}.leiste{gap:10px;width:auto;height:auto;padding:12px 16px;position:static}.leiste nav{flex-flow:wrap}.leiste .unten{margin:0}.inhalt{padding:16px}}.planung{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}@media (max-width:1200px){.planung{grid-template-columns:1fr}}.raster{background:var(--weiss);border:1px solid var(--linie);border-radius:16px;overflow-x:auto}.raster table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.raster th,.raster td{border-bottom:1px solid var(--linie-2);border-right:1px solid var(--linie-2);vertical-align:top;padding:6px}.raster th:last-child,.raster td:last-child{border-right:0}.raster thead th{background:var(--gruen-zart);color:var(--text-3);text-align:left;padding:10px 8px;font-size:13px;font-weight:700}.raster thead th.heute{color:var(--gruen)}.raster thead th .feiertag{color:var(--fehler);font-weight:700;display:block}.raster th.person{background:var(--weiss);text-align:left;width:132px;font-size:14px}.raster th.person small{color:var(--text-3);font-weight:600;display:block}.raster td.feiertag{background:repeating-linear-gradient(135deg,#fbf3f3,#fbf3f3 8px,#fff 8px 16px)}.termin{color:var(--text);border:1px solid var(--linie);border-left:4px solid var(--gruen);background:var(--weiss);border-radius:10px;margin-bottom:6px;padding:5px 7px;font-size:13px;line-height:1.3;text-decoration:none;display:block}.termin:hover{border-color:var(--gruen);color:var(--text)}.termin .t-zeit{color:var(--text-3);font-size:12px;font-weight:700}.termin .t-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.termin .t-mark{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.termin.erledigt{background:var(--gruen-zart);border-left-color:#8fb3a2}.termin.laeuft{border-left-color:var(--info);background:var(--info-grund)}.termin.abgesagt_kunde,.termin.ausfall_vivipura{color:var(--text-3);background:#f4f5f5;border-left-color:#b7c2bc}.termin.abgesagt_kunde .t-name,.termin.ausfall_vivipura .t-name{text-decoration:line-through}.termin.kein_zugang{border-left-color:var(--warn-linie);background:var(--warn-grund)}.termin.pruefen{border-left-color:#e0a526}.termin.konflikt{border-color:var(--fehler-linie);box-shadow:inset 0 0 0 1px var(--fehler-linie)}.termin.aktiv{outline:2px solid var(--gruen);outline-offset:1px}.seitenfeld{gap:12px;max-height:calc(100vh - 32px);display:grid;position:sticky;top:16px;overflow-y:auto}.liste{gap:8px;margin:0;padding:0;list-style:none;display:grid}.liste li a{color:var(--text);border:1px solid var(--linie-2);border-radius:10px;padding:8px 10px;text-decoration:none;display:block}.liste li a:hover{border-color:var(--gruen)}.wochennav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wochennav a{text-decoration:none}.tabelle{background:var(--weiss);border:1px solid var(--linie);border-radius:16px;overflow-x:auto}.tabelle table{border-collapse:collapse;width:100%;min-width:1000px}.tabelle th{background:var(--gruen-zart);color:var(--text-3);text-align:left;padding:10px;font-size:13px}.tabelle td{border-top:1px solid var(--linie-2);vertical-align:middle;padding:8px 10px}.tage{gap:4px;display:flex}.tage label{display:block}.tage input{opacity:0;width:1px;height:1px;position:absolute}.tage span{border:2px solid var(--linie);background:var(--weiss);width:36px;height:36px;color:var(--text-2);font:700 13px var(--schrift);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.tage input:checked+span{background:var(--gruen);border-color:var(--gruen);color:var(--weiss)}.tage input:focus-visible+span{outline:2px solid var(--gruen);outline-offset:1px}.app{background:var(--grund);flex-direction:column;max-width:560px;min-height:100vh;margin:0 auto;display:flex}.app-kopf{justify-content:space-between;align-items:center;gap:10px;padding:18px 16px 8px;display:flex}.app-kopf .marke{font-size:26px}.app-inhalt{flex:1;align-content:start;gap:14px;padding:8px 16px 110px;display:grid}.app-nav{background:var(--weiss);border-top:1px solid var(--linie);padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.app-nav div{grid-template-columns:repeat(5,1fr);width:100%;max-width:560px;display:grid}.app-nav a{min-height:54px;color:var(--text-3);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.app-nav a[aria-current=page]{color:var(--gruen);background:var(--gruen-hell)}.app-nav svg{width:22px;height:22px}.einsatz-karte{color:var(--text);background:var(--weiss);border:1px solid var(--linie);border-left:5px solid var(--gruen);border-radius:16px;gap:4px;padding:14px 16px;text-decoration:none;display:grid}.einsatz-karte:hover{color:var(--text);border-color:var(--gruen)}.einsatz-karte .zeit{color:var(--text-3);font-weight:700}.einsatz-karte .name{font-family:var(--titel);font-size:18px;font-weight:600}.einsatz-karte.erledigt{opacity:.85;border-left-color:#8fb3a2}.einsatz-karte.laeuft{border-left-color:var(--info);background:var(--info-grund)}.einsatz-karte.abgesagt_kunde,.einsatz-karte.ausfall_vivipura{color:var(--text-3);border-left-color:#b7c2bc}.einsatz-karte.kein_zugang{border-left-color:var(--warn-linie)}.tag-titel{font-family:var(--titel);color:var(--text-2);margin-top:6px;font-size:15px;font-weight:600}.uhr{font-family:var(--titel);letter-spacing:.02em;text-align:center;color:var(--gruen);font-size:44px;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{border:2px solid var(--linie);background:var(--weiss);min-height:40px;font:700 14px var(--schrift);color:var(--text-2);cursor:pointer;border-radius:999px;padding:0 14px}.chips button[aria-pressed=true]{background:var(--gruen);border-color:var(--gruen);color:var(--weiss)}.zeiten-tabelle{border-collapse:collapse;background:var(--weiss);border:1px solid var(--linie);border-radius:14px;width:100%;overflow:hidden}.zeiten-tabelle th,.zeiten-tabelle td{text-align:left;border-top:1px solid var(--linie-2);padding:10px 12px;font-size:14px}.zeiten-tabelle thead th{background:var(--gruen-zart);color:var(--text-3);border-top:0;font-size:13px}.mitte{place-items:center;min-height:100vh;padding:16px;display:grid}.anmelden{gap:16px;width:100%;max-width:400px;display:grid}.anmelden .marke{text-align:center;font-size:40px}
