:root{--red:#36bf24;--red2:#2ea91f;--bg:#f6f3f0;--card:#fff;--text:#2a2525;--muted:#706a6a;--line:#e3dbd7;--ok:#197b45;--warn:#b7791f;--bad:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}.top{background:linear-gradient(90deg,var(--red),var(--red2));color:#fff;padding:14px 22px;display:flex;gap:18px;align-items:center;justify-content:space-between;box-shadow:0 3px 20px #0002;position:sticky;top:0;z-index:10}.top strong{font-size:20px}.top span{font-size:12px;opacity:.85;margin-left:12px}.top nav{display:flex;flex-wrap:wrap;gap:8px}.top nav a{color:#fff;padding:8px 10px;border-radius:10px;background:#ffffff1a}.top nav a:hover{background:#ffffff2c;text-decoration:none}.bottom{margin-top:30px;background:var(--red);color:#fff;text-align:center;padding:12px}.wrap{max-width:1350px;margin:0 auto;padding:24px}h1{margin:0 0 18px;font-size:30px}h2{margin:0 0 14px;font-size:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:18px;box-shadow:0 8px 28px #5f31310f}.login{max-width:460px;margin:8vh auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.split{display:grid;grid-template-columns:380px 1fr;gap:18px}.cards{margin-bottom:18px}.kpi span{display:block;color:var(--muted);font-size:14px}.kpi strong{font-size:30px;color:var(--red)}label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:14px}input,select,textarea{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;font:inherit}textarea{min-height:80px}button,.button{border:0;background:var(--red);color:#fff;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer;display:inline-block}.button:hover,button:hover{background:#2ea91f;text-decoration:none}.danger{background:var(--bad)}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;align-items:end}.formgrid.single{grid-template-columns:1fr}.wide{grid-column:1/-1}.inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.sensitive{border-left:5px solid var(--warn);padding-left:10px}table{width:100%;border-collapse:collapse;overflow:hidden}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{font-size:13px;color:#594d4d;background:#faf7f5}tr:hover td{background:#fff9f7}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;background:#eee}.badge.geplant{background:#e8f1ff}.badge.erschienen{background:#e7f8ef}.badge.abgesagt,.badge.nicht_erschienen{background:#fde8e8}.badge.bezahlt{background:#e1f7e8}.alert{background:#fde8e8;color:var(--bad);border:1px solid #f6b8b8;border-radius:12px;padding:10px}.ok{background:#e7f8ef;color:var(--ok);border:1px solid #b8e2c8;border-radius:12px;padding:10px}.subline{color:var(--muted);font-size:13px}.muted{opacity:.55}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.calendar{display:grid;grid-template-columns:90px repeat(7,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.calcell{min-height:48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px;font-size:12px}.calhead{background:#f3e9e7;font-weight:800}.timecol{background:#faf7f5;color:var(--muted)}.event{background:var(--red);color:#fff;border-radius:8px;padding:6px;margin:2px 0;display:block;font-size:12px}.event:hover{text-decoration:none;background:#2ea91f}.event.bezahlt{background:#197b45}.event.abgesagt,.event.nicht_erschienen{background:#b42318}.event.erschienen{background:#1a6586}@media(max-width:900px){.top{display:block}.top nav{margin-top:10px}.split{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.calendar{grid-template-columns:60px repeat(7,minmax(120px,1fr));overflow:auto}.wrap{padding:14px}table{display:block;overflow:auto;white-space:nowrap}}

.swatch{display:inline-block;width:28px;height:18px;border-radius:6px;border:1px solid #0002;vertical-align:middle}.dangerlink{color:var(--bad);font-weight:700}.event.customcolor{border-left:4px solid #0003}
.servicebox{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}.servicebox legend{font-weight:800;color:var(--red);padding:0 6px}.checkline{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}.checkline input{width:auto}.event.blocked{background:#666!important}.event.blocked:before{content:'⛔ ';}
/* V1.4 Tablet-/Handy-Optimierung und zentrale Suche */
.top{display:grid;grid-template-columns:auto minmax(260px,520px) 1fr;align-items:center}.brand{white-space:nowrap}.global-search{display:flex;gap:6px;align-items:center}.global-search input{width:100%;background:#fff;color:var(--text);border:0}.global-search button{background:#ffffff33;border:1px solid #ffffff55}.global-search button:hover{background:#ffffff55}.servicebox summary{font-weight:800;color:var(--red);cursor:pointer;padding:4px 0}.service-table-wrap{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.select-table th,.select-table td{padding:8px}.select-table input[type=checkbox]{width:20px;height:20px}.slot-finder{border:1px dashed var(--line);border-radius:14px;padding:10px;margin-bottom:12px;background:#fffaf8}.slot-results{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.slot{background:#fff;color:var(--red);border:1px solid var(--red);padding:8px 10px}.slot small{display:block;color:var(--muted);font-weight:500}.slot:hover{background:var(--red);color:#fff}.slot:hover small{color:#fff}.calendar{overflow:auto}.event{line-height:1.25}.card table{font-size:14px}@media(max-width:1100px){.top{grid-template-columns:1fr;gap:10px}.global-search{order:2}.top nav{order:3}.split{grid-template-columns:1fr}.wrap{padding:12px}.card{padding:14px;border-radius:14px}.calendar{display:block;white-space:nowrap;max-height:70vh;overflow:auto}.calcell{display:inline-block;width:150px;min-height:56px;vertical-align:top}.timecol{width:62px}.formgrid,.formgrid.single{grid-template-columns:1fr}.toolbar{position:sticky;top:0;background:#fff;z-index:2;padding:8px;border-radius:12px}.service-table-wrap{max-height:360px}.select-table{min-width:620px}}@media(max-width:640px){h1{font-size:24px}.top{padding:12px}.top nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.top nav a{text-align:center;padding:10px}.global-search{display:grid;grid-template-columns:1fr auto}.wrap{padding:10px}.grid{grid-template-columns:1fr}.kpi strong{font-size:24px}button,.button,input,select,textarea{min-height:44px}.card table{font-size:13px}.slot-results{display:grid;grid-template-columns:1fr}.slot{text-align:left}}
/* V1.5 Kundenakte */
.file-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.file-summary p{background:#faf7f5;border:1px solid var(--line);border-radius:12px;padding:10px;margin:0}.file-summary .sensitive{background:#fffaf0}.card .button{margin-right:8px;margin-bottom:6px}


/* V1.6 Anpassungen: Logo, Einstellungen, kompakte Leistungswahl */
.brand{display:flex;align-items:center;gap:10px}.brand img{height:44px;width:auto;max-width:72px;object-fit:contain}.brand div{display:flex;flex-direction:column}.top span{margin-left:0}.nav-group{position:relative;display:inline-flex}.nav-group>a{color:#fff;padding:8px 10px;border-radius:10px;background:#ffffff1a}.submenu{display:none;position:absolute;top:100%;right:0;min-width:170px;background:var(--red);border:1px solid #ffffff55;border-radius:12px;padding:6px;box-shadow:0 12px 30px #0003;z-index:30}.nav-group:hover .submenu,.nav-group:focus-within .submenu{display:grid;gap:4px}.submenu a{display:block}.customer-form-toggle summary{font-size:20px;font-weight:800;color:var(--red);cursor:pointer}.customer-form-toggle summary::marker{color:var(--red)}.compact-service-table{font-size:12px}.compact-service-table th,.compact-service-table td{padding:5px 6px;vertical-align:middle}.compact-service-table .swatch{width:24px;height:14px}.compact-service-table input[type=checkbox]{width:17px;height:17px;min-height:17px}.service-table-wrap{max-height:230px}.compact-service-table td:nth-child(4){font-weight:650}.compact-service-table td:nth-child(5),.compact-service-table td:nth-child(6){white-space:nowrap}.slot-finder button{background:var(--red)}
@media(max-width:640px){.brand img{height:38px}.nav-group{display:grid}.submenu{position:static;display:grid;background:#ffffff18;border:0;box-shadow:none;margin-top:4px}.compact-service-table{font-size:11px}.compact-service-table th,.compact-service-table td{padding:4px}.service-table-wrap{max-height:300px}}


/* Version 1.7: Kalender stellt Termine jetzt als echte Zeitblöcke dar */
.calendar-grid-v17{display:block;border:1px solid var(--line);border-radius:14px;overflow:auto;background:#fff}
.cal-v17-header{display:grid;grid-template-columns:90px repeat(7,minmax(130px,1fr));position:sticky;top:0;z-index:4;background:#fff}
.cal-v17-header .calcell{min-height:48px}
.cal-v17-body{display:grid;grid-template-columns:90px repeat(7,minmax(130px,1fr));min-width:1000px;position:relative}
.cal-v17-times{background:#faf7f5;border-right:1px solid var(--line)}
.cal-v17-time{height:69px;border-bottom:1px solid var(--line);padding:6px;color:var(--muted);font-size:12px}
.cal-v17-day{position:relative;border-right:1px solid var(--line);background:#fff}
.cal-v17-hourline{position:absolute;left:0;right:0;border-top:1px solid var(--line);height:0}
.cal-v17-event{position:absolute;left:6px;right:6px;z-index:2;overflow:hidden;margin:0;border-radius:8px;padding:6px;font-size:12px;line-height:1.22;box-shadow:0 2px 6px #0002}
.cal-v17-event strong{display:block;font-size:12px}
.cal-v17-event span{display:block}
.cal-v17-event small{display:block;margin-top:3px;opacity:.9;font-size:11px}
@media(max-width:1100px){.calendar-grid-v17{max-height:70vh}.cal-v17-header,.cal-v17-body{grid-template-columns:62px repeat(7,150px);min-width:1112px}.cal-v17-time{height:69px}.cal-v17-event{left:4px;right:4px;font-size:11px;padding:5px}}

/* Version 1.10: Terminformular als aufklappbarer Bereich */
.appointment-form-toggle > summary{
  cursor:pointer;
  font-size:1.25rem;
  font-weight:800;
  color:var(--primary);
  padding:6px 0 14px;
  list-style:none;
}
.appointment-form-toggle > summary::-webkit-details-marker{display:none;}
.appointment-form-toggle > summary::before{content:'▾ ';}
.appointment-form-toggle:not([open]) > summary::before{content:'▸ ';}
@media (max-width:1024px){
  .appointment-card{padding:14px;}
  .appointment-form-toggle:not([open]){padding-bottom:0;}
  .appointment-form-toggle > summary{padding:8px 0;font-size:1.05rem;}
}

/* V1.12 Dashboard Umschalter Tag/Woche */
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}
.section-head h2{margin-bottom:.1rem}
.segmented{display:flex;gap:.35rem;align-items:center;background:#f3f7f2;border-radius:999px;padding:.25rem;border:1px solid #dbe8d8}
.segmented button{border:0;border-radius:999px;padding:.55rem .95rem;background:transparent;color:#1d4d19;cursor:pointer;font-weight:700}
.segmented button.active{background:#36bf24;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
@media (max-width:720px){.section-head{display:block}.segmented{margin-top:.75rem;width:100%;justify-content:center}.segmented button{flex:1}}


/* Version 1.13: Terminformular ohne sichtbare Vor-/Nachbereitungsfelder, kompakte Leistungstabelle */
@media (min-width:1101px){
  .split{grid-template-columns:minmax(410px,440px) minmax(0,1fr)}
  .appointment-card{min-width:0;overflow:hidden}
  .appointment-card input,.appointment-card select,.appointment-card textarea{width:100%;min-width:0}
  .appointment-card .service-table-wrap{max-width:100%;overflow-x:hidden;max-height:210px}
  .appointment-card .compact-service-table{width:100%;table-layout:fixed;font-size:11px;line-height:1.15}
  .appointment-card .compact-service-table th,.appointment-card .compact-service-table td{padding:4px 3px;white-space:normal;word-break:normal}
  .appointment-card .compact-service-table th:nth-child(1),.appointment-card .compact-service-table td:nth-child(1){width:26px;text-align:center}
  .appointment-card .compact-service-table th:nth-child(2),.appointment-card .compact-service-table td:nth-child(2){width:30px;text-align:center}
  .appointment-card .compact-service-table th:nth-child(3),.appointment-card .compact-service-table td:nth-child(3){width:66px}
  .appointment-card .compact-service-table th:nth-child(4),.appointment-card .compact-service-table td:nth-child(4){width:auto}
  .appointment-card .compact-service-table th:nth-child(5),.appointment-card .compact-service-table td:nth-child(5){width:48px;text-align:right;white-space:nowrap}
  .appointment-card .compact-service-table th:nth-child(6),.appointment-card .compact-service-table td:nth-child(6){width:54px;text-align:right;white-space:nowrap}
  .appointment-card .compact-service-table input[type=checkbox]{width:14px;height:14px;min-height:14px;padding:0}
  .appointment-card .compact-service-table .swatch{width:18px;height:12px;border-radius:4px}
  .appointment-card .servicebox{padding:8px}
  .appointment-card .servicebox summary{font-size:14px}
  .appointment-card .subline{font-size:12px}
}
.prep-settings-info{grid-column:1/-1;margin:0 0 2px;padding:8px 10px;background:#f6fff4;border:1px solid #d8efd3;border-radius:12px;color:#2d6127}

/* Version 1.14: Sperrzeiten aus Einstellungen */
.calendar-block{cursor:default;border:2px dashed #fff8!important;filter:saturate(.95)}
.calendar-block:before{content:'⏱ ';font-weight:800}.calendar-block.urlaub:before{content:'🌴 '}.calendar-block.abwesenheit:before{content:'⛔ '}
.checkgrid{border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:8px;align-items:center}.checkgrid legend{font-weight:800;color:var(--green);padding:0 6px}.checkgrid label{display:flex;align-items:center;gap:6px;font-weight:700}.checkgrid input{width:auto}.checkgrid .subline{grid-column:1/-1;margin:0}
.table-scroll{overflow:auto;max-width:100%}
@media(max-width:900px){.checkgrid{grid-template-columns:repeat(3,minmax(70px,1fr))}}


/* Version 1.15: übersichtlichere zentrale Suche */
.search-form-card{padding:16px 18px}.search-form-card label{min-width:260px}.search-results-grid{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:16px;align-items:start}.search-card{min-height:0;overflow:hidden}.search-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.search-card-head h2{margin:0}.search-card-head span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 10px;border-radius:999px;background:#e9f8e6;color:#22751b;font-weight:800}.search-table{font-size:13px;table-layout:fixed}.search-table th,.search-table td{padding:8px 9px;vertical-align:middle}.search-table th:last-child,.search-table td.actions{width:145px}.search-table .actions{white-space:normal;display:flex;gap:6px;flex-wrap:wrap}.button.small{padding:7px 10px;border-radius:10px;font-size:12px;min-height:0}.button.ghost{background:#eff8ed;color:#22751b;border:1px solid #cfe8ca}.button.ghost:hover{background:#dff2db}.subline{font-size:12px;color:var(--muted);line-height:1.25}.wrap-cell{white-space:normal;word-break:normal}.pill{display:inline-block;background:#f3f7f2;border:1px solid #dbe8d8;border-radius:999px;padding:4px 8px;font-weight:700;color:#2d6127}.empty-state{margin:0;padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:#fffaf8;text-align:center}.search-card .table-scroll{max-width:100%;overflow-x:auto;border-radius:12px}.search-card tr:hover td{background:#f8fff6}@media(max-width:1050px){.search-results-grid{grid-template-columns:1fr}.search-table{min-width:620px}.search-form-card .inline{display:grid;grid-template-columns:1fr auto;align-items:end}.search-form-card label{min-width:0}}@media(max-width:640px){.search-form-card .inline{grid-template-columns:1fr}.search-card-head span{height:26px}.search-table{font-size:12px;min-width:560px}.search-table th,.search-table td{padding:7px}.button.small{padding:7px 8px}}

/* Version 1.17: Kalenderblöcke sichtbarer darstellen */
.cal-v17-event.calendar-block{z-index:3;opacity:.92;color:#fff;border:2px dashed rgba(255,255,255,.75)!important}
.cal-v17-event.calendar-block.all-day-block{left:3px;right:3px;opacity:.72;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0,rgba(255,255,255,.14) 8px,rgba(0,0,0,.06) 8px,rgba(0,0,0,.06) 16px)}
.cal-v17-event.calendar-block.pause{min-height:28px}

/* Version 1.18: Ganztägige Urlaub-/Abwesenheitsblöcke als Hintergrund, Termine bleiben lesbar */
.cal-v17-event.calendar-block.all-day-block{z-index:1!important;top:0!important;bottom:auto;min-height:100%;font-size:12px;text-align:center;padding-top:10px}
.cal-v17-event.calendar-block:not(.all-day-block){z-index:3}
.cal-v17-event:not(.calendar-block){z-index:4}
.block-open-link{white-space:nowrap}

/* Version 1.20: Kassenbuch-Bericht mit Druckansicht */
.cash-report-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#f2fff0,#fff)}
.cash-report-head h2{margin:0 0 4px;color:var(--primary)}
.cash-report-head p{margin:0;color:var(--muted);font-weight:700}
.report-brand{text-align:right;display:flex;flex-direction:column;gap:3px;color:var(--muted)}
.report-brand strong{color:#152118;font-size:18px}
.cash-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:16px 0}
.cash-summary{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px;box-shadow:0 2px 9px rgba(0,0,0,.05)}
.cash-summary span{display:block;color:var(--muted);font-weight:800;font-size:13px;margin-bottom:7px}.cash-summary strong{font-size:21px;color:#18231b}.cash-summary.total{background:#f2fff0;border-color:#bfe9b8}.cash-summary.total strong{color:var(--primary)}
.cash-day{page-break-inside:avoid}.cash-day-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.cash-day-head h2{margin:0;color:#132016}.muted-pill{background:#f5f0ed;color:#715f55;border-color:#e2d6cf}
.cash-report-table{font-size:13px}.cash-report-table th,.cash-report-table td{vertical-align:top}.cash-report-table .num{text-align:right;white-space:nowrap}.cash-type{display:inline-block;border-radius:999px;padding:4px 8px;color:#fff;font-weight:800;font-size:12px}.cash-type.einnahme{background:#36bf24}.cash-type.einlage{background:#2f8bff}.cash-type.ausgabe{background:#d92929}.cash-type.entnahme{background:#a55b12}
.closing-box{margin-top:14px;border:1px solid #d8efd3;background:#f8fff6;border-radius:16px;padding:14px}.closing-box h3{margin:0 0 10px;color:var(--primary)}.closing-box dl{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;margin:0}.closing-box dl div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}.closing-box dt{font-size:12px;color:var(--muted);font-weight:800}.closing-box dd{margin:5px 0 0;font-size:17px;font-weight:900}.print-only{display:none}.print-signature{margin-top:36px;grid-template-columns:1fr 1fr;gap:60px}.print-signature div{border-top:1px solid #222;padding-top:8px;font-weight:700}
@media(max-width:1000px){.cash-summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.cash-summary.total{grid-column:1/-1}.closing-box dl{grid-template-columns:repeat(2,minmax(130px,1fr))}.report-brand{text-align:left}.cash-report-head{display:block}}
@media print{
  body{background:#fff;color:#111;font-size:11pt}.top,.bottom,.no-print,.global-search,nav{display:none!important}.wrap{max-width:none;margin:0;padding:0}.card,.print-card{box-shadow:none!important;border:1px solid #bbb!important;border-radius:0!important;break-inside:avoid;background:#fff!important}h1{font-size:20pt;margin:0 0 12px}h2{font-size:15pt}.cash-summary-grid{grid-template-columns:repeat(5,1fr);gap:6px}.cash-summary{box-shadow:none;border:1px solid #bbb;border-radius:0;padding:8px}.cash-summary strong{font-size:13pt}.cash-report-table{font-size:9.5pt}.cash-report-table th,.cash-report-table td{padding:5px}.cash-type{color:#111!important;background:#eee!important;border:1px solid #999}.closing-box{border-radius:0;background:#fff!important}.closing-box dl{grid-template-columns:repeat(6,1fr);gap:4px}.closing-box dl div{border-radius:0;padding:6px}.print-only{display:grid}.table-scroll{overflow:visible}.cash-day{page-break-inside:avoid;margin-top:10px}.button{display:none!important}
}


/* Version 1.21: Mobilmenü als 3-Striche-Menü für Tablet und Smartphone */
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);color:#fff;border-radius:12px;padding:10px 12px;min-height:42px;font-weight:900;cursor:pointer}
.mobile-menu-toggle span{display:block;width:22px;height:3px;background:#fff;border-radius:99px;transition:transform .18s ease,opacity .18s ease}.mobile-menu-toggle b{font-size:14px;line-height:1}.top.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.top.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}.top.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1100px){
  .top{grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.brand{grid-column:1/2}.mobile-menu-toggle{display:inline-flex;grid-column:3/4;grid-row:1}.global-search{grid-column:1/-1;grid-row:2}.top nav.main-nav{grid-column:1/-1;grid-row:3;display:none;margin-top:2px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.top.menu-open nav.main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.top nav.main-nav a,.top nav.main-nav .nav-group>a{text-align:center;padding:11px 10px;background:rgba(255,255,255,.20);border-radius:12px}.nav-group{display:grid}.submenu{position:static;display:grid;background:rgba(255,255,255,.14);border:0;box-shadow:none;margin-top:6px;min-width:0}.submenu a{font-size:13px;padding:9px!important}
}
@media(max-width:560px){.top{padding:10px}.brand strong{font-size:17px}.brand img{height:34px}.mobile-menu-toggle b{display:none}.top.menu-open nav.main-nav{grid-template-columns:1fr}.global-search{grid-template-columns:1fr auto}.global-search input{min-width:0}}
@media print{.mobile-menu-toggle{display:none!important}}


/* Version 1.22: Freigabemeldung bei Sperrzeiten + App-Icon Unterstützung */
.actions-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.button.ghost{background:#eff8ed;color:#22751b;border:1px solid #cfe8ca}.danger{background:#b91c1c!important;color:#fff!important;border-color:#991b1b!important}

/* Version 1.27: Farbauswahl als anklickbare Farbkärtchen */
.color-palette-label{gap:8px}.color-palette{display:flex;flex-wrap:wrap;gap:7px;align-items:center;max-width:360px}.color-card{width:32px;height:32px;border-radius:9px;border:2px solid #fff;box-shadow:0 0 0 1px #0002,0 2px 6px #0001;cursor:pointer;padding:0;min-height:32px;transition:transform .12s ease,box-shadow .12s ease}.color-card:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #2d6127,0 5px 12px #0002}.color-card.active{box-shadow:0 0 0 3px #1d4d19,0 5px 12px #0003;transform:scale(1.06)}.color-card:focus{outline:3px solid #36bf2488;outline-offset:2px}.color-current{font-size:12px;color:var(--muted);font-weight:600;width:100%;margin-top:2px}@media(max-width:640px){.color-palette{max-width:100%}.color-card{width:38px;height:38px;border-radius:11px;min-height:38px}}


/* Version 1.28: mobile Terminübersicht, Mengenfelder und Behandlungsvorschlag */
.mobile-appointments-card{display:none}.mobile-appointment-list{display:grid;gap:10px}.mobile-appointment-item{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fff6;color:var(--text)}.mobile-appointment-item strong{color:var(--red)}.mobile-appointment-item small{color:var(--muted)}.customer-treatment-suggestion:empty{display:none}.suggestion-box{padding:10px 12px;border:1px solid #cfe8ca;background:#f6fff4;border-radius:12px;color:#225f1d;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.suggestion-box button.small{padding:7px 10px;min-height:0}.compact-service-table .serviceQty,.compact-service-table .payServiceQty{width:62px;min-height:30px;padding:5px;text-align:right}.mobile-only{display:none}
@media(max-width:900px){
  .calendar-desktop-card{display:none!important}
  .mobile-appointments-card{display:block}
  .split{display:block}
  .appointment-card{margin-bottom:14px}
  .mobile-appointment-item:hover{text-decoration:none;background:#ecffe8}
}
@media(min-width:901px){.mobile-appointments-card{display:none!important}}
@media(min-width:1101px){
  .appointment-card .compact-service-table th:nth-child(1),.appointment-card .compact-service-table td:nth-child(1){width:24px}
  .appointment-card .compact-service-table th:nth-child(2),.appointment-card .compact-service-table td:nth-child(2){width:48px;text-align:center}
  .appointment-card .compact-service-table th:nth-child(3),.appointment-card .compact-service-table td:nth-child(3){width:26px;text-align:center}
  .appointment-card .compact-service-table th:nth-child(4),.appointment-card .compact-service-table td:nth-child(4){width:58px}
  .appointment-card .compact-service-table th:nth-child(5),.appointment-card .compact-service-table td:nth-child(5){width:auto;text-align:left}
  .appointment-card .compact-service-table th:nth-child(6),.appointment-card .compact-service-table td:nth-child(6){width:45px;text-align:right;white-space:nowrap}
  .appointment-card .compact-service-table th:nth-child(7),.appointment-card .compact-service-table td:nth-child(7){width:52px;text-align:right;white-space:nowrap}
}

/* Version 1.29: Google-Kalender-Import */
.mini-form{display:inline-flex;gap:.35rem;margin:.1rem .15rem .1rem 0;align-items:center}
.actions .mini-form button{white-space:nowrap}
/* v1.31 Drag & Drop Kalender */
.cal-v17-day.drag-over{outline:2px dashed #36bf24;outline-offset:-4px;background:rgba(54,191,36,.06)}
.cal-v17-event[draggable="true"]{cursor:grab;position:absolute;touch-action:none}
.cal-v17-event.dragging{opacity:.55;cursor:grabbing}
.event-delete{position:absolute;right:4px;top:3px;width:20px;height:20px;line-height:16px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#991b1b;font-weight:800;cursor:pointer;padding:0;z-index:3}
.event-delete:hover{background:#fee2e2;color:#7f1d1d}.cal-v17-event{padding-right:28px}.actions-row .danger,.danger{background:#dc2626;color:white;border-color:#dc2626}
@media (hover:none){.cal-v17-event[draggable="true"]{cursor:pointer}.event-delete{width:24px;height:24px}}

.quick-customer-card{border:1px solid #cfeecb;background:#f7fff6;border-radius:14px;padding:14px;margin:4px 0 8px;}
.quick-customer-card h3{margin:0 0 10px;color:#1c7d14;}
.compact-form{gap:10px;}

/* Version 1.35: Arbeitszeiten in Einstellungen + Sperrzeiten eingeklappt */
.settings-tile-grid{align-items:stretch}.settings-tile{display:flex;flex-direction:column}.settings-tile p{flex:1}.settings-details{display:block}.settings-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #cfe8ca;background:#f6fff4;border-radius:16px;padding:14px 16px;color:#174f14}.settings-details>summary::-webkit-details-marker{display:none}.settings-details>summary:after{content:'+';font-weight:900;font-size:24px;color:var(--primary);line-height:1}.settings-details[open]>summary:after{content:'−'}.settings-details>summary strong{display:block;color:#173d14}.settings-details>summary small{display:block;color:var(--muted);font-weight:600;margin-top:2px}.settings-details>form,.settings-details>.table-scroll{margin-top:16px}.checkgrid label input[name="workdays[]"]{margin-right:6px}
@media(max-width:720px){.settings-tile-grid{grid-template-columns:1fr}.settings-details>summary{align-items:flex-start}.settings-details>summary:after{font-size:28px}}

/* Version 1.36: Datumsauswahl für freie Terminvorschläge */
.slot-date-label{display:inline-flex;align-items:center;gap:8px;font-weight:700;margin-right:8px}
.slot-date-label input{max-width:170px}
.slot-results .slot strong{display:inline-block;margin-right:4px}
@media (max-width: 760px){.slot-finder{display:flex;flex-direction:column;align-items:stretch;gap:8px}.slot-date-label{width:100%;justify-content:space-between}.slot-date-label input{max-width:none;flex:1}}

/* Version 1.39: Freie-Termin-Vorschläge wieder gut lesbar, trotz globaler Button-Farbe */
.slot-results .slot{
  background:#fff;
  color:var(--red);
  border:1px solid var(--red);
}
.slot-results .slot small{color:var(--muted)}
.slot-results .slot:hover{background:var(--red);color:#fff}
.slot-results .slot:hover small{color:#fff}

/* V1.43 einfache Kasse */
.cash-layout{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}.cash-picks details{margin:12px 0}.cash-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.cash-tile{border:1px solid #d8e5d5;border-left:8px solid var(--tile,#36bf24);border-radius:14px;padding:10px;background:#fff;display:grid;gap:6px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.04)}.cash-tile:has(input[type=checkbox]:checked){outline:3px solid rgba(54,191,36,.25);background:#f3fff1}.cash-tile>input[type=checkbox]{width:22px;height:22px}.cash-tile strong{font-size:1rem}.cash-tile span{font-size:.88rem;color:#566}.cash-tile em{font-style:normal;font-size:.85rem;display:flex;gap:6px;align-items:center}.cash-tile input[type=number]{max-width:80px;padding:6px}.cash-cart{position:sticky;top:10px;border:1px solid #cfe8c9;border-radius:16px;background:#f8fff6;padding:14px}.cash-total{font-size:1.15rem}.print-toolbar{display:flex;gap:10px;align-items:center}.receipt-page,.invoice-page{max-width:900px;margin:0 auto;background:white}.receipt-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #36bf24;margin-bottom:18px;padding-bottom:12px}.receipt-table th,.receipt-table td{text-align:left}.invoice-customer{border:1px solid #ddd;border-radius:10px;padding:12px;margin:16px 0;background:#fafafa}@media(max-width:800px){.cash-layout{grid-template-columns:1fr}.cash-cart{position:static}.cash-tile-grid{grid-template-columns:1fr}.receipt-head{display:block}}@media print{.no-print,.top,.bottom{display:none!important}.wrap{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0}.receipt-page{max-width:80mm;font-size:11px}.receipt-page .receipt-head{display:block;border-bottom:1px dashed #000}.receipt-table{font-size:10px}.invoice-page{max-width:190mm;font-size:12px}.invoice-page .receipt-head{border-bottom:2px solid #000}}

/* v1.44 Bonlayout */
.receipt-page{max-width:360px;margin:0 auto;background:#fff;border:1px solid #d7d0cb;border-radius:0;box-shadow:none;padding:18px 14px;font-family:Arial,Helvetica,sans-serif;color:#111;overflow:hidden}
.bon-brand{text-align:center}.bon-brand img{max-width:72px;max-height:72px;object-fit:contain;margin:0 auto 8px;display:block}.bon-brand{display:flex;flex-direction:column;align-items:center}.bon-brand h1{font-size:1.45rem;margin:0 0 8px}.bon-brand strong{display:block;font-size:.95rem}.bon-brand p{margin:6px 0;font-size:.78rem;line-height:1.3}.bon-meta{display:grid;gap:5px;margin:12px 0;font-size:.8rem}.bon-meta div,.bon-totals div{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.bon-meta span,.bon-totals span{color:#333}.bon-separator{border-top:1px dashed #111;margin:12px 0}.bon-items{display:grid;gap:10px}.bon-item{page-break-inside:avoid}.bon-item-title{display:flex;gap:7px;line-height:1.25;font-size:.88rem}.bon-item-title span{min-width:18px}.bon-item-line{display:flex;justify-content:space-between;gap:10px;margin-top:3px;font-size:.82rem}.bon-item-line strong{white-space:nowrap}.bon-totals{display:grid;gap:6px;font-size:.86rem}.bon-totals .grand{border-top:2px solid #111;border-bottom:2px solid #111;padding:7px 0;margin-bottom:3px;font-size:1rem}.bon-totals .small{font-size:.78rem;color:#444}.bon-footer{text-align:center;margin-top:14px;font-size:.78rem;line-height:1.35;border-top:1px dashed #111;padding-top:10px;white-space:pre-line}.bon-footer .subline{text-align:left;color:#555;border-top:1px dashed #aaa;padding-top:10px;margin-top:10px}
@media screen{.receipt-page{margin-top:12px;margin-bottom:24px}.receipt-page.card{padding:18px 14px}.invoice-page{max-width:900px}}
@media print{body{background:#fff!important}.receipt-page{width:80mm;max-width:80mm;margin:0;padding:4mm 3mm;border:0;font-size:11px}.receipt-page.card{padding:4mm 3mm}.receipt-page .bon-brand h1{font-size:18px}.receipt-page .bon-brand p,.receipt-page .bon-meta,.receipt-page .bon-totals,.receipt-page .bon-footer{font-size:11px}.receipt-page .bon-item-title{font-size:12px}.receipt-page .bon-item-line{font-size:11px}.receipt-page .bon-brand img{max-width:42px;max-height:42px}.receipt-table{width:100%;border-collapse:collapse}.invoice-page .receipt-table th,.invoice-page .receipt-table td{padding:6px;border-bottom:1px solid #ddd}}
/* V1.50 Kasse: bearbeitbare Positionen und Rückgeld */
.cash-price-edit{display:grid!important;grid-template-columns:1fr;gap:.35rem;margin-top:.5rem;font-style:normal}
.cash-price-edit span{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.82rem;color:#334155}
.cash-price-edit input{width:86px;min-height:32px;padding:.25rem .35rem;font-size:.9rem;text-align:right}
.cash-cart .cash-change-box{border:1px solid #d9f7d3;background:#f6fff4;border-radius:14px;padding:.7rem;margin:.5rem 0}
.cash-change-box p{display:flex;justify-content:space-between;gap:.6rem;margin:.35rem 0 0;font-size:1.05rem}
.cash-change-box strong{font-size:1.2rem;color:#166534}
#cashManualTotal,#cashReceived{text-align:right;font-weight:700}
@media(max-width:760px){.cash-price-edit input{width:110px}.cash-change-box p{font-size:1rem}}

/* V1.60 Kundenakte Plus */
.timeline{display:grid;gap:.6rem;margin-top:.5rem}.timeline-item{border-left:4px solid var(--brand,#36bf24);background:#f8fafc;border-radius:10px;padding:.65rem .8rem;display:grid;gap:.15rem}.timeline-item strong{font-size:.95rem}.timeline-item span{font-weight:600}.timeline-item small{color:#64748b}.empty-state{color:#64748b;font-style:italic}.table-scroll{overflow:auto}

/* V1.62 Sicherheitsfix: POST-Aktionsformulare inline wie Links/Buttons darstellen */
.inline-action-form{display:inline-block;margin:0 2px;vertical-align:middle}
.inline-action-form button.linkbutton{background:none;border:0;padding:0;color:#b91c1c;text-decoration:underline;cursor:pointer;font:inherit}
.inline-action-form button.button{cursor:pointer}


/* V1.65 Kasse kompakter + Warenkorb-Editor */
.cash-tile-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:7px}
.cash-tile{border-left-width:6px;border-radius:11px;padding:7px;gap:3px;min-height:74px}
.cash-tile>input[type=checkbox]{width:17px;height:17px;margin:0}
.cash-tile strong{font-size:.88rem;line-height:1.15}
.cash-tile span{font-size:.76rem;line-height:1.15}
.cash-tile.favorite strong{font-size:.84rem}
.cash-price-edit{display:none!important}
.cash-cart-items{display:grid;gap:.55rem;margin:.65rem 0}.cash-cart-line{background:#fff;border:1px solid #d9f7d3;border-radius:12px;padding:.55rem;display:grid;gap:.35rem}.cash-cart-line-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.cash-cart-line-title{font-weight:700;font-size:.9rem;line-height:1.2}.cash-cart-line-remove{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;min-width:28px;height:28px;cursor:pointer}.cash-cart-line-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.cash-cart-line-grid label{font-size:.72rem;color:#52635a}.cash-cart-line-grid input{width:100%;min-height:30px;padding:.25rem .35rem;font-size:.85rem;text-align:right}.cash-cart-line-total{font-weight:700;text-align:right;font-size:.9rem}
@media(max-width:800px){.cash-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cash-tile{min-height:68px}.cash-cart-line-grid{grid-template-columns:repeat(2,1fr)}}


/* V1.66 Kasse: Mengenfenster im Warenkorb */
.cartQtyPicker{cursor:pointer;background:#fff;font-weight:800;text-align:center;color:#122018}
.cash-qty-popup{display:none;position:absolute;z-index:9999;top:var(--popup-top,20%);left:var(--popup-left,20%);background:transparent}
.cash-qty-popup.open{display:block}
.cash-qty-popup-inner{background:#fff;border:1px solid #cfe8c9;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:.75rem;min-width:220px}
.cash-qty-popup-inner strong{display:block;margin-bottom:.5rem;color:#132016}
.cash-qty-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.cash-qty-buttons button{border:1px solid #bfe9b8;background:#f2fff0;border-radius:10px;padding:.65rem .5rem;font-weight:900;font-size:1rem;cursor:pointer}.cash-qty-buttons button:hover,.cash-qty-buttons button:focus{background:#36bf24;color:#fff}.cash-qty-buttons button[data-qty="0"]{background:#fee2e2;border-color:#fecaca;color:#991b1b}.cash-qty-close{margin-top:.55rem;width:100%;border:0;background:#eef2f7;border-radius:10px;padding:.55rem;font-weight:800;cursor:pointer}
@media(max-width:800px){.cash-qty-popup{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;background:rgba(0,0,0,.22);padding:1rem}.cash-qty-popup-inner{margin:auto;max-width:420px}.cash-qty-buttons{grid-template-columns:repeat(4,1fr)}.cash-qty-buttons button{min-height:48px;font-size:1.1rem}}

/* V1.67 Gutschein/Restsumme und Mengenfenster-Auswahl */
.cash-qty-buttons button.selected{background:#36bf24!important;color:#fff!important;border-color:#249d17!important;box-shadow:0 0 0 3px rgba(54,191,36,.18)}
#cashVoucherInfo{display:block;margin-top:.25rem;font-size:.78rem;color:#395045;font-weight:700}
.cashVoucherCode{text-transform:uppercase}

/* V1.68 Gutscheine separat in Warenkorb und Druckauswahl */
.voucher-option{border:1px solid #d8ead4;border-radius:12px;padding:.55rem;background:#fbfffb;display:grid;gap:.35rem}
.voucher-option span{font-weight:800;color:#17351d;display:flex;gap:.35rem;align-items:center}
.cash-cart-line-voucher{border-color:#f6d365;background:#fffbea}
.cash-cart-line-voucher.redeem{border-color:#b7e4c7;background:#f0fff4}
.print-choice-card .grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.voucher-card{border:2px solid #111;border-radius:14px;padding:1rem;text-align:center}

.tenant-switcher{display:flex;align-items:center;gap:.4rem;background:#ffffff22;border-radius:12px;padding:.25rem .5rem}.tenant-switcher label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;margin:0}.tenant-switcher select{min-width:150px;border-radius:10px;border:1px solid #ffffff55;padding:.35rem .5rem}.brand small{display:block;font-size:.75rem;opacity:.9}
@media(max-width:900px){.tenant-switcher{width:100%;justify-content:flex-start}.tenant-switcher select{width:100%;max-width:260px}}

/* V1.71 Mandanten-Designfarbe */
.tenant-switcher select{border:2px solid #ffffff55;background:#fff;color:var(--text);font-weight:800}
.brand small{display:block;font-size:11px;opacity:.95;color:#fff}
.settings-tile, .kpi{border-top:4px solid var(--tenant-color,#36bf24)}
.cash-cart{border-color:color-mix(in srgb,var(--tenant-color,#36bf24) 45%,#ffffff)}
.cash-tile:has(input[type=checkbox]:checked){outline-color:color-mix(in srgb,var(--tenant-color,#36bf24) 30%, transparent)}


/* V1.72 Mandantenwechsel und Designfarben konsequenter anwenden */
body{--tenant-accent:var(--tenant-color,var(--red));}
.top,.bottom{background:linear-gradient(90deg,var(--tenant-color,var(--red)),var(--red2))!important;}
.top nav.main-nav a,.top nav.main-nav .nav-group>a,.global-search button{background:rgba(255,255,255,.18);color:#fff;}
.top nav.main-nav a:hover,.top nav.main-nav .nav-group>a:hover,.global-search button:hover{background:rgba(255,255,255,.32);}
.submenu{background:var(--tenant-color,var(--red))!important;}
button,.button{background:var(--tenant-color,var(--red));}
button:hover,.button:hover{background:var(--red2);}
button.ghost,.button.ghost{background:color-mix(in srgb,var(--tenant-color,var(--red)) 10%,#fff);color:var(--tenant-color,var(--red));border-color:color-mix(in srgb,var(--tenant-color,var(--red)) 30%,#fff);}
.kpi strong,.customer-form-toggle summary,.servicebox legend,.slot,.mobile-appointment-item strong{color:var(--tenant-color,var(--red))!important;}
.settings-tile,.kpi,.timeline-item{border-top-color:var(--tenant-color,var(--red))!important;border-left-color:var(--tenant-color,var(--red))!important;}
.segmented button.active,.cash-type.einnahme,.cash-qty-buttons button.selected{background:var(--tenant-color,var(--red))!important;color:#fff!important;border-color:var(--tenant-color,var(--red))!important;}
.slot{border-color:var(--tenant-color,var(--red))!important;}
.slot:hover{background:var(--tenant-color,var(--red))!important;color:#fff!important;}
.cal-v17-day.drag-over{outline-color:var(--tenant-color,var(--red))!important;background:color-mix(in srgb,var(--tenant-color,var(--red)) 8%, transparent)!important;}
.cash-tile:has(input[type=checkbox]:checked){outline-color:color-mix(in srgb,var(--tenant-color,var(--red)) 35%, transparent)!important;background:color-mix(in srgb,var(--tenant-color,var(--red)) 7%, #fff)!important;}
.cash-cart{border-color:color-mix(in srgb,var(--tenant-color,var(--red)) 50%,#fff)!important;background:color-mix(in srgb,var(--tenant-color,var(--red)) 5%,#fff)!important;}
.tenant-switcher-menu{display:flex;align-items:center;margin:0 .25rem 0 0;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:.28rem .5rem;}
.tenant-switcher-menu label{display:flex;align-items:center;gap:.45rem;margin:0;color:#fff;font-weight:800;font-size:.86rem;}
.tenant-switcher-menu select{min-width:160px;max-width:240px;border:1px solid rgba(255,255,255,.65);background:#fff;color:var(--text);font-weight:800;border-radius:10px;padding:.38rem .55rem;min-height:0;}
@media(max-width:900px){.tenant-switcher-menu{grid-column:1/-1;width:100%;margin:0;background:rgba(255,255,255,.16)}.tenant-switcher-menu label{width:100%;justify-content:space-between}.tenant-switcher-menu select{width:100%;max-width:none}.top.menu-open nav.main-nav .tenant-switcher-menu{grid-column:1/-1}}

/* V1.73 Kasse Komfort Plus */
.cash-touch-card{background:linear-gradient(180deg,color-mix(in srgb,var(--tenant-color,#36bf24) 4%,#fff),#fff)}
.cash-top-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 1rem}
.cash-touch-layout{grid-template-columns:minmax(0,1fr) 360px;gap:14px}
.cash-category-bar{display:flex;gap:.4rem;flex-wrap:wrap;position:sticky;top:0;z-index:4;background:#fff;padding:.45rem;border:1px solid color-mix(in srgb,var(--tenant-color,#36bf24) 20%,#e5e7eb);border-radius:14px;margin-bottom:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.cash-category-bar button,.cash-payment-fast button,.cash-quick-amounts button{border:1px solid color-mix(in srgb,var(--tenant-color,#36bf24) 35%,#fff);background:#fff;border-radius:999px;padding:.45rem .7rem;font-weight:800;cursor:pointer;color:#17321d}
.cash-category-bar button.active,.cash-payment-fast button.active,.cash-quick-amounts button:hover{background:var(--tenant-color,#36bf24);color:#fff;border-color:var(--tenant-color,#36bf24)}
.cash-favorites{margin-bottom:.8rem}.cash-favorites h3{margin:.1rem 0 .45rem}.cash-tile-grid.favorites{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
.cash-touch-form .cash-tile-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
.cash-touch-form .cash-tile{min-height:62px;padding:6px;border-radius:10px;border-left-width:5px}
.cash-touch-form .cash-tile strong{font-size:.82rem;line-height:1.1}.cash-touch-form .cash-tile span{font-size:.72rem}
.cash-touch-form details summary{font-weight:900;cursor:pointer;padding:.45rem .3rem;border-bottom:1px solid #edf2ee}
.cash-payment-fast{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;margin:.55rem 0}.cash-payment-fast button{border-radius:12px;padding:.65rem .55rem}
.cash-quick-amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;margin:.45rem 0}.cash-quick-amounts button{border-radius:10px;padding:.55rem .35rem;background:#fff}
.cash-submit-button{width:100%;font-size:1.05rem;padding:.85rem;margin-top:.5rem}.cash-finish-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cash-finish-card h2{margin-top:0}
.cash-cart{box-shadow:0 6px 24px rgba(0,0,0,.08)}.cash-cart h3{margin-top:0}.cash-cart-line-title{font-size:.86rem}.cash-cart-line-grid{grid-template-columns:repeat(2,1fr)}
.cash-section-hidden{display:none!important}
@media(max-width:900px){.cash-touch-layout{grid-template-columns:1fr}.cash-category-bar{position:static}.cash-cart{position:static}.cash-payment-fast{grid-template-columns:repeat(4,1fr)}.cash-touch-form .cash-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-quick-amounts{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.cash-payment-fast{grid-template-columns:repeat(2,1fr)}.cash-touch-form .cash-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-quick-amounts{grid-template-columns:repeat(2,1fr)}}


/* V1.76 Android-Druckmodus */
.android-print-info{border-left:6px solid var(--tenant-color,#36bf24);background:color-mix(in srgb,var(--tenant-color,#36bf24) 6%,#fff)}
.android-print-toolbar{flex-wrap:wrap}
@media screen and (max-width:900px){
  .receipt-page{max-width:calc(100vw - 24px);padding:14px 10px}.bon-meta div,.bon-totals div{gap:10px}.print-toolbar button,.print-toolbar .button{min-height:44px}
}
@media print{
  @page{size:80mm auto;margin:0}
  .receipt-page{width:80mm!important;max-width:80mm!important;margin:0!important;padding:4mm 3mm!important;border:0!important;box-shadow:none!important}
  .android-print-info,.android-print-toolbar{display:none!important}
}
@media print and (max-width:58mm){
  @page{size:58mm auto;margin:0}
  .receipt-page{width:58mm!important;max-width:58mm!important;font-size:10px!important;padding:3mm 2mm!important}
}

/* V1.79 Schritt 2: Tablet-Tageszentrale */
.tablet-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,0.8fr);gap:1rem;margin-bottom:1rem}
.tablet-hero-main{padding:1.25rem}
.tablet-hero-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#5b6472;margin-bottom:.5rem}
.tablet-hero-main h2{font-size:clamp(1.8rem,4vw,3rem);margin:.25rem 0}.tablet-service{font-size:1.2rem;margin:.25rem 0 .75rem}.tablet-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}.tablet-action-grid form{margin:0}.tablet-action-grid .button,.tablet-action-grid button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1rem;border-radius:16px}.primary-actions .button,.primary-actions button{font-weight:700}.tablet-kpis{display:grid;grid-template-columns:1fr;gap:.75rem}.tablet-kpis div{padding:.9rem;border:1px solid #e5e7eb;border-radius:16px;background:#fafafa}.tablet-kpis span{display:block;color:#6b7280;font-size:.9rem}.tablet-kpis strong{display:block;font-size:1.55rem;margin-top:.15rem}.tablet-customer-panel{margin-bottom:1rem}.tablet-customer-grid{display:grid;grid-template-columns:1fr minmax(260px,.8fr);gap:1rem;align-items:start}.customer-signal-row{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.customer-signal{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;font-size:.85rem;font-weight:700}.customer-signal.green{background:#dcfce7;color:#166534}.customer-signal.yellow{background:#fef3c7;color:#92400e}.customer-signal.red{background:#fee2e2;color:#991b1b}.customer-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.tablet-appointment-list{display:grid;gap:.75rem}.tablet-appointment-card{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.tablet-appointment-card strong,.tablet-appointment-card span,.tablet-appointment-card small{display:block}.tablet-card-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.tablet-card-actions form{margin:0}.tablet-card-actions .button,.tablet-card-actions button{min-height:40px;border-radius:12px}.empty-state{padding:1rem;border-radius:14px;background:#f8fafc;color:#64748b}
@media(max-width:900px){.tablet-hero,.tablet-customer-grid{grid-template-columns:1fr}.tablet-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tablet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tablet-appointment-card{grid-template-columns:1fr}.tablet-card-actions{justify-content:stretch}.tablet-card-actions .button,.tablet-card-actions button{flex:1}.customer-signal-row{justify-content:flex-start}}
@media(max-width:560px){.tablet-action-grid,.customer-actions,.tablet-kpis{grid-template-columns:1fr}.tablet-hero-main h2{font-size:1.6rem}.tablet-action-grid .button,.tablet-action-grid button{min-height:64px}.tablet-hero-head{display:block}}


/* V1.80 Schritt 3: Kundeninteraktion */
.customer-interaction-panel{border-left:6px solid var(--tenant-color,#36bf24)}
.interaction-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start}
.interaction-box{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:1rem}
.interaction-box h3{margin-top:0}.qr-box{text-align:center}.qr-box img{width:220px;max-width:100%;height:auto;border:1px solid #e5e7eb;border-radius:16px;padding:.5rem;background:#fff}.qr-box input{width:100%;font-size:.78rem;margin-top:.35rem}
.consent-grid label{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:.7rem;font-weight:800}.consent-grid input[type=checkbox]{width:20px;height:20px;margin-right:.35rem;vertical-align:middle}
.message-template-grid,.template-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.template-card,.template-chip{display:block;border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:1rem}.template-card strong,.template-card span,.template-chip strong,.template-chip span{display:block}.template-card span,.template-chip span{color:#64748b;font-size:.85rem;text-transform:uppercase;font-weight:800}.template-card textarea{width:100%;margin:.6rem 0;min-height:96px}.template-chip small{display:block;color:#475569;margin-top:.5rem;line-height:1.35}
.customer-contact-list{display:grid;gap:.7rem}.customer-contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:1rem}.customer-contact-card strong,.customer-contact-card span,.customer-contact-card small{display:block}.customer-contact-card small{color:#64748b}.customer-intake-card{max-width:780px;margin:1rem auto}.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:14px;padding:.8rem;font-weight:800}
@media(max-width:900px){.interaction-grid,.customer-contact-card{grid-template-columns:1fr}.customer-contact-card .tablet-card-actions{justify-content:stretch}.customer-contact-card .tablet-card-actions .button{flex:1}.message-template-grid{grid-template-columns:1fr}.qr-box{text-align:left}}

/* V1.81 Schritt 4: Autopilot / autonomer Hintergrundbetrieb */
.autopilot-hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-left:6px solid var(--tenant-color,#36bf24)}
.autopilot-hero h2{margin:.1rem 0}.autopilot-hero form{margin:0}.autopilot-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.autopilot-job-list{display:grid;gap:.75rem}.autopilot-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;border:1px solid #e5e7eb;border-left:6px solid #94a3b8;border-radius:18px;background:#fff;padding:1rem}.autopilot-job.priority-1{border-left-color:#ef4444;background:#fff7f7}.autopilot-job.priority-2{border-left-color:#f59e0b;background:#fffaf0}.autopilot-job strong,.autopilot-job span,.autopilot-job small{display:block}.autopilot-job span{color:#64748b}.autopilot-job small{margin-top:.35rem;color:#475569;line-height:1.45}.autopilot-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.autopilot-rule{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:1rem;display:grid;gap:.5rem}.autopilot-rule label{font-size:1rem}.autopilot-rule input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:.35rem}.autopilot-rule p{margin:.1rem 0;color:#475569}.autopilot-rule small{color:#64748b}.autopilot-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-left:6px solid #f59e0b;background:#fffaf0;margin-bottom:1rem}
@media(max-width:900px){.autopilot-hero,.autopilot-job,.autopilot-dashboard-alert{display:grid;grid-template-columns:1fr}.autopilot-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.autopilot-job .tablet-card-actions{justify-content:stretch}.autopilot-job .tablet-card-actions form,.autopilot-job .tablet-card-actions .button{flex:1}.autopilot-hero button{width:100%;min-height:58px}}
@media(max-width:560px){.autopilot-kpis{grid-template-columns:1fr}}

/* V1.82 Schritt 5: Tablet-Arbeitsmodus / geführter Behandlungsassistent */
.workflow-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.workflow-daylist{position:sticky;top:12px}.workflow-mini-list{display:flex;flex-direction:column;gap:10px}.workflow-mini-card{display:block;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:16px;background:#fff;text-decoration:none;color:inherit}.workflow-mini-card strong,.workflow-mini-card span,.workflow-mini-card small{display:block}.workflow-mini-card span{margin-top:4px;color:#334155}.workflow-mini-card small{margin-top:6px;color:#64748b}.workflow-mini-card.active{border-color:var(--tenant-color,var(--red));box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-color,var(--red)) 18%,transparent)}.workflow-main{display:flex;flex-direction:column;gap:16px}.workflow-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.workflow-title span{color:#64748b;font-weight:700}.workflow-title h2{font-size:clamp(26px,4vw,44px);margin:.15em 0}.workflow-title p{font-size:20px;margin:0;color:#334155}.workflow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.workflow-step{display:flex;align-items:center;gap:10px;padding:14px;border-radius:16px;background:#f1f5f9;color:#64748b;font-weight:800}.workflow-step b{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#cbd5e1;color:#fff}.workflow-step.active{background:color-mix(in srgb,var(--tenant-color,var(--red)) 16%,#fff);color:#0f172a}.workflow-step.active b,.workflow-step.done b{background:var(--tenant-color,var(--red))}.workflow-step.done{background:#ecfdf5;color:#166534}.workflow-action-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.workflow-action-card{min-height:220px}.workflow-big-button{font-size:24px;min-height:76px;width:100%;border-radius:18px}.workflow-note-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workflow-note-form .wide{grid-column:1/-1}.workflow-consent .consent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.workflow-consent label{padding:12px;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:#fff}.workflow-notes{display:grid;gap:10px}.workflow-notes article{padding:12px;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:#fff}.workflow-notes p{white-space:normal}.tablet-action-grid a.button,.tablet-action-grid button{min-height:52px}@media(max-width:980px){.workflow-shell{grid-template-columns:1fr}.workflow-daylist{position:static}.workflow-mini-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}.workflow-action-area{grid-template-columns:1fr}.workflow-hero{flex-direction:column}.workflow-steps{grid-template-columns:repeat(2,1fr)}.workflow-consent .consent-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.workflow-steps,.workflow-consent .consent-grid,.workflow-note-form{grid-template-columns:1fr}.workflow-step{padding:12px}.workflow-big-button{font-size:20px}}

/* V1.82.4: Tablet-Kundenliste und Logo-Startseitenlink */
.brand-home-link{color:inherit;text-decoration:none;border-radius:16px;padding:4px 8px;margin:-4px -8px;transition:background .15s ease, transform .15s ease;}
.brand-home-link:hover,.brand-home-link:focus{background:rgba(54,191,36,.10);text-decoration:none;outline:none;}
.brand-home-link:active{transform:scale(.99);}
.customer-touch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:14px;}
.customer-touch-card{border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 22px rgba(0,0,0,.06);cursor:pointer;display:flex;flex-direction:column;gap:12px;min-height:150px;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.customer-touch-card:hover,.customer-touch-card:focus{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.10);border-color:rgba(54,191,36,.35);outline:none;}
.customer-touch-main{display:flex;align-items:flex-start;gap:12px;}
.customer-touch-main strong{display:block;font-size:1.08rem;line-height:1.2;margin-bottom:4px;}
.customer-touch-main small{display:block;color:#667085;line-height:1.35;}
.customer-avatar{width:52px;height:52px;border-radius:18px;background:rgba(54,191,36,.14);color:#167a12;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.05rem;}
.customer-touch-actions{justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:auto;}
.customer-touch-actions .button,.customer-touch-actions .linkbutton{min-height:42px;display:inline-flex;align-items:center;}
@media (pointer:coarse){.customer-touch-card{min-height:170px;padding:16px}.customer-touch-actions .button,.customer-touch-actions .linkbutton{min-height:48px;padding:.72rem .9rem}.customer-touch-main strong{font-size:1.15rem}}
@media (max-width:680px){.customer-touch-grid{grid-template-columns:1fr}.customer-touch-card{border-radius:16px}.customer-avatar{width:48px;height:48px}}

/* V1.82.5 QR-Code lokal/Tablet */
.local-qr{width:232px;min-height:232px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:6px;margin:.5rem 0 1rem;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.local-qr svg{display:block;max-width:220px;max-height:220px;border-radius:10px}
.qr-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.6rem 0}
.qr-fallback{padding:1rem;text-align:center;color:#991b1b;background:#fee2e2;border-radius:12px}
@media (max-width: 720px){.local-qr{width:100%;max-width:260px;margin-left:auto;margin-right:auto}.qr-actions .button{flex:1 1 150px;text-align:center}}

/* V1.83: Zusammengeführte Tageszentrale / Arbeitsmodus */
.unified-day-hero{margin-bottom:1rem}
.unified-signals{justify-content:flex-start;margin:.6rem 0 .2rem}
.unified-workflow{margin-top:1rem}
.unified-workflow .workflow-daylist h2{margin-top:0}
.unified-workflow .tablet-customer-panel{margin-bottom:0}
.unified-workflow .workflow-action-area{margin-top:0}
@media(max-width:980px){.unified-workflow{display:flex;flex-direction:column}.unified-workflow .workflow-daylist{order:2}.unified-workflow .workflow-main{order:1}}

/* V1.84: Tageszentrale Tag/Woche-Umschalter */
.dashboard-view-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.view-switch-buttons{display:flex;gap:10px;flex-wrap:wrap}
.unified-week-hero{align-items:stretch}
.week-overview-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:12px;margin-top:14px}
.week-day-card{padding:14px;min-height:220px;display:flex;flex-direction:column;gap:10px}
.week-day-card.today{outline:3px solid rgba(54,191,36,.28)}
.week-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px}
.week-day-head div{display:flex;flex-direction:column;gap:2px}
.week-day-head strong{font-size:1.05rem}
.week-day-head span{font-size:.9rem;opacity:.72}
.week-day-head b{min-width:34px;height:34px;border-radius:999px;background:#eef7ec;display:flex;align-items:center;justify-content:center}
.week-appointment-list{display:flex;flex-direction:column;gap:8px}
.week-appointment-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);touch-action:manipulation}
.week-appointment-card strong{display:block;font-size:.96rem;margin-bottom:3px}
.week-appointment-card span{display:block;font-size:.9rem;opacity:.84}
.week-appointment-card small{display:block;margin-top:5px;opacity:.65}
.week-appointment-card.status-bezahlt,.week-appointment-card.status-erledigt{background:#f4fbf3;border-color:rgba(54,191,36,.28)}
.week-appointment-card.status-abgesagt,.week-appointment-card.status-nicht_erschienen{background:#fff4f4;border-color:rgba(180,0,0,.18);opacity:.75}
.week-appointment-card:active{transform:scale(.99)}
@media (max-width:1400px){.week-overview-grid{grid-template-columns:repeat(4,minmax(210px,1fr))}}
@media (max-width:900px){.week-overview-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.dashboard-view-switch{align-items:stretch}.view-switch-buttons .button{flex:1;text-align:center}}
@media (max-width:560px){.week-overview-grid{grid-template-columns:1fr}.week-day-card{min-height:auto}.view-switch-buttons{width:100%}}

/* v1.85.2 Mandanten-Übertragung bestehender Termine */
.inline-transfer-form{display:inline-flex;align-items:center;gap:.35rem;margin:.15rem .25rem;vertical-align:middle;flex-wrap:nowrap}
.inline-transfer-form select{min-width:130px;max-width:180px;padding:.4rem .5rem;border-radius:10px;border:1px solid var(--border,#ddd);background:#fff;font-size:.9rem}
@media (max-width: 760px){.inline-transfer-form{display:flex;margin:.35rem 0;width:100%}.inline-transfer-form select{flex:1;max-width:none}.inline-transfer-form button{min-height:42px}}
.communication-hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-left:6px solid var(--tenant-color,var(--red))}.communication-hero form{margin:0}.communication-hero h2{margin-bottom:.25rem}.message-status-queued{background:#fef3c7;color:#92400e}.message-status-sent{background:#dcfce7;color:#166534}.message-status-failed{background:#fee2e2;color:#991b1b}.message-status-cancelled{background:#f1f5f9;color:#475569}@media(max-width:900px){.communication-hero{display:grid;grid-template-columns:1fr}.communication-hero button{width:100%;min-height:58px}}
/* v1.88.2 Mandantenlogo */
.tenant-logo-preview{display:flex;align-items:center;gap:14px;margin-top:8px;padding:10px;border:1px solid #eadfda;border-radius:12px;background:#fff}
.tenant-logo-preview img{max-height:70px;max-width:160px;object-fit:contain;background:#222;border-radius:10px;padding:8px}
.tenant-table-logo{height:42px;max-width:90px;object-fit:contain;background:#222;border-radius:8px;padding:5px;display:block}


/* Version 1.88.3: Logo größer und Bon-Logo sichtbar */
.brand img{height:58px;max-width:110px;}
@media(max-width:640px){.brand img{height:46px;max-width:88px;}}
.receipt-logo-screen-fix{background:#fff;}

/* Version 1.90 – öffentliches Kundenportal */
.public-portal{background:linear-gradient(180deg,#fff 0%,#f8fbf6 44%,#f4f2ef 100%);color:#263128;min-height:100vh}.portal-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,4vw,46px);background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.07)}.portal-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1f2a21;font-weight:800}.portal-brand img{width:58px;height:58px;object-fit:contain}.portal-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-nav a{padding:9px 12px;border-radius:999px;color:#344035;text-decoration:none;font-weight:650}.portal-nav a:hover{background:#eef6ea}.portal-nav-primary{background:var(--tenant-color,#36bf24)!important;color:#fff!important}.portal-main{max-width:1180px;margin:0 auto;padding:32px clamp(14px,3vw,28px) 70px}.portal-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:28px;align-items:center;min-height:420px;padding:42px 0}.portal-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eef8ed;color:var(--tenant-color,#36bf24);font-weight:800;letter-spacing:.02em}.portal-hero h1{font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.02;margin:.2em 0;color:#1f2a21}.portal-hero p,.portal-lead{font-size:1.08rem;line-height:1.65;color:#596459;max-width:820px}.portal-actions,.actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.portal-hero-card,.portal-tile,.portal-service,.portal-placeholder,.portal-contact-card,.portal-chat-demo,.portal-price-table{background:#fff;border:1px solid #e4eee0;border-radius:24px;padding:22px;box-shadow:0 16px 45px rgba(24,54,24,.08)}.portal-section{margin:34px 0}.portal-section.narrow{max-width:860px;margin-left:auto;margin-right:auto}.portal-section h1,.portal-section h2{color:#1f2a21}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.portal-grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.portal-tile{text-decoration:none;color:inherit;display:block}.portal-tile h3,.portal-service h3{margin-top:0}.portal-service span{display:inline-flex;font-size:.82rem;font-weight:800;color:var(--tenant-color,#36bf24);background:#eef8ed;border-radius:999px;padding:5px 10px}.portal-meta{display:flex;justify-content:space-between;gap:10px;margin:16px 0;color:#1f2a21}.portal-faq-list{display:grid;gap:10px}.portal-faq-list details{background:#fff;border:1px solid #e4eee0;border-radius:16px;padding:14px 16px}.portal-faq-list summary{font-weight:800;cursor:pointer}.portal-price-table{overflow:auto}.portal-price-table table{width:100%;border-collapse:collapse}.portal-price-table th,.portal-price-table td{padding:12px;border-bottom:1px solid #eef2ec;text-align:left;vertical-align:top}.portal-form{display:grid;gap:14px;background:#fff;border:1px solid #e4eee0;border-radius:24px;padding:22px;box-shadow:0 16px 45px rgba(24,54,24,.08)}.portal-form label{display:grid;gap:6px;font-weight:700}.portal-form input,.portal-form select,.portal-form textarea{width:100%;border:1px solid #d8e5d4;border-radius:14px;padding:12px;background:#fff}.portal-form button[disabled]{opacity:.65;cursor:not-allowed}.portal-chat-button{position:fixed;right:22px;bottom:22px;z-index:50;background:var(--tenant-color,#36bf24);color:#fff;text-decoration:none;border-radius:999px;padding:14px 18px;font-weight:900;box-shadow:0 14px 34px rgba(0,0,0,.18)}.portal-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px clamp(16px,4vw,46px);background:#202820;color:#fff}.portal-footer a{color:#fff}.portal-chat-demo{display:grid;gap:10px}.portal-chat-demo .bot,.portal-chat-demo .user{padding:12px 14px;border-radius:16px;max-width:80%}.portal-chat-demo .bot{background:#eef8ed}.portal-chat-demo .user{background:#f0f0f0;margin-left:auto}.portal-content{background:#fff;border:1px solid #e4eee0;border-radius:24px;padding:24px;line-height:1.7}@media (max-width:820px){.portal-header{position:relative;align-items:flex-start;flex-direction:column}.portal-nav{width:100%}.portal-nav a{background:#f5f8f2}.portal-hero{grid-template-columns:1fr;min-height:0;padding-top:16px}.portal-brand img{width:48px;height:48px}.portal-grid.two{grid-template-columns:1fr}.portal-main{padding-top:18px}.portal-chat-button{right:14px;bottom:14px}}

/* Version 1.92/1.93: öffentliches Buchungsformular */
.portal-booking-summary{display:flex;flex-direction:column;gap:.25rem;background:#fff;border:1px solid #eadfd9;border-radius:16px;padding:1rem;margin:1rem 0;box-shadow:0 8px 20px #0000000d}
.portal-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.75rem;margin:1rem 0 1.25rem}
.portal-slot{display:flex;flex-direction:column;gap:.2rem;border:1px solid #eadfd9;border-radius:16px;background:#fff;padding:.85rem;cursor:pointer;box-shadow:0 6px 16px #0000000a;transition:.15s ease}
.portal-slot:hover{transform:translateY(-1px);box-shadow:0 10px 24px #00000012}
.portal-slot input{width:auto;margin:0 0 .2rem 0}
.portal-slot strong{font-size:1.15rem;color:var(--tenant-color,#36bf24)}
.portal-slot small,.portal-slot span{color:#6f625e}
.portal-slot:has(input:checked){border-color:var(--tenant-color,#36bf24);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-color,#36bf24) 18%,transparent)}
.portal-booking-form h2{margin-top:1.4rem;font-size:1.1rem}
.portal-confirm-card{display:flex;flex-direction:column;gap:.3rem;background:#fff;border:1px solid #d7f0d1;border-radius:18px;padding:1.1rem;margin:1rem 0;box-shadow:0 10px 28px #00000010}
.portal-confirm-card strong{font-size:1.2rem;color:#20321f}
@media(max-width:720px){.portal-slot-grid{grid-template-columns:1fr 1fr}.portal-slot{padding:.75rem}.portal-booking-form h2{font-size:1rem}}
@media(max-width:460px){.portal-slot-grid{grid-template-columns:1fr}}

/* Version 1.95 – erweiterte Inhaltsverwaltung / Ratgeber / SEO */
.portal-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.portal-section-head h2{margin-bottom:.15rem}.portal-section-head p{margin:0;color:#667165;line-height:1.45}.portal-post-card h3{min-height:2.4em}.portal-post-card p{min-height:4.2em}.portal-content{white-space:pre-wrap}.public-portal .portal-service textarea,.public-portal .portal-form textarea{min-height:90px}.table-scroll textarea{min-width:260px;width:100%;border:1px solid #d8e5d4;border-radius:12px;padding:8px;background:#fff}.portal-hero-card .button{margin-top:.6rem}.portal-kicker{max-width:max-content}
@media(max-width:720px){.portal-section-head{align-items:stretch}.portal-section-head .button{width:100%;text-align:center}.portal-post-card p{min-height:0}.table-scroll textarea{min-width:220px}}


/* Version 1.96 – Chatbot-Basis */
.portal-chat-page .portal-lead{margin-bottom:16px}
.portal-chat-window{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:16px;min-height:260px;max-height:520px;overflow:auto;margin:16px 0}
.chat-bubble{max-width:84%;padding:12px 14px;border-radius:16px;line-height:1.45;white-space:pre-line;box-shadow:0 6px 18px rgba(0,0,0,.05)}
.chat-bubble.bot{align-self:flex-start;background:#fff;border:1px solid rgba(0,0,0,.08)}
.chat-bubble.user{align-self:flex-end;background:var(--tenant-color,#36bf24);color:#fff}
.portal-chat-input{display:flex;gap:10px;align-items:center;margin:12px 0}
.portal-chat-input input{flex:1;min-height:46px;border-radius:14px;border:1px solid rgba(0,0,0,.14);padding:0 14px;font-size:1rem;background:#fff}
.portal-chat-input button{min-height:46px;border-radius:14px;border:0;padding:0 18px;background:var(--tenant-color,#36bf24);color:#fff;font-weight:700;cursor:pointer}
.portal-chat-reset{margin:4px 0 18px 0}
.portal-contact-handoff{margin:18px 0;padding:14px;border-radius:16px;background:rgba(0,0,0,.035);border:1px solid rgba(0,0,0,.07)}
.portal-contact-handoff summary{cursor:pointer;font-weight:700}
@media(max-width:720px){.portal-chat-input{flex-direction:column;align-items:stretch}.chat-bubble{max-width:94%}}

/* Version 1.96.2 – Chatbot als eigenständiges Fenster unten rechts */
.portal-chat-widget{position:fixed;right:22px;bottom:22px;z-index:90;font-family:inherit}.portal-chat-fab{border:0;border-radius:999px;background:var(--tenant-color,#36bf24);color:#fff;padding:13px 18px;display:flex;align-items:center;gap:8px;font-weight:900;box-shadow:0 16px 38px rgba(0,0,0,.22);cursor:pointer}.portal-chat-fab span{font-size:1.15rem}.portal-chat-panel{position:absolute;right:0;bottom:62px;width:min(380px,calc(100vw - 28px));height:min(620px,calc(100vh - 110px));display:none;grid-template-rows:auto 1fr auto auto auto;background:#fff;border:1px solid #dfeadb;border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.24);overflow:hidden}.portal-chat-widget.is-open .portal-chat-panel{display:grid}.portal-chat-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:linear-gradient(135deg,var(--tenant-color,#36bf24),#72d468);color:#fff}.portal-chat-panel-head strong{display:block;font-size:1.05rem}.portal-chat-panel-head small{display:block;opacity:.9;margin-top:2px}.portal-chat-panel-head button{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.4rem;cursor:pointer}.portal-chat-panel-body{display:flex;flex-direction:column;gap:10px;padding:16px;background:#f7faf5;overflow:auto}.portal-chat-panel .chat-bubble{max-width:88%;font-size:.95rem}.portal-chat-panel .chat-bubble.bot{background:#fff;border:1px solid #e4eee0;border-bottom-left-radius:6px}.portal-chat-panel .chat-bubble.user{background:var(--tenant-color,#36bf24);color:#fff;border-bottom-right-radius:6px}.portal-chat-panel .chat-bubble.typing{opacity:.72;font-style:italic}.portal-chat-quick{display:flex;gap:7px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid #eef2ec;background:#fff}.portal-chat-quick button{border:1px solid #d8e5d4;border-radius:999px;background:#fff;padding:7px 10px;cursor:pointer;font-weight:700;color:#405044}.portal-chat-quick button:hover{background:#eef8ed}.portal-chat-widget-form{display:flex;gap:8px;padding:12px;border-top:1px solid #eef2ec;background:#fff}.portal-chat-widget-form input{flex:1;border:1px solid #d8e5d4;border-radius:14px;padding:12px;min-width:0}.portal-chat-widget-form button{border:0;border-radius:14px;background:var(--tenant-color,#36bf24);color:#fff;font-weight:800;padding:0 14px;cursor:pointer}.portal-chat-full-link{display:block;text-align:center;padding:9px 12px;background:#fbfdf9;color:#4c5c50;text-decoration:none;font-size:.88rem;border-top:1px solid #eef2ec}.portal-chat-full-link:hover{text-decoration:underline}@media(max-width:720px){.portal-chat-widget{right:14px;bottom:14px}.portal-chat-panel{right:-2px;bottom:58px;width:calc(100vw - 24px);height:min(600px,calc(100vh - 95px));border-radius:20px}.portal-chat-fab{padding:12px 15px}}

/* Version 1.96.6 – Chatbot versteht Kontext, Kategorien und optionale KI-Antworten */

/* v1.96.6 Chatbot KI & Aktionsbuttons */
.portal-chat-panel .chat-bubble,
.portal-chat-window .chat-bubble{white-space:pre-line;line-height:1.45}
.chat-action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 8px 0;max-width:88%}
.chat-action-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--tenant-color,#36bf24);color:#fff!important;text-decoration:none;font-weight:800;font-size:.9rem;padding:9px 13px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.chat-action-button:hover{filter:brightness(.96);text-decoration:none}
.portal-chat-panel-body .chat-action-buttons{align-self:flex-start}
@media(max-width:720px){.chat-action-buttons{max-width:94%}.chat-action-button{width:100%;border-radius:14px}}

/* v1.97.2: formatierte Ratgeber-/Seitentexte */
.portal-content.rich-content{white-space:normal}
.portal-content.rich-content h2{margin:1.4rem 0 .55rem;font-size:1.45rem;color:#1f2a21}
.portal-content.rich-content h3{margin:1.2rem 0 .45rem;font-size:1.22rem;color:#1f2a21}
.portal-content.rich-content h4{margin:1rem 0 .35rem;font-size:1.08rem;color:#1f2a21}
.portal-content.rich-content p{margin:.7rem 0;line-height:1.75}
.portal-content.rich-content ul,.portal-content.rich-content ol{margin:.7rem 0 1rem 1.35rem;padding-left:1rem}
.portal-content.rich-content li{margin:.35rem 0;line-height:1.65}
.portal-content.rich-content blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid var(--tenant-color,#36bf24);background:#f3f8ef;border-radius:12px}
.portal-content.rich-content a{color:var(--tenant-color,#36bf24);font-weight:700}
.portal-content.rich-content hr{border:0;border-top:1px solid #e4eee0;margin:1.4rem 0}

/* Version 1.97.3 – Einheitliches responsives UI für Software und Webseite */
:root{
  --ui-radius-sm:10px;
  --ui-radius:16px;
  --ui-radius-lg:24px;
  --ui-shadow:0 14px 42px rgba(23,46,22,.08);
  --ui-shadow-soft:0 8px 24px rgba(23,46,22,.06);
  --ui-focus:0 0 0 3px color-mix(in srgb,var(--tenant-color,var(--red,#36bf24)) 28%,transparent);
}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{line-height:1.5;overflow-x:hidden}
a,button,.button,input,select,textarea,summary{touch-action:manipulation}
button,.button,.top nav a,.portal-nav a,.chat-action-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;line-height:1.2;text-align:center}
input,select,textarea{font-size:16px;line-height:1.35;max-width:100%}
input:focus,select:focus,textarea:focus,button:focus-visible,.button:focus-visible,a:focus-visible,summary:focus-visible{outline:0;box-shadow:var(--ui-focus)}
.card,.portal-hero-card,.portal-tile,.portal-service,.portal-placeholder,.portal-contact-card,.portal-chat-demo,.portal-price-table,.portal-content,.portal-form,.portal-confirm-card,.portal-booking-summary,.settings-tile{border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-soft)}
.card h2,.portal-tile h3,.portal-service h3{line-height:1.25}
.subline,small{line-height:1.45}.actions-row,.toolbar,.inline,.print-toolbar{gap:.65rem}.actions-row .button,.toolbar .button,.inline .button{margin-bottom:0}
.grid,.settings-tile-grid,.portal-grid{align-items:stretch}.settings-tile{display:flex;flex-direction:column;gap:.5rem}.settings-tile p{flex:1;line-height:1.55;color:var(--muted)}.settings-tile .button{width:max-content;max-width:100%}
.formgrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.formgrid.compact-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.wide{grid-column:1/-1}
.table-scroll,.service-table-wrap,.portal-price-table{overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--ui-radius)}
.table-scroll table,.service-table-wrap table,.portal-price-table table{min-width:680px}
.card>table{border-radius:var(--ui-radius);overflow:hidden}
th{position:relative}td,th{line-height:1.35}.actions{white-space:normal}.actions .button,.actions button,.mini-form button{margin:.15rem;min-height:38px}
.top{backdrop-filter:saturate(1.2);box-shadow:0 10px 35px rgba(20,75,18,.18)}.brand{min-width:0}.brand div{min-width:0}.brand strong,.brand span,.brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.global-search input{min-height:44px}.main-nav{align-items:center}.nav-group>a{min-height:44px}
.portal-header{box-shadow:0 10px 38px rgba(23,46,22,.09)}.portal-brand{min-width:0}.portal-brand span{line-height:1.2}.portal-nav a{min-height:40px}.portal-main{width:100%}.portal-hero h1{letter-spacing:-.035em}.portal-hero p,.portal-lead{max-width:72ch}.portal-actions .button{min-width:150px}.portal-service,.portal-tile{transition:transform .16s ease,box-shadow .16s ease}.portal-service:hover,.portal-tile:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow);text-decoration:none}.portal-meta{flex-wrap:wrap}.portal-content.rich-content{font-size:1.03rem}.portal-content.rich-content img{max-width:100%;height:auto;border-radius:var(--ui-radius)}
.portal-slot{min-height:92px}.portal-slot strong{font-size:1.08rem}.portal-slot-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.portal-chat-panel{max-width:calc(100vw - 24px)}.portal-chat-panel-body{overscroll-behavior:contain}.portal-chat-widget-form input{font-size:16px}.chat-bubble{word-break:break-word}.chat-action-buttons{gap:.5rem}
@media(max-width:1100px){
  .wrap{max-width:100%;padding:16px}.top{position:sticky;top:0}.top.menu-open nav.main-nav{max-height:calc(100vh - 136px);overflow:auto;-webkit-overflow-scrolling:touch}.submenu{max-height:none}.brand strong{font-size:18px}.brand span,.brand small{font-size:12px}.grid,.settings-tile-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.cash-layout{grid-template-columns:1fr}.cash-cart{position:static}.cash-tile-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
}
@media(max-width:820px){
  body{background:#f7f5f2}.wrap{padding:12px}.top{grid-template-columns:auto 1fr auto;border-bottom-left-radius:18px;border-bottom-right-radius:18px}.brand img{height:42px;max-width:86px}.brand strong{max-width:52vw}.global-search{gap:8px}.global-search button{padding-left:12px;padding-right:12px}.top.menu-open nav.main-nav{grid-template-columns:1fr 1fr}.top nav.main-nav a,.top nav.main-nav .nav-group>a{justify-content:center;min-height:48px}.card{padding:16px;margin-bottom:14px;border-radius:20px}.card h2{font-size:1.12rem}.grid,.settings-tile-grid,.portal-grid,.portal-grid.two{grid-template-columns:1fr}.settings-tile .button,.card .button{width:100%}.actions-row,.toolbar,.inline,.print-toolbar{display:flex;flex-direction:column;align-items:stretch}.actions-row .button,.actions-row button,.toolbar .button,.toolbar button,.inline .button,.inline button{width:100%}.formgrid,.formgrid.compact-form{grid-template-columns:1fr}.split{display:block}.kpi strong{font-size:1.55rem}.portal-header{position:sticky;top:0;z-index:30;gap:12px;padding:12px 14px}.portal-brand img{width:44px;height:44px}.portal-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portal-nav a{justify-content:center;background:#f5f8f2;border:1px solid #e5eee1;min-height:44px;padding:9px 10px}.portal-nav-primary{grid-column:1/-1}.portal-main{padding:18px 12px 78px}.portal-hero{gap:16px;padding:12px 0 24px}.portal-hero h1{font-size:clamp(2rem,11vw,3.1rem);line-height:1.04}.portal-hero p,.portal-lead{font-size:1rem;line-height:1.6}.portal-actions{display:grid;grid-template-columns:1fr;gap:9px}.portal-actions .button{width:100%;min-height:48px}.portal-section{margin:24px 0}.portal-hero-card,.portal-tile,.portal-service,.portal-placeholder,.portal-contact-card,.portal-chat-demo,.portal-price-table,.portal-content,.portal-form{padding:18px;border-radius:20px}.portal-content.rich-content{font-size:1rem}.portal-content.rich-content h2{font-size:1.28rem}.portal-content.rich-content h3{font-size:1.12rem}.portal-footer{display:grid;gap:8px;text-align:center}.portal-chat-widget{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.portal-chat-panel{position:fixed;left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));width:auto;height:min(620px,calc(100dvh - 94px));border-radius:22px}.portal-chat-fab{min-height:52px;padding:13px 16px}.portal-chat-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-chat-quick button{white-space:normal;min-height:42px}.portal-chat-widget-form{gap:7px}.portal-chat-widget-form button{min-width:54px}.chat-action-buttons{max-width:100%;width:100%}.chat-action-button{width:100%;min-height:44px;border-radius:14px}.portal-slot-grid{grid-template-columns:1fr 1fr;gap:10px}.portal-slot{min-height:88px}.calendar-grid-v17{border-radius:18px}.cal-v17-header,.cal-v17-body{min-width:1040px}.cash-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-cart-line-grid{grid-template-columns:repeat(2,1fr)}
  .card>table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.card>table th,.card>table td{padding:9px 10px}.card>table .actions{white-space:normal;min-width:160px}
}
@media(max-width:560px){
  .wrap{padding:10px}.top{padding:10px;gap:8px}.brand img{height:36px;max-width:76px}.brand strong{font-size:16px;max-width:58vw}.brand span,.brand small{font-size:11px}.mobile-menu-toggle{min-width:46px;min-height:44px;padding:9px}.global-search{grid-template-columns:1fr}.global-search button{width:100%}.top.menu-open nav.main-nav{grid-template-columns:1fr;max-height:calc(100vh - 170px)}h1{font-size:1.55rem;line-height:1.2}h2{font-size:1.15rem}p{line-height:1.55}.card{padding:14px;border-radius:18px}.button,button{width:100%;min-height:46px;padding:12px 14px}.button.small,button.small{min-height:42px}.badge{white-space:normal}.portal-header{align-items:stretch}.portal-brand{justify-content:center;text-align:center}.portal-nav{grid-template-columns:1fr}.portal-main{padding-left:10px;padding-right:10px}.portal-kicker{font-size:.86rem}.portal-hero h1{font-size:2rem}.portal-service span{font-size:.78rem}.portal-meta{display:grid;gap:6px}.portal-slot-grid{grid-template-columns:1fr}.portal-booking-summary,.portal-confirm-card{padding:14px}.portal-chat-panel{left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom));height:min(610px,calc(100dvh - 86px));border-radius:18px}.portal-chat-panel-head{padding:13px 14px}.portal-chat-panel-body{padding:12px}.portal-chat-panel .chat-bubble{max-width:94%;font-size:.94rem}.portal-chat-quick{grid-template-columns:1fr}.portal-chat-fab b{display:none}.cash-tile-grid{grid-template-columns:1fr}.cash-cart-line-grid{grid-template-columns:1fr}.cash-qty-buttons{grid-template-columns:repeat(3,1fr)}.local-qr{max-width:230px}.portal-content.rich-content ul,.portal-content.rich-content ol{margin-left:.8rem;padding-left:.9rem}
}
@media(hover:none){.portal-service:hover,.portal-tile:hover{transform:none}.top nav a:hover,.portal-nav a:hover{text-decoration:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Version 1.97.4 – mobiles Klappmenü für Software und öffentliche Webseite */
.portal-menu-toggle{display:none;align-items:center;justify-content:center;gap:7px;border:1px solid #dfeadb;background:#fff;color:#213021;border-radius:14px;padding:10px 12px;min-height:44px;font-weight:900;box-shadow:0 8px 22px rgba(23,46,22,.08);cursor:pointer}
.portal-menu-toggle span{display:block;width:22px;height:3px;background:var(--tenant-color,#36bf24);border-radius:99px;transition:transform .18s ease,opacity .18s ease}.portal-menu-toggle b{font-size:14px;line-height:1}.portal-header.portal-menu-open .portal-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.portal-header.portal-menu-open .portal-menu-toggle span:nth-child(2){opacity:0}.portal-header.portal-menu-open .portal-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .top{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;min-height:64px!important;border-radius:0 0 18px 18px!important}.top .brand{grid-column:1/2!important;max-width:calc(100vw - 72px)!important}.top .brand img{height:38px!important;max-width:74px!important}.top .brand strong{font-size:16px!important;max-width:54vw!important}.top .brand span,.top .brand small{display:none!important}.top .mobile-menu-toggle{grid-column:3/4!important;grid-row:1!important;justify-self:end!important;display:inline-flex!important;width:auto!important}.top .global-search{grid-column:1/-1!important;grid-row:2!important;display:none!important;margin-top:0!important}.top.menu-open .global-search{display:grid!important}.top nav.main-nav{grid-column:1/-1!important;grid-row:3!important;display:none!important;margin-top:2px!important;max-height:calc(100dvh - 132px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}.top.menu-open nav.main-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.top nav.main-nav a,.top nav.main-nav .nav-group>a{justify-content:center!important;min-height:46px!important;padding:10px!important}.submenu{position:static!important;display:grid!important;background:rgba(255,255,255,.14)!important;box-shadow:none!important;border:0!important;margin-top:6px!important;min-width:0!important}.nav-group{display:grid!important}.tenant-switcher-menu{grid-column:1/-1!important}
  .portal-header{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;padding:10px 14px!important;min-height:64px!important;position:sticky!important;top:0!important;z-index:80!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px) saturate(1.15)!important;border-bottom:1px solid #e5eee1!important}.portal-brand{grid-column:1/3!important;justify-content:flex-start!important;text-align:left!important;min-width:0!important;max-width:calc(100vw - 82px)!important}.portal-brand img{width:40px!important;height:40px!important}.portal-brand span{font-size:1rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.portal-menu-toggle{display:inline-flex!important;grid-column:3/4!important;justify-self:end!important;width:auto!important}.portal-nav{grid-column:1/-1!important;display:none!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:2px!important;padding:10px!important;background:#fff!important;border:1px solid #e3eee0!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(23,46,22,.14)!important;max-height:calc(100dvh - 88px)!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}.portal-header.portal-menu-open .portal-nav{display:grid!important}.portal-nav a{background:#f6faf3!important;border:1px solid #e3eee0!important;border-radius:14px!important;justify-content:center!important;min-height:46px!important;padding:10px!important}.portal-nav-primary{grid-column:1/-1!important;background:var(--tenant-color,#36bf24)!important;color:#fff!important;border-color:var(--tenant-color,#36bf24)!important}.portal-main{padding-top:12px!important}.portal-hero{padding-top:8px!important}.portal-hero-card{display:none!important}
}
@media(max-width:560px){
  .top{min-height:58px!important;padding:8px 10px!important}.top .brand img{height:34px!important}.top .mobile-menu-toggle{min-width:44px!important}.top.menu-open nav.main-nav{grid-template-columns:1fr!important;max-height:calc(100dvh - 124px)!important}.top.menu-open .global-search{display:grid!important;grid-template-columns:1fr!important}.top .global-search button{width:100%!important}.portal-header{min-height:58px!important;padding:8px 10px!important}.portal-brand img{width:36px!important;height:36px!important}.portal-brand span{font-size:.95rem!important}.portal-menu-toggle{min-width:44px!important;padding:9px!important}.portal-menu-toggle b{display:none}.portal-nav{grid-template-columns:1fr!important;max-height:calc(100dvh - 78px)!important;padding:8px!important}.portal-nav a{min-height:46px!important}.portal-main{padding-top:10px!important}.portal-hero{padding-top:4px!important}.portal-hero h1{font-size:1.75rem!important;line-height:1.08!important}.portal-kicker{font-size:.8rem!important}.portal-section{margin:18px 0!important}
}


/* Version 1.97.7: Logo oben links größer darstellen */
.brand img{height:76px !important;max-width:150px !important;object-fit:contain;}
.brand{gap:14px;}
.portal-brand img{width:76px !important;height:76px !important;object-fit:contain;}
@media(max-width:1100px){
  .brand img{height:62px !important;max-width:126px !important;}
  .portal-brand img{width:66px !important;height:66px !important;}
}
@media(max-width:560px){
  .top{align-items:center;}
  .brand img{height:54px !important;max-width:112px !important;}
  .brand{gap:10px;}
  .brand strong{font-size:16px;}
  .brand span,.brand small{font-size:10.5px;}
  .portal-brand img{width:58px !important;height:58px !important;}
}


/* Version 1.98.0 – Studiolike Grundlayout, einheitliche App-UI */
:root{
  --studio-bg:#f7f4ef;
  --studio-surface:#ffffff;
  --studio-surface-soft:#fbfaf7;
  --studio-border:#e4eadf;
  --studio-text:#1f2a21;
  --studio-muted:#677466;
  --studio-shadow:0 18px 46px rgba(24,58,27,.10);
  --studio-shadow-soft:0 8px 24px rgba(24,58,27,.07);
  --studio-sidebar:292px;
  --studio-topbar:82px;
}
body.app-modern-shell{background:linear-gradient(135deg,#fbf8f2 0%,#f3f7ee 55%,#fbfaf6 100%);color:var(--studio-text);}
.studio-app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--studio-sidebar) minmax(0,1fr);grid-template-rows:var(--studio-topbar) minmax(0,1fr);}
.app-topbar.top{position:sticky;top:0;z-index:70;grid-column:2;grid-row:1;display:grid;grid-template-columns:auto minmax(220px,1.1fr) minmax(320px,1.6fr) auto;align-items:center;gap:14px;padding:12px 22px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px) saturate(1.18);border:0;border-bottom:1px solid rgba(218,230,211,.86);box-shadow:0 10px 34px rgba(21,52,18,.08);border-radius:0;}
.app-brand.brand{min-width:0;display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--studio-text);}
.app-brand.brand img{height:58px!important;max-width:120px!important;object-fit:contain;border-radius:16px;background:#fff;padding:4px;box-shadow:0 8px 20px rgba(20,60,18,.08)}
.app-brand.brand strong{font-size:1.05rem;letter-spacing:-.01em;max-width:260px}.app-brand.brand span{font-size:.82rem;color:var(--studio-muted)}.app-brand.brand small{display:inline-flex;margin-top:3px;padding:3px 8px;border-radius:99px;background:#eef8e9;color:#2b6c25;font-size:.76rem;font-weight:800;max-width:220px}
.app-search.global-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:0}.app-search input{border-radius:18px;border:1px solid var(--studio-border);background:#fff;padding:13px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.app-search button{border-radius:16px;min-height:48px;}
.app-quick-actions{display:flex;gap:8px;align-items:center}.app-quick-actions .button{white-space:nowrap;border-radius:14px;min-height:44px;}
.app-menu-button.mobile-menu-toggle{display:none;background:#fff;color:var(--studio-text);border:1px solid var(--studio-border);border-radius:16px;box-shadow:var(--studio-shadow-soft)}
.app-sidebar.main-nav{grid-column:1;grid-row:1 / span 2;position:sticky;top:0;align-self:start;height:100dvh;overflow:auto;-webkit-overflow-scrolling:touch;padding:18px 14px;background:linear-gradient(180deg,#1f331f 0%,#254525 100%);border-right:1px solid rgba(255,255,255,.1);box-shadow:18px 0 46px rgba(16,46,14,.16);display:flex!important;flex-direction:column;gap:10px;}
.app-sidebar-brand{display:flex;align-items:center;gap:12px;padding:8px 8px 16px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.16);color:#fff}.app-sidebar-brand img{width:58px;height:58px;object-fit:contain;border-radius:18px;background:#fff;padding:5px}.app-sidebar-brand strong{display:block;line-height:1.15}.app-sidebar-brand span{display:block;color:rgba(255,255,255,.72);font-size:.84rem;margin-top:3px}
.app-sidebar .tenant-switcher-menu,.app-tenant-section{width:100%;}.app-sidebar .tenant-switcher-menu select,.app-sidebar .tenant-switcher-menu button{width:100%;border-radius:14px;min-height:42px}.app-sidebar .tenant-switcher-menu{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);padding:10px;border-radius:18px;color:#fff}.app-sidebar .tenant-switcher-menu label,.app-sidebar .tenant-switcher-menu span{color:rgba(255,255,255,.86)}
.app-nav-label{margin:12px 10px 4px;color:rgba(255,255,255,.55);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.app-nav-list{display:grid;gap:5px}.app-nav-item{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px;min-height:44px;padding:10px 12px!important;border-radius:15px!important;color:rgba(255,255,255,.86)!important;text-decoration:none!important;background:transparent!important;border:1px solid transparent!important;font-weight:800;line-height:1.15}.app-nav-item span{width:26px;display:inline-flex;justify-content:center;font-size:1.05rem}.app-nav-item b{font-size:.94rem;font-weight:850}.app-nav-item:hover,.app-nav-item.active{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.17)!important;color:#fff!important}.app-nav-item.active{box-shadow:inset 3px 0 0 var(--tenant-color,#36bf24)}.app-nav-item.logout{margin-top:auto;background:rgba(255,255,255,.08)!important;color:#fff!important}
.app-content.wrap{grid-column:2;grid-row:2;max-width:none;width:100%;padding:24px clamp(18px,2.4vw,34px) 42px;}.app-content>h1:first-child{font-size:clamp(1.8rem,3.2vw,2.7rem);letter-spacing:-.04em;margin:0 0 16px;line-height:1.05}.app-content>h1:first-child::after{content:'';display:block;width:62px;height:5px;margin-top:12px;border-radius:999px;background:var(--tenant-color,#36bf24)}
.app-modern-shell .card{background:rgba(255,255,255,.92);border:1px solid rgba(226,235,220,.88);box-shadow:var(--studio-shadow-soft);border-radius:24px;padding:clamp(16px,1.7vw,24px)}.app-modern-shell .card:hover{box-shadow:0 12px 34px rgba(24,58,27,.09)}.app-modern-shell .card h2{letter-spacing:-.025em;color:#203020}.app-modern-shell .button,.app-modern-shell button{border-radius:15px;font-weight:850}.app-modern-shell .button:not(.ghost),.app-modern-shell button:not(.ghost){box-shadow:0 10px 22px rgba(54,191,36,.16)}.app-modern-shell .button.ghost{background:#fff;border-color:var(--studio-border);color:#263a27}.app-modern-shell input,.app-modern-shell select,.app-modern-shell textarea{border-radius:15px;border:1px solid var(--studio-border);background:#fff}.app-modern-shell label{font-weight:780;color:#263126}.app-modern-shell .subline{color:var(--studio-muted)}
/* Terminbuch-orientierte Startseite */
.dashboard-view-switch,.dashboard-week-shell,.tablet-workflow-hero,.tablet-today-list,.workflow-shell{border-radius:28px}.dashboard-view-switch{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(135deg,#ffffff,#f2faed)}.dashboard-view-switch h1{margin:0}.tablet-workflow-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.75fr);gap:18px;align-items:stretch}.tablet-next-card{background:linear-gradient(135deg,#fff,#f6fbf2)}.tablet-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tablet-kpis>div{background:var(--studio-surface-soft);border:1px solid var(--studio-border);border-radius:18px;padding:14px}.tablet-kpis span{display:block;color:var(--studio-muted);font-size:.82rem;font-weight:800}.tablet-kpis strong{display:block;font-size:1.35rem;letter-spacing:-.03em;margin-top:4px}.week-appointment-card,.workflow-mini-card,.customer-touch-card,.customer-contact-card{border-radius:18px!important;border:1px solid var(--studio-border)!important;box-shadow:var(--studio-shadow-soft);transition:transform .14s ease, box-shadow .14s ease}.week-appointment-card:hover,.workflow-mini-card:hover,.customer-touch-card:hover,.customer-contact-card:hover{transform:translateY(-2px);box-shadow:var(--studio-shadow)}
/* Tabellen salonfreundlicher */
.app-modern-shell table{border-collapse:separate;border-spacing:0;width:100%}.app-modern-shell th{background:#f3f8ee;color:#2b3a2b;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.app-modern-shell td,.app-modern-shell th{border-bottom:1px solid #e8eee4}.app-modern-shell tr:hover td{background:#fbfdf8}.badge{border-radius:999px;padding:.35rem .65rem;font-weight:850}.actions.compact-actions,.actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.actions.compact-actions .button,.actions .button,.actions button{width:auto;min-height:38px}
/* Öffentliche Seite an App-Design angleichen */
.public-portal{background:linear-gradient(135deg,#fbf8f2,#f4faef)}.portal-header{border-bottom:1px solid rgba(226,235,220,.92);background:rgba(255,255,255,.92)!important;backdrop-filter:blur(16px) saturate(1.16)}.portal-brand img{border-radius:18px;background:#fff;padding:4px;box-shadow:0 8px 20px rgba(20,60,18,.08)}.portal-service,.portal-tile,.portal-content,.portal-form,.portal-price-table,.portal-confirm-card{border:1px solid rgba(226,235,220,.88);box-shadow:var(--studio-shadow-soft)}.portal-hero h1{letter-spacing:-.05em}.portal-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef8e9;color:#2d7a24;font-weight:900}.portal-nav a{border-radius:14px;font-weight:850}.portal-nav-primary{box-shadow:0 12px 22px rgba(54,191,36,.18)}
/* Mobile Bottom Action Bar für zentrale Studioaktionen */
@media(max-width:900px){
  .studio-app-shell{display:block;min-height:100dvh}.app-topbar.top{grid-column:auto;grid-row:auto;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:10px!important;padding:9px 12px!important;min-height:64px!important;position:sticky!important;top:0!important;border-radius:0 0 20px 20px!important}.app-menu-button.mobile-menu-toggle{display:inline-flex!important;grid-column:1!important;grid-row:1!important}.app-brand.brand{grid-column:2!important;grid-row:1!important;justify-content:center;text-align:left}.app-brand.brand img{height:44px!important;max-width:92px!important;border-radius:14px}.app-brand.brand strong{font-size:1rem;max-width:48vw}.app-brand.brand span,.app-brand.brand small{display:none!important}.app-search.global-search{display:none!important;grid-column:1/-1!important;grid-row:2!important}.app-quick-actions{grid-column:3!important;grid-row:1!important}.app-quick-actions .button.ghost{display:none}.app-quick-actions .button{min-width:48px;padding:10px 12px}.app-menu-open .app-search.global-search{display:grid!important}.app-sidebar.main-nav{position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,330px);height:100dvh;z-index:120;transform:translateX(-104%);transition:transform .22s ease;box-shadow:30px 0 80px rgba(0,0,0,.22)}.app-menu-open .app-sidebar.main-nav{transform:translateX(0)}.app-menu-backdrop{position:fixed;inset:0;background:rgba(12,28,14,.38);z-index:110;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-menu-open .app-menu-backdrop{opacity:1;pointer-events:auto}.app-content.wrap{padding:14px 12px 92px}.app-content>h1:first-child{font-size:1.55rem}.tablet-workflow-hero{grid-template-columns:1fr}.tablet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-view-switch{align-items:stretch;flex-direction:column}.actions-row,.toolbar{gap:8px}.actions.compact-actions,.actions{display:grid;grid-template-columns:1fr 1fr}.actions.compact-actions .button,.actions .button,.actions button{width:100%}.bottom{display:none}.app-modern-shell .portal-chat-widget{z-index:90}
}
@media(max-width:560px){
  :root{--studio-topbar:62px}.app-content.wrap{padding-left:10px;padding-right:10px}.app-sidebar.main-nav{width:min(92vw,320px);padding:14px 12px}.app-sidebar-brand img{width:48px;height:48px}.app-nav-item{min-height:46px}.app-modern-shell .card{padding:14px;border-radius:20px}.tablet-kpis{grid-template-columns:1fr}.app-modern-shell table{font-size:.92rem}.app-modern-shell .button,.app-modern-shell button{min-height:46px}.week-appointment-card,.workflow-mini-card{padding:12px!important}.portal-hero h1{font-size:2rem!important}.portal-section{margin:20px 0!important}
}
@media(min-width:901px){
  .app-menu-backdrop{display:none}.app-sidebar.main-nav::-webkit-scrollbar{width:10px}.app-sidebar.main-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}.app-content.wrap{min-height:calc(100dvh - var(--studio-topbar))}.bottom{margin-left:var(--studio-sidebar)}
}

/* v1.98.1 Terminbuch Redesign */
.studio-scheduler-shell{display:grid;gap:1rem;margin:0 0 1.2rem}.studio-scheduler-top{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:1rem;align-items:center;background:linear-gradient(135deg,#ffffff,#f4fff2)}.scheduler-date-block span{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#667085)}.scheduler-date-block strong{display:block;font-size:clamp(1.35rem,2.2vw,2.1rem);line-height:1.1}.scheduler-date-block small{display:block;color:var(--muted,#667085);margin-top:.35rem}.scheduler-controls{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.scheduler-date-jump{display:flex;gap:.5rem;align-items:end}.scheduler-date-jump label{display:grid;gap:.25rem;font-size:.8rem;color:var(--muted,#667085)}.scheduler-date-jump input{min-width:150px}.studio-day-mobile{display:none}.studio-staff-board{overflow:hidden}.staff-board-scroll{overflow-x:auto;padding-bottom:.3rem}.staff-board-grid{display:grid;grid-template-columns:repeat(var(--staff-count),minmax(250px,1fr));gap:.85rem;min-width:min(100%,calc(var(--staff-count) * 270px))}.staff-column{background:#f8faf8;border:1px solid rgba(20,40,20,.08);border-radius:22px;padding:.85rem;min-height:280px}.staff-column header{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem}.staff-column header strong{font-size:1rem}.staff-column header span{font-size:.78rem;color:var(--muted,#667085);background:white;border-radius:999px;padding:.25rem .55rem}.staff-empty{min-height:170px;display:grid;place-items:center;align-content:center;gap:.7rem;color:var(--muted,#667085);border:1px dashed rgba(0,0,0,.15);border-radius:18px;background:#fff}.staff-appointments{display:grid;gap:.75rem}.staff-appointment,.studio-mobile-appointment{position:relative;background:#fff;border:1px solid rgba(0,0,0,.08);border-left:6px solid var(--appt-color,#36bf24);border-radius:18px;padding:.78rem;box-shadow:0 10px 24px rgba(24,39,28,.08)}.staff-appointment h3{margin:.35rem 0 .15rem;font-size:1rem}.staff-appointment p{margin:0;color:#344054}.staff-appt-head,.staff-appt-meta,.staff-appt-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.staff-appt-head span,.staff-appt-meta span{font-size:.75rem;border-radius:999px;background:#eef7ed;color:#2f6b2a;padding:.22rem .5rem}.staff-appt-meta{margin:.55rem 0;color:var(--muted,#667085);justify-content:flex-start}.staff-appt-actions{justify-content:flex-start;margin-top:.55rem}.studio-mobile-timeline{display:grid;gap:.7rem}.studio-mobile-appointment{display:grid;grid-template-columns:64px 1fr auto;gap:.75rem;align-items:center}.studio-appt-time{display:grid;justify-items:start}.studio-appt-time strong{font-size:1.05rem}.studio-appt-time span{font-size:.8rem;color:var(--muted,#667085)}.studio-appt-body{display:grid;gap:.15rem}.studio-appt-body span{color:#344054}.studio-appt-body small{color:var(--muted,#667085)}.studio-appt-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.appointment-card{scroll-margin-top:90px}.calendar-desktop-card{margin-top:1rem}.mobile-appointments-card{display:none!important}
@media(max-width:980px){.studio-scheduler-top{grid-template-columns:1fr}.scheduler-controls{justify-content:flex-start}.scheduler-date-jump{align-items:end;flex-wrap:wrap}.studio-staff-board{display:none}.studio-day-mobile{display:block}.split{grid-template-columns:1fr!important}.appointment-card details:not([open]){padding:.2rem}.appointment-card{order:2}.calendar-desktop-card{display:none}.studio-mobile-appointment{grid-template-columns:58px 1fr}.studio-appt-actions{grid-column:1/-1;justify-content:stretch}.studio-appt-actions .button{flex:1;text-align:center}.scheduler-controls .button{flex:1;text-align:center;min-width:120px}}
@media(max-width:560px){.studio-scheduler-top{padding:1rem}.scheduler-controls{display:grid;grid-template-columns:1fr 1fr}.scheduler-controls .button:last-child{grid-column:1/-1}.scheduler-date-jump{display:grid;grid-template-columns:1fr auto}.scheduler-date-jump label{min-width:0}.scheduler-date-jump input{min-width:0;width:100%}.studio-mobile-appointment{padding:.7rem;border-radius:16px}.studio-appt-body strong{font-size:.98rem}.studio-appt-body span{font-size:.9rem}.studio-day-mobile .section-head{align-items:flex-start}.staff-board-grid{min-width:0}}

/* v1.98.2 Moderner Studio-Kalender */
:root{
  --scheduler-bg:#f4f7fb;
  --scheduler-panel:#ffffff;
  --scheduler-line:#dde6f0;
  --scheduler-line-soft:#eef3f8;
  --scheduler-text:#172033;
  --scheduler-muted:#667085;
  --scheduler-closed:#edf3f8;
  --scheduler-today:#e9f7ff;
  --scheduler-primary:#36bf24;
}
.calendar-desktop-card{
  border:0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 22px 70px rgba(23,32,51,.10)!important;
  border-radius:28px!important;
  padding:18px!important;
  overflow:hidden;
}
.calendar-desktop-card>h2{display:none}
.calendar-desktop-card .toolbar{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(240px,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  margin:0 0 14px!important;
  padding:8px!important;
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(221,230,240,.95)!important;
  border-radius:24px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(10px);
}
.calendar-desktop-card .toolbar button{
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#172033!important;
  border:1px solid var(--scheduler-line)!important;
  box-shadow:0 8px 20px rgba(23,32,51,.07)!important;
  font-size:0!important;
  position:relative;
}
.calendar-desktop-card .toolbar button:first-child::before{content:'‹';font-size:30px;line-height:1}
.calendar-desktop-card .toolbar button:last-child::before{content:'›';font-size:30px;line-height:1}
#calTitle{
  justify-self:center;
  color:#1272c3;
  font-size:1.08rem;
  font-weight:900;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
#calTitle::before{content:'📅';font-size:1rem;filter:saturate(.8)}
.slot-finder{
  border:0!important;
  background:linear-gradient(135deg,#f7fbff,#f3fff2)!important;
  border-radius:22px!important;
  padding:14px!important;
  box-shadow:inset 0 0 0 1px rgba(221,230,240,.9);
}
.calendar-grid-v17{
  border:0!important;
  border-radius:26px!important;
  background:var(--scheduler-panel)!important;
  box-shadow:inset 0 0 0 1px var(--scheduler-line), 0 22px 70px rgba(23,32,51,.08);
  overflow:auto!important;
  scrollbar-width:thin;
}
.cal-v17-header{
  position:sticky!important;
  top:0;
  z-index:20;
  background:#fff;
  box-shadow:0 10px 22px rgba(23,32,51,.08);
}
.cal-v17-header,.cal-v17-body{
  grid-template-columns:72px repeat(7,minmax(190px,1fr))!important;
}
.cal-v17-header .timecol{
  background:#fff!important;
  border-right:1px solid var(--scheduler-line)!important;
}
.modern-dayhead{
  min-height:74px!important;
  padding:12px 10px!important;
  background:#fff!important;
  border:0!important;
  border-right:1px solid var(--scheduler-line-soft)!important;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:#0f1f44;
}
.modern-dayhead span{font-size:.82rem;font-weight:900;color:#0f1f44;text-transform:uppercase;letter-spacing:.04em}
.modern-dayhead strong{font-size:1.45rem;line-height:1;font-weight:950;color:#0f1f44}
.modern-dayhead small{font-size:.72rem;font-weight:800;color:var(--scheduler-muted);text-transform:uppercase}
.modern-dayhead.is-today{
  background:linear-gradient(135deg,#cbecff,#e9f7ff)!important;
  border-radius:0 0 24px 24px;
  box-shadow:inset 0 -3px 0 #79cbff;
}
.modern-dayhead.is-weekend{background:#f6f9fc!important;color:#667085}
.cal-v17-body{background:#fff}
.cal-v17-times{
  background:#fff!important;
  border-right:1px solid var(--scheduler-line)!important;
  position:sticky;left:0;z-index:10;
  box-shadow:8px 0 22px rgba(15,23,42,.04);
}
.cal-v17-time{
  height:69px!important;
  color:#344054!important;
  font-size:.84rem!important;
  font-weight:800!important;
  padding-top:5px!important;
  text-align:right!important;
  padding-right:10px!important;
  border-bottom:1px solid transparent!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
}
.cal-v17-time::after{content:'';display:block;font-size:.7rem;color:#aab4c4;font-weight:700;margin-top:12px}
.cal-v17-day{
  background:#fff!important;
  border-right:1px solid var(--scheduler-line-soft)!important;
  background-image:linear-gradient(to bottom, transparent 0, transparent 68px, rgba(221,230,240,.75) 69px)!important;
  background-size:100% 69px!important;
}
.cal-v17-day.is-today{
  background-color:#fbfdff!important;
  box-shadow:inset 0 0 0 2px rgba(121,203,255,.42);
}
.cal-v17-day.is-weekend{
  background-color:#f4f8fc!important;
}
.cal-v17-hourline{
  border-top:1px solid rgba(159,174,195,.45)!important;
  pointer-events:none;
}
.cal-v17-halfline{
  position:absolute;left:0;right:0;border-top:1px dashed rgba(159,174,195,.28);pointer-events:none;
}
.cal-v17-day.drag-over{
  background-color:#f0fff0!important;
  box-shadow:inset 0 0 0 3px rgba(54,191,36,.45)!important;
}
.cal-v17-event{
  border:0!important;
  border-left:6px solid rgba(255,255,255,.75)!important;
  border-radius:18px!important;
  padding:9px 10px!important;
  box-shadow:0 14px 32px rgba(23,32,51,.18)!important;
  color:#fff!important;
  font-size:.82rem!important;
  line-height:1.25!important;
  overflow:hidden!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.cal-v17-event:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 18px 42px rgba(23,32,51,.25)!important;
  text-decoration:none!important;
  filter:saturate(1.06);
}
.cal-v17-event strong{display:block;font-size:.8rem;letter-spacing:.01em;margin-right:20px}
.cal-v17-event span{display:block;margin-top:3px;opacity:.94;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-v17-event small{display:block;margin-top:3px;opacity:.76;font-size:.7rem}
.event-delete{
  top:7px!important;right:7px!important;width:22px!important;height:22px!important;border-radius:999px!important;background:rgba(255,255,255,.24)!important;color:#fff!important;line-height:1!important;display:grid!important;place-items:center!important;
}
.cal-v17-event.calendar-block{
  color:#29355f!important;
  background:rgba(229,238,247,.84)!important;
  box-shadow:none!important;
  border:1px solid rgba(151,164,184,.28)!important;
  border-radius:18px!important;
  backdrop-filter:blur(4px);
}
.cal-v17-event.calendar-block.all-day-block{
  opacity:.74!important;
  top:50%!important;
  min-height:78px!important;
  transform:translateY(-50%);
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  padding:12px!important;
  background:rgba(217,230,241,.72)!important;
  background-image:none!important;
  font-weight:900;
}
.cal-v17-event.calendar-block.all-day-block::before{
  content:'⊘';
  display:block;
  font-size:2.3rem;
  line-height:1;
  color:#29355f;
  opacity:.9;
  margin-bottom:4px;
}
.cal-v17-event.calendar-block.all-day-block strong{display:none}
.cal-v17-event.calendar-block.all-day-block span{white-space:normal;text-align:center;font-size:.88rem;color:#29355f;opacity:1}
.cal-v17-event.pause{
  background:rgba(231,238,246,.78)!important;
  color:#29355f!important;
  border-radius:14px!important;
  text-align:center;
  box-shadow:none!important;
}
.calendar-block:before{content:''!important}
.calendar-help-strip{
  display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  margin:12px 0 0;padding:12px 14px;border-radius:20px;background:#f8fbff;border:1px solid var(--scheduler-line);color:var(--scheduler-muted);font-weight:700;font-size:.9rem;
}
.calendar-help-strip strong{color:#172033}
.calendar-legend{display:flex;gap:8px;flex-wrap:wrap}.calendar-legend span{display:inline-flex;gap:6px;align-items:center}.calendar-legend i{width:12px;height:12px;border-radius:4px;background:var(--scheduler-primary);display:inline-block}.calendar-legend .closed i{background:#d9e6f1}.calendar-legend .online i{background:#1272c3}
.app-modern-shell .calendar-fab{
  position:fixed;left:auto;right:28px;bottom:28px;z-index:70;display:inline-flex;align-items:center;gap:10px;border-radius:22px;padding:15px 20px!important;box-shadow:0 20px 50px rgba(54,191,36,.30)!important;background:linear-gradient(135deg,var(--scheduler-primary),#9cd100)!important;color:#fff!important;font-weight:950!important;
}
@media(max-width:1100px){
  .cal-v17-header,.cal-v17-body{grid-template-columns:66px repeat(7,176px)!important;min-width:1298px!important}.calendar-desktop-card{padding:14px!important}.calendar-grid-v17{max-height:68vh!important}.modern-dayhead{min-height:66px!important}.cal-v17-time{height:69px!important}.calendar-desktop-card .toolbar{grid-template-columns:auto 1fr auto!important}
}
@media(max-width:980px){
  .calendar-desktop-card{display:block!important}.calendar-desktop-card .slot-finder{display:none}.calendar-help-strip{display:none}.calendar-grid-v17{display:none!important}.calendar-desktop-card .toolbar{margin-bottom:0!important}.app-modern-shell .calendar-fab{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));border-radius:18px;padding:13px 16px!important}.app-modern-shell .calendar-fab span{display:none}
}
@media(max-width:560px){
  .calendar-desktop-card{border-radius:22px!important;padding:10px!important}.calendar-desktop-card .toolbar{grid-template-columns:46px 1fr 46px!important;border-radius:20px!important;padding:6px!important}.calendar-desktop-card .toolbar button{width:42px!important;height:42px!important;min-height:42px!important;border-radius:15px!important}#calTitle{font-size:.92rem;text-align:center}.studio-scheduler-top{border-radius:22px!important}.scheduler-date-block strong{font-size:1.45rem!important}.app-modern-shell .calendar-fab{width:54px;height:54px;padding:0!important;justify-content:center;border-radius:18px}.app-modern-shell .calendar-fab::before{content:'+';font-size:1.6rem}.app-modern-shell .calendar-fab{font-size:0!important}
}

/* v1.98.3 – Terminbuch stärker modernisiert: Mitarbeiterkalender + Termin-Modal */
.app-modern-shell .split:has(.staff-day-calendar),
.app-modern-shell .split:has(.calendar-desktop-card){
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.app-modern-shell .calendar-desktop-card{
  order:1;
  padding:22px!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfffb 100%)!important;
  box-shadow:0 24px 60px rgba(26,48,33,.12)!important;
}
.app-modern-shell .mobile-appointments-card{order:2}
.appointment-modal{
  display:none;
  position:fixed;
  z-index:1000;
  top:18px;
  right:18px;
  bottom:18px;
  width:min(720px,calc(100vw - 36px));
  overflow:auto;
  padding:24px!important;
  border-radius:30px!important;
  box-shadow:0 34px 90px rgba(16,24,40,.32)!important;
  background:rgba(255,255,255,.98)!important;
  backdrop-filter:blur(16px);
}
.appointment-modal:target,
.appointment-modal[data-editing="1"]{display:block!important}
.appointment-modal::before{
  content:'';
  position:fixed;
  inset:0;
  transform:translateX(-100vw);
  width:100vw;
  background:rgba(15,23,42,.22);
  pointer-events:none;
}
.appointment-modal .appointment-form-toggle{position:relative;border:0!important;background:transparent!important}
.appointment-modal .appointment-form-toggle>summary{
  font-size:1.45rem;
  font-weight:900;
  margin-bottom:14px;
  padding-right:54px;
  color:#172033;
}
.appointment-modal-close{
  position:sticky;
  float:right;
  top:0;
  z-index:2;
  margin-top:-54px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#f3f6f1;
  color:#172033!important;
  font-size:28px;
  font-weight:700;
  text-decoration:none!important;
  border:1px solid rgba(23,32,51,.08);
}
.appointment-modal-close:hover{background:#e8f4e5;text-decoration:none!important}
.appointment-modal .service-table-wrap{max-height:240px}
.appointment-modal .compact-service-table{min-width:620px}
.appointment-modal button,
.appointment-modal .button{min-height:46px}
.calendar-fab{
  box-shadow:0 20px 38px rgba(54,191,36,.28)!important;
}
.calendar-fab::after{content:'+';display:none}
.staff-day-calendar{
  border:0!important;
  border-radius:28px!important;
  background:#f8fbff!important;
  overflow:auto!important;
  box-shadow:inset 0 0 0 1px rgba(18,114,195,.10);
}
.staff-cal-header,
.staff-cal-body{
  display:grid;
  grid-template-columns:76px repeat(var(--staff-count),minmax(260px,1fr));
  min-width:max(100%,calc(76px + var(--staff-count) * 280px));
}
.staff-cal-header{
  position:sticky;
  top:0;
  z-index:5;
  background:#fff;
  border-bottom:1px solid rgba(18,114,195,.16);
}
.staff-cal-timehead{
  border-right:1px solid rgba(18,114,195,.12)!important;
  background:#fbfdff!important;
}
.staff-cal-head{
  min-height:74px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:14px 18px;
  border-right:1px solid rgba(18,114,195,.10);
  background:linear-gradient(180deg,#fff,#f8fcff);
}
.staff-cal-head span{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#738099;
  font-weight:800;
}
.staff-cal-head strong{
  font-size:1.02rem;
  color:#172033;
}
.staff-cal-body{position:relative;background:#fff}
.staff-cal-times{
  position:relative;
  background:linear-gradient(180deg,#fbfdff,#f6f9fd);
  border-right:1px solid rgba(18,114,195,.12);
}
.staff-cal-time{
  height:67.2px;
  padding:8px 10px 0 0;
  text-align:right;
  color:#344054;
  font-size:.82rem;
  font-weight:800;
  border-bottom:1px solid rgba(18,114,195,.12);
}
.staff-cal-column{
  position:relative;
  background:linear-gradient(180deg,#fff,#fbfdff);
  border-right:1px solid rgba(18,114,195,.10);
  min-height:600px;
}
.staff-cal-column:nth-child(even){background:linear-gradient(180deg,#ffffff,#f9fcff)}
.staff-cal-column.drag-over{outline:3px solid rgba(54,191,36,.35);outline-offset:-4px;background:#f3fff1}
.staff-cal-hourline,.staff-cal-halfline{
  position:absolute;
  left:0;
  right:0;
  height:1px;
  pointer-events:none;
}
.staff-cal-hourline{background:rgba(18,114,195,.18)}
.staff-cal-halfline{background:rgba(18,114,195,.08);border-top:1px dashed rgba(18,114,195,.12)}
.staff-cal-event{
  position:absolute;
  left:10px;
  right:10px;
  border-radius:18px;
  border-left:6px solid var(--appt-color,#36bf24);
  background:linear-gradient(135deg,#ffffff,#f7fff6);
  color:#172033!important;
  padding:9px 12px;
  box-shadow:0 10px 24px rgba(23,32,51,.13);
  overflow:hidden;
  text-decoration:none!important;
  display:grid;
  align-content:start;
  gap:2px;
  z-index:3;
}
.staff-cal-event:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(23,32,51,.16);text-decoration:none!important}
.staff-cal-event strong{font-size:.86rem;color:#1272c3;font-weight:900}
.staff-cal-event b{font-size:.94rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-cal-event span{font-size:.78rem;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-cal-event.blocked,
.staff-cal-block{
  border-left-color:#9aa8b8;
  background:repeating-linear-gradient(135deg,#eef4f9 0,#eef4f9 10px,#e4edf5 10px,#e4edf5 20px);
  color:#344054!important;
  opacity:.88;
}
.staff-cal-event .event-delete{
  position:absolute;
  top:6px;
  right:7px;
  width:24px;
  height:24px;
  min-height:24px;
  border-radius:999px;
  padding:0;
  display:grid;
  place-items:center;
  background:rgba(15,23,42,.08);
  color:#172033;
}
.staff-cal-event .event-delete:hover{background:#fee2e2;color:#991b1b}
.calendar-help-strip{
  border-radius:18px!important;
  background:#f8fbf7!important;
  border:1px solid rgba(54,191,36,.14)!important;
}
.calendar-desktop-card .slot-finder{
  border:0!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#f4fff2,#f8fbff)!important;
  padding:14px!important;
  margin-bottom:12px!important;
}
.calendar-desktop-card .toolbar{
  box-shadow:none!important;
}
.calendar-desktop-card>h2::after{
  content:' nach Mitarbeiter';
  color:#667085;
  font-weight:600;
}
@media(max-width:980px){
  .appointment-modal{inset:8px;width:auto;border-radius:24px!important;padding:18px!important}
  .staff-day-calendar{display:none!important}
  .calendar-desktop-card .slot-finder{display:none!important}
  .calendar-desktop-card{display:none!important}
}
@media(max-width:640px){
  .appointment-modal{inset:0;border-radius:0!important;width:100vw;max-width:none;padding:16px!important}
  .appointment-modal .compact-service-table{min-width:560px}
}


/* Version 1.98.4: Terminbuch UI-Feinschliff, Mitarbeiter aus Benutzern, mobile Tabellenkarten */
:root{
  --ui-gap-1:6px;
  --ui-gap-2:10px;
  --ui-gap-3:14px;
  --ui-gap-4:18px;
  --ui-radius-sm:12px;
  --ui-radius:18px;
  --ui-radius-lg:26px;
  --ui-shadow:0 16px 44px rgba(26,50,29,.10);
  --ui-shadow-soft:0 8px 22px rgba(26,50,29,.07);
}
.app-modern-shell .wrap,
.app-modern-shell .app-content{line-height:1.45;}
.app-modern-shell .card{margin-bottom:var(--ui-gap-4);}
.app-modern-shell h1{letter-spacing:-.04em;margin-bottom:var(--ui-gap-4);}
.app-modern-shell h2{letter-spacing:-.025em;}
.app-modern-shell .section-head.compact-head{align-items:center;margin-bottom:var(--ui-gap-3);}
.app-modern-shell .section-head.compact-head h2{margin:0 0 2px;}

/* Terminbuch: Hauptansicht aufräumen */
.app-modern-shell .studio-scheduler-shell{gap:var(--ui-gap-4);}
.app-modern-shell .studio-scheduler-top{
  border:1px solid rgba(218,230,213,.95)!important;
  border-radius:var(--ui-radius-lg)!important;
  padding:18px 20px!important;
  box-shadow:var(--ui-shadow-soft)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f7fff5 100%)!important;
}
.app-modern-shell .scheduler-date-block strong{font-weight:950;color:#18251c;}
.app-modern-shell .scheduler-date-block small{font-size:.88rem;}
.app-modern-shell .scheduler-controls .button{white-space:nowrap;}

/* Mitarbeiter-Karten */
.app-modern-shell .studio-staff-board{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.app-modern-shell .studio-staff-board>.section-head{
  background:#fff;
  border:1px solid rgba(218,230,213,.9);
  border-radius:22px;
  padding:16px 18px;
  box-shadow:var(--ui-shadow-soft);
  margin-bottom:14px;
}
.app-modern-shell .staff-board-scroll{padding:2px 2px 12px;}
.app-modern-shell .staff-board-grid{gap:16px!important;grid-template-columns:repeat(var(--staff-count),minmax(285px,1fr))!important;}
.app-modern-shell .staff-column{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbf8 100%)!important;
  border:1px solid rgba(218,230,213,.95)!important;
  border-radius:26px!important;
  padding:16px!important;
  box-shadow:var(--ui-shadow-soft);
}
.app-modern-shell .staff-column header{
  background:#f3f8ef;
  border:1px solid #e0ecd9;
  border-radius:18px;
  padding:10px 12px;
}
.app-modern-shell .staff-column header strong{font-size:1.05rem;color:#17251b;}
.app-modern-shell .staff-column header span{background:#fff;color:#59705b;border:1px solid #dfe9dc;}
.app-modern-shell .staff-empty{
  min-height:190px;
  border:1px dashed #cbd8c6;
  background:repeating-linear-gradient(135deg,#fff 0,#fff 14px,#f8fbf8 14px,#f8fbf8 28px);
  border-radius:22px;
}
.app-modern-shell .staff-empty span{font-weight:900;color:#718070;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;}
.app-modern-shell .staff-appointment,
.app-modern-shell .studio-mobile-appointment{
  border-radius:20px!important;
  border:1px solid rgba(218,230,213,.95)!important;
  border-left:7px solid var(--appt-color,var(--tenant-color,#36bf24))!important;
  box-shadow:0 12px 26px rgba(29,52,31,.08)!important;
  transition:transform .16s ease, box-shadow .16s ease;
}
.app-modern-shell .staff-appointment:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(29,52,31,.12)!important;}
.app-modern-shell .staff-appt-head strong{font-size:.98rem;color:#18251c;}
.app-modern-shell .staff-appt-head span,
.app-modern-shell .staff-appt-meta span{background:#eef7ed;border:1px solid #dcebd8;color:#245d20;font-weight:800;}
.app-modern-shell .staff-appt-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.app-modern-shell .staff-appt-actions .button{margin:0;text-align:center;}

/* Kalenderbereich im Terminbuch schlanker */
.app-modern-shell .calendar-desktop-card{
  margin-top:0!important;
  border-radius:28px!important;
  box-shadow:var(--ui-shadow)!important;
}
.app-modern-shell .calendar-desktop-card .slot-finder{
  display:grid!important;
  grid-template-columns:auto auto 1fr;
  gap:12px;
  align-items:end;
  padding:14px 16px!important;
  background:linear-gradient(135deg,#f8fff6,#ffffff)!important;
  border:1px solid #d9ead4!important;
  border-radius:22px!important;
}
.app-modern-shell .calendar-desktop-card .slot-finder .subline{align-self:center;}
.app-modern-shell .staff-day-calendar{
  border-radius:22px!important;
  overflow:auto;
  border:1px solid #dfe9f2!important;
  background:#fff!important;
}
.app-modern-shell .staff-cal-head{background:#f7fafc!important;}
.app-modern-shell .staff-cal-head strong{font-size:.98rem;}
.app-modern-shell .staff-cal-event{border-radius:16px!important;box-shadow:0 10px 22px rgba(26,49,52,.12)!important;}

/* Terminfenster: mehr Dialog, weniger Tabelle */
.app-modern-shell .appointment-modal{
  max-width:min(720px,calc(100vw - 24px));
  border-radius:28px!important;
}
.app-modern-shell .appointment-form-toggle summary{
  display:flex;
  align-items:center;
  gap:10px;
  padding:4px 40px 12px 0;
  color:#18251c!important;
  font-size:1.25rem!important;
}
.app-modern-shell .appointment-form-toggle summary::before{content:'+';display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--tenant-color,#36bf24);color:#fff;font-weight:950;}
.app-modern-shell .appointment-modal-close{top:16px!important;right:16px!important;}
.app-modern-shell .appointment-card .formgrid.single{gap:14px;}
.app-modern-shell .servicebox{
  background:#fbfdf9;
  border-color:#dfead9!important;
  border-radius:20px!important;
}
.app-modern-shell .servicebox summary{color:#1d4d19!important;font-size:1rem!important;}
.app-modern-shell .service-table-wrap{border-radius:18px!important;border-color:#dfead9!important;}
.app-modern-shell .compact-service-table th{position:sticky;top:0;z-index:2;background:#eff7eb!important;}
.app-modern-shell .compact-service-table td{vertical-align:middle;}
.app-modern-shell .compact-service-table tr:has(input:checked) td{background:#f1ffed!important;}

/* Nächste Termine: Desktop-Tabelle luftiger und Aktionen gruppieren */
.appointments-next-card{overflow:hidden;}
.appointments-table-scroll{border:1px solid #e5eee0;border-radius:20px;background:#fff;}
.studio-next-table{font-size:.94rem;border-collapse:separate!important;border-spacing:0!important;}
.studio-next-table th{background:#f1f7ed!important;padding:13px 14px!important;}
.studio-next-table td{padding:14px!important;vertical-align:middle!important;}
.studio-next-table td:first-child{font-weight:800;color:#233423;white-space:nowrap;}
.studio-next-table td:nth-child(2) a{font-weight:850;}
.studio-next-table .compact-actions{gap:8px!important;align-items:center!important;}
.studio-next-table .compact-actions form{margin:0!important;}
.studio-next-table .compact-actions select{min-height:38px;max-width:210px;}
.studio-next-table .compact-actions .button,
.studio-next-table .compact-actions button{margin:0!important;}
.studio-next-table .dangerlink{display:inline-flex;align-items:center;min-height:38px;padding:0 8px;}

/* Generische Tabellen moderner und aufgeräumter */
.app-modern-shell .table-scroll{border-radius:18px;}
.app-modern-shell table:not(.compact-service-table):not(.studio-next-table) th,
.app-modern-shell table:not(.compact-service-table):not(.studio-next-table) td{padding:12px 13px;}
.app-modern-shell .actions.compact-actions,
.app-modern-shell .actions{gap:8px;}
.app-modern-shell .actions form{margin:0;}

@media(max-width:1180px){
  .app-modern-shell .staff-board-grid{grid-template-columns:repeat(var(--staff-count),minmax(260px,1fr))!important;}
  .app-modern-shell .calendar-desktop-card .slot-finder{grid-template-columns:1fr auto;}
  .app-modern-shell .calendar-desktop-card .slot-finder .subline{grid-column:1/-1;}
}
@media(max-width:980px){
  .app-modern-shell .studio-scheduler-top{padding:14px!important;border-radius:22px!important;}
  .app-modern-shell .studio-staff-board{display:none!important;}
  .app-modern-shell .calendar-desktop-card{display:none!important;}
  .app-modern-shell .appointment-modal:not(:target):not(:has([data-editing="1"])) {display:none;}
  .app-modern-shell .appointment-modal:target,
  .app-modern-shell .appointment-modal:has([data-editing="1"]){display:block;}
  .app-modern-shell .appointment-modal{max-width:100%;}
  .app-modern-shell .studio-mobile-appointment{grid-template-columns:58px 1fr;}
  .app-modern-shell .studio-appt-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;}
  .app-modern-shell .mobile-appointments-card{display:block!important;}
}
@media(max-width:760px){
  .app-modern-shell .section-head.compact-head{display:grid;gap:8px;}
  .appointments-next-card .section-head .button{width:100%;text-align:center;}
  .appointments-table-scroll{border:0;background:transparent;overflow:visible;}
  .studio-next-table,
  .studio-next-table tbody,
  .studio-next-table tr,
  .studio-next-table td{display:block;width:100%;}
  .studio-next-table thead,
  .studio-next-table th{display:none!important;}
  .studio-next-table tr{background:#fff;border:1px solid #e5eee0;border-radius:20px;margin:0 0 12px;box-shadow:0 10px 22px rgba(24,58,27,.07);overflow:hidden;}
  .studio-next-table td{border:0!important;padding:8px 14px!important;white-space:normal!important;}
  .studio-next-table td:nth-child(1){padding-top:14px!important;font-size:.95rem;}
  .studio-next-table td:nth-child(1)::before{content:'Termin';display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#718070;margin-bottom:2px;}
  .studio-next-table td:nth-child(2)::before{content:'Kunde';display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#718070;margin-bottom:2px;}
  .studio-next-table td:nth-child(3)::before{content:'Leistung';display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#718070;margin-bottom:2px;}
  .studio-next-table td:nth-child(4)::before{content:'Dauer';display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#718070;margin-right:8px;}
  .studio-next-table td:nth-child(5){padding-bottom:10px!important;}
  .studio-next-table td:nth-child(5)::before{content:'Status';display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#718070;margin-right:8px;}
  .studio-next-table td:nth-child(6){background:#f8fbf6;border-top:1px solid #e5eee0!important;padding:12px!important;}
  .studio-next-table .compact-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;}
  .studio-next-table .compact-actions .button,
  .studio-next-table .compact-actions button,
  .studio-next-table .compact-actions select{width:100%;max-width:none;text-align:center;}
  .studio-next-table .inline-transfer-form{display:grid;grid-column:1/-1;grid-template-columns:1fr auto;gap:8px;}
  .studio-next-table .dangerlink{justify-content:center;grid-column:1/-1;background:#fff;border:1px solid #f1c4c4;border-radius:14px;}
}
@media(max-width:560px){
  .app-modern-shell .studio-scheduler-top{gap:10px!important;}
  .app-modern-shell .scheduler-controls{grid-template-columns:1fr 1fr!important;}
  .app-modern-shell .scheduler-date-jump{grid-template-columns:1fr!important;}
  .app-modern-shell .scheduler-date-jump .button{width:100%;text-align:center;}
  .app-modern-shell .studio-mobile-appointment{grid-template-columns:1fr;gap:8px;}
  .app-modern-shell .studio-appt-time{display:flex;align-items:center;gap:8px;}
  .app-modern-shell .studio-appt-actions{grid-template-columns:1fr;}
  .studio-next-table .compact-actions{grid-template-columns:1fr!important;}
  .studio-next-table .inline-transfer-form{grid-template-columns:1fr!important;}
  .app-modern-shell .compact-service-table,
  .app-modern-shell .compact-service-table tbody,
  .app-modern-shell .compact-service-table tr,
  .app-modern-shell .compact-service-table td{display:block;width:100%;}
  .app-modern-shell .compact-service-table th{display:none!important;}
  .app-modern-shell .compact-service-table tr{position:relative;border:1px solid #e2ecd9;border-radius:16px;margin:0 0 8px;padding:8px 8px 8px 44px;background:#fff;}
  .app-modern-shell .compact-service-table td{border:0!important;padding:3px 4px!important;}
  .app-modern-shell .compact-service-table td:first-child{position:absolute;left:10px;top:12px;width:auto!important;}
  .app-modern-shell .compact-service-table td:nth-child(2){max-width:90px;}
  .app-modern-shell .compact-service-table td:nth-child(4),
  .app-modern-shell .compact-service-table td:nth-child(5){font-weight:850;}
  .app-modern-shell .compact-service-table td:nth-child(6),
  .app-modern-shell .compact-service-table td:nth-child(7){display:inline-block;width:auto;margin-right:10px;color:#647062;}
}


/* V1.98.6 – einheitlicheres UI, Wochenkalender, Kunden-Kacheln */
.app-topbar.top{
  background:linear-gradient(135deg, color-mix(in srgb, var(--tenant-color, #36bf24) 92%, #0f3d12), color-mix(in srgb, var(--tenant-color, #36bf24) 70%, #0b2b0e))!important;
  color:#fff!important;
  border-bottom:0!important;
  box-shadow:0 16px 40px rgba(19,58,20,.18)!important;
}
.app-topbar .brand, .app-topbar .app-brand, .app-topbar .app-brand strong, .app-topbar .app-brand span, .app-topbar .app-brand small{color:#fff!important;}
.app-topbar .app-brand img,.app-sidebar-brand img,.portal-brand img{background:linear-gradient(135deg,#fff,#eef7ea)!important;border:1px solid rgba(255,255,255,.58);box-shadow:0 8px 24px rgba(0,0,0,.12);}
.app-topbar .app-search input{background:rgba(255,255,255,.94)!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.app-topbar .app-search button{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.35)!important;color:#fff!important;box-shadow:none!important;}
.app-topbar .app-quick-actions .button{background:#fff!important;color:#163516!important;border-color:rgba(255,255,255,.4)!important;box-shadow:0 10px 22px rgba(0,0,0,.12)!important;}
.app-topbar .app-quick-actions .button:not(.ghost){background:#eaffdf!important;}
.app-content.wrap{background:linear-gradient(180deg,#f7faf3 0%,#f2f6ef 100%)}
.card{border-color:#dde9d5!important;box-shadow:0 14px 34px rgba(32,62,31,.08)!important;}

/* Wochenkalender übersichtlicher */
.calendar-desktop-card{padding:18px!important;overflow:hidden;}
.calendar-desktop-card>h2{margin-bottom:10px;font-size:1.35rem;}
.calendar-grid-v17{border-radius:26px!important;overflow:auto!important;background:#fff!important;border:1px solid #dce8d6!important;box-shadow:0 14px 34px rgba(24,58,27,.07)!important;}
.cal-v17-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #dce8d6;}
.modern-dayhead{min-height:74px!important;background:linear-gradient(180deg,#fff,#f8fbf6)!important;border-left:1px solid #edf3e8!important;}
.modern-dayhead.is-today{background:linear-gradient(180deg,#ddf3ff,#f4fbff)!important;color:#075e9f!important;box-shadow:inset 0 -3px 0 #66c7ff;}
.modern-calendar-day{background:linear-gradient(180deg,#fff,#fbfdf9)!important;border-left:1px solid #edf3e8!important;min-width:185px;}
.modern-calendar-day.is-weekend{background:linear-gradient(180deg,#f2f5f0,#eef4ec)!important;}
.cal-v17-time{font-weight:900;color:#26364a!important;background:#fbfdf9!important;}
.cal-v17-event{border-radius:14px!important;padding:8px 10px!important;box-shadow:0 10px 20px rgba(26,66,24,.14)!important;border:1px solid rgba(255,255,255,.45)!important;line-height:1.18!important;}
.cal-v17-event strong{display:block;font-size:.82rem;letter-spacing:.01em}.cal-v17-event span{display:block;font-size:.78rem;opacity:.95;margin-top:2px}.cal-v17-event small{display:block;font-size:.68rem;margin-top:2px;opacity:.82}
.calendar-help-strip{border-radius:18px!important;background:#f7fbf4!important;border:1px solid #ddebd4!important;}

/* Kunden und Kundenakte als gut lesbare Kacheln */
.customer-touch-grid,.customer-contact-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))!important;gap:16px!important;}
.customer-touch-card,.customer-contact-card{padding:18px!important;background:linear-gradient(135deg,#fff,#fbfdf8)!important;display:flex!important;flex-direction:column!important;gap:14px!important;min-height:150px;}
.customer-touch-main,.customer-contact-card>div:first-child{display:flex;gap:14px;align-items:flex-start;}
.customer-touch-card strong,.customer-contact-card strong{font-size:1.08rem;color:#172517!important;}
.customer-touch-card small,.customer-contact-card span,.customer-contact-card small{line-height:1.45;}
.customer-touch-actions,.tablet-card-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:auto;}
.customer-touch-actions .button,.customer-contact-card .button,.tablet-card-actions .button{flex:1 1 120px;justify-content:center;}
.customer-form-toggle form.formgrid label{background:#fff;border:1px solid #e3eddd;border-radius:18px;padding:12px;box-shadow:0 6px 14px rgba(24,58,27,.04)}
.customer-form-toggle form.formgrid label input,.customer-form-toggle form.formgrid label select,.customer-form-toggle form.formgrid label textarea{margin-top:7px;}

/* Tabellen ruhiger und mobil lesbarer */
.table-scroll{border-radius:20px;border:1px solid #e3eddd;background:#fff;}
.app-modern-shell table th{background:#f2f8ee!important;color:#283b28!important;letter-spacing:.04em;}
.app-modern-shell table td{border-bottom:1px solid #edf3e8!important;}
.studio-next-table tr:hover td{background:#fbfff8!important;}
.studio-next-table .compact-actions{display:flex!important;flex-wrap:wrap!important;}

@media (max-width: 880px){
  .calendar-desktop-card{display:none!important;}
  .mobile-appointments-card{display:block!important;}
  .customer-touch-grid,.customer-contact-list{grid-template-columns:1fr!important;gap:12px!important;}
  .customer-touch-card,.customer-contact-card{border-radius:20px!important;padding:15px!important;min-height:0;}
  .customer-touch-main,.customer-contact-card>div:first-child{display:block;}
  .customer-avatar{margin-bottom:8px;}
  .customer-touch-actions,.tablet-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}
  .customer-touch-actions .button,.customer-contact-card .button,.tablet-card-actions .button{width:100%;min-height:44px;}
  .app-topbar.top{border-radius:0 0 22px 22px!important;}
  .app-menu-open .app-search.global-search{display:grid!important;background:rgba(255,255,255,.12);border-radius:18px;padding:8px;}
}
@media (min-width: 881px){.mobile-appointments-card{display:none!important;}}
@media (max-width: 520px){
  .customer-touch-actions,.tablet-card-actions{grid-template-columns:1fr!important;}
  .app-content.wrap{padding-left:10px!important;padding-right:10px!important;}
  .card{border-radius:18px!important;}
}

/* v1.98.7 Kundenkarten: kompakter, interaktiv, mobile Lesbarkeit */
.customer-compact-shell{padding:18px!important;}
.customer-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px!important;margin-top:12px;}
.customer-touch-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:10px!important;}
.customer-mini-card,.customer-touch-card.customer-mini-card{min-height:0!important;padding:10px 12px!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#fbfdf8)!important;border:1px solid rgba(20,60,20,.10)!important;box-shadow:0 5px 16px rgba(20,60,20,.055)!important;display:flex!important;flex-direction:column!important;gap:8px!important;cursor:pointer;overflow:hidden;}
.customer-mini-card:hover,.customer-touch-card.customer-mini-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(20,60,20,.11)!important;border-color:rgba(54,191,36,.42)!important;}
.customer-mini-top,.customer-touch-main{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;}
.customer-avatar.small,.customer-mini-card .customer-avatar,.customer-touch-card.customer-mini-card .customer-avatar{width:38px!important;height:38px!important;border-radius:13px!important;font-size:.88rem!important;flex:none;}
.customer-mini-card strong,.customer-touch-card.customer-mini-card strong{font-size:.98rem!important;line-height:1.15!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.customer-mini-card small,.customer-touch-card.customer-mini-card small{font-size:.8rem!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64748b;display:block;}
.customer-mini-tags,.customer-signal-row{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:2px!important;}
.customer-signal{font-size:.73rem!important;padding:.28rem .48rem!important;border-radius:999px!important;line-height:1.1!important;}
.customer-touch-actions{display:none!important;}
.customer-contact-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:10px!important;}
.customer-contact-card{min-height:0!important;padding:10px 12px!important;border-radius:16px!important;overflow:hidden!important;}
.customer-contact-card .tablet-card-actions{display:none!important;}
.customer-contact-card strong{font-size:.98rem!important;line-height:1.15!important;}
.customer-contact-card span,.customer-contact-card small{font-size:.8rem!important;}
.customer-modal{width:min(720px,calc(100vw - 28px));border:0;border-radius:24px;padding:20px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.28);}
.customer-modal::backdrop{background:rgba(15,23,42,.42);backdrop-filter:blur(4px);}
.modal-close-form{position:absolute;right:14px;top:14px;margin:0;}
.iconbutton{width:38px;height:38px;border-radius:999px;border:1px solid var(--studio-border,#dce7d6);background:#fff;font-size:1.5rem;line-height:1;display:grid;place-items:center;cursor:pointer;}
.customer-modal-head{display:flex;align-items:center;gap:14px;margin:4px 44px 16px 0;}
.customer-modal-head h2{margin:0;font-size:1.35rem;}
.customer-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;}
.customer-modal-grid>div{border:1px solid var(--studio-border,#dce7d6);background:#f8fbf6;border-radius:16px;padding:12px;min-width:0;}
.customer-modal-grid span{display:block;color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.customer-modal-grid strong{display:block;font-size:.95rem;line-height:1.3;word-break:break-word;}
.customer-modal-grid .wide{grid-column:1/-1;}
.customer-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.customer-modal-actions .button{flex:1 1 160px;justify-content:center;}
.consent-modal{width:min(860px,calc(100vw - 24px));}
.consent-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;}
.consent-choice-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--studio-border,#dce7d6);border-radius:14px;padding:12px;background:#fbfdf8;font-weight:800;}
.signature-box{border:1px solid var(--studio-border,#dce7d6);border-radius:18px;background:#f8fbf6;padding:12px;margin:12px 0;}
.signature-box canvas{display:block;width:100%;height:180px;background:#fff;border:1px dashed #b7c6b2;border-radius:14px;touch-action:none;margin:10px 0;}
.consent-sign-form textarea{width:100%;border-radius:14px;border:1px solid var(--studio-border,#dce7d6);padding:10px;}
@media(max-width:780px){
  .customer-mini-grid,.customer-touch-grid,.customer-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .customer-mini-card,.customer-touch-card.customer-mini-card,.customer-contact-card{padding:9px!important;border-radius:14px!important;}
  .customer-mini-top,.customer-touch-main{grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important;}
  .customer-avatar.small,.customer-mini-card .customer-avatar,.customer-touch-card.customer-mini-card .customer-avatar{width:34px!important;height:34px!important;border-radius:12px!important;font-size:.78rem!important;}
  .customer-mini-card strong,.customer-touch-card.customer-mini-card strong{font-size:.9rem!important;}
  .customer-mini-card small,.customer-touch-card.customer-mini-card small{font-size:.74rem!important;}
  .customer-signal{font-size:.68rem!important;padding:.24rem .38rem!important;}
  .customer-modal{padding:16px;border-radius:20px;}
  .customer-modal-grid{grid-template-columns:1fr;}
  .customer-modal-actions{flex-direction:column;}
  .customer-modal-actions .button{width:100%;}
  .consent-choice-grid{grid-template-columns:1fr;}
  .signature-box canvas{height:160px;}
}
@media(max-width:420px){.customer-mini-grid,.customer-touch-grid,.customer-contact-list{grid-template-columns:1fr!important;}}


/* v1.98.8 Folgetermine ausgelagert + Datenschutz-Dokument */
.kpi-link{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;border-radius:18px;padding:10px 12px;transition:.18s ease;background:rgba(255,255,255,.55)}
.kpi-link:hover{background:#fff;box-shadow:0 12px 30px rgba(31,95,45,.12);transform:translateY(-1px)}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border-radius:999px;border:1px solid rgba(42,68,47,.16);background:#fff;color:#26372b;text-decoration:none;font-weight:800;font-size:.92rem;box-shadow:0 8px 22px rgba(31,95,45,.06)}
.filter-chip.active,.filter-chip:hover{background:#2fc51f;color:#fff;border-color:#2fc51f;box-shadow:0 14px 28px rgba(47,197,31,.20)}
.followup-worklist .section-head{align-items:flex-start}.followup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}.followup-card{border:1px solid rgba(42,68,47,.12);border-radius:22px;background:linear-gradient(145deg,#fff,#f8fff7);padding:16px;box-shadow:0 14px 34px rgba(31,95,45,.08);display:flex;flex-direction:column;gap:12px}.followup-card strong{font-size:1.05rem}.followup-card small{display:block;color:#64715f;margin-top:3px}.followup-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.followup-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#70806f;font-weight:900}.followup-card dd{margin:2px 0 0;color:#213425}.followup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.followup-inline-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(135deg,#fff9e8,#f6fff2);border-color:#ffe3a3}.followup-inline-alert span{color:#67735f}.privacy-consent-line{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fff5;border:1px solid rgba(47,197,31,.16);border-radius:16px;padding:10px 12px}.privacy-consent-line span{font-weight:800}.privacy-consent-line .button{margin-left:auto}.consent-choice-grid .privacy-consent-line{grid-column:1/-1}.followup-status-kpi strong{color:#179e12}
@media(max-width:720px){.filter-chips{display:grid;grid-template-columns:1fr 1fr}.filter-chip{font-size:.86rem;padding:8px 10px}.followup-grid{grid-template-columns:1fr}.followup-card dl{grid-template-columns:1fr}.privacy-consent-line{align-items:flex-start}.privacy-consent-line .button{width:100%;margin-left:0}.followup-inline-alert{align-items:stretch}.followup-inline-alert .button{width:100%}}

/* v1.98.9 – warmer öffentlicher Auftritt, Datenschutz-Modal, Buchung mit Bearbeiter, mobile Kundendialoge */
.public-portal.portal-warm{
  --portal-warm:#b86b35;
  --portal-cream:#fff7ed;
  --portal-card:rgba(255,255,255,.86);
  background:
    linear-gradient(120deg, rgba(255,247,237,.76), rgba(248,239,222,.68), rgba(234,247,231,.74)),
    url('portal-bg.svg') center/cover fixed no-repeat;
  color:#2a2118;
}
.public-portal.portal-warm .portal-header{
  background:rgba(255,250,244,.86);
  border:1px solid rgba(184,107,53,.18);
  box-shadow:0 18px 55px rgba(93,54,28,.16);
  backdrop-filter: blur(18px);
}
.public-portal.portal-warm .portal-main{padding-top:18px;}
.public-portal.portal-warm .portal-hero,
.public-portal.portal-warm .portal-section,
.public-portal.portal-warm .portal-service,
.public-portal.portal-warm .portal-confirm-card,
.public-portal.portal-warm .portal-contact-card{
  background:var(--portal-card);
  border-color:rgba(184,107,53,.16);
  box-shadow:0 24px 70px rgba(91,55,29,.13);
}
.public-portal.portal-warm .portal-hero{position:relative;overflow:hidden;}
.public-portal.portal-warm .portal-hero:before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 88% 15%, rgba(184,107,53,.18), transparent 34%), radial-gradient(circle at 14% 84%, rgba(54,191,36,.12), transparent 36%);
}
.public-portal.portal-warm .portal-hero>*{position:relative;}
.public-portal.portal-warm .button,
.public-portal.portal-warm button:not(.portal-menu-toggle):not([data-chat-close]):not(.iconbutton){
  border-radius:18px;
}
.public-portal.portal-warm .portal-nav-primary,
.public-portal.portal-warm .button:not(.ghost){
  background:linear-gradient(135deg,#b86b35,#36bf24);
  box-shadow:0 14px 34px rgba(184,107,53,.24);
}
.privacy-document-dialog,
.customer-modal{
  border:0;
  border-radius:26px;
  width:min(760px, calc(100vw - 32px));
  max-height:min(82vh, 760px);
  padding:26px;
  box-shadow:0 30px 90px rgba(16,24,40,.28);
}
.privacy-document-dialog::backdrop,
.customer-modal::backdrop{background:rgba(20,26,20,.48);backdrop-filter:blur(8px);}
.privacy-document-body{max-height:58vh;overflow:auto;padding:12px 4px 0;line-height:1.65;}
.privacy-document-actions{display:flex;justify-content:flex-end;margin-top:18px;}
.linkbutton.inline{display:inline;border:0;background:none;color:#15803d;padding:0 2px;text-decoration:underline;font-weight:800;box-shadow:none;}
.privacy-consent-line .button{white-space:nowrap;}
.portal-booking-modern{max-width:1040px;}
.portal-booking-filter{grid-template-columns:1.5fr 1fr .8fr auto;align-items:end;}
.portal-slot-grid-modern{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.portal-slot-grid-modern .portal-slot{border-radius:20px;transition:.18s ease;}
.portal-slot-grid-modern .portal-slot:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(93,64,35,.13);}
.portal-slot-grid-modern .portal-slot em{display:block;margin-top:8px;font-style:normal;color:#7a4b25;font-weight:800;}
.customer-modal{z-index:99999;}
.customer-modal .modal-close-form{position:absolute;right:14px;top:12px;margin:0;}
.customer-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;}
.customer-modal-grid>div{padding:12px;border-radius:16px;background:#f8fbf4;border:1px solid rgba(54,191,36,.13);}
.customer-modal-grid span{display:block;font-size:.78rem;color:#667085;text-transform:uppercase;letter-spacing:.04em;font-weight:800;margin-bottom:4px;}
.customer-modal-grid .wide{grid-column:1/-1;}
.customer-modal-actions{display:flex;flex-wrap:wrap;gap:10px;}
.consent-modal .consent-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;}
.signature-box canvas{width:100%;height:180px;border-radius:18px;background:#fff;border:1px dashed #b9c9b7;touch-action:none;}
@media(max-width:760px){
  .public-portal.portal-warm .portal-header{margin:10px;border-radius:22px;}
  .portal-booking-filter{grid-template-columns:1fr;}
  .privacy-document-dialog,.customer-modal{width:calc(100vw - 18px);max-height:92vh;border-radius:22px;padding:18px;}
  .privacy-document-body{max-height:62vh;}
  .customer-modal-grid{grid-template-columns:1fr;}
  .customer-modal-actions .button{width:100%;justify-content:center;}
  .consent-modal .consent-choice-grid{grid-template-columns:1fr;}
  .signature-box canvas{height:150px;}
  dialog.customer-modal[open], dialog.privacy-document-dialog[open]{display:block;}
}

/* V1.90.1 Datenschutzmodul + einheitliches Kundenportal */
.portal-unified-design{background:#f7efe8;background-image:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,248,241,.86)),var(--portal-bg-image, url('portal-bg.svg'));background-size:cover;background-attachment:fixed;background-position:center;color:#2c211c}.portal-unified-design .portal-header{background:rgba(255,250,246,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(120,76,48,.14)}.portal-unified-design .portal-brand img{display:none!important}.portal-unified-design .portal-brand span{font-size:1.08rem;font-weight:900;letter-spacing:.02em}.portal-unified-design .portal-hero,.portal-unified-design .portal-card,.portal-unified-design .card{box-shadow:0 18px 45px rgba(97,62,41,.11);border-color:rgba(120,76,48,.16)}
.privacy-interactive-card{max-width:980px;margin-inline:auto}.privacy-form h2{margin:.5rem 0 0}.privacy-retention-note{border:1px solid #ead7c2;background:#fff8ef;border-radius:14px;padding:14px;line-height:1.45}.signature-pad{width:100%;height:180px;border:2px dashed #cba889;border-radius:16px;background:#fff;touch-action:none;display:block}.privacy-status-card{border-left:6px solid var(--brand,#b87952)}.privacy-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.privacy-status-grid span{background:#fffaf5;border:1px solid #ead7c2;border-radius:12px;padding:10px}.privacy-status-grid strong{display:block;margin-top:3px}.badge.green,.badge.success{background:#dcfce7;color:#166534}.badge.yellow,.badge.pending_deletion{background:#fef3c7;color:#92400e}.badge.red,.badge.deletion_locked,.badge.deleted_anonymized{background:#fee2e2;color:#991b1b}.button.danger,button.danger{background:#dc2626;border-color:#dc2626;color:#fff}.portal-footer .linkbutton{color:inherit}
@media(max-width:760px){.signature-pad{height:150px}.privacy-status-grid{grid-template-columns:1fr}.privacy-interactive-card{padding:14px}.portal-unified-design{background-attachment:scroll}}

/* V1.90.1 Fix: interaktives Datenschutzformular im Kundenfenster + robuste mobile Dialogansicht */
.privacy-full-consent-modal{max-width:min(920px,96vw);width:min(920px,96vw);max-height:92vh;overflow:auto;}
.privacy-full-consent-modal .privacy-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.privacy-full-consent-modal .wide{grid-column:1/-1;}
.privacy-full-consent-modal .signature-pad,#signatureCanvas{width:100%;max-width:100%;height:180px;border:1px solid var(--studio-border,#ddd);border-radius:14px;background:#fff;touch-action:none;}
@media (max-width:700px){
  .customer-modal,.privacy-full-consent-modal{width:96vw!important;max-width:96vw!important;max-height:90vh!important;padding:16px!important;}
  .privacy-full-consent-modal .privacy-form{grid-template-columns:1fr;}
  .privacy-full-consent-modal h2{font-size:1.25rem;}
  .customer-modal-actions{display:grid!important;grid-template-columns:1fr!important;}
}

/* v1.90.1b – kompakter Datenschutzdialog + robuste Smartphone-Dialoge */
.customer-modal[open], .privacy-document-dialog[open]{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
}
.privacy-full-consent-modal{
  width:min(860px,94vw)!important;
  max-width:94vw!important;
  max-height:min(92dvh,760px)!important;
  padding:20px!important;
  border-radius:24px!important;
}
.privacy-full-consent-modal h2{font-size:1.25rem;margin:0 38px 8px 0;line-height:1.2;}
.privacy-full-consent-modal .subline{font-size:.88rem;line-height:1.45;margin:0 0 12px;}
.privacy-full-consent-modal .privacy-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-items:stretch!important;}
.privacy-full-consent-modal .privacy-form h3{
  margin:10px 0 2px!important;
  padding:8px 10px;
  border-radius:14px;
  background:#f5fbf2;
  border:1px solid #dcefd6;
  font-size:1rem;
  line-height:1.2;
}
.privacy-full-consent-modal .privacy-form label.wide:not(.checkboxline){
  display:grid!important;
  gap:5px!important;
  font-size:.9rem!important;
}
.privacy-full-consent-modal .privacy-retention-note{
  padding:10px 12px!important;
  border-radius:14px!important;
  font-size:.9rem!important;
  line-height:1.45!important;
  margin:2px 0!important;
}
.privacy-full-consent-modal label.checkboxline,
.privacy-full-consent-modal .privacy-consent-line{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  min-height:48px!important;
  border:1px solid #dcefd6!important;
  background:#fbfff8!important;
  border-radius:15px!important;
  box-shadow:none!important;
  font-size:.92rem!important;
  line-height:1.3!important;
}
.privacy-full-consent-modal label.checkboxline input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  accent-color:var(--red,#36bf24);
}
.privacy-full-consent-modal label.checkboxline span,
.privacy-full-consent-modal .privacy-consent-line span{font-weight:850!important;}
.privacy-full-consent-modal .privacy-consent-line .button{
  margin:0!important;
  width:auto!important;
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:.78rem!important;
  border-radius:11px!important;
}
.privacy-full-consent-modal textarea{min-height:66px!important;}
.privacy-full-consent-modal .signature-box{
  margin:4px 0 0!important;
  padding:10px!important;
  border-radius:16px!important;
}
.privacy-full-consent-modal .signature-box canvas,
.privacy-full-consent-modal .signature-pad,
#signatureCanvas{height:138px!important;}
.privacy-full-consent-modal form>button.button:last-child{
  position:sticky;
  bottom:0;
  z-index:2;
  width:100%;
  min-height:46px;
  box-shadow:0 -8px 24px rgba(255,255,255,.92),0 10px 24px rgba(54,191,36,.18);
}
@media(max-width:600px){
  .customer-modal[open], .privacy-document-dialog[open]{
    top:max(8px,env(safe-area-inset-top))!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    height:auto!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  .privacy-full-consent-modal{width:auto!important;max-width:none!important;}
  .privacy-full-consent-modal h2{font-size:1.08rem;margin-right:42px;}
  .privacy-full-consent-modal .subline{font-size:.82rem;}
  .privacy-full-consent-modal .privacy-retention-note{font-size:.82rem!important;padding:9px 10px!important;}
  .privacy-full-consent-modal label.checkboxline,
  .privacy-full-consent-modal .privacy-consent-line{
    grid-template-columns:24px 1fr!important;
    gap:8px!important;
    padding:9px 10px!important;
    min-height:44px!important;
    font-size:.86rem!important;
  }
  .privacy-full-consent-modal .privacy-consent-line .button{grid-column:1/-1;width:100%!important;justify-content:center;text-align:center;}
  .privacy-full-consent-modal .privacy-form h3{font-size:.94rem;padding:7px 9px;}
  .privacy-full-consent-modal .signature-box canvas,
  .privacy-full-consent-modal .signature-pad,
  #signatureCanvas{height:118px!important;}
  .customer-modal-grid{gap:8px!important;margin:12px 0!important;}
  .customer-modal-grid>div{padding:10px!important;border-radius:14px!important;}
  .customer-modal-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .customer-modal-actions .button{width:100%!important;text-align:center;}
}

/* V1.90.2 Portal-Design + Shop Feinschliff */
.public-portal.portal-unified-design{
  --portal-text:#30251f;
  --portal-muted:#76675c;
  --portal-line:rgba(126,83,50,.15);
  --portal-card:rgba(255,255,255,.91);
  --portal-card-solid:#fffdf9;
  --portal-radius:28px;
  background:#f4eadf;
  background-image:radial-gradient(circle at 15% 10%,rgba(255,255,255,.96),rgba(255,255,255,0) 34%),linear-gradient(135deg,rgba(255,250,244,.86),rgba(242,229,214,.80)),var(--portal-bg-image,url('portal-bg.svg'));
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  color:var(--portal-text);
}
.public-portal .portal-header{
  width:min(1124px,calc(100% - 32px));
  margin:18px auto 0;
  padding:10px 12px;
  border:1px solid var(--portal-line)!important;
  border-radius:24px;
  background:rgba(255,253,249,.88)!important;
  box-shadow:0 18px 50px rgba(87,59,36,.11);
  justify-content:center;
}
.public-portal .portal-brand-empty{display:none!important;width:0!important;min-width:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
.public-portal .portal-nav{justify-content:center;gap:8px}
.public-portal .portal-nav a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px!important;
  color:#47382f;
  background:transparent!important;
  border:1px solid transparent!important;
  font-size:.94rem;
}
.public-portal .portal-nav a:hover{background:#fff7ef!important;border-color:var(--portal-line)!important}
.public-portal .portal-nav-primary{background:linear-gradient(135deg,var(--tenant-color,#36bf24),#a56b35)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(116,79,48,.18)}
.public-portal .portal-main{max-width:1124px;padding:22px 16px 54px}
.public-portal .portal-hero,
.public-portal .portal-section{
  background:var(--portal-card)!important;
  border:1px solid var(--portal-line)!important;
  border-radius:var(--portal-radius)!important;
  box-shadow:0 22px 65px rgba(94,64,39,.12)!important;
  margin:20px 0!important;
  padding:clamp(18px,3vw,30px)!important;
  overflow:hidden;
}
.public-portal .portal-hero{min-height:0!important;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)!important;gap:22px!important}
.public-portal .portal-hero h1{font-size:clamp(2rem,4.5vw,4rem)!important;letter-spacing:-.04em;margin:.16em 0 .28em!important}
.public-portal .portal-hero p,.public-portal .portal-lead,.public-portal .portal-section>p{color:var(--portal-muted);line-height:1.58}
.public-portal .portal-kicker{background:#fff2e3!important;color:#8b542b!important;border:1px solid rgba(139,84,43,.12)}
.public-portal .portal-grid{gap:18px!important}
.public-portal .portal-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.public-portal .portal-tile,.public-portal .portal-service,.public-portal .portal-hero-card,.public-portal .portal-placeholder,.public-portal .portal-contact-card,.public-portal .portal-form,.public-portal .portal-content,.public-portal .portal-price-table,.public-portal .portal-confirm-card,.public-portal .portal-shop-product{
  background:var(--portal-card-solid)!important;
  border:1px solid rgba(126,83,50,.13)!important;
  border-radius:24px!important;
  box-shadow:0 14px 38px rgba(94,64,39,.08)!important;
}
.public-portal .portal-service,.public-portal .portal-tile{padding:22px!important;display:flex;flex-direction:column;gap:8px}
.public-portal .portal-service h3,.public-portal .portal-tile h3{margin:.1rem 0 .25rem!important;font-size:1.16rem}
.public-portal .portal-service p,.public-portal .portal-tile p{margin:.1rem 0;color:#4d4038;line-height:1.55}
.public-portal .portal-service .button{align-self:flex-start;margin-top:auto}
.public-portal .portal-section-head{align-items:center;margin-bottom:18px!important}
.public-portal .button,.public-portal button:not(.portal-menu-toggle):not([data-chat-close]):not(.iconbutton):not(.linkbutton){border-radius:999px!important;font-weight:850}
.public-portal .button.ghost{background:#fff8ef!important;color:#8b542b!important;border:1px solid rgba(139,84,43,.18)!important}
.public-portal .portal-footer{
  width:min(1124px,calc(100% - 32px));
  margin:8px auto 18px;
  padding:14px 16px;
  border-radius:24px;
  background:rgba(45,35,28,.92)!important;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 18px 45px rgba(39,28,21,.18);
}
.public-portal .portal-footer-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.public-portal .portal-footer a,.public-portal .portal-footer .linkbutton{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff!important;text-decoration:none;font-weight:750}
.public-portal .portal-footer a:hover,.public-portal .portal-footer .linkbutton:hover{background:rgba(255,255,255,.18)}
.public-portal .portal-footer small{opacity:.78}
.public-portal .portal-chat-widget{right:24px!important;bottom:96px!important;z-index:95!important}
.portal-shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}.portal-shop-product{padding:18px;display:flex;flex-direction:column;gap:9px}.portal-shop-product img,.portal-shop-image-placeholder{width:100%;height:150px;border-radius:18px;object-fit:cover;background:linear-gradient(135deg,#fff2e3,#eef8ed);display:flex;align-items:center;justify-content:center;font-size:2.2rem}.portal-shop-product>span{align-self:flex-start;display:inline-flex;padding:5px 10px;border-radius:999px;background:#fff2e3;color:#8b542b;font-weight:850;font-size:.82rem}.portal-add-cart{display:grid;grid-template-columns:70px 1fr;gap:8px;margin-top:auto}.portal-add-cart input{border:1px solid rgba(126,83,50,.18);border-radius:999px;padding:9px 10px}.portal-cart-lines{display:grid;gap:10px}.portal-cart-lines label{display:grid!important;grid-template-columns:minmax(0,1fr) 92px auto;align-items:center;gap:10px;background:#fff8ef;border:1px solid rgba(126,83,50,.13);border-radius:18px;padding:10px 12px}.portal-cart-lines small{display:block;color:#7b6a5c;font-weight:500}.portal-cart-lines input{max-width:92px}.portal-cart-total{text-align:right;font-size:1.15rem}
@media(max-width:860px){
  .public-portal.portal-unified-design{background-attachment:scroll}
  .public-portal .portal-header{width:calc(100% - 20px);margin:10px auto 0;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;justify-content:stretch!important;border-radius:20px!important}
  .public-portal .portal-menu-toggle{display:inline-flex!important;justify-self:end!important;background:#fff8ef!important;border:1px solid var(--portal-line)!important;border-radius:16px!important;min-height:44px!important;color:#46372f!important}
  .public-portal .portal-nav{grid-column:1/-1!important;display:none!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;max-height:calc(100dvh - 94px)!important}
  .public-portal .portal-header.portal-menu-open .portal-nav{display:grid!important}
  .public-portal .portal-nav a{background:#fffdf9!important;border-color:var(--portal-line)!important;min-height:45px!important;border-radius:16px!important}
  .public-portal .portal-nav-primary{grid-column:1/-1!important;background:linear-gradient(135deg,var(--tenant-color,#36bf24),#a56b35)!important;color:#fff!important}
  .public-portal .portal-main{padding:14px 10px 34px!important}
  .public-portal .portal-hero{grid-template-columns:1fr!important;padding:20px!important}
  .public-portal .portal-grid.two{grid-template-columns:1fr!important}
  .public-portal .portal-section{margin:14px 0!important;padding:18px!important;border-radius:22px!important}
  .public-portal .portal-actions{display:grid!important;grid-template-columns:1fr!important}
  .public-portal .portal-actions .button{width:100%;min-height:46px}
  .public-portal .portal-footer{width:calc(100% - 20px);margin:8px auto 12px;display:grid;text-align:center;border-radius:20px;padding:12px}
  .public-portal .portal-footer-links{justify-content:center}.public-portal .portal-footer-links>*{flex:1 1 42%;justify-content:center}
  .public-portal .portal-chat-widget{right:14px!important;bottom:112px!important}.public-portal .portal-chat-panel{bottom:74px!important;max-height:calc(100dvh - 160px)!important}
  .portal-cart-lines label{grid-template-columns:1fr;align-items:stretch}.portal-add-cart{grid-template-columns:62px 1fr}
}
@media(max-width:520px){.public-portal .portal-section-head{display:grid!important;gap:10px}.portal-shop-grid{grid-template-columns:1fr}.public-portal .portal-footer-links>*{flex-basis:100%}.public-portal .portal-chat-fab b{display:none}.public-portal .portal-chat-widget{bottom:128px!important}.public-portal .portal-hero h1{font-size:1.85rem!important}}

/* v1.90.4 Shop-/Bild-/Zahlungsfix */
.catalog-product-preview{display:block;max-width:180px;max-height:120px;object-fit:cover;border-radius:14px;margin-top:8px;border:1px solid rgba(120,76,48,.18)}
.table-product-thumb{width:54px;height:42px;object-fit:cover;border-radius:10px;border:1px solid rgba(120,76,48,.16);background:#fff}
.portal-payment-options{display:grid;gap:10px;margin:6px 0 4px}
.portal-payment-options label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(120,76,48,.16);border-radius:16px;background:rgba(255,255,255,.72);font-weight:800}
.portal-payment-page .portal-confirm-card{margin-bottom:16px}.portal-paypal-box{margin:18px 0;padding:16px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(120,76,48,.14)}
.portal-shop-product img{aspect-ratio:4/3;object-fit:cover;background:#fff}
@media(max-width:700px){.table-product-thumb{width:46px;height:36px}.catalog-product-preview{max-width:100%;height:auto}.portal-payment-options label{padding:10px 12px}}


/* V1.90.5 Medienverwaltung und optimierte Shopbilder */
.portal-shop-product .portal-shop-image-button{width:100%;height:168px;border:0;padding:0;margin:0;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#fff2e3,#eef8ed);cursor:zoom-in;display:block;box-shadow:inset 0 0 0 1px rgba(126,83,50,.10)}
.portal-shop-product .portal-shop-image-button img{width:100%;height:100%;display:block;border-radius:0;background:#fff;transition:transform .18s ease, filter .18s ease}
.portal-shop-product .portal-shop-image-button:hover img{transform:scale(1.035);filter:saturate(1.04)}
.portal-shop-product img.fit-cover{object-fit:cover}.portal-shop-product img.fit-contain{object-fit:contain;padding:10px;background:#fff}
.portal-shop-image-placeholder{height:168px!important}
.portal-image-lightbox[hidden]{display:none!important}.portal-image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(35,25,18,.72);display:grid;place-items:center;padding:24px}.portal-image-lightbox img{max-width:min(92vw,980px);max-height:82vh;object-fit:contain;border-radius:24px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.35)}.portal-image-lightbox strong{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:rgba(255,255,255,.94);padding:10px 16px;border-radius:999px;box-shadow:0 12px 32px rgba(0,0,0,.18)}.portal-image-lightbox-close{position:fixed;right:22px;top:18px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;font-size:30px;line-height:1;cursor:pointer}.portal-lightbox-open{overflow:hidden}
.media-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;margin-top:14px}.media-library-item{border:1px solid rgba(120,76,48,.14);border-radius:18px;background:#fffdf9;padding:12px;display:grid;gap:7px}.media-library-item img,.media-library-item .portal-shop-image-placeholder{width:100%;height:118px;border-radius:14px;object-fit:cover;background:#fff}.media-library-item strong{font-size:.94rem}.media-library-item small{color:#75665b}.catalog-product-preview{background:#fff}.table-product-thumb{background:#fff}.table-product-thumb{object-fit:cover}
@media(max-width:760px){.portal-shop-product .portal-shop-image-button,.portal-shop-image-placeholder{height:145px!important}.portal-image-lightbox{padding:12px}.portal-image-lightbox img{max-width:96vw;max-height:78vh;border-radius:18px}.portal-image-lightbox-close{right:12px;top:12px}.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.media-library-item{padding:9px}.media-library-item img,.media-library-item .portal-shop-image-placeholder{height:96px}}
@media(max-width:420px){.media-library-grid{grid-template-columns:1fr}.portal-shop-product .portal-shop-image-button,.portal-shop-image-placeholder{height:132px!important}}


/* v1.90.6: CMS + bessere Shopbild-Maske */
.portal-shop-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.portal-shop-product{overflow:hidden}.portal-shop-product .portal-shop-image-button{height:178px!important;border-radius:22px!important;background:#fff!important;border:1px solid rgba(126,83,50,.10)!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}.portal-shop-product .portal-shop-image-button img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:0!important;background:#fff!important}.portal-shop-product img.fit-cover{object-fit:cover!important;padding:0!important}.portal-shop-product img.fit-contain{object-fit:contain!important;padding:6px!important;transform:scale(1.22);transform-origin:center}.portal-shop-product .portal-shop-image-button:hover img.fit-contain{transform:scale(1.3)}.portal-image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(22,18,14,.72);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:22px}.portal-image-lightbox[hidden]{display:none!important}.portal-image-lightbox img{max-width:min(94vw,980px);max-height:82vh;object-fit:contain;background:#fff;border-radius:24px;padding:12px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.portal-image-lightbox strong{color:#fff;font-size:1rem}.portal-image-lightbox-close{position:absolute;right:24px;top:24px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#222;font-size:1.8rem;line-height:1;cursor:pointer}.table-product-thumb{width:72px!important;height:54px!important;object-fit:contain!important;border-radius:10px;background:#fff;border:1px solid rgba(0,0,0,.08)}.portal-cms-section{margin-top:20px}.portal-cms-grid>.wide{grid-column:1/-1}.portal-cms-block{background:#fff;border:1px solid #e4eee0;border-radius:24px;padding:20px;box-shadow:0 16px 45px rgba(24,54,24,.08);display:grid;gap:14px;overflow:hidden}.portal-cms-wide,.portal-cms-notice{padding:24px}.portal-cms-notice{background:#fff8ef;border-color:#ead7be}.portal-cms-image_left,.portal-cms-image_right{grid-template-columns:220px 1fr;align-items:center}.portal-cms-image_right .portal-cms-image-button{order:2}.portal-cms-image-button{border:0;background:#fff;padding:0;border-radius:18px;overflow:hidden;cursor:zoom-in}.portal-cms-image-button img{display:block;width:100%;height:170px;object-fit:cover}.cms-inline-edit{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffaf8}@media(max-width:760px){.portal-shop-grid{grid-template-columns:1fr}.portal-shop-product .portal-shop-image-button{height:150px!important}.portal-shop-product img.fit-contain{transform:scale(1.16)}.portal-cms-image_left,.portal-cms-image_right{grid-template-columns:1fr}.portal-cms-image_right .portal-cms-image-button{order:0}.portal-cms-image-button img{height:150px}.portal-image-lightbox img{max-width:96vw;max-height:78vh;border-radius:18px}.portal-image-lightbox-close{right:12px;top:12px}}

/* v1.90.7 CMS Admin Fix */
.cms-editor-card .cms-block-form textarea{min-height:120px}.cms-admin-list{display:grid;gap:18px}.cms-admin-item{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft);padding:16px;display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:start}.cms-admin-preview{height:118px;border-radius:16px;background:#fff8ef;border:1px solid #ead7be;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);font-weight:700}.cms-admin-preview img{width:100%;height:100%;object-fit:cover}.cms-delete-form{grid-column:2;margin-top:-6px}.button.danger,.danger{background:#b84135!important;color:#fff!important;border-color:#b84135!important}@media(max-width:780px){.cms-admin-item{grid-template-columns:1fr}.cms-admin-preview{height:170px}.cms-delete-form{grid-column:1}.cms-block-form{grid-template-columns:1fr!important}}

/* v1.90.8 – vollständiges CMS und robustere Shopbild-Maske */
.cms-tabs{flex-wrap:wrap;gap:8px}.cms-start-card h3{margin:16px 0 4px}.cms-main-settings{align-items:start}.cms-main-settings .wide small{display:block;margin-top:4px;color:var(--muted)}.portal-intro-cms{margin-bottom:14px}.portal-intro-cms:empty{display:none}.cms-editor-card{margin-top:18px}.cms-block-form select,.cms-main-settings select{width:100%}
.portal-shop-product .portal-shop-image-button{height:170px!important;min-height:170px!important;max-height:170px!important;position:relative!important;overflow:hidden!important;background:#fff!important}.portal-shop-product .portal-shop-image-button img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-position:center!important}.portal-shop-product img.fit-cover{object-fit:cover!important;transform:none!important}.portal-shop-product img.fit-contain{object-fit:contain!important;transform:scale(1.55)!important;transform-origin:center!important;padding:0!important}.portal-shop-product .portal-shop-image-button:hover img.fit-contain{transform:scale(1.65)!important}.portal-shop-product .portal-meta{margin-top:auto}.portal-shop-product{min-height:0!important}.portal-image-lightbox img{object-fit:contain!important}
@media(max-width:760px){.portal-shop-product .portal-shop-image-button{height:142px!important;min-height:142px!important;max-height:142px!important}.portal-shop-product img.fit-contain{transform:scale(1.42)!important}.portal-shop-product .portal-shop-image-button:hover img.fit-contain{transform:scale(1.48)!important}.cms-main-settings,.cms-block-form{grid-template-columns:1fr!important}.cms-tabs .button{flex:1 1 auto}}

/* v1.90.9 CMS Kontakt, Menü, Shop-Rechnung */
.portal-contact-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);gap:clamp(16px,3vw,28px);align-items:start}.portal-contact-form{background:rgba(255,255,255,.82);border:1px solid rgba(160,120,80,.18);border-radius:22px;padding:clamp(16px,3vw,26px);box-shadow:0 18px 40px rgba(90,65,35,.08)}.portal-contact-card{border-radius:22px;border:1px solid rgba(160,120,80,.18);background:rgba(255,255,255,.78);padding:clamp(16px,3vw,24px)}.cms-tabs{gap:8px;flex-wrap:wrap}.cms-move-actions{margin:10px 0;gap:8px}.public-invoice-card{background:#fff;color:#111}.portal-nav a{white-space:nowrap}.table-scroll .inline-form input{min-width:120px}.table-scroll .inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.table-scroll .inline-action-form{display:inline-flex;margin:2px}
@media(max-width:760px){.portal-contact-grid{grid-template-columns:1fr}.portal-contact-form,.portal-contact-card{border-radius:18px;padding:16px}.portal-nav a{white-space:normal}.table-scroll .inline-form{display:grid;grid-template-columns:1fr}.cms-tabs .button{flex:1 1 auto}}

/* v1.91.1 – Shopbilder endgültig in fester Maske anzeigen
   Überschreibt ältere Bildregeln, die Produktbilder vergrößert oder abgeschnitten haben. */
.portal-shop-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.portal-shop-product{
  overflow:hidden!important;
}
.portal-shop-product .portal-shop-image-button,
.portal-shop-image-placeholder{
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  max-height:190px!important;
  padding:12px!important;
  margin:0!important;
  border-radius:18px!important;
  border:1px solid rgba(126,83,50,.12)!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-shadow:none!important;
  cursor:zoom-in!important;
}
.portal-shop-product .portal-shop-image-button img,
.portal-shop-product .portal-shop-image-button img.fit-cover,
.portal-shop-product .portal-shop-image-button img.fit-contain{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  padding:0!important;
  margin:auto!important;
  background:transparent!important;
  transform:none!important;
  transition:filter .18s ease!important;
}
.portal-shop-product .portal-shop-image-button:hover img,
.portal-shop-product .portal-shop-image-button:hover img.fit-cover,
.portal-shop-product .portal-shop-image-button:hover img.fit-contain{
  transform:none!important;
  filter:saturate(1.05) contrast(1.02)!important;
}
.portal-image-lightbox img{
  width:auto!important;
  height:auto!important;
  max-width:min(92vw,980px)!important;
  max-height:78vh!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:18px!important;
  padding:12px!important;
}
@media(max-width:900px){
  .portal-shop-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:14px!important}
  .portal-shop-product .portal-shop-image-button,.portal-shop-image-placeholder{height:170px!important;min-height:170px!important;max-height:170px!important;padding:10px!important}
}
@media(max-width:560px){
  .portal-shop-grid{grid-template-columns:1fr!important}
  .portal-shop-product .portal-shop-image-button,.portal-shop-image-placeholder{height:160px!important;min-height:160px!important;max-height:160px!important;border-radius:16px!important;padding:10px!important}
}

/* V1.91.2 Touch-Kasse Tablet/Smartphone */
.pos-cash-shell{padding:18px;border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--tenant-color,#36bf24) 5%,#fff),#fff);overflow:visible}
.pos-cash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.pos-cash-head h2{margin:0 0 4px}.pos-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:16px;align-items:start}.pos-picker{min-width:0}.pos-customer-row{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:12px;margin-bottom:12px}.pos-customer-row label{margin:0}.pos-search{font-size:16px;border-radius:16px;min-height:48px}
.pos-open-appts{border:1px solid #eadfd2;border-radius:16px;padding:8px 10px;background:#fffaf5;margin-bottom:12px}.pos-open-appts summary{font-weight:900;cursor:pointer}.pos-appt-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px}.pos-appt-card{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid #eadfd2;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.pos-appt-card.active,.pos-appt-card:hover{border-color:var(--tenant-color,#36bf24);box-shadow:0 4px 18px rgba(0,0,0,.08)}.pos-appt-card strong{font-size:1.05rem}.pos-appt-card small{color:#6b5b4b}
.pos-tabs{position:sticky;top:8px;z-index:12;display:flex;gap:8px;overflow-x:auto;padding:8px;margin:0 0 12px;background:rgba(255,255,255,.92);border:1px solid #eee2d8;border-radius:18px;backdrop-filter:blur(10px)}.pos-tabs button,.pos-chipbar button,.pos-pay-grid button,.pos-quick-cash button{min-height:44px;border-radius:999px;border:1px solid #eadfd2;background:#fff;color:#5b3b1d;font-weight:900;padding:8px 14px;white-space:nowrap;cursor:pointer}.pos-tabs button.active,.pos-pay-grid button.active,.pos-chipbar button:hover,.pos-quick-cash button:hover{background:linear-gradient(90deg,#b87a31,var(--tenant-color,#36bf24));color:#fff;border-color:transparent}
.pos-section{margin-bottom:18px}.pos-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:8px 0}.pos-section-head h3{margin:0}.pos-section-head span{font-size:.85rem;color:#7a6a5d;font-weight:800}.pos-chipbar{display:flex;gap:6px;overflow-x:auto;margin:0 0 10px;padding-bottom:2px}.pos-chipbar button{min-height:34px;padding:6px 10px;font-size:.84rem}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.pos-tile{position:relative;display:flex;flex-direction:column;gap:8px;min-height:128px;padding:12px;border:1px solid #eadfd2;border-left:7px solid var(--tile-color,var(--tenant-color,#36bf24));border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(62,40,18,.06);cursor:pointer;transition:.18s ease}.pos-tile:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(62,40,18,.10)}.pos-tile input[type=checkbox]{position:absolute;top:10px;right:10px;width:22px;height:22px;accent-color:var(--tenant-color,#36bf24)}.pos-tile:has(input[type=checkbox]:checked){background:color-mix(in srgb,var(--tenant-color,#36bf24) 9%,#fff);border-color:color-mix(in srgb,var(--tenant-color,#36bf24) 50%,#eadfd2);outline:3px solid color-mix(in srgb,var(--tenant-color,#36bf24) 18%,transparent)}.pos-tile-main{display:flex;flex-direction:column;gap:4px;padding-right:22px}.pos-tile-main b{font-size:.98rem;line-height:1.18}.pos-tile-main small{color:#7a6a5d;font-weight:700}.pos-tile strong{margin-top:auto;font-size:1rem}.pos-tile-img{height:54px;width:74px;border-radius:14px;background:#fff7ef;border:1px solid #efe3d8;display:grid;place-items:center;overflow:hidden}.pos-tile-img img{max-width:100%;max-height:100%;object-fit:contain}.pos-tile-icon{font-size:1.8rem;line-height:1}.pos-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.pos-option-card{display:flex;gap:10px;align-items:flex-start;border:1px solid #eadfd2;background:#fff;border-radius:16px;padding:12px}.pos-option-card span{display:flex;flex-direction:column;gap:5px;flex:1}.pos-option-card input[type=checkbox]{width:22px;height:22px;accent-color:var(--tenant-color,#36bf24)}.pos-free-line{border:1px solid #eadfd2;border-radius:16px;background:#fff;padding:10px}.pos-free-line summary{font-weight:900;cursor:pointer}
.pos-cart{min-width:0}.pos-cart-sticky{position:sticky;top:12px;border:1px solid color-mix(in srgb,var(--tenant-color,#36bf24) 28%,#eadfd2);border-radius:22px;background:#fff;box-shadow:0 14px 42px rgba(62,40,18,.10);padding:14px}.pos-cart h3{margin:0 0 10px}.pos-cart-lines{display:flex;flex-direction:column;gap:8px;max-height:38vh;overflow:auto;padding-right:2px}.pos-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid #f0e4d8;border-radius:14px;padding:8px;background:#fffdfb}.pos-cart-line b{display:block;font-size:.9rem}.pos-cart-line small{font-size:.78rem;color:#806b56}.pos-qty{display:flex;align-items:center;gap:4px}.pos-qty button,.pos-remove{width:32px;height:32px;border-radius:10px;padding:0;display:grid;place-items:center}.pos-qty input{width:56px;min-height:32px;text-align:center;padding:4px 6px}.pos-remove{background:#fff2f2!important;color:#a33!important;border:1px solid #ffd2d2!important}.pos-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #f1e6da;margin:12px 0 10px;padding-top:10px;font-size:1.1rem}.pos-total strong{font-size:1.55rem;color:#10251a}.pos-doc-select{margin:0 0 10px}.pos-pay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.pos-pay-grid button{border-radius:14px}.pos-cash-box{border:1px solid #efe1d5;border-radius:16px;background:#fffaf5;padding:10px;margin:8px 0}.pos-quick-cash{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.pos-quick-cash button{border-radius:12px;padding:6px}.pos-checkout{width:100%;min-height:54px;border-radius:18px;font-size:1.05rem;margin-top:8px}.pos-mobile-bar{display:none}.pos-tools-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.pos-sales-list{display:flex;flex-direction:column;gap:8px}.pos-sale-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto auto;gap:10px;align-items:center;border:1px solid #eee2d8;border-radius:14px;padding:10px;background:#fff}.pos-sale-row div:first-child{display:flex;flex-direction:column}.pos-sale-row span{color:#6b5b4b;font-size:.9rem}
@media(max-width:980px){.pos-layout{grid-template-columns:1fr}.pos-cart-sticky{position:static}.pos-customer-row{grid-template-columns:1fr 1fr}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.pos-cart-lines{max-height:none}.pos-sales-list{font-size:.92rem}.pos-sale-row{grid-template-columns:1fr auto;align-items:start}.pos-sale-row>span,.pos-sale-row>b{justify-self:end}.pos-sale-row>div:last-child{grid-column:1/-1}}
@media(max-width:620px){.pos-cash-shell{padding:12px;margin-left:-6px;margin-right:-6px;border-radius:18px}.pos-cash-head{flex-direction:column}.pos-head-actions{width:100%}.pos-head-actions .button{flex:1;text-align:center}.pos-customer-row{grid-template-columns:1fr}.pos-tabs{top:0;border-radius:14px;margin-left:-4px;margin-right:-4px}.pos-grid{grid-template-columns:1fr 1fr;gap:8px}.pos-tile{min-height:116px;padding:10px;border-radius:16px}.pos-tile-main b{font-size:.9rem}.pos-tile-main small{font-size:.76rem}.pos-tile strong{font-size:.92rem}.pos-tile-img{height:46px;width:60px}.pos-cart{position:fixed;left:0;right:0;bottom:0;z-index:1000;transform:translateY(calc(100% - 0px));transition:.22s ease;pointer-events:none}.pos-cart.open{transform:translateY(0);pointer-events:auto}.pos-cart-sticky{border-radius:22px 22px 0 0;max-height:82dvh;overflow:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:0 -16px 42px rgba(0,0,0,.24)}.pos-mobile-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:1001;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#17251c;color:#fff;border-radius:18px;padding:10px 10px 10px 14px;box-shadow:0 10px 34px rgba(0,0,0,.25)}.pos-mobile-bar button{background:#fff!important;color:#17251c!important;border-radius:14px;min-height:42px}.pos-pay-grid{grid-template-columns:repeat(2,1fr)}.pos-quick-cash{grid-template-columns:repeat(2,1fr)}.pos-cart-line{grid-template-columns:1fr auto;gap:6px}.pos-cart-line>strong{justify-self:end}.pos-cart-line .pos-qty{grid-column:1/2}.pos-cart-line .pos-remove{grid-column:2/3;grid-row:2/3}.pos-tools-card{padding-bottom:80px}.pos-sale-row{grid-template-columns:1fr}.pos-sale-row>span,.pos-sale-row>b{justify-self:start}}
@media(max-width:380px){.pos-grid{grid-template-columns:1fr}.pos-tabs button{padding:8px 10px}.pos-cash-shell{margin-left:-10px;margin-right:-10px}}

/* V1.99.0 Ressourcen */
.resource-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.resource-service-card{border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:14px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);display:grid;gap:12px}.resource-checks{display:grid;gap:8px}.resource-checks label{display:flex;gap:8px;align-items:center;font-size:.95rem}.resource-conflict-note{border-left:4px solid #b45309;background:#fff7ed;padding:10px 12px;border-radius:12px;color:#7c2d12}

/* v1.99.2 Terminressourcen und Split-Dialog */
.appointment-resource-box { border-color: rgba(180,83,9,.18); background: linear-gradient(180deg, rgba(255,251,245,.92), rgba(255,255,255,.96)); }
.appointment-resource-checks { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:.55rem; margin-top:.65rem; }
.appointment-resource-checks label { display:flex; align-items:center; gap:.45rem; padding:.65rem .75rem; border:1px solid rgba(120,72,28,.14); border-radius:14px; background:#fff; min-height:46px; cursor:pointer; box-shadow:0 1px 4px rgba(31,23,16,.04); }
.appointment-resource-checks label:hover { border-color: rgba(180,83,9,.35); box-shadow:0 6px 18px rgba(31,23,16,.08); transform: translateY(-1px); }
.appointment-resource-checks small { color:var(--muted,#7c6b5c); margin-left:auto; font-size:.76rem; text-align:right; }
.appointment-resource-checks .swatch { width:14px; height:14px; border-radius:999px; flex:0 0 14px; }
.appointment-modal .button.ghost[name="appt_action"] { border-color: rgba(180,83,9,.28); color:#8a4b16; }
@media (max-width: 640px){
  .appointment-resource-checks { grid-template-columns:1fr; }
  .appointment-resource-checks label { align-items:flex-start; }
  .appointment-resource-checks small { display:block; margin-left:0; }
}

/* v2.00.2 Mandantensichere Kasse */
.cash-tenant-status{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  border-left:5px solid var(--brand,#36bf24);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(250,245,238,.92));
}
.cash-tenant-status strong{font-size:1.05rem;margin-right:6px;}
.cash-tenant-status span{display:inline-flex;align-items:center;border:1px solid rgba(120,88,48,.16);border-radius:999px;padding:7px 11px;background:#fff;color:#4b3b25;font-weight:700;font-size:.9rem;}
@media(max-width:760px){.cash-tenant-status{gap:8px;}.cash-tenant-status span{width:100%;justify-content:space-between;border-radius:14px;}}

/* v2.00.5 Druckerzuordnung / Mandanten löschen */
.printer-settings-grid{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;gap:18px}.printer-settings-grid .wide{grid-column:1/-1}.inline-action-form{display:inline}.button.danger,button.danger,.danger{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important}.dangerlink{color:#b91c1c!important}.actions .inline-action-form{display:inline-flex;margin-left:.35rem}.tenant-table-logo{max-width:64px;max-height:48px;object-fit:contain;border-radius:12px;background:#fff;padding:4px;border:1px solid rgba(0,0,0,.08)}
@media(max-width:760px){.printer-settings-grid{grid-template-columns:1fr}.printer-settings-grid .card{padding:16px}.actions .inline-action-form{margin-left:0;margin-top:6px;display:block}.actions .button.small{width:100%;justify-content:center}}

/* V2.00.7 Belegarchiv: separate Vorschau wie Kundenfenster */

.document-archive-card{padding:16px;}
.document-archive-card .section-head.compact{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:8px;}
.document-archive-card .section-head.compact h2{margin:0 0 4px;font-size:1.15rem;}
.document-archive-card .section-head.compact .subline{margin:0;font-size:.9rem;}
.document-archive-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:10px;
  margin-top:12px;
}
.document-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  align-items:start;
  background:#fff;
  border:1px solid rgba(46,66,40,.12);
  border-radius:16px;
  padding:11px;
  box-shadow:0 10px 24px rgba(42,58,35,.06);
}
.document-card.compact{min-height:0;}
.document-card-main{
  display:flex;
  gap:9px;
  min-width:0;
  align-items:center;
}
.document-card-main strong{display:block;font-size:.95rem;color:#152618;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.document-card-main small{display:block;color:#60705d;line-height:1.3;margin-top:1px;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.document-type-badge{
  flex:0 0 auto;
  min-width:42px;
  text-align:center;
  padding:7px 8px;
  border-radius:999px;
  background:linear-gradient(135deg,#eaf8df,#fff2d9);
  color:#216b16;
  font-weight:900;
  font-size:.68rem;
  letter-spacing:.02em;
}
.document-card-meta{font-size:.78rem;color:#60705d;display:flex;justify-content:space-between;gap:8px;align-items:center;}
.document-card-meta code{font-size:.72rem;background:#f6f1e8;border-radius:8px;padding:2px 5px;color:#6d6253;}
.document-card-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
}
.document-card-actions .button{padding:7px 9px;min-height:34px;font-size:.78rem;border-radius:10px;}
.document-preview-dialog{
  width:min(980px,96vw);
  max-width:96vw;
  height:min(820px,92vh);
  border:0;
  border-radius:26px;
  padding:0;
  overflow:hidden;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  background:#fffaf2;
}
.document-preview-dialog::backdrop{background:rgba(22,28,20,.48);backdrop-filter:blur(4px);}
.document-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(80,92,70,.14);
  background:linear-gradient(135deg,#fffaf2,#f4fbef);
}
.document-preview-head strong{display:block;font-size:1.08rem;color:#132315;}
.document-preview-head small{display:block;color:#647260;margin-top:2px;}
.document-preview-dialog iframe{
  width:100%;
  height:calc(100% - 112px);
  border:0;
  background:#fff;
}
.document-preview-foot{
  padding:10px 16px;
  border-top:1px solid rgba(80,92,70,.12);
  display:flex;
  justify-content:flex-end;
  background:#fffaf2;
}
@media (max-width: 720px){
  .document-archive-card{padding:12px;}
  .document-archive-card .section-head.compact{display:block;}
  .document-archive-list{grid-template-columns:1fr;gap:8px;}
  .document-card{padding:10px;border-radius:14px;}
  .document-card-actions .button{flex:1 1 92px;text-align:center;}
  .document-preview-dialog{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;}
  .document-preview-dialog iframe{height:calc(100vh - 112px);}
}


/* V2.01.0 Performance & Google-Ressourcen */
.compact-resource-checks{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.45rem;
}
.compact-resource-checks label{
  padding:.5rem .6rem;
  border:1px solid rgba(120,90,60,.18);
  border-radius:.7rem;
  background:rgba(255,255,255,.75);
  display:flex;
  align-items:center;
  gap:.4rem;
  font-size:.92rem;
}
.compact-resource-checks small{display:block;color:#7a6a5d;font-size:.76rem;line-height:1.15;}

/* V2.15 CMS/Webseite: direkter Link zur öffentlichen Webseite */
.page-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.page-title-row h1{
  margin-bottom:0;
}
@media (max-width:720px){
  .page-title-row{align-items:flex-start;}
  .page-title-row .button{width:100%;text-align:center;}
}

/* v2.16: Öffentliche Webseite - Termin buchen im Kopfbereich deutlich sichtbar */
.public-portal .portal-header .portal-nav a.portal-nav-primary,
.public-portal .portal-header .portal-nav-primary,
.public-portal .portal-nav a.portal-nav-primary {
  background: linear-gradient(135deg, #2f9e44, #36bf24) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,.92) !important;
  box-shadow: 0 10px 26px rgba(47,158,68,.34), 0 0 0 3px rgba(54,191,36,.16) !important;
  font-weight: 950 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.25) !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}
.public-portal .portal-header .portal-nav a.portal-nav-primary:hover,
.public-portal .portal-header .portal-nav-primary:hover,
.public-portal .portal-nav a.portal-nav-primary:hover {
  background: linear-gradient(135deg, #238636, #2f9e44) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}
.public-portal .portal-header .portal-nav a.portal-nav-primary:focus-visible,
.public-portal .portal-header .portal-nav-primary:focus-visible,
.public-portal .portal-nav a.portal-nav-primary:focus-visible {
  outline: 3px solid rgba(47,158,68,.38) !important;
  outline-offset: 3px !important;
}
@media (max-width: 820px) {
  .public-portal .portal-header .portal-nav a.portal-nav-primary,
  .public-portal .portal-header .portal-nav-primary,
  .public-portal .portal-nav a.portal-nav-primary {
    min-height: 52px !important;
    font-size: 1.03rem !important;
  }
}

/* v2.17: Öffentliches Mobilmenü als Icon statt weißer Fläche */
@media (max-width: 860px) {
  .public-portal .portal-header .portal-menu-toggle,
  .public-portal.portal-unified-design .portal-header .portal-menu-toggle {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 14px !important;
    color: var(--portal-ink, #46372f) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }
  .public-portal .portal-header .portal-menu-toggle b,
  .public-portal.portal-unified-design .portal-header .portal-menu-toggle b {
    display: none !important;
  }
  .public-portal .portal-header .portal-menu-toggle span,
  .public-portal.portal-unified-design .portal-header .portal-menu-toggle span {
    display: block !important;
    width: 28px !important;
    height: 3px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: var(--tenant-color, #36bf24) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
    transition: transform .18s ease, opacity .18s ease, background .18s ease !important;
  }
  .public-portal .portal-header .portal-menu-toggle:focus-visible,
  .public-portal.portal-unified-design .portal-header .portal-menu-toggle:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--tenant-color, #36bf24) 34%, transparent) !important;
    outline-offset: 3px !important;
  }
  .public-portal .portal-header.portal-menu-open .portal-menu-toggle span:nth-child(1),
  .public-portal.portal-unified-design .portal-header.portal-menu-open .portal-menu-toggle span:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
  }
  .public-portal .portal-header.portal-menu-open .portal-menu-toggle span:nth-child(2),
  .public-portal.portal-unified-design .portal-header.portal-menu-open .portal-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }
  .public-portal .portal-header.portal-menu-open .portal-menu-toggle span:nth-child(3),
  .public-portal.portal-unified-design .portal-header.portal-menu-open .portal-menu-toggle span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
  }
}

/* v2.17.1: Robuster sichtbarer Hamburger/Kreuz-Schalter für öffentliche mobile Webseite */
@media (max-width: 860px) {
  body.public-portal .portal-header button.portal-menu-toggle,
  body.public-portal.portal-unified-design .portal-header button.portal-menu-toggle,
  .public-portal .portal-header [data-portal-menu-toggle] {
    display: inline-grid !important;
    grid-template-rows: repeat(3, 3px) !important;
    place-content: center !important;
    gap: 6px !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    justify-self: end !important;
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(54,191,36,.38) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(35,62,36,.12) !important;
    color: var(--tenant-color, #36bf24) !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    z-index: 50 !important;
  }
  body.public-portal .portal-header button.portal-menu-toggle b,
  body.public-portal.portal-unified-design .portal-header button.portal-menu-toggle b,
  .public-portal .portal-header [data-portal-menu-toggle] b {
    display: none !important;
  }
  body.public-portal .portal-header button.portal-menu-toggle span,
  body.public-portal.portal-unified-design .portal-header button.portal-menu-toggle span,
  .public-portal .portal-header [data-portal-menu-toggle] span {
    display: block !important;
    width: 28px !important;
    height: 3px !important;
    min-height: 3px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
    opacity: 1 !important;
    transform-origin: center !important;
    transition: transform .18s ease, opacity .18s ease !important;
  }
  body.public-portal .portal-header.portal-menu-open button.portal-menu-toggle span:nth-of-type(1),
  body.public-portal.portal-unified-design .portal-header.portal-menu-open button.portal-menu-toggle span:nth-of-type(1),
  .public-portal .portal-header.portal-menu-open [data-portal-menu-toggle] span:nth-of-type(1),
  .public-portal .portal-header [data-portal-menu-toggle].is-open span:nth-of-type(1) {
    transform: translateY(9px) rotate(45deg) !important;
  }
  body.public-portal .portal-header.portal-menu-open button.portal-menu-toggle span:nth-of-type(2),
  body.public-portal.portal-unified-design .portal-header.portal-menu-open button.portal-menu-toggle span:nth-of-type(2),
  .public-portal .portal-header.portal-menu-open [data-portal-menu-toggle] span:nth-of-type(2),
  .public-portal .portal-header [data-portal-menu-toggle].is-open span:nth-of-type(2) {
    opacity: 0 !important;
  }
  body.public-portal .portal-header.portal-menu-open button.portal-menu-toggle span:nth-of-type(3),
  body.public-portal.portal-unified-design .portal-header.portal-menu-open button.portal-menu-toggle span:nth-of-type(3),
  .public-portal .portal-header.portal-menu-open [data-portal-menu-toggle] span:nth-of-type(3),
  .public-portal .portal-header [data-portal-menu-toggle].is-open span:nth-of-type(3) {
    transform: translateY(-9px) rotate(-45deg) !important;
  }
  body.public-portal .portal-header.portal-menu-open .portal-nav,
  body.public-portal.portal-unified-design .portal-header.portal-menu-open .portal-nav {
    display: grid !important;
  }
}


/* v2.17.2: internes mobiles Anwendungsmenü - sichtbarer Hamburger/Kreuz */
.app-menu-button.mobile-menu-toggle{
  position:relative!important;
  display:none;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  gap:0!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--tenant-color,#36bf24)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:15px!important;
  box-shadow:0 10px 24px rgba(20,80,18,.22)!important;
  color:#fff!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.app-menu-button.mobile-menu-toggle span{
  display:block!important;
  width:24px!important;
  height:3px!important;
  margin:3px 0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  opacity:1!important;
  box-shadow:none!important;
  transform:none;
  transition:transform .18s ease, opacity .18s ease!important;
}
.app-menu-button.mobile-menu-toggle b{display:none!important;}
body.app-menu-open .app-menu-button.mobile-menu-toggle span:nth-child(1),
.studio-app-shell.menu-open .app-menu-button.mobile-menu-toggle span:nth-child(1),
.app-topbar.menu-open .app-menu-button.mobile-menu-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)!important;}
body.app-menu-open .app-menu-button.mobile-menu-toggle span:nth-child(2),
.studio-app-shell.menu-open .app-menu-button.mobile-menu-toggle span:nth-child(2),
.app-topbar.menu-open .app-menu-button.mobile-menu-toggle span:nth-child(2){opacity:0!important;}
body.app-menu-open .app-menu-button.mobile-menu-toggle span:nth-child(3),
.studio-app-shell.menu-open .app-menu-button.mobile-menu-toggle span:nth-child(3),
.app-topbar.menu-open .app-menu-button.mobile-menu-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important;}
@media(max-width:900px){
  .app-topbar.top .app-menu-button.mobile-menu-toggle{display:inline-flex!important;}
  .app-sidebar.main-nav{display:flex!important;}
}


/* StudioPlan 2.19: CMS-Texteditor */
.cms-rich-editor{grid-column:1/-1;border:1px solid rgba(47,67,47,.18);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(25,43,25,.06);overflow:hidden;margin-top:8px}.cms-rich-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:9px;background:linear-gradient(180deg,#f7fbf7,#eef7ee);border-bottom:1px solid rgba(47,67,47,.14)}.cms-editor-btn{border:1px solid rgba(47,67,47,.2);border-radius:10px;background:#fff;color:#203023;padding:7px 10px;font-size:13px;font-weight:700;cursor:pointer}.cms-editor-btn:hover,.cms-editor-btn:focus{background:#36bf24;color:#fff;border-color:#36bf24}.cms-rich-editarea{min-height:150px;padding:14px 16px;outline:none;line-height:1.55;color:#203023;background:#fff}.cms-rich-editarea:focus{box-shadow:inset 0 0 0 2px rgba(54,191,36,.24)}.cms-rich-editarea p{margin:.4rem 0 .75rem}.cms-rich-editarea h2,.cms-rich-editarea h3,.cms-rich-editarea h4{margin:.7rem 0 .4rem}.cms-rich-editarea ul,.cms-rich-editarea ol{padding-left:1.4rem}.cms-rich-editarea blockquote{border-left:4px solid #36bf24;margin:.7rem 0;padding:.35rem .8rem;background:#f5fbf5}.cms-editor-source{display:none!important}@media(max-width:720px){.cms-rich-toolbar{gap:4px}.cms-editor-btn{padding:7px 8px;font-size:12px}.cms-rich-editarea{min-height:130px}}


/* StudioPlan 2.20: mobiler Terminbuch-Hinweis unten entfernt und Medienverwaltung als eigene Ansicht */
@media(max-width:900px){
  .app-modern-shell::after{content:none!important;display:none!important;}
}
.media-library-grid-large{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
.media-path-copy{width:100%;font-size:.78rem;border:1px solid rgba(80,92,70,.14);background:#fff;border-radius:10px;padding:7px 8px;color:#60705d;}
.media-library-item form{margin-top:6px;}

/* V2.22 Bonlayout/TSE */
.tse-receipt-block,.tse-box{text-align:center;word-break:break-word}.tse-title{display:block;font-weight:800;margin-bottom:8px}.tse-required-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;text-align:center}.tse-row{display:block}.tse-row strong{display:block}.tse-qr-box{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;margin-top:12px;text-align:left}.tse-qr svg{width:130px;height:130px;display:block}.tse-qr-text strong{display:block}.receipt-settings-preview{max-width:360px;margin:0 auto;border:1px dashed #aaa;border-radius:16px;padding:18px;background:#fff}.receipt-settings-preview .center{text-align:center}@media(max-width:680px){.tse-required-grid{grid-template-columns:1fr}.tse-qr-box{grid-template-columns:1fr;text-align:center}.tse-qr{display:grid;place-items:center}}

/* V2.25 – Finanzamt-/Kassenprüfung */
.fiscal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:16px 0}.fiscal-card{display:block;text-decoration:none;color:inherit;border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}.fiscal-card h2{margin:0 0 8px;font-size:1.08rem}.fiscal-card p{margin:0;color:#666}.procedure-doc h1,.procedure-doc h2{margin-top:1rem}.checklist{list-style:none;padding-left:0}.checklist li{padding:.45rem 0;border-bottom:1px solid rgba(0,0,0,.08)}

/* V2.25.2 Mandantenwechsel-PIN */
.tenant-switcher-menu{display:flex;flex-direction:column;gap:8px}.tenant-switcher-menu select,.tenant-switcher-menu input{width:100%}.tenant-pin-inline input{max-width:160px}.tenant-switcher-menu small.alert{display:block;margin-top:4px;color:#9f1d1d;font-weight:700}


/* V2.26.0 Eingangsrechnungen */
.incoming-invoice-split{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr);gap:18px;align-items:start}.incoming-preview-frame{width:100%;height:72vh;border:1px solid #ddd;border-radius:16px;background:#f7f7f7}.incoming-preview-img{width:100%;max-height:72vh;object-fit:contain;border:1px solid #ddd;border-radius:16px;background:#f7f7f7}.incoming-status-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.badge.uploaded,.badge.not_started{background:#eef2f7;color:#334}.badge.ai_pending,.badge.pending{background:#fff7df;color:#715000}.badge.ai_done,.badge.done,.badge.approved{background:#e8f7e8;color:#175c19}.badge.checking,.badge.warning{background:#fff1d6;color:#7a4e00}.badge.error,.badge.rejected{background:#ffe1e1;color:#8a1717}.badge.paid,.badge.archived{background:#e8f0ff;color:#173d7a}@media(max-width:900px){.incoming-invoice-split{grid-template-columns:1fr}.incoming-preview-frame,.incoming-preview-img{height:52vh}}
/* V2.26.1 Eingangsrechnungen – Zahlung/Export */
.badge.open{background:#eef2f7;color:#334}.badge.overdue{background:#ffe1e1;color:#8a1717}.badge.cancelled{background:#ffe1e1;color:#8a1717}.badge.payment_ready{background:#e8f7e8;color:#175c19}.badge.paid{background:#e8f0ff;color:#173d7a}.incoming-export-actions{display:flex;gap:8px;flex-wrap:wrap}


/* V2.27 Zugriff & Mandanten */
.access-tabs{margin-top:14px}
.access-overview p{margin-bottom:10px}
.access-assignment-box{border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:14px;background:#fafafa}
.access-assignment-box h3{margin-top:0}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.permission-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff}
.permission-toggle input{margin-top:4px}
.permission-toggle span{display:flex;flex-direction:column;gap:3px}
.permission-toggle small{color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}
.tenant-switcher-compact{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:rgba(255,255,255,.08)}
.tenant-switcher-compact span{font-size:.78rem;opacity:.75}
.tenant-switcher-compact strong{line-height:1.2}
.badge.ok{background:#e8f8ee;color:#146c2e}
.badge.warning{background:#fff3cd;color:#856404}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr}.access-tabs .button{flex:1 1 45%}.access-user-form .table-scroll table{min-width:760px}}

/* v2.27.5 – Mobile Kundenliste & Suche optimieren */
.customer-responsive-shell{overflow:visible!important;}
.customer-mobile-sticky-search{position:sticky;top:10px;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--studio-border,#dce7d6);border-radius:20px;padding:12px;margin-bottom:14px;box-shadow:0 12px 30px rgba(31,95,45,.10);}
.customer-search-label{display:block;font-weight:900;color:#213425;min-width:0;}
.customer-search-label span{display:block;font-size:.82rem;margin:0 0 6px;color:#61715c;text-transform:uppercase;letter-spacing:.04em;}
.customer-search-label input{width:100%;min-height:46px;border-radius:14px;border:1px solid var(--studio-border,#dce7d6);padding:0 14px;font-size:1rem;background:#fff;box-shadow:inset 0 1px 2px rgba(15,23,42,.04);}
.customer-search-label input:focus{outline:3px solid rgba(47,197,31,.18);border-color:rgba(47,197,31,.65);}
.customer-list-head{align-items:flex-start!important;gap:12px;}
.customer-result-count{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;background:#f2f8ee;border:1px solid var(--studio-border,#dce7d6);padding:6px 12px;font-weight:900;color:#38513a;white-space:nowrap;}
.customer-desktop-table-wrap{margin-top:10px;}
.customer-desktop-table td{vertical-align:top;}
.customer-action-cell{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-width:260px;}
.customer-action-cell form{display:inline;margin:0;}
.customer-mobile-list{display:none;gap:10px;margin-top:12px;}
.customer-mobile-row{border:1px solid rgba(42,68,47,.13);border-radius:18px;background:linear-gradient(135deg,#fff,#fbfdf8);padding:12px;box-shadow:0 8px 20px rgba(31,95,45,.07);touch-action:pan-y;}
.customer-mobile-row-main{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start;}
.customer-mobile-row .customer-avatar{width:42px!important;height:42px!important;border-radius:14px!important;margin:0!important;}
.customer-mobile-text{min-width:0;}
.customer-mobile-text strong{display:block;font-size:1rem;line-height:1.15;color:#172517;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.customer-mobile-text span,.customer-mobile-text small{display:block;color:#64748b;font-size:.84rem;line-height:1.32;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.customer-mobile-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px;}
.customer-mobile-actions .button{width:100%;justify-content:center;min-height:42px;padding-left:8px;padding-right:8px;}
.customer-mobile-row[hidden],.customer-desktop-table tr[hidden]{display:none!important;}

@media(max-width:760px){
  .customer-responsive-shell{padding:12px!important;border-radius:18px!important;}
  .customer-mobile-sticky-search{top:6px;grid-template-columns:1fr;padding:10px;border-radius:18px;margin-left:-2px;margin-right:-2px;}
  .customer-new-button{width:100%;justify-content:center;min-height:42px;}
  .customer-list-head{display:block!important;}
  .customer-list-head h2{margin-bottom:8px;}
  .customer-filter-chips{flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px;margin-top:8px;-webkit-overflow-scrolling:touch;}
  .customer-filter-chips .filter-chip{flex:0 0 auto;}
  .customer-result-count{margin-top:10px;}
  .customer-desktop-table-wrap{display:none!important;}
  .customer-mobile-list{display:grid!important;}
}
@media(max-width:390px){
  .customer-mobile-actions{grid-template-columns:1fr;}
}

/* v2.27.6 – Mobile Kundenliste Feinschliff: mehr Informationen, weniger Scrollen */
.customer-mobile-list-compact{gap:7px!important;margin-top:8px!important;}
.customer-mobile-row-compact{padding:9px 10px!important;border-radius:14px!important;box-shadow:0 5px 14px rgba(31,95,45,.055)!important;background:#fff!important;}
.customer-compact-topline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:6px;}
.customer-compact-name{font-weight:950;color:#162516;text-decoration:none;font-size:.96rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.customer-compact-name:active,.customer-compact-name:focus{text-decoration:underline;}
.customer-compact-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px 7px;align-items:center;font-size:.78rem;line-height:1.18;color:#506057;}
.customer-compact-info-grid span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f7faf4;border:1px solid rgba(42,68,47,.08);border-radius:9px;padding:4px 6px;}
.customer-compact-info-grid b{font-weight:900;color:#28382b;margin-right:3px;}
.customer-compact-email{font-size:.76rem;color:#667085;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.customer-compact-actions{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px;margin-top:7px;align-items:stretch;}
.customer-compact-actions>.button{min-height:36px!important;height:36px!important;padding:0 10px!important;border-radius:11px!important;justify-content:center;}
.customer-compact-more{position:relative;}
.customer-compact-more summary{list-style:none;display:flex;align-items:center;justify-content:center;width:42px;height:36px;border-radius:11px;border:1px solid var(--studio-border,#dce7d6);background:#f7faf4;font-weight:950;font-size:1.2rem;cursor:pointer;user-select:none;}
.customer-compact-more summary::-webkit-details-marker{display:none;}
.customer-compact-menu{position:absolute;right:0;bottom:42px;z-index:35;min-width:170px;background:#fff;border:1px solid rgba(42,68,47,.16);border-radius:14px;box-shadow:0 18px 42px rgba(15,23,42,.18);padding:6px;display:grid;gap:3px;}
.customer-compact-menu a{display:block;padding:9px 10px;border-radius:10px;text-decoration:none;color:#203223;font-weight:850;font-size:.88rem;}
.customer-compact-menu a:hover,.customer-compact-menu a:focus{background:#f1f8ed;}
@media(max-width:760px){
  .customer-search-label span{display:none;}
  .customer-search-label input{min-height:40px!important;border-radius:12px!important;font-size:.94rem!important;}
  .customer-mobile-sticky-search{gap:7px!important;padding:8px!important;margin-bottom:8px!important;}
  .customer-new-button{min-height:38px!important;}
  .customer-result-count{min-height:28px!important;padding:4px 9px!important;font-size:.82rem!important;margin-top:6px!important;}
  .customer-filter-chips{margin-top:4px!important;}
  .customer-filter-chips .filter-chip{padding:6px 9px!important;font-size:.82rem!important;}
}
@media(max-width:430px){
  .customer-compact-info-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:340px){
  .customer-compact-info-grid{grid-template-columns:1fr;}
}

/* v2.28.0 – Mandantenfähige A4-Rechnungen */
.invoice-editor-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(360px,.95fr);gap:18px;align-items:start}.invoice-form .wide{grid-column:1/-1}.invoice-items-edit{display:flex;flex-direction:column;gap:8px}.invoice-item-row{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(180px,1fr) 74px 76px 100px 74px;gap:8px;align-items:end}.invoice-preview-card{position:sticky;top:84px}.invoice-preview-frame{max-height:76vh;overflow:auto;background:#f4f4f4;padding:10px;border-radius:14px}.invoice-preview-frame .invoice-a4{transform:scale(.64);transform-origin:top left;width:210mm;min-height:297mm;margin:0;box-shadow:0 10px 32px rgba(0,0,0,.16)}.invoice-print-actions{position:sticky;top:0;z-index:10;background:#fff;padding:10px;display:flex;gap:10px;border-bottom:1px solid #ddd}.invoice-print-actions button,.invoice-print-actions a{border:0;border-radius:10px;padding:10px 14px;background:#36bf24;color:#fff;text-decoration:none}.invoice-print-actions a{background:#eee;color:#222}.invoice-meta .num,.invoice-items .num,.invoice-totals .num{text-align:right}.danger-zone{border:1px solid #f1b6b6;background:#fff7f7}
@media(max-width:920px){.invoice-editor-grid{grid-template-columns:1fr}.invoice-preview-card{position:static}.invoice-preview-frame{max-height:none}.invoice-preview-frame .invoice-a4{transform:none;width:auto;min-height:auto}.invoice-item-row{grid-template-columns:1fr 70px 70px 88px 70px;gap:6px}.invoice-item-row input,.invoice-item-row select{min-width:0}}
@media(max-width:560px){.invoice-item-row{grid-template-columns:1fr 1fr}.invoice-item-row select,.invoice-item-row input[name='item_description[]']{grid-column:1/-1}.invoice-preview-card{display:none}}


/* v2.28.1 – Briefpapier-Fußbereich, Katalogpositionen und Live-Vorschau */
.invoice-catalog-hint{font-size:.9rem;color:#667;margin-top:-4px}.invoice-catalog-select{width:100%;padding:9px;border:1px solid #d6ddd4;border-radius:10px;background:#fff}.invoice-footer-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10mm}.invoice-live-preview-note{font-size:.85rem;color:#666}@media(max-width:920px){.invoice-item-row{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) 70px 70px 88px 70px}}@media(max-width:560px){.invoice-item-row{grid-template-columns:1fr 1fr}.invoice-item-row select,.invoice-item-row input[name='item_description[]']{grid-column:1/-1}.invoice-preview-card{display:block}.invoice-preview-frame{max-height:55vh}.invoice-preview-frame .invoice-a4{font-size:11px}.invoice-footer-columns{grid-template-columns:1fr;gap:6px}}
