:root{--seite:#f6f4ef;--karte:#fff;--text:#222;--leise:#666;--rand:#ddd;--linie:#eee;--primaer:#2f5d50;--nein:#8a3b2e;--nein-text:#8a3b2e;--link:#2f5d50;--frei:#fff;--schatten:rgba(0,0,0,.18);--b-buchung:#9fc8b4;--b-secra:#d3c6e6;--b-eigen:#a9c4e8;--b-sperre:#c9c9c9;--b-vormerkung:#f2c48d;--r-buchung:#2f6352;--r-sperre:#5a5f5d;--r-eigen:#3e5f8a;--r-secra:#5a4a74;--r-vormerkung:#74572c;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-thema=hell]){--seite:#161a19;--karte:#232a28;--text:#e8e6e1;--leise:#a8a8a3;--rand:#38403e;--linie:#38403e;--primaer:#3d7a67;--nein:#a5483a;--nein-text:#f0907f;--link:#8fd1ba;--frei:#2b3331;--schatten:rgba(0,0,0,.6);--b-buchung:#2f6352;--b-secra:#5a4a74;--b-eigen:#3e5f8a;--b-sperre:#5a5f5d;--b-vormerkung:#74572c;--r-buchung:#9fc8b4;--r-sperre:#c9c9c9;--r-eigen:#a9c4e8;--r-secra:#d3c6e6;--r-vormerkung:#f2c48d;color-scheme:dark}}:root[data-thema=dunkel]{--seite:#161a19;--karte:#232a28;--text:#e8e6e1;--leise:#a8a8a3;--rand:#38403e;--linie:#38403e;--primaer:#3d7a67;--nein:#a5483a;--nein-text:#f0907f;--link:#8fd1ba;--frei:#2b3331;--schatten:rgba(0,0,0,.6);--b-buchung:#2f6352;--b-secra:#5a4a74;--b-eigen:#3e5f8a;--b-sperre:#5a5f5d;--b-vormerkung:#74572c;--r-buchung:#9fc8b4;--r-sperre:#c9c9c9;--r-eigen:#a9c4e8;--r-secra:#d3c6e6;--r-vormerkung:#f2c48d;color-scheme:dark}
body{font-family:system-ui,sans-serif;margin:0;background:var(--seite);color:var(--text)}
main{max-width:40rem;margin:auto;padding:1rem}
table.summen{width:100%;border-collapse:collapse;margin:.6rem 0;font-size:.95rem}
table.summen td,table.summen th{padding:.35rem .3rem;border-bottom:1px solid var(--linie);text-align:left}
table.summen .zahl,table.summen th+th{text-align:right;white-space:nowrap}h1{font-size:1.3rem}
.karte{background:var(--karte);border-radius:.6rem;padding:1rem;margin:.8rem 0;white-space:pre-wrap}
input,button,select,textarea{font:inherit;padding:.7rem;margin:.3rem 0;width:100%;box-sizing:border-box;border-radius:.4rem}
input,select,textarea{background:var(--karte);color:var(--text);border:1px solid var(--rand)}
button{border:0;background:var(--primaer);color:#fff}button.nein{background:var(--nein)}
button.zweit{background:none;color:var(--link);border:2px solid var(--primaer)}
form.zeile{display:flex;gap:.5rem}input[type=radio],input[type=checkbox]{width:auto}h2{font-size:1.05rem;margin-top:1.4rem}a{color:var(--link)}a.knopf{display:block;text-align:center;padding:.7rem;border-radius:.4rem;background:var(--primaer);color:#fff;text-decoration:none}.leise{color:var(--leise);font-size:.9rem}
.kopf{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:.4rem;margin:-1rem -1rem 1rem;
padding:.5rem 1rem;background:var(--karte);border-bottom:1px solid var(--rand);box-shadow:0 2px 8px var(--schatten)}
.kopf .frei{flex:1}.kopf img.logo{width:2rem;height:2rem;margin-left:.3rem}
.kopf a.symbol{flex:none;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;
color:var(--link)}
a.knopf.zweit{background:none;color:var(--link);border:2px solid var(--primaer)}
.aufgaben{margin-bottom:1rem}.aufgaben a.aufgabe{display:flex;align-items:center;min-height:3rem;padding:.6rem 1rem;
margin:.4rem 0;background:var(--karte);border-radius:.4rem;border-left:5px solid var(--primaer);color:var(--text);
text-decoration:none}.aufgaben a.anfrage{border-left-color:var(--r-vormerkung)}.aufgaben a.zahlung{border-left-color:var(--nein-text)}.aufgaben a.klaerung,.aufgaben a.gaestekarte{border-left-color:var(--primaer)}
.menue{position:relative}.menue summary{list-style:none;cursor:pointer;min-height:2.75rem;min-width:2.75rem;
display:flex;align-items:center;justify-content:center;gap:.3rem;padding:0 .3rem;
color:var(--link)}.menue summary::-webkit-details-marker{display:none}
.menue .zahl{background:#f2c48d;color:#222;border-radius:1rem;padding:0 .4rem;font-size:.8rem}
.menue .name{margin:0;padding:.5rem 1rem .3rem;font-size:.75rem;color:var(--leise)}
.menue nav{position:absolute;left:0;top:3.1rem;z-index:5;background:var(--karte);border-radius:.6rem;min-width:16rem;
box-shadow:0 4px 16px var(--schatten);padding:.3rem 0}.menue nav a{display:block;padding:.8rem 1rem;text-decoration:none}
.menue nav a+a,.menue nav form{border-top:1px solid var(--linie)}
.menue nav form{margin:0}.menue nav form button{margin:0;background:none;color:var(--link);text-align:left;padding:.8rem 1rem}
.unsichtbar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.thema{display:flex;flex-wrap:wrap;gap:.4rem}
.thema button{width:auto;margin:0;padding:0 1rem;min-height:2.75rem;background:none;color:var(--link);
border:1px solid var(--rand)}.thema button[aria-pressed=true]{background:var(--primaer);color:#fff;border-color:var(--primaer)}
fieldset{border:0;padding:0;margin:1.2rem 0 0}legend{font-weight:bold;font-size:1.05rem;padding:0}
details.ausklapp>summary{cursor:pointer;color:var(--link);font-weight:bold;min-height:2.75rem;display:flex;align-items:center}
a.zurueck{display:inline-flex;align-items:center;min-height:3rem;text-decoration:none}
button[aria-busy=true]{opacity:.6}
.woche,.wochenkopf{display:grid;grid-template-columns:2.6rem repeat(7,1fr);gap:2px;margin-bottom:2px}
.wochenkopf{font-size:.75rem;color:var(--leise);text-align:center}
.wochen{height:calc(5 * (3rem + 2px));overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory}
.woche{scroll-snap-align:start;height:3rem}
.woche b{font-size:.75rem;font-weight:bold;color:var(--leise);align-self:center;line-height:1.1}.woche b small{font-weight:normal}
.tag{position:relative;background:var(--frei);border-radius:.3rem;font-size:.9rem;overflow:hidden;
display:flex;align-items:center;justify-content:center}.tag.erster span{font-weight:bold}
a.tag{color:inherit;text-decoration:none}.tag span{position:relative;z-index:1}.tag.heute{outline:2px solid var(--text);outline-offset:-2px}
.tag::before,.tag::after{content:"";position:absolute;inset:0}
label.feld{display:block;margin-top:.6rem;font-size:.9rem}label.feld input,label.feld select,label.feld textarea{margin-top:.2rem}
.rueckfrage{margin:.3rem 0}.rueckfrage summary{list-style:none;cursor:pointer;text-align:center;padding:.7rem;
border-radius:.4rem;border:1px solid var(--nein-text);color:var(--nein-text)}.rueckfrage summary::-webkit-details-marker{display:none}
.rueckfrage[open] summary{opacity:.6}.hinweis{background:var(--karte);border-left:4px solid var(--primaer);
padding:.7rem 1rem;border-radius:.4rem;margin:0 0 .8rem}.hinweis.fehler{border-left-color:var(--nein-text)}
.legende{display:flex;flex-wrap:wrap;gap:.3rem .8rem;font-size:.8rem;color:var(--leise);margin:.4rem 0 1rem}
.legende i{display:inline-block;width:.8rem;height:.8rem;border-radius:.2rem;margin-right:.3rem;vertical-align:-.1rem}
.tag.voll-buchung{background:var(--b-buchung)}.tag.voll-buchung,.tag.an-buchung{outline:2px solid var(--r-buchung);outline-offset:-2px}.tag.an-buchung::after{background:linear-gradient(to bottom right,transparent 50%,var(--b-buchung) 50%)}.tag.ab-buchung::before{background:linear-gradient(to bottom right,var(--b-buchung) 50%,transparent 50%)}.legende i.buchung{background:var(--b-buchung);outline:2px solid var(--r-buchung);outline-offset:-2px}.tag.voll-sperre{background:var(--b-sperre)}.tag.voll-sperre,.tag.an-sperre{outline:2px solid var(--r-sperre);outline-offset:-2px}.tag.an-sperre::after{background:linear-gradient(to bottom right,transparent 50%,var(--b-sperre) 50%)}.tag.ab-sperre::before{background:linear-gradient(to bottom right,var(--b-sperre) 50%,transparent 50%)}.legende i.sperre{background:var(--b-sperre);outline:2px solid var(--r-sperre);outline-offset:-2px}.tag.voll-eigen{background:var(--b-eigen)}.tag.voll-eigen,.tag.an-eigen{outline:2px solid var(--r-eigen);outline-offset:-2px}.tag.an-eigen::after{background:linear-gradient(to bottom right,transparent 50%,var(--b-eigen) 50%)}.tag.ab-eigen::before{background:linear-gradient(to bottom right,var(--b-eigen) 50%,transparent 50%)}.legende i.eigen{background:var(--b-eigen);outline:2px solid var(--r-eigen);outline-offset:-2px}.tag.voll-secra{background:var(--b-secra)}.tag.voll-secra,.tag.an-secra{outline:2px solid var(--r-secra);outline-offset:-2px}.tag.an-secra::after{background:linear-gradient(to bottom right,transparent 50%,var(--b-secra) 50%)}.tag.ab-secra::before{background:linear-gradient(to bottom right,var(--b-secra) 50%,transparent 50%)}.legende i.secra{background:var(--b-secra);outline:2px solid var(--r-secra);outline-offset:-2px}.tag.voll-vormerkung{background:var(--b-vormerkung)}.tag.voll-vormerkung,.tag.an-vormerkung{outline:2px solid var(--r-vormerkung);outline-offset:-2px}.tag.an-vormerkung::after{background:linear-gradient(to bottom right,transparent 50%,var(--b-vormerkung) 50%)}.tag.ab-vormerkung::before{background:linear-gradient(to bottom right,var(--b-vormerkung) 50%,transparent 50%)}.legende i.vormerkung{background:var(--b-vormerkung);outline:2px solid var(--r-vormerkung);outline-offset:-2px}.tag.heute{outline:3px solid var(--text);outline-offset:-3px}
