@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fraunces-latin-400-italic.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/fraunces-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin-600-normal.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/instrument-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/instrument-sans-latin-600-normal.woff2) format("woff2")}:root{--tann:#234b38;--tann-tief:#1a3a2b;--wald:#3a8a57;--moos:#6a9a78;--sonne:#e8a83a;--sonne-hell:#f5d488;--leinen:#f6f2e9;--leinen-tief:#ece4d3;--weiss:#fffdf8;--rinde:#2a2620;--rinde-weich:#5c554c;--frei:#3a8a57;--angefragt:#5b8def;--belegt:#c9c2b4;--schatten:0 2px 8px rgba(42,38,32,.06),0 12px 30px rgba(42,38,32,.08);--rund:14px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Instrument Sans,system-ui,sans-serif;color:var(--rinde);background:var(--leinen);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.01em}a{color:var(--wald);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:Instrument Sans,sans-serif;font-weight:600;font-size:1rem;padding:14px 26px;border-radius:100px;cursor:pointer;border:none;transition:transform .18s ease,background .18s ease}.btn-sonne{background:var(--sonne);color:var(--rinde)}.btn-sonne:hover{transform:translateY(-2px)}.btn-wald{background:var(--tann);color:#fff}.btn-wald:hover{transform:translateY(-2px);background:var(--tann-tief)}.btn-line{background:transparent;color:var(--tann);border:1.5px solid var(--moos)}.btn-gefahr{background:#b23b3b;color:#fff}.btn-gefahr:hover{transform:translateY(-2px);background:#9c3232}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.seite{max-width:900px;margin:0 auto;padding:48px 20px 72px}.seite .kopf{text-align:center;margin-bottom:22px}.seite .kopf h1{font-size:2.3rem;margin-bottom:12px}.seite .kopf p{color:var(--rinde-weich);max-width:560px;margin:0 auto}.seite .marke-wrap{text-align:center;margin-bottom:26px}.seite .marke{display:inline-block}.seite .marke img{height:74px;width:auto;display:block}.seite .hero{max-width:520px;margin:0 auto 34px;background:var(--wald);padding:10px;border-radius:var(--rund);box-shadow:var(--schatten)}.seite .hero img{width:100%;height:300px;object-fit:cover;border-radius:8px;display:block}@media (max-width:560px){.seite .hero img{height:210px}.seite .marke img{height:62px}}.seite .auswahl{margin-top:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:18px 24px}.seite .zeitraum{font-size:1.05rem}.seite .zeitraum.leer{color:var(--rinde-weich)}.seite .zeitraum strong{font-family:Fraunces,Georgia,serif}.seite .danke{text-align:center;background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:48px 24px}.seite .danke h2{font-size:1.7rem;margin-bottom:12px}.seite .danke p{color:var(--rinde-weich);max-width:480px;margin:0 auto 24px}.seite .rechtliches{margin-top:36px;text-align:center;color:var(--rinde-weich);font-size:.85rem}.seite .rechtliches p{margin-bottom:8px;max-width:520px;margin-left:auto;margin-right:auto}.seite .rechtliches nav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}.seite .rechtliches a{color:var(--tann);font-weight:600}.kal{background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:26px 28px}.kal .kal-kopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.kal .kal-hinweis-oben{font-size:.95rem;color:var(--rinde-weich)}.kal .nav{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--leinen-tief);background:var(--weiss);color:var(--tann);font-size:1.4rem;line-height:1;cursor:pointer;transition:background .15s ease;display:flex;align-items:center;justify-content:center}.kal .nav:hover:not(:disabled){background:var(--leinen)}.kal .nav:disabled{opacity:.3;cursor:not-allowed}.kal .monate{display:grid;grid-template-columns:1fr 1fr;grid-gap:36px;gap:36px}@media (max-width:680px){.kal .monate{grid-template-columns:1fr;gap:28px}}.kal .monat-titel{font-family:Fraunces,Georgia,serif;font-size:1.25rem;text-align:center;margin-bottom:16px}.kal .wochentage{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-bottom:8px}.kal .wochentage span{text-align:center;font-size:.72rem;font-weight:600;color:var(--rinde-weich);text-transform:uppercase;letter-spacing:.06em}.kal .gitter{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.kal .leer,.kal .tag{aspect-ratio:1}.kal .tag{border:none;border-radius:11px;background:transparent;color:var(--rinde);font-family:Instrument Sans,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:filter .12s ease,transform .1s ease}.kal .tag:hover:not(:disabled):not(.start):not(.ende):not(.zwischen){filter:brightness(.94);transform:translateY(-1px)}.kal .tag.vergangen{opacity:.28;cursor:default}.kal .tag.gesperrt{cursor:default}.kal .tag.ende,.kal .tag.start{background:var(--tann);color:#fff;font-weight:700}.kal .tag.zwischen{background:var(--wald);color:#fff}.kal .tag.start{border-radius:13px 5px 5px 13px}.kal .tag.ende{border-radius:5px 13px 13px 5px}.kal .tag.zwischen{border-radius:5px}.kal .fuss{align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--leinen-tief)}.kal .fuss,.kal .legende{display:flex;flex-wrap:wrap}.kal .legende{gap:16px;font-size:.84rem;color:var(--rinde-weich)}.kal .leg{display:inline-flex;align-items:center;gap:7px}.kal .sw{width:15px;height:15px;border-radius:5px;display:inline-block}.kal .sw.frei{background:rgba(58,138,87,.5)}.kal .sw.angefragt{background:var(--angefragt)}.kal .sw.belegt{background:var(--belegt)}.kal .sw.wechsel{background:linear-gradient(135deg,var(--belegt) 0 50%,rgba(58,138,87,.5) 50%)}.kal .reset{background:transparent;border:none;color:var(--tann);font-family:Instrument Sans,sans-serif;font-size:.86rem;font-weight:600;cursor:pointer;text-decoration:underline}.kal .status{text-align:center;padding:22px 0;color:var(--rinde-weich)}.kal .status.fehler{color:#b23b3b}.kal .hinweis{margin-top:12px;padding:9px 14px;background:var(--sonne-hell);color:var(--rinde);border-radius:9px;font-size:.9rem}.anfrage{background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:26px;display:flex;flex-direction:column;gap:18px}.anfrage .zeitraum-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--leinen);border-radius:11px;padding:14px 18px}.anfrage .zeitraum-box .klein{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--rinde-weich)}.anfrage .zeitraum-box strong{font-family:Fraunces,Georgia,serif;font-size:1.1rem}.anfrage .zeitraum-box .pfeil{color:var(--moos);font-size:1.3rem}.anfrage .zeitraum-box .naechte{margin-left:auto;font-size:.9rem;color:var(--rinde-weich)}.anfrage .aendern{background:transparent;border:none;color:var(--tann);font-family:Instrument Sans,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:underline}.anfrage .reihe.zwei{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media (max-width:560px){.anfrage .reihe.zwei{grid-template-columns:1fr}}.anfrage label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}.anfrage label>span{font-weight:600;color:var(--rinde)}.anfrage input,.anfrage textarea{font-family:Instrument Sans,sans-serif;font-size:1rem;color:var(--rinde);background:var(--weiss);border:1.5px solid var(--leinen-tief);border-radius:10px;padding:12px 14px;transition:border-color .15s ease}.anfrage input:focus,.anfrage textarea:focus{outline:none;border-color:var(--moos)}.anfrage textarea{resize:vertical}.anfrage .umschalter .schalter{flex-direction:row;align-items:center;gap:10px}.anfrage .schalter input{width:18px;height:18px;accent-color:var(--wald)}.anfrage .schalter span{font-weight:500}.anfrage .honigtopf{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.anfrage .formfehler{padding:10px 14px;background:#fbe4e4;color:#b23b3b;border-radius:8px;font-size:.9rem}.anfrage .datenschutz-hinweis{font-size:.82rem;color:var(--rinde-weich);line-height:1.5}.anfrage .datenschutz-hinweis a{color:var(--tann);font-weight:600}.anfrage .aktionen{display:flex;justify-content:space-between;gap:12px;margin-top:4px}.admin{max-width:760px;margin:0 auto;padding:48px 20px 72px}.admin.login{max-width:400px}.admin.login h1{text-align:center;margin-bottom:24px}.admin form{gap:16px;background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:26px}.admin form,.admin label{display:flex;flex-direction:column}.admin label{gap:6px;font-size:.9rem}.admin label>span{font-weight:600}.admin input{font-family:Instrument Sans,sans-serif;font-size:1rem;border:1.5px solid var(--leinen-tief);border-radius:10px;padding:12px 14px}.admin input:focus{outline:none;border-color:var(--moos)}.admin .kopf{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.admin .abmelden{background:transparent;border:none;color:var(--tann);font-family:Instrument Sans,sans-serif;font-weight:600;cursor:pointer;text-decoration:underline}.admin .tabs{display:flex;gap:8px;margin-bottom:20px}.admin .tab{border:1.5px solid var(--leinen-tief);background:var(--weiss);color:var(--rinde-weich);font-family:Instrument Sans,sans-serif;font-weight:600;font-size:.9rem;padding:9px 18px;border-radius:100px;cursor:pointer;transition:background .15s ease}.admin .tab.an{background:var(--tann);color:#fff;border-color:var(--tann)}.admin .liste{display:flex;flex-direction:column;gap:14px}.admin .karte{background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:20px 22px}.admin .karte-kopf{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin .name{font-family:Fraunces,Georgia,serif;font-size:1.15rem}.admin .mail{font-size:.88rem}.admin .zeitraum{text-align:right;font-weight:600}.admin .zeitraum .n{display:block;font-weight:400;font-size:.82rem;color:var(--rinde-weich)}.admin .details{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.admin .details span{background:var(--leinen);border-radius:100px;padding:5px 13px;font-size:.82rem;color:var(--rinde-weich)}.admin .nachricht{margin-top:14px;font-style:italic;color:var(--rinde-weich);font-size:.92rem}.admin .aktionen{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.admin .aktionen .btn{padding:11px 22px;font-size:.92rem}.admin .hinweis{text-align:center;color:var(--rinde-weich);padding:24px 0}.admin .meldung{background:var(--sonne-hell);border-radius:8px;padding:11px 14px;margin-bottom:16px;font-size:.9rem}.admin .fehler{color:#b23b3b;font-size:.88rem}.admin .mfa-info{color:var(--rinde-weich);font-size:.9rem;line-height:1.55}.admin .qr{text-align:center}.admin .qr img{width:200px;height:200px;background:#fff;border-radius:10px;padding:8px;box-shadow:var(--schatten)}.admin .secret{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--leinen);padding:9px 12px;border-radius:8px;word-break:break-all;font-size:.82rem;text-align:center;color:var(--rinde-weich)}.admin .mfa-fehler{color:#b23b3b;font-size:.88rem}.admin .sperr-form{background:var(--weiss);border-radius:var(--rund);box-shadow:var(--schatten);padding:20px 22px;margin-bottom:16px}.admin .sperr-felder{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.admin .sperr-felder label{flex:1 1;min-width:150px}.admin .sperr-hinweis{margin-top:12px;font-size:.84rem;color:var(--rinde-weich)}