/* Glamingo — gemeinsame Styles für www.glamingo.de (Kunden-App) und admin.glamingo.de (Glamingo PRO)
   Design System „Glamingo“: https://claude.ai/artifact/PEpzmxvww2ahqGi3x1juBq — Tokennamen identisch mit dessen tokens.json.
   Regel: jede rosa Fläche mit Text = --brand-strong + --on-brand (Kontrast); --brand nur für Zeichen ohne Text (Fokus, Sterne, Marker). */
/* Plus Jakarta Sans — selbst gehostet (DSGVO: keine Verbindung zu Google beim Seitenaufruf). Quelle: @fontsource/plus-jakarta-sans 5.3.0, Latin-Subset (inkl. ä ö ü ß € „“), Lizenz: fonts/OFL-LICENSE.txt */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-800-normal.woff2") format("woff2");}

:root{
  --surface-page:#fff0f5; --surface-card:#ffffff; --surface-tint:#ffd9e6; --line:#edd0dc; /* Figma: brandPale, weiß, brandLight, Eingabe-Rahmen */
  --ink:#3a1f28; --ink-muted:#6b3a4a; /* Figma plum / plumLight — ≥ 8:1 auf page/card/tint */
  --brand:#e63e73; --brand-strong:#c02a5c; --on-brand:#ffffff; --wordmark:#ff738e;
  --hero-start:#d03c6f; --hero-end:#a81f4f; /* weißer Text überall ≥ 4,6:1 (vorher Start 2,6:1) */ --gold:#f59e0b; /* Figma amber: Sterne (Zahl steht immer daneben) */ --aktion-bg:#ffd84d; --aktion-ink:#a3141f; --aktion-hinweis:#a3141f; /* Rabatt-Aktion: Preis-Etikett gelb mit dunkelrotem Text (8:1), Hinweis „Aktion bis …“ */
  --success:#36844f; --pending:#9d6c22; /* weißer Text 4,6:1 (vorher 3,5 / 2,9:1) */ --danger:#c94040;
  --font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:14px; --space-5:16px; --space-6:24px;
  --radius-sm:10px; --radius-md:12px; --radius-lg:16px; --radius-xl:20px; --radius-pill:9999px;
  --shadow-hero:0 8px 24px rgba(214,84,124,.35); --shadow-card:0 2px 16px rgba(58,31,40,.07); --shadow-search:0 2px 12px rgba(230,62,115,.12); --shadow-raised:0 1px 3px rgba(0,0,0,.18); --overlay:rgba(20,10,14,.88); /* Hintergrund hinter vergrößerten Fotos */
  --qr-hell:#ffffff; --qr-dunkel:#000000; /* QR-Code immer schwarz auf weiß, auch im dunklen Design */ --on-hero:#ffffff; /* Text auf dem rosa Hero-Verlauf (dunkles Design) */
  color-scheme:light; /* Standard hell wie die Figma-Vorlage; dunkel per Umschalter (data-theme="dark", config.js) */
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[data-theme="dark"]{ --aktion-hinweis:#ffd84d;
  --surface-page:#1c1418; --surface-card:#26191f; --surface-tint:#3a2530; --line:#3a2a32;
  --ink:#f2e6ea; --ink-muted:#b79ba7;
  --brand:#ef7ea0; --brand-strong:#d6547c; --on-brand:#1c1418; --danger:#e07070;
  color-scheme:dark;
}
*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-padding-top:env(safe-area-inset-top,0px);}
body{margin:0;background:var(--surface-card);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;}
button,input,select,textarea{font-family:inherit;}
button:focus-visible,a:focus-visible,select:focus-visible,[onclick]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
header{position:sticky;top:0;padding-top:calc(14px + env(safe-area-inset-top,0px));background:var(--surface-card);border-bottom:1px solid var(--line);z-index:10;}
.htop{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-5) var(--space-3);max-width:720px;margin:0 auto;}
.logo{line-height:0;flex-shrink:0;}
.logo img{display:block;height:20px;width:auto;}
.tabs{display:flex;gap:6px;padding:0 16px 12px;max-width:720px;margin:0 auto;}
.tab{flex:1;text-align:center;padding:9px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;cursor:pointer;color:var(--ink-muted);background:var(--surface-tint);}
.tab.active{background:var(--brand-strong);color:var(--on-brand);}
main{max-width:720px;margin:0 auto;padding:16px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));}
.view{display:none;} .view.active{display:block;}
.card{background:var(--surface-card);border:1px solid var(--surface-page);box-shadow:var(--shadow-card);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3);}
h2{font-size:17px;margin:4px 0 12px;}
.back{color:var(--brand-strong);font-size:14px;cursor:pointer;margin-bottom:12px;display:inline-block;font-weight:600;}
.cta{width:100%;min-height:44px;padding:13px 22px;background:var(--brand-strong);color:var(--on-brand);border:none;border-radius:var(--radius-pill);font-size:15px;font-weight:700;cursor:pointer;margin-top:var(--space-4);}
.cta:disabled{opacity:.4;cursor:not-allowed;}
.ok{text-align:center;padding:28px 10px;}
.ok .big{font-size:44px;}
.row{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;color:var(--ink-muted);}
.row b{color:var(--ink);}
.empty{color:var(--ink-muted);text-align:center;padding:20px;font-size:14px;}
.no-res{text-align:center;color:var(--ink-muted);padding:30px 10px;font-size:14px;}
.svc-cat-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:var(--space-2);cursor:pointer;font-weight:600;font-size:14px;}
.svc-cat-item:active{transform:scale(.98);}
.svc-cat-item .arrow{color:var(--brand);font-size:16px;}
.sort-bar{display:flex;gap:8px;margin-bottom:12px;}
.sort-btn{flex:1;text-align:center;padding:9px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;cursor:pointer;color:var(--ink);background:var(--surface-tint);}
.sort-btn.sel{background:var(--brand-strong);color:var(--on-brand);}
.salon .price-tag{color:var(--brand-strong);font-weight:700;font-size:15px;white-space:nowrap;}
.salon .dist-tag{color:var(--ink-muted);font-size:12px;}

/* HOME */
.hero{background:linear-gradient(160deg,var(--surface-page) 0%,var(--surface-card) 100%);border-radius:var(--radius-xl);padding:22px 20px;color:var(--ink);margin-bottom:var(--space-5);}
.hero h1{margin:0 0 4px;font-size:22px;font-weight:800;}
.hero p{margin:0;font-size:13px;font-weight:500;color:var(--ink-muted);}
.search-box{width:100%;padding:13px 16px;border:1.5px solid var(--surface-tint);box-shadow:var(--shadow-search);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);font-size:14px;margin-bottom:16px;}
.cat-grid{display:grid;grid-template-columns:repeat(var(--kat-s,3),1fr);gap:10px;margin-bottom:20px;}
.cat-tile{background:var(--surface-page);border:1.5px solid var(--surface-tint);border-radius:var(--radius-lg);padding:14px 6px;text-align:center;cursor:pointer;transition:transform .1s;}
.cat-tile:active{transform:scale(.96);}
.cat-tile .ci{font-size:26px;margin-bottom:6px;}
.cat-tile span{font-size:12px;font-weight:700;color:var(--ink);}
.sec-title{font-size:15px;font-weight:700;margin:6px 0 10px;color:var(--ink);}

/* SALON CARDS */
.salon{display:flex;gap:12px;cursor:pointer;align-items:flex-start;}
.salon .ic{width:52px;height:52px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:var(--on-brand);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.salon h3{margin:0 0 3px;font-size:16px;}
.salon p{margin:0;color:var(--ink-muted);font-size:13px;}
.stern{color:var(--gold);}
.rating{color:var(--ink);font-weight:600;font-size:13px;white-space:nowrap;}
.mini-svcs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.mini-svc{font-size:11px;background:var(--surface-page);color:var(--brand-strong);padding:4px 10px;border-radius:var(--radius-pill);font-weight:600;}

.svc{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.svc:last-child{border-bottom:none;}
.svc.sel{color:var(--brand-strong);font-weight:700;}
.svc .p{color:var(--ink-muted);font-size:13px;}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;}
.day{min-width:52px;text-align:center;padding:8px 4px;border-radius:var(--radius-lg);background:var(--surface-card);border:1.5px solid var(--surface-tint);color:var(--ink-muted);cursor:pointer;font-size:13px;flex-shrink:0;}
.day.sel{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.day small{display:block;color:inherit;opacity:.75;}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.slot{padding:9px 2px;text-align:center;border-radius:var(--radius-md);font-variant-numeric:tabular-nums;background:var(--surface-card);border:1.5px solid var(--surface-tint);font-weight:600;font-size:13px;cursor:pointer;}
.slot.sel{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.slot.taken{opacity:.35;text-decoration:line-through;cursor:not-allowed;}

.field{margin-bottom:12px;}
.field label{display:block;font-size:12px;color:var(--ink-muted);margin-bottom:5px;font-weight:600;}
.field input,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:14px;}
.field textarea{resize:vertical;line-height:1.45;}
.field input:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:-1px;}
.err{color:var(--danger);font-size:12px;margin-top:10px;text-align:center;display:none;}


/* BUSINESS ONBOARD */
.ob-steps{display:flex;gap:4px;margin-bottom:16px;}
.ob-steps div{flex:1;height:4px;border-radius:var(--radius-pill);background:var(--line);}
.ob-steps div.done{background:var(--brand);}
.ob-cat{padding:10px 14px;border-radius:var(--radius-pill);background:var(--surface-tint);margin-bottom:8px;cursor:pointer;font-size:14px;}
.ob-cat.sel{background:var(--brand-strong);color:var(--on-brand);}
.svc-add{display:flex;gap:6px;margin-top:8px;}
.svc-add input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:13px;}
.svc-add button{padding:9px 14px;border:none;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-weight:700;cursor:pointer;}
.svc-mini{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;}

/* BUSINESS PANEL */
.emp-tabs{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto;}
.emp{padding:7px 12px;border-radius:var(--radius-pill);background:var(--surface-card);border:1.5px solid var(--surface-tint);color:var(--ink-muted);font-weight:600;font-size:13px;white-space:nowrap;cursor:pointer;}
.emp.sel{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.bk{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
.bk:last-child{border-bottom:none;}
.buchen .t{font-weight:700;width:56px;flex-shrink:0;}
.buchen .info{flex:1;padding:0 8px;}
.buchen .info b{display:block;font-size:14px;}
.buchen .info span{font-size:12px;color:var(--ink-muted);}
.badge{font-size:11px;padding:3px 8px;border-radius:var(--radius-pill);background:var(--success);color:#ffffff;font-weight:600;}
.badge.pending{background:var(--pending);}
.badge.storniert{background:var(--danger);color:var(--on-brand);}
.badge.vorbei{background:var(--ink);color:var(--surface-card);}
.termin-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:6px;}
.termin-kopf h3{margin:0 0 3px;font-size:16px;}
.termin-kopf p{margin:0;color:var(--ink-muted);font-size:13px;}
.termin.storniert h3{text-decoration:line-through;text-decoration-color:var(--ink-muted);}
.workhours-box{display:flex;align-items:center;gap:10px;background:var(--surface-tint);padding:12px 14px;border-radius:var(--radius-md);margin:4px 0 18px;flex-wrap:wrap;}
.workhours-box label{font-size:12px;color:var(--ink);font-weight:700;flex-basis:100%;}
.workhours-box .wh-row{display:flex;align-items:center;gap:8px;}
.workhours-box input[type=time]{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-card);color:var(--ink);font-size:13px;}
.biz-day-label{font-size:14px;font-weight:700;margin:14px 0 8px;color:var(--ink);}

/* GRID CALENDAR */
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-today-btn{font-size:12px;color:var(--ink);font-weight:700;cursor:pointer;background:var(--surface-tint);padding:6px 12px;border-radius:var(--radius-pill);}
.cal-outer{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;}
.cal-table{display:flex;min-width:max-content;}
.cal-timecol{width:44px;flex-shrink:0;position:relative;border-right:1px solid var(--line);background:var(--surface-card);}
.cal-timecol .hr-label{position:absolute;left:4px;font-size:10px;color:var(--ink-muted);transform:translateY(-6px);}
/* Erste Stunde liegt ganz oben: nicht nach oben verschieben, sonst verdeckt die Mitarbeiter-Zeile sie halb */
.cal-timecol .hr-label:first-child{transform:translateY(3px);}
.cal-body{position:relative;}
.cal-empcol{width:118px;flex-shrink:0;position:relative;border-right:1px solid var(--line);
  /* Linie alle 30 Min.; Abstand = SLOT_PX aus dem Panel-Skript (--slot-px) */
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--slot-px,34px) - 1px), var(--line) calc(var(--slot-px,34px) - 1px), var(--line) var(--slot-px,34px));}
.cal-empcol:last-child{border-right:none;}
.cal-offhours{position:absolute;left:0;right:0;background:repeating-linear-gradient(45deg, var(--line) 0 2px, transparent 2px 10px);opacity:.7;z-index:1;}
.cal-header-row{display:flex;background:var(--surface-card);border-bottom:2px solid var(--line);}
.cal-header-emp{width:118px;flex-shrink:0;text-align:center;padding:8px 4px;border-right:1px solid var(--line);}
.cal-header-emp:last-child{border-right:none;}
.cal-header-emp .avatar{width:26px;height:26px;border-radius:50%;background:var(--surface-tint);display:flex;align-items:center;justify-content:center;font-size:12px;margin:0 auto 3px;}
.cal-header-emp .name{font-size:11.5px;font-weight:700;}
.cal-header-emp .hours-edit{display:flex;gap:2px;justify-content:center;margin-top:4px;}
.cal-header-emp input[type=time]{width:50px;font-size:9.5px;padding:2px 1px;border:1px solid var(--line);border-radius:4px;background:var(--surface-page);color:var(--ink);}
.cal-appt{position:absolute;left:3px;right:3px;border-radius:6px;padding:2px 4px;font-size:10px;line-height:1.25;overflow:hidden;background:var(--brand-strong);color:var(--on-brand);box-shadow:var(--shadow-raised);z-index:2;}
.cal-appt{cursor:pointer;}
.cal-appt.salon{background:var(--ink);color:var(--surface-card);}
.cal-appt:focus-visible{outline:2px solid var(--brand);outline-offset:1px;}
.cal-tools{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;}
.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--ink-muted);margin:10px 0 0;}
.cal-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px;}
.cal-legend .dot.online{background:var(--brand-strong);} .cal-legend .dot.salon{background:var(--ink);} .cal-legend .dot.frei{background:var(--surface-tint);border:1px solid var(--line);}
.abw-tag{display:inline-block;margin-top:4px;font-size:10px;font-weight:700;color:var(--ink);background:var(--surface-tint);padding:2px 8px;border-radius:var(--radius-pill);}
.biz-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-page);padding:var(--space-4);margin-bottom:var(--space-3);}
.panel-title{margin:0 0 8px;font-size:15px;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 var(--space-3);}
.form-grid .field.voll{grid-column:1/-1;}
.form-grid .inline-err,.form-grid .row-actions,.form-grid .cta{grid-column:1/-1;}
.field select,.field input[type=time],.field input[type=date]{width:100%;}
.field input[type=time],.field input[type=date]{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:14px;}
.row-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;}
.row-actions .cta{flex:1;min-width:140px;}
.cta.cta-danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);}
.svc-edit{display:flex;gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.svc-edit input{flex:1 1 140px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:13px;}
.svc-edit input.num{flex:0 0 72px;}
.svc-edit.neu{border-bottom:none;padding-top:10px;}
.mini-btn{padding:7px 12px;border:none;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-size:12px;font-weight:700;cursor:pointer;}
.mini-btn.primary{background:var(--brand-strong);color:var(--on-brand);}
.mini-btn.danger{background:transparent;color:var(--danger);}
.mini-link{color:var(--brand-strong);font-weight:600;cursor:pointer;font-size:13px;}
button.mini-link{background:none;border:0;padding:0;}
.cal-appt b{display:block;font-size:10.5px;}

#signup-screen{display:none;position:fixed;inset:0;background:rgba(20,10,14,.55);align-items:center;justify-content:center;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:50;}
#signup-screen.open{display:flex;}
.signup-box{width:100%;max-width:380px;position:relative;}
.signup-box .close-x{position:absolute;top:10px;right:10px;font-size:18px;color:var(--ink-muted);cursor:pointer;padding:4px 8px;}
.signup-box .logo{margin-bottom:10px;}
.signup-box .logo img{height:26px;margin:0 auto;}
.signup-box p.sub{text-align:center;color:var(--ink-muted);font-size:13px;margin:0 0 18px;}
.signup-box .switch-view{text-align:center;font-size:13px;color:var(--ink-muted);margin:14px 0 0;}
.signup-box .switch-view a{color:var(--brand-strong);font-weight:700;cursor:pointer;}
.signup-box .code-hint{font-size:13px;color:var(--ink-muted);text-align:center;margin:0 0 10px;}
.signup-box .code-hint span{font-size:11px;opacity:.8;}
#app{display:block;}
.login-btn{font-size:13px;color:var(--brand-strong);font-weight:600;cursor:pointer;text-align:right;line-height:1.3;min-width:0;overflow-wrap:anywhere;}
.tagline{text-align:center;font-size:12px;color:var(--brand-strong);font-weight:600;font-style:italic;margin:-6px auto 10px;max-width:720px;}
.signup-box .tagline-s{text-align:center;font-size:12px;color:var(--brand-strong);font-weight:600;font-style:italic;margin:-2px 0 14px;}
.notice{background:var(--surface-tint);color:var(--ink);border-radius:var(--radius-md);padding:10px 12px;font-size:13px;font-weight:600;margin-bottom:12px;}
.hint{font-size:12px;color:var(--ink-muted);margin:8px 0;}
.hint a{color:var(--brand-strong);font-weight:600;}
.inline-err{color:var(--danger);font-size:13px;margin-top:10px;text-align:center;}
.notif-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;}
.notif-count{white-space:nowrap;font-size:11px;background:var(--brand-strong);color:var(--on-brand);padding:3px 8px;border-radius:var(--radius-pill);vertical-align:middle;}
.notif-item{padding:10px 0 10px 12px;border-top:1px solid var(--line);border-left:3px solid transparent;}
.notif-item.neu{border-left-color:var(--brand);cursor:pointer;}
.notif-title{font-size:14px;font-weight:700;}
.notif-item:not(.neu) .notif-title{font-weight:600;color:var(--ink-muted);}
.notif-biz{font-weight:400;color:var(--ink-muted);font-size:12px;}
.notif-text{font-size:13px;margin-top:3px;white-space:pre-wrap;overflow-wrap:anywhere;}
.notif-time{font-size:11px;color:var(--ink-muted);margin-top:4px;}
.notice-grund{font-weight:400;white-space:pre-wrap;}
.biz-select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:14px;}

