:root{color-scheme:light}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* Zytfenster Design-Tokens · Stand 29. Oktober 2026
   Variablennamen wie in app.css (--bg, --surface, --accent …), neue Tokens ergänzt.
   Hell auf :root, Dunkel per prefers-color-scheme und [data-theme="dark"].
   Kontraste geprüft: alle Texttöne mindestens 4.5:1 auf --bg und --surface, Ränder und Fokus mindestens 3:1. */

@font-face{font-family:Geist;font-weight:100 900;font-style:normal;font-display:swap;src:url(fonts/Geist-Variable.woff2) format("woff2")}
/* Schriften für die Stile der Buchungsseite. Der Browser lädt nur, was ein Stil wirklich braucht. */
@font-face{font-family:Nunito;font-weight:200 1000;font-style:normal;font-display:swap;src:url(fonts/Nunito-Variable.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-weight:200 900;font-style:normal;font-display:swap;src:url(fonts/SourceSerif4-Variable.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/AtkinsonHyperlegible-400.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:500 700;font-style:normal;font-display:swap;src:url(fonts/AtkinsonHyperlegible-700.woff2) format("woff2")}

:root{
  /* Flächen */
  --bg:#f5f4f0;          /* Papier: Seitengrund */
  --surface:#ffffff;     /* Karten, Felder, Dialoge */
  --sunk:#edebe5;        /* vertiefte Fläche: Tabellenkopf, Hover, ruhige Bereiche */
  --line:#dedbd3;        /* Trennlinien, Kartenränder (dekorativ) */
  --line-strong:#878d99; /* Ränder von Feldern, Zeitfeldern, Zweitknöpfen (3:1) */

  /* Text */
  --fg:#141820;          /* Fliesstext, Titel */
  --muted:#545b68;       /* Nebentext, Feldhilfe */
  --muted-2:#656b78;     /* leise Angaben, Platzhalter, «mit zytfenster» */

  /* Marke: Tinte */
  --accent:#1c2a44;      /* Hauptknopf, gewähltes Zeitfeld, Logo */
  --accent-hover:#2a3d60;
  --on-accent:#f5f4f0;   /* Text auf --accent */
  --accent-soft:#e8ebf1; /* Symbolkacheln, ausgewählte Zeile */
  --accent-ink:#1c2a44;  /* Symbole und Text auf --accent-soft */

  /* Licht: der einzige warme Akzent */
  --lit:#f0905e;         /* nur Fläche: Scheibe im Logo, Punkt am nächsten freien Termin. Text darauf: --fg */
  --lit-ink:#a9471f;     /* Links, hervorgehobene Wörter (5.3:1 auf --bg) */
  --lit-soft:#fce9de;    /* Hintergrund neutraler Hinweise */

  /* Status: immer mit Wort oder Symbol */
  --ok:#276b4e;     --ok-soft:#e3f1ea;
  --warn:#8a5710;   --warn-soft:#f8ecd6;
  --danger:#b3261e; --danger-soft:#f9e3e1;

  --focus:#1c2a44;       /* Fokusring 2px solid in Tinte, outline-offset 2px, dazu ein Hof in Licht (M5) */
  --focus-halo:rgba(240,144,94,.45);
  --swiss:#d52b1e;       /* nur Kreuz im Herkunftszeichen */

  /* Schrift: eine Datei, Geist variabel. Gewichte 400, 500, 600 */
  --f-display:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:Geist,system-ui,sans-serif;  /* Uhrzeiten: mit font-variant-numeric:tabular-nums */
  --f-code:ui-monospace,"SF Mono",Menlo,Consolas,monospace;  /* Kurzcode, Einbettungscode */
  --w-regular:400; --w-medium:500; --w-semibold:600;

  /* Schriftgrössen / Zeilenhöhen / Laufweite */
  --t-display:56px;  --lh-display:60px; --ls-display:-0.035em;  /* nur Website */
  --t-h1:40px;       --lh-h1:44px;      --ls-h1:-0.03em;
  --t-h2:28px;       --lh-h2:34px;      --ls-h2:-0.02em;
  --t-h3:20px;       --lh-h3:28px;      --ls-h3:-0.01em;
  --t-lead:18px;     --lh-lead:28px;
  --t-body:16px;     --lh-body:24px;
  --t-small:14px;    --lh-small:20px;   /* Verwaltung, Tabellen, Label (500) */
  --t-caption:12px;  --lh-caption:16px; --ls-caption:0.02em; /* kleinste Stufe */
  --t-time:15px;     --lh-time:20px;    /* Zeitfelder, 500, tabular-nums */

  /* Abstände, 4px-Raster */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px; --s-8:32px; --s-12:48px; --s-16:64px; --s-24:96px;

  /* Radien */
  --r-s:6px;      /* Chips, Markierungen */
  --r:10px;       /* Knöpfe, Felder, Zeitfelder (bisher 6px) */
  --r-l:16px;     /* Karten, Dialoge, Buchungskarte */
  --r-pill:999px; /* Herkunftszeichen, Pillen */

  /* Höhen */
  --h-s:36px; --h-m:44px; --h-l:52px;  /* 44px = Mindestgrösse zum Tippen */
  /* v52: Design-Audit */
  --t-page:32px; --lh-page:38px; --t-code:13px; --r-m:12px; --pad-card:24px; --inset:#efede7;

  /* Schatten: sparsam, Ränder trennen */
  --shadow-1:0 1px 2px rgba(20,24,32,.06);
  --shadow-2:0 12px 32px rgba(20,24,32,.12);  /* schwebendes Buchungsfenster, Dialoge */

  /* Logo-Farben (für das Inline-SVG in der Kopfzeile) */
  --zf-ink:#1c2a44; --zf-ground:#f5f4f0; --zf-lit:#f0905e;
}

@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --inset:#22304d; --bg:#0f1626; --surface:#172238; --sunk:#0a101d; --line:#253250; --line-strong:#6b7891;
  --fg:#eceae4; --muted:#a3abba; --muted-2:#8590a3;
  --accent:#e6e3dc; --accent-hover:#ffffff; --on-accent:#1c2a44; --accent-soft:#1f2c47; --accent-ink:#c9d2e3;
  --lit:#f4a27a; --lit-ink:#f4a27a; --lit-soft:#3a2a24;
  --ok:#6fcf9e; --ok-soft:#16352a; --warn:#f2c26b; --warn-soft:#3a2e14; --danger:#ff8a80; --danger-soft:#3d1c1a;
  --focus:#eceae4; --focus-halo:rgba(244,162,122,.5);
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 12px 32px rgba(0,0,0,.5);
  --zf-ink:#f5f4f0; --zf-ground:#1c2a44;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --inset:#22304d; --bg:#0f1626; --surface:#172238; --sunk:#0a101d; --line:#253250; --line-strong:#6b7891;
  --fg:#eceae4; --muted:#a3abba; --muted-2:#8590a3;
  --accent:#e6e3dc; --accent-hover:#ffffff; --on-accent:#1c2a44; --accent-soft:#1f2c47; --accent-ink:#c9d2e3;
  --lit:#f4a27a; --lit-ink:#f4a27a; --lit-soft:#3a2a24;
  --ok:#6fcf9e; --ok-soft:#16352a; --warn:#f2c26b; --warn-soft:#3a2e14; --danger:#ff8a80; --danger-soft:#3d1c1a;
  --focus:#eceae4; --focus-halo:rgba(244,162,122,.5);
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 12px 32px rgba(0,0,0,.5);
  --zf-ink:#f5f4f0; --zf-ground:#1c2a44;
  color-scheme:dark}

/* Buchungsseite der Kundschaft: neutrale Grautöne, Zytfenster tritt zurück.
   Klasse auf <html> oder dem Buchungs-Container setzen. --accent setzt weiterhin das Kunden-Branding (.branded).
   Ohne eigene Farbe gilt Tinte #1c2a44 als Standard. Nur hell, ausser die Praxis wählt Dunkel. */
.zf-buchung{
  --bg:#f7f7f7; --surface:#ffffff; --sunk:#efefef; --line:#dddddd; --line-strong:#8c8c8c;
  --fg:#1a1a1a; --muted:#595959; --muted-2:#6b6b6b;
  --accent:#1c2a44; --accent-hover:#2a3d60; --on-accent:#ffffff;
  --accent-soft:#e8ebf1; --accent-ink:#1c2a44;
  --lit-ink:var(--accent-ink);  /* Links auf der Buchungsseite in der Farbe der Praxis */
  --focus:var(--accent-ink);    /* Fokusring in der Farbe der Praxis, kontrastsichere Variante */
  --focus-halo:color-mix(in srgb,var(--accent-ink) 22%,transparent);
  color-scheme:light;
}
.ico{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.svc .ico-box{width:40px;height:40px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.privacy li{list-style:none;display:flex;gap:8px;align-items:flex-start}
.privacy li .ico{width:18px;height:18px;color:var(--ok);margin-top:1px}
.privacy ul{padding-left:0!important}
.cal-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;display:flex;flex-direction:column;gap:10px;max-width:460px;box-shadow:var(--shadow-1)}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cal-head b{font-family:var(--f-display);font-weight:600;font-size:var(--t-lead);letter-spacing:var(--ls-h3)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cw{font-size:var(--t-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding-bottom:2px}
.cd{position:relative;height:var(--h-m);border:1px solid transparent;border-radius:var(--r-s);background:var(--sunk);cursor:pointer;font-variant-numeric:tabular-nums;font-weight:600}
.cd:hover:not(:disabled){border-color:var(--accent)}
.cd:disabled{background:transparent;color:var(--muted);font-weight:400;cursor:default;opacity:.55}
.cd i{position:absolute;left:50%;bottom:5px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent)}
.cd[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.cd[aria-pressed="true"] i{background:var(--on-accent)}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--t-body);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased}
b,strong{font-weight:600}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15}
h2{font-size:var(--t-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:600}
h3{font-size:var(--t-lead);line-height:var(--lh-lead);font-weight:600}
p{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.small{font-size:var(--t-small);line-height:var(--lh-small)}

header.top{border-bottom:1px solid var(--line);background:var(--surface)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px}
.brand b{font-family:var(--f-display);font-weight:600;font-size:1.4rem;letter-spacing:-.01em}
.tag{font-size:var(--t-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 8px}
nav.tabs{display:flex;background:var(--sunk);border-radius:var(--r-pill);padding:4px;gap:4px}
nav.tabs a{padding:6px 14px;border-radius:var(--r-pill);text-decoration:none;color:var(--muted);font-weight:500;font-size:.9rem}
nav.tabs a[aria-current="page"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}

.hours{display:flex;flex-direction:column;gap:6px}
.hrow{display:grid;grid-template-columns:140px repeat(3,max-content);gap:8px 16px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.hrow.off .hr select{color:var(--muted);background:var(--sunk,#f6f5f2)}
.hr{display:flex;align-items:center;gap:6px}
.hr select{width:auto;padding:6px 8px}
@media (max-width:900px){.hrow{grid-template-columns:140px max-content}.hrow .hr:nth-child(n+3){grid-column:2}}
@media (max-width:640px){.hrow{grid-template-columns:1fr}.hrow .hr:nth-child(n+3){grid-column:auto}}
.demo-bar{background:var(--accent-soft);font-size:.85rem}
.demo-bar .wrap{padding-block:8px}
.demo-bar b{color:var(--accent)}
main{padding-block:28px 64px}
.intro{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}
.intro h1{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:600}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
@media (max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}}
.steps{display:flex;flex-direction:column;gap:28px}
.step{display:flex;flex-direction:column;gap:14px}
.step-head{display:flex;align-items:center;gap:10px}
.num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:.85rem;background:var(--sunk);color:var(--muted);flex:none}
.step.done .num{background:var(--accent);color:var(--on-accent)}

.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.svc{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.svc:hover{border-color:var(--accent)}
.svc[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}
.svc .meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.photo-hint{font-size:var(--t-caption);font-weight:500;color:var(--accent-ink)}

.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.day{flex:none;min-width:86px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}
.day .wd{font-size:var(--t-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.day .dt{font-family:var(--f-display);font-weight:600;font-size:var(--t-lead);font-variant-numeric:tabular-nums}
.day .free{font-size:var(--t-caption);color:var(--ok)}
.day[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.day:disabled{opacity:.5;cursor:not-allowed}
.day:disabled .free{color:var(--muted)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.slot{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);min-height:var(--h-m);padding:9px 6px;cursor:pointer;font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:var(--t-time);line-height:var(--lh-time);font-weight:500}
.slot:hover{border-color:var(--accent)}
.slot[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.slot-group{display:flex;flex-direction:column;gap:8px}
.empty{padding:14px;border:1px dashed var(--line);border-radius:var(--r-l);color:var(--muted);font-size:.92rem}

form.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){form.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field.full{grid-column:1/-1}
label{font-weight:500;font-size:var(--t-small);line-height:var(--lh-small)}
label .opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=number],input[type=password],input[type=date],input[type=email],input[type=tel],input[type=time],textarea,select{min-height:var(--h-m);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;width:100%}
textarea{min-height:84px;resize:vertical}
.drop{border:1.5px dashed var(--line);border-radius:var(--r-l);padding:18px;display:flex;gap:14px;align-items:center;background:var(--surface);cursor:pointer;flex-wrap:wrap}
.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.drop img{width:88px;height:88px;object-fit:cover;border-radius:var(--r)}
.drop .txt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;font-weight:400}
.hrow .check{font-weight:500}
.check input{margin-top:4px;width:18px;height:18px;flex:none}
.err{color:var(--danger);font-size:.85rem}
.btn{background:var(--accent);color:var(--on-accent);border:0;border-radius:var(--r);min-height:var(--h-m);padding:10px 18px;font-weight:500;line-height:var(--lh-small);cursor:pointer}
.btn:hover:not(:disabled){background:var(--accent-hover)}
:root.branded .btn:hover:not(:disabled){background:var(--accent);filter:brightness(.92)}
.btn.lg{min-height:var(--h-l);font-size:var(--t-body)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line-strong)}
.btn.ghost:hover:not(:disabled){background:var(--sunk)}
.btn.danger{background:var(--danger);color:var(--bg)}
.btn.danger:hover:not(:disabled){background:var(--danger);filter:brightness(.92)}
.btn.sm{min-height:var(--h-s);padding:6px 12px;font-size:var(--t-small)}

aside.summary{position:sticky;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-1)}
@media (min-width:861px){aside.summary{margin-top:42px}}
dl.kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.92rem}
dl.kv dt{color:var(--muted)}
dl.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.privacy{background:var(--ok-soft);border-radius:var(--r);padding:12px;font-size:.85rem;display:flex;flex-direction:column;gap:6px}
.privacy b{color:var(--ok)}
.privacy ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}

.confirm{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:16px;max-width:680px;box-shadow:var(--shadow-1)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;border-radius:var(--r-pill);padding:3px 10px}
.badge.ok{background:var(--ok-soft);color:var(--ok)}
.badge.no{background:var(--danger-soft);color:var(--danger)}
.badge.ex{background:var(--sunk);color:var(--muted)}
.mail{background:var(--sunk);border-radius:var(--r);padding:16px;font-size:.92rem;display:flex;flex-direction:column;gap:10px;white-space:pre-line}
.mail .subj{font-weight:600;white-space:normal}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
@media (max-width:560px){.stats{grid-template-columns:1fr}}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;box-shadow:var(--shadow-1)}
.stat .v{font-family:var(--f-display);font-size:var(--t-h3);line-height:var(--lh-h3);font-weight:600;font-variant-numeric:tabular-nums}
.list{display:flex;flex-direction:column;gap:10px}
.row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:var(--shadow-1)}
.row.cancelled{background:var(--sunk,#f6f5f2)}.row.cancelled .who>div:first-child>b{text-decoration:line-through;text-decoration-thickness:1px}
@media (max-width:640px){.row{grid-template-columns:minmax(0,1fr)}}
.when{font-variant-numeric:tabular-nums}
.when .d{font-weight:600}
.who{display:flex;flex-direction:column;gap:3px;min-width:0}
.who .email{overflow-wrap:anywhere}
.row-photo{display:flex;align-items:center;gap:10px}
.thumb{width:56px;height:56px;border-radius:var(--r);object-fit:cover;cursor:zoom-in;border:1px solid var(--line);background:var(--sunk);padding:0}
.thumb img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--r) - 1px);display:block}
.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
@media (max-width:760px){.panels{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:var(--shadow-1)}
pre.code{background:var(--sunk);border-radius:var(--r);padding:12px 14px;font-family:var(--f-code);font-size:.8rem;line-height:1.6;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all}
.code-row{display:flex;flex-direction:column;gap:6px}
.code-row .h{display:flex;justify-content:space-between;align-items:center;gap:8px}
dialog{border:0;box-shadow:var(--shadow-2);border-radius:var(--r-l);padding:0;background:var(--surface);color:var(--fg);max-width:min(92vw,720px)}
dialog::backdrop{background:rgba(20,24,32,.55)}
dialog img{display:block;max-width:100%;max-height:75vh}
dialog .bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;gap:10px}
.note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
@media (prefers-reduced-motion:no-preference){.slot,.svc,.day{transition:border-color .15s,background .15s}}
/* ---------- Echte Version ---------- */
header.top nav#nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.navlink{background:none;border:0;padding:6px 10px;border-radius:var(--r-s);color:var(--muted);font-weight:500;font-size:.9rem;text-decoration:none;cursor:pointer}
.navlink:hover{color:var(--fg);background:var(--sunk)}
.linkbtn{background:none;border:0;padding:0;color:var(--lit-ink);font-weight:500;cursor:pointer;text-decoration:underline;font-size:inherit}
.subtabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:22px}
.subtabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:-1px}
.subtabs button.on{color:var(--fg);border-bottom-color:var(--accent)}
.svc-edit.off{opacity:.65}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.svc-grid .field.full{grid-column:1/-1}
.savebar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px}
.mail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
details{border-top:1px solid var(--line);padding-top:10px}
details summary{cursor:pointer;font-weight:500;font-size:.9rem}
.help{display:flex;flex-direction:column;gap:8px;font-size:.88rem;margin-top:10px;max-width:70ch}
.cancel-box{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
input[type=password]{min-height:var(--h-m);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;width:100%}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:var(--r);font-size:.9rem;max-width:min(92vw,560px);z-index:50;box-shadow:var(--shadow-2)}
.toast.bad{background:var(--danger);color:var(--bg)}
.foot{color:var(--muted-2);font-size:var(--t-caption);line-height:var(--lh-caption);padding-block:0 32px}
.origin{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--t-caption);font-weight:500;line-height:var(--lh-caption)}
.origin svg{width:14px;height:14px;flex:none}
body.embed header.top,body.embed .foot{display:none}
body.embed main{padding-block:8px 16px}
a{color:var(--lit-ink)}
.welcome{display:flex;flex-direction:column;gap:18px;max-width:720px}
.welcome .intro h1{font-size:clamp(var(--t-h2),5vw,var(--t-h1));line-height:1.1;letter-spacing:var(--ls-h1)}
.lead{font-size:var(--t-lead);line-height:var(--lh-lead);max-width:58ch;color:var(--fg)}
.hello{background:var(--ok-soft);border-color:transparent}
.addcal{display:flex;flex-direction:column;gap:8px;background:var(--accent-soft);border-radius:var(--r);padding:14px}
a.btn{text-decoration:none;display:inline-block}
.btn.ghost{color:var(--fg)}
.note-text{white-space:pre-line;border-left:2px solid var(--line);padding-left:8px;color:var(--fg)}
a.brand{text-decoration:none;color:var(--fg)}
.linkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--accent-soft);border-radius:var(--r);padding:10px 14px;margin:-8px 0 20px}
.linkbar a{overflow-wrap:anywhere;font-weight:500;color:var(--lit-ink)}
header.top .btn.sm{padding:6px 12px}
.svc-hours{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.ablist{display:flex;flex-direction:column;gap:10px}
.abrow{display:grid;grid-template-columns:160px 160px minmax(0,1fr) auto;gap:10px;align-items:end}
@media (max-width:640px){.abrow{grid-template-columns:1fr 1fr}.abrow .field:nth-child(3){grid-column:1/-1}}
input[type=date]{min-height:var(--h-m);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:9px 10px;width:100%}
.faq{display:flex;flex-direction:column;gap:26px;max-width:760px}
.faq section{display:flex;flex-direction:column;gap:4px}
.faq h2{margin-bottom:6px}
.faq details{border-top:1px solid var(--line);padding:10px 0}
.faq details p{margin-top:8px;max-width:68ch}
.legal h3{margin-top:6px}
.legal p{max-width:68ch}
.danger-zone{border-color:var(--danger-soft)}
.danger-zone h3{color:var(--danger)}
/* Branding der Anbieterin */
:root.branded{--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--accent-ink:var(--bi-l)}
@media (prefers-color-scheme: dark){:root.branded:not([data-theme="light"]){--accent-ink:var(--bi-d);--accent-soft:color-mix(in srgb,var(--accent) 22%,var(--surface))}}
:root.branded[data-theme="dark"]{--accent-ink:var(--bi-d);--accent-soft:color-mix(in srgb,var(--accent) 22%,var(--surface))}
a.brand img{display:block;max-height:40px;max-width:220px;width:auto}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.sw.on{box-shadow:0 0 0 2px var(--fg)}
.color-row{display:flex;gap:8px;align-items:center}
.color-row input[type=color]{width:48px;height:40px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:2px;cursor:pointer}
.color-row input[type=text]{width:120px;font-family:var(--f-code)}
.logo-box{min-height:72px;display:flex;align-items:center;justify-content:center;background:var(--sunk);border-radius:var(--r);padding:12px}
.logo-box img{max-height:60px;max-width:100%}
.preview{font-family:var(--f-body);font-size:var(--t-body);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:#f7f7f7;color:#1a1a1a;--bg:#f7f7f7;--surface:#fff;--line:#ddd;--line-strong:#8c8c8c;--sunk:#efefef;--muted:#595959;--muted-2:#6b6b6b;--fg:#1a1a1a}
.pv-head{background:#fff;border-bottom:1px solid #ddd;padding:12px 16px}
.pv-head img{max-height:36px;display:block}
.pv-body{padding:16px;display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.preview a{color:var(--accent-ink)}
.preview .zf-by .p{fill:#f7f7f7}
.seg{display:inline-flex;background:var(--sunk);border-radius:var(--r-pill);padding:4px;gap:4px;align-self:flex-start}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:6px 18px;border-radius:var(--r-pill);font-weight:500;color:var(--muted)}
.seg input:checked+span{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.seg input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}

/* ---------- v15 ---------- */
.subseg{margin:-4px 0 18px;flex-wrap:wrap}
.panel .subseg{margin:0}
.ob{margin-bottom:20px;border-color:var(--accent)}
.obbar{height:6px;border-radius:var(--r-pill);background:var(--sunk);overflow:hidden}
.obbar i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .3s}
.oblist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.obitem{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;padding:8px;border-radius:var(--r);color:inherit;font:inherit;cursor:pointer}
.obitem:hover{background:var(--sunk)}
.obitem>span:last-child{display:flex;flex-direction:column;gap:2px}
.obcheck{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.8rem;font-weight:500}
.oblist li.ok .obcheck{background:var(--ok);border-color:var(--ok);color:var(--bg)}
.oblist li.ok b{text-decoration:line-through;color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;color:var(--lit-ink);text-decoration:underline;cursor:pointer;font:inherit}
details.more{border-top:1px solid var(--line);padding-top:10px}
details.more>summary{cursor:pointer;font-weight:500;display:flex;gap:6px;flex-wrap:wrap;align-items:center;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::before{content:'▸';display:inline-block;transition:transform .15s}
details.more[open]>summary::before{transform:rotate(90deg)}
.more-body{display:flex;flex-direction:column;gap:14px;padding-top:12px}
.svc-q{display:flex;flex-direction:column;gap:6px}
.qrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.warnbar{margin:0 0 20px}
.share-prev{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px;border:1px dashed var(--line);border-radius:var(--r)}
ol.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.seg button{border:0;background:none;font:inherit;font-weight:500;color:var(--muted);padding:6px 18px;border-radius:var(--r-pill);cursor:pointer}
.seg button.on{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.seg button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:560px){.seg button{padding:6px 12px}}
@media (max-width:560px){.subtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.subtabs::-webkit-scrollbar{display:none}.subtabs button{flex:none}}
.pv-body{gap:20px;padding:20px}
.pv-body .pv-svc{pointer-events:none;width:220px;flex:none}
.pv-col{display:flex;flex-direction:column;gap:12px;flex:1;min-width:240px;pointer-events:none}
.pv-slots{grid-template-columns:repeat(3,minmax(84px,110px))}
@media (max-width:560px){.pv-body .pv-svc{width:100%}}
.cal-list{display:flex;flex-direction:column;gap:12px}
.cal-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:10px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cal-row .field{margin:0}
.cal-state{display:flex;gap:8px;align-items:center;min-height:42px}
.cal-msg{grid-column:1/-1;margin:-4px 0 0}
@media (max-width:640px){.cal-row{grid-template-columns:1fr}.cal-state{min-height:0}}

/* Installations-Assistent */
.install{display:flex;flex-direction:column;gap:20px;max-width:640px}
.ins-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ins-row{display:flex;gap:12px;align-items:flex-start}
.ins-mark{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px}
.ins-row.ok .ins-mark{background:var(--ok-soft);color:var(--ok)}
.ins-row.warn .ins-mark{background:var(--warn-soft);color:var(--warn)}
.ins-row.no .ins-mark{background:var(--danger-soft);color:var(--danger)}
.ins-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
/* Buchungsseite: Name der Praxis statt Zytfenster-Logo; bis die Daten da sind, bleibt der Platz leer */
.zf-buchung .brand .zf-logo{visibility:hidden}
.brand-name{font-weight:600;font-size:var(--t-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);color:var(--fg)}
/* Logo in Kopf- und Fusszeile (Farben: --zf-ink, --zf-ground, --zf-lit in den Tokens) */
.brand .zf-logo{display:inline-flex;align-items:center;gap:10px;color:var(--zf-ink)}
.zf-mark{width:30px;height:30px;flex:none;display:block}
.zf-mark .t{fill:var(--zf-ink)}.zf-mark .p{fill:var(--zf-ground)}.zf-mark .l{fill:var(--zf-lit)}
.zf-word{font-family:var(--f-display);font-weight:600;font-size:1.5rem;letter-spacing:-.035em;line-height:1;padding-bottom:2px}
.zf-by{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;vertical-align:-2px}
.zf-by svg{width:16px;height:16px;flex:none}
.zf-by .t{fill:currentColor}.zf-by .p{fill:var(--bg)}
.zf-by b{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em}

.demo-hint,.demo-done{background:var(--lit-soft,#fbe9df);color:var(--fg);border-radius:var(--r,10px);padding:10px 14px;font-size:.95rem;margin:6px 0 0}

.svc-links{margin-top:14px}.svc-links summary{cursor:pointer;font-weight:500;color:var(--lit-ink)}.svc-links[open] summary{margin-bottom:8px}.svc-links .code-row{margin-top:10px}

input[type=checkbox],input[type=radio]{accent-color:var(--accent)}

.icon-pick{border:0;padding:0;margin:0;min-width:0}
.icon-pick legend{font-weight:500;font-size:.9rem;padding:0;margin-bottom:6px}
.icon-opts{display:flex;gap:6px;flex-wrap:wrap}
.icon-opt{position:relative;cursor:pointer}
.icon-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.icon-opt span:first-of-type{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-strong,#ccc);border-radius:var(--r,10px);background:var(--surface,#fff);color:var(--muted)}
.icon-opt input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink,var(--accent));box-shadow:0 0 0 1px var(--accent)}
.icon-opt input:focus-visible+span{outline:2px solid var(--focus,var(--accent));outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.mail-prev{border:1px solid var(--line);border-radius:var(--r,10px);background:var(--surface,#fff);overflow:hidden;font-size:.95rem}
.mail-prev dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--sunk,#f6f5f2)}
.mail-prev dt{color:var(--muted)}.mail-prev dd{margin:0;overflow-wrap:anywhere}
.mail-body{white-space:pre-wrap;padding:16px;line-height:1.55;overflow-wrap:anywhere}
.mail-att{padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;display:flex;gap:6px;align-items:center}
.mail-att .ico{width:16px;height:16px}
/* Demo: Bildschirm und E-Mail klar getrennt */
.mail-demo{margin-top:12px;padding-top:24px;border-top:2px dashed var(--line);display:flex;flex-direction:column;gap:8px}
.mail-demo h2{display:flex;align-items:center;gap:8px}
.mail-demo h2 .ico{width:22px;height:22px}
.mail-prev{box-shadow:0 6px 18px rgba(20,24,32,.08)}
.mail-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#e9e7e2;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.mail-bar i{width:10px;height:10px;border-radius:50%;background:#cfccc5}
.mail-bar span{margin-left:8px}
/* Barrierefreiheit */
.svc-name{font-family:var(--f-display);font-size:var(--t-lead);line-height:var(--lh-lead);font-weight:600}
.toast-x{background:none;border:0;color:inherit;font-size:1.3rem;line-height:1;margin-left:10px;cursor:pointer;padding:2px 6px}
.toast{display:flex;align-items:center}
.toast[hidden]{display:none}
.drop .err,.field .err{display:block}
pre.code:focus-visible{outline:2px solid var(--focus,#a9471f);outline-offset:2px}
.slot{position:relative}
@media (forced-colors:active){
  .svc[aria-pressed="true"],.cd[aria-pressed="true"],.slot[aria-pressed="true"],.subtabs [aria-current],.seg [aria-current],.seg [aria-pressed="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .btn{border:1px solid ButtonText}
  .cd i{background:CanvasText}
}
.legal h2{margin-top:10px}
.legal ul{max-width:68ch;padding-left:1.2em;margin:0;display:flex;flex-direction:column;gap:4px}
/* Anmeldung und Fusszeile der Verwaltung */
.login-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;margin-top:40px}
.login-intro{display:flex;flex-direction:column;gap:14px;padding-top:12px}
.login-intro h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.login-intro .eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.login-wrap #li-f{max-width:none;margin:0}
.login-wrap #li-f h2{font-size:1.4rem}
@media (max-width:760px){.login-wrap{grid-template-columns:1fr;gap:20px;margin-top:20px}}
.opfoot{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.opfoot a{color:inherit}
/* v50: Sprache als kleines Menü, öffnet nach oben */
.ui-lang,details.ui-lang{position:relative;margin-left:auto;border:0;padding:0}
.ui-lang>summary{min-height:34px;font-size:inherit;font-weight:400;justify-content:flex-start;display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 8px;color:inherit;min-height:32px}
.ui-lang summary::-webkit-details-marker{display:none}
.ui-lang>summary::after{display:none}
.ui-lang summary:hover{border-color:var(--line-strong)}
.ui-lang summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ui-lang summary .chev{width:14px;height:14px;transition:transform .15s}
.ui-lang[open] summary .chev{transform:rotate(180deg)}
.ui-lang-l{position:absolute;bottom:calc(100% + 2px);right:0;min-width:150px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;display:flex;flex-direction:column;z-index:20}
.ui-lang-l a{padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--fg)}
.ui-lang-l a:hover{background:var(--sunk)}
.ui-lang-l [aria-current]{font-weight:600}
/* v50: Fusszeile der Verwaltung am unteren Fensterrand */
body.adm{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body.adm main.wrap{flex:1 0 auto}
body.adm .foot{flex:none}
.foot:has(.opfoot){margin-top:56px;padding-top:20px;border-top:1px solid var(--line)}
/* Terminliste nach Tagen */
.list .day-head{font-size:var(--t-body,1rem);font-weight:600;margin:14px 0 0;color:var(--fg)}
.list .day-head:first-child{margin-top:0}
.row{grid-template-columns:110px minmax(0,1fr) auto}
.when .d{font-size:1.05rem}
@media (max-width:640px){.row{grid-template-columns:minmax(0,1fr)}}
/* Angebote in weiteren Sprachen */
.svc-tr{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.svc-tr .tr-lang{border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.svc-tr .tr-lang summary{cursor:pointer;font-weight:600;font-size:.92rem}
.svc-tr .tr-lang[open] summary{margin-bottom:10px}
.tz-row{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:6px 20px;align-items:end;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.tz-row .small{margin:0 0 10px}
@media (max-width:640px){.tz-row{grid-template-columns:1fr}}
.tz-note{margin:6px 0 0}
.ico-none{display:inline-flex;width:24px;justify-content:center;font-weight:600;color:var(--muted)}

.tz-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 4px}
.tz-switch .seg button{padding:6px 14px}
.place-pick{border:0;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:8px}
.place-pick legend{font-weight:600;margin-bottom:8px;padding:0}
.place-opts{display:flex;flex-direction:column;gap:8px;max-width:640px}
.place{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;cursor:pointer;font:inherit;color:inherit}
.place>span:last-child{display:flex;flex-direction:column;gap:2px;padding-top:5px}
.place:hover{border-color:var(--accent)}
.place:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.place input{margin:9px 0 0;accent-color:var(--accent);width:18px;height:18px;flex:none}
.place:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.place .ico-box{flex:none;width:32px;height:32px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.place .ico-box svg{width:18px;height:18px}
.places-edit{display:flex;flex-direction:column;gap:12px}
.pl-row{display:grid;grid-template-columns:32px 140px 1fr 1.4fr auto;gap:10px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.pl-row .ico-box{width:32px;height:32px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;align-self:center}
.pl-row .ico-box svg{width:18px;height:18px}
.pl-row p.pl-d{margin:0 0 10px}
@media (max-width:760px){.pl-row{grid-template-columns:32px 1fr}.pl-row .field,.pl-row p.pl-d{grid-column:2}.pl-row button{grid-column:2;justify-self:start}}
.svc-pl{border:0;padding:0;margin:0}.svc-pl legend{font-weight:600;font-size:.9rem;margin-bottom:6px;padding:0}
.svc-pl-opts{display:flex;flex-wrap:wrap;gap:6px 18px}
.move-box{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;background:var(--sunk);border-radius:var(--r);padding:14px;margin-top:4px}
.move-box .mv-f{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.mv-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);padding:6px 12px;font:inherit;font-size:.88rem;cursor:pointer;color:inherit}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.move-info{grid-column:1/-1;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}
.ask-box{background:var(--sunk);border-radius:var(--r);padding:12px 14px}.ask-box p{margin:0}.ask-box p+p{margin-top:6px}
.sug-box{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border:1px solid var(--accent);border-radius:var(--r);padding:12px 14px}
.mv-row input[type=date],.mv-row select{width:auto;flex:0 1 220px;min-width:160px}
/* Stile der Buchungsseite */
.st-weich{--f-display:Nunito,system-ui,sans-serif;--f-body:Nunito,system-ui,sans-serif;--f-mono:Nunito,system-ui,sans-serif;--r:14px;--r-l:22px}
.st-klassisch{--f-display:"Source Serif 4",Georgia,serif;--r:6px;--r-l:8px}
.st-lesbar{--f-display:"Atkinson Hyperlegible",system-ui,sans-serif;--f-body:"Atkinson Hyperlegible",system-ui,sans-serif;--f-mono:"Atkinson Hyperlegible",system-ui,sans-serif;--t-body:17px;--lh-body:26px;--t-time:16px}
.style-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.style-opt{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r);padding:12px;cursor:pointer;font:inherit;color:inherit}
.style-opt[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.style-opt .aa{font-size:1.5rem;line-height:1.2;font-family:var(--f-display);font-weight:600}
.style-opt.st-weich .aa{border-radius:0}
.st-weich h1,.st-weich h2,.st-weich h3,.st-weich .svc-name,.st-weich .style-opt .aa,.style-opt.st-weich .aa{font-weight:750}
.zoom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.zoom-grid{grid-template-columns:1fr}}
.zoom-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.zoom-steps code{font-family:var(--f-code);font-size:.85em;background:var(--sunk);padding:1px 4px;border-radius:4px}
.zoom-edit{display:flex;flex-direction:column;gap:12px}
.svc-places{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.8rem;color:var(--muted)}
.svc-places span{display:inline-flex;align-items:center;gap:4px}
.svc-places svg{width:14px;height:14px}
.svc-card.panel{padding:0;gap:0}
.svc-sum{display:flex;gap:12px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none}
.svc-sum::-webkit-details-marker{display:none}
.svc-sum .ico-box{width:36px;height:36px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;flex:none}
.svc-sum .ico-box:empty{background:var(--sunk)}
.svc-sum-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.svc-sum-edit{color:var(--accent-ink);text-decoration:underline;white-space:nowrap}
.svc-sum-edit::before{content:"▸ "}
details[open]>.svc-sum .svc-sum-edit{visibility:hidden}
details[open]>.svc-sum{border-bottom:1px solid var(--line)}
.svc-body{display:flex;flex-direction:column;gap:14px;padding:16px 18px 18px}
.svc-sum:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--r-l)}
.pl-row{grid-template-columns:32px 140px 1fr 1.4fr auto}
.pl-act{display:flex;gap:6px}
@media (max-width:760px){.pl-row .pl-act{grid-column:2}}
.svc-sum-m{display:flex;flex-wrap:wrap;gap:2px 12px}
.pl-row .pl-h{grid-column:3/5}
@media (max-width:760px){.pl-row .pl-h{grid-column:2}}
/* v42: Termin eintragen, Nachricht bei der Absage, Buchen-Knopf mit Tag und Zeit, Handy kompakter */
.demo-hint p{margin:0}.demo-hint p+p{margin-top:6px}
.btn.book-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-top:8px;padding-bottom:8px}
.btn-sub{font-size:.85rem;font-weight:500;opacity:.92}
.new-box{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.new-box h3{margin:0}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.actions{align-items:flex-start}
.cancel-box .c-msg{width:min(100%,340px);align-self:flex-end}
.cancel-box .c-msg textarea{width:100%}
@media (max-width:640px){.cancel-box{align-items:stretch}.cancel-box .c-msg{width:100%}}
@media (max-width:560px){
  .services{gap:8px}
  .svc{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:2px;padding:12px}
  .svc>*{grid-column:2}
  .svc>.ico-box{grid-column:1;grid-row:1 / span 4;width:32px;height:32px}
  .svc>.ico-box svg{width:18px;height:18px}
  .svc .svc-name{font-size:1.05rem}
  .btn.book-btn{width:100%}
  /* Verwaltung: Termine schneller sichtbar */
  .lb-booking{display:none}
  .subtabs{flex-wrap:wrap;overflow-x:visible}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}
  .stats .stat{padding:8px 10px}
  .stats .stat .v{font-size:1.05rem!important;padding-top:2px!important}
  .stats .stat .small{font-size:.72rem;line-height:1.25}
}
/* v43: Updates */
.upd{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.upd h3,.upd h4,.upd p{margin:0}
.upd-new{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:var(--accent-soft)}
.upd-new ul,.upd-block ul{margin:0;padding-left:20px}
.upd-block{display:flex;flex-direction:column;gap:6px;background:var(--sunk);border-radius:var(--r);padding:10px 14px}
.upd-bar{margin:0 0 16px}

/* =================================================================
   v44: Redesign nach dem Design-Audit v43
   ================================================================= */
:root{--btn2:#ebe8e1;--btn2-hover:#e1ddd4;--side:#efede8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--btn2:#24314d;--btn2-hover:#2d3b5a;--side:#121b2e}}
:root[data-theme="dark"]{--btn2:#24314d;--btn2-hover:#2d3b5a;--side:#121b2e}
.zf-buchung{--btn2:#ececec;--btn2-hover:#e2e2e2}

/* Knöpfe in drei Stufen: Haupt (Tinte), Zweit (ruhig gefüllt), Text. Gefahr nur beim Bestätigen. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn .ico{width:18px;height:18px}
.btn.ghost{background:var(--btn2);border:1px solid transparent;color:var(--fg)}
.btn.ghost:hover:not(:disabled){background:var(--btn2-hover)}
.btn.danger{color:#fff}
.linkbtn{color:var(--fg);text-underline-offset:3px;text-decoration-thickness:1px}
.ibtn{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r);background:transparent;color:var(--fg);cursor:pointer;padding:0;flex:none}
.ibtn:hover{background:var(--sunk)}
.ibtn .ico{width:20px;height:20px}
.ibtn.btn-like{background:var(--btn2)}
.ibtn.btn-like:hover{background:var(--btn2-hover)}

/* Fehler am Feld (M6): roter Rand, Symbol und Text */
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}
.err:not(:empty){display:flex;gap:6px;align-items:flex-start;color:var(--danger);font-size:var(--t-small);line-height:var(--lh-small)}
.err:not(:empty)::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%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='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.err.field.full::before,.toast .err::before{display:none}

/* Marken für den Status: ein Punkt und ein Wort (H6) */
.mks{display:inline-flex;flex-wrap:wrap;gap:4px 14px}
.mk{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-small);line-height:var(--lh-small);color:var(--fg);white-space:nowrap}
.mk::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.mk-lit::before{background:var(--lit)}.mk-no::before{background:var(--danger)}.mk-warn::before{background:var(--warn)}.mk-brown::before{background:#8a5a3c}.mk-ok::before{background:var(--ok)}
.mk-ex::before{background:transparent;border:1.5px solid var(--muted);width:7px;height:7px}
.lit-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--lit);color:#141820;font-size:var(--t-caption);font-weight:600;font-variant-numeric:tabular-nums;align-self:center}

/* Notizen in einem Stil (G5) */
.nt{background:var(--sunk);border-radius:var(--r);padding:10px 14px;display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:var(--t-small);line-height:var(--lh-small)}
.nt-h{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--muted);font-weight:500}
.nt-b{white-space:pre-line;color:var(--fg)}
.nt-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.nt-row>span{display:inline-flex;gap:8px;align-items:center}
.nt-row .ico{width:18px;height:18px}
.ask-box{background:var(--sunk)}

/* Aufklapper mit eigenem Pfeil (G4) */
details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"";flex:none;width:18px;height:18px;background:currentColor;opacity:.7;transition:transform .15s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
details[open]>summary::after{transform:rotate(180deg)}
details.more>summary::before{content:none}
details.more>summary{justify-content:space-between}
.svc-sum::after{display:none}
.faq details{padding:0}
.faq details summary{padding:10px 0}
.faq details p{margin:0 0 14px}

/* Verwaltung: Seitenleiste und Kopf (M1, M2) */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--surface);color:var(--fg);padding:10px 16px;border-radius:var(--r);min-height:44px;display:inline-flex;align-items:center}
.skip:focus{left:16px}
body.adm header.top{display:none}
body.adm main.wrap{max-width:none;margin:0 0 0 252px;padding:0}
body.adm .foot{max-width:1048px;margin:24px 0 0 252px;padding:24px 48px 40px}
.side{position:fixed;top:0;bottom:0;left:0;width:252px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding:20px 14px;overflow-y:auto;z-index:20}
.side-logo{padding:2px 10px 14px}
.side-logo .zf-logo{display:inline-flex;align-items:center;gap:9px;color:var(--zf-ink)}
.side-logo .zf-mark{width:26px;height:26px}.side-logo .zf-word{font-size:1.25rem}
.side-acc{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:12px}
.side-acc-t{display:flex;flex-direction:column;min-width:0}
.side-acc-t b{font-size:var(--t-small);line-height:1.3;overflow-wrap:anywhere}
.side-acc-t .small{font-size:var(--t-caption);line-height:1.3}
.ini{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;letter-spacing:.02em}
.side-nav,.side-foot{display:flex;flex-direction:column;gap:2px}
.side-foot{margin-top:auto;padding-top:16px}
.nv{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:var(--r);background:none;color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;text-align:left;text-decoration:none;cursor:pointer}
.nv .ico{width:18px;height:18px;color:var(--muted)}
.nv:hover{background:var(--sunk)}
.nv.on{background:var(--surface);font-weight:600;box-shadow:var(--shadow-1)}
.nv.on .ico{color:var(--fg)}
.nv-l{flex:1}
.cnt{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--lit);color:#141820;font-size:var(--t-caption);font-weight:600;font-variant-numeric:tabular-nums}
.side-origin{padding:14px 12px 4px}
.mtop,.mbar{display:none}
.adm-main{max-width:1048px;padding:40px 48px 64px}
.adm-main:focus{outline:none}
.ah{margin-bottom:20px}
.ah h1,.t-tit h1{font-size:32px;line-height:38px;letter-spacing:-.025em;font-weight:600}
.adm-main .subtabs{margin-bottom:24px}
.subtabs button{min-height:44px}
.subtabs button.on{border-bottom-color:var(--fg)}
body.has-savebar .adm-main{padding-bottom:120px}
.savebar-fix{position:fixed;left:calc(252px + 48px);right:48px;bottom:20px;max-width:952px;z-index:45;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#1c2a44;color:#f5f4f0;border-radius:12px;padding:10px 10px 10px 20px;box-shadow:var(--shadow-2)}
.savebar-fix .sb-t{display:inline-flex;align-items:center;gap:10px;font-weight:500}
.sb-dot{width:8px;height:8px;border-radius:50%;background:var(--lit)}
.savebar-fix .sb-a{display:flex;gap:8px}
.savebar-fix .btn.ghost{background:transparent;color:#f5f4f0}
.savebar-fix .btn.ghost:hover{background:rgba(255,255,255,.1)}
.savebar-fix .btn.sb-yes{background:#f5f4f0;color:#1c2a44}
.savebar-fix :focus-visible{outline-color:#f5f4f0}
[data-save]{display:none!important}
.savebar:has(>[data-save]:only-child),.savebar:has(>span:first-child+[data-save]:last-child){display:none}

/* Menü «⋯» */
.mn{position:relative;display:inline-flex}
.mn-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-2);padding:6px;display:flex;flex-direction:column}
.mn-list.up{top:auto;bottom:calc(100% + 6px)}
.mn-i{display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 12px;border:0;background:none;border-radius:8px;color:var(--fg);font:inherit;font-size:var(--t-body);text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}
.mn-i:hover,.mn-i:focus-visible{background:var(--sunk)}
.mn-i .ico{width:18px;height:18px;color:var(--muted)}
.mn-i.danger,.mn-i.danger .ico{color:var(--danger)}
.mn-sep{border:0;border-top:1px solid var(--line);margin:6px 8px;width:auto}
.mn-ph{display:inline-block;width:36px}

/* Termine (M3, M4, H3) */
.t-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:28px}
.t-tit p.muted{margin-top:4px}
.t-stats{display:flex;flex-wrap:wrap;row-gap:4px;margin-top:12px;color:var(--muted)}
.t-stats b{color:var(--fg);font-variant-numeric:tabular-nums}
.t-stats span+span::before{content:"";display:inline-block;width:1px;height:14px;background:var(--line);margin:0 14px;vertical-align:-2px}
.t-act{display:flex;gap:8px;align-items:center;padding-top:6px}
.wait{margin-bottom:36px}
.dg-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.dg-h h2{font-size:var(--t-h3);line-height:var(--lh-h3)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.wcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:20px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-1)}
.wcard h3{font-size:var(--t-h3);line-height:var(--lh-h3)}
.w-when{font-weight:500;color:var(--muted)}
.wcard .tr-ph{margin-top:8px}
.w-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}
.w-c{margin-left:auto;overflow-wrap:anywhere}
.dg{margin-bottom:32px}
.dcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);position:relative}
.dc-empty{padding:16px 20px}
.tr{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:4px 20px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.dcard>.tr:first-child,.dcard>.nowl:first-child+.tr{border-top:0}
.tr-when{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;line-height:1.3;align-self:start;padding-top:1px}
.tr-s{font-weight:600}
.tr-e,.tr-d{font-size:var(--t-small);color:var(--muted)}
.tr-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.tr-n{font-weight:600}
.tr-c{overflow-wrap:anywhere}
.tr-q{color:var(--fg);margin-top:2px;white-space:pre-line}
.tr-side{display:flex;align-items:center;gap:14px;justify-content:flex-end;flex-wrap:wrap}
.tr-mob{display:none}
.tr.cancelled .tr-n{text-decoration:line-through;text-decoration-thickness:1px;color:var(--muted)}
.tr.gone .tr-s{color:var(--muted);font-weight:500}
.tr-ph{display:inline-flex;align-items:center;gap:10px}
.tr-ph .small{max-width:96px;line-height:1.3}
.thumb{width:44px;height:44px}
.tr>.xbox,.tr>.move-box{grid-column:1/-1;margin:12px -20px -16px;padding:20px 20px 22px 116px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,var(--surface));border-radius:0 0 var(--r-l) var(--r-l)}
.dcard>.tr:not(:last-child)>.xbox,.dcard>.tr:not(:last-child)>.move-box{border-radius:0}
.xbox{display:flex;flex-direction:column;gap:12px}
.xbox h3{font-size:var(--t-lead);line-height:var(--lh-lead)}
.xbox h3:focus{outline:none}
.xbox p{margin-top:-8px}
.xgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px 28px}
.xcol{display:flex;flex-direction:column;gap:12px}
.move-info{margin-top:4px}
.nowl{position:relative;height:0;border-top:2px solid var(--lit);margin:0 20px;z-index:1}
.nowl span{position:absolute;left:-4px;top:-11px;background:var(--lit);color:#141820;font-size:var(--t-caption);line-height:20px;font-weight:600;font-variant-numeric:tabular-nums;padding:0 7px;border-radius:var(--r-pill)}
.t-all{margin:-16px 0 32px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dg-note{margin:-6px 0 14px;max-width:70ch}
.dg-h2{margin:18px 0 8px}.dg-h2 h3{font-size:var(--t-body)}
.ob{border-color:var(--line)}
.obbar{background:var(--line)}
.oblist li.ok .obcheck{color:var(--surface)}
.new-box{margin-bottom:24px}

/* Code zum Einfügen (G3): bricht um, «Kopieren» im Kasten */
.code-row{position:relative}

/* Handy */
@media (max-width:760px){
  body.adm main.wrap,body.adm .foot{margin-left:0}
  body.adm .foot{padding:20px 16px 104px;margin-left:0}
  .side{display:none}
  .mtop{display:flex;align-items:center;gap:6px;position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 8px 8px 16px}
  .mtop-n{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}
  .mtop .ibtn{width:44px;height:44px}
  .mbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px max(4px,env(safe-area-inset-bottom,0px))}
  .mb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;border:0;background:none;color:var(--muted);font:inherit;font-size:var(--t-caption);font-weight:500;cursor:pointer;border-radius:var(--r)}
  .mb.on{color:var(--fg);font-weight:600}
  .mb-i{position:relative;display:grid;place-items:center}
  .mb-i .ico{width:22px;height:22px}
  .mb-i .cnt{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;font-size:var(--t-caption)}
  .m-sheet{position:absolute;right:8px;bottom:calc(100% + 8px);min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:8px;display:flex;flex-direction:column;gap:2px}
  .m-sheet .nv{min-height:44px;font-size:var(--t-body)}
  .adm-main{padding:20px 16px 112px}
  body.has-savebar .adm-main{padding-bottom:180px}
  .savebar-fix{left:12px;right:12px;bottom:76px;padding:8px 8px 8px 16px}
  .ah h1,.t-tit h1{font-size:28px;line-height:34px}
  .t-head{margin-bottom:20px}
  .t-act #lb-copy,.t-act #nb-open,.t-act #lb-open{display:none}
  .t-head{flex-wrap:nowrap}
  .t-stats{column-gap:14px}
  .t-stats span+span::before{display:none}
  .t-act{padding-top:0}
  .t-stats{margin-top:6px}
  .wgrid{grid-template-columns:1fr}
  .w-act .btn{flex:1}
  .w-c{margin-left:0;width:100%}
  .tr{grid-template-columns:52px minmax(0,1fr) auto;padding:12px 8px 12px 16px;gap:2px 12px}
  .tr-c,.tr-desk,.tr-ph .small{display:none}
  .tr-mob{display:flex;gap:4px 12px;flex-wrap:wrap}
  .tr-mob:empty{display:none}
  .tr-side{gap:8px}
  .tr>.xbox,.tr>.move-box{margin:12px -8px -12px -16px;padding:16px}
  .xgrid{grid-template-columns:1fr}
  .nowl{margin:0 8px 0 16px}
  .dg-h h2{font-size:var(--t-lead)}
  .mn-list{min-width:240px}
}
/* Gross genug für Finger (M10) */
@media (pointer:coarse){
  .btn,.btn.sm,.mn-i,.nv,.chip,.seg button,.subtabs button,.navlink,.style-opt,.obitem,.toast-x{min-height:44px}
  .ibtn{width:44px;height:44px}
  .linkbtn{min-height:44px;display:inline-flex;align-items:center}
  p .linkbtn,.small .linkbtn,li .linkbtn,.check .linkbtn{min-height:0;display:inline}
  .opfoot a,.ui-lang a,.foot a{display:inline-flex;align-items:center;min-height:44px}
  select,input[type=text],input[type=number],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=password]{min-height:44px}
  .sw{width:44px;height:44px}
  .thumb{width:44px;height:44px}
}

/* Buchungsseite (H4, H5, G10, M11) */
.zf-buchung header.top .wrap{padding-block:12px;flex-wrap:nowrap}
.zf-buchung a.brand{display:flex;align-items:center;gap:12px;min-width:0}
.zf-buchung .brand .ini{width:40px;height:40px;border-radius:10px;font-size:14px}
.brand-t{display:flex;flex-direction:column;min-width:0}
.brand-t .brand-name{font-size:var(--t-body);line-height:1.3;letter-spacing:-.01em}
.brand-t .small{line-height:1.3}
.hd-addr{display:inline-flex;align-items:center;gap:8px;text-align:right}
.hd-addr .ico{width:18px;height:18px}
.zf-buchung main{padding-top:40px}
.bk .intro{margin-bottom:28px;gap:8px}
.bk .intro h1{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
.bk .intro .lead{color:var(--muted);font-size:var(--t-body)}
.bk .grid{grid-template-columns:minmax(0,1fr) 300px;gap:40px}
@media (max-width:860px){.bk .grid{grid-template-columns:minmax(0,1fr)}}
.bk .steps{gap:36px}
.bk .step{gap:12px}
.step-head h2{font-size:var(--t-h3)}
.num{background:var(--accent);color:var(--on-accent);font-family:var(--f-body);font-weight:600;font-size:13px;width:24px;height:24px}
.num.off{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--fg)}
.services{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.svc{padding:16px 18px;gap:4px;border-radius:var(--r-l);border-color:var(--line)}
.svc[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.svc-top{display:flex;align-items:center;gap:10px}
.svc-top .svc-name{flex:1;font-size:var(--t-body);line-height:1.35}
.svc-ico{color:var(--muted);display:inline-flex}.svc-ico .ico{width:18px;height:18px}
.svc-meta-r{display:none}
.svc .svc-meta,.svc .svc-d,.svc .photo-hint,.svc .svc-places{padding-left:28px}
.rd{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface);display:grid;place-items:center}
.svc[aria-pressed="true"] .rd{border-color:var(--accent)}
.svc[aria-pressed="true"] .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.tcard{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1)}
.tcard .cal-wrap{background:transparent;border:0;box-shadow:none;border-radius:0;padding:20px;max-width:none;border-right:1px solid var(--line)}
.tpane{padding:20px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.tp-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tp-h h3{font-size:var(--t-lead)}
.cal-head b{font-size:var(--t-body)}
.cal{gap:4px 2px}
.cw{text-transform:none;letter-spacing:0;font-size:var(--t-caption)}
.cd{height:40px;width:40px;justify-self:center;border-radius:50%;background:transparent;font-weight:600}
.cd i{bottom:3px;width:4px;height:4px;margin-left:-2px;background:var(--fg)}
.cd.td{box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.cd:hover:not(:disabled){border-color:var(--line-strong)}
.cd:disabled{opacity:1;color:var(--muted);font-weight:400}
.cd[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);box-shadow:none}
.cal-nav{border-radius:50%;background:var(--btn2)}
.cal-nav:disabled{opacity:.4;cursor:default}
.cal-note:empty{display:none}
.slots{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
.slot{font-size:var(--t-body);padding:9px 6px}
.early{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;cursor:pointer}
.early:hover{border-color:var(--line-strong)}
.early-dot{width:8px;height:8px;border-radius:50%;background:var(--lit)}
.early .ico{width:16px;height:16px}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;box-shadow:var(--shadow-1)}
.fcard form.fields{gap:16px}
.field.adds{flex-direction:row;display:flex;gap:10px;align-self:end}
.addbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--h-m);border:1px dashed var(--line-strong);border-radius:var(--r);background:transparent;color:var(--fg);font:inherit;font-weight:500;cursor:pointer;padding:8px 12px}
.addbtn:hover{background:var(--sunk)}
.addbtn .ico{width:18px;height:18px}
.mailfix{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-small)}
.book-row{display:flex;flex-direction:column;gap:10px}
.book-row .book-btn{width:100%}
.book-note{text-align:center}
.btn.book-btn{min-height:var(--h-l)}
aside.summary{gap:16px;padding:22px}
@media (min-width:861px){aside.summary{margin-top:0;top:24px}}
.sum-svc{display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sum-svc b{font-size:var(--t-lead);line-height:var(--lh-lead)}
dl.sum{margin:0;display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line)}
dl.sum dt{font-size:var(--t-caption);color:var(--muted);margin-top:10px}
dl.sum dt:first-child{margin-top:0}
dl.sum dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
dl.sum dd .muted{font-weight:400}
.priv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:var(--t-small);line-height:var(--lh-small);color:var(--muted)}
.priv li{display:flex;gap:10px;align-items:flex-start}
.priv .ico{width:16px;height:16px;margin-top:2px;color:var(--muted)}
/* Bestätigung (M11) */
.bk-done{max-width:560px;display:flex;flex-direction:column;gap:18px}
.bk-done h1{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
.bk-done h1:focus{outline:none}
.done-mk{align-self:flex-start;background:var(--ok-soft);padding:4px 12px;border-radius:var(--r-pill);font-weight:500}
.done-mk.mk-lit{background:var(--lit-soft)}
.tk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1)}
.tk-top{display:flex;gap:18px;align-items:center;padding:20px}
.tk-t{display:flex;flex-direction:column;gap:2px}
.tk-time{font-size:var(--t-h3);line-height:var(--lh-h3);font-weight:600;font-variant-numeric:tabular-nums}
.tk-bot{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-top:1px dashed var(--line)}
.tk-bot>span{display:flex;flex-direction:column}
.tk-bot .ico{width:20px;height:20px;margin-top:2px;color:var(--muted)}
.dtile{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:56px;border-radius:var(--r);background:var(--sunk);line-height:1.1}
.dtile span{font-size:var(--t-caption);color:var(--muted)}
.dtile b{font-size:22px;font-variant-numeric:tabular-nums}
.dtile.lg{width:76px;height:84px}
.dtile.lg b{font-size:34px;line-height:1.1}
.addcal{background:none;padding:0;gap:8px}
.addcal-b{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.addcal-b .btn,a.btn{display:inline-flex}
.bk-two .svc>*{grid-column:auto}
.nt-info{flex-direction:row;gap:10px;align-items:flex-start;margin:0}
.nt-info .ico{width:18px;height:18px;flex:none;margin-top:1px;color:var(--muted)}
.done-act{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
/* Handy: zwei Schritte */
.lbl{font-size:var(--t-small);line-height:var(--lh-small);font-weight:500;color:var(--muted)}
.lbl-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.intro-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bk-two .bk .intro h1{font-size:24px;line-height:30px}
.bk-two .bk .intro{margin-bottom:16px}
.bk-two .bk .steps{gap:20px}
.bk-two .services{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.bk-two .svc{display:flex;flex-direction:column;align-items:stretch;border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--line);padding:12px 16px;min-height:52px;justify-content:center}
.bk-two .svc:first-child{border-top:0}
.bk-two .svc[aria-pressed="true"]{background:var(--sunk);box-shadow:none}
.bk-two .svc-meta-r{display:inline}
.bk-two .svc .svc-meta,.bk-two .svc-ico{display:none}
.bk-two .svc:not([aria-pressed="true"]) .svc-d,.bk-two .svc:not([aria-pressed="true"]) .photo-hint,.bk-two .svc:not([aria-pressed="true"]) .svc-places{display:none}
.bk-two .svc-top .svc-name{font-weight:600}
.wkstrip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;scroll-snap-type:x proximity}
.wkstrip::-webkit-scrollbar{display:none}
.wk{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:46px;min-height:64px;border:1px solid transparent;border-radius:12px;background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;padding:6px 0;position:relative}
.wk span{font-size:var(--t-caption);color:var(--muted)}
.wk b{font-size:var(--t-lead);font-variant-numeric:tabular-nums}
.wk i{width:4px;height:4px;border-radius:50%;background:var(--fg);margin-top:2px}
.wk i.no{background:transparent}
.wk:disabled{background:transparent;color:var(--muted);cursor:default}
.wk:disabled b{font-weight:400}
.wk.td{border-color:var(--line-strong)}
.wk[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.wk[aria-pressed="true"] span{color:var(--on-accent);opacity:.85}
.wk[aria-pressed="true"] i{background:var(--on-accent)}
.wk-nav{background:var(--btn2)}
.wk-empty{align-self:center;padding:0 8px}
.bk-two .tpane{padding:12px 0 0}
.bk-two .slots{grid-template-columns:repeat(4,minmax(0,1fr))}
.bk-two .cal-wrap{max-width:none}
.bbar{display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px max(12px,env(safe-area-inset-bottom,0px))}
.bk-fix .bbar{position:fixed;left:0;right:0;bottom:0;z-index:30;box-shadow:0 -6px 18px rgba(20,24,32,.06)}
.bbar-static{margin:24px -16px 0;border:1px solid var(--line);border-radius:var(--r-l)}
.bb-t{display:flex;flex-direction:column;min-width:0}
.bb-t b{font-variant-numeric:tabular-nums}
.bb-t .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bbar .btn{flex:none;min-width:118px}
.bbar .btn .ico{width:16px;height:16px}
.bbar-book{flex-direction:column;align-items:stretch;gap:6px}
.bbar-book .book-btn{width:100%}
.bk-fix main{padding-bottom:120px}
.bk-fix .foot{padding-bottom:140px}
.s2-head{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;margin:-8px 0 16px}
.s2-head h1{font-size:var(--t-lead);line-height:var(--lh-lead);text-align:center}
.s2-head h1:focus{outline:none}
.s2-head .ibtn{width:44px;height:44px}
.s2-sum{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:12px 14px;margin-bottom:20px}
.s2-t{flex:1;display:flex;flex-direction:column;min-width:0}
.bk-s2 form.fields{grid-template-columns:1fr;gap:16px}
@media (max-width:860px){.tcard{grid-template-columns:1fr}.tcard .cal-wrap{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:640px){
  .zf-buchung main{padding-top:20px}
  .hd-addr{display:none}
  .adds{align-self:auto}
  .bk-done{gap:16px}
  .bk-done h1{font-size:26px;line-height:32px}
}
@media (pointer:coarse){.cal-nav,.ibtn.cal-nav{width:44px;height:44px}.cd{width:44px;height:44px}.early{min-height:44px}.svc{min-height:52px}}

/* Öffnungszeiten als Chips (M8) */
.hours{gap:0}
.hrow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.hrow:last-of-type{border-bottom:0}
.tgl{display:inline-flex;align-items:center;gap:14px;cursor:pointer;min-height:44px;position:relative;font-weight:500;font-size:var(--t-body)}
.tgl input{position:absolute;opacity:0;width:44px;height:28px;margin:0;left:0;cursor:pointer}
.tgl-r input{left:auto;right:0}
.tgl-t{flex:none;width:44px;height:26px;border-radius:var(--r-pill);background:var(--line);position:relative;transition:background .15s}
.tgl-t::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.tgl input:checked~.tgl-t{background:var(--accent)}
.tgl input:checked~.tgl-t::after{transform:translateX(18px)}
.tgl input:focus-visible~.tgl-t{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
.tgl-r{display:flex;justify-content:space-between;width:100%;gap:16px;font-weight:400}
.hrow.off .hname{color:var(--muted)}
.hwins{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hw{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hchip{min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--sunk);color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer}
.hchip[aria-expanded="true"]{border-color:var(--fg);background:var(--surface)}
.hedit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px}
.hedit select{width:auto;min-width:96px}
.hadd{display:inline-grid;place-items:center;width:36px;height:36px;border:1px dashed var(--line-strong);border-radius:var(--r);background:transparent;color:var(--fg);cursor:pointer}
.hadd .ico{width:18px;height:18px}
.hclosed{display:none}
.hrow.off .hw,.hrow.off .hadd{display:none}
.hrow.off .hclosed{display:inline}
.hfoot{padding-top:12px;border-top:1px solid var(--line)}
.hcopy{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:500}
.hcopy .ico{width:16px;height:16px}
@media (max-width:640px){.hrow{grid-template-columns:1fr}}
@media (pointer:coarse){.hchip,.hadd{min-height:44px;min-width:44px}.hadd{height:44px;width:44px}}

/* Design mit Vorschau (M9) */
.dgrid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px;align-items:start}
.dcol{display:flex;flex-direction:column;gap:16px}
.pv{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.pv-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pv-h h3{flex:1;font-size:var(--t-body)}
.pv-stage{background:var(--sunk);border-radius:var(--r-l);padding:24px 12px;display:flex;justify-content:center;overflow:hidden;min-height:200px}
.pv-frame{overflow:hidden;border-radius:12px;background:#fff;box-shadow:var(--shadow-2)}
.pv-stage.handy .pv-frame{border:10px solid #141820;border-radius:36px}
.pv-frame iframe{border:0;display:block;transform-origin:0 0;background:#fff}
.pv-note{text-align:center}
.swatches .sw{width:36px;height:36px}
.sw.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--fg)}
.color-row input[type=text]{width:120px}
.logo-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.logo-row .logo-box{flex:1;min-width:160px}
.style-list{display:flex;flex-direction:column}
.style-list .style-opt{display:grid;grid-template-columns:18px 44px minmax(0,1fr);align-items:center;gap:12px;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0;box-shadow:none;background:none}
.style-list .style-opt:first-child{border-top:0}
.style-list .style-opt[aria-pressed="true"]{box-shadow:none}
.style-list .style-opt[aria-checked="true"] .rd{border-color:var(--accent)}
.style-list .style-opt[aria-checked="true"] .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.so-t{display:flex;flex-direction:column}
@media (max-width:1100px){.dgrid{grid-template-columns:1fr}.pv{position:static}}
.pv-frame{box-sizing:content-box}
.hw:has(>.hedit:not([hidden])){flex-basis:100%}
@media (pointer:coarse){.opfoot a,.ui-lang a{min-width:44px;justify-content:center}.zf-buchung a.brand{min-height:44px}}
.subtabs-in{margin-bottom:4px}
.svc-sum-edit::before{content:none}
.svc-sum-edit{text-decoration:none;display:inline-flex;align-items:center;gap:6px;color:var(--fg);font-weight:500}
.svc-sum-edit::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:760px){.t-stats{column-gap:14px}}
.mb>span:not(.mb-i){white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media (forced-colors:active){
  .wk[aria-pressed="true"],.nv.on,.mb.on,.hchip[aria-expanded="true"],.style-opt[aria-checked="true"],.svc[aria-pressed="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .mk::before,.lit-n,.cnt,.nowl,.nowl span,.early-dot,.sb-dot{forced-color-adjust:none;background:CanvasText;color:Canvas}
  .tgl-t{border:1px solid CanvasText}.tgl input:checked~.tgl-t{background:Highlight}
  .mn-list{border:1px solid CanvasText}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.tz-line{margin:-4px 0 0}
.early{justify-content:flex-start;text-align:left}
/* 44-4: E-Mails als eigener Bereich */
.nt-warn{display:flex;flex-direction:row;gap:10px;align-items:flex-start;background:var(--warn-soft);color:var(--fg);border-radius:10px;padding:10px 14px;margin:0 0 14px}
.nt-warn .ico{width:18px;height:18px;flex:none;margin-top:2px;color:var(--warn)}
.nt-warn[hidden]{display:none}
.panel > .nt-info{margin:0 0 14px}
.pv-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.seg-sm{padding:3px}.seg-sm button{padding:4px 12px;font-size:.875rem}
@media (pointer:coarse){.seg-sm button{min-height:44px}}
/* 44-6: Liste der E-Mails */
.mlist{list-style:none;margin:12px 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}
.mrow{width:100%;display:flex;align-items:center;gap:14px;text-align:left;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;cursor:pointer;min-height:56px}
.mrow:hover{border-color:var(--line-strong)}
.mrow.on{border-color:var(--fg);background:var(--sunk)}
.mrow.on .mrow-i{background:var(--surface)}
.mrow:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mrow-i{flex:none;width:36px;height:36px;border-radius:50%;background:var(--sunk);display:grid;place-items:center}
.mrow-i .ico{width:18px;height:18px}
.mrow-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.mrow-off{color:var(--muted);font-style:italic}
.mrow-e{flex:none;font-size:var(--t-small);color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.mrow.on .mrow-e{text-decoration:none;color:var(--fg);font-weight:600}
.madd{display:inline-flex;align-items:center;gap:6px;margin:6px 0 14px;min-height:44px}
.madd .ico{width:16px;height:16px}
.mwhen{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.medit h3:focus{outline:none}
@media (max-width:560px){.mrow{padding:10px 12px;gap:10px}.mrow-e{display:none}}
/* v45: Buchungsseite mit mehreren Angeboten und Orten kompakt */
.bk .services{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.place-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-width:none}
.place{align-items:center;padding:8px 12px;min-height:48px}
.place input{margin:0}
.place .ico-box{width:28px;height:28px}
.place .ico-box svg{width:16px;height:16px}
.place-pick legend{margin-bottom:6px}
.place-hint{margin:2px 0 0}
@media (max-width:560px){
  .place-opts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}
  .place{min-height:44px;padding:6px 12px}
  .bk .place-pick{margin-bottom:-14px}
  .bk.has-pp .svc[aria-pressed="true"] .svc-places{display:none} /* die Orte stehen gleich darunter */
}
/* v45: Orte auf einer Linie, Hinweis und E-Mail-Text als Textfelder, «Entfernen» mit Rückfrage */
.pl-row{grid-template-columns:32px 160px minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:10px 12px;padding:14px 0}
.pl-row .ico-box{align-self:start;margin-top:28px}
.pl-row p.pl-d{margin:30px 0 0}
.pl-row .pl-h,.pl-row .pl-m{grid-column:2/-1}
.pl-row textarea{width:100%;resize:vertical;min-height:0}
.pl-row .pl-act{grid-column:2/-1;justify-self:end;align-items:center;gap:8px}
.danger-t{color:var(--danger);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 6px}
.pl-ask{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:760px){.pl-row{grid-template-columns:32px minmax(0,1fr)}.pl-row>*:not(.ico-box){grid-column:2}.pl-row .ico-box{margin-top:28px}.pl-row .pl-act{justify-self:start}}
.upd-err{display:flex;gap:8px;align-items:flex-start;color:var(--muted)}
.upd-err .ico{width:16px;height:16px;flex:none;margin-top:2px;color:var(--warn)}
/* v45: Angebot bearbeiten */
.svc-grid .icon-pick{grid-column:1/-1}
.icon-opts{flex-wrap:nowrap;overflow-x:auto;padding:3px}
details.more>summary{justify-content:flex-start;gap:8px}
.svc-sum-edit .se-o{display:none}
details[open]>.svc-sum .svc-sum-edit{visibility:visible}
details[open]>.svc-sum .svc-sum-edit .se-c{display:none}
details[open]>.svc-sum .svc-sum-edit .se-o{display:inline}
details[open]>.svc-sum .svc-sum-edit::before{content:none}
.tr-langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;gap:8px}
.svc-tr .tr-langs .tr-lang{border:1px solid var(--line-strong);border-radius:10px;padding:0}
.svc-tr .tr-langs .tr-lang>summary{padding:10px 12px;min-height:44px;display:flex;align-items:center}
.svc-tr .tr-langs .tr-lang[open]{grid-column:1/-1}
.svc-tr .tr-langs .tr-lang[open]>.svc-grid{padding:0 12px 12px}
@media (max-width:560px){.tr-langs{grid-template-columns:1fr}}
/* v45: «Gehostet in der Schweiz» am Computer nur in der Seitenleiste */
@media (min-width:761px){body.adm .foot .origin{display:none}}
/* v45: Einbinden, Aufklapper einheitlich */
.svc-links>summary{color:var(--fg)}
/* v45: Orte als Liste (Zielbild 34-orte-nachher) */
.pl-card{padding:0;gap:0;overflow:visible}
.pl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line)}
.pl-head-t{display:flex;flex-direction:column;gap:4px;max-width:560px}
.pl-head h3{margin:0}.pl-head p{margin:0}
.pl-pre{flex:none;width:260px;margin:0}
.pl-list{list-style:none;margin:0;padding:0}
.pl-item{border-bottom:1px solid var(--line)}
.pl-sum{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 20px 14px 24px}
.pl-ico{width:36px;height:36px;border-radius:10px;background:var(--sunk);color:var(--muted);display:grid;place-items:center}
.pl-ico .ico{width:20px;height:20px}
.pl-sum-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.pl-sum-t .small{overflow-wrap:anywhere}
.pl-sum-n{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-tg{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;cursor:pointer}
.pl-tg:hover{background:var(--sunk)}
.pl-tg:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo,transparent)}
.pl-tg .ico{width:16px;height:16px;transition:transform .15s}
.pl-tg[aria-expanded="true"] .ico{transform:rotate(180deg)}
.pl-body{border-top:1px solid var(--line);background:var(--bg);padding:22px 24px 22px 76px;display:flex;flex-direction:column;gap:18px}
.pl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;max-width:760px;align-items:start}
.pl-grid .field{margin:0}
.pl-grid .full{grid-column:1/-1}
.pl-grid textarea{width:100%;resize:vertical}
.pl-help{margin:0;align-self:end;padding-bottom:4px}
.pl-zs{margin:0;min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-cnt{align-self:flex-end}
.pl-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:760px;border-top:1px solid var(--line);padding-top:14px}
.pl-mv{display:flex;gap:8px;flex-wrap:wrap}
.pl-mv .btn{display:inline-flex;align-items:center;gap:6px}
.pl-mv .ico{width:16px;height:16px}
.pl-mv .btn:first-child .ico{transform:rotate(180deg)}
.pl-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 24px}
.pl-addb{display:inline-flex;align-items:center;gap:8px}
.pl-addb .ico{width:18px;height:18px}
.pl-addl{left:0;right:auto;min-width:220px}
.pl-save{padding:0 24px 20px}
@media (max-width:760px){
  .pl-head{flex-direction:column;align-items:stretch;padding:16px}
  .pl-pre{width:auto}
  .pl-sum{grid-template-columns:32px minmax(0,1fr) auto;gap:12px;padding:12px 12px 12px 16px}
  .pl-ico{width:32px;height:32px}
  .pl-body{padding:16px}
  .pl-grid{grid-template-columns:minmax(0,1fr)}
  .pl-help{padding:0;margin-top:-10px}
  .pl-add,.pl-save{padding-left:16px;padding-right:16px}
  .pl-tg>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
.pl-grid .field>.lbl{color:var(--fg)}
/* v45: Zusatz je nach Ort im E-Mail-Editor */
.mpl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;background:var(--sunk);border-radius:10px}
.mx{border-left:3px solid var(--line-strong);padding-left:12px}
.mx textarea{width:100%}
/* v45-3: Zusatz je Ort als eigene Felder, Vorschau-Umschalter als deutliche Knöpfe */
.mx label{display:flex;align-items:center;gap:8px}
.mx-i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--sunk);color:var(--muted)}
.mx-i .ico{width:14px;height:14px}
.mx.cur{border-left-color:var(--fg)}
.pv-row{align-items:center}
.pv-pick{display:inline-flex;gap:6px;flex-wrap:wrap}
.pv-pick button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-small);cursor:pointer}
.pv-pick button .ico{width:14px;height:14px;color:var(--muted)}
.pv-pick button:hover{border-color:var(--fg)}
.pv-pick button.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.pv-pick button.on .ico{color:var(--bg)}
.pv-pick button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (pointer:coarse){.pv-pick button{min-height:44px}}
/* v46: Funktionen */
.mod-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.mod{border-top:1px solid var(--line);padding:14px 0}
.mod-t{display:flex;align-items:flex-start;gap:16px;justify-content:space-between;width:100%}
.mod-tx{display:flex;flex-direction:column;gap:2px;max-width:620px}
.mod-n{margin:6px 0 0;color:var(--muted)}
.mod-n:empty{display:none}
.mod-hint{margin:0 0 10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
/* v46: Zeitzone */
.tz-row .field{display:flex;flex-direction:column;gap:6px}
.tz-q{margin-bottom:2px}
.tz-dev{margin:0 0 14px}
.hmerge{margin-left:4px;min-height:44px}
/* v46: Logo und Name führen zu den Terminen */
a.side-logo{display:block;text-decoration:none;border-radius:10px;align-self:flex-start}
a.side-logo:focus-visible,.mtop-home:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mtop-home{display:flex;align-items:center;gap:6px;flex:1;min-width:0;color:inherit;text-decoration:none;min-height:44px}
.mfor{border:0;padding:0;margin:0;display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;flex-basis:100%}
.mfor legend{float:left;margin-right:8px;color:var(--muted)}
/* v46: Zeiträume mit anderer Zeitzone */
.trips{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.trips h4{margin:0;font-size:var(--t-body)}
.trips p{margin:0}
.tr-list{display:flex;flex-direction:column;gap:10px}
.trrow{display:grid;grid-template-columns:160px 160px minmax(200px,1fr) auto;gap:6px 12px;align-items:end}
.trrow .field{margin:0}
.trrow .tr-info{grid-column:1/-1}
.trips .btn .ico{width:16px;height:16px}
.trips .btn{display:inline-flex;align-items:center;gap:6px}
@media (max-width:760px){.trrow{grid-template-columns:1fr 1fr}.trrow .tr-z{grid-column:1/-1}}
/* v46: Kontenliste zugeklappt */
.acc-fold>summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;list-style:none}
.acc-fold>summary::-webkit-details-marker{display:none}
.acc-fold>summary:focus-visible{outline:2px solid var(--focus,currentColor);outline-offset:2px;border-radius:4px}
.acc-fold>p{margin:0 0 12px}
/* v46: Gruss am Schluss, Erinnerung löschen */
.msign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;max-width:760px}
@media (max-width:760px){.msign{grid-template-columns:1fr}}
.mfoot{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.medit-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.medit-h h3{margin:0}
.mdel{display:inline-flex;align-items:center;gap:6px;color:var(--danger)}
.mdel .ico{width:16px;height:16px}
/* v46: Fusszeile der Buchungsseite mit Zytfenster-Etikett */
.cfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line)}
.cfoot-plain{justify-content:flex-start}
.zf-badge{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);text-decoration:none;font-size:var(--t-caption);line-height:1.2;transition:border-color .15s,box-shadow .15s}
.zf-badge:hover{border-color:var(--line-strong);box-shadow:0 1px 3px rgba(20,30,50,.08)}
.zf-badge:focus-visible{outline:2px solid var(--accent,#1c2a44);outline-offset:2px}
.zf-badge-m{display:inline-flex;align-items:center;gap:6px;color:var(--zf-ink)}
.zf-badge-m svg{width:18px;height:18px;flex:none;display:block}
.zf-badge-m .t{fill:var(--zf-ink)}.zf-badge-m .p{fill:var(--zf-ground)}.zf-badge-m .l{fill:var(--zf-lit)}
.zf-badge-m b{font-family:var(--f-display);font-weight:600;font-size:.98rem;letter-spacing:-.025em;padding-bottom:1px}
.cf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;color:var(--muted)}
.cf-ch{display:inline-flex;align-items:center;gap:8px}
.cf-ch svg{width:14px;height:14px;flex:none}
.cf-links{display:inline-flex;gap:16px}
.cf-links a{color:var(--muted);text-underline-offset:3px}
.cf-links a:hover{color:var(--fg)}
@media (max-width:760px){.cfoot{flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px}}
.zf-badge-demo{margin:4px 0 14px}
.zf-badge-demo .zf-badge{cursor:default}
.zf-badge-demo .zf-badge:hover{box-shadow:none;border-color:var(--line)}
/* v46: Sprachen einzeln */
.mod-langs{border:0;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.mod-langs legend{padding:0;margin-bottom:4px;color:var(--muted);width:100%}
/* v46: Zeitfelder in den Öffnungszeiten */
.hedit .htime{width:auto;min-width:108px;font-variant-numeric:tabular-nums}
/* v47: Funktion ausschalten mit Rückfrage */
.mod-off{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--sunk,#f6f5f1);display:flex;flex-direction:column;gap:10px}
.mod-off p{margin:0}
/* v47: Leiste «Gespeichert» */
.savebar-fix.is-saved{background:var(--surface);color:var(--muted);border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.savebar-fix.is-saved .sb-ok .ico{color:var(--ok)}
.savebar-fix.is-saved .btn.sb-yes,.savebar-fix.is-saved .btn.sb-yes:hover{background:var(--sunk);color:var(--muted-2);cursor:default;box-shadow:none}
.savebar-fix.is-saved :focus-visible{outline-color:var(--focus)}
.savebar-fix .sb-ok{display:inline-flex;align-items:center;gap:8px;font-weight:500}
.savebar-fix .sb-ok .ico{width:18px;height:18px}
.savebar-fix [hidden]{display:none!important}
/* v47: «Lieber früher?» leiser */
.early{border:0;background:transparent;padding:4px 0;color:var(--muted);min-height:32px}
.early:hover{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
/* v47: Zeitzone als Combobox */
.tz-combo{position:relative}
.tz-box{position:relative}
.tz-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:4px;list-style:none;max-height:280px;overflow:auto;background:var(--surface);border:1px solid var(--line-strong,var(--line));border-radius:var(--r);box-shadow:var(--shadow-2)}
.tz-list li{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:var(--t-small)}
.tz-list li[aria-selected="true"],.tz-list li:hover{background:var(--sunk,#f1f0ec)}
.tz-list li.cur{font-weight:600}
.tz-list li.none{color:var(--muted);cursor:default}
.hhead{display:flex;justify-content:flex-start;margin:0 0 8px}
.hhead .btn{display:inline-flex;align-items:center;gap:6px}
.hhead .ico{width:16px;height:16px}
/* v47: Angebotskarten: lange Wörter umbrechen, Symbol mit festem Abstand, Spalten wählbar */
.services>.svc{min-width:0}
.svc-top{align-items:flex-start}
.svc-top .rd{margin-top:2px}
.svc-top .svc-name{min-width:0;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.svc-ico{flex:none;margin-left:auto;padding-left:6px;margin-top:1px}
.services.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.services.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:640px){.services.cols-2,.services.cols-3{grid-template-columns:1fr}}
/* v48: Unterbereiche links, Fehler melden */
.nv-subs{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 30px;padding-left:10px;border-left:1px solid var(--line)}
.nv-sub{display:block;width:100%;min-height:34px;padding:6px 10px;border:0;border-radius:var(--r);background:none;color:var(--muted);font:inherit;font-size:var(--t-small);text-align:left;cursor:pointer}
.nv-sub:hover{background:var(--sunk);color:var(--fg)}
.nv-sub.on{color:var(--fg);font-weight:600;background:var(--surface);box-shadow:var(--shadow-1)}
.nv.on[aria-expanded="true"]{box-shadow:none;background:transparent}
@media (min-width:761px){.adm-main .subtabs{display:none}}
.bugdlg{max-width:520px;width:calc(100% - 32px);border:0;border-radius:var(--r-l);padding:24px;box-shadow:var(--shadow-2);background:var(--surface);color:var(--fg)}
.bugdlg::backdrop{background:rgba(15,22,38,.45)}
.bugdlg form{display:flex;flex-direction:column;gap:14px}
.bugdlg h2{margin:0;font-size:var(--t-h3)}
.bugdlg p{margin:0}
/* v48: Einrichtungs-Assistent */
.wz:has(.wz-per){max-width:960px}
.wz{max-width:720px;display:flex;flex-direction:column;gap:18px;padding:28px}
.wz-top{display:flex;flex-direction:column;gap:8px}
.wz-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.wz-bar span{display:block;height:100%;background:var(--accent,#1c2a44);transition:width .2s}
.wz-body{display:flex;flex-direction:column;gap:14px}
.wz-body h2{margin:0;font-size:var(--t-h2,1.5rem)}
.wz-body p{margin:0}
.wz-pair{display:flex;flex-wrap:wrap;gap:16px 32px}
.wz-pair>div{display:flex;flex-direction:column;gap:6px}
.wz-l{color:var(--muted)}
.wz-checks{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.wz-checks legend{padding:0;margin-bottom:6px;width:100%;color:var(--muted)}
.wz-mods{flex-direction:column;gap:12px}
.wz-time{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wz-time .htime{width:auto;min-width:110px}
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line)}
.wz-r{display:flex;align-items:center;gap:16px}
/* v49: Infotext im Buchungsformular */
.form-info{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);background:var(--sunk,#f3f2ee);border:1px solid var(--line)}
.form-info .ico{width:18px;height:18px;flex:none;margin-top:2px;color:var(--muted)}
.form-info p{margin:0;font-size:var(--t-small);line-height:1.5}
.form-info a{overflow-wrap:anywhere}
/* v49: Formular-Editor */
.pf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:24px;align-items:start}
@media (max-width:1100px){.pf-grid{grid-template-columns:1fr}}
.pf-rows{display:flex;flex-direction:column}
.pf-row{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--line)}
.pf-row:first-child{border-top:0;padding-top:4px}
.pf-ctl{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:10px 14px}
@media (max-width:640px){.pf-ctl{grid-template-columns:1fr}}
.pf-pv{position:sticky;top:20px}
.pf-prev{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l)}
.pf-f{display:flex;flex-direction:column;gap:6px}
.pf-l{font-size:var(--t-small);font-weight:600}
.pf-i{display:block;min-height:38px;border:1px solid var(--line-strong,var(--line));border-radius:var(--r);padding:8px 10px;color:var(--muted);font-size:var(--t-small)}
.pf-i.ta{min-height:72px}
.pf-add{font-size:var(--t-small);color:var(--muted)}
.pf-c{font-size:var(--t-small)}
.ph-help summary{cursor:pointer;color:var(--muted)}
.ph-help dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0 0}
.ph-help dt{font-family:var(--f-mono,monospace);font-size:var(--t-small)}
.ph-help dd{margin:0}
/* v49: E-Mail vor dem Senden */
.mail-prev.mp{white-space:pre-wrap;padding:12px 14px;display:block;font-size:var(--t-small);line-height:1.5}
.mail-prev.mp .subj{display:block;font-weight:600;margin:4px 0 8px}
.mail-prev.mp>.small{display:block}
/* v49: PDF statt Foto */
.pdf-ic{display:inline-grid;place-items:center;width:44px;height:52px;border-radius:6px;background:#b3261e;color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em;text-decoration:none;flex:none}
.drop .pdf-ic{width:56px;height:68px;font-size:14px}
.field.form-info{flex-direction:row}

/* v50: Querverweise in Hinweisen */
a.xl{color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px}
a.xl:hover{color:var(--lit-ink);text-decoration-color:currentColor}

/* v50: Assistent, Zeiten pro Tag */
.wz-per{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}
.wz-prow{display:grid;grid-template-columns:100px max-content max-content;gap:8px 24px;align-items:center;justify-content:start}
.wz-prow .wz-time{margin:0;display:flex;flex-wrap:nowrap;align-items:center;gap:8px}
.wz-prow .htime{width:auto;padding-block:8px}
@media (max-width:760px){.wz-prow{grid-template-columns:1fr}}

/* v50: Kalender beim Verschieben */
.mvcal{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start;margin-top:6px}
.mvcal .cal-wrap{max-width:none}
.mv-slots{display:flex;flex-direction:column;gap:10px;padding-top:6px}
.mv-sh{font-weight:600}
@media (max-width:760px){.mvcal{grid-template-columns:1fr}}

/* v50: Text der E-Mail vor dem Senden anpassen */
.mail-prev .mp-t{width:100%;font:inherit;line-height:1.5;white-space:pre-wrap;min-height:220px;border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;background:var(--surface);color:var(--fg)}

/* v50: Angebotskarten. Symbol als getöntes Quadrat, kein Auswahlpunkt, Auswahl mit Rahmen und Häkchen, Text in voller Breite. */
.svc{position:relative}
.svc-top{align-items:center;gap:12px;padding-right:24px}
.svc .svc-ico{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;margin:0;padding:0;flex:none}
.svc .svc-ico .ico{width:20px;height:20px}
.svc[aria-pressed="true"] .svc-ico{background:var(--surface)}
.svc .svc-meta,.svc .svc-d,.svc .photo-hint,.svc .svc-places{padding-left:0}
.svc-top>.rd{display:none}
.svc-chk{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:none;place-items:center}
.svc-chk .ico{width:14px;height:14px}
.svc[aria-pressed="true"] .svc-chk{display:grid}
.svc[aria-pressed="true"]{border-width:1px;box-shadow:0 0 0 2px var(--accent)}
.bk-two .svc-chk{top:50%;transform:translateY(-50%)}

/* v50: Symbolbibliothek */
.icon-more{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--line-strong);border-radius:var(--r);background:transparent;color:var(--fg);padding:0 12px;min-height:44px;cursor:pointer;font:inherit;font-size:var(--t-small)}
.icon-more:hover{background:var(--sunk)}
.icon-more .ico{width:16px;height:16px}
.icdlg{width:min(720px,calc(100vw - 32px));max-height:min(80vh,720px);border:1px solid var(--line);border-radius:var(--r-l);padding:0;background:var(--surface);color:var(--fg);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.icdlg[open]{display:flex;flex-direction:column}
.icdlg::backdrop{background:rgba(20,24,32,.35)}
.ic-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 6px}
.ic-head h2{font-size:var(--t-h3,1.25rem);margin:0}
.icdlg>.field{padding:0 20px 10px}
.ic-body{overflow:auto;padding:0 20px 20px}
.ic-body h3{margin:14px 0 8px;color:var(--muted);font-weight:500}
.ic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.ic-o{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--fg);cursor:pointer;font:inherit;font-size:12px;line-height:1.2;text-align:center}
.ic-o:hover{border-color:var(--accent);background:var(--accent-soft)}
.ic-o[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}
.ic-o .ico{width:24px;height:24px}

.d-css>summary h3{margin:0}
.d-css textarea{font-family:var(--f-code);font-size:13px;line-height:1.5;width:100%}
.icdlg input[type=search]{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r);font:inherit;background:var(--surface);color:var(--fg)}

/* v50: eigene Felder */
.xf{border:0;padding:0;margin:0;min-width:0}
.xf>legend{padding:0;margin-bottom:6px;font-weight:500}
.xf-opts{display:flex;flex-wrap:wrap;gap:6px 22px}
.xf-list{display:flex;flex-direction:column;gap:12px;margin:10px 0 14px}
.xf-ed{border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.xf-r1{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px}
.xf-r2{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 18px}
.xf-r2 .field{min-width:200px}
.xf-r2 .linkbtn{margin-left:auto;min-height:44px}
.xf-svcs{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.pf-o{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:var(--t-small);color:var(--muted)}
.pf-only{display:block;margin:-6px 0 4px}
@media (max-width:760px){.xf-r1{grid-template-columns:1fr}}

/* v50: E-Mails als Zeitachse */
.mtl{list-style:none;margin:14px 0 6px;padding:0 0 0 22px;position:relative}
.mtl::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.mtl-g{position:relative;margin:0 0 14px}
.mtl-g::before{content:"";position:absolute;left:-21px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong)}
.mtl-h{display:block;font-size:var(--t-small);font-weight:600;color:var(--muted);margin-bottom:6px}
.mtl-g .mlist{margin:0}
.mtl-t::before{background:var(--lit);border-color:var(--lit);width:14px;height:14px;left:-22px;top:3px}
.mtl-t .mtl-h{color:var(--fg);font-size:var(--t-body)}
.mtl-need{margin:22px 0 0;font-size:var(--t-small);font-weight:600;color:var(--muted)}
.mwhen.mx-when{display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;justify-content:flex-start}
.mx-when .field{width:auto;min-width:240px}
.mx-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}

/* v50: Verschieben, Tage ohne freie Zeit bleiben wählbar */
.cd.cd-x{color:var(--muted-2);font-weight:400}
.mv-own{margin-top:6px}
.mv-own input{width:auto;max-width:180px}

/* v50: Anlässe */
.occ-row{padding:14px 18px;border-top:1px solid var(--line)}
.occ-row:first-child{border-top:0}
.occ-h{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:6px 16px;align-items:center}
.occ-tm{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}
.occ-m{display:flex;flex-direction:column;gap:2px;min-width:0}
.occ-min{color:var(--warn)}
.occ-full{color:var(--ok)}
.occ-a{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.occ-ps{margin:10px 0 0 80px;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.occ-row .move-box{margin:12px 0 0 80px}
@media (max-width:760px){.occ-h{grid-template-columns:52px minmax(0,1fr)}.occ-a{grid-column:1 / -1;justify-content:flex-start}.occ-ps,.occ-row .move-box{margin-left:0}}
.occ-ed{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.occ-ed>legend{font-weight:500;margin-bottom:6px}
.occ-tbl{display:flex;flex-direction:column;gap:8px}
.occ-er{display:grid;grid-template-columns:160px 130px 100px 90px 100px minmax(140px,1fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.occ-er .field input{width:100%}
.occ-tk,.occ-er .linkbtn{align-self:center;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:1100px){.occ-er{grid-template-columns:repeat(3,minmax(0,1fr))}.occ-note{grid-column:1 / -1}}
/* Buchungsseite: Daten eines Anlasses */
.occ-list{display:flex;flex-direction:column;gap:8px}
.occ{display:flex;align-items:center;gap:14px;text-align:left;width:100%;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:12px 14px;cursor:pointer}
.occ:hover:not([disabled]){border-color:var(--accent)}
.occ[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}
.occ[disabled]{cursor:default;opacity:.6}
.occ-t{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.occ-l{color:var(--muted);white-space:nowrap}
.occ-er input{min-height:44px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r);font:inherit;background:var(--surface);color:var(--fg);width:100%}

.svc-vis{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.mcc{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.mcc-r{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mcc-r .field{margin:0}.mcc-r input{min-width:260px}
.copyrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.copyrow code{font-family:var(--f-code);font-size:13px;background:var(--sunk);padding:8px 10px;border-radius:var(--r);overflow-wrap:anywhere}

/* v50: Team-Seite */
.team-list{margin-top:18px}
.team-m{text-decoration:none;color:var(--fg)}
.team-m:hover{border-color:var(--accent)}
.team-ini{font-weight:600;font-size:13px}
.team-any{border-style:dashed}
.team-ed{border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:12px 0;display:flex;flex-direction:column;gap:10px}
.team-mem{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.team-mr{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
/* v50-10: Buchungsseite oben rechts, schwebender Feedback-Knopf, Spaltenbilder, Ferien als eigener Bereich */
body.adm main.wrap{position:relative}
.adm-top{position:absolute;top:36px;right:48px;display:flex;gap:6px;z-index:5}
.adm-top .ibtn-t{padding-inline:10px}
.fb-float{position:fixed;right:20px;bottom:96px;z-index:30;display:inline-flex;align-items:center;gap:8px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:.9rem;font-weight:500;box-shadow:0 6px 20px rgba(20,30,50,.14);cursor:pointer}
.fb-float:hover{box-shadow:0 8px 26px rgba(20,30,50,.2)}
.fb-float:focus-visible{outline:3px solid var(--focus,#2b6cb0);outline-offset:2px}
.fb-float svg{width:18px;height:18px}
.fb-beta{background:var(--fg);color:var(--surface);border-radius:999px;padding:2px 8px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
@media (max-width:760px){.adm-top{display:none}.fb-float{bottom:84px;right:12px;padding:8px 12px 8px 8px;font-size:.82rem}.fb-float>span:last-child{display:none}body.has-savebar .fb-float{bottom:150px}}
.cols-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cols-opt{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;position:relative}
.cols-opt input{position:absolute;opacity:0;pointer-events:none}
.cols-opt:has(input:checked){border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}
.cols-opt:has(input:focus-visible){outline:3px solid var(--focus,#2b6cb0);outline-offset:2px}
.cols-svg{width:100%;max-width:120px;height:auto;fill:var(--line);margin-bottom:4px}
.cols-opt:has(input:checked) .cols-svg{fill:var(--fg);opacity:.75}
.panel>details.d-css{border-top:0;padding-top:0}
.panel>details.d-css>summary h3{margin:0}
@media (max-width:520px){.cols-pick{grid-template-columns:1fr}}
@media (min-width:761px){.ah{padding-right:250px}}
.xf-mv{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.xf-grip{cursor:grab;display:inline-flex;padding:6px 4px;color:var(--muted)}
.xf-grip svg{width:12px;height:18px;fill:currentColor}
.xf-mv .linkbtn{min-width:32px;min-height:32px;text-decoration:none;font-size:1rem}
.xf-mv .linkbtn:disabled{opacity:.3}
.xf-ed.dragging{opacity:.5}
.xf-ed.drop{box-shadow:0 -3px 0 0 var(--fg)}
.py-stat{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:4px 0 16px;background:var(--sunk)}
.py-stat p{margin:0}.py-stat p+p{margin-top:6px}
.py-st-h{display:flex;align-items:center;gap:8px}
.py-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex:none}
.py-stat.ok{background:var(--ok-soft);border-color:var(--ok)}.py-stat.ok .py-dot{background:var(--ok)}
.py-stat.bad .py-dot{background:#c0392b}
/* v50-13: Dauer wählbar */
.dur-pick{border:0;padding:0;margin:14px 0 0}
.dur-pick legend{font-weight:600;margin-bottom:8px;padding:0}
.dur-opts{display:flex;flex-wrap:wrap;gap:8px}
.dur-o{position:relative;cursor:pointer}
.dur-o input{position:absolute;opacity:0;width:1px;height:1px}
.dur-o span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface)}
.dur-o input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}
.dur-o input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.dur-pick p{margin:6px 0 0}
.dur-var-r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
@media (max-width:520px){.dur-var-r{grid-template-columns:1fr}}
/* v50-15: Profile */
details.side-acc{display:block;padding:0;position:relative}
details.side-acc>summary{display:flex;gap:10px;align-items:center;padding:10px;min-height:0;border-radius:12px}
details.side-acc>summary:hover{background:var(--sunk)}
details.side-acc>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
details.side-acc>summary::after{width:14px;height:14px;margin-left:auto}
details.side-acc[open]{box-shadow:0 8px 24px rgba(20,30,50,.12)}
.pf-menu{display:flex;flex-direction:column;gap:2px;padding:4px 6px 8px;border-top:1px solid var(--line)}
.pf-it{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;background:none;border-radius:8px;font:inherit;font-size:.9rem;color:var(--fg);text-align:left;cursor:pointer}
.pf-it:hover{background:var(--sunk)}.pf-it.on{font-weight:600}
.pf-it .ini{width:26px;height:26px;font-size:.72rem}
.pf-add svg{width:16px;height:16px;margin:0 5px}
.pf-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}
.pf-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.pf-l-t{display:flex;flex-direction:column;flex:1;min-width:0}

/* v51: Beta-Knopf kompakt, verdeckt keine Aktionen; am Handy im Menü «Mehr» */
.fb-float{right:16px;bottom:16px;padding:6px 12px 6px 6px;gap:6px}
body.has-savebar .fb-float{bottom:16px}
@media (max-width:760px){.fb-float{display:none}}
.mod-note a{color:inherit}
.m-pf{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.err-soft{color:var(--warn,#8a5a00);display:block;margin-top:4px}
.dur-o input:checked+span{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.svc-name{hyphens:manual;-webkit-hyphens:manual}
/* v52: Terminumfragen */
.uf-ico{color:var(--muted)}.uf-ico .ico{width:22px;height:22px}
.uf-open{color:var(--ok);font-weight:500}
.uf-board{display:flex;flex-direction:column;margin-top:8px}
.uf-day{font-size:.95rem;margin:14px 0 6px;color:var(--muted);font-weight:600}
.uf-board .uf-day:first-child{margin-top:4px}
.uf-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.uf-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);position:relative}
.uf-row:first-child{border-top:0}
.uf-row.is-best{background:color-mix(in srgb,var(--lit-soft) 55%,var(--surface))}.uf-row.is-best::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lit)}
.uf-row.is-fin{background:var(--ok-soft)}.uf-row.is-fin::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ok)}
.uf-row.is-past{opacity:.55}
.uf-time{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;line-height:1.25}
.uf-mid{display:flex;flex-direction:column;gap:8px;min-width:0}
.uf-meter{display:flex;height:6px;border-radius:99px;background:var(--sunk);overflow:hidden;max-width:320px}
.uf-meter .j{background:var(--ok)}.uf-meter .v{background:color-mix(in srgb,var(--warn) 55%,transparent)}
.uf-ppl{display:flex;flex-wrap:wrap;gap:4px}.uf-ppl:empty{display:none}
.uf-chip{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;padding:2px 9px 2px 6px;border-radius:99px;line-height:1.5}
.uf-chip.j{background:var(--ok-soft);color:var(--ok)}
.uf-chip.v{border:1px dashed color-mix(in srgb,var(--warn) 70%,transparent);color:var(--warn);padding:1px 8px 1px 5px}
.uf-ck{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.uf-chip.v .uf-ck{opacity:.6}
.uf-sum{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;justify-content:flex-end;text-align:right}
.uf-sj{color:var(--ok);font-weight:600}.uf-sv{color:var(--warn)}.uf-dot{color:var(--muted)}
.uf-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.uf-sum>span{white-space:nowrap}
@media (max-width:560px){.uf-row{grid-template-columns:auto 1fr;padding:12px}.uf-time{flex-direction:row;gap:6px;align-items:baseline}.uf-mid{grid-column:1/-1;grid-row:2}.uf-right{flex-direction:row;align-items:center;gap:10px}.uf-dot{display:none}.uf-sum{gap:2px 8px}}
.uf-j{color:var(--ok);font-weight:500}.uf-v{color:var(--warn)}.uf-n{color:var(--muted)}
.uf-votes{margin-top:14px}.uf-votes h3{margin:0 0 6px}.uf-votes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.uf-votes li{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.uf-pick{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:10px}
.uf-pick legend{font-weight:600;padding:0 4px}
.uf-addf{justify-content:flex-end}
.uf-free{display:flex;flex-direction:column;gap:6px}
.uf-chosen{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.uf-chosen li{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;background:var(--sunk);border-radius:var(--r)}
.uf-page .uf-note{white-space:pre-line;margin:0}
.uf-slots{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.uf-slots legend{margin-bottom:6px}
.uf-day{font-size:1rem;margin:10px 0 0}
.uf-q{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}
.uf-t{font-variant-numeric:tabular-nums}
.uf-seg span{padding:6px 14px}
.uf-seg input[value="j"]:checked+span{background:var(--ok-soft);color:var(--ok)}
.uf-seg input[value="v"]:checked+span{background:var(--warn-soft);color:var(--fg)}
.uf-mine{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.uf-mine li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line)}

.uf-others{margin-top:20px;gap:4px}
@media (max-width:560px){.uf-seg span{padding:6px 10px}.uf-q{flex-direction:column;align-items:flex-start}}
.share-help{margin:16px 0 0}
.uf-vis{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.uf-vis legend{margin-bottom:4px}
.wz-calm{margin:0}
.res-f{display:flex;flex-direction:column;gap:6px}.res-f p{margin:0}.res-par{max-width:260px}
.uf-wide{display:none}
@media (min-width:720px){.uf-wide{display:block}.uf-narrow{display:none}}
.uf-mx-wrap{overflow-x:auto;margin-top:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.uf-mx{border-collapse:separate;border-spacing:0;font-size:.9rem;min-width:100%}
.uf-mx th,.uf-mx td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--line);border-left:1px solid var(--line);white-space:nowrap}
.uf-mx .m-name{text-align:left;position:sticky;left:0;background:var(--surface);border-left:0;font-weight:500;z-index:1;min-width:140px}
.uf-mx thead th{background:var(--sunk);font-weight:600}
.uf-mx thead .m-name{background:var(--sunk)}
.uf-mx .m-day{font-size:.82rem;color:var(--muted);font-weight:600;padding-bottom:2px;border-bottom:0}
.uf-mx .m-t{font-variant-numeric:tabular-nums;padding-top:2px}
.uf-mx td{min-width:64px}
.uf-mx .m-j{background:var(--ok-soft);color:var(--ok)}
.uf-mx .m-v{background:var(--warn-soft);color:var(--warn);letter-spacing:-1px}
.uf-mx .m-n{background:color-mix(in srgb,var(--danger-soft) 70%,var(--surface))}
.uf-mx .uf-ck{width:16px;height:16px;vertical-align:-3px}
.uf-mx tfoot td,.uf-mx tfoot th{border-bottom:0;background:var(--surface)}
.uf-mx .m-tot b{font-size:1rem}
.uf-mx .is-best{box-shadow:inset 0 -3px 0 var(--lit)}.uf-mx .is-fin{box-shadow:inset 0 -3px 0 var(--ok)}.uf-mx .is-past{opacity:.55}
.uf-mx .m-star{color:var(--lit-ink,var(--lit));margin-left:4px}
.uf-mx .m-tot .mk{display:block;margin-top:4px}
.uf-mx .m-act td{border-top:1px solid var(--line);padding:8px 6px}
.uf-mx .m-nm{display:flex;align-items:center;justify-content:space-between;gap:8px}
.uf-mx .m-na{display:inline-flex;align-items:center;gap:2px;color:var(--muted)}
.uf-mx .m-mail .ico{width:15px;height:15px}
.uf-mx .m-del{width:28px;height:28px;opacity:.45}.uf-mx .m-del .ico{width:15px;height:15px}
.uf-mx tr:hover .m-del,.uf-mx .m-del:focus-visible{opacity:1}
.side-ver{font-size:.75rem;color:var(--muted);padding:6px 12px 0;font-variant-numeric:tabular-nums}
.uf-eyebrow{display:flex;align-items:center;gap:6px;color:var(--muted);margin:0;font-weight:500}.uf-eyebrow .ico{width:16px;height:16px}
.uf-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;color:var(--muted)}.uf-meta>span{display:inline-flex;align-items:center;gap:6px}.uf-meta .ico{width:17px;height:17px}
.uf-mine li{align-items:center}
.uf-pill{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:500;padding:2px 10px;border-radius:99px;white-space:nowrap}
.uf-pill.a-j{background:var(--ok-soft);color:var(--ok)}
.uf-pill.a-v{border:1px dashed color-mix(in srgb,var(--warn) 70%,transparent);color:var(--warn)}
.uf-pill.a-n{background:var(--sunk);color:var(--muted)}
.mod-g{margin:18px 0 2px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.mods .mod-g:first-of-type{margin-top:10px}
.mods .mod{padding:10px 0}
.mod-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 16px;align-items:center}
.mod-row .mod-tx{cursor:pointer;gap:1px;max-width:none}
.mod-row .mod-tx b{font-size:.95rem}
.mod-via a{color:inherit}
.mod-go{white-space:nowrap}
.mods .mod-n{margin:4px 0 0}
@media (max-width:560px){.mod-row{grid-template-columns:minmax(0,1fr) auto}.mod-go{grid-row:2;justify-self:start}}
.mod-row .tgl-r{width:44px;min-width:44px;justify-content:flex-end}
.mod-row>.tgl{grid-column:3;grid-row:1}
@media (max-width:560px){.mod-row>.tgl{grid-column:2}}
.mods .mod-list .mod:first-child{border-top:0}
.mod-g{border-bottom:1px solid var(--line);padding-bottom:6px}
.mod-st{display:inline-flex;align-items:center;gap:14px;justify-content:flex-end;flex-wrap:wrap}.mod-st .mk{font-size:.82rem;white-space:nowrap}
@media (max-width:560px){.mod-st{grid-row:2;grid-column:1/-1;justify-content:flex-start}}
.uf-tz{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.uf-tz .seg button{padding:6px 12px;font-size:.88rem}
.uf-orig{display:inline-block;margin:0 6px}.uf-t .uf-orig{margin-left:4px}
.uf-to{display:block}
.uf-cal{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px 24px;align-items:start}
.uf-day-p{display:flex;flex-direction:column;gap:8px}
.uf-own{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.uf-own select{width:auto;min-width:120px}
@media (max-width:640px){.uf-cal{grid-template-columns:1fr}}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:34px}
.uf-hint{display:flex;align-items:center;gap:6px;margin:0 0 14px;color:var(--muted)}.uf-hint .ico{width:16px;height:16px}
#uf-f{display:flex;flex-direction:column;gap:24px}
.uf-slots .uf-q:last-child{border-bottom:1px solid var(--line)}
.uf-who{display:flex;flex-direction:column;gap:12px}
.uf-sub{font-size:1rem;margin:0}
.uf-who .nb-grid{margin:0}
.uf-priv{margin:0;max-width:60ch}
#uf-f>.err{margin:0}
.uf-slots legend{padding:0;font-size:1rem;margin-bottom:2px}
.uf-trust{display:flex;gap:8px;align-items:flex-start;max-width:680px;margin:16px 4px 0}.uf-trust .ico{width:16px;height:16px;flex:none;margin-top:2px;color:var(--ok)}
.uf-legend-best{display:inline-flex;align-items:center;gap:6px}
.uf-mx .m-rec{display:block;font-size:.72rem;font-weight:600;color:var(--lit-ink,#a8562f);margin-top:2px;letter-spacing:.02em}
.uf-mx td.is-best,.uf-mx th.is-best{background-image:linear-gradient(color-mix(in srgb,var(--lit) 10%,transparent),color-mix(in srgb,var(--lit) 10%,transparent))}
.uf-mx tbody .is-best{box-shadow:none}

/* =====================================================================
   v52 Design-Schliff, Etappe 1 (Audit P1-03, 08, 09, 15, 16, 17 und weitere)
   ===================================================================== */
/* Felder: genau 44px, Fokus als farbiger Rand mit schmalem Hof */
input[type=text],input[type=number],input[type=password],input[type=date],input[type=email],input[type=tel],input[type=time],input[type=url],input[type=search],select{height:var(--h-m);min-height:var(--h-m);padding:0 12px;line-height:22px;font-size:var(--t-body)}
select{padding-right:38px}
textarea{min-height:88px;padding:10px 12px;line-height:var(--lh-body)}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input:not([type=checkbox]):not([type=radio]):not([type=color]):hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--line-strong) 60%,var(--fg))}
input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible,input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-halo)}
input:disabled,select:disabled,textarea:disabled{background:var(--sunk);color:var(--muted);border-color:var(--line)}
::placeholder{color:var(--muted-2);opacity:1}
.field{gap:8px}
.field>.small,.field>.small.muted{margin-top:-2px}
/* Auswahlpfeil: SVG weiter oben, mit Abstand rechts */
/* Links: in der Verwaltung immer Tinte mit feinem Unterstrich, Orange bleibt der Buchungsseite */
body.adm a:not(.btn):not(.mn-i):not(.nv):not(.side-logo):not(.mtop-home):not(.thumb),body.adm .linkbtn,body.adm a.xl{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--fg) 45%,transparent)}
body.adm a:not(.btn):not(.mn-i):not(.nv):hover,body.adm .linkbtn:hover{color:var(--lit-ink);text-decoration-color:currentColor}
.linkbtn{font-family:inherit;font-weight:500;font-size:inherit;line-height:inherit}
.linkbtn.small,.small .linkbtn{font-size:var(--t-small);line-height:var(--lh-small)}
.linkbtn.danger-t,body.adm .linkbtn.danger-t{color:var(--danger)}
/* Schalter gut sichtbar, hell und dunkel */
.tgl-t{background:color-mix(in srgb,var(--line-strong) 55%,var(--surface))}
.tgl-t::after{background:#fff}
/* Kästen innerhalb von Karten: --inset statt --sunk */
.nt,.hchip,pre.code,.copyrow code,.ask-box,.move-box,.form-info,.py-stat,.logo-box,.uf-chosen li,.uf-res li{background:var(--inset)}
.hchip{height:36px;min-height:36px;padding:0 12px;line-height:20px;display:inline-flex;align-items:center}
pre.code,.copyrow code{font-size:var(--t-code)}
/* Seitentitel einheitlich */
.ah h1,.t-tit h1{font-size:var(--t-page);line-height:var(--lh-page);letter-spacing:-0.025em;font-weight:600}
@media (max-width:560px){.ah h1,.t-tit h1{font-size:28px;line-height:34px}}
/* Hilfetexte nicht zu breit */
.panel p.small,.panel .small.muted,.field>.small{max-width:68ch}
/* Kontrollkästchen-Zeilen in normaler Grösse */
.check{font-size:var(--t-body);line-height:var(--lh-body)}
.check.small{font-size:var(--t-small);line-height:var(--lh-small)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3abba' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}
:root[data-theme="dark"] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3abba' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
/* Einheitliche Breiten und Abstände (P1-05, P1-12) */
#pane>.panel+.panel,#pane>.panel+div>.panel:first-child,#pane .panel+.panel{margin-top:16px}
.adm-narrow .panel,.adm-narrow>.nt{max-width:760px}
.adm-narrow-page .savebar-fix{max-width:760px}
.svc-grid{gap:16px;align-items:start}
/* «Hinzufügen» überall gleich: Zweitknopf mit Plus, linksbündig (P1-06) */
.madd{margin:8px 0 0;min-height:var(--h-m)}
.btn .ico{width:18px;height:18px}
.btn.sm .ico{width:16px;height:16px}
#xf-add,#tm-add,#tr-add,#ab-add,#k-add,#s-add,[data-oeadd]{width:auto;align-self:flex-start}
/* Speicherleiste und Beta-Knopf (P1-10, P1-11, P2-21) */
body.has-savebar .fb-float{bottom:96px}
.zf-video .fb-float{display:none!important}
.savebar-fix{border-radius:var(--r-m)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .savebar-fix{background:var(--surface);border:1px solid var(--line-strong);color:var(--fg)}}
:root[data-theme="dark"] .savebar-fix{background:var(--surface);border:1px solid var(--line-strong);color:var(--fg)}
/* Pfeil beim Zuklappen drehen (P1-14) */
details[open]>.svc-sum .svc-sum-edit::after,details[open]>summary .svc-sum-edit::after{transform:rotate(180deg)}
.tsel{width:auto;min-width:130px}
select.htime{width:auto;min-width:96px}
/* Datumsfeld */
.dfield{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:44px;padding:0 12px 0 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-body);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden}
.dfield:hover{border-color:color-mix(in srgb,var(--line-strong) 60%,var(--fg))}
.dfield:focus-visible,.dfield[aria-expanded="true"]{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-halo)}
.dfield-t{overflow:hidden;text-overflow:ellipsis;min-width:0}
.dfield-s{display:none}
.dfield{container-type:inline-size}
@container (max-width:250px){.dfield-l{display:none}.dfield-s{display:inline}}
@container (max-width:180px){.dfield .ico{display:none}}
.dfield-ph{color:var(--muted)}
.dfield .ico{flex:none;width:18px;height:18px;color:var(--muted)}
.dp-pop{position:absolute;z-index:200;max-width:none;box-shadow:0 12px 32px rgba(15,23,42,.16),0 2px 6px rgba(15,23,42,.08)}
.dp-pop .cd{background:transparent;font-weight:500;height:38px}
.dp-pop .cd.td{border-color:var(--line-strong)}
.dp-pop .cd:hover:not(:disabled){background:var(--sunk);border-color:transparent}
.dp-pop .cd[aria-pressed="true"]{background:var(--fg);color:var(--bg);font-weight:600}
.dp-pop .cd:focus-visible{outline:2px solid var(--fg);outline-offset:1px}
.dp-foot{display:flex;justify-content:flex-start;border-top:1px solid var(--line);padding-top:8px}
.ini-img{background:#fff;border:1px solid var(--line);padding:3px;overflow:hidden}
.ini-img img{width:100%;height:100%;object-fit:contain;display:block}

/* 52-14: Design-Audit Etappe 4 */
/* Abschnitt aufklappen: ganze Breite, Linie oben, Pfeil rechts */
details.fold{border-top:1px solid var(--line);padding:0;margin:0}
details.fold>summary{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px 0;font-size:var(--t-body);line-height:24px;font-weight:500;color:var(--fg);list-style:none;cursor:pointer}
details.fold>summary::before{content:none!important}
details.fold>summary::after{margin-left:auto}
details.fold>summary:hover{color:var(--accent-ink,var(--fg))}
details.fold>summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
details.fold[open]>summary{margin-bottom:4px}
details.fold[open]{padding-bottom:16px}
.svc-tr .tr-langs .tr-lang.fold{border:0;border-top:1px solid var(--line);border-radius:0;padding:0}
.svc-tr .tr-langs .tr-lang.fold>summary{padding:12px 0;min-height:48px;background:none;border:0;font-weight:500;font-size:var(--t-body)}
.svc-tr .tr-langs .tr-lang.fold[open]>.svc-grid{padding:0 0 12px}
.svc-tr .tr-langs{display:block}
.svc-tr .tr-langs details.fold:last-child{border-bottom:1px solid var(--line)}
.acc-fold.fold>summary{display:flex}
.svc-links.fold{margin-top:16px}
.svc-links.fold>summary{color:var(--fg)}
.ph-help.fold{margin-top:12px}
/* E-Mail-Zeilen: Pfeil wie bei den Angeboten, Editor direkt unter der Zeile */
.mrow-e{text-decoration:none!important;color:var(--fg);font-weight:500;font-size:var(--t-small)}
.mrow-chev{flex:none;display:inline-flex;transition:transform .15s}
.mrow-chev .ico{width:16px;height:16px}
.mrow.on .mrow-chev{transform:rotate(180deg)}
.medit.medit-in{margin:8px 0 12px;box-shadow:none;border:1px solid var(--line);border-radius:var(--r-m)}
@media (max-width:560px){.mrow-e{display:none}}
/* Kopierfeld: Label oben, ein Kasten mit Code und Knöpfen */
.code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 0;align-items:center}
.code-row .h{display:contents}
.code-row .h>span{grid-column:1/-1;grid-row:1;font-size:var(--t-small);line-height:var(--lh-small)}
.code-row .h>span:empty{display:none}
.code-row .h>span b{font-weight:600}
.code-row::before{content:"";grid-column:1/-1;grid-row:2;align-self:stretch;background:var(--inset);border-radius:var(--r)}
.code-row>pre.code{grid-column:1;grid-row:2;background:transparent;position:relative}
.code-row .h>div{grid-column:2;grid-row:2;align-self:start;display:flex;gap:6px;padding:6px 6px 0 0;position:relative}
.code-row .h>button{grid-column:2;grid-row:2;align-self:start;margin:6px 6px 0 0;position:relative}
.code-row .btn.sm{background:var(--surface)}
.code-row .btn.sm:hover{background:var(--bg)}
.copyrow{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;background:var(--inset);border-radius:var(--r);padding:6px 6px 6px 0}
.copyrow code{background:transparent!important;flex:1;min-width:0;padding:6px 12px}
.copyrow .btn.sm{flex:none;background:var(--surface)}
/* Status-Kasten: Fehler deutlicher als Erfolg, ohne Rand */
.py-stat{border:0;border-radius:var(--r);background:var(--inset)}
.py-stat.ok{background:var(--ok-soft);border:0}
.py-stat.bad{background:var(--danger-soft)}
.py-stat.bad .py-dot{background:var(--danger)}
.py-stat .py-st-h b{font-weight:600}
.madd{align-self:flex-start;width:auto}
#m-addx{margin:4px 0 0 22px}
.mtl-need{margin:28px 0 8px;padding-left:22px}
.mtl-need+.mlist{padding-left:22px}
.medit-in .medit-h h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.medit-in .medit-h:not(:has(button)){margin:0;min-height:0}
.panel ul:not([class]){margin:0;padding-left:20px;display:grid;gap:6px}

/* 52-14: Design-Audit Etappe 5 */
.page-intro{margin:0 0 20px;max-width:68ch;color:var(--muted);font-size:var(--t-body);line-height:24px}
.mod-hint{margin:16px 0 0}
/* Innenabstände der Karten: 24px, am Handy 16px */
.panel{padding:var(--pad-card);gap:14px}
.wcard{padding:var(--pad-card)}
.svc-sum{padding:16px var(--pad-card)}
.svc-body{padding:20px var(--pad-card) var(--pad-card)}
.tr{padding:16px var(--pad-card)}
.occ-row{padding:14px var(--pad-card)}
@media (max-width:640px){:root{--pad-card:16px}}
/* Hierarchie */
.wcard h3{font-size:var(--t-lead);line-height:var(--lh-lead)}
.trips h4,.panel h4{font-size:var(--t-body);line-height:24px;font-weight:600}
.uf-pick legend,.uf-vis legend{font-size:var(--t-small);line-height:var(--lh-small);font-weight:500}
/* Symbolkacheln einheitlich */
.pl-ico,.mrow-i{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent-ink)}
.mrow.on .mrow-i{background:var(--accent-soft)}
.mrow-i .ico{width:20px;height:20px}
/* Umfrage: keine Rahmen ineinander */
.uf-pick{border:0;padding:0}
.uf-pick legend{padding:0;margin-bottom:6px}
.uf-cal .cal-wrap{box-shadow:none}
/* Erste Schritte: Kreise bündig, Rand sichtbar */
.oblist{margin-left:-8px;margin-right:-8px}
.obcheck{border-color:var(--line-strong)}
/* Jetzt-Linie nicht auf dem unteren Rand */
.dcard>.nowl:last-child{display:none}
/* Terminzeilen: Aktionen oben bündig */
.tr{align-items:start}
.tr-side{min-height:24px}
/* Angebote: Meta mit Trennpunkt */
.svc-sum-m{gap:2px 0}
.svc-sum-m>span+span::before{content:"·";margin:0 8px;color:var(--muted)}
/* Symbolauswahl nicht abschneiden */
.icon-opts{flex-wrap:wrap;overflow:visible;padding:0}
/* Handy: Unterreiter waagrecht scrollbar statt zweizeilig */
@media (max-width:760px){.adm-main .subtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}.adm-main .subtabs::-webkit-scrollbar{display:none}.adm-main .subtabs>*{flex:none;white-space:nowrap}}
/* Dunkel: Farbpunkte sichtbar */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sw,:root:not([data-theme="light"]) input[type=color]{box-shadow:0 0 0 1px rgba(255,255,255,.3)}}
:root[data-theme="dark"] .sw,:root[data-theme="dark"] input[type=color]{box-shadow:0 0 0 1px rgba(255,255,255,.3)}
/* Kontrollkästchen und Optionen: eigene Form, 20px, überall gleich (Schalter ausgenommen) */
#pane input[type=checkbox]:not([role=switch]),#pane input[type=radio],.wiz input[type=checkbox]:not([role=switch]),.wiz input[type=radio]{-webkit-appearance:none;appearance:none;flex:none;width:20px;height:20px;margin:2px 0 0;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:5px;display:inline-grid;place-content:center;cursor:pointer;vertical-align:-4px;transition:background .12s,border-color .12s}
#pane input[type=radio],.wiz input[type=radio]{border-radius:50%}
#pane input[type=checkbox]:not([role=switch])::before,.wiz input[type=checkbox]:not([role=switch])::before{content:"";width:12px;height:12px;background:var(--surface);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%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='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;transform:scale(0);transition:transform .12s}
#pane input[type=radio]::before,.wiz input[type=radio]::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--surface);transform:scale(0);transition:transform .12s}
#pane input[type=checkbox]:not([role=switch]):checked,#pane input[type=radio]:checked,.wiz input[type=checkbox]:not([role=switch]):checked,.wiz input[type=radio]:checked{background:var(--fg);border-color:var(--fg)}
#pane input[type=checkbox]:not([role=switch]):checked::before,#pane input[type=radio]:checked::before,.wiz input[type=checkbox]:not([role=switch]):checked::before,.wiz input[type=radio]:checked::before{transform:scale(1)}
#pane input[type=checkbox]:not([role=switch]):hover:not(:disabled),#pane input[type=radio]:hover:not(:disabled){border-color:var(--fg)}
#pane input[type=checkbox]:not([role=switch]):focus-visible,#pane input[type=radio]:focus-visible,.wiz input[type=checkbox]:not([role=switch]):focus-visible,.wiz input[type=radio]:focus-visible{outline:0;box-shadow:0 0 0 3px var(--focus-halo);border-color:var(--focus)}
#pane input[type=checkbox]:not([role=switch]):disabled,#pane input[type=radio]:disabled{opacity:.45;cursor:default}
/* Entfernen: überall gleich, leise, rot erst beim Darüberfahren */
.btn-rm{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;margin:0 -10px 0 0;border:0;border-radius:var(--r);background:transparent;color:var(--muted);font:inherit;font-size:var(--t-small);font-weight:500;cursor:pointer;white-space:nowrap}
.btn-rm .ico{width:16px;height:16px}
.btn-rm:hover{color:var(--danger);background:var(--danger-soft)}
.btn-rm:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
/* Kleinigkeiten aus Priorität 3 */
.pv-h h3{flex-basis:100%;font-size:var(--t-lead);line-height:var(--lh-lead)}
.color-row input[type=color]{width:44px;height:44px;padding:4px;border-color:var(--line-strong)}
.hmerge{margin-left:0}
.mod-st .mk{font-size:var(--t-small)}
.mod-g{font-size:var(--t-caption);line-height:var(--lh-caption)}
@media (max-width:560px){.svc-sum-edit .se-c,.svc-sum-edit .se-o{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media (max-width:560px){.opfoot,.adm-foot{flex-direction:column;align-items:flex-start}.ui-lang{margin-left:0}}
@media (max-width:560px){
  .code-row::before{grid-row:2/4}
  .code-row .h>div{grid-column:1/-1;grid-row:3;padding:0 6px 6px 12px}
  .code-row .h>button{grid-column:1/-1;grid-row:3;justify-self:start;margin:0 6px 6px 12px}
  .copyrow{flex-wrap:wrap;padding:6px 6px 6px 0}
  .copyrow .btn.sm{margin-left:12px}
}
/* 52-16: Hover mit leichter Fläche in der Akzentfarbe (Buchungsseite und Verwaltung) */
.slot,.svc,.occ,.dur-o span,.cd{transition:background-color .12s,border-color .12s}
.slot:hover:not(:disabled):not([aria-pressed="true"]),.occ:hover:not(:disabled):not([aria-pressed="true"]){background:var(--accent-soft);border-color:var(--accent)}
.svc:hover:not([aria-pressed="true"]):not(.on){background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}
.dur-o:hover input:not(:checked)+span{background:var(--accent-soft);border-color:var(--accent)}
.cd[data-day]:hover:not(:disabled):not([aria-pressed="true"]){background:var(--accent-soft)}
/* 52-17: geführte Einrichtung */
.obg{position:sticky;top:12px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 24px;padding:12px 12px 12px 20px;border-radius:var(--r-m);background:var(--accent-soft);color:var(--accent-ink);box-shadow:0 6px 20px rgba(15,23,42,.08)}
.obg-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.obg-k{font-size:var(--t-caption);line-height:var(--lh-caption);font-weight:600;letter-spacing:.02em;opacity:.8}
.obg-t b{font-size:var(--t-body);line-height:24px}
.obg-a{display:flex;gap:8px;flex-wrap:wrap}
.obg .btn.ghost{background:var(--surface)}
@media (max-width:760px){.obg{position:static;padding:12px 16px}.obg-a{width:100%}.obg-a .btn{flex:1}}
/* 52-18: Beta-Knopf mit kleinem X zum Ausblenden */
.fb-wrap{position:fixed;right:16px;bottom:16px;z-index:30}
body.has-savebar .fb-wrap{bottom:96px}
.fb-wrap .fb-float{position:relative;inset:auto!important}
.fb-x{position:absolute;top:-7px;right:-7px;width:22px;height:22px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;box-shadow:0 2px 6px rgba(20,30,50,.12)}
.fb-x .ico,.fb-x svg{width:12px;height:12px}
.fb-x:hover{color:var(--fg);border-color:var(--fg)}
.fb-x:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
@media (max-width:760px){.fb-wrap{display:none}}
.zf-video .fb-wrap{display:none!important}
.fb-wrap .fb-float{z-index:1}
.fb-x{z-index:2}
.hilfe-fb{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.hilfe-fb h3{margin:0 0 4px}
.nowl span i{font-style:normal;font-weight:500;margin-right:2px}
.t-act .ibtn-t{padding-inline:10px}
/* 52-22: Logo und Name nebeneinander; nur ein breites Logo (Schriftzug) steht allein */
.zf-buchung a.brand img{max-height:48px;max-width:220px;border-radius:8px}
.logo-wide .brand-t{display:none}
.logo-wide img{border-radius:0!important}
/* ===== v53: Terminumfrage ohne Konto ===== */
.zf-buchung .brand .zf-logo.gp-logo,.zf-buchung #brand .zf-logo.gp-logo{visibility:visible;display:inline-flex;align-items:center;gap:8px}
.gp-logo .zf-word{font-size:1.25rem}
.gp-logo .zf-mark{width:28px;height:28px}
.gp-tag{font-weight:600;color:var(--muted);font-size:var(--t-small);padding-left:10px;margin-left:2px;border-left:1px solid var(--line);line-height:1.2}
#brand:has(.gp-tag){display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.gp-page{display:flex;flex-direction:column;gap:20px;max-width:760px}
.gp-page h1{font-size:1.9rem;line-height:1.15;margin:0}
.gp-intro{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.gp-lead{font-size:1.08rem;line-height:1.55;color:var(--fg);margin:0;max-width:60ch}
.gp-form{display:flex;flex-direction:column;gap:16px}
.gp-sec,.gp-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:22px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-1)}
.gp-h{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin:0}
.step-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:.85rem;font-weight:700;flex:none}
.gp-box h2,.gp-res h2{font-size:1.15rem;margin:0}
.gp-box>p{margin:0}
.gp-form .field{margin:0}
.gp-form textarea{resize:vertical}
.gp-dur{max-width:240px}
.gp-when{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:start}
.gp-cal.cal-wrap{padding:0;border:0;background:transparent;box-shadow:none;max-width:340px}
.gp-cal .cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gp-d{width:42px;height:42px}
.gp-d:disabled{opacity:.35;cursor:default}
.gp-d.td:not([aria-pressed="true"]){box-shadow:inset 0 0 0 1.5px var(--line-strong,var(--muted))}
.gp-picked{min-width:0}
.gp-hint{color:var(--muted);margin:6px 0 0;padding:16px;border:1px dashed var(--line);border-radius:var(--r)}
.gp-days{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.gp-day{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.gp-dh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gp-dh .btn-rm{min-height:36px}
.gp-times{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gp-chip{display:inline-flex;align-items:center;gap:2px;background:var(--sunk);border-radius:var(--r-pill);padding:2px 2px 2px 12px;font-weight:600;font-variant-numeric:tabular-nums}
.gp-chip button{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.gp-chip button:hover{background:var(--surface);color:var(--fg)}
.gp-chip .ico{width:14px;height:14px}
.gp-times select{width:auto;min-height:36px;padding:4px 30px 4px 12px;border-radius:var(--r-pill);font-weight:500}
.gp-copy{align-self:flex-start;min-height:40px;display:inline-flex;align-items:center}
.gp-warn{color:var(--danger);margin:0}
.gp-count{margin:0;min-height:1.2em}
.gp-vis{display:flex;flex-direction:column;gap:8px}
.gp-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;font-weight:400}
.gp-opt:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.gp-opt input{margin-top:3px;width:18px;height:18px;flex:none}
.gp-opt>span{display:flex;flex-direction:column;gap:2px}
.gp-why{margin:0}
.gp-submit{display:flex;gap:10px;flex-wrap:wrap}
.gp-submit .btn{min-width:200px}
.gp-fine,.gp-keep{display:flex;gap:8px;align-items:flex-start;margin:0}
.gp-fine .ico,.gp-keep .ico{width:16px;height:16px;flex:none;margin-top:2px;color:var(--ok)}
.gp-keep .ico{color:var(--muted)}
.gp-mine{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 16px}
.gp-mine ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.gp-mine li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gp-share{display:flex;flex-direction:column;gap:10px}
.gp-share-b,.gp-row,.gp-next,.gp-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.gp-share .copyrow code{flex:1 1 260px}
.gp-done{align-items:stretch}
.gp-ok{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ok-bg,var(--sunk));color:var(--ok)}
.gp-ok .ico{width:28px;height:28px}
.gp-adm{border-style:dashed}
.gp-big{font-size:1.2rem;margin:0}
.gp-fin{border-color:var(--ok)}
.gp-pick{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-1)}
.gp-pick:focus{outline:none}
.gp-confirm{border:1px solid var(--danger);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.gp-confirm p{margin:0}
.gp-res{display:flex;flex-direction:column;gap:8px}
.gp-res>p{margin:0}
.gp-empty{margin:0}
.gp-who ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}
.gp-who li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.gp-fix{white-space:nowrap}
.gp-foot .gp-made{margin:0;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.gp-foot .gp-made a{color:var(--fg);font-weight:600;text-underline-offset:3px}
.uf-ad .uf-time b{white-space:nowrap}
@media (max-width:720px){
  .gp-when{grid-template-columns:1fr}
  .gp-cal.cal-wrap{max-width:none}
  .gp-sec,.gp-box{padding:18px 16px}
  .gp-page h1{font-size:1.6rem}
  .gp-submit .btn{flex:1 1 auto}
}
.gp-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 14px;border-radius:var(--r);background:var(--inset)}
.gp-note .ico{width:18px;height:18px;flex:none;margin-top:2px;color:var(--ok)}
@media (max-width:720px){.uf-right{min-width:0;flex-wrap:wrap;justify-content:flex-end}.uf-sum{min-width:0}}
/* ===== v53: Testphase und Abo ===== */
.bill-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;padding:12px 16px;margin:0 0 16px;border-radius:var(--r);background:var(--inset);border:1px solid var(--line)}
.bill-bar p{margin:0;flex:1 1 280px}
.bill-over{background:var(--surface);border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}
.bill-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0 8px}
.bill-opt{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);color:var(--fg);text-decoration:none;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}
.bill-opt:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.bill-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.bill-opt b{font-size:1rem}
.bill-p{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}
.bill-page{max-width:640px}
.bill-page h1{font-size:1.8rem;margin:12px 0 8px}
.bill-mark .zf-logo{visibility:visible;display:inline-flex}
.bill-lead{font-size:1.08rem;line-height:1.55}
.bill-later{margin-top:20px}
.bill-dlg{display:flex;flex-direction:column;gap:6px}
.bill-dlg h2{margin:0}
.bill-dlg p{margin:0}
.bill-form{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.bill-quick{display:flex;gap:8px;flex-wrap:wrap}
.bk-paused p{margin:0 0 12px}
.bk-contact{font-size:1.1rem;font-weight:600;user-select:all}
.bill-page h1:focus{outline:none}
/* v53: Was ist neu */
.news-card{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);padding:16px 18px;margin:0 0 18px}
.news-h{display:flex;align-items:center;gap:10px}
.news-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sunk);color:var(--accent,var(--fg));flex:none}
.news-ico svg,.news-ico .ico{width:15px;height:15px}
.news-h h2{font-size:1rem;margin:0;flex:1;min-width:0}
.news-ok{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font:inherit;font-size:var(--t-small);padding:6px 8px;border-radius:999px;cursor:pointer}
.news-ok:hover{background:var(--sunk);color:var(--fg)}
.news-ok:focus-visible{outline:3px solid var(--focus,#2b6cb0);outline-offset:1px}
.news-ok svg,.news-ok .ico{width:14px;height:14px}
.news-body{margin:12px 0 0 38px;display:flex;flex-direction:column;gap:10px}
.news-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.news-v{margin:6px 0 -2px;font-size:var(--t-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:500}
.news-v:first-child{margin-top:0}
.news-card li{display:flex;flex-direction:column;gap:1px}
.news-card li b{font-weight:600;font-size:.95rem}
.news-card li span{color:var(--muted);font-size:var(--t-small);line-height:1.45;max-width:68ch}
@media (max-width:640px){.news-body{margin-left:0}}
/* v53: Rückmeldungen */
.fb-panel{display:flex;flex-direction:column;gap:18px}
.fb-head h2{margin:0 0 6px}
.fb-head p{margin:0;max-width:62ch}
.fb-filter{display:flex;flex-wrap:wrap;gap:6px}
.fb-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg);font:inherit;font-size:.9rem;cursor:pointer}
.fb-chip:hover{border-color:var(--line-strong)}
.fb-chip.on{background:var(--fg);border-color:var(--fg);color:var(--surface)}
.fb-chip:focus-visible{outline:3px solid var(--focus,#2b6cb0);outline-offset:2px}
.fb-n{font-size:.8rem;font-variant-numeric:tabular-nums;opacity:.7}
.fb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fb-it{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.fb-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fb-who{font-weight:600}
.fb-when{margin-left:auto}
.fb-meta{margin:-4px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px}
.fb-meta a{color:inherit}
.fb-text{margin:0;white-space:pre-wrap;line-height:1.5;font-size:1.02rem}
.fb-more{border-top:1px solid var(--line);padding-top:10px;max-width:none;color:var(--muted)}
.fb-more summary{font-weight:500}
.fb-more p{margin:6px 0 0;word-break:break-word}
.fb-it .field{margin:0;max-width:none}
.fb-note textarea{width:100%}
.fb-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.fb-act-l{display:flex;gap:8px;flex-wrap:wrap}
.fb-del-ask{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:760px){.fb-when{margin-left:0;width:100%}}
/* v53: Serien */
.ser-pick{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.ser-row{display:flex;gap:12px;flex-wrap:wrap}
.ser-row .field{margin:0;min-width:150px;flex:1 1 150px}
.ser-box{display:flex;flex-direction:column;gap:6px}
.ser-box>p{margin:0}
.ser-list{margin:0;padding:0 0 0 1.6em;display:flex;flex-direction:column;gap:4px}
.ser-list li{line-height:1.4}
.ser-list li>span:first-child{font-variant-numeric:tabular-nums}
.ser-note{margin-left:8px;color:var(--warn,#a15c00)}
.ser-skip>span:first-child{text-decoration:line-through;color:var(--muted)}
.ser-gone>span:first-child{text-decoration:line-through;color:var(--muted)}
.ser-me>span:first-child{font-weight:600}
.ser-list li a,.ser-list li .small{margin-left:8px}
.ser-cust,.ser-done{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.ser-cust h2,.ser-done h2{font-size:1.1rem;margin:0}
.ser-done p{margin:0}
.new-box .ser-box{padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r)}
.ser-field select{max-width:320px}
.fb-note textarea{min-height:56px}
/* 54-3: Handy-Liste der Angebote: Name nie zusammenquetschen. Lange Angaben (Dauer, Preis) rutschen unter den Namen. */
.bk-two .svc-top{flex-wrap:wrap;row-gap:2px}
.bk-two .svc-top .svc-name{flex:1 1 auto;min-width:min(12ch,100%)}
.bk-two .svc-meta-r{flex:0 1 auto;min-width:0;max-width:100%}

/* 58: Anhänge im Fehlerbericht, Systemprüfung */
.bug-att{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}
.bug-att>.btn{align-self:flex-start}
.bug-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bug-files li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r);padding:6px 8px;background:var(--surface)}
.bug-files img,.bug-pdf{width:44px;height:44px;border-radius:6px;object-fit:cover;flex:none;background:var(--sunk)}
.bug-pdf{display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--muted)}
.bug-fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bug-hint{margin:0}
.bug-sys{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.bug-sys details summary{cursor:pointer}
.bug-sys details>div{margin-top:8px}
.sys-ws{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.sys-w{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:var(--r);background:var(--sunk);line-height:1.45}
.sys-w svg,.sys-w .ico{width:15px;height:15px;flex:none;margin-top:3px}
.sys-w.bad{background:var(--danger-soft);color:var(--fg)}
.sys-w.bad svg{color:var(--danger)}
.sys-w.warn svg{color:var(--warn)}
.sys-ok{display:flex;gap:8px;align-items:center;margin:0 0 12px}
.sys-ok svg{width:15px;height:15px;color:var(--ok)}
.sys-t{border-collapse:collapse;width:100%;font-size:var(--t-small)}
.sys-t th{font-weight:500;text-align:left;color:var(--muted);padding:5px 12px 5px 0;vertical-align:top;white-space:nowrap}
.sys-t td{padding:5px 0;word-break:break-word}
.sys-t tr+tr th,.sys-t tr+tr td{border-top:1px solid var(--line)}
.sys-alert{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-l);background:var(--danger-soft);border:1px solid var(--line);margin:0 0 14px}
.sys-alert svg{width:16px;height:16px;color:var(--danger);flex:none}
.sys-alert span{flex:1;min-width:0}
.fb-files{display:flex;flex-wrap:wrap;gap:8px}
.fb-files a{display:flex;flex-direction:column;align-items:center;gap:4px;width:96px;text-decoration:none;color:var(--muted);font-size:var(--t-caption)}
.fb-files img,.fb-files .bug-pdf{width:96px;height:72px;border-radius:8px;border:1px solid var(--line);object-fit:cover}
.fb-files span{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fb-notify{margin:4px 0 14px}
