:root{--tinte: #1a2332;--papier: #f7f8fa;--linie: #c9cfd8;--siegel: #7a1f2b;--siegel-hell: #fbeef0;--gruen: #1d5c3a;--fokus: #1a4fa0}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--tinte);background:var(--papier)}button{font:inherit;padding:.5rem 1rem;border:1px solid var(--tinte);border-radius:.25rem;background:var(--tinte);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid var(--fokus);outline-offset:2px}input{font:inherit;padding:.5rem;border:1px solid var(--linie);border-radius:.25rem;background:#fff}.fehler{color:var(--siegel);background:var(--siegel-hell);border:1px solid var(--siegel);border-radius:.25rem;padding:.5rem .75rem}.anmeldung{max-width:22rem;margin:10vh auto 0;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.anmeldung h1{margin:0;font-size:2rem;letter-spacing:.02em}.anmeldung .untertitel{margin:0 0 1rem;color:#43506a}.anmeldung label{font-weight:600;margin-top:.5rem}.empfang{padding:1rem}.kopfzeile{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.kopfzeile h1{margin:0;font-size:1.4rem}.kopf-steuerung{display:flex;align-items:center;gap:.75rem}.angemeldet{color:#43506a}.kalender{display:grid;gap:0 1px;background:var(--linie);border:1px solid var(--linie);border-radius:.375rem;overflow-x:auto}.ecke,.spaltenkopf{background:#fff;position:sticky;top:0}.spaltenkopf{margin:0;font-size:1rem;padding:.5rem;border-bottom:2px solid var(--tinte)}.zeitspalte,.behandlerspalte{display:grid;background:#fff;position:relative;min-height:100%}.stundenmarke{font-size:.75rem;color:#43506a;padding:0 .35rem;border-top:1px solid var(--linie)}.behandlerspalte:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(5rem - 1px),var(--linie) calc(5rem - 1px),var(--linie) 5rem);pointer-events:none}.termin{grid-column:1;margin:1px .25rem;padding:.25rem .4rem;border-left:4px solid var(--siegel);border-radius:.2rem;background:var(--siegel-hell);display:flex;flex-direction:column;gap:.1rem;overflow:hidden;z-index:1}.termin[data-status=storniert]{border-left-color:var(--linie);background:#eef0f3;text-decoration:line-through}.termin[data-status=erschienen],.termin[data-status=abgerechnet]{border-left-color:var(--gruen);background:#ecf5ef}.termin-zeit{font-size:.72rem;color:#43506a}.termin-patient{font-weight:600;font-size:.85rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.termin-art{font-size:.78rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zelle{grid-column:1;background:transparent;border:0;padding:0;cursor:pointer;z-index:0}.zelle:hover{background:#eaf0f8}.zelle:focus-visible{outline:3px solid var(--fokus);outline-offset:-3px;z-index:2}.termin{padding:0}.termin-knopf{width:100%;height:100%;background:transparent;border:0;color:inherit;padding:.25rem .4rem;display:flex;flex-direction:column;gap:.1rem;align-items:flex-start;text-align:left;cursor:pointer;overflow:hidden}.schleier{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a23328c;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;z-index:10}.dialog{background:#fff;border-radius:.5rem;border-top:6px solid var(--siegel);padding:1.25rem 1.5rem 1.5rem;width:min(26rem,92vw);max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.dialog h2{margin:0 0 .25rem;font-size:1.1rem}.dialog label{font-weight:600;margin-top:.35rem}.dialog select{font:inherit;padding:.5rem;border:1px solid var(--linie);border-radius:.25rem;background:#fff}.modus{border:1px solid var(--linie);border-radius:.25rem;padding:.5rem .75rem;display:flex;gap:1.25rem}.modus legend{font-weight:600;padding:0 .25rem}.modus label{font-weight:400;display:flex;align-items:center;gap:.4rem;margin:0}.trefferliste{list-style:none;margin:0;padding:0;border:1px solid var(--linie);border-radius:.25rem;max-height:11rem;overflow-y:auto}.trefferliste li+li{border-top:1px solid var(--linie)}.trefferliste button{width:100%;text-align:left;background:#fff;color:var(--tinte);border:0;padding:.5rem .75rem}.trefferliste button:hover{background:var(--siegel-hell)}.gewaehlt{margin:.25rem 0 0}.dialog-leiste{display:flex;gap:.75rem;margin-top:.75rem}.zweitrangig{background:#fff;color:var(--tinte)}.popover-zeile{margin:.15rem 0;color:var(--tinte)}.verschiebe-banner{display:flex;align-items:center;gap:.75rem;background:#fff7e6;border:1px solid #d9a441;border-radius:.25rem;padding:.5rem .75rem;margin:0 0 .75rem}.status-leiste{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.termin-status{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gruen)}.termin[data-status=bestaetigt]{border-left-color:#1a4fa0;background:#eaf0f8}.termin[data-status=bestaetigt] .termin-status{color:#1a4fa0}.termin[data-status=nicht_erschienen]{border-left-color:#b3541e;background:#fbf1ea}.termin[data-status=nicht_erschienen] .termin-status{color:#b3541e}.hinweis{background:#ecf5ef;border:1px solid var(--gruen);border-radius:.25rem;padding:.5rem .75rem;margin:0 0 .75rem;color:var(--gruen)}:root,:root[data-schema=hell]{--flaeche: #ffffff;--grau: #43506a}:root[data-schema=dunkel]{--tinte: #e8ecf2;--papier: #14181f;--flaeche: #1c2330;--linie: #303a4a;--siegel: #b04a58;--siegel-hell: #33212a;--gruen: #4fae7d;--fokus: #6ea0e8;--grau: #9aa7bd}body{transition:background .2s,color .2s}.kalender .ecke,.kalender .spaltenkopf,.zeitspalte,.behandlerspalte,.dialog,.trefferliste button,.karte{background:var(--flaeche)}.zeitspalte{background:var(--papier)}.zweitrangig{background:var(--flaeche)}.untertitel,.angemeldet,.termin-art,.termin-zeit,.stundenmarke,.zeitvorschau,.popover-zeile{color:var(--grau)}.popover-zeile{color:var(--tinte)}.rahmen{min-height:100vh}.kopfzeile{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1.25rem;border-bottom:1px solid var(--linie);background:var(--flaeche);position:sticky;top:0;z-index:5;margin-bottom:0}.kopf-links{display:flex;align-items:baseline;gap:.75rem}.wortmarke{font-weight:700;font-size:1.15rem;color:var(--siegel);letter-spacing:.02em}.bereichsname{color:var(--grau);font-size:.95rem}.empfang{padding:1rem 1.25rem}.start{max-width:52rem;margin:0 auto;padding:2.5rem 1.25rem}.start-kopf h1{margin:0 0 .2rem;font-size:1.6rem}.kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin-top:1.5rem}.kachel{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;background:var(--flaeche);color:var(--tinte);border:1px solid var(--linie);border-top:4px solid var(--siegel);border-radius:.5rem;padding:1.15rem 1.25rem;cursor:pointer;transition:transform .08s,box-shadow .08s}.kachel:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.kachel-zeichen{font-size:1.5rem;color:var(--siegel)}.kachel-titel{font-weight:650;font-size:1.08rem}.kachel-text{color:var(--grau);font-size:.88rem}.start-hinweis{margin-top:2rem;color:var(--grau);font-size:.85rem}.einstellungen{max-width:36rem;margin:0 auto;padding:2.5rem 1.25rem}.schema-wahl{border:1px solid var(--linie);border-radius:.5rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.9rem;background:var(--flaeche)}.schema-option{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer}.werkzeugleiste{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}.sperrzone{grid-column:1;background:repeating-linear-gradient(-45deg,#78829624,#78829624 6px,#7882960d 6px,#7882960d 12px);pointer-events:none;z-index:0}.inhaber{max-width:62rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.stammkarte{background:var(--flaeche);border:1px solid var(--linie);border-top:4px solid var(--siegel);border-radius:.5rem;padding:1.1rem 1.25rem 1.25rem}.stammkarte h2{margin:0 0 .6rem;font-size:1.15rem}.stammkarte details{margin-bottom:.8rem;color:var(--grau);font-size:.9rem}.stammkarte summary{cursor:pointer;font-weight:600;color:var(--tinte)}.stammkarte ol{margin:.4rem 0 0;padding-left:1.2rem}.stammliste{width:100%;border-collapse:collapse;font-size:.92rem}.stammliste th{text-align:left;border-bottom:2px solid var(--tinte);padding:.35rem .5rem}.stammliste td{border-bottom:1px solid var(--linie);padding:.4rem .5rem}.stammliste .knapp{white-space:nowrap}.zeilenform{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin-top:.9rem;padding-top:.9rem;border-top:1px dashed var(--linie)}.zeilenform label{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem;font-weight:600}.zeilenform input,.zeilenform select{font-size:.95rem;padding:.4rem .5rem;min-width:5.5rem}.zeilenform input[type=checkbox]{min-width:auto}.inaktiv{opacity:.5}.klein{font-size:.85rem;padding:.35rem .7rem}.kontoblock{display:grid;gap:.3rem;margin-top:1.25rem;border:1px solid var(--linie);border-radius:.5rem;padding:1rem 1.25rem;background:var(--flaeche);color:var(--grau)}.kontoblock strong{color:var(--tinte)}.abwesenheit{grid-column:1;background:repeating-linear-gradient(-45deg,#7a1f2b38,#7a1f2b38 8px,#7a1f2b1a 8px,#7a1f2b1a 16px);border-left:3px solid var(--siegel);pointer-events:none;z-index:1;display:flex;align-items:flex-start;padding:.3rem .4rem}.abwesenheit span{font-size:.75rem;font-weight:650;color:var(--siegel);background:var(--flaeche);padding:.05rem .4rem;border-radius:.25rem}.zaehler{margin-left:auto;color:var(--grau);font-size:.88rem}