/* Fußzeile (www): Impressum · Partner werden */
.site-footer{max-width:720px;margin:24px auto 0;padding:18px 16px calc(24px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:13px;}
.site-footer a{color:var(--ink-muted);text-decoration:none;cursor:pointer;font-weight:600;}
.site-footer a:hover{color:var(--brand-strong);}
.site-footer a.partner{color:var(--brand-strong);}

/* PRO-Kopf (admin.glamingo.de) */
.logo-chip{display:flex;align-items:center;gap:10px;}
.logo-chip span{font-size:12px;font-weight:700;color:var(--ink);background:var(--surface-tint);padding:4px 10px;border-radius:var(--radius-pill);line-height:1;}
/* Sehr schmale Telefone (≤ 360 px): Logo + Name passen sonst nicht in eine Zeile */
@media (max-width:360px){ .logo-chip span{display:none;} }

/* PRO-Anmeldung */
.switch-link{color:var(--brand-strong);font-weight:700;cursor:pointer;}
.cta.cta-secondary{background:var(--surface-tint);color:var(--ink);}
a.cta.cta-link{display:block;box-sizing:border-box;text-align:center;text-decoration:none;}

/* Salon-Info (Kunden-App): Beschreibung, Telefon, Öffnungszeiten */
.salon-desc{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ink);white-space:pre-line;}
.salon-info{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:flex-start;margin:0 0 12px;font-size:14px;}
.tel-link{color:var(--brand-strong);font-weight:700;text-decoration:none;white-space:nowrap;}
.tel-link:hover{text-decoration:underline;}
.salon-oz summary{cursor:pointer;font-weight:600;color:var(--ink);}
.salon-oz table{border-collapse:collapse;margin-top:6px;font-size:13px;}
.salon-oz td{padding:2px 14px 2px 0;color:var(--ink-muted);}
.salon-oz td:first-child{color:var(--ink);font-weight:600;}

/* Glamingo PRO: erledigte Termine im Kalender */
.cal-appt.erledigt{opacity:.55;}
.cal-appt.no-show{opacity:.55;text-decoration:line-through;}

/* Glamingo PRO: Wochenplan mit mehreren Schichten */
.schicht-info{font-size:11px;color:var(--ink-muted);line-height:1.35;margin:2px 0 4px;text-align:center;}
.wt-zeile{display:flex;gap:var(--space-3);align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);}
.wt-zeile:last-of-type{border-bottom:none;}
.wt-name{width:92px;flex-shrink:0;font-size:13px;font-weight:600;padding-top:8px;}
.wt-schichten{display:flex;flex-wrap:wrap;gap:6px var(--space-3);align-items:center;}
.schicht{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-muted);}
.schicht input[type=time]{padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:13px;}
@media (max-width:480px){ .wt-zeile{flex-direction:column;gap:4px;} .wt-name{width:auto;padding-top:0;} }

/* Bewertungen (Kunden-App und Panel) */
.sterne{color:var(--gold);letter-spacing:1px;}
.bewertung{padding:10px 0;border-top:1px solid var(--line);font-size:13px;}
.bewertung p{margin:4px 0 0;color:var(--ink);line-height:1.5;white-space:pre-line;}
.sterne-wahl{display:flex;gap:4px;margin:6px 0 10px;}
.sterne-wahl button{background:none;border:0;padding:2px;font-size:26px;line-height:1;cursor:pointer;color:var(--line);}
.sterne-wahl button.an{color:var(--gold);}
.offen-zeile{align-items:center;gap:var(--space-3);}

/* ---------- Fotos (Salon-Galerie, Dienstleistungen) ---------- */
.salon .ic{overflow:hidden;}
.salon .ic img{width:100%;height:100%;object-fit:cover;display:block;}
.galerie{display:flex;gap:var(--space-2);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 0 var(--space-3);padding-bottom:var(--space-1);}
.galerie img{flex:0 0 auto;height:160px;max-width:85%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);scroll-snap-align:start;cursor:zoom-in;background:var(--surface-tint);}
.svc-bild{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);vertical-align:middle;margin-right:var(--space-2);}
.foto-dialog{border:none;padding:0;background:transparent;max-width:min(96vw,1000px);}
.foto-dialog::backdrop{background:var(--overlay);}
.foto-dialog img{display:block;max-width:100%;max-height:88vh;border-radius:var(--radius-md);}
.foto-zu{position:absolute;top:var(--space-2);right:var(--space-2);width:36px;height:36px;border:none;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font-size:16px;cursor:pointer;}
.foto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-2);margin:var(--space-3) 0;}
.foto{position:relative;margin:0;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-tint);}
.foto img{display:block;width:100%;aspect-ratio:1;object-fit:cover;}
.foto figcaption{display:flex;justify-content:space-between;align-items:center;gap:var(--space-1);padding:var(--space-1);}
.foto-titel{position:absolute;top:var(--space-1);left:var(--space-1);background:var(--brand-strong);color:var(--on-brand);font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);}
.foto-upload{display:block;text-align:center;}
.svc-foto{flex-basis:100%;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;}
.svc-foto img{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);}
label.mini-btn{display:inline-block;}

/* ---------- Große Bildschirme: volle Breite nutzen (bis 1920 px), Inhalte in Spalten ----------
   Handy-Ansicht bleibt unverändert. Formulare (Anmelden, Partner werden, Meine Termine, Buchen) bleiben lesbar schmal. */
.detail-hinweis{display:none;}

@media (min-width:768px){
  .htop,.tabs,main,.tagline,.site-footer{max-width:1920px;}
  main{padding:var(--space-6);}
  .htop{padding-left:var(--space-6);padding-right:var(--space-6);}
  #login-card,#partner-screen,#termine-screen{max-width:760px;margin-left:auto;margin-right:auto;}
  #c-detail > .card{max-width:760px;margin-left:auto;margin-right:auto;} /* Buchen / Bestätigung */
  .hero{padding:32px 36px;}
  .hero h1{font-size:28px;}
  .hero p{font-size:15px;}
  .search-box{font-size:15px;padding:14px 16px;}
  .cat-grid{grid-template-columns:repeat(var(--kat-m,4),1fr);gap:var(--space-3);}
  #popular-list,#cat-salon-list,#such-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-3);align-items:start;}
  #popular-list > .card,#cat-salon-list > .card,#such-liste > .card{margin-bottom:0;}
  #popular-list > :not(.card),#cat-salon-list > :not(.card),#such-liste > :not(.card){grid-column:1 / -1;}
  .galerie img{height:240px;}
}

@media (min-width:1000px){
  /* Salon-Seite: links Salon, Dienstleistungen, Bewertungen — rechts Datum und freie Zeiten (bleibt beim Scrollen sichtbar) */
  .detail-raster{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);grid-template-areas:"info termin" "prod termin" "bew termin";column-gap:var(--space-5);align-items:start;}
  .detail-info{grid-area:info;}
  .detail-bew{grid-area:bew;}
  #cal-card,.detail-hinweis{grid-area:termin;position:sticky;top:96px;}
  .detail-hinweis{display:block;color:var(--ink-muted);text-align:center;padding:var(--space-6);}
}

/* Kalender: Mitarbeiter-Spalten füllen die verfügbare Breite (mind. 118 px, sonst waagerecht scrollen) */
.cal-body{flex:1;}
.cal-empcol,.cal-header-emp{flex:1 0 118px;width:auto;}
/* Termine per Ziehen verschieben (Glamingo PRO) */
.cal-appt.ziehbar{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.cal-appt.zieht{cursor:grabbing;z-index:5;opacity:.9;box-shadow:var(--shadow-card),0 0 0 2px var(--brand);transition:none;}
body.zieht-termin{cursor:grabbing;user-select:none;-webkit-user-select:none;}
.cal-tipp{font-size:12px;color:var(--ink-muted);margin:6px 0 0;}

/* ---------- Umschalter hell/dunkel (Knopf setzt config.js in die Kopfzeile) ---------- */
.thema-btn{margin-left:auto;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;}

/* ---------- Dunkles Design: frühere dunkle Gestaltung (Seite dunkel, Karten mit Rahmen, rosa Hero) ---------- */
:root[data-theme="dark"] body{background:var(--surface-page);}
:root[data-theme="dark"] .card{border-color:var(--line);box-shadow:none;}
:root[data-theme="dark"] .hero{background:linear-gradient(135deg,var(--hero-start) 0%,var(--brand-strong) 45%,var(--hero-end) 100%);color:var(--on-hero);box-shadow:var(--shadow-hero);}
:root[data-theme="dark"] .hero p{color:var(--on-hero);opacity:.9;}
:root[data-theme="dark"] .cat-tile{background:var(--surface-card);border:1px solid var(--line);}
:root[data-theme="dark"] .search-box{border:1px solid var(--line);box-shadow:none;}

/* ---------- Glamingo PRO: Glocke + Menü unter dem Namen, Seitenbereich rechts (wie Treatwell) ---------- */
.kopf-rechts{display:flex;align-items:center;gap:var(--space-2);min-width:0;}
.kopf-icon{position:relative;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-card);font-size:16px;line-height:1;cursor:pointer;padding:0;}
.kopf-zahl{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:11px;font-weight:700;line-height:18px;text-align:center;}
.menue-liste .kopf-zahl{position:static;margin-left:auto;}
.menue{position:relative;min-width:0;}
.menue-knopf{border:none;background:none;color:var(--brand-strong);font-size:13px;font-weight:700;cursor:pointer;padding:6px 4px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.menue-liste{position:absolute;right:0;top:calc(100% + 8px);min-width:250px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-2);z-index:30;}
.menue-liste button{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:10px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:14px;color:var(--ink);cursor:pointer;}
.menue-liste button:hover,.menue-liste button:focus-visible{background:var(--surface-page);}
.menue-gruppe{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:6px 12px 2px;}
.menue-trenner{height:1px;background:var(--line);margin:6px 0;}
.bereich-overlay{position:fixed;inset:0;background:var(--overlay);opacity:.45;z-index:40;}
.bereich{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:var(--surface-page);z-index:50;overflow-y:auto;padding:var(--space-3) var(--space-5) var(--space-6);box-shadow:var(--shadow-card);}
.bereich-kopf{position:sticky;top:0;display:flex;justify-content:flex-end;padding-bottom:var(--space-2);z-index:2;}
.bereich-zu{width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font-size:16px;cursor:pointer;}
body.bereich-offen{overflow:hidden;}
@media (max-width:400px){
  .htop{gap:var(--space-2);}
  .logo img{height:16px;}
  .menue-knopf{max-width:84px;font-size:12px;}
}
/* Großer Kalender: füllt den Bildschirm, scrollt in sich, Mitarbeiter-Zeile bleibt oben stehen */
@media (min-width:1000px){
  .cal-outer{max-height:calc(100vh - 250px);overflow:auto;}
  #cal-header{position:sticky;top:0;z-index:4;}
  .cal-appt{font-size:11.5px;padding:4px 6px;}
  .cal-appt b{font-size:12px;}
}

/* ---------- Glamingo Jobs (Kunden-App und Panel) ---------- */
.job-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);align-items:center;}
.job-filter select,.job-filter input,.field select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);font-size:14px;font-family:inherit;}
.job-filter .cta{margin-top:0;min-height:42px;padding:10px 16px;}
.job-karte h3{margin:0;font-size:16px;}
.job-karte .cta{margin-top:var(--space-3);}
.job-karte a{color:var(--brand-strong);font-weight:600;}
.job-text{white-space:pre-wrap;font-size:14px;line-height:1.5;margin:var(--space-3) 0;}
.chip-gruppe{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.chip-check{position:relative;cursor:pointer;}
.chip-check input{position:absolute;opacity:0;width:1px;height:1px;}
.chip-check span{display:inline-block;padding:8px 14px;border-radius:var(--radius-pill);border:1.5px solid var(--surface-tint);background:var(--surface-card);color:var(--ink-muted);font-size:13px;font-weight:600;}
.chip-check input:checked + span{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.chip-check input:focus-visible + span{outline:2px solid var(--brand);outline-offset:2px;}
.job-tabs{padding:0 0 var(--space-3);}
#jobs-screen{max-width:1100px;margin-left:auto;margin-right:auto;}
@media (min-width:900px){ .job-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:start;} .job-liste > .card{margin-bottom:0;} .job-liste > .no-res{grid-column:1/-1;} }
.job-profil{border-top:1px solid var(--line);padding:var(--space-3) 0;} .job-profil h3{margin:0;font-size:15px;} .job-profil .cta{margin-top:var(--space-2);}
button.tab{border:none;font-family:inherit;}
.emp-entfernen{border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-3);}
.emp-entfernen{border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-3);}
@media (min-width:1100px){ .cat-grid{grid-template-columns:repeat(var(--kat-l,7),1fr);} } /* --kat-* setzt renderCatGrid() je nach sichtbaren Kacheln */

/* ---------- Produkte (Salon-Seite, Produktsuche, Panel) ---------- */
.produkt{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--line);}
.card > .produkt:first-child,.produkt-raster .produkt{border-top:none;padding-top:0;}
.detail-produkte h2 + .produkt,.detail-produkte .notice + .produkt{border-top:none;}
.produkt-bild{width:72px;height:72px;flex-shrink:0;object-fit:cover;border-radius:var(--radius-md);background:var(--surface-page);cursor:zoom-in;}
.produkt-bild.leer{display:flex;align-items:center;justify-content:center;font-size:28px;cursor:default;}
.produkt-text{flex:1;min-width:0;}
.produkt-fuss{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:6px;}
.produkt-fuss .preis{color:var(--brand-strong);font-size:15px;}
.reservier-form{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--line);}
.detail-produkte{grid-area:prod;}
@media (min-width:768px){ .produkt-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3);align-items:start;} .produkt-raster > .card{margin-bottom:0;} }

/* Kundenkartei (Glamingo PRO) */
.kunde-zeile{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 4px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:inherit;font-size:14px;cursor:pointer;}
.kunde-zeile:hover{background:var(--surface-tint);}
.kunde-konto{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink-muted);white-space:nowrap;}
.notiz{background:var(--surface-tint);border-radius:var(--radius-md);padding:10px 12px;margin-top:8px;}
.notiz p{margin:0;white-space:pre-wrap;font-size:14px;}
.check-zeile{display:flex;gap:8px;align-items:center;font-size:13px;margin:4px 0 8px;}
.tf-vorschlaege:empty{display:none;}
.salon-hinweis p{margin:0;white-space:pre-wrap;font-size:14px;}
.salon-hinweis a{color:var(--brand-strong);font-weight:600;}

/* Rabatt-Aktion: regulärer Preis durchgestrichen, Aktionspreis als gelbes Etikett (wie gewünscht, Vorlage des Auftraggebers) */
.preis-alt{color:var(--ink-muted);font-weight:500;text-decoration:line-through;white-space:nowrap;}
.preis-aktion{display:inline-block;background:var(--aktion-bg);color:var(--aktion-ink);font-weight:800;padding:1px 9px;border-radius:var(--radius-pill);white-space:nowrap;}
.aktion-bis{display:block;font-size:11px;font-weight:700;color:var(--aktion-hinweis);margin-top:2px;}
.aktion-zeile{font-size:12px;margin-top:6px;}
.svc-aktion{flex:1 1 100%;background:var(--surface-page);border-radius:var(--radius-md);padding:10px 12px;margin:4px 0;}
.svc-edit .aktion-zeile{flex:1 1 100%;}

/* Mehrere Dienstleistungen in einem Besuch: Reihenfolge-Nummer und Summe unter der Liste */
.svc-nr{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:6px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:11px;font-weight:800;vertical-align:middle;}
.auswahl-summe{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-tint);color:var(--ink);font-size:13px;font-weight:600;}

/* Glamingo PRO: Reiter oben (Kalender · Team · Kunden · Admin, nach Treatwell-Vorbild) */
.panel-tabs{display:flex;overflow-x:auto;scrollbar-width:none;margin:0 0 var(--space-5);border-bottom:1px solid var(--line);background:var(--surface-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-card);}
.panel-tabs::-webkit-scrollbar{display:none;}
.panel-tabs button{flex:1 0 auto;padding:13px 22px;border:0;border-bottom:3px solid transparent;background:none;color:var(--ink-muted);font:inherit;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap;}
.panel-tabs button:hover{color:var(--ink);}
.panel-tabs button.active{color:var(--brand-strong);border-bottom-color:var(--brand-strong);}
.team-zeile{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);}
@media (max-width:480px){.panel-tabs button{padding:12px 10px;font-size:14px;}}

/* Karte und Adressvorschläge */
.karte-link{display:inline-block;margin-top:4px;color:var(--brand-strong);font-weight:700;font-size:13px;text-decoration:none;}
.karte-link:hover{text-decoration:underline;}
.adr-feld{position:relative;}
.adr-liste{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden;}
.adr-option{padding:10px 12px;font-size:14px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line);}
.adr-option:last-child{border-bottom:none;}
.adr-option span{display:block;font-size:11px;color:var(--ink-muted);margin-top:2px;}
.adr-option.aktiv,.adr-option:hover{background:var(--surface-tint);}

/* ======================= Modernes Design (08.10.2026, nach Treatwell/Planity) =======================
   Marke unverändert (Pink, Plus Jakarta Sans, Pill-Buttons, 16 px Karten) — mehr Weißraum, große Typografie,
   Hero mit Suche, farbige Kategorie-Kacheln, Salon-Karten mit Bild, Foto-Mosaik auf der Salon-Seite. */
:root{
  --pastel-0:#f1e6ff; --pastel-1:#e2f4df; --pastel-2:#ffe3ec; --pastel-3:#fff1d1; --pastel-4:#dfeeff; --pastel-5:#ffe7da;
  --hero-bg-1:#ffd6e4; --hero-bg-2:#fff6f9; --shadow-hover:0 12px 32px rgba(58,31,40,.13);
}
:root[data-theme="dark"]{
  --pastel-0:#30263f; --pastel-1:#24342a; --pastel-2:#3d2430; --pastel-3:#3a3222; --pastel-4:#222f3d; --pastel-5:#3d2b24;
  --hero-bg-1:#4a2335; --hero-bg-2:#26191f; --shadow-hover:0 12px 32px rgba(0,0,0,.45);
}
#home-screen,#c-detail,#cat-screen,#produkte-screen{max-width:1240px;margin-left:auto;margin-right:auto;}

/* Kopfzeile: leicht durchscheinend, „Für Salons“, Konto-Knopf als Pill */
header{background:color-mix(in srgb,var(--surface-card) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);}
.kopf-aktionen{display:flex;align-items:center;gap:var(--space-4);min-width:0;}
.kopf-link{font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;}
.kopf-link:hover{color:var(--brand-strong);}
.menue-knopf{background:var(--ink);color:var(--surface-card);padding:9px 16px;border-radius:var(--radius-pill);transition:transform .1s;}
.menue-knopf:hover{transform:translateY(-1px);}
@media (max-width:520px){ .kopf-link{display:none;} .menue-knopf{padding:8px 12px;} }

/* Hero */
.hero{position:relative;overflow:hidden;display:grid;gap:var(--space-6);align-items:center;padding:36px 22px 30px;margin-bottom:var(--space-6);border-radius:var(--radius-xl);
  background:radial-gradient(circle at 88% 12%,var(--hero-bg-1) 0,transparent 55%),radial-gradient(circle at 6% 96%,var(--pastel-0) 0,transparent 50%),var(--hero-bg-2);}
