/* Delario – Gestaltung. Farbtoene: warmes Salbeigruen, Pfirsich-Akzent, Schrift DM Sans. */
:root{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#f7f9f5; --line:#e4e9df; --line-soft:#eef2ea;
  --ink:#33463b; --ink-2:#6b7a66; --ink-3:#9ca796;
  --accent:#4a6e57; --accent-ink:#ffffff; --accent-soft:#e2ece2;
  --today:#fbecdf; --now:#e8a272; --warn:#b8763a; --warn-soft:#f6ecdc;
  --shadow:0 1px 2px rgba(50,65,45,.05),0 12px 32px rgba(50,65,45,.07);
  --r:14px; --hour:64px;
  --ferien:#e8b14a;--ferien-text:#9a6a12;
  --pfirsich:#f2b8a0; --salbei:#8ca282; --aprikot:#e8a272;
  --tagtrenner:#dde4d3; --stundenlinie:#e3e9da; --halbstunde:#f3f6f0;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#1b1d1c;--surface:#232625;--surface-2:#1f2221;--line:#343837;--line-soft:#2c302f;
    --ink:#ece8e0;--ink-2:#b2ada3;--ink-3:#858178;--accent:#5fb3a8;--accent-ink:#10201e;
    --accent-soft:#233a37;--today:#2c2a22;--warn:#d9a441;--warn-soft:#32291c;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 28px rgba(0,0,0,.35);
    --ferien:#b8862e;--ferien-text:#e0b567;
    --ferien:#b8862e;--ferien-text:#e0b567;
  --tagtrenner:#6f6a61;--stundenlinie:#3d4140;--halbstunde:#303433;
  }
}
:root[data-theme="dark"]{
  --tagtrenner:#6f6a61;--stundenlinie:#3d4140;--halbstunde:#303433;
  --bg:#1b1d1c;--surface:#232625;--surface-2:#1f2221;--line:#343837;--line-soft:#2c302f;
  --ink:#ece8e0;--ink-2:#b2ada3;--ink-3:#858178;--accent:#5fb3a8;--accent-ink:#10201e;
  --accent-soft:#233a37;--today:#2c2a22;--warn:#d9a441;--warn-soft:#32291c;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 28px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:15px/1.45 "DM Sans",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"DM Sans",system-ui,sans-serif;font-weight:600;letter-spacing:-.01em;margin:0}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}

.knopf{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.knopf:hover{border-color:var(--ink-3)}
.knopf:disabled{opacity:.5;cursor:default}
.knopf.primaer{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.knopf.leise{border-color:transparent;background:transparent;color:var(--ink-2)}
.knopf.breit{width:100%;justify-content:center;padding:11px}
.eingabe{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 11px;width:100%}
.eingabe:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.feld{display:grid;gap:5px;margin-bottom:14px}
.feld>span{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.meldung{border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:14px}
.meldung.fehler{background:var(--warn-soft);border:1px solid var(--warn);color:var(--ink)}
.meldung.info{background:var(--accent-soft);border:1px solid var(--accent)}

/* ---------- Anmeldung / Einrichtung ---------- */
.mittig{min-height:100%;display:grid;place-items:center;padding:24px}
.karte-gross{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px;width:min(560px,100%)}
.karte-gross h1{font-size:23px;margin-bottom:6px}
.hinweis{color:var(--ink-2);font-size:13.5px;margin:0 0 18px}
.marke{display:flex;gap:10px;align-items:center;margin-bottom:20px}
.marke-zeichen{width:38px;height:38px;border-radius:11px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);flex:none}
.marke-name{font-family:"DM Sans",system-ui,sans-serif;font-weight:600;font-size:15.5px;line-height:1.15}
.marke-sub{color:var(--ink-3);font-size:12px}

.schritte{display:flex;gap:8px;margin-bottom:20px}
.schritt{flex:1;height:4px;border-radius:99px;background:var(--line)}
.schritt.an{background:var(--accent)}
.schritt.fertig{background:var(--accent-soft)}
.wahl{display:grid;gap:8px;margin-bottom:16px}
.wahl label{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;background:var(--surface)}
.wahl label:hover{border-color:var(--ink-3)}
.wahl input{margin:3px 0 0}
.wahl input:checked + div{color:var(--ink)}
.wahl label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.wahl b{display:block;font-weight:600}
.wahl small{color:var(--ink-2)}
.farbwahl{display:flex;gap:8px;flex-wrap:wrap}
.farbwahl input{position:absolute;opacity:0;pointer-events:none}
.farbwahl label{width:32px;height:32px;border-radius:9px;background:var(--c);cursor:pointer;box-shadow:0 0 0 1px var(--line)}
.farbwahl label:has(input:checked){box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}
.fuss-knoepfe{display:flex;gap:8px;margin-top:22px}
.fuss-knoepfe .rechts{margin-left:auto;display:flex;gap:8px}

/* ---------- App ---------- */
.app{display:grid;grid-template-columns:268px 1fr;grid-template-rows:minmax(0,1fr);height:100vh;height:100dvh;background:var(--surface);overflow:hidden}
.seite{border-right:1px solid var(--line);background:var(--surface-2);padding:14px 13px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.abschnitt-titel{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0 0 8px;display:flex;justify-content:space-between;align-items:center}
.abschnitt-titel button{border:0;background:none;text-transform:none;letter-spacing:0;color:var(--accent);font-weight:500;cursor:pointer;font-size:12px}

.mini-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:600;font-size:13.5px}
.mini-kopf button{border:0;background:none;color:var(--ink-3);cursor:pointer;padding:2px 6px;border-radius:6px}
.mini-kopf button:hover{background:var(--surface)}
.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center;font-size:11.5px}
.mini-grid .wt{color:var(--ink-3);font-size:10.5px;padding:2px 0}
.mini-grid button{border:0;background:none;padding:3px 0 5px;border-radius:7px;position:relative;cursor:pointer}
.mini-grid button:hover{background:var(--surface)}
.mini-grid button.aus{color:var(--ink-3)}
.mini-grid button.woche{background:var(--accent-soft)}
.mini-grid button.heute{background:var(--accent);color:var(--accent-ink);font-weight:700}
.mini-grid button.punkt::after{content:"";position:absolute;left:50%;bottom:3px;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;transform:translateX(-50%)}

.heute-karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;font-size:13px}
.heute-zahl{font-family:"DM Sans",system-ui,sans-serif;font-size:22px;line-height:1.1}
.heute-zahl span{font-size:13px;font-family:"DM Sans",sans-serif;color:var(--ink-2)}
.heute-naechster{margin-top:7px;padding-top:7px;border-top:1px dashed var(--line)}
.heute-naechster b{display:block;font-size:13.5px}
.heute-naechster .klein{color:var(--ink-2);font-size:12.5px}

/* Akte: Reiter und Eintraege */
.akte-reiter{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--surface)}
.akte-reiter button{border:0;background:none;padding:10px 14px;cursor:pointer;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px;font-size:14px}
.akte-reiter button.an{color:var(--ink);border-color:var(--accent);font-weight:600}
.akte-reiter em{font-style:normal;font-size:11.5px;color:var(--ink-3);margin-left:3px}
.eintrag-neu{border:1px dashed var(--line);border-radius:12px;padding:12px;margin-bottom:14px;background:var(--surface)}
.eintrag{border-top:1px solid var(--line-soft);padding:10px 0;display:grid;grid-template-columns:92px 1fr auto;gap:10px;font-size:14px}
.eintrag .datum{color:var(--ink-2);font-variant-numeric:tabular-nums}
.eintrag b{display:block}
.eintrag .text{white-space:pre-wrap;color:var(--ink)}
/* Koerperschema */
.koerper{display:flex;gap:14px;flex-wrap:wrap}
.koerper-svg{width:132px;height:288px;flex:none;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px}
.koerper-svg .kb{cursor:pointer}
.koerper-svg .kb :is(rect,circle,ellipse,path){fill:var(--surface);stroke:var(--ink-3);stroke-width:1.2;transition:fill .12s}
.koerper-svg .kb:hover :is(rect,circle,ellipse,path){fill:color-mix(in srgb,var(--accent) 25%,var(--surface))}
.koerper-svg .kb.an :is(rect,circle,ellipse,path){fill:var(--accent);stroke:var(--accent)}
.koerper-svg .k-titel{font-size:9px;fill:var(--ink-3);text-anchor:middle}
.koerper-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.k-chip{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:3px 10px;font-size:12.5px;cursor:pointer;font-weight:600}
.k-chip.leer{border-color:var(--line);background:var(--surface);color:var(--ink-2);font-weight:400}
.rg-bereiche-zeile{margin:0 0 8px}
.rg-vorschlag{background:var(--accent-soft);border:1px solid var(--accent);border-radius:9px;padding:7px 10px;margin-bottom:8px;font-size:13px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rg-vorschlag button{margin-left:auto}
.bereich-kette{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0}
.bereich{border:1px solid var(--line);background:var(--surface-2);border-radius:99px;padding:1px 9px;font-size:12px;color:var(--ink-2)}
.anhaenge{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.anhang{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:99px;padding:2px 4px 2px 10px;background:var(--surface);font-size:12.5px;max-width:100%}
.anhang a{color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anhang a:hover{color:var(--accent)}
.anhang button{border:0;background:none;color:var(--ink-3);cursor:pointer;font-size:11px;padding:2px 5px;border-radius:50%}
.anhang button:hover{color:#a3322a;background:#fbecea}
.eintrag .von{font-size:11.5px;color:var(--ink-3)}

/* Behandler-Spalten und Farben */
.kal-kopf .zelle.b-kopf{background:color-mix(in srgb,var(--b) 16%,var(--surface));border-top:3px solid var(--b)}
.kal-kopf .zelle.b-kopf .datum,.kal-kopf .zelle.b-kopf .wtag{color:color-mix(in srgb,var(--b) 80%,var(--ink))}
.kal-kopf .zelle.b-kopf .kuerzel{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--b);border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:middle}
.kal-kopf .zelle.tag-start{border-left:2px solid var(--tagtrenner)}
.spalte.b-spalte{background-color:color-mix(in srgb,var(--b) 5%,transparent)}
.kal-kopf .zelle.b-kopf.schmal .datum{font-size:15px}
.kal-kopf .zelle.b-kopf.schmal .info{display:none}
/* Heute deutlich markiert: ein Rahmen um den ganzen Tag (bei Behandler-Spalten um die Gruppe) */
.kal-kopf .zelle.heute{box-shadow:inset 0 3px 0 var(--accent)}
.kal-kopf .zelle.heute.heute-l{box-shadow:inset 0 3px 0 var(--accent),inset 3px 0 0 var(--accent)}
.kal-kopf .zelle.heute.heute-r{box-shadow:inset 0 3px 0 var(--accent),inset -3px 0 0 var(--accent)}
.kal-kopf .zelle.heute.heute-l.heute-r{box-shadow:inset 0 0 0 3px var(--accent);border-bottom:0}
.spalte.heute{box-shadow:none}
.spalte.heute.heute-l{box-shadow:inset 3px 0 0 var(--accent)}
.spalte.heute.heute-r{box-shadow:inset -3px 0 0 var(--accent)}
.spalte.heute.heute-l.heute-r{box-shadow:inset 3px 0 0 var(--accent),inset -3px 0 0 var(--accent)}
.kal-kopf .zelle.heute .datum{font-weight:700}

/* Schmale Behandler-Spalten: kompakte Eintraege */
.termin.eng{padding:3px 4px 3px 7px;font-size:11.5px;line-height:1.25;display:block;white-space:normal}
.termin.eng .z{color:var(--ink-2);font-size:10.5px;font-variant-numeric:tabular-nums}
.termin.eng .n{font-weight:600;white-space:normal;overflow:hidden;word-break:break-word}
.blocker.eng{border-left:0;border-right:0;padding:4px 6px;overflow:visible}
.blocker.eng .blocker-text{position:relative;white-space:nowrap}
.blocker.eng.mit-text{z-index:3}   /* Text der Pause liegt ueber den Nachbarspalten */
.blocker.privat.eng{font-size:11.5px;text-align:center;padding:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.farbfeld.klein{width:26px;height:26px}

/* Termin-Menue (Ansehen / Verschieben / Loeschen) */
.t-menue{position:fixed;z-index:200;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:5px;display:grid;min-width:170px}
.t-menue button{border:0;background:none;text-align:left;padding:8px 11px;border-radius:8px;cursor:pointer;font-size:14px}
.t-menue button:hover{background:var(--accent-soft)}
.verlauf li[data-t-id],.t-zeile[data-t-id]{cursor:pointer;border-radius:6px}
.verlauf li[data-t-id]:hover,.t-zeile[data-t-id]:hover{background:var(--accent-soft)}
.m-frei{margin-left:auto;font-size:11px;font-weight:700;border-radius:99px;padding:1px 7px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent)}
.m-frei.spaet{color:#a3322a;background:#fbecea;border-color:#c0392b}
.v-verschieben{font-size:14px;color:var(--ink-2)}

/* Fristen */
.termin.frist{outline:2px solid #c0392b;outline-offset:-1px}
.termin.frist .n::after{content:" ⏱";color:#c0392b}
.m-eintrag.frist{outline:2px solid #c0392b;outline-offset:-2px}
.frei.spaet{border-color:#c0392b;background:color-mix(in srgb,#c0392b 10%,var(--surface));color:#a3322a}
.frei.spaet:hover{background:#c0392b;color:#fff}
.v-frist{font-size:13px;font-weight:600;padding:3px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.v-frist.knapp{border-color:#c0392b;color:#a3322a;background:#fbecea}
.f-karte{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:12px;padding:11px 14px;background:var(--surface)}
.f-karte b{font-size:14.5px}
.f-karte .klein{color:var(--ink-2);font-size:12.5px}
.f-karte .knoepfe{margin-left:auto;display:flex;gap:6px;flex:none}
.f-marke{font-size:11px;font-weight:700;border-radius:99px;padding:2px 8px;margin-left:6px;color:#fff;background:var(--c)}
.rezept-badge{display:inline-block;margin-top:6px;margin-right:6px;font-size:12.5px;font-weight:600;color:var(--accent);background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:2px 10px}
.rezept-badge.rot{color:#a3322a;background:#fbecea;border-color:#e6b8b2}
#f-vorbereitung .fenster-kopf{align-items:flex-start}
.vb-haupt{display:flex;gap:8px;padding:0 20px 10px;flex-wrap:wrap}
#f-person-name.link{cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
#f-person-name.link:hover{color:var(--accent);text-decoration-color:currentColor}
#f-person-name.link::after{content:" 📁";font-size:12px}
#f-vorbereitung .fenster-inhalt{overflow:auto}
.vb-kopf{color:var(--ink-2);margin-bottom:6px}
.vb-kopf a{color:inherit}
.tel-knopf{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink) !important;text-decoration:none;font-weight:600;font-size:13.5px;white-space:nowrap}
.tel-knopf:hover{border-color:#2e8b57;background:color-mix(in srgb,#2e8b57 12%,var(--surface));color:#2e7d4f !important}
.vb-rhythmus{color:var(--ink-2);margin:-2px 0 8px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vb-mini{font-size:12.5px;padding:2px 8px;font-weight:500}
.vb-wunsch{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px;display:grid;gap:8px;font-size:13.5px}
.vb-wunsch[hidden]{display:none}
.vb-wunsch-zeile{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vb-wunsch .eingabe{padding:5px 8px;width:auto}
.vb-wunsch input[type=number]{width:62px}
.vw-tag{display:inline-flex;align-items:center;gap:3px;cursor:pointer}
.vb-marken{margin-bottom:8px}
.vb-notiz{font-size:13.5px;background:var(--surface-2);border-radius:8px;padding:7px 10px;margin:6px 0}
.vb-block{border-top:1px solid var(--line-soft);padding:8px 0}
.vb-block summary{cursor:pointer;font-weight:700;font-size:14px;padding:2px 0 4px}
.vb-block summary em{font-style:normal;font-weight:400;font-size:12px;color:var(--ink-3);margin-left:4px}
.vb-termine{max-height:210px;overflow:auto;display:grid;gap:1px;position:relative}
.vb-termin{display:grid;grid-template-columns:10px 92px 44px 1fr auto;gap:6px;align-items:center;font-size:13px;padding:3px 6px;border-radius:6px}
.vb-termin i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.vb-termin .d,.vb-termin .z{font-variant-numeric:tabular-nums;color:var(--ink-2)}
.vb-termin.vorbei{color:var(--ink-3)}
.vb-termin.vorbei .d,.vb-termin.vorbei .z{color:var(--ink-3)}
.vb-termin.abgesagt .a{text-decoration:line-through}
.vb-termin{cursor:pointer}
.vb-termin:hover{background:var(--surface-2)}
.vb-termin.aktuell{background:var(--accent-soft);font-weight:700}
.vb-eintrag{display:grid;grid-template-columns:78px 1fr;gap:8px;font-size:13.5px;padding:4px 0}
.vb-eintrag .datum{color:var(--ink-3);font-variant-numeric:tabular-nums}
.vb-eintrag .text{white-space:pre-wrap}
.frist-warn{margin:8px 0 10px;padding-left:18px;display:grid;gap:5px}
.frist-warn small{color:#a3322a}
.frist-badge{display:inline-block;margin-top:6px;font-size:12.5px;font-weight:600;color:#a3322a;background:#fbecea;border:1px solid #e6b8b2;border-radius:99px;padding:2px 10px}

/* Private Termine */
.blocker.privat{background:repeating-linear-gradient(135deg,color-mix(in srgb,#5b6b7a 16%,transparent) 0 6px,transparent 6px 12px);
  border:1px solid color-mix(in srgb,#5b6b7a 35%,transparent);border-radius:8px;left:4px;right:5px;color:var(--ink-2)}
.blocker.privat.offen{background:color-mix(in srgb,#5b6b7a 14%,var(--surface));color:var(--ink)}
.m-eintrag.privat{background:color-mix(in srgb,#5b6b7a 12%,var(--surface));border-left-color:#5b6b7a;color:var(--ink-2)}
button.art.privat-chip{--c:#5b6b7a}
button.art.privat-chip.an{background:var(--warn-soft);border-color:var(--warn);color:var(--ink);font-weight:600}

/* Sprechzeiten */
.plan-tab td{padding:4px 5px}
.plan-tab .eingabe{padding:6px 7px}
.plan-tab tr.zu .eingabe{opacity:.35}
.abw-zeile{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line-soft);padding:9px 0;font-size:14px}
.abw-zeile .klein{color:var(--ink-2);font-size:12.5px}
.abw-zeile .knopf{margin-left:auto}
.kal-kopf .zelle .grund{font-size:11px;color:var(--warn);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ausserhalb .grund-text{position:sticky;top:0;display:inline-block;margin:6px 0 0 6px;padding:2px 9px;font-size:11.5px;
  color:var(--ink);font-weight:700;background:var(--surface);border:1px solid var(--line);border-radius:99px;box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* Monatsansicht */
.m-tag{border-left:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-height:112px;padding:5px 6px;display:flex;flex-direction:column;gap:2px;cursor:pointer}
.m-tag:hover{background:var(--surface-2)}
.m-tag.fremd{background:var(--surface-2);color:var(--ink-3)}
/* Handy: Tag/Woche als Liste */
.kal-body.als-liste{display:block;padding:6px 10px 30px}
.l-tag{margin-bottom:14px}
.l-tag h3{position:sticky;top:0;z-index:2;background:var(--surface);font-size:17px;padding:10px 4px 6px;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;border-bottom:2px solid var(--tagtrenner)}
.l-tag.heute h3{color:var(--accent);border-bottom-color:var(--accent)}
.l-feiertag{font-size:13px;font-weight:600;color:#a3322a}
.l-ferien{font-size:12px;font-weight:600;color:var(--ferien-text);background:color-mix(in srgb,var(--ferien) 25%,transparent);border-radius:99px;padding:1px 8px}
.l-zeile{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid var(--line-soft);cursor:pointer;min-height:54px}
.l-zeit{flex:none;width:52px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);display:flex;flex-direction:column;line-height:1.15}
.l-zeit small{font-size:12.5px;font-weight:500;color:var(--ink-3)}
.l-text{flex:1;min-width:0;display:flex;flex-direction:column}
.l-text b{font-size:16.5px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.l-text small{font-size:13.5px;color:var(--ink-2)}
.l-termin{border-left:5px solid var(--c);background:color-mix(in srgb,var(--c) 9%,var(--surface));border-radius:8px;margin:4px 0}
.l-termin.abgesagt b{text-decoration:line-through;color:var(--ink-3)}
.l-termin.frist{box-shadow:inset 0 0 0 2px #c0392b}
.l-tel{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;text-decoration:none;background:var(--surface);border:1px solid var(--line)}
.l-blocker{background:repeating-linear-gradient(135deg,var(--surface-2) 0 6px,transparent 6px 12px);border-radius:8px;margin:4px 0}
.l-blocker b{font-weight:600;color:var(--ink-2)}
.l-frei{border:1.5px dashed color-mix(in srgb,#2e8b57 60%,transparent);background:color-mix(in srgb,#2e8b57 7%,var(--surface));border-radius:8px;margin:4px 0}
.l-frei b{color:#2e7d4f}
.l-plus{flex:none;font-size:22px;font-weight:700;color:#2e7d4f;width:30px;text-align:center}
.l-leer{padding:12px 8px;color:var(--ink-3);font-size:14px}
/* Schulferien: duennes Band oben, Name klein */
.kal-kopf .zelle{position:relative}
.kal-kopf .zelle.ferien::after,.m-tag.ferien::before{content:'';position:absolute;left:0;right:0;height:4px;background:var(--ferien)}
.kal-kopf .zelle.ferien::after{bottom:0}
.m-tag{position:relative}
.m-tag.ferien::before{top:0}
.ferien-name{font-size:10.5px;font-weight:600;color:var(--ferien-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-ferien{position:absolute;bottom:4px;right:6px;font-size:10px;font-weight:600;color:var(--ferien-text);max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-tag.feiertag{background:repeating-linear-gradient(135deg,var(--surface-2) 0 6px,transparent 6px 12px)}
.m-feiertag{font-size:11px;font-weight:600;color:#a3322a;margin-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.m-tag.heute{background:var(--today)}
.m-kopf{display:flex;align-items:center;gap:6px}
.m-zahl{font-family:"DM Sans",system-ui,sans-serif;font-size:15px}
.m-tag.heute .m-zahl{color:var(--accent);font-weight:700}
.m-mehr{margin-left:auto;font-size:11px;color:var(--ink-3)}
.m-eintrag{display:flex;align-items:center;gap:5px;border:0;background:color-mix(in srgb,var(--c) 14%,var(--surface));border-left:3px solid var(--c);
  border-radius:5px;padding:2px 5px;font-size:11.5px;cursor:pointer;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-eintrag i{width:0}
.m-eintrag .m-zeit{color:var(--ink-2);font-variant-numeric:tabular-nums}
.m-eintrag.abgesagt{opacity:.55;text-decoration:line-through}
.m-eintrag.blocker-klein{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink-3) 14%,transparent) 0 5px,transparent 5px 10px);border-left-color:var(--ink-3);color:var(--ink-2)}

/* Terminvergabe am Telefon */
.vergabe{display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--accent-soft);border-bottom:1px solid var(--accent);flex-wrap:wrap}
.vergabe .eingabe{padding:6px 9px;background:var(--surface)}
.v-einstellungen{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.v-name{font-weight:700;font-size:17px;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink)}
.v-fuer{display:inline-flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink-2);background:var(--surface);border:2px solid var(--accent);border-radius:99px;padding:4px 14px}
.v-block{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2)}
.v-zaehler{font-size:13px;color:var(--ink-2);margin-left:auto}
.frei{position:absolute;left:4px;right:5px;border-radius:8px;border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));
  color:var(--accent);font-size:11.5px;font-weight:600;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;padding:0}
.frei{border-radius:6px;font-size:11px;line-height:1}
.frei:hover{background:var(--accent);color:var(--accent-ink);border-style:solid;z-index:6}
/* Schatten zeigt beim Drueberfahren die volle Termindauer */
.frei:hover::after{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:var(--voll);border-radius:6px;
  background:color-mix(in srgb,var(--accent) 22%,transparent);border:1px solid var(--accent);pointer-events:none;z-index:-1}
/* frisch gebucht: der Termin selbst wird gruen, kein zweiter Rahmen daneben */
.termin.neu-gebucht{background:#e3f3e8;border:2px solid #2e8b57;z-index:5;animation:neu-blink 1s ease-in-out 3}
.termin.neu-gebucht .z{color:#2e7d4f;font-weight:700}
@keyframes neu-blink{50%{background:#c5e8d0}}
.termin,.frei{user-select:none;-webkit-user-select:none}
.v-ok{color:#2e7d4f}
/* Freie Zeit bei der Terminvergabe: eine Flaeche, der Rahmen wandert mit */
.frei-flaeche{position:absolute;left:4px;right:5px;border-radius:8px;z-index:4;cursor:pointer;
  background:color-mix(in srgb,#2e8b57 9%,var(--surface));border:1px dashed color-mix(in srgb,#2e8b57 60%,transparent);user-select:none}
.frei-flaeche.spaet{background:color-mix(in srgb,#c0392b 8%,var(--surface));border-color:color-mix(in srgb,#c0392b 55%,transparent)}
.frei-rahmen{position:absolute;left:-1px;right:-1px;border-radius:8px;background:#2e8b57;color:#fff;font-size:11.5px;font-weight:700;
  padding:3px 6px;pointer-events:none;box-shadow:0 3px 10px rgba(0,0,0,.18);white-space:nowrap;overflow:hidden}
.frei-flaeche.spaet .frei-rahmen{background:#c0392b}
.spalte.ausserhalb-fenster{opacity:.45}

/* Legende über dem Kalender – immer sichtbar */
.legende{display:flex;align-items:center;gap:10px;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);overflow-x:auto}
.legende .arten{flex:1;flex-wrap:nowrap}
.legende>button{border:0;background:none;color:var(--accent);cursor:pointer;font-size:12.5px;white-space:nowrap;flex:none}

.arten{display:flex;flex-wrap:wrap;gap:5px}
.art{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:99px;font-size:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);cursor:default}
button.art{cursor:pointer}
button.art:hover{border-color:var(--c)}
button.art.an{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface));color:var(--ink);font-weight:600}
.art .punkt{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}
/* Legende: Terminarten als gefuellte Flaeche wie die Termine im Kalender */
.arten button.art[data-art-filter]{background:color-mix(in srgb,var(--c) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 35%,transparent);
  border-left:4px solid var(--c);color:var(--ink);font-weight:600;white-space:nowrap;border-radius:8px}
.arten button.art[data-art-filter] .punkt{display:none}
.arten button.art[data-art-filter] .anzahl{color:color-mix(in srgb,var(--c) 70%,var(--ink))}
.arten button.art[data-art-filter].an{background:var(--c);color:#fff;border-color:var(--c)}
.arten button.art[data-art-filter].an .anzahl{color:#fff}
.arten .art{white-space:nowrap}
.art .anzahl{color:var(--ink-3);font-size:11px}
.art .punkt.schraffur{background:repeating-linear-gradient(135deg,var(--ink-3) 0 2px,transparent 2px 5px);border:1px solid var(--ink-3)}

/* Menü */
.menue{display:grid;gap:1px}
.menue button{display:flex;align-items:center;gap:9px;border:0;background:none;padding:5px 9px;border-radius:9px;cursor:pointer;font-size:14px;text-align:left;width:100%}
.menue button span{width:18px;text-align:center;filter:grayscale(.3)}
.menue button:hover{background:var(--surface)}
.menue button.an{background:var(--accent-soft);color:var(--accent);font-weight:600}
.menue em{margin-left:auto;font-style:normal;font-size:11px;color:var(--ink-3)}
.menue em.bald{background:var(--line);color:var(--ink-2);border-radius:99px;padding:1px 7px}
.menue em.zahl.warn{background:#c0392b}
.menue em.zahl{background:var(--accent);color:var(--accent-ink);border-radius:99px;padding:1px 7px;font-weight:600}

/* Listen-Seiten (Warteliste) */
.liste-seite{flex:1;display:flex;flex-direction:column;min-height:0}
.liste-kopf{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}
.liste-kopf h3{font-size:20px}
.liste-kopf .knopf{margin-left:auto}
.akte-zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.akte-zwei[hidden]{display:none}
.akte-termine-liste{max-height:calc(100vh - 290px);overflow:auto}
@media (max-width:900px){.akte-zwei{grid-template-columns:1fr}.akte-termine-liste{max-height:none}}
.liste-inhalt{flex:1;overflow:auto;padding:16px 20px;display:grid;gap:10px;align-content:start}
.wl-karte{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--c,var(--ink-3));border-radius:12px;padding:12px 14px;background:var(--surface)}
.wl-karte.dringend{border-color:var(--warn);background:var(--warn-soft)}
.wl-karte b{font-size:15px}
.wl-karte .klein{color:var(--ink-2);font-size:13px}
.wl-karte .knoepfe{margin-left:auto;display:flex;gap:6px;flex:none}
.leer-hinweis{color:var(--ink-3);text-align:center;padding:40px 0}

/* Kartei und Akte */
.p-karte{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--surface);cursor:pointer;text-align:left;width:100%}
.p-karte:hover{border-color:var(--accent);background:var(--accent-soft)}
.p-karte b{font-size:14.5px}
.p-karte .klein{color:var(--ink-2);font-size:12.5px}
.p-karte .rechts{margin-left:auto;text-align:right;font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.liste-inhalt.akte{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start}
.karte-kopf{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.karte-kopf h4{flex:1}
.daten-tab{width:100%;border-collapse:collapse;font-size:13.5px}
.daten-tab th{text-align:left;font-weight:500;color:var(--ink-2);padding:5px 10px 5px 0;white-space:nowrap;vertical-align:top;width:120px}
.daten-tab td{padding:5px 0}
.t-zeile{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line-soft);font-size:13.5px}
.t-zeile:first-child{border-top:0}
.t-zeile i{width:8px;height:8px;border-radius:2px;background:var(--c,var(--ink-3));flex:none}
.t-zeile .datum{font-variant-numeric:tabular-nums;width:92px;flex:none}
.t-zeile .klein{color:var(--ink-3);margin-left:auto;text-align:right}
.t-zeile{align-items:center;flex-wrap:wrap}
.t-zeile .art{min-width:0;overflow-wrap:anywhere}
.t-knoepfe{display:flex;gap:2px;flex:none}
.t-bearb{border:0;background:none;color:var(--ink-3);cursor:pointer;font-size:14px;padding:0 5px;border-radius:5px;line-height:1.4}
.t-bearb:hover{color:var(--accent);background:var(--accent-soft)}
.t-platz{display:inline-block;width:20px}
.t-zeile.vergangen{color:var(--ink-2)}
.t-zeile.abgesagt .art{text-decoration:line-through;color:var(--ink-3)}
@media (max-width:900px){.liste-inhalt.akte{grid-template-columns:1fr}}

/* Serie */
.serie{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:var(--surface-2);margin-bottom:14px}
.serie-kopf{display:flex;align-items:center;gap:9px;font-size:13.5px;cursor:pointer}
.serie-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin-top:4px}
.serie-liste span{font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px 7px;font-variant-numeric:tabular-nums}
.serie-liste span.warn{border-color:var(--warn);background:var(--warn-soft)}

.benutzer{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}

.haupt{display:flex;flex-direction:column;min-width:0;min-height:0}
.leiste{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.leiste h2{font-size:20px;margin-left:4px}
.leiste .kw{color:var(--ink-3);font-size:12.5px}
.pfeile{display:flex;gap:4px}
.pfeile .knopf{padding:7px 11px}
/* Umblaettern: gross und in Praxisfarbe, damit man es sofort findet */
#zurueck,#vor{min-width:44px;padding:4px 10px;font-size:26px;line-height:1;font-weight:700;color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
#zurueck:hover,#vor:hover{background:var(--accent);color:var(--accent-ink)}
.umschalter{display:flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px;margin-left:auto}
.umschalter button{border:0;background:transparent;padding:6px 12px;border-radius:7px;cursor:pointer;color:var(--ink-2)}
.umschalter button.an{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08);font-weight:600}
.suche{position:relative;display:flex;align-items:center}
.suche input{width:220px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:8px 10px 8px 32px}
.suche svg{position:absolute;left:10px;color:var(--ink-3)}
.treffer{position:absolute;top:calc(100% + 4px);left:0;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:20;overflow:hidden;max-height:340px;overflow-y:auto}
.treffer button{display:block;width:100%;text-align:left;border:0;background:none;padding:9px 12px;cursor:pointer;font-size:13.5px}
.treffer button:hover{background:var(--accent-soft)}
.treffer small{color:var(--ink-3);display:block}

/* Kalender */
.kal{flex:1;display:flex;flex-direction:column;min-height:0}
.kal-kopf{display:grid;border-bottom:1px solid var(--line);overflow-y:hidden;scrollbar-gutter:stable}  /* gleiche Breite wie der Bereich darunter (Scrollbalken) */
.kal-kopf .zelle{padding:9px 10px 7px;border-left:2px solid var(--tagtrenner);min-width:0}
.kal-kopf .zelle.b-kopf.schmal:not(.tag-start){border-left:1px solid var(--line-soft)}
.kal-kopf .zelle:first-child{border-left:0}
.kal-kopf .wtag{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.kal-kopf .datum{font-family:"DM Sans",system-ui,sans-serif;font-size:19px;line-height:1.15}
.kal-kopf .info{font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kal-kopf .zelle.heute{background:var(--today)}
.kal-kopf .zelle.heute .datum{color:var(--accent)}
.kal-scroll{flex:1;overflow:auto;position:relative;scrollbar-gutter:stable}
.kal-body{display:grid;position:relative}
.zeiten{background:var(--surface-2);border-right:1px solid var(--line)}
.zeiten div{height:var(--hour);font-size:13px;font-weight:700;color:var(--ink);text-align:right;padding-right:5px;transform:translateY(-9px);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.spalte{position:relative;border-left:2px solid var(--tagtrenner);
  /* nur die volle Stunde als ruhige Linie */
  background-image:linear-gradient(var(--stundenlinie) 1px,transparent 1px);
  background-size:100% var(--hour)}
/* Mitarbeiter-Spalten innerhalb eines Tages nur fein getrennt, zwischen den Tagen kraeftig */
.spalte.b-spalte{border-left:1px solid var(--line-soft)}
.spalte.b-spalte.tag-start{border-left:2px solid var(--tagtrenner)}
.spalte.heute{background-color:color-mix(in srgb,var(--today) 60%,transparent)}
.ausserhalb{position:absolute;left:0;right:0;pointer-events:none;
  /* geschlossene Zeit: getoente Flaeche mit deutlichen Streifen */
  background:repeating-linear-gradient(135deg,
    color-mix(in srgb,var(--ink-3) 13%,transparent) 0 7px,
    color-mix(in srgb,var(--ink-3) 24%,transparent) 7px 11px)}
.jetzt{position:absolute;left:0;right:0;height:2px;background:var(--now);z-index:3;pointer-events:none}
.jetzt::before{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--now)}

.termin{position:absolute;left:4px;right:5px;border-radius:8px;padding:4px 8px 4px 10px;overflow:hidden;cursor:pointer;
  background:color-mix(in srgb,var(--c) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 30%,transparent);
  box-shadow:inset 3px 0 0 var(--c);font-size:12.5px;line-height:1.3;z-index:2;text-align:left}
.termin:hover{box-shadow:inset 3px 0 0 var(--c),0 4px 14px rgba(0,0,0,.12)}
.termin.zieht{opacity:.75;z-index:9;cursor:grabbing}
.termin .z{color:var(--ink-2);font-size:11px;font-variant-numeric:tabular-nums}
.termin .n{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.termin .a{color:color-mix(in srgb,var(--c) 75%,var(--ink));font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.termin.kurz{display:flex;gap:6px;align-items:baseline;padding-top:2px}
.termin.abgesagt{opacity:.55}
.termin.abgesagt .n{text-decoration:line-through}
.termin .t-tel{position:absolute;right:5px;bottom:4px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:14px;background:var(--surface);border:1px solid var(--line);cursor:pointer}
.termin .t-tel:hover{border-color:#2e8b57;background:color-mix(in srgb,#2e8b57 15%,var(--surface))}
.termin.kurz .t-tel{top:50%;bottom:auto;transform:translateY(-50%);width:22px;height:22px;font-size:11px}
.termin:has(.t-tel) .n{padding-right:30px}
.termin .marke-klein{position:absolute;top:4px;right:6px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}
.blocker{position:absolute;left:0;right:0;z-index:1;padding:5px 10px;font-size:11.5px;color:var(--ink-2);cursor:pointer;text-align:left;border:0;
  background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink-3) 12%,transparent) 0 6px,transparent 6px 12px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.blocker b{color:var(--ink);font-weight:600}

/* Fenster */
dialog{border:0;padding:0;background:transparent;max-width:min(760px,94vw);width:100%}
dialog::backdrop{background:rgba(30,28,24,.35)}
.fenster{background:var(--surface);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.28);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.fenster-kopf{display:flex;align-items:center;gap:12px;padding:16px 20px 10px}
.fenster-kopf h3{font-size:19px}
.fenster-kopf .datum-label{color:var(--ink-3);font-size:13.5px}
.fenster-kopf .zu{margin-left:auto}
.fenster-reiter{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line)}
.fenster-reiter button{border:0;background:none;padding:9px 12px;cursor:pointer;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}
.fenster-reiter button.an{color:var(--ink);border-color:var(--accent);font-weight:600}
.fenster-inhalt{padding:16px 20px;overflow:auto}
.fenster-inhalt.zwei{display:grid;grid-template-columns:1fr 240px;gap:20px}
.fenster-fuss{display:flex;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2)}
.fenster-fuss .rechts{margin-left:auto;display:flex;gap:8px}
.reihe{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}
.reihe.zwei{grid-template-columns:1fr 1fr}
.vorschlaege{position:absolute;z-index:30;width:100%;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);background:var(--surface);margin-top:3px;overflow:hidden;max-height:230px;overflow-y:auto}
.vorschlaege button{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;background:none;padding:8px 11px;font-size:13.5px;cursor:pointer;text-align:left}
.vorschlaege button:hover,.vorschlaege button.an{background:var(--accent-soft)}
.vorschlaege small{color:var(--ink-3)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 11px 6px 9px;font-size:13px;cursor:pointer;background:var(--surface)}
.chip i{width:9px;height:9px;border-radius:3px;background:var(--c)}
.chip small{color:var(--ink-3)}
.chip.an{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface));font-weight:600}
.karte{border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--surface-2)}
.karte h4{margin:0 0 2px;font-size:15px}
.karte .klein{color:var(--ink-3);font-size:12.5px}
.verlauf{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:7px;font-size:12.5px}
.verlauf li{display:flex;gap:8px;align-items:baseline}
.verlauf i{width:8px;height:8px;border-radius:2px;background:var(--c,var(--ink-3));flex:none}
.verlauf small{color:var(--ink-3);margin-left:auto;white-space:nowrap}
#f-person-verlauf{max-height:260px;overflow:auto}
#f-person-verlauf li.aktuell{background:var(--accent-soft);font-weight:700;border-radius:6px}
#f-person-marken .rezept-badge,#f-person-marken .frist-badge{display:block;width:fit-content;max-width:100%;font-size:11.5px}
.t-weg{border:0;background:none;color:var(--ink-3);cursor:pointer;font-size:11px;padding:0 3px;border-radius:5px;line-height:1.4}
.t-weg:hover{color:#a3322a;background:#fbecea}
.t-weg.sicher{color:#fff;background:#c0392b;font-weight:600;padding:0 6px}
.warnung{background:var(--warn-soft);border:1px solid var(--warn);border-radius:10px;padding:9px 11px;font-size:13px;margin-bottom:12px}

.arten-tab{width:100%;border-collapse:collapse}
.arten-tab th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);text-align:left;font-weight:600;padding:0 6px 8px}
.arten-tab td{padding:5px 6px;border-top:1px solid var(--line-soft);vertical-align:middle}
.arten-tab td{position:relative}
.farbfeld{width:30px;height:30px;border-radius:8px;background:var(--c);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer}
.palette{position:absolute;z-index:40;top:38px;left:0;display:flex;gap:6px;flex-wrap:wrap;width:190px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}
.palette span{width:22px;height:22px;border-radius:6px;background:var(--c);cursor:pointer}
.palette span.an{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--ink)}
.palette .eigene{width:22px;height:22px;border-radius:6px;border:1px dashed var(--ink-3);display:grid;place-items:center;font-size:12px;color:var(--ink-2);cursor:pointer;overflow:hidden}
.palette .eigene input{position:absolute;opacity:0;width:22px;height:22px;cursor:pointer}
.tage-wahl{display:flex;gap:6px;flex-wrap:wrap}
.tage-wahl label{border:1px solid var(--line);border-radius:9px;padding:7px 11px;cursor:pointer;background:var(--surface);font-size:13.5px}
.tage-wahl label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.tage-wahl input{position:absolute;opacity:0;pointer-events:none}

.lade{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:100;color:var(--ink-3)}

#menue-knopf{display:none;font-size:20px;padding:4px 11px}
.menue-schleier{display:none}
@media (max-width:860px){
  .app{grid-template-columns:1fr}
  .seite{display:none}
  #menue-knopf{display:inline-flex}
  .app.menue-offen .seite{display:flex;position:fixed;top:0;bottom:0;left:0;width:min(280px,85vw);z-index:60;box-shadow:4px 0 24px rgba(0,0,0,.25)}
  .app.menue-offen .menue-schleier{display:block;position:fixed;inset:0;z-index:59;background:rgba(0,0,0,.3)}
  .leiste{padding:10px 12px}
  .leiste h2{font-size:17px}
  .suche input{width:150px}
  .umschalter{order:3}
  .fenster-inhalt.zwei{grid-template-columns:1fr}
  .reihe{grid-template-columns:1fr 1fr}
}

/* Handy quer / niedrige Bildschirme: Kopfbereich kompakt, damit der Kalender Platz hat */
@media (max-height:560px){
  .app{grid-template-columns:190px 1fr}
  .seite{padding:8px 8px;gap:6px}
  .marke{margin-bottom:4px;gap:7px}
  .marke-zeichen{width:26px;height:26px;border-radius:8px}
  .marke-zeichen svg{width:14px;height:14px}
  .marke-name{font-size:13px}
  .marke-sub{display:none}
  #neu-knopf{padding:5px 10px;font-size:13px}
  .menue button{padding:3px 8px;font-size:13px}
  .leiste{padding:4px 10px;gap:6px;flex-wrap:nowrap}
  .leiste h2{font-size:15px;white-space:nowrap}
  .leiste .kw{display:none}
  .leiste .knopf,.leiste .eingabe{padding:3px 8px;font-size:13px}
  #zurueck,#vor{min-width:34px;font-size:19px;padding:1px 8px}
  .umschalter{padding:2px}
  .umschalter button{padding:3px 8px;font-size:13px}
  .suche input{width:130px;padding:4px 8px 4px 28px;font-size:13px}
  .legende{padding:3px 10px}
  .legende .chip,.legende .art{padding:2px 8px 2px 7px;font-size:12px}
  .kal-kopf .zelle{padding:3px 6px;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
  .kal-kopf .zelle .datum{font-size:15px}
  .kal-kopf .zelle .info{display:none}
  .kal-kopf .zelle .grund,.kal-kopf .zelle .ferien-name{font-size:10px;width:100%}
}

/* ---------- Rechnungen ---------- */
.e-titel{font-size:14px;margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.e-titel:first-child{margin-top:0}
.rg-felder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
.rg-bilder{display:flex;gap:14px;flex-wrap:wrap}
.rg-bild{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:200px;min-height:90px;border:1.5px dashed var(--line);border-radius:10px;padding:8px;cursor:pointer;font-size:13px;color:var(--accent)}
.rg-bild img{max-width:100%;max-height:90px}
.rg-bild img[hidden]{display:none}
.rg-vorlage{border:1px solid var(--line);border-left:4px solid var(--c);border-radius:10px;padding:9px 11px;margin-bottom:8px;display:grid;gap:7px}
.rg-vorlage-kopf{display:flex;justify-content:space-between;align-items:baseline}
.rg-chips{display:flex;flex-wrap:wrap;gap:5px}
.rg-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:12.5px;cursor:pointer;background:var(--surface)}
.rg-chip small{color:var(--ink-3)}
.rg-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.eingabe.rechts{text-align:right}
.eingabe.falsch{border-color:#c0392b;background:#fbecea}
/* Fenster Rechnung schreiben */
.rg-kopfzeile{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px}
.rg-umschalter{display:grid;gap:4px;font-size:14px}
.rg-termine{display:flex;flex-wrap:wrap;gap:6px}
.rg-termin{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:4px 11px;font-size:13px;cursor:pointer}
.rg-termin i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.rg-termin:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.rg-gruppe{border:1px solid var(--line);border-radius:10px;padding:10px;margin:10px 0;background:var(--surface-2)}
.rg-gruppe-kopf{display:flex;gap:8px;margin-bottom:8px}
.rg-tab{width:100%;border-collapse:collapse}
.rg-tab th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);text-align:left;font-weight:600;padding:0 4px 4px}
.rg-tab td{padding:2px 4px;vertical-align:top}
.rg-tab .eingabe{padding:5px 7px;width:100%}
.rg-tab textarea.eingabe{resize:vertical;min-height:32px;font:inherit}
.rg-plus{margin-top:6px;width:auto;max-width:100%}
.rg-summe{font-size:15px;align-self:center}
.rg-plus-zeile{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.rg-plus-zeile .rg-waehler{flex:1;min-width:220px;display:flex;position:relative}
.rg-waehler input{flex:1;padding-right:34px}
.rg-waehler .pfeil{position:absolute;right:2px;top:2px;bottom:2px;padding:0 8px;font-size:15px;color:var(--ink-2);border-radius:8px}
.rg-waehler .pfeil:hover{background:var(--surface-2);color:var(--accent)}
.krypto-kasten{border:1px solid var(--warn,#d68a1f);background:#fdf3e3;border-radius:10px;padding:10px 12px;display:grid;gap:7px;font-size:13px}
.krypto-kasten code{display:block;word-break:break-all;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:12.5px}
.rg-marke{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;border-radius:99px;padding:1px 7px;text-decoration:none;white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}
.rg-marke.offen{border-color:#d68a1f;color:#9a6012;background:#fdf3e3}
.rg-marke.bezahlt{border-color:#2e8b57;color:#2e7d4f;background:#e7f4ec}
.rg-marke.storniert{color:var(--ink-3)}
.vb-termin .rg-marke,.t-zeile .rg-marke{margin-left:4px}
.rg-spanne{display:block;font-size:10.5px;color:var(--ink-3);text-align:right;margin-top:2px;white-space:nowrap}
.rg-spanne.ueber{color:#a3322a;font-weight:600}
@media (max-width:700px){.rg-kopfzeile,.rg-felder{grid-template-columns:1fr}}
/* Rechnungsliste */
.rg-zeile{display:grid;grid-template-columns:60px 90px minmax(0,1fr) 100px 120px auto;gap:10px;align-items:center;padding:9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:14px}
.rg-zeile .nr{font-variant-numeric:tabular-nums}
.rg-zeile .betrag{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.rg-zeile .knoepfe{display:flex;gap:6px;justify-content:flex-end}
.rg-zeile .knoepfe a{text-decoration:none;color:inherit}
.rg-zeile.storniert{opacity:.6}
.rg-status{border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:12.5px;background:var(--surface);cursor:pointer;text-align:center;white-space:nowrap}
.rg-status.offen{border-color:#d68a1f;color:#9a6012;background:#fdf3e3;font-weight:600}
.rg-status.bezahlt{border-color:#2e8b57;color:#2e7d4f;background:#e7f4ec}
.rg-status.storniert{cursor:default;color:var(--ink-3)}
.rg-status.entwurf{border-color:var(--ink-3);color:var(--ink-2);background:var(--surface-2);font-weight:600}
.rg-marke.entwurf{border-style:dashed;color:var(--ink-2)}
tr.weggefiltert{display:none}
@media (max-width:760px){.rg-zeile{grid-template-columns:50px minmax(0,1fr) auto;}.rg-zeile .datum,.rg-zeile .knoepfe{grid-column:2/-1}}
.rg-tab{table-layout:fixed}
#f-rechnung .fenster-fuss{flex-wrap:wrap}
@media (max-width:700px){
  .rg-gruppe-kopf{flex-wrap:wrap}
  .rg-gruppe-kopf .eingabe{width:100% !important}
  /* Handy: jede Leistung als kleine Karte – Ziffer, Betrag, ✕ oben, Bezeichnung darunter in voller Breite */
  .rg-tab thead{display:none}
  .rg-tab,.rg-tab tbody{display:block}
  .rg-tab tr{display:grid;grid-template-columns:64px minmax(0,1fr) 34px;gap:4px;padding:6px 0;border-bottom:1px solid var(--line-soft)}
  .rg-tab td{display:block;width:auto !important;padding:0}
  .rg-tab td:nth-child(1){grid-column:1;grid-row:1}
  .rg-tab td:nth-child(3){grid-column:2;grid-row:1}
  .rg-tab td:nth-child(4){grid-column:3;grid-row:1}
  .rg-tab td:nth-child(2){grid-column:1 / -1;grid-row:2}
  #f-rechnung .fenster-fuss .rechts{flex-wrap:wrap}
  /* Leistungskatalog in den Einstellungen ebenso als Karten */
  #rg-leistungen tr{display:grid;grid-template-columns:76px minmax(0,1fr) 34px;gap:4px;padding:7px 0;border-bottom:1px solid var(--line-soft)}
  #rg-leistungen td{display:block;width:auto !important;padding:0}
  #rg-leistungen td:nth-child(1){grid-column:1;grid-row:1}
  #rg-leistungen td:nth-child(3){grid-column:2;grid-row:1}
  #rg-leistungen td:nth-child(4){grid-column:3;grid-row:1}
  #rg-leistungen td:nth-child(2){grid-column:1 / -1;grid-row:2}
  .arten-tab:has(#rg-leistungen) thead{display:none}
  .rg-plus-zeile .rg-waehler{min-width:0}
  #f-rechnung .rg-summe{width:100%}
}

/* Aufbewahrungsfrist + Person loeschen (Akte) */
.aufbewahrung{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:10px;border-top:1px solid var(--line-soft);color:var(--ink-2)}
.aufbewahrung .knoepfe{margin-left:auto;display:flex;gap:4px}
.knopf.gefahr{color:var(--now)}
.knopf.gefahr:hover{background:var(--warn-soft)}

/* Einstellungen → Datenschutz */
.ampel{margin-top:8px;padding:8px 11px;border-radius:10px;font-size:13px;line-height:1.45}
.ampel.gruen{background:var(--accent-soft);border:1px solid var(--accent)}
.ampel.gelb{background:var(--warn-soft);border:1px solid var(--warn)}
.protokoll-liste{margin-top:10px;max-height:320px;overflow:auto}

/* Bildschirmsperre: Hintergrund komplett abdecken */
dialog.sperre::backdrop{background:var(--bg);opacity:1}
dialog.sperre{border:0;background:transparent;box-shadow:none;width:min(360px,92vw);max-width:none;padding:0;overflow:visible}
dialog.sperre .fenster{width:100%;max-width:none!important}

/* Hinweis in der Seitenleiste, wenn die Sicherung fehlt */
.sicherung-hinweis{margin:6px 12px 0;padding:7px 10px;border-radius:9px;border:1px solid var(--warn);background:var(--warn-soft);color:var(--ink);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}

/* Einrichtung: Daten aus einer Sicherung übernehmen */
.umzug{margin-top:18px;padding-top:12px;border-top:1px solid var(--line-soft)}
.umzug summary{cursor:pointer;color:var(--ink-2);font-size:13.5px}
.umzug form{margin-top:12px}

/* Auswertung */
.aw-kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.aw-kachel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.aw-kachel b{font-family:"DM Sans",system-ui,sans-serif;font-size:24px;font-weight:600}
.aw-kachel span{font-size:12.5px;color:var(--ink-2)}
.aw-tab{width:100%;border-collapse:collapse;font-size:13.5px}
.aw-tab th{text-align:left;font-weight:600;color:var(--ink-2);font-size:12px;padding:4px 8px;border-bottom:1px solid var(--line)}
.aw-tab td{padding:5px 8px;border-bottom:1px solid var(--line-soft);white-space:nowrap}
.aw-tab .aw-zahl{text-align:right;width:16%}
.aw-bar{background:linear-gradient(to left,var(--accent-soft) var(--w),transparent var(--w))}
.aw-bar.geld{background:linear-gradient(to left,var(--warn-soft) var(--w),transparent var(--w))}
.aw-art{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--line-soft)}
.aw-art b{margin-left:auto}
.aw-art .punkt{width:9px;height:9px;border-radius:50%}
.rg-export{display:flex;gap:6px;align-items:center}
.rg-export select{width:auto}

/* Einstellungen: Menue links, Inhalt rechts (passt auch mit vielen Bereichen) */
dialog.einst-dialog{max-width:min(1000px,96vw)}
.einst-fenster{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;height:min(780px,92vh)}
.einst-fenster>.fenster-kopf{grid-column:1/-1;border-bottom:1px solid var(--line)}
.einst-fenster>#e-reiter{flex-direction:column;border-bottom:0;border-right:1px solid var(--line);padding:10px;gap:2px;overflow:auto;background:var(--surface-2)}
.einst-fenster>#e-reiter button{border:0;border-radius:9px;text-align:left;display:flex;gap:10px;align-items:center;margin:0;padding:9px 10px;font-size:14px}
.einst-fenster>#e-reiter button span{width:20px;text-align:center}
.einst-fenster>#e-reiter button.an{background:var(--accent-soft);color:var(--ink)}
.einst-fenster>.fenster-inhalt{grid-column:2;padding:18px 24px;min-width:0}
.einst-fenster>.fenster-fuss{grid-column:1/-1}
.einst-fenster .e-titel:first-child{margin-top:0}
@media (max-width:760px){
  .einst-fenster{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto}
  .einst-fenster>#e-reiter{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:6px}
  .einst-fenster>#e-reiter button{white-space:nowrap}
  .einst-fenster>.fenster-inhalt{grid-column:1;padding:14px 16px}
}

/* Module als Schalter mit Erklaerung */
.modul-liste{display:grid;gap:8px}
.modul-liste label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;background:var(--surface)}
.modul-liste label:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.modul-liste input{appearance:none;flex:none;width:36px;height:20px;border-radius:20px;background:var(--line);position:relative;margin-top:2px;cursor:pointer;transition:background .15s}
.modul-liste input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.modul-liste input:checked{background:var(--accent)}
.modul-liste input:checked::after{left:18px}
.modul-liste input:disabled{opacity:.6}
.modul-liste b{display:block;font-weight:600}
.modul-liste small{display:block;color:var(--ink-2);font-size:12.5px;margin-top:2px}
.weg{display:none!important}

/* Umsatzsteuer: Spalte im Leistungskatalog nur bei Steuerpflicht */
.nur-ust{display:none}
body.mit-ust .nur-ust{display:table-cell}
.ust-wahl input[type=radio]{appearance:auto;width:auto;height:auto;margin-top:3px;background:none}
.ust-wahl input[type=radio]::after{display:none}
.knopf.leise.vb-wa { color: #128c4b; font-weight: 600; }

/* ---------- Delario: Linien-Symbole (Lucide-Stil) und zarteres Erscheinungsbild ---------- */
.ic{display:inline-block;width:1.1em;height:1.1em;flex:none;vertical-align:-.18em;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.ic-gross .ic{width:34px;height:34px;color:var(--accent)}
.ic-telefon{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.ic-frist{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='10' x2='14' y1='2' y2='2'/%3E%3Cline x1='12' x2='15' y1='14' y2='11'/%3E%3Ccircle cx='12' cy='14' r='8'/%3E%3C/svg%3E")}
.ic-schloss{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}
.ic-offen{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 9.9-1'/%3E%3C/svg%3E")}
.ic-euro{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12'/%3E%3Cpath d='M4 14h9'/%3E%3Cpath d='M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2'/%3E%3C/svg%3E")}
.ic-koerper{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='1'/%3E%3Cpath d='m9 20 3-6 3 6'/%3E%3Cpath d='m6 8 6 2 6-2'/%3E%3Cpath d='M12 10v4'/%3E%3C/svg%3E")}
.ic-papierkorb{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3C/svg%3E")}
.ic-dokument{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E")}
.ic-wiederholen{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m17 2 4 4-4 4'/%3E%3Cpath d='M3 11v-1a4 4 0 0 1 4-4h14'/%3E%3Cpath d='m7 22-4-4 4-4'/%3E%3Cpath d='M21 13v1a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E")}
.ic-nachricht{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E")}
.ic-anhang{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E")}
.ic-mail{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E")}
.ic-archiv{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='5' x='2' y='3' rx='1'/%3E%3Cpath d='M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8'/%3E%3Cpath d='M10 12h4'/%3E%3C/svg%3E")}
.ic-dringend{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E")}
.ic-einstellungen{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='21' x2='14' y1='4' y2='4'/%3E%3Cline x1='10' x2='3' y1='4' y2='4'/%3E%3Cline x1='21' x2='12' y1='12' y2='12'/%3E%3Cline x1='8' x2='3' y1='12' y2='12'/%3E%3Cline x1='21' x2='16' y1='20' y2='20'/%3E%3Cline x1='12' x2='3' y1='20' y2='20'/%3E%3Cline x1='14' x2='14' y1='2' y2='6'/%3E%3Cline x1='8' x2='8' y1='10' y2='14'/%3E%3Cline x1='16' x2='16' y1='18' y2='22'/%3E%3C/svg%3E")}
.ic-kalender{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}
.ic-vergeben{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M10 16h4'/%3E%3Cpath d='M12 14v4'/%3E%3C/svg%3E")}
.ic-warten{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 22h14'/%3E%3Cpath d='M5 2h14'/%3E%3Cpath d='M17 22v-4.17a2 2 0 0 0-.59-1.42L12 12l-4.41 4.41A2 2 0 0 0 7 17.83V22'/%3E%3Cpath d='M7 2v4.17a2 2 0 0 0 .59 1.42L12 12l4.41-4.41A2 2 0 0 0 17 6.17V2'/%3E%3C/svg%3E")}
.ic-person{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3C/svg%3E")}
.ic-ordner{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E")}
.ic-auswertung{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M18 17V9'/%3E%3Cpath d='M13 17V5'/%3E%3Cpath d='M8 17v-3'/%3E%3C/svg%3E")}
.ic-schluessel{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='5.5'/%3E%3Cpath d='m21 2-9.6 9.6'/%3E%3Cpath d='m15.5 7.5 3 3L22 7l-3-3'/%3E%3C/svg%3E")}
.ic-sperre{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E")}
.ic-haus{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E")}
.ic-uhr{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E")}
.ic-team{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E")}
.ic-farben{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.5' cy='6.5' r='1'/%3E%3Ccircle cx='17.5' cy='10.5' r='1'/%3E%3Ccircle cx='8.5' cy='7.5' r='1'/%3E%3Ccircle cx='6.5' cy='12.5' r='1'/%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.12a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.55-2.5 5.55-5.55C21.97 6.01 17.46 2 12 2z'/%3E%3C/svg%3E")}
.ic-module{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='14' y='3' rx='1'/%3E%3Crect width='7' height='7' x='14' y='14' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3C/svg%3E")}
.ic-auge{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
h1,h2,h3,h4{letter-spacing:-.02em}
.marke-zeichen{background:none !important;color:var(--accent);width:34px;height:34px}
.marke-sub{letter-spacing:.02em;color:var(--accent);opacity:.75;font-weight:500}
.seite{background:var(--surface-2);border-right-color:var(--line-soft)}
.menue button{color:var(--ink-2);padding:7px 10px}
.menue button span{filter:none;color:var(--ink-3);display:inline-flex}
.menue button.an span{color:var(--accent)}
.menue button.an{color:var(--accent)}
.knopf{border-radius:11px;border-color:var(--line)}
.knopf.primaer{box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 18%,transparent)}
.mini-grid button.woche{background:color-mix(in srgb,var(--aprikot) 22%,var(--surface))}
.mini-grid button.heute{background:var(--accent);color:var(--accent-ink)}
.menue button.an{background:color-mix(in srgb,var(--salbei) 20%,var(--surface))}
.heute-karte,.karte-gross{border-color:var(--line-soft)}
.kal-kopf .zelle{border-left-color:var(--tagtrenner)}
.kal-kopf .zelle.heute{box-shadow:inset 0 2px 0 var(--aprikot)}
.kal-kopf .zelle.heute.heute-l{box-shadow:inset 0 2px 0 var(--aprikot),inset 2px 0 0 var(--aprikot)}
.kal-kopf .zelle.heute.heute-r{box-shadow:inset 0 2px 0 var(--aprikot),inset -2px 0 0 var(--aprikot)}
.kal-kopf .zelle.heute.heute-l.heute-r{box-shadow:inset 0 0 0 2px var(--aprikot)}
.spalte.heute.heute-l{box-shadow:inset 2px 0 0 var(--aprikot)}
.spalte.heute.heute-r{box-shadow:inset -2px 0 0 var(--aprikot)}
.spalte.heute.heute-l.heute-r{box-shadow:inset 2px 0 0 var(--aprikot),inset -2px 0 0 var(--aprikot)}
.termin{border-radius:10px;background:color-mix(in srgb,var(--c) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 16%,transparent);box-shadow:inset 3px 0 0 var(--c)}
.termin:hover{box-shadow:inset 3px 0 0 var(--c),0 6px 18px rgba(70,50,30,.12)}
.termin .n{color:color-mix(in srgb,var(--c) 45%,var(--ink))}
.termin .t-tel{color:var(--ink-3);border-color:var(--line-soft);font-size:12px}
.termin .t-tel:hover{color:#128c4b}
.l-tel{color:var(--accent)}
.tel-knopf .ic{color:var(--accent)}
.knopf .ic{color:inherit}
.kal-kopf .zelle.heute .datum{color:#c9773f}
.mini-grid button.heute{background:var(--aprikot);color:#fff}
/* Feinere Linien, kraeftigere Namen und Zeiten; Telefon im Termin nur beim Darueberfahren */
.spalte,.kal-kopf .zelle{border-left-width:1px}
.spalte.b-spalte.tag-start,.kal-kopf .zelle.tag-start{border-left:1px solid #c9d3bf}
.spalte.b-spalte{border-left-color:var(--halbstunde)}
.zeiten{border-right-color:var(--line-soft)}
.zeiten div{font-weight:600;color:var(--ink-2)}
.termin .n{font-weight:700;color:color-mix(in srgb,var(--c) 35%,var(--ink))}
.termin .z{color:var(--ink);font-weight:500;opacity:.8}
.termin .t-tel{visibility:hidden}
.termin:hover .t-tel,.termin:focus-within .t-tel{visibility:visible}
.termin:has(.t-tel) .n{padding-right:0}
.termin:hover:has(.t-tel) .n{padding-right:30px}
@media (hover:none){.termin .t-tel{display:none}}
.marke-wort{height:19px;width:auto;display:block;margin-top:3px}
.marke-zeichen img{display:block}
/* Hauptknoepfe in warmem Aprikot wie auf der Website, Schrift dunkel fuer guten Kontrast */
.knopf.primaer{background:#e8a272;border-color:#e8a272;color:#3a2a1e;box-shadow:0 6px 16px rgba(232,162,114,.28)}
.knopf.primaer:hover{background:#de9361;border-color:#de9361}
/* geschlossene Zeit heller, damit es nicht schmutzig wirkt */
.ausserhalb{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink-3) 6%,transparent) 0 7px,color-mix(in srgb,var(--ink-3) 14%,transparent) 7px 11px)}
/* Delario-Schriftzug gross oben, Praxisname darunter */
.marke{flex-direction:column;align-items:flex-start;gap:0}
.marke .marke-zeichen{display:none}
.marke>div:last-child{display:flex;flex-direction:column}
.marke .marke-sub{order:-1;opacity:1;margin-bottom:8px}
.marke-wort{height:32px;margin-top:0}
.marke .marke-name{font-size:14px;color:var(--ink-2);font-weight:600}
/* Klarere Abstufung in der Seitenleiste statt Einheitsgruen */
.seite{background:#fff;border-right:1px solid var(--line)}
.menue button{color:var(--ink);font-weight:500}
.menue button span{color:var(--accent)}
.menue button:hover{background:var(--surface-2)}
.menue button.an{background:var(--accent);color:#fff;font-weight:600}
.menue button.an span{color:#fff}
.menue em.zahl{background:#e8a272;color:#3a2a1e}
.menue button.an em.zahl{background:#fff;color:var(--accent)}
.mini-kopf{color:var(--ink)}
.mini-grid button{color:var(--ink)}
.mini-grid .wt{color:var(--ink-3)}
.heute-karte{background:var(--surface-2);border-color:transparent}
.seite{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
/* Oeffentliche Demo: Hinweisleiste unten */
.demo-leiste{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:50;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center;
  max-width:calc(100% - 24px);padding:8px 14px;border-radius:14px;background:#fdf1e7;border:1px solid #f0cdb3;color:#5b4231;font-size:12.5px;box-shadow:var(--shadow)}
.demo-leiste b{color:#c9773f}
.demo-branchen{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}
.demo-branchen a,.demo-zurueck{color:#5b4231;text-decoration:none;padding:2px 8px;border-radius:99px;border:1px solid #f0cdb3;background:#fff}
.demo-branchen a.an{background:#e8a272;border-color:#e8a272;color:#3a2a1e;font-weight:600}
@media (max-width:760px){
  .demo-leiste{bottom:6px;padding:5px 10px;font-size:11.5px;gap:4px 8px;border-radius:10px}
  .demo-lang,.demo-branchen{display:none}
}

/* ---------- Einheitliche Schrift: Groessen, Staerken, Farben (Vorgabe 28.10.2026) ---------- */
:root{--ink:#33463b;--ink-2:#5f6f5b;--ink-3:#6b7a66}
body,button,input,select,textarea{font-family:"DM Sans","Segoe UI",Arial,sans-serif;letter-spacing:normal}
body{font-size:14px;line-height:1.45;color:#33463b}
h1,h2,h3,h4,.marke-name,.kal-kopf .datum,.heute-zahl,.m-zahl,.v-name,.aw-kachel b{font-family:"DM Sans","Segoe UI",Arial,sans-serif;letter-spacing:normal}
.eingabe,input,select,textarea{font-size:14px;font-weight:400;color:#33463b}
.eingabe::placeholder,input::placeholder,textarea::placeholder{color:#6b7a66}
.menue button{font-size:14px;font-weight:500;color:#33463b}
.menue button.an{font-weight:600;color:#fff}
.knopf,.knopf.leise{font-size:14px;font-weight:600}
.knopf{color:#33463b}
.knopf.primaer{color:#33463b}
.knopf.leise{color:#5f6f5b}
.leiste h2{font-size:22px;font-weight:600;letter-spacing:normal}
.leiste .kw{color:#6b7a66}
.zeiten div{font-size:13px;font-weight:500;color:#5f6f5b;letter-spacing:normal}
.mini-grid,.mini-grid button{font-size:12px;font-weight:400}
.mini-kopf{font-size:13px}
/* Leistungsarten oberhalb des Kalenders */
.legende .art{font-size:12px;font-weight:500}
/* Termine: Name dunkel und gleich fuer alle Terminarten, Uhrzeit klein darunter */
.termin,.termin.eng{font-size:14px;line-height:1.45}
.termin .n,.termin.eng .n{font-size:14px;font-weight:600;color:#33463b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}
.termin .z,.termin.eng .z{font-size:12px;font-weight:400;color:#5f6f5b;opacity:1}
.termin.eng{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.termin .a{font-size:12px;font-weight:400;color:#5f6f5b}
/* Abgesagt: lesbar bleiben, nur durchgestrichen und mit blasserer Flaeche */
.termin.abgesagt{opacity:1;background:color-mix(in srgb,var(--c) 5%,#fff)}
.termin.abgesagt .n{text-decoration:line-through;color:#5f6f5b}

/* ---------- Ruhigere Kalenderansicht (Vorgabe 28.10.2026) ---------- */
/* Behandler: keine farbigen Spalten, nur Name/Kuerzel mit kleinem Farbpunkt */
.kal-kopf{overflow-x:hidden}
.kal-kopf .zelle.b-kopf{background:#fff;border-top:0}
.kal-kopf .zelle.b-kopf .datum,.kal-kopf .zelle.b-kopf .wtag{color:#33463b}
.kal-kopf .zelle.b-kopf .kuerzel{color:#33463b;background:#fff;border:1px solid var(--line);font-weight:600;padding:1px 7px 1px 6px}
.kal-kopf .zelle.b-kopf .kuerzel::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--b);margin-right:4px;vertical-align:1px}
.spalte.b-spalte{background-color:#fff}
/* Termine: Farbe vor allem am linken Rand, Flaeche nur ein Hauch */
.termin{background:color-mix(in srgb,var(--c) 6%,#fff);border:1px solid color-mix(in srgb,var(--c) 14%,var(--line));box-shadow:inset 3px 0 0 var(--c)}
.termin:hover{background:color-mix(in srgb,var(--c) 10%,#fff)}
/* Heute: kein Rahmen, keine Flaeche ueber den Tag – nur der Kopf leicht aprikot */
.kal-kopf .zelle.heute,.kal-kopf .zelle.heute.heute-l,.kal-kopf .zelle.heute.heute-r,.kal-kopf .zelle.heute.heute-l.heute-r{box-shadow:none;background:#fdf1e7}
.spalte.heute,.spalte.heute.heute-l,.spalte.heute.heute-r,.spalte.heute.heute-l.heute-r{box-shadow:none;background-color:#fff}
.kal-kopf .zelle.heute .datum{color:#c9773f;font-weight:700}
/* Pausen und geschlossene Zeit: helle Flaeche statt Schraffur */
.ausserhalb{background:#f4f5f2}
.ausserhalb .pause-text{position:sticky;top:0;display:inline-block;margin:4px 0 0 8px;font-size:11px;font-weight:500;color:#6b7a66}
/* Groessen bei 100 %: Hauptknoepfe etwa 44 px, Menue kompakter */
#neu-knopf,.knopf.breit{min-height:44px;padding:9px 14px;font-size:14px}
.menue button{padding:6px 10px;font-size:14px}
.seite{gap:8px}
/* Demo-Hinweis als schmale feste Zeile oben statt schwebendem Banner */
body:has(.demo-leiste){display:flex;flex-direction:column;height:100vh;height:100dvh}
body:has(.demo-leiste) .app{flex:1;height:auto;min-height:0}
.demo-leiste{position:static;transform:none;left:auto;bottom:auto;max-width:none;width:100%;border-radius:0;border:0;border-bottom:1px solid #f0cdb3;
  box-shadow:none;padding:5px 16px;font-size:12.5px;justify-content:flex-start;gap:4px 12px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
.demo-branchen{gap:3px}
.demo-branchen a,.demo-zurueck{padding:1px 8px;font-size:12px}
.demo-zurueck{margin-left:auto}
@media (max-width:760px){.demo-leiste{bottom:auto;border-radius:0;font-size:11.5px}}
/* Teamansicht: Uhrzeiten bleiben beim waagerechten Scrollen stehen */
.zeiten{position:sticky;left:0;z-index:4;background:#fff}
.kal-kopf>.zelle:first-child{position:sticky;left:0;z-index:2;background:#fff}
.menue button.an em:not(.zahl){color:#fff;opacity:.85}

/* ---------- Sauberer Hintergrund (29.10.): keine grauen/getoenten Flaechen mehr ---------- */
:root{--surface-2:#ffffff;--halbstunde:#f3f5f1}
.termin{background:#fff;border:1px solid var(--line);box-shadow:inset 4px 0 0 var(--c)}
.termin:hover{background:color-mix(in srgb,var(--c) 5%,#fff);box-shadow:inset 4px 0 0 var(--c),0 4px 14px rgba(40,60,45,.08)}
.termin.abgesagt{background:#fff}
.ausserhalb{background:#f9faf8}
.ausserhalb .pause-text{color:#8a978a}
.zeiten{background:#fff}
.heute-karte{background:#fff;border:1px solid var(--line)}
.legende{background:#fff}
/* Aktiver Menuepunkt im Salbei des Logos statt dunklem Gruen */
.menue button.an{background:#eaf0e6;color:#33463b;font-weight:600;box-shadow:inset 3px 0 0 #8ca282}
.menue button.an span{color:#6f8f66}
.menue button.an em:not(.zahl){color:#6b7a66;opacity:1}
.menue button.an em.zahl{background:#e8a272;color:#33463b}
/* Wirklich weiss (29.10.): auch Pausen, Feiertage, Legende und Blaetter-Knoepfe */
.ausserhalb{background:#fff;border-top:1px dashed #dfe5d9}
.arten button.art[data-art-filter]{background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);font-weight:500}
.arten button.art[data-art-filter].an{background:color-mix(in srgb,var(--c) 8%,#fff);border-color:var(--c);font-weight:600}
#zurueck,#vor{background:#fff;border-color:var(--line);color:#33463b}
#zurueck:hover,#vor:hover{background:#f6f8f4;color:#33463b}
.kal-kopf .zelle.heute,.kal-kopf .zelle.heute.heute-l,.kal-kopf .zelle.heute.heute-r,.kal-kopf .zelle.heute.heute-l.heute-r{background:#fff;box-shadow:inset 0 -3px 0 #e8a272}
/* Terminfenster kompakter (29.10.) */
#f-termin .fenster-inhalt{padding:12px 18px}
#f-termin .feld{margin-bottom:10px;gap:3px}
#f-termin .feld>span{font-size:12.5px}
#f-termin .eingabe{padding:6px 10px;min-height:36px}
#f-termin .chips{gap:5px}
#f-termin .chip{padding:4px 10px 4px 8px;font-size:13px}
#f-termin .fenster-inhalt.zwei{grid-template-columns:minmax(0,1fr) 220px;gap:16px}
#f-person-name.link::after{content:"";display:inline-block;width:14px;height:14px;margin-left:6px;vertical-align:-2px;background:#6f8f66;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") center/contain no-repeat}
/* Terminerinnerung im Terminfenster */
.f-erinnerung>span small{font-weight:400;color:var(--ink-3)}
.erinnerung-zeile{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.schalter-klein{display:inline-flex;gap:6px;align-items:center;font-weight:500;cursor:pointer}
.erinnerung-zeile #f-email{flex:1;min-width:200px;max-width:280px}
/* Reiter Leistungen & Preise rechts abgesetzt */
#rg-reiter .rgr-leistungen{margin-left:auto;font-weight:600}
/* Termine wieder zart eingefaerbt (29.10., Annett): klare Pastellflaeche auf Weiss statt grauem Hauch */
.termin{background:color-mix(in srgb,var(--c) 14%,#fff);border:1px solid color-mix(in srgb,var(--c) 28%,#fff);box-shadow:inset 4px 0 0 var(--c)}
.termin:hover{background:color-mix(in srgb,var(--c) 20%,#fff);box-shadow:inset 4px 0 0 var(--c),0 4px 14px rgba(40,60,45,.08)}
.termin.abgesagt{background:color-mix(in srgb,var(--c) 6%,#fff)}
.arten button.art[data-art-filter]{background:color-mix(in srgb,var(--c) 14%,#fff);border-color:color-mix(in srgb,var(--c) 28%,#fff);border-left:4px solid var(--c)}
.arten button.art[data-art-filter].an{background:color-mix(in srgb,var(--c) 24%,#fff);border-color:var(--c)}
/* Teamansicht: Tag einmal oben, darunter die Behandler */
.kal-kopf .zelle.tag-gruppe{border-left:1px solid #c9d3bf;padding:7px 10px 4px}
.kal-kopf .zelle.tag-gruppe .info{display:inline;margin-left:8px}
.kal-kopf .zelle.tag-gruppe .wtag,.kal-kopf .zelle.tag-gruppe .datum{display:inline;margin-right:6px}
.kal-kopf .zelle.b-sub{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;color:#33463b;border-left:1px solid var(--line-soft);border-top:1px solid var(--line-soft);white-space:nowrap;overflow:hidden}
.kal-kopf .zelle.b-sub.tag-start{border-left:1px solid #c9d3bf}
.kal-kopf .zelle.b-sub i{width:7px;height:7px;border-radius:50%;background:var(--b);flex:none}
.kal-kopf .zelle.b-sub span{overflow:hidden;text-overflow:ellipsis}
.kal-kopf .zelle.b-sub em{margin-left:auto;font-style:normal;color:#6b7a66;font-weight:400}
/* Geschlossene Zeit durchsichtig, damit die Stundenlinien sichtbar bleiben (29.10.) */
.ausserhalb{background:transparent}