:root[data-theme="dark"] .hero{background:radial-gradient(circle at 88% 12%,var(--hero-bg-1) 0,transparent 55%),radial-gradient(circle at 6% 96%,var(--pastel-0) 0,transparent 50%),var(--hero-bg-2);color:var(--ink);box-shadow:none;}
.hero-eyebrow{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--brand-strong);}
.hero h1{margin:0;font-size:36px;line-height:1.06;font-weight:800;letter-spacing:-.025em;}
.hero .hero-sub,:root[data-theme="dark"] .hero .hero-sub{margin:12px 0 20px;max-width:540px;font-size:15px;line-height:1.55;font-weight:500;color:var(--ink-muted);opacity:1;}
:root[data-theme="dark"] .hero .hero-eyebrow{color:var(--brand);opacity:1;}
.hero-suche{display:flex;align-items:center;gap:var(--space-2);padding:5px 6px 5px 18px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-hover);cursor:text;}
.hero-suche:focus-within{border-color:var(--brand);}
.hero-suche-ic{font-size:17px;}
.hero-suche .search-box,:root[data-theme="dark"] .hero-suche .search-box{flex:1;min-width:0;margin:0;padding:13px 8px;border:0;box-shadow:none;background:transparent;font-size:16px;}
.hero-suche .search-box:focus{outline:none;}
.hero-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);}
.hero-chips button{padding:7px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;}
.hero-chips button:hover{border-color:var(--brand);color:var(--brand-strong);}
.hero-bild{display:none;}
@keyframes schweben{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media (min-width:900px){
  .hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);min-height:440px;padding:64px 56px;}
  .hero h1{font-size:58px;}
  .hero .hero-sub{font-size:17px;}
  .hero-bild{display:block;position:relative;height:310px;}
  .hero-karte{position:absolute;display:flex;align-items:center;gap:var(--space-3);min-width:250px;padding:14px 18px;background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);animation:schweben 6s ease-in-out infinite;}
  .hero-karte b{display:block;font-size:15px;}
  .hero-karte div span{font-size:13px;color:var(--ink-muted);}
  .hero-karte.k1{top:8px;left:12%;}
  .hero-karte.k2{top:118px;right:0;animation-delay:-2s;}
  .hero-karte.k3{bottom:0;left:2%;animation-delay:-4s;}
  .hk-ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-md);background:var(--pastel-2);font-size:22px;}
  .hero-karte.k2 .hk-ic{background:var(--pastel-0);}
  .hk-ok{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:auto;border-radius:var(--radius-pill);background:var(--success);color:var(--on-hero);font-weight:800;font-size:14px;}
  .hk-stern{font-weight:800;font-size:15px;color:var(--gold);white-space:nowrap;}
}
@media (prefers-reduced-motion:reduce){ .hero-karte{animation:none;} }

/* Überschriften der Startseite */
.sec-gross{margin:8px 0 14px;font-size:22px;font-weight:800;letter-spacing:-.015em;}
@media (min-width:768px){ .sec-gross{font-size:28px;margin-top:16px;} }

/* Kategorie-Kacheln in Pastellfarben */
.cat-tile{padding:18px 8px 14px;border:0;border-radius:var(--radius-lg);transition:transform .15s,box-shadow .15s;}
:root[data-theme="dark"] .cat-tile{border:0;}
.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);}
.cat-tile .ci{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 10px;border-radius:var(--radius-pill);background:var(--surface-card);box-shadow:var(--shadow-card);font-size:28px;}
.cat-tile span{font-size:13px;}
.cat-tile.farbe-0,:root[data-theme="dark"] .cat-tile.farbe-0{background:var(--pastel-0);}
.cat-tile.farbe-1,:root[data-theme="dark"] .cat-tile.farbe-1{background:var(--pastel-1);}
.cat-tile.farbe-2,:root[data-theme="dark"] .cat-tile.farbe-2{background:var(--pastel-2);}
.cat-tile.farbe-3,:root[data-theme="dark"] .cat-tile.farbe-3{background:var(--pastel-3);}
.cat-tile.farbe-4,:root[data-theme="dark"] .cat-tile.farbe-4{background:var(--pastel-4);}
.cat-tile.farbe-5,:root[data-theme="dark"] .cat-tile.farbe-5{background:var(--pastel-5);}

/* „So einfach geht's“ */
.vorteile{display:grid;gap:var(--space-3);margin-bottom:var(--space-6);}
.vorteil{padding:20px;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);}
.vorteil-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:10px;border-radius:var(--radius-md);background:var(--pastel-2);font-size:24px;}
.vorteil:nth-child(2) .vorteil-ic{background:var(--pastel-1);}
.vorteil:nth-child(3) .vorteil-ic{background:var(--pastel-0);}
.vorteil b{display:block;margin-bottom:4px;font-size:16px;}
.vorteil p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-muted);}
@media (min-width:768px){ .vorteile{grid-template-columns:repeat(3,1fr);} }


/* Salon-Karten: Bild oben */
.salon-karte{padding:0;overflow:hidden;border:1px solid var(--line);cursor:pointer;transition:transform .15s,box-shadow .15s;}
.salon-karte:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);}
.salon-bild{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:linear-gradient(135deg,var(--brand),var(--brand-strong));}
.salon-bild img{display:block;width:100%;height:100%;object-fit:cover;}
.salon-bild > span:first-child{font-size:46px;font-weight:800;color:var(--on-brand);}
.salon-kat{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font-size:12px;font-weight:700;box-shadow:var(--shadow-card);}
.salon-text{padding:14px 16px 16px;}
.salon-zeile{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.salon-zeile h3{margin:0;font-size:17px;font-weight:800;}
.salon-bew{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;}
.salon-adr{margin:3px 0 10px;font-size:13px;color:var(--ink-muted);}
.salon-leistungen{margin:0;padding:0;list-style:none;}
.salon-leistungen li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14px;}
.salon-leistungen .dauer{font-size:12px;color:var(--ink-muted);}
.salon-mehr{display:block;margin-top:8px;font-size:13px;font-weight:700;color:var(--brand-strong);}

/* Salon-Seite: Foto-Mosaik und Titel */
.salon-titel{margin:4px 0 var(--space-5);}
.salon-titel h1{margin:0 0 6px;font-size:28px;font-weight:800;letter-spacing:-.02em;}
.salon-titel-meta,.salon-titel-adr{margin:0 0 4px;font-size:14px;color:var(--ink-muted);}
.salon-titel .karte-link{margin:0 0 0 6px;}
.svc-titel{margin:10px 0 4px;font-size:18px;}
.svc{padding:14px 0;}
.svc-preis{display:flex;align-items:center;gap:var(--space-3);}
.svc-wahl{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:30px;height:30px;border:1.5px solid var(--line);border-radius:var(--radius-pill);color:var(--brand-strong);font-size:15px;font-weight:800;transition:background .15s,border-color .15s;}
.svc:hover .svc-wahl{border-color:var(--brand);}
.svc.sel .svc-wahl{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.galerie img{height:220px;max-width:88%;border-radius:var(--radius-lg);}
.galerie-mehr{position:absolute;right:14px;bottom:14px;padding:8px 14px;border:0;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;box-shadow:var(--shadow-card);cursor:pointer;}
.galerie{position:relative;}
@media (max-width:767px){ .galerie-mehr{display:none;} }
@media (min-width:768px){
  .salon-titel h1{font-size:38px;}
  .galerie{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:190px 190px;gap:8px;margin-bottom:var(--space-5);overflow:hidden;border-radius:var(--radius-xl);}
  .galerie img{width:100%;height:100%;max-width:none;aspect-ratio:auto;border-radius:0;}
  .galerie img:first-child{grid-row:1 / span 2;}
  .galerie img:nth-child(n+6){display:none;}
  .galerie-1{grid-template-columns:1fr;grid-template-rows:380px;}
  .galerie-2,.galerie-3{grid-template-columns:2fr 1fr;}
  .galerie-2 img:nth-child(2){grid-row:1 / span 2;}
  .galerie-4 img:nth-child(4){grid-column:2 / span 2;}
}

/* Allgemein: weichere Bewegungen */
.cta{transition:transform .1s,filter .15s;}
.cta:hover:not(:disabled){filter:brightness(1.06);}
.cta:active:not(:disabled){transform:scale(.98);}

/* ======================= Glamingo PRO: modernes Design (08.10.2026) ======================= */
body.pro{background:var(--surface-page);}
body.pro .card{border:1px solid var(--line);box-shadow:var(--shadow-card);}
body.pro .card > h2{font-size:19px;font-weight:800;letter-spacing:-.01em;}
body.pro .biz-kopf{background:transparent;border:0;box-shadow:none;padding:0 2px;margin-bottom:var(--space-4);}
body.pro .biz-kopf h2{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em;}
/* Reiter: bleiben unter der Kopfzeile stehen, auf großen Bildschirmen linksbündig */
body.pro .panel-tabs{position:sticky;top:63px;z-index:9;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);}
body.pro .panel-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;}
@media (min-width:768px){ body.pro .panel-tabs button{flex:0 0 auto;padding:14px 26px;} }
/* Tage */
body.pro .day{min-width:58px;padding:8px 6px;border:1px solid var(--line);border-radius:var(--radius-md);font-weight:600;}
body.pro .day:not(.sel):hover{border-color:var(--brand);color:var(--ink);}
/* Kalender-Werkzeuge */
body.pro .cal-today-btn{padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
body.pro .cal-today-btn.haupt{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
body.pro .cal-outer{background:var(--surface-card);}
/* Avatare mit Initialen in der Farbe der Mitarbeiterin */
.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-size:13px;font-weight:800;}
.avatar.klein{width:32px;height:32px;font-size:12px;}
body.pro .cal-header-emp .avatar{width:36px;height:36px;margin:0 auto 4px;font-size:13px;}
body.pro .cal-header-emp .name{font-size:13px;}
.avatar.farbe-0,body.pro .cal-appt.farbe-0{background:var(--pastel-0);}
.avatar.farbe-1,body.pro .cal-appt.farbe-1{background:var(--pastel-1);}
.avatar.farbe-2,body.pro .cal-appt.farbe-2{background:var(--pastel-2);}
.avatar.farbe-3,body.pro .cal-appt.farbe-3{background:var(--pastel-3);}
.avatar.farbe-4,body.pro .cal-appt.farbe-4{background:var(--pastel-4);}
.avatar.farbe-5,body.pro .cal-appt.farbe-5{background:var(--pastel-5);}
/* Termine: Farbe der Mitarbeiterin, Streifen links = online (Pink) oder vom Salon eingetragen (Pflaume) */
body.pro .cal-appt{left:4px;right:4px;padding:4px 7px;border-left:4px solid var(--brand-strong);border-radius:8px;color:var(--ink);font-size:11px;box-shadow:none;transition:box-shadow .15s;}
body.pro .cal-appt b{font-size:11.5px;}
body.pro .cal-appt.salon{border-left-color:var(--ink);color:var(--ink);}
body.pro .cal-appt:hover{box-shadow:var(--shadow-card);}
body.pro .cal-legend .dot{border-radius:2px;}
/* Team- und Kundenlisten */
body.pro .team-zeile{justify-content:flex-start;gap:var(--space-3);padding:12px 0;}
.team-name{flex:1;min-width:0;}
.kunde-name{flex:1;min-width:0;}
body.pro .kunde-zeile{justify-content:flex-start;gap:var(--space-3);padding:12px 6px;border-radius:var(--radius-sm);}
body.pro .svc-edit{padding:10px 0;}
body.pro .biz-panel{background:var(--surface-card);border-radius:var(--radius-lg);}
@media (max-width:480px){ body.pro .panel-tabs button{padding:12px 6px;font-size:13px;gap:3px;} }

/* Fußbereich der Kunden-App (08.10.2026, nach Planity): dunkel in beiden Designs */
:root{ --fuss-bg:#24131a; --fuss-ink:#f6eaee; --fuss-muted:#cdb6c0; --fuss-linie:#4a3039; }
.site-footer.fuss{display:block;max-width:none;margin:48px 0 0;padding:56px 22px calc(28px + env(safe-area-inset-bottom,0px));border-top:0;background:var(--fuss-bg);color:var(--fuss-ink);font-size:14px;}
.fuss-raster{display:grid;gap:32px;max-width:1240px;margin:0 auto;}
.fuss-logo{display:block;height:24px;width:auto;}
.fuss-marke p{margin:10px 0 18px;color:var(--fuss-muted);font-style:italic;}
.fuss-social{display:flex;gap:12px;}
.fuss-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--fuss-ink);color:var(--fuss-bg);transition:transform .15s;}
.fuss-social a:hover{transform:translateY(-2px);}
.site-footer.fuss h3{margin:0 0 14px;font-size:17px;font-weight:700;color:var(--fuss-ink);}
.site-footer.fuss nav a{display:block;margin:0 0 10px;color:var(--fuss-muted);font-weight:500;text-decoration:none;cursor:pointer;}
.site-footer.fuss nav a:hover{color:var(--fuss-ink);}
.fuss-unten{max-width:1240px;margin:40px auto 0;padding-top:22px;border-top:1px solid var(--fuss-linie);color:var(--fuss-muted);font-size:13px;}
@media (min-width:768px){ .fuss-raster{grid-template-columns:1.2fr 1fr 1fr 1fr;} .site-footer.fuss{padding-left:var(--space-6);padding-right:var(--space-6);} }
.fuss-copy{color:var(--ink-muted);font-size:12px;}

/* Partner-Bereich der Startseite (08.10.2026, nach Treatwell-Vorbild) mit gezeichnetem Modell von Glamingo PRO */
:root{ --ph-bg2:#43192d; --shadow-mock:0 24px 60px rgba(0,0,0,.38); }
.partner-hero{position:relative;overflow:hidden;display:grid;gap:36px;align-items:center;margin:var(--space-6) 0 var(--space-3);padding:40px 22px 44px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--fuss-bg) 0%,var(--ph-bg2) 100%);color:var(--fuss-ink);}
.partner-hero-flamingo{position:absolute;left:31%;bottom:-8px;z-index:0;width:auto;height:96%;color:var(--brand);opacity:.55;pointer-events:none;}
@media (max-width:999px){ .partner-hero-flamingo{height:420px;left:auto;right:-30px;top:20px;bottom:auto;opacity:.18;} }
.partner-hero-text{position:relative;z-index:1;}
.partner-hero-marke{display:inline-block;margin-bottom:14px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:12px;font-weight:800;letter-spacing:.04em;}
.partner-hero h2{margin:0 0 16px;font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.02em;color:inherit;}
.partner-hero p{margin:0 0 24px;max-width:560px;font-size:16px;line-height:1.55;color:var(--fuss-muted);}
.partner-hero .partner-hero-klein{margin:14px 0 0;font-size:13px;}
.partner-hero-btn{padding:15px 28px;border:0;border-radius:var(--radius-md);background:var(--fuss-ink);color:var(--fuss-bg);font:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s;}
.partner-hero-btn:hover{transform:translateY(-2px);}
.partner-hero-bild{position:relative;z-index:1;}
/* Modell: Laptop mit Kalender */
.pm-laptop{overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-mock);font-size:10px;}
.pm-leiste{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--ink);color:var(--surface-card);white-space:nowrap;overflow:hidden;}
.pm-leiste b{margin-right:8px;font-size:11px;}
.pm-leiste b span{margin-left:4px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:9px;}
.pm-tab{padding-bottom:2px;opacity:.7;}
.pm-tab.an{opacity:1;border-bottom:2px solid var(--brand);}
.pm-tag{padding:8px 14px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;}
.pm-kopf,.pm-raster{display:grid;grid-template-columns:34px repeat(4,minmax(0,1fr));}
.pm-kopf.klein,.pm-raster.klein{grid-template-columns:26px repeat(2,minmax(0,1fr));}
.pm-kopf{border-bottom:1px solid var(--line);}
.pm-ma{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;font-size:10px;font-weight:700;}
.pm-ma .avatar{width:24px;height:24px;font-size:10px;}
.pm-raster{position:relative;height:150px;background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 34px);}
.pm-zeit{position:relative;}
.pm-zeit span{position:absolute;left:4px;transform:translateY(2px);font-size:8px;color:var(--ink-muted);}
.pm-spalte{position:relative;border-left:1px solid var(--line);}
.pm-termin{position:absolute;left:3px;right:3px;overflow:hidden;padding:3px 5px;border-left:3px solid var(--brand-strong);border-radius:5px;line-height:1.25;}
.pm-termin.salon{border-left-color:var(--ink);}
.pm-termin b{display:block;font-size:9px;white-space:nowrap;}
.pm-termin span{display:block;font-size:8px;color:var(--ink-muted);white-space:nowrap;}
.pm-spalte.farbe-0 .pm-termin{background:var(--pastel-0);}
.pm-spalte.farbe-1 .pm-termin{background:var(--pastel-1);}
.pm-spalte.farbe-2 .pm-termin{background:var(--pastel-2);}
.pm-spalte.farbe-3 .pm-termin{background:var(--pastel-3);}
/* Modell: Handy */
.pm-handy{display:none;overflow:hidden;width:156px;border:6px solid var(--ink);border-radius:24px;background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-mock);font-size:9px;}
.pm-handy-kopf{display:flex;justify-content:space-between;padding:9px 10px 4px;font-size:11px;font-weight:800;}
.pm-tage{display:flex;justify-content:space-between;padding:2px 6px 6px;}
.pm-tage span{padding:3px 4px;border-radius:8px;text-align:center;font-size:8px;line-height:1.3;}
.pm-tage span.an{background:var(--ink);color:var(--surface-card);}
.pm-raster.klein{height:136px;}
/* Modell: Benachrichtigung */
.pm-meldung{position:relative;display:flex;align-items:center;gap:12px;max-width:320px;margin:-22px 0 0 14px;padding:12px 16px;border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-mock);}
.pm-meldung-ic{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--pastel-2);font-size:20px;}
.pm-meldung b{display:block;font-size:14px;}
.pm-meldung div span{font-size:12px;color:var(--ink-muted);}
@media (min-width:1000px){
  .partner-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:470px;padding:64px 0 64px 64px;}
  .partner-hero h2{font-size:44px;}
  .partner-hero-bild{height:390px;}
  .pm-laptop{position:absolute;top:0;left:110px;right:-1px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);font-size:11px;}
  .pm-raster{height:190px;}
  .pm-handy{display:block;position:absolute;top:96px;left:0;}
  .pm-meldung{position:absolute;left:40px;bottom:0;margin:0;}
}
.sprach-btn{width:36px;height:36px;flex-shrink:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.sprach-btn:hover{border-color:var(--brand);color:var(--brand-strong);}

/* Glamingo Jobs auf der Startseite (08.10.2026): groß wie der Partner-Bereich, hell mit Pastellfarben und gezeichnetem Modell */
:root{ --jobs-bg1:#f4ecff; --jobs-bg2:#ffeaf1; }
:root[data-theme="dark"]{ --jobs-bg1:#2b2238; --jobs-bg2:#33202a; }
.jobs-hero{position:relative;overflow:hidden;display:grid;gap:36px;align-items:center;margin:var(--space-6) 0 0;padding:40px 22px 44px;border-radius:var(--radius-xl);background:radial-gradient(circle at 90% 10%,var(--pastel-2) 0,transparent 45%),linear-gradient(135deg,var(--jobs-bg1) 0%,var(--jobs-bg2) 100%);color:var(--ink);}
.jobs-hero-text{position:relative;z-index:1;}
.jobs-hero-marke{display:inline-block;margin-bottom:14px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:var(--shadow-card);}
.jobs-hero h2{margin:0 0 16px;font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.02em;}
.jobs-hero p{margin:0 0 24px;max-width:540px;font-size:16px;line-height:1.55;color:var(--ink-muted);}
.jobs-hero .jobs-hero-klein{margin:14px 0 0;font-size:13px;}
.jobs-hero-knoepfe{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.jobs-hero-btn{padding:15px 24px;border:0;border-radius:var(--radius-md);background:var(--ink);color:var(--surface-card);font:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s;}
.jobs-hero-btn.zweit{background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-card);}
.jobs-hero-btn:hover{transform:translateY(-2px);}
.jobs-hero-bild{position:relative;z-index:1;}
/* Modell: Stellenangebote */
.jm-liste{overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-hover);}
.jm-kopf{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;}
.jm-kopf span{color:var(--ink-muted);font-size:12px;}
.jm-job{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--line);}
.jm-job:last-child{border-bottom:none;}
.jm-ic{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);font-size:20px;}
.jm-ic.farbe-0{background:var(--pastel-0);} .jm-ic.farbe-1{background:var(--pastel-1);} .jm-ic.farbe-2{background:var(--pastel-2);}
.jm-job b,.jm-profil b{display:block;font-size:14px;}
.jm-job div > span:not(.jm-chips),.jm-profil-kopf div > span{display:block;font-size:12px;color:var(--ink-muted);}
.jm-chips{display:flex !important;flex-wrap:wrap;gap:6px;margin-top:6px;}
.jm-chips i{padding:3px 9px;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-size:11px;font-style:normal;font-weight:600;}
/* Modell: Bewerberprofil und Anfrage */
.jm-profil{display:none;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-hover);}
.jm-profil-kopf{display:flex;gap:10px;align-items:center;}
.jm-status{display:block;margin-top:8px;font-size:12px;font-weight:700;color:var(--success);}
.jm-meldung{position:relative;display:flex;align-items:center;gap:12px;max-width:320px;margin:-18px 0 0 auto;padding:12px 16px;border-radius:var(--radius-lg);background:var(--ink);color:var(--surface-card);box-shadow:var(--shadow-hover);}
.jm-meldung-ic{font-size:22px;}
.jm-meldung b{display:block;font-size:14px;}
.jm-meldung div span{font-size:12px;opacity:.85;}
@media (min-width:1000px){
  .jobs-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:460px;padding:64px;}
  .jobs-hero h2{font-size:44px;}
  .jobs-hero-bild{height:360px;}
  .jm-liste{position:absolute;top:0;right:0;width:78%;}
  .jm-profil{display:block;position:absolute;left:0;bottom:16px;width:62%;}
  .jm-meldung{position:absolute;right:-6px;bottom:-14px;margin:0;}
}

/* Großansicht der Fotos: Pfeile links/rechts und Zähler (08.10.2026) */
.foto-pfeil{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:none;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font-size:30px;line-height:1;cursor:pointer;box-shadow:var(--shadow-card);opacity:.92;}
.foto-pfeil:hover{opacity:1;}
.foto-pfeil.zurueck{left:var(--space-3);}
.foto-pfeil.weiter{right:var(--space-3);}
.foto-zahl{position:absolute;left:50%;bottom:var(--space-3);transform:translateX(-50%);padding:4px 12px;border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font-size:13px;font-weight:700;}
.foto-dialog img{user-select:none;-webkit-user-select:none;}

/* ======================= Glamingo PRO – Reiter Admin modern (09.10.2026) ======================= */
.admin-kopf{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);}
.admin-kopf h2{margin:0 0 4px;}
.admin-kopf .hint{margin:0;}
.admin-neu{padding:10px 16px;font-size:13px;}
.admin-meldung{margin-bottom:var(--space-3);padding:10px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:600;}
.admin-meldung.ok{background:var(--pastel-1);color:var(--ink);}
.admin-meldung.fehler{background:var(--pastel-2);color:var(--danger);}
/* Dienstleistungen als Liste */
.svc-liste{display:flex;flex-direction:column;gap:var(--space-2);}
.svc-zeile{display:flex;align-items:center;gap:var(--space-3);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-card);cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.svc-zeile:hover{border-color:var(--brand);box-shadow:var(--shadow-card);}
.svc-zeile.offen{flex-direction:column;align-items:stretch;border-color:var(--brand);box-shadow:var(--shadow-card);cursor:default;}
.svc-zeile-kopf b{font-size:15px;}
.svc-mini-bild{display:flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:var(--on-brand);font-size:20px;font-weight:800;}
.svc-mini-bild img{width:100%;height:100%;object-fit:cover;}
.svc-text{flex:1;min-width:0;}
.svc-text b{display:block;font-size:15px;}
.svc-text > span{font-size:13px;color:var(--ink-muted);}
.svc-aktion-tag{font-weight:700;color:var(--aktion-hinweis);}
.svc-preis-box{font-size:15px;font-weight:800;white-space:nowrap;}
.svc-pfeil{font-size:22px;color:var(--ink-muted);}
.admin-karte > .svc-form{margin-bottom:var(--space-3);padding:14px;border:1px solid var(--brand);border-radius:var(--radius-lg);}
.svc-form .svc-foto{margin:2px 0 var(--space-3);}
.svc-form-aktion{margin-bottom:var(--space-3);}
.svc-form-aktion .svc-aktion{margin:0;}
.svc-weg{margin-left:auto;}
/* Fotos: größere Kacheln */
body.pro .foto-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3);}
body.pro .foto{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-card);}
body.pro .foto img{aspect-ratio:4/3;}
body.pro .foto figcaption{padding:8px;}
body.pro .foto-upload{margin-top:var(--space-2);}
/* Produkte: Kacheln */
body.pro #biz-produkte .produkt{align-items:center;margin-top:var(--space-2);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);}
body.pro #biz-produkte .produkt + .produkt{border-top:1px solid var(--line);}
/* Geschäftsprofil: zweispaltige Zeilen */
body.pro #biz-profil .row{padding:10px 0;border-bottom:1px solid var(--line);}
body.pro #biz-profil .row:last-of-type{border-bottom:none;}
@media (min-width:900px){ body.pro section[data-tab="admin"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:start;} body.pro section[data-tab="admin"][hidden]{display:none;} body.pro section[data-tab="admin"] > #biz-services{grid-column:1 / -1;} body.pro section[data-tab="admin"] .card{margin-bottom:0;} }
body.pro #biz-produkte .card > .cta{display:inline-block;width:auto;margin-top:0;padding:10px 18px;font-size:13px;}

/* Glamingo PRO: Hinweis-Karten oben rechts bei neuen Benachrichtigungen (09.10.2026) */
.meldungen{position:fixed;top:72px;right:16px;z-index:60;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none;}
.meldung{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;border:1px solid var(--line);border-left:4px solid var(--brand-strong);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-hover);cursor:pointer;pointer-events:auto;animation:meldung-rein .28s ease-out;transition:opacity .3s,transform .3s;}
.meldung.geht{opacity:0;transform:translateX(24px);}
.meldung-ic{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--pastel-2);font-size:26px;line-height:1;}
.meldung-text{flex:1;min-width:0;}
.meldung-text b{display:block;margin-bottom:2px;font-size:14px;}
.meldung-text span{display:block;font-size:13px;line-height:1.4;color:var(--ink-muted);}
.meldung-zu{flex-shrink:0;width:26px;height:26px;padding:0;border:none;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-size:12px;cursor:pointer;}
@keyframes meldung-rein{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){ .meldung{animation:none;} }
.ton-schalter{margin:0 0 10px;color:var(--ink-muted);}
/* Tanzender Flamingo in den Hinweis-Karten: wiegt sich, hüpft kurz und hebt ein Bein (nur CSS) */
.flamingo-tanz{display:inline-block;transform-origin:50% 90%;animation:flamingo-tanz 1.6s ease-in-out infinite;}
@keyframes flamingo-tanz{
  0%,100%{transform:rotate(0) translateY(0);}
  15%{transform:rotate(-12deg) translateY(-2px);}
  30%{transform:rotate(10deg) translateY(0);}
  45%{transform:rotate(-6deg) translateY(-5px) scaleX(-1);}
  60%{transform:rotate(8deg) translateY(0) scaleX(-1);}
  80%{transform:rotate(-4deg) translateY(-2px);}
}
@media (prefers-reduced-motion:reduce){ .flamingo-tanz{animation:none;} }

/* Glamingo PRO: Reiter ab 1000 px als Leiste links, damit der Kalender mehr Platz hat (Wunsch des Auftraggebers 09.10.2026);
   auf Handy/Tablet bleiben sie oben */
@media (min-width:1000px){
  body.pro main:has(#panel-tabs:not([hidden])){display:grid;grid-template-columns:var(--leiste-breite,72px) minmax(0,1fr);column-gap:var(--space-5);align-items:start;}
  body.pro main:has(#panel-tabs:not([hidden])) > *:not(#panel-tabs){grid-column:2;}
  /* Kalender direkt unter der Kopfzeile (Wunsch des Auftraggebers 09.10.2026: Abstand oben weg) */
  body.pro main:has(#panel-tabs:not([hidden])){padding-top:var(--space-2);}
  body.pro .panel-tabs{grid-column:1;grid-row:1 / span 30;flex-direction:column;align-self:start;top:71px;margin:0;padding:8px;overflow:visible;border-radius:var(--radius-lg);}
  body.pro .panel-tabs button{flex:0 0 auto;justify-content:flex-start;gap:10px;width:100%;padding:12px 14px;border-bottom:0;border-left:3px solid transparent;border-radius:var(--radius-md);font-size:15px;text-align:left;}
  body.pro .panel-tabs button:hover{background:var(--surface-page);}
  body.pro .panel-tabs button.active{border-left-color:var(--brand-strong);background:var(--surface-tint);}
  body.pro .panel-tabs button span{font-size:18px;}
}
/* Leiste ein-/ausklappen: eingeklappt nur Symbole (Standard), ausgeklappt mit Namen */
body.pro .panel-tabs .leiste-knopf{display:none;}
@media (min-width:1000px){
  body.pro.leiste-breit{--leiste-breite:200px;}
  body.pro .panel-tabs .leiste-knopf{display:flex;align-items:center;justify-content:center;align-self:flex-end;width:36px;height:30px;margin:0 0 6px;padding:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink-muted);font:inherit;font-size:16px;font-weight:800;cursor:pointer;}
  body.pro .panel-tabs .leiste-knopf:hover{border-color:var(--brand);color:var(--brand-strong);}
  body.pro:not(.leiste-breit) .panel-tabs .leiste-knopf{align-self:center;}
  body.pro:not(.leiste-breit) .panel-tabs button[data-tab]{justify-content:center;padding:12px 0;}
  body.pro:not(.leiste-breit) .panel-tabs .tab-name{display:none;}
  body.pro:not(.leiste-breit) .panel-tabs button[data-tab] .tab-ic{font-size:20px;}
}
body.pro .cal-header-emp{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 4px;}
body.pro .cal-header-emp .avatar{width:30px;height:30px;margin:0;font-size:12px;}
body.pro .cal-header-emp .abw-tag{margin:0;}
/* Salonname in der Leiste (nur ausgeklappt) und oben im Menü; über dem Inhalt ausgeblendet (seit 10.10.2026 auch auf dem Handy), Hinweise bleiben */
body.pro .leiste-salon{display:none;}
body.pro .biz-kopf > h2{display:none;}
/* Überschrift „Terminkalender“ nur für Screenreader (seit 10.10.2026 auch auf dem Handy) */
body.pro .cal-titel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
body.pro .biz-kopf:not(:has(.notice,.hint,.field,.inline-err)){display:none;}
.menue-salon{padding:8px 12px 10px;margin-bottom:4px;border-bottom:1px solid var(--line);}
.menue-salon:empty{display:none;}
.menue-salon b{display:block;font-size:15px;font-weight:800;line-height:1.25;word-break:break-word;}
.menue-salon small{display:block;margin-top:1px;color:var(--ink-muted);font-size:12px;font-weight:600;}
@media (min-width:1000px){
  body.pro.leiste-breit .leiste-salon{display:block;margin:2px 6px 10px;padding:0 0 10px;border-bottom:1px solid var(--line);font-size:16px;font-weight:800;line-height:1.25;letter-spacing:-.01em;word-break:break-word;}
}
.svc-link{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);font-size:15px;cursor:pointer;}
.svc-link:hover{border-color:var(--brand);}
.link-anzeige{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:var(--space-3);padding:10px 12px;border-radius:var(--radius-md);background:var(--pastel-1);color:var(--ink);font-size:13px;font-weight:600;}
.link-anzeige input{flex:1 1 260px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:500;}

/* ---------- Cookie-Banner (shared.js) ---------- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;max-width:720px;max-height:calc(100vh - 32px);overflow-y:auto;margin:0 auto;padding:var(--space-4);background:var(--surface-card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card),var(--shadow-search);}
.cookie-banner h2{margin:0 0 var(--space-2);font-size:18px;}
.cookie-banner p{margin:0;font-size:13px;line-height:1.5;}
.cookie-banner a{color:var(--brand-strong);font-weight:700;}
.cookie-icon{margin-right:6px;}
.cookie-knoepfe{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);}
.cookie-knoepfe button{padding:11px 20px;border-radius:var(--radius-pill);font:inherit;font-size:14px;font-weight:700;cursor:pointer;}
.cookie-haupt{border:0;background:var(--brand-strong);color:var(--on-brand);}
.cookie-zweit{border:1.5px solid var(--brand-strong);background:var(--surface-card);color:var(--brand-strong);}
.cookie-kat{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);background:var(--pastel-2);border-radius:var(--radius-md);cursor:pointer;}
.cookie-kat b{display:block;font-size:14px;}
.cookie-kat small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--ink-muted);}
.cookie-kat input{flex:none;width:22px;height:22px;accent-color:var(--brand-strong);}
.cookie-kat input:disabled{opacity:.6;}
.fuss-cookie{background:none;border:0;padding:0;font:inherit;color:var(--ink-muted);font-weight:600;cursor:pointer;text-align:left;}
.fuss-cookie:hover{color:var(--brand-strong);}
.site-footer.fuss nav .fuss-cookie{display:block;margin:0 0 10px;color:var(--fuss-muted);font-weight:500;}
.site-footer.fuss nav .fuss-cookie:hover{color:var(--fuss-ink);}
@media (max-width:520px){ .cookie-knoepfe button{flex:1 1 100%;} }

/* ---------- Glamingo PRO: Kalender so groß wie möglich (Wunsch des Auftraggebers 09.10.2026) ---------- */
/* Handy/Tablet: Tage-Leiste über Tag und Knöpfen (wie bisher) */
body.pro .cal-toolbar{flex-wrap:wrap;gap:var(--space-2) var(--space-3);}
body.pro .cal-toolbar .days{order:-1;flex:1 1 100%;min-width:0;}
.cal-fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px var(--space-5);}
@media (min-width:1000px){
  /* Überschrift nur für Screenreader, eine Zeile: Tag · Tage · Knöpfe */
  body.pro #biz-cal{padding:var(--space-3) var(--space-4) var(--space-2);}
  body.pro .cal-toolbar{flex-wrap:nowrap;margin-bottom:var(--space-2);}
  body.pro .cal-toolbar .biz-day-label{flex:none;min-width:150px;font-size:16px;}
  body.pro .cal-toolbar .days{order:0;flex:1 1 auto;padding:2px 0;gap:6px;scrollbar-width:thin;}
  body.pro .cal-toolbar .days .day{min-width:44px;padding:5px 6px;}
  body.pro .cal-toolbar .cal-tools{flex:none;flex-wrap:nowrap;}
  body.pro .cal-fuss .cal-legend, body.pro .cal-fuss .cal-tipp{margin:6px 0 0;}
}

/* ---------- Partner werden (#partner): modern mit eigenen gezeichneten Bildern (Wunsch des Auftraggebers 09.10.2026) ---------- */
:root{ --shadow-float:0 14px 34px rgba(58,31,40,.14); }
:root[data-theme="dark"]{ --shadow-float:0 14px 34px rgba(0,0,0,.45); }
@media (min-width:768px){ #partner-screen{max-width:1240px;} }
.pf-kopf{display:grid;gap:var(--space-6);align-items:start;margin:var(--space-3) 0 48px;}
.pf-intro h1{margin:0 0 14px;font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--ink);}
.pf-lead{margin:0 0 20px;font-size:16px;line-height:1.55;color:var(--ink-muted);}
.pf-vorteile{margin:0 0 20px;padding:0;list-style:none;}
.pf-vorteile li{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:15px;font-weight:600;color:var(--ink);}
.pf-vorteile li span{display:inline-flex;flex:none;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:12px;font-weight:800;}
.pf-schon{font-size:14px;color:var(--ink-muted);}
.pf-schon a{color:var(--brand-strong);font-weight:700;}
.pf-antrag{margin:0;padding:var(--space-5);box-shadow:var(--shadow-float);}
@media (min-width:1000px){
  .pf-kopf{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;margin-top:var(--space-5);}
  .pf-intro{position:sticky;top:96px;padding-top:var(--space-5);}
  .pf-intro h1{font-size:46px;}
  .pf-lead{font-size:17px;}
  .pf-antrag{padding:28px;}
}

.pf-funktionen h2,.pf-schritte h2{margin:0 0 var(--space-5);font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--ink);}
.pf-raster{display:grid;gap:var(--space-5);}
@media (min-width:768px){ .pf-raster{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;} .pf-funktionen h2,.pf-schritte h2{font-size:34px;} }
@media (min-width:1200px){ .pf-raster{grid-template-columns:repeat(3,minmax(0,1fr));} }
.pf-karte{display:flex;flex-direction:column;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-card);}
.pf-karte h3{margin:20px 4px 8px;font-size:21px;line-height:1.25;font-weight:800;color:var(--ink);}
.pf-karte > p{margin:0 4px 16px;font-size:15px;line-height:1.55;color:var(--ink-muted);}
.pf-fakt{margin-top:auto;padding:14px 16px;border-radius:var(--radius-md);background:var(--surface-page);color:var(--brand-strong);font-size:14px;font-weight:700;line-height:1.45;}

/* Bildfläche: Pastell-Verlauf nach unten heller, darauf Handy/Karte + schwebendes Etikett */
.pf-bild{position:relative;display:flex;align-items:center;justify-content:center;height:280px;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--pf-farbe,var(--pastel-2)) 0%,var(--surface-card) 100%);font-size:11px;color:var(--ink);}
.pf-bild.farbe-0{--pf-farbe:var(--pastel-0);} .pf-bild.farbe-1{--pf-farbe:var(--pastel-1);} .pf-bild.farbe-2{--pf-farbe:var(--pastel-2);}
.pf-bild.farbe-3{--pf-farbe:var(--pastel-3);} .pf-bild.farbe-4{--pf-farbe:var(--pastel-4);} .pf-bild.farbe-5{--pf-farbe:var(--pastel-5);}
.pf-bild .avatar{width:22px;height:22px;font-size:10px;font-style:normal;}
.pf-badge{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);animation:pf-schweben 5s ease-in-out infinite;}
.pf-badge.oben{top:22px;left:18px;} .pf-badge.oben.rechts{left:auto;right:18px;} .pf-badge.unten{bottom:22px;left:18px;}
.pf-badge-ic{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--aktion-bg);font-size:16px;}
.pf-badge b{display:block;font-size:12.5px;} .pf-badge small{display:block;font-size:11px;color:var(--ink-muted);}
@keyframes pf-schweben{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@media (prefers-reduced-motion:reduce){ .pf-badge{animation:none;} }

/* Handy */
.pf-bild:has(.pf-handy){justify-content:flex-end;padding-right:9%;}
.pf-handy{position:relative;width:190px;margin-top:auto;padding:12px 12px 14px;border:7px solid var(--ink);border-bottom:0;border-radius:28px 28px 0 0;background:var(--surface-card);box-shadow:var(--shadow-float);align-self:flex-end;}
.pf-handy-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;}
.pf-handy-kopf span{color:var(--gold);font-weight:800;}
.pf-dienst{display:flex;justify-content:space-between;padding:8px 10px;margin-bottom:6px;border:1px solid var(--line);border-radius:var(--radius-sm);}
.pf-dienst.an{border-color:var(--brand-strong);background:var(--surface-tint);}
.pf-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0;}
.pf-slots span{padding:5px 0;border:1px solid var(--line);border-radius:var(--radius-pill);text-align:center;font-size:10px;font-weight:700;}
.pf-slots span.an{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--on-brand);}
.pf-buchen{padding:9px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);text-align:center;font-weight:800;}
.pf-url{margin:-2px -2px 10px;padding:7px 10px;border-radius:var(--radius-pill);background:var(--surface-page);font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pf-salon-bild{display:flex;align-items:center;justify-content:center;height:56px;margin-bottom:10px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:var(--on-brand);font-size:30px;font-weight:800;}

/* Kalender */
.pf-kal{width:86%;margin-top:40px;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.pf-kal-kopf,.pf-kal-raster{display:grid;grid-template-columns:34px repeat(3,minmax(0,1fr));}
.pf-kal-kopf{border-bottom:1px solid var(--line);}
.pf-kal-kopf span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;font-weight:700;font-size:10px;}
.pf-kal-raster{position:relative;height:150px;background:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px 37.5px);}
.pf-kal-zeit{position:relative;display:flex;flex-direction:column;}
.pf-kal-zeit span{height:37.5px;padding:2px 0 0 5px;font-size:8.5px;color:var(--ink-muted);}
.pf-kal-spalte{position:relative;border-left:1px solid var(--line);}
.pf-t{position:absolute;left:3px;right:3px;overflow:hidden;padding:3px 5px;border-left:3px solid var(--brand-strong);border-radius:5px;font-size:8.5px;line-height:1.3;color:var(--ink-muted);}
.pf-t b{display:block;color:var(--ink);font-size:9px;white-space:nowrap;}
.pf-t.salon{border-left-color:var(--ink);}
.pf-kal-spalte.farbe-0 .pf-t{background:var(--pastel-0);} .pf-kal-spalte.farbe-1 .pf-t{background:var(--pastel-1);} .pf-kal-spalte.farbe-3 .pf-t{background:var(--pastel-3);}
.pf-t.zieht{transform:rotate(-3deg) translate(-6px,-4px);box-shadow:var(--shadow-float),0 0 0 2px var(--brand);}
.pf-zeiger{position:absolute;top:58%;left:58%;z-index:3;color:var(--ink);font-size:16px;transform:rotate(-120deg);}

/* E-Mail */
.pf-mail{width:82%;margin-top:56px;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.pf-mail-kopf{display:flex;gap:5px;padding:8px 10px;background:var(--surface-page);}
.pf-punkt{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--line);}
.pf-mail-inhalt{padding:12px 14px 14px;}
.pf-mail-inhalt small{display:block;color:var(--ink-muted);font-size:10px;}
.pf-mail-inhalt > b{display:block;margin:4px 0 6px;font-size:13px;}
.pf-mail-inhalt p{margin:0 0 10px;color:var(--ink-muted);}
.pf-mail-termin{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-sm);background:var(--surface-tint);}
.pf-mail-termin span{font-size:18px;} .pf-mail-termin b{display:block;font-size:12px;}

/* Kundenkartei */
.pf-kunde{width:84%;padding:14px;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.pf-kunde .avatar{width:34px;height:34px;font-size:13px;}
.pf-kunde-kopf{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.pf-kunde-kopf b{display:block;font-size:13px;} .pf-kunde-kopf small{color:var(--ink-muted);}
.pf-kunde-zahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px;}
.pf-kunde-zahlen div{padding:6px;border-radius:var(--radius-sm);background:var(--surface-page);text-align:center;}
.pf-kunde-zahlen b{display:block;font-size:12px;} .pf-kunde-zahlen small{font-size:9.5px;color:var(--ink-muted);}
.pf-notiz{margin-top:6px;padding:7px 9px;border-left:3px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface-page);line-height:1.4;}
.pf-notiz.sichtbar{border-left-color:var(--brand-strong);background:var(--surface-tint);}
.pf-notiz small{display:block;font-size:9.5px;font-weight:700;color:var(--ink-muted);}

/* Rabatt-Aktion */
.pf-aktion{width:84%;margin-top:50px;padding:6px 14px;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.pf-aktion-zeile{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
.pf-aktion-zeile:last-child{border-bottom:0;}
.pf-aktion-zeile b{display:block;font-size:12.5px;} .pf-aktion-zeile small{color:var(--ink-muted);}
.pf-preise{display:flex;align-items:center;gap:7px;font-size:12px;}
.pf-preise s{color:var(--ink-muted);}

/* So werden Sie Partner */
.pf-schritte{margin:56px 0 var(--space-6);text-align:center;}
.pf-schritte ol{display:grid;gap:var(--space-4);margin:0 0 28px;padding:0;list-style:none;text-align:left;}
@media (min-width:768px){ .pf-schritte ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;} }
.pf-schritte li{padding:22px;border-radius:var(--radius-xl);background:var(--surface-tint);}
.pf-schritte li span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:12px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-weight:800;}
.pf-schritte li b{display:block;margin-bottom:6px;font-size:17px;color:var(--ink);}
.pf-schritte li p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-muted);}
.pf-los{background:var(--brand-strong);color:var(--on-brand);border-radius:var(--radius-pill);}
/* Kategorie-Auswahl im Antrag als Kacheln */
.ob-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px;}
@media (min-width:520px){ .ob-cats{grid-template-columns:repeat(3,minmax(0,1fr));} }
.ob-cats .ob-cat{display:flex;align-items:center;gap:8px;margin:0;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;}
.ob-cats .ob-cat span{font-size:18px;}
.ob-cats .ob-cat:hover{border-color:var(--brand-strong);}
.ob-cats .ob-cat.sel{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--on-brand);}

/* ---------- Glamingo Jobs (#jobs): modern wie „Partner werden“ (Wunsch des Auftraggebers 09.10.2026) ---------- */
@media (min-width:768px){ #jobs-screen{max-width:1240px;margin-left:auto;margin-right:auto;} }
#jobs-screen:not([data-tab="angebote"]) .jf-nur-start{display:none;}
.jf-kopf{display:grid;gap:var(--space-5);align-items:center;margin:var(--space-3) 0 28px;}
.jf-intro h1{margin:0 0 14px;font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--ink);}
#jobs-screen:not([data-tab="angebote"]) .jf-intro h1{font-size:26px;margin-bottom:8px;}
#jobs-screen:not([data-tab="angebote"]) .jf-intro .pf-lead{font-size:14px;margin-bottom:0;}
.jf-knoepfe{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.jf-btn{padding:13px 22px;border:1.5px solid var(--brand-strong);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--brand-strong);font:inherit;font-size:15px;font-weight:800;cursor:pointer;}
.jf-btn.haupt{background:var(--brand-strong);color:var(--on-brand);}
.jf-kopf-bild{height:300px;}
@media (min-width:1000px){
  .jf-kopf{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;margin-top:var(--space-5);}
  #jobs-screen[data-tab="angebote"] .jf-intro h1{font-size:46px;}
  .jf-kopf-bild{height:360px;}
}
#jobs-screen .job-tabs{margin-bottom:var(--space-4);}
#jobs-screen .pf-funktionen{margin-top:56px;}

/* Stellen-/Profil-Liste */
.jf-liste{width:86%;padding:12px;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.jf-liste.schmal{margin-top:40px;}
.jf-filter{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.jf-filter span{padding:4px 9px;border-radius:var(--radius-pill);background:var(--surface-page);font-size:10px;font-weight:700;}
.jf-job{display:flex;align-items:flex-start;gap:9px;padding:9px 4px;border-top:1px solid var(--line);}
.jf-job b{display:block;font-size:12.5px;} .jf-job small{display:block;color:var(--ink-muted);font-size:10.5px;}
.jf-job .avatar{width:30px;height:30px;font-size:12px;}
.jf-ic{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);font-size:14px;font-weight:800;background:var(--pastel-2);}
.jf-ic.farbe-0{background:var(--pastel-0);} .jf-ic.farbe-1{background:var(--pastel-1);} .jf-ic.farbe-2{background:var(--pastel-2);}
.jf-ic.farbe-3{background:var(--pastel-3);} .jf-ic.farbe-4{background:var(--pastel-4);}
.jf-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.jf-chips i{padding:2px 7px;border-radius:var(--radius-pill);background:var(--surface-tint);font-style:normal;font-size:9.5px;font-weight:700;}

/* Bewerberprofil, Anfrage, Schalter, PRO */
.jf-profil,.jf-anfrage,.jf-schalter-karte{width:84%;padding:14px;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.jf-profil{margin-top:44px;}
.jf-profil .avatar{width:34px;height:34px;font-size:13px;}
.jf-profil p{margin:8px 0;color:var(--ink-muted);line-height:1.45;}
.jf-zeile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);}
.jf-zeile b{display:block;font-size:12px;} .jf-zeile small{display:block;color:var(--ink-muted);font-size:10px;}
.jf-schalter-karte .jf-zeile:first-child,.jf-pro-inhalt .jf-zeile:first-child{border-top:0;}
.jf-schalter-karte{margin-top:40px;}
.jf-schalter{position:relative;flex:none;width:36px;height:20px;border-radius:var(--radius-pill);background:var(--line);}
.jf-schalter::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-pill);background:var(--surface-card);}
.jf-schalter.an{background:var(--success);} .jf-schalter.an::after{left:18px;}
.jf-haken{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-style:normal;font-weight:800;}
.jf-gratis{font-size:16px !important;color:var(--success);}
.jf-anfrage-kopf{display:flex;align-items:center;gap:10px;}
.jf-anfrage-kopf b{display:block;font-size:13px;} .jf-anfrage-kopf small{color:var(--ink-muted);}
.jf-anfrage p{margin:10px 0;padding:9px 10px;border-radius:var(--radius-sm);background:var(--surface-page);line-height:1.45;font-style:italic;}
.jf-anfrage-knoepfe{display:flex;gap:6px;}
.jf-anfrage-knoepfe span{flex:1;padding:8px;border:1.5px solid var(--brand-strong);border-radius:var(--radius-pill);color:var(--brand-strong);text-align:center;font-weight:800;}
.jf-anfrage-knoepfe span.an{background:var(--brand-strong);color:var(--on-brand);}
.jf-pro{width:86%;margin-top:50px;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.jf-pro-leiste{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--ink);color:var(--surface-card);}
.jf-pro-leiste b span{margin-left:3px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:9px;}
.jf-pro-leiste small{font-size:10px;opacity:.85;}
.jf-pro-inhalt{padding:6px 12px 10px;}
.jf-zahl{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-style:normal;font-weight:800;}
.jf-bewerbung{display:flex;align-items:center;gap:8px;padding:6px 0;}
.jf-bewerbung .avatar{width:26px;height:26px;font-size:11px;font-style:normal;}
.jf-bewerbung b{display:block;font-size:11.5px;} .jf-bewerbung small{color:var(--ink-muted);font-size:10px;}
.jf-kopf-bild .pf-badge.unten{left:auto;right:18px;bottom:16px;}

/* Einwilligung „Angebote per E-Mail“ (Registrierung, Mein Konto) */
.werbung-check,.werbung-salon{display:flex;align-items:flex-start;gap:10px;margin:10px 0;font-size:13px;line-height:1.45;color:var(--ink);cursor:pointer;}
.werbung-check input,.werbung-salon input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--brand-strong);}
.werbung-salon{margin:6px 0;font-size:14px;font-weight:600;}

/* Glamingo PRO: Rundmail (Aktion per E-Mail) im Reiter Kunden */
.rm-zahlen{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-page);font-size:13px;color:var(--ink-muted);}
.rm-zahlen b{color:var(--brand-strong);font-size:16px;}
.rm-verlauf{display:flex;justify-content:space-between;gap:var(--space-3);padding:8px 0;border-top:1px solid var(--line);font-size:13px;}

/* Geburtstag (Tag + Monat) bei Registrierung und in Mein Konto */
.geburtstag-felder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-2);}

/* ---------- Glamingo PRO: Termin-Fenster (Wunsch des Auftraggebers 09.10.2026, Vorbild Treatwell) ---------- */
body.tm-offen{overflow:hidden;}
.tm-overlay{position:fixed;inset:0;z-index:70;background:var(--overlay);opacity:.5;}
.tm{position:fixed;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-float);}
.tm-kopf{padding:20px 24px 16px;border-bottom:1px solid var(--line);}
.tm-inhalt{flex:1;overflow-y:auto;padding:18px 24px;background:var(--surface-page);}
.tm-fuss{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;padding:14px 24px;border-top:1px solid var(--line);background:var(--surface-card);}
.tm-fuss .cta{width:auto;margin:0;padding:12px 22px;}
.tm-oben{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);}
#tm-titel{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);}
.tm-zu{flex:none;width:36px;height:36px;border:0;border-radius:var(--radius-pill);background:var(--surface-page);color:var(--ink);font-size:16px;cursor:pointer;}
.tm-zu:hover{background:var(--surface-tint);}
.tm-besuch{margin-top:8px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-strong);}
.tm-kunde{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:6px;}
.tm-name{font-size:22px;font-weight:800;}
.tm-tel{color:var(--ink);font-weight:700;text-decoration:none;}
.tm-tel:hover{color:var(--brand-strong);}
.tm-karte{margin-left:auto;padding:8px 14px;border:1.5px solid var(--brand-strong);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--brand-strong);font:inherit;font-size:13px;font-weight:800;cursor:pointer;}
.tm-info{margin-top:14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--pastel-4);font-size:13px;line-height:1.5;}
.tm-kunde-felder{display:grid;gap:0 var(--space-3);margin-top:10px;}
@media (min-width:640px){ .tm-kunde-felder{grid-template-columns:repeat(2,minmax(0,1fr));} }
.tm-termin{padding:16px 18px;border-left:4px solid var(--brand-strong);border-radius:var(--radius-md);background:var(--surface-card);}
.tm-termin.vom-salon{border-left-color:var(--ink);}
.tm-status{margin-bottom:10px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--success);}
.tm-status.no_show{color:var(--danger);}
.tm-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-3);}
@media (min-width:700px){ .tm-raster{grid-template-columns:1.2fr .9fr .8fr 1.3fr;} }
.tm-wert{padding:11px 0;font-weight:700;}
.tm-ende{margin:-4px 0 10px;font-size:13px;color:var(--ink-muted);}
.tm-notiz{background:var(--pastel-3) !important;color:var(--ink) !important;border-color:var(--line) !important;}
.tm-zeile{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:6px;}
.tm-link{padding:0;border:0;background:none;color:var(--brand-strong);font:inherit;font-size:15px;font-weight:800;cursor:pointer;}
.tm-link.gefahr:hover{text-decoration:underline;}
.tm-preis{font-size:18px;font-weight:800;}
.tm-preis small{margin-right:6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);}
.tm-absage{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.tm select:disabled,.tm input:disabled{opacity:.75;cursor:default;}
.tm .tf-vorschlaege:empty{display:none;}
@media (max-width:640px){
  .tm{left:0;top:auto;bottom:0;transform:none;width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
  .tm-kopf,.tm-inhalt,.tm-fuss{padding-left:16px;padding-right:16px;}
  .tm-fuss .cta{flex:1 1 100%;}
}

/* ---------- Glamingo PRO: Reiter Statistik (09.10.2026) ---------- */
.stat-kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);}
.stat-kopf h2{margin:0;}
.stat-monat{display:flex;align-items:center;gap:var(--space-2);}
.stat-monat b{min-width:130px;text-align:center;font-size:16px;}
.stat-pfeil{width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:18px;font-weight:800;cursor:pointer;}
.stat-pfeil:disabled{opacity:.4;cursor:default;}
.stat-kacheln{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);}
@media (min-width:900px){ .stat-kacheln{grid-template-columns:repeat(4,minmax(0,1fr));} }
.stat-kachel{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radius-md);background:var(--surface-page);}
.stat-kachel span{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);}
.stat-kachel b{font-size:26px;font-weight:800;color:var(--ink);}
.stat-kachel small{font-size:12px;color:var(--ink-muted);}
.stat-kachel.haupt{background:var(--brand-strong);}
.stat-kachel.haupt span,.stat-kachel.haupt b,.stat-kachel.haupt small{color:var(--on-brand);}
.stat-raster{display:grid;gap:0 var(--space-3);}
@media (min-width:1000px){ .stat-raster{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;} }
.stat-titel{margin:0 0 var(--space-3);font-size:16px;}
.stat-ma{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--line);}
.stat-ma:first-of-type{border-top:0;}
.stat-ma .avatar{width:36px;height:36px;font-size:13px;}
.stat-ma-text{flex:1;min-width:0;}
.stat-ma-zeile{display:flex;justify-content:space-between;gap:var(--space-3);}
.stat-ma small{display:block;margin-top:4px;font-size:12px;color:var(--ink-muted);}
.stat-balken{display:flex;height:8px;margin-top:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-page);}
.stat-balken i{display:block;height:100%;background:var(--brand-strong);}
.stat-balken i.erwartet{background:var(--surface-tint);}
.stat-tage{display:flex;align-items:flex-end;gap:2px;height:170px;padding-bottom:18px;}
.stat-tag{position:relative;display:flex;flex:1;flex-direction:column-reverse;height:100%;min-width:0;}
.stat-tag i{display:block;width:100%;border-radius:3px 3px 0 0;background:var(--brand-strong);}
.stat-tag i.erwartet{background:var(--surface-tint);border-radius:0;}
.stat-tag span{position:absolute;bottom:-17px;left:50%;transform:translateX(-50%);font-size:8.5px;color:var(--ink-muted);}
.stat-tag:nth-child(odd) span{visibility:visible;} .stat-tag:nth-child(even) span{visibility:hidden;}
.stat-legende{display:flex;align-items:center;gap:6px 14px;margin:8px 0 0;font-size:12px;color:var(--ink-muted);}
.stat-legende .dot{display:inline-block;width:10px;height:10px;margin-right:4px;border-radius:2px;vertical-align:-1px;}
.stat-legende .dot.an{background:var(--brand-strong);} .stat-legende .dot.erwartet{background:var(--surface-tint);}
.stat-dienst{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:9px 0;border-top:1px solid var(--line);}
.stat-dienst:first-of-type{border-top:0;}
.stat-rang{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-pill);background:var(--surface-tint);font-size:12px;font-weight:800;}
.stat-monate{display:flex;align-items:flex-end;gap:var(--space-2);height:180px;}
.stat-monat-balken{display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;padding:0;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;}
.stat-monat-balken i{display:block;width:70%;min-height:3px;border-radius:6px 6px 0 0;background:var(--surface-tint);}
.stat-monat-balken.an i{background:var(--brand-strong);}
.stat-monat-balken b{font-size:11px;white-space:nowrap;}
.stat-monat-balken span{font-size:12px;color:var(--ink-muted);}
/* Statistik: Filter und Aufteilung nach Herkunft (über Glamingo / vom Salon eingetragen) */
.stat-quellen{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--space-3);}
.stat-quellen button{padding:8px 14px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.stat-quellen button.an{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--on-brand);}
.stat-herkunft{margin-top:var(--space-3);padding:14px 16px;border-radius:var(--radius-md);background:var(--surface-page);}
.stat-herkunft-balken{display:flex;height:10px;margin-bottom:10px;overflow:hidden;border-radius:var(--radius-pill);background:var(--line);}
.stat-herkunft-balken i{display:block;height:100%;}
.stat-herkunft-balken i.online,.stat-herkunft-zeile.online .dot{background:var(--brand-strong);}
.stat-herkunft-balken i.salon,.stat-herkunft-zeile.salon .dot{background:var(--ink);}
.stat-herkunft-zeile{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:4px 0;font-size:14px;}
.stat-herkunft-zeile .dot{width:10px;height:10px;border-radius:3px;}
.stat-herkunft-zeile small{grid-column:2 / -1;font-size:12px;color:var(--ink-muted);}
.stat-herkunft-zeile.blass{opacity:.45;}

/* ---------- Glamingo PRO: Reiter Kunden modern (09.10.2026) ---------- */
:root{ --success-text:var(--success); }
:root[data-theme="dark"]{ --success-text:#6fc48a; } /* Grün als Text auf dunklen Flächen (≥ 4,5:1) */
.kd-kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4);}
.kd-kopf h2{margin:0 0 2px;font-size:24px;}
.kd-kopf .hint{margin:0;}
.kd-aktionen{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.kd-knopf{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;}
.kd-knopf:hover{border-color:var(--brand-strong);}
.kd-knopf.haupt{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--on-brand);}
.kd-knopf.gefahr{color:var(--danger);}
.kd-zahl{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--brand-strong);font-size:12px;font-weight:800;}
.kd-raster{display:grid;gap:var(--space-4);align-items:start;}
@media (min-width:1000px){
  .kd-raster{grid-template-columns:minmax(320px,400px) minmax(0,1fr);}
  .kd-liste-karte{position:sticky;top:80px;max-height:calc(100vh - 100px);display:flex;flex-direction:column;}
  .kd-liste-karte #pk-liste{flex:1;overflow-y:auto;margin:0 -6px;padding:0 6px;}
  .kd-zurueck{display:none;}
}
@media (max-width:999px){
  .kd-raster.mit-karte .kd-liste-karte{display:none;}
  .kd-raster:not(.mit-karte) .kd-detail{display:none;}
}
.kd-liste-karte,.kd-detail > .card{margin-bottom:0;}
.kd-detail{display:flex;flex-direction:column;gap:var(--space-4);}
.kd-suche{display:flex;align-items:center;gap:8px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-page);}
.kd-suche:focus-within{border-color:var(--brand-strong);}
.kd-suche input{flex:1;min-width:0;padding:11px 0;border:0 !important;background:none !important;box-shadow:none !important;font:inherit;font-size:15px;color:var(--ink);outline:none;}
.kd-filter{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px;}
.kd-filter button{padding:6px 12px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;}
.kd-filter button.an{border-color:var(--ink);background:var(--ink);color:var(--surface-card);}
.kd-anzahl{margin:10px 0 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);}
.kd-zeile{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px;margin:2px 0;border:0;border-radius:var(--radius-md);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;}
.kd-zeile:hover{background:var(--surface-page);}
.kd-zeile.an{background:var(--surface-tint);}
.kd-zeile .avatar{width:40px;height:40px;font-size:14px;}
.kd-zeile-text{flex:1;min-width:0;}
.kd-zeile-name{display:flex;align-items:center;gap:6px;}
.kd-zeile-name b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.kd-zeile small,.kd-zeile-rechts small{display:block;font-size:12px;color:var(--ink-muted);}
.kd-zeile-rechts{flex:none;text-align:right;}
.kd-zeile-rechts b{font-size:13px;}
.kd-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-page);font-size:11.5px;font-weight:800;color:var(--ink-muted);}
.kd-badge.konto{background:var(--surface-page);color:var(--brand-strong);box-shadow:inset 0 0 0 1px var(--line);}
.kd-badge.gesperrt{background:var(--danger);color:var(--surface-card);}
.kd-form{margin:12px 0;padding:14px;border-radius:var(--radius-md);background:var(--surface-page);}
.kd-form h3{margin:0 0 8px;font-size:15px;}
.kd-leer{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;text-align:center;color:var(--ink-muted);}
.kd-leer span{font-size:44px;}
.kd-karte-kopf{display:flex;align-items:center;gap:16px;margin:4px 0 14px;}
.kd-karte-kopf h2{margin:0 0 6px;font-size:24px;}
.avatar.gross{width:64px;height:64px;font-size:22px;}
.kd-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.kd-seit{font-size:12.5px;color:var(--ink-muted);}
.kd-schnell{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.kd-kacheln{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:14px;}
@media (min-width:640px){ .kd-kacheln{grid-template-columns:repeat(4,minmax(0,1fr));} }
.kd-kachel{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-page);}
.kd-kachel b{font-size:22px;font-weight:800;}
.kd-kachel span{font-size:12px;color:var(--ink-muted);}
.kd-kachel.gut b{color:var(--success-text);}
.kd-kachel.warn b{color:var(--danger);}
.kd-kachel.haupt{background:var(--brand-strong);}
.kd-kachel.haupt b,.kd-kachel.haupt span{color:var(--on-brand);}
.kd-titel{margin:0 0 10px;font-size:16px;}
.kd-titel .hint{font-size:12px;font-weight:500;}
.kd-notizform textarea{width:100%;}
.kd-notizform-fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:6px;}
.kd-notizen{display:grid;gap:var(--space-2);margin-top:12px;}
@media (min-width:1300px){ .kd-notizen{grid-template-columns:repeat(2,minmax(0,1fr));} }
.kd-notiz{padding:12px 14px;border-left:4px solid var(--gold);border-radius:var(--radius-md);background:var(--pastel-3);}
.kd-notiz.sichtbar{border-left-color:var(--brand-strong);background:var(--surface-tint);}
.kd-notiz p{margin:0 0 8px;white-space:pre-wrap;line-height:1.45;}
.kd-notiz-fuss{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:12px;color:var(--ink-muted);}
.kd-termin{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);}
.kd-termin:first-of-type{border-top:0;}
.kd-datum{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--surface-page);line-height:1.1;}
.kd-datum b{font-size:17px;} .kd-datum small{font-size:10px;color:var(--ink-muted);}
.kd-termin-text{flex:1;min-width:0;}
.kd-termin-text small{display:block;font-size:12px;color:var(--ink-muted);}
.kd-termin-rechts{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:4px;}
.kd-status{padding:2px 8px;border-radius:var(--radius-pill);background:var(--surface-page);font-size:11px;font-weight:800;color:var(--ink-muted);}
.kd-status.completed{background:var(--surface-card);color:var(--success-text);box-shadow:inset 0 0 0 1px var(--line);}
.kd-status.no_show,.kd-status.cancelled{background:var(--surface-card);color:var(--danger);box-shadow:inset 0 0 0 1px var(--line);}
.kd-status.anstehend{background:var(--pastel-4);color:var(--ink);}

/* Glamingo PRO: Preisliste per Ziehen sortieren (09.10.2026) */
.svc-zeile.sortierbar{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.svc-griff{flex:none;margin-right:-4px;color:var(--ink-muted);font-size:18px;line-height:1;cursor:grab;}
.svc-zeile.zieht{position:relative;z-index:5;border-color:var(--brand-strong);box-shadow:var(--shadow-float),0 0 0 2px var(--brand);cursor:grabbing;transition:none;}
body.zieht-svc,body.zieht-svc *{cursor:grabbing !important;}

/* ---------- Handy-Korrekturen (Test auf dem iPhone, 09.10.2026) ---------- */
/* Kalender: Kopfzeile so breit wie die Spalten (sonst endet die Linie beim seitlichen Scrollen), Uhrzeiten bleiben links */
.cal-header-row{min-width:max-content;}
.cal-header-row > div:first-child{position:relative;z-index:3;background:var(--surface-card);}
.cal-timecol{z-index:3;will-change:transform;}
.cal-header-row > div:first-child{will-change:transform;}
/* Uhrzeit-Spalte und Ecke bleiben beim seitlichen Scrollen links: per JS verschoben (kalenderSeitlich() in pro.html),
   weil position:sticky in dieser Tabelle in Safari (iPhone) seitlich nicht greift */
/* Termin-Fenster: kurze Hinweise zum Aufklappen statt großer Kästen */
.tm-hinweis{margin-top:10px;font-size:13px;line-height:1.5;color:var(--ink-muted);}
.tm-hinweis summary{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--pastel-4);color:var(--ink);font-weight:700;cursor:pointer;list-style:none;}
.tm-hinweis summary::-webkit-details-marker{display:none;}
.tm-hinweis[open] summary{margin-bottom:6px;}
@media (max-width:767px){
  /* iOS vergrößert die Seite beim Antippen von Feldern unter 16 px → alle Eingaben 16 px */
  input,select,textarea{font-size:16px !important;}
  /* iOS gibt Datums-/Zeitfeldern eine eigene Mindestbreite (ragen sonst aus der Karte) und zentriert den Text */
  input[type=date],input[type=time]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left;}
  input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;}
  body{overflow-x:clip;}
}
@media (max-width:640px){
  .tm{max-height:92dvh;}
  .tm-kopf{padding:14px 16px 12px;}
  .tm-inhalt{padding:12px 16px;}
  .tm-termin{padding:12px 12px 10px;}
  .tm-name{font-size:19px;}
  .tm-kunde-felder .field{margin-bottom:8px;}
  .tm-fuss{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));}
  .tm-fuss .cta{flex:1 1 calc(50% - 4px);padding:12px 10px;}
  .tm-raster{gap:0 10px;}
  .tm-raster input[type=date],.tm-raster input[type=time]{min-width:0;width:100%;-webkit-appearance:none;appearance:none;}
}

/* Termin eintragen: Vorschläge aus der Kundenkartei direkt unter dem Feld (09.10.2026) */
.tf-feld{position:relative;}
.tf-dd{position:absolute;left:0;right:0;top:calc(100% - 6px);z-index:5;max-height:280px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-float);}
.tf-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;}
.tf-option:hover,.tf-option.an{background:var(--surface-tint);}
.tf-option .avatar{width:32px;height:32px;font-size:12px;}
.tf-option-text{flex:1;min-width:0;}
.tf-option-text small{display:block;font-size:12px;color:var(--ink-muted);}
.tf-erkannt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;padding:10px 14px;border-radius:var(--radius-md);background:var(--pastel-1);font-size:13.5px;}
.tf-status{min-height:0;font-size:13px;color:var(--ink-muted);}
.tf-status:not(:empty){margin-top:2px;}

/* ---------- Glamingo PRO: Zugänge für Mitarbeiter/innen (09.10.2026) ---------- */
.zg-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-4px 0 10px 50px;padding:8px 12px;border-radius:var(--radius-md);background:var(--surface-page);font-size:13px;}
.zg-zeile.gesperrt,.zg-zeile.abgelaufen{background:var(--pastel-3);}
.zg-zeile > span:first-child{flex:1 1 220px;}
.zg-rolle-wahl{padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;}
.zg-aktionen{display:flex;gap:12px;}
.mini-link.gefahr{color:var(--danger);}
.zg-box{margin:-4px 0 12px 50px;padding:14px;border:1.5px solid var(--brand-strong);border-radius:var(--radius-md);background:var(--surface-card);}
.zg-box.neu{background:var(--surface-tint);}
.zg-code{margin:10px 0 4px;font-size:30px;font-weight:800;letter-spacing:.14em;color:var(--brand-strong);}
.zg-link{width:100%;margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--ink-muted);font:inherit;font-size:12px;}
@media (max-width:640px){ .zg-zeile,.zg-box{margin-left:0;} }
/* Kalender: Ansicht „Alle / Nur ich“ */
.cal-ansicht{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);}
.cal-ansicht button{padding:7px 12px;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.cal-ansicht button.an{background:var(--ink);color:var(--surface-card);}

/* ---------- Glamingo PRO: Reiter Support (09.10.2026) ---------- */
@media (min-width:1000px){
  body.pro .panel-tabs{min-height:calc(100vh - 96px);}
  body.pro .panel-tabs .tab-unten{margin-top:auto;}
}
.sp-raster{display:grid;gap:0 var(--space-4);align-items:start;}
@media (min-width:1100px){ .sp-raster{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);} }
.sp-gruppe{margin:18px 0 6px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);}
.sp-faq{border-top:1px solid var(--line);}
.sp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:13px 2px;font-weight:700;cursor:pointer;list-style:none;}
.sp-faq summary::-webkit-details-marker{display:none;}
.sp-faq summary::after{content:"+";flex:none;font-size:20px;font-weight:600;color:var(--brand-strong);}
.sp-faq[open] summary::after{content:"–";}
.sp-faq p{margin:0 2px 14px;line-height:1.55;color:var(--ink-muted);}
.sp-anfrage{border-top:1px solid var(--line);}
.sp-anfrage-kopf{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:12px 2px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;}
.sp-anfrage-kopf small{display:block;font-size:12px;color:var(--ink-muted);}
.sp-status{flex:none;padding:3px 10px;border-radius:var(--radius-pill);background:var(--surface-page);font-size:11.5px;font-weight:800;color:var(--ink-muted);}
.sp-status.beantwortet{background:var(--brand-strong);color:var(--on-brand);}
.sp-status.offen{background:var(--pastel-4);color:var(--ink);}
.sp-verlauf{display:flex;flex-direction:column;gap:8px;padding:0 0 14px;}
.sp-nachricht{max-width:88%;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-page);align-self:flex-end;}
.sp-nachricht.glamingo{align-self:flex-start;background:var(--surface-tint);}
.sp-nachricht small{font-size:11px;font-weight:700;color:var(--ink-muted);}
.sp-nachricht p{margin:4px 0 0;white-space:pre-wrap;line-height:1.45;}
.sp-verlauf textarea{width:100%;margin-top:6px;}

/* ---------- Glamingo PRO: Reiter Team als Karten (09.10.2026) ---------- */
.tk-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--space-3);margin-top:var(--space-3);}
.tk{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-card);transition:border-color .15s,box-shadow .15s;}
.tk:hover{border-color:var(--brand);}
.tk.offen{grid-column:1 / -1;border-color:var(--brand-strong);box-shadow:var(--shadow-card);}
@media (min-width:900px){ .tk.offen{grid-column:span 2;} }
.tk-kopf{display:flex;align-items:center;gap:12px;}
.tk-kopf .avatar{width:48px;height:48px;font-size:17px;}
.tk-name{min-width:0;}
.tk-name b{display:block;font-size:17px;}
.tk-name small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--ink-muted);}
.tk-badges{display:flex;flex-wrap:wrap;gap:6px;}
.tk-badges:empty{display:none;}
.tk-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-page);font-size:12px;font-weight:700;color:var(--ink-muted);}
.tk-badge.pro{background:var(--pastel-1);color:var(--ink);}
.tk-badge.eingeladen{background:var(--pastel-4);color:var(--ink);}
.tk-badge.urlaub{background:var(--pastel-3);color:var(--ink);}
.tk-badge.warn{background:var(--pastel-3);color:var(--ink);}
.tk-badge.gesperrt{background:var(--surface-tint);color:var(--ink);}
.tk-knoepfe{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;}
.tk-knopf{flex:1 1 auto;padding:9px 14px;border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
.tk-knopf:hover,.tk-knopf.an{border-color:var(--brand-strong);color:var(--brand-strong);}
.tk-knopf.haupt{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--on-brand);}
.tk-knopf.gefahr{color:var(--danger);}
.tk-knopf.gefahr:hover{border-color:var(--danger);}
.tk-panel{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--radius-md);background:var(--surface-page);}
.tk-panel.neu{background:var(--surface-tint);}
.tk-panel > small{font-size:13px;color:var(--ink-muted);}
.tk-panel .tk-knoepfe{margin-top:8px;}
.tk-rollen{display:grid;gap:8px;margin-top:4px;}
@media (min-width:700px){ .tk-rollen{grid-template-columns:repeat(3,minmax(0,1fr));} }
.tk-rolle{display:flex;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-card);cursor:pointer;}
.tk-rolle:has(input:checked){border-color:var(--brand-strong);box-shadow:0 0 0 1px var(--brand-strong);}
.tk-rolle input{flex:none;margin-top:3px;accent-color:var(--brand-strong);}
.tk-rolle b{display:block;font-size:14px;}
.tk-rolle small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--ink-muted);}
.tk-neu{justify-content:center;border-style:dashed;background:var(--surface-page);}
.tk-neu b{font-size:15px;}
.tk-neu input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--ink);font:inherit;}

/* Gruppentermin: freie Plätze unter der Uhrzeit (common/gruppentermin.ts) */
.slot .slot-plaetze{display:block;margin-top:2px;font-size:10.5px;font-weight:600;opacity:.8;}
/* Glamingo PRO: Gruppentermin im Kalender (mehrere Kundinnen zur selben Uhrzeit) */
body.pro .cal-appt.cal-gruppe{border-left-width:4px;border-left-style:double;}
.cal-gruppe-namen{display:block;margin-top:2px;font-size:10px;opacity:.85;white-space:normal;}
.tm-gruppe-stand{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:13px;color:var(--ink-muted);}
.tm-gruppe-stand b{color:var(--ink);}
.tm-teilnehmer{display:flex;align-items:center;gap:12px;width:100%;padding:10px 4px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;}
.tm-teilnehmer:first-child{border-top:0;}
.tm-teilnehmer:hover{background:var(--surface-page);}
.tm-teilnehmer .avatar{width:34px;height:34px;font-size:12px;}
.tm-teilnehmer-text{flex:1;min-width:0;}
.tm-teilnehmer-text small{display:block;font-size:12px;color:var(--ink-muted);}

/* ---------- Termin-Fenster der Kunden-App (09.10.2026, Wunsch des Auftraggebers: moderner, Namen voll lesbar) ---------- */
.buchen{padding:0;overflow:clip;}
.bk-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);background:linear-gradient(135deg,var(--surface-tint),var(--surface-card));border-bottom:1px solid var(--line);}
.bk-kopf h2{margin:0;font-size:19px;}
.bk-kopf p{margin:4px 0 0;color:var(--ink-muted);font-size:13.5px;font-weight:600;}
.bk-kopf-preis{text-align:right;flex-shrink:0;}
.bk-kopf-preis b{display:block;font-size:16px;}
.bk-kopf-preis small{color:var(--ink-muted);font-size:12px;font-weight:600;}
.bk-schritt{padding:var(--space-4) var(--space-4) 0;}
.bk-schritt h3{display:flex;align-items:center;gap:10px;margin:0 0 var(--space-3);font-size:15px;}
.bk-nr{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:12px;font-weight:800;flex-shrink:0;}
.bk-monat{margin-left:auto;color:var(--ink-muted);font-size:13px;font-weight:600;}
/* Mitarbeiter/innen: Kacheln mit Avatar, umbrechend — Namen werden nie abgeschnitten */
.bk-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;}
.bk-person{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 4px 8px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;}
.bk-person:hover{border-color:var(--brand);}
.bk-person:active{transform:scale(.97);}
.bk-person .avatar{width:40px;height:40px;font-size:14px;}
.bk-egal{background:var(--surface-tint);font-size:18px;}
.bk-person-name{max-width:100%;font-size:12.5px;font-weight:700;line-height:1.25;text-align:center;overflow-wrap:anywhere;}
.bk-person.sel{border-color:var(--brand-strong);box-shadow:0 0 0 3px var(--surface-tint);}
.bk-person.sel .avatar{box-shadow:0 0 0 2px var(--surface-card),0 0 0 4px var(--brand-strong);}
/* Tage: Leiste mit Pfeilen */
.bk-tage-rahmen{display:flex;align-items:center;gap:6px;}
.bk-pfeil{flex-shrink:0;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:18px;line-height:1;cursor:pointer;}
.bk-pfeil:hover{border-color:var(--brand);}
.bk-tage{flex:1;min-width:0;padding:4px 2px;scroll-snap-type:x proximity;scrollbar-width:none;}
.bk-tage::-webkit-scrollbar{display:none;}
.bk-tag{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:54px;padding:8px 4px;font:inherit;scroll-snap-align:start;border:1.5px solid var(--line);}
.bk-tag .bk-tag-wt{font-size:11.5px;font-weight:600;}
.bk-tag b{font-size:17px;color:var(--ink);}
.bk-tag.sel b{color:inherit;}
.bk-tag:not(.sel):hover{border-color:var(--brand);}
/* Uhrzeiten nach Tageszeit */
.bk-tageszeit + .bk-tageszeit{margin-top:var(--space-3);}
.bk-tageszeit h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:var(--ink-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.bk-tageszeit h4 small{padding:1px 7px;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--ink);font-size:11px;letter-spacing:0;}
.buchen .slots{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));}
.buchen .slot{font:inherit;font-weight:700;font-size:14px;color:var(--ink);padding:10px 2px;border-radius:var(--radius-pill);transition:border-color .15s,transform .1s;}
.buchen .slot:not(.sel):hover{border-color:var(--brand);}
.buchen .slot:active{transform:scale(.97);}
.buchen .slot.sel{color:var(--on-brand);}
.buchen .slot:has(.slot-plaetze){border-radius:var(--radius-md);}
.buchen .no-res,.buchen .empty{margin:0;}
.buchen > .inline-err{margin:var(--space-3) var(--space-4) 0;}
/* Fuß: Auswahl + Weiter (Handy: bleibt unten sichtbar) */
.bk-fuss{position:sticky;bottom:0;display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-card);border-top:1px solid var(--line);}
.bk-fuss .cta{margin:0;width:auto;flex:1;max-width:220px;margin-left:auto;}
.bk-auswahl{display:flex;align-items:center;gap:10px;min-width:0;}
.bk-auswahl-ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:var(--surface-tint);flex-shrink:0;}
.bk-auswahl b{display:block;font-size:14px;}
.bk-auswahl small{display:block;color:var(--ink-muted);font-size:12.5px;font-weight:600;}
.bk-fuss-hinweis{margin:0;color:var(--ink-muted);font-size:13px;}
@media (max-width:420px){
  .bk-fuss{flex-wrap:wrap;}
  .bk-fuss .cta{max-width:none;flex:1 1 100%;}
}
/* Handy: Leiste „Termin wählen ↓“ nach der Auswahl einer Dienstleistung (ab 1000 px steht die Terminwahl daneben) */
#cal-card{scroll-margin-top:76px;}
.bk-leiste{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 10px 10px 18px;border:none;border-radius:var(--radius-pill);background:var(--ink);color:var(--surface-card);font:inherit;text-align:left;box-shadow:var(--shadow-raised);cursor:pointer;transition:transform .25s,opacity .25s;animation:bk-leiste-rein .3s ease-out;}
.bk-leiste.weg{transform:translateY(140%);opacity:0;pointer-events:none;}
.bk-leiste-text{min-width:0;}
.bk-leiste-text b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bk-leiste-text small{display:block;font-size:12.5px;font-weight:600;opacity:.85;}
.bk-leiste-text .preis-alt{color:inherit;opacity:.7;}
.bk-leiste-cta{flex-shrink:0;padding:10px 16px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:13.5px;font-weight:700;white-space:nowrap;}
@keyframes bk-leiste-rein{from{transform:translateY(140%);opacity:0;}}
@media (min-width:1000px){ .bk-leiste{display:none;} }
@media (prefers-reduced-motion:reduce){ .bk-leiste{animation:none;transition:none;} }

/* ---------- App-Version (PWA, 09.10.2026): Hinweis-Karte, Anleitung, Offline-Seite ---------- */
.app-hinweis{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:10px;padding:10px 8px 10px 10px;background:var(--surface-card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);animation:bk-leiste-rein .35s ease-out;}
.app-hinweis-ic{width:44px;height:44px;border-radius:var(--radius-md);flex-shrink:0;}
.app-hinweis-text{flex:1;min-width:0;}
.app-hinweis-text b{display:block;font-size:14px;}
.app-hinweis-text small{display:block;color:var(--ink-muted);font-size:12.5px;line-height:1.3;}
.app-hinweis-ja{flex-shrink:0;padding:9px 14px;border:none;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.app-x{flex-shrink:0;width:32px;height:32px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);font:inherit;font-size:22px;line-height:1;cursor:pointer;}
.app-x:hover{background:var(--surface-tint);color:var(--ink);}
.app-anleitung{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:var(--overlay);}
.app-anleitung-box{position:relative;width:100%;max-width:440px;padding:var(--space-5) var(--space-4) var(--space-4);margin-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-card);color:var(--ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-raised);text-align:center;}
.app-anleitung-box .app-x{position:absolute;top:10px;right:10px;}
.app-anleitung-ic{width:72px;height:72px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);}
.app-anleitung-box h2{margin:var(--space-3) 0 6px;font-size:20px;}
.app-anleitung-box p{margin:0 0 var(--space-3);color:var(--ink-muted);font-size:14px;}
.app-anleitung-box ol{margin:0;padding:0;list-style:none;counter-reset:schritt;text-align:left;}
.app-anleitung-box li{counter-increment:schritt;display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.4;}
.app-anleitung-box li::before{content:counter(schritt);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:12px;font-weight:800;}
.app-symbol{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border-radius:6px;background:var(--surface-tint);font-weight:800;}
@media (min-width:600px){ .app-anleitung{align-items:center;} }
.offline-seite{max-width:420px;margin:0 auto;padding:15vh 24px 40px;text-align:center;}
.offline-logo{width:180px;max-width:60%;}
.offline-ic{margin:var(--space-5) auto var(--space-3);width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--surface-tint);font-size:32px;}
.offline-seite h1{margin:0 0 8px;font-size:24px;}
.offline-seite p{margin:0;color:var(--ink-muted);}

/* ---------- Gesetzliche Feiertage in Bayern (10.10.2026): Tage-Leisten und Hinweis ---------- */
.day.feiertag:not(.sel){background:var(--surface-page);border-style:dashed;color:var(--ink-muted);}
.day.feiertag:not(.sel) b{color:var(--ink-muted);}
.bk-tag-ft{font-size:9.5px;font-weight:700;line-height:1;letter-spacing:.02em;}
.feiertag-hinweis{line-height:1.5;}
.feiertag-hinweis span:last-child{color:var(--ink-muted);font-size:13px;}

/* ---------- Kalender: Knopf in der Ecke „alle / nur arbeitende Mitarbeiter/innen“ (10.10.2026) ---------- */
.cal-ecke{display:flex;align-items:center;justify-content:center;}
.cal-filter{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s;}
.cal-filter:hover{background:var(--surface-tint);color:var(--ink);}

/* ---------- Glamingo PRO: Kalender minimalistisch (10.10.2026, Wunsch des Auftraggebers: weiß, ohne Rahmen, ruhig) ----------
   Seite weiß statt zartrosa, Kalender-Karte ohne Rahmen/Schatten, Linien sehr hell und neutral, geschlossene Zeiten
   als ruhige graue Fläche statt Schraffur, Tage ohne Rahmen. Termine behalten die Farbe der Mitarbeiterin. */
:root{ --cal-linie:#f1edef; --cal-linie-stunde:#e8e2e5; --cal-zu:#f8f6f7; }
:root[data-theme="dark"]{ --cal-linie:#2c2227; --cal-linie-stunde:#352930; --cal-zu:#20181c; }
body.pro{background:var(--surface-card);}
body.pro #biz-cal{border:0;box-shadow:none;background:transparent;}
body.pro .cal-outer{border:0;border-radius:0;background:var(--surface-card);}
body.pro .cal-header-row{border-bottom:1px solid var(--cal-linie-stunde);}
body.pro .cal-header-emp,body.pro .cal-header-row > div:first-child{border-right:0 !important;}
body.pro .cal-timecol{border-right:0;}
body.pro .cal-timecol .hr-label{color:var(--ink-muted);font-variant-numeric:tabular-nums;}
body.pro .cal-empcol{border-right:1px solid var(--cal-linie);
  /* nur volle Stunden als Linie (alle 2 × SLOT_PX) */
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--slot-px,34px) * 2 - 1px), var(--cal-linie-stunde) calc(var(--slot-px,34px) * 2 - 1px), var(--cal-linie-stunde) calc(var(--slot-px,34px) * 2));}
body.pro .cal-empcol:last-child{border-right:0;}
body.pro .cal-offhours{background:var(--cal-zu);opacity:1;}
body.pro .cal-legend .dot.frei{background:var(--cal-zu);border:1px solid var(--cal-linie-stunde);}
/* Tage: ohne Rahmen, gewählter Tag als gefüllte Fläche */
body.pro .day{border:0;background:transparent;}
body.pro .day.sel{background:var(--brand-strong);color:var(--on-brand);}
body.pro .day:not(.sel):hover{background:var(--cal-zu);border:0;}
body.pro .day.feiertag:not(.sel){background:transparent;border:0;text-decoration:line-through;text-decoration-color:var(--cal-linie-stunde);}
body.pro .cal-today-btn:not(.haupt){border-color:var(--cal-linie-stunde);}
body.pro .cal-appt{box-shadow:none;}
body.pro .cal-legend,body.pro .cal-tipp{opacity:.85;}
@media (max-width:999px){
  /* Handy: Kalender bis an den Rand der Karte, weniger Abstand */
  body.pro #biz-cal{padding-left:0;padding-right:0;}
  body.pro #biz-cal > *:not(.cal-outer){padding-left:var(--space-2);padding-right:var(--space-2);}
}

/* ---------- Kategorie und Dienstleistung (#kategorie/…): minimalistisch (10.10.2026, Wunsch des Auftraggebers) ---------- */
#cat-screen .back{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--space-3);color:var(--ink-muted);font-size:14px;font-weight:600;}
#cat-screen .back:hover{color:var(--brand-strong);}
.cat-kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-5);}
.cat-kopf h2{margin:0;font-size:clamp(24px,4vw,34px);font-weight:800;letter-spacing:-.02em;line-height:1.15;}
.cat-sub{margin:6px 0 0;color:var(--ink-muted);font-size:14px;font-weight:600;}
.cat-sub:empty{display:none;}
.sort-bar{margin:0;}
.sort-bar:empty{display:none;}
.sort-wahl{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:13px;font-weight:600;}
.sort-wahl{position:relative;}
.sort-wahl select{appearance:none;-webkit-appearance:none;padding:8px 34px 8px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;}
.sort-wahl::after{content:"";position:absolute;right:15px;top:50%;width:6px;height:6px;border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.sort-wahl select:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
/* Liste der Dienstleistungen: schlichte Zeilen mit Trennlinie statt Kästen */
.cat-leistungen{max-width:760px;border-top:1px solid var(--line);}
#cat-screen .svc-cat-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);width:100%;margin:0;padding:16px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s;}
#cat-screen .svc-cat-item:hover{background:var(--surface-page);}
.svc-cat-name{font-size:16px;font-weight:700;}
.svc-cat-meta{color:var(--ink-muted);font-size:13px;font-weight:600;white-space:nowrap;}
#cat-screen .svc-cat-item .arrow{color:var(--ink-muted);font-size:22px;line-height:1;}
/* Salons: Kacheln ohne Rahmen — Foto mit Rundung, Text darunter */
#cat-salon-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-6) var(--space-5);}
#cat-salon-list > .salon-kachel{grid-column:auto;}
.salon-kachel{min-width:0;cursor:pointer;border-radius:var(--radius-lg);outline-offset:4px;}
.salon-kachel .salon-bild{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;}
.salon-kachel .salon-bild img{transition:transform .35s ease;}
.salon-kachel:hover .salon-bild img{transform:scale(1.03);}
.salon-kachel .salon-kat{display:none;}
.salon-kachel-text{padding:10px 2px 0;}
.salon-kachel .salon-zeile h3{font-size:16px;}
.salon-kachel .salon-adr{margin:2px 0 6px;}
.salon-kachel-preis{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0;font-size:14px;color:var(--ink-muted);}
.salon-kachel-preis b{color:var(--ink);font-size:16px;}
@media (max-width:560px){
  #cat-salon-list{grid-template-columns:1fr;gap:var(--space-5);}
  .cat-kopf{align-items:flex-start;}
}

/* ---------- Glamingo PRO: alle Reiter minimalistisch (10.10.2026, Wunsch des Auftraggebers: ruhig, „göz yormayan“) ----------
   Hell: Linien und Flächen neutral statt rosa (gleiche Tokens, nur in PRO umdefiniert), Karten mit feiner Linie ohne Schatten,
   Leiste/Reiter ohne Rahmen, aktive Auswahl als ruhige Fläche. Pink bleibt für Hauptknöpfe und die Auswahl. Dunkel: unverändert. */
:root:not([data-theme="dark"]) body.pro{
  --line:#ece7e9; --surface-page:#f8f6f7; --surface-tint:#f4e9ed;
  --shadow-card:none; --shadow-hover:0 4px 14px rgba(58,31,40,.06);
}
body.pro .card{border:1px solid var(--line);box-shadow:none;}
body.pro .card > h2{font-size:18px;font-weight:800;}
/* Reiter (Handy oben, ab 1000 px Leiste links): ohne Rahmen und Schatten */
body.pro .panel-tabs{border:0;box-shadow:none;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface-card);}
@media (min-width:1000px){
  body.pro .panel-tabs{border-bottom:0;border-right:1px solid var(--line);border-radius:0;padding:4px 8px 4px 0;}
  body.pro .panel-tabs button{border-left:0;}
  body.pro .panel-tabs button.active{background:var(--surface-tint);color:var(--brand-strong);}
  body.pro .panel-tabs .leiste-knopf{border-color:transparent;}
  body.pro .panel-tabs .leiste-knopf:hover{border-color:var(--line);}
}
/* Statistik: Hauptkachel ruhig (Zahl in Pink statt pinker Fläche) */
body.pro .stat-kachel.haupt{background:var(--surface-page);}
body.pro .stat-kachel.haupt span,body.pro .stat-kachel.haupt small{color:var(--ink-muted);}
body.pro .stat-kachel.haupt b{color:var(--brand-strong);}
body.pro .stat-quellen button{border-width:1px;}
/* Listen-Zeilen und Eingaben: feine Linien, Fokus statt dicker Rahmen */
/* Dienstleistungen: Zeilen ohne Rahmen, nur feine Trennlinie (Wunsch des Auftraggebers 10.10.2026) */
body.pro .svc-liste{gap:0;border-top:1px solid var(--line);}
body.pro .svc-zeile{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 6px;background:transparent;}
body.pro .svc-zeile:hover{background:var(--surface-page);box-shadow:none;}
body.pro .svc-zeile.offen{background:var(--surface-page);box-shadow:none;padding:14px 12px;}
body.pro .svc-zeile.zieht{background:var(--surface-card);border-radius:var(--radius-md);}
body.pro .svc-zeile .svc-link{border-color:transparent;background:transparent;}
body.pro .svc-zeile .svc-link:hover{border-color:var(--line);}
body.pro input:not([type=checkbox]):not([type=radio]),body.pro select,body.pro textarea{border-color:var(--line);}
body.pro .notice{border:0;}
/* Äußere Karten der Reiter ohne Rahmen (keine Rahmen in Rahmen); Abschnitte durch Abstand und eine feine Linie getrennt */
body.pro section[data-tab] .card:not(.card .card):not(#biz-cal){border:0;border-radius:0;background:transparent;padding:var(--space-2) 0 var(--space-6);margin-bottom:0;}
body.pro section[data-tab] .card:not(.card .card):not(#biz-cal) ~ .card:not(.card .card),
body.pro section[data-tab] > div + div > .card:not(.card .card){border-top:1px solid var(--line);padding-top:var(--space-5);}
/* Dienstleistungen ohne Foto: ruhiger Anfangsbuchstabe statt pinker Fläche */
body.pro .svc-mini-bild:not(:has(img)){background:var(--surface-page);color:var(--ink-muted);}

/* ---------- Glamingo PRO, Reiter Admin: Unterreiter (10.10.2026, Wunsch des Auftraggebers) ---------- */
@media (min-width:900px){ body.pro section[data-tab="admin"]{display:block;} }
.unter-reiter{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 0 var(--space-4);border-bottom:1px solid var(--line);}
.unter-reiter::-webkit-scrollbar{display:none;}
.unter-reiter button{flex:none;padding:10px 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--ink-muted);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s;}
.unter-reiter button:hover{color:var(--ink);}
.unter-reiter button.an{color:var(--ink);border-bottom-color:var(--brand-strong);}
body.pro section[data-tab="admin"] [data-admin-teil] > .card{border-top:0 !important;padding-top:var(--space-2) !important;}
/* Bewertungen */
.bw-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5) var(--space-6);margin:var(--space-4) 0 var(--space-5);}
.bw-schnitt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
.bw-schnitt b{font-size:40px;font-weight:800;line-height:1;}
.bw-schnitt .sterne{color:var(--gold);font-size:16px;letter-spacing:1px;}
.bw-schnitt small{color:var(--ink-muted);font-size:13px;}
.bw-verteilung{flex:1;min-width:200px;max-width:360px;}
.bw-zeile{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-muted);}
.bw-zeile i{display:block;height:6px;border-radius:var(--radius-pill);background:var(--surface-page);overflow:hidden;}
.bw-zeile i b{display:block;height:100%;background:var(--gold);}
.bw-zeile small{text-align:right;}
.bw-liste{border-top:1px solid var(--line);max-width:760px;}
.bw-eintrag{padding:14px 2px;border-bottom:1px solid var(--line);}
.bw-eintrag-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;}
.bw-eintrag-kopf .sterne{color:var(--gold);}
.bw-eintrag p{margin:6px 0 0;font-size:14px;line-height:1.5;}

/* ---------- Kategorie: Salons mit Leistungs-Gruppen, Filtern und Entfernung (10.10.2026) ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.cat-gruppen{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 var(--space-3);padding:2px 0;}
.cat-gruppen::-webkit-scrollbar{display:none;}
.cat-gruppen:empty{display:none;}
.cat-gruppen button{flex:none;padding:9px 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s;}
.cat-gruppen button:hover{border-color:var(--ink-muted);}
.cat-gruppen button.an{border-color:var(--ink);background:var(--ink);color:var(--surface-card);}
.cat-filter{margin:0 0 var(--space-5);}
.cf-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.cf-wahl{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:13px;font-weight:600;}
.cf-wahl select{appearance:none;-webkit-appearance:none;padding:7px 30px 7px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.cf-wahl::after{content:"";position:absolute;right:13px;top:50%;width:5px;height:5px;border-right:2px solid var(--ink-muted);border-bottom:2px solid var(--ink-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.cf-wahl.an select{border-color:var(--ink);}
.cf-sort{margin-left:auto;}
.cf-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.cf-chip:hover{border-color:var(--ink-muted);}
.cf-chip.an{border-color:var(--ink);}
.cf-chip:disabled{opacity:.5;cursor:default;}
.cf-ort button{padding:0 0 0 4px;border:0;background:none;color:var(--ink-muted);font:inherit;font-size:16px;line-height:1;cursor:pointer;}
.cf-ort-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:12px;border-radius:var(--radius-md);background:var(--surface-page);}
.cf-oder{color:var(--ink-muted);font-size:13px;}
.cf-plz{display:flex;gap:6px;}
.cf-plz input{width:150px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13px;}
.cf-msg{flex-basis:100%;margin:2px 0 0;color:var(--ink-muted);font-size:12.5px;}
.salon-km{color:var(--ink);font-weight:700;}
.salon-kachel-preis small{font-size:12px;font-weight:600;color:var(--ink-muted);}
@media (max-width:560px){
  .cf-sort{margin-left:0;}
  .cf-wahl select,.cf-plz input{font-size:16px;}
}
@media (max-width:560px){ .salon-kachel .salon-bild{aspect-ratio:16/9;} }
@media (min-width:768px){ .cat-gruppen{flex-wrap:wrap;overflow:visible;} }
html[data-aus-jobs] [data-web="jobs"],html[data-aus-produkte] [data-web="produkte"]{display:none !important;} /* Admin → „Website“ (10.10.2026) */
/* Glamingo PRO: Bewertung melden (10.10.2026) */
.bw-melden{margin-top:8px;padding:0;border:0;background:none;color:var(--ink-muted);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;}
.bw-melden:hover{color:var(--brand-strong);}
.bw-meldung{margin:8px 0 0;font-size:12.5px;font-weight:700;color:var(--ink-muted);}
.bw-meldung.geprueft{color:var(--success-text);}
.bw-melden-form{margin-top:10px;padding:12px;border-radius:var(--radius-md);background:var(--surface-page);}
.bw-melden-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;}
.bw-melden-form textarea{width:100%;box-sizing:border-box;}
.bw-melden-form .row-actions .cta{margin-top:8px;}

/* ---------- „100 % kostenlos“ (10.10.2026, Wunsch des Auftraggebers): Hinweis im Hero, Band auf der Startseite, PRO-Anmeldung ---------- */
.gratis-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--pastel-1);color:var(--success-text);font-size:12.5px;font-weight:800;white-space:nowrap;}
.hero-gratis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:var(--space-4) 0 0;color:var(--ink-muted);font-size:13.5px;font-weight:600;}
.gratis-hinweis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-4px 0 14px;color:var(--ink-muted);font-size:13px;}
.gratis-band{margin:0 0 var(--space-6);padding:28px 20px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--pastel-1),var(--surface-card) 70%);border:1px solid var(--line);}
.gratis-kopf{max-width:640px;margin-bottom:var(--space-5);}
.gratis-kopf h2{margin:10px 0 6px;font-size:clamp(22px,3.2vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.15;}
.gratis-kopf p{margin:0;color:var(--ink-muted);font-size:15px;}
.gratis-karten{display:grid;gap:var(--space-3);}
.gratis-karte{padding:18px;border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--line);}
.gratis-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:8px;border-radius:var(--radius-md);background:var(--surface-page);font-size:21px;}
.gratis-karte b{display:block;font-size:16px;margin-bottom:4px;}
.gratis-karte p{margin:0;color:var(--ink-muted);font-size:14px;line-height:1.5;}
.link-btn{margin-top:10px;padding:0;border:0;background:none;color:var(--brand-strong);font:inherit;font-size:14px;font-weight:700;cursor:pointer;}
.link-btn:hover{text-decoration:underline;}
@media (min-width:768px){ .gratis-band{padding:36px;} .gratis-karten{grid-template-columns:repeat(3,1fr);} }

/* ---------- Glamingo PRO, Kalender: Tag wechseln wie bei Treatwell (10.10.2026) ---------- */
.kal-nav{display:flex;align-items:center;gap:4px;flex:none;}
body.pro .kal-nav .biz-day-label{min-width:0;padding:0 4px;text-align:center;white-space:nowrap;}
.kal-pfeil{width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);font:inherit;font-size:22px;line-height:1;cursor:pointer;}
.kal-pfeil:hover{background:var(--cal-zu);}
.kal-datum{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-pill);cursor:pointer;font-size:16px;}
.kal-datum:hover{background:var(--cal-zu);}
.kal-datum input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;}
.kal-datum input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;}
body.pro .day.vergangen:not(.sel){opacity:.55;}
body.pro .day.heute:not(.sel) small{color:var(--brand-strong);font-weight:800;}
@media (max-width:999px){ .kal-nav{width:100%;justify-content:space-between;} body.pro .kal-nav .biz-day-label{flex:1;} }

/* ---------- Kunden-App: Lieblingssalons ♥, Antwort des Salons, Kalender (10.10.2026) ---------- */
.fav-knopf{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink-muted);font:inherit;font-size:20px;line-height:1;cursor:pointer;transition:transform .12s,color .15s;}
.fav-knopf:hover{color:var(--brand-strong);}
.fav-knopf:active{transform:scale(.92);}
.fav-knopf.an{color:var(--brand-strong);border-color:var(--surface-tint);}
.salon-titel-zeile{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.salon-titel-zeile h1{margin:0;}
.kachel-bild{position:relative;}
.kachel-bild .fav-knopf{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;box-shadow:var(--shadow-card);}
.fav-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2);margin-bottom:var(--space-5);}
.fav-karte{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-card);cursor:pointer;}
.fav-karte:hover{border-color:var(--ink-muted);}
.fav-bild{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;overflow:hidden;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:var(--on-brand);font-weight:800;}
.fav-bild img{width:100%;height:100%;object-fit:cover;}
.fav-text{flex:1;min-width:0;}
.fav-text b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fav-text small{color:var(--ink-muted);font-size:12.5px;}
.bw-antwort{margin:8px 0 0 12px;padding:8px 12px;border-left:3px solid var(--surface-tint);background:var(--surface-page);border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.bw-antwort b{display:block;font-size:12.5px;color:var(--ink-muted);}
.bw-antwort p{margin:2px 0 0;font-size:14px;}
.bw-antwort-knoepfe{display:flex;gap:12px;margin-top:4px;} .bw-antwort-knoepfe .bw-melden,.bw-antworten{margin-top:6px;margin-right:12px;}

/* ---------- Glamingo PRO: Zeitblöcke, Einwirkzeit, Regeln für die Online-Buchung (10.10.2026) ---------- */
body.pro .cal-blocker{position:absolute;left:4px;right:4px;z-index:2;display:flex;flex-direction:column;gap:1px;padding:4px 8px;overflow:hidden;border-radius:8px;background:repeating-linear-gradient(135deg,var(--cal-zu) 0 6px,var(--cal-linie-stunde) 6px 8px);border:1px dashed var(--cal-linie-stunde);color:var(--ink-muted);font-size:11px;cursor:pointer;}
body.pro .cal-blocker b{color:var(--ink);font-size:11.5px;}
body.pro .cal-blocker:hover{border-color:var(--ink-muted);}
body.pro .cal-appt .cal-pause{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface-card) 60%,transparent);border-top:1px dashed currentColor;border-bottom:1px dashed currentColor;color:var(--ink-muted);font-size:10.5px;font-weight:700;pointer-events:none;}
body.pro .cal-appt.in-pause{left:38%;z-index:3;box-shadow:0 0 0 2px var(--surface-card);}
.svc-extra{display:grid;gap:10px;margin:4px 0 6px;}
.einwirk-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;color:var(--ink-muted);}
.einwirk-zeile input{width:80px;}
.svc-tel{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.svc-tel input{margin-top:3px;width:18px;height:18px;accent-color:var(--brand-strong);}
.svc-tel b{display:block;font-size:14px;}
.svc-tel small{display:block;color:var(--ink-muted);font-size:12.5px;}
.online-regeln .form-grid{margin-top:8px;}
/* Wochenansicht */
body.pro .woche-kopf{display:flex;align-items:center;gap:8px;padding:8px 8px 0;}
body.pro .woche-ma{padding:6px 30px 6px 12px;border:1px solid var(--cal-linie-stunde);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink);font:inherit;font-size:13.5px;font-weight:700;}
body.pro span.woche-ma{padding-right:12px;}
body.pro .woche-tag{border:0;background:none;font:inherit;cursor:pointer;flex-direction:column;gap:2px;}
body.pro .woche-tag:hover .name{color:var(--brand-strong);}
body.pro .woche-tag.heute .name{color:var(--brand-strong);}
body.pro .woche-tag.vergangen .name{opacity:.55;}
body.pro .woche-spalte.heute{background-color:color-mix(in srgb,var(--surface-tint) 25%,transparent);}
body.pro .woche-laedt{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:40px;color:var(--ink-muted);font-size:13px;pointer-events:none;}
.detail-hinweis:has(.inline-err){display:block;} /* Hinweis „nur telefonisch“ auch auf dem Handy */

/* ---------- Teil 3 (10.10.2026): Warteliste, Karte der Salons ---------- */
.warte-knopf{margin-top:12px;}
.warte-ok{display:inline-block;margin-top:10px;color:var(--success-text);font-weight:700;}
.warte-karte{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.warte-karte small{display:block;color:var(--ink-muted);margin-top:2px;}
.cat-karte{margin:0 0 18px;}
.karte-flaeche{height:380px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);z-index:0;}
@media (max-width:767px){ .karte-flaeche{height:300px;} }
.karte-zustimmung{padding:18px;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);}
.karte-zustimmung p{margin:6px 0 12px;color:var(--ink-muted);font-size:14px;}
.karte-popup b{display:block;}
.karte-popup small{display:block;margin:2px 0 6px;color:var(--ink-muted);}
.cat-karte .leaflet-popup-content-wrapper, .cat-karte .leaflet-popup-tip{background:var(--surface-card);color:var(--ink);}
/* PRO, Teil 3: Import, Kalender-Abo, Buchungs-Knopf/QR */
.kd-import{margin-bottom:16px;}
.kd-import h3{margin:0 0 8px;font-size:16px;}
.kd-import ul{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--ink-muted);}
.kd-datei{position:relative;display:inline-flex;cursor:pointer;}
.kd-datei input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.kd-vorschau{overflow-x:auto;margin:10px 0;}
.kd-vorschau table{width:100%;border-collapse:collapse;font-size:13px;}
.kd-vorschau th, .kd-vorschau td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);}
.kd-vorschau th{color:var(--ink-muted);font-weight:700;}
.tm.tm-klein{max-width:520px;}
.abo-hilfe{margin:12px 0;font-size:14px;}
.abo-hilfe summary{cursor:pointer;font-weight:700;}
.abo-hilfe ul{padding-left:18px;margin:8px 0 0;}
.abo-hilfe li{margin-bottom:6px;}
.widget-reihe{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.widget-qr{width:160px;height:160px;flex:none;padding:6px;background:var(--qr-hell);border-radius:var(--radius-md);color:var(--qr-dunkel);}
.widget-qr svg{width:100%;height:100%;display:block;}
.widget-code{flex:1;min-width:220px;}
.widget-code label{display:block;font-weight:700;font-size:13px;margin-bottom:4px;}
.widget-code textarea{width:100%;box-sizing:border-box;font:12px/1.4 ui-monospace,Menlo,monospace;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-page);color:var(--ink);resize:vertical;}
/* Karten-Markierung: Glamingo-Nadel (weißer Kopf mit 🦩, Rand und Spitze in --brand-strong) */
.glamingo-pin{background:none;border:0;}
.glamingo-pin .gp-kopf{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-pill);background:var(--surface-card);border:3px solid var(--brand-strong);box-sizing:border-box;box-shadow:var(--shadow-raised);transition:transform .15s;}
.glamingo-pin .gp-kopf::after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);border:7px solid transparent;border-top:9px solid var(--brand-strong);border-bottom:0;}
.glamingo-pin:hover .gp-kopf{transform:scale(1.12);}
.glamingo-pin img{display:block;}
/* Flamingo in der Mitte des QR-Codes (weißes Feld, Fehlerkorrektur H) */
.widget-qr{position:relative;}
.widget-qr .qr-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22%;height:22%;display:flex;align-items:center;justify-content:center;background:var(--qr-hell);border-radius:var(--radius-sm);}
.widget-qr .qr-logo img{width:78%;height:78%;display:block;}

/* ---------- PRO → Admin → Salon-Info (10.10.2026): minimalistisch wie eine Einstellungs-Seite ---------- */
.si{max-width:880px;}
.si-kopf{display:flex;align-items:center;gap:16px;padding:4px 0 20px;border-bottom:1px solid var(--line);}
.si-bild{width:64px;height:64px;flex:none;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-page);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:var(--ink-muted);}
.si-bild img{width:100%;height:100%;object-fit:cover;display:block;}
.si-titel{flex:1;min-width:0;}
.si-titel h2{margin:0;font-size:22px;line-height:1.2;overflow-wrap:anywhere;}
.si-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:4px;font-size:13px;color:var(--ink-muted);}
.si-status::before{content:"";display:inline-block;width:7px;height:7px;border-radius:var(--radius-pill);margin-right:6px;vertical-align:1px;background:currentColor;}
.si-status.st-ok{color:var(--success-text);}
.si-status.st-warten{color:var(--pending);}
.si-status.st-aus{color:var(--danger);}
.si-kopf-klein{padding-bottom:14px;}
.si-zurueck{width:38px;height:38px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font:inherit;font-size:18px;cursor:pointer;}
.si-knopf{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;}
.si-knopf:hover{border-color:var(--ink-muted);}
.si-knopf.haupt{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);}
.si-block{padding:22px 0;border-bottom:1px solid var(--line);}
.si-block:last-child{border-bottom:0;}
.si-h{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);}
.si-liste{display:flex;flex-direction:column;}
.si-zeile{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.si-zeile:last-child{border-bottom:0;}
.si-ic{width:24px;flex:none;font-size:18px;line-height:1.4;text-align:center;}
.si-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.si-label{font-size:12px;color:var(--ink-muted);}
.si-wert{font-size:15px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;}
.si-beschreibung{font-weight:500;white-space:pre-line;}
.si-link, .si-link-knopf{font-size:13px;margin-top:2px;}
.si-link-knopf, .si-fehlt{align-self:flex-start;padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--brand-strong);cursor:pointer;}
.si-fehlt{font-size:15px;}
.si-label-gross{font-size:15px;font-weight:700;color:var(--ink);}
.si-erkl{font-size:13px;color:var(--ink-muted);line-height:1.4;}
.si-regel{align-items:center;}
.si-wahl{display:flex;align-items:center;gap:10px;flex:none;}
.si-select{min-width:190px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background-color:var(--surface-card);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;}
.si-ok{font-size:13px;font-weight:700;color:var(--success-text);animation:si-ein .2s ease-out;}
@keyframes si-ein{from{opacity:0;transform:translateX(4px);}to{opacity:1;transform:none;}}
.si-fuss{margin:10px 0 0 38px;font-size:12px;color:var(--ink-muted);}
.si-teilen{display:flex;gap:28px;align-items:flex-start;padding-top:10px;}
.si-qr{display:flex;flex-direction:column;align-items:center;gap:10px;width:180px;flex:none;text-align:center;}
.si-qr .widget-qr{width:168px;height:168px;padding:8px;border:1px solid var(--line);}
.si-teilen-rechts{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.si-linkfeld{display:flex;gap:8px;margin-top:8px;}
.si-linkfeld input{flex:1;min-width:0;padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-page);color:var(--ink);font:inherit;font-size:13px;}
.si-code{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;}
.si-code summary{display:flex;justify-content:space-between;gap:10px;width:100%;cursor:pointer;font-size:14px;font-weight:700;color:var(--ink);list-style:none;}
.si-code summary::-webkit-details-marker{display:none;}
.si-code summary::after{content:" ▾";color:var(--ink-muted);}
.si-code[open] summary::after{content:" ▴";}
.si-code[open]{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.si-vorschau{padding:14px 18px;border-radius:var(--radius-md);background:var(--surface-page);}
.si-vorschau-knopf{display:inline-block;padding:12px 22px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-weight:700;font-size:15px;}
.si-code textarea{width:100%;box-sizing:border-box;font:12px/1.45 ui-monospace,Menlo,monospace;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-page);color:var(--ink);resize:vertical;}
.si .notice{margin:16px 0 0;}
.si .inline-err{margin-top:16px;}
@media (max-width:767px){
  .si-kopf{flex-wrap:wrap;}
  .si-kopf > .si-knopf{width:100%;}
  .si-regel{flex-wrap:wrap;align-items:flex-start;}
  .si-wahl{width:100%;padding-left:38px;box-sizing:border-box;flex-direction:row-reverse;justify-content:flex-end;}
  .si-select{flex:1;min-width:0;}
  .si-teilen{flex-direction:column;align-items:stretch;}
  .si-qr{width:auto;}
  .si-fuss{margin-left:0;}
}
.si .form-grid{grid-template-columns:1fr 1fr;gap:14px 18px;}
.si .form-grid .voll, .si .form-grid .row-actions, .si .form-grid .inline-err{grid-column:1 / -1;}
.si .form-grid .row-actions{justify-content:flex-start;}
.si .form-grid .row-actions .cta{flex:0 0 auto;width:auto;min-width:150px;}
@media (max-width:767px){ .si .form-grid{grid-template-columns:1fr;} .si .form-grid .row-actions .cta{flex:1;} }

/* ---------- Glamingo PRO auf dem Handy (10.10.2026, Wunsch des Auftraggebers: oben ruhiger, „smart, minimalistisch“) ----------
   Reiter als App-Leiste unten, Kalender-Kopf: Datum mit ‹ › oben, darunter Tage, dann eine Zeile Ansicht · Heute · ⏸,
   „Termin eintragen“ als runder ＋-Knopf unten rechts */
@media (max-width:767px){
  body.pro{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));}
  body.pro .panel-tabs{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:40;margin:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));display:flex;overflow:visible;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:color-mix(in srgb,var(--surface-card) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);}
  body.pro .panel-tabs button[data-tab]{flex:1 1 0;min-width:0;flex-direction:column;gap:2px;padding:6px 0 4px;border:0;border-radius:var(--radius-md);font-size:10.5px;font-weight:700;color:var(--ink-muted);background:none;}
  body.pro .panel-tabs button[data-tab] .tab-ic{font-size:20px;line-height:1;filter:grayscale(1);opacity:.7;}
  body.pro .panel-tabs button[data-tab].active{color:var(--brand-strong);background:none;border:0;}
  body.pro .panel-tabs button[data-tab].active .tab-ic{filter:none;opacity:1;}
  body.pro .panel-tabs button[data-tab] .tab-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  body.pro .panel-tabs .tab-unten{order:0;margin:0;}

  body.pro .cal-toolbar{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:8px;}
  body.pro .cal-toolbar .kal-nav{order:0;}
  body.pro .cal-toolbar .days{order:1;}
  body.pro .cal-toolbar .cal-tools{order:2;}
  body.pro .kal-nav .biz-day-label{font-size:17px;font-weight:800;}
  body.pro .kal-pfeil{width:36px;height:36px;}
  body.pro .cal-toolbar .days{gap:4px;}
  body.pro .cal-toolbar .days .day{min-width:46px;padding:6px 4px;border-radius:var(--radius-md);}
  body.pro .cal-tools{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;}
  body.pro .cal-tools .cal-today-btn, body.pro .cal-tools .cal-ansicht button{height:34px;padding:0 12px;font-size:13px;}
  body.pro .kt-lang{display:none;}
  body.pro main{padding-top:6px;}
  body.pro #biz-cal{padding-top:4px;}
  body.pro .cal-toolbar .days{scrollbar-width:none;}
  body.pro .cal-toolbar .days::-webkit-scrollbar{display:none;}
  body.pro .kal-neu{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:41;width:56px;height:56px !important;padding:0 !important;border-radius:var(--radius-pill);font-size:28px !important;font-weight:500;line-height:1;justify-content:center;box-shadow:var(--shadow-hero);}
}

/* Freie Zeit im PRO-Kalender auswählen (klicken/ziehen, Handy gedrückt halten) + Menü „Termin eintragen / Zeit blockieren“ */
body.pro #cal-body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
body.pro #cal-body .cal-empcol:not(.woche-spalte){cursor:cell;}
body.pro #cal-body .woche-spalte{cursor:cell;}
body.waehlt-zeit, body.waehlt-zeit *{cursor:ns-resize !important;}
.cal-auswahl{position:absolute;left:3px;right:3px;z-index:4;display:flex;align-items:flex-start;padding:4px 8px;box-sizing:border-box;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--brand-strong) 14%,transparent);border:2px solid var(--brand-strong);color:var(--brand-strong);font-size:12px;font-weight:800;pointer-events:none;}
.kal-wahl{position:fixed;z-index:65;min-width:210px;padding:6px;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:0 10px 32px color-mix(in srgb,var(--ink) 22%,transparent);border:1px solid var(--line);}
.kal-wahl-kopf{padding:8px 10px 6px;font-size:12px;font-weight:700;color:var(--ink-muted);}
.kal-wahl button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 10px;border:0;border-radius:var(--radius-md);background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:700;text-align:left;cursor:pointer;}
.kal-wahl button:hover, .kal-wahl button:focus-visible{background:var(--surface-page);outline:none;}
.kal-wahl button span{width:22px;text-align:center;color:var(--brand-strong);font-size:17px;}
