: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}
.appointment-service-touch{cursor:pointer;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}
.appointment-service-touch:hover{background:#f5fbf2}
.appointment-service-touch:focus-visible{outline:3px solid rgba(54,191,36,.32);outline-offset:-3px}
.appointment-service-touch.is-selected{background:#edfae9!important;box-shadow:inset 5px 0 0 var(--tenant-color,#36bf24)}
.appointment-service-touch.is-selected td{font-weight:650}
.appointment-service-touch input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;accent-color:var(--tenant-color,#36bf24)}
.appointment-service-touch .serviceQty{min-width:48px!important;min-height:38px!important;border-radius:12px;text-align:center;font-weight:800}
@media(max-width:720px){
  .service-table-wrap{max-height:360px!important;padding:6px;background:#f3f8f1;border-radius:16px}
  .compact-service-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  .compact-service-table tbody{display:grid;gap:8px}
  .compact-service-table tr:first-child{display:none!important}
  .compact-service-table .appointment-service-touch{position:relative;display:grid!important;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:3px 8px;min-height:82px;padding:10px 11px!important;border:1px solid #d8e5d4!important;border-radius:15px;background:#fff;box-shadow:0 4px 12px rgba(30,70,31,.06)}
  .compact-service-table .appointment-service-touch td{display:block!important;width:auto!important;padding:0!important;border:0!important;white-space:normal!important;text-align:left!important}
  .compact-service-table .appointment-service-touch td:nth-child(1){grid-column:1;grid-row:1/4;align-self:center}
  .compact-service-table .appointment-service-touch td:nth-child(2){grid-column:2;grid-row:3;width:64px!important;margin-top:4px}
  .compact-service-table .appointment-service-touch td:nth-child(2)::before{content:'Menge ';font-size:.68rem;color:#6b786c;font-weight:700}
  .compact-service-table .appointment-service-touch td:nth-child(3){position:absolute;left:4px;top:4px}
  .compact-service-table .appointment-service-touch td:nth-child(4){grid-column:2;grid-row:1;color:#657365;font-size:.74rem;font-weight:800}
  .compact-service-table .appointment-service-touch td:nth-child(5){grid-column:2;grid-row:2;font-size:.95rem;font-weight:900}
  .compact-service-table .appointment-service-touch td:nth-child(6){grid-column:3;grid-row:1;color:#657365;font-size:.76rem;white-space:nowrap!important}
  .compact-service-table .appointment-service-touch td:nth-child(7){grid-column:3;grid-row:2;font-size:.92rem;font-weight:900;white-space:nowrap!important;text-align:right!important}
}

/* 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}
.settings-time-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}.settings-time-form label{display:grid;gap:5px}.settings-time-form button{grid-column:1/-1;width:100%}
@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}.settings-time-form{grid-template-columns:1fr}.settings-time-form button{grid-column:auto}}

/* 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}
.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-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}}

/* v2.34.25 – kompakte Google-Terminübernahme */
.google-import-overlay{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.google-import-dialog{width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.3);padding:22px}.google-import-dialog>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:14px}.google-import-dialog h2{margin:.2rem 0 0}.google-import-kicker{font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#1272c3}.google-import-close{width:40px;height:40px;border-radius:50%;padding:0;font-size:24px;background:#f1f5f9;color:#334155}.google-import-summary{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;margin:16px 0}.google-import-summary>div{display:grid;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:13px}.google-import-summary small{color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.google-import-summary span{color:#64748b}.google-import-missing{color:#b45309}.google-import-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid #e5e7eb;margin-top:18px;padding-top:16px}.google-import-actions.is-loading{opacity:.55;pointer-events:none}.google-import-warning,.google-import-error{border-radius:12px;padding:10px 12px;margin:9px 0}.google-import-warning{background:#fff7ed;color:#9a3412}.google-import-error{background:#fef2f2;color:#991b1b}.google-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.google-import-form{display:grid;gap:14px;margin-top:16px}.google-import-form label{display:grid;gap:5px}.google-import-form input,.google-import-form select,.google-import-form textarea{width:100%}.google-import-success{text-align:center;padding:44px 20px}.google-import-success strong{display:block;color:#237a25;font-size:1.4rem}.google-import-loading{text-align:center;color:#64748b;padding:22px}
@media(max-width:680px){.google-import-overlay{padding:0;place-items:stretch}.google-import-dialog{max-height:100vh;border-radius:0;padding:16px}.google-import-summary,.google-import-grid{grid-template-columns:1fr}.google-import-actions{position:sticky;bottom:-16px;background:#fff;padding:12px 0 16px}.google-import-actions button{flex:1}}

/* 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;}
}

/* v2.34.66 final responsive overrides – bewusst am Dateiende nach älteren Kundenakten-Regeln */
.customer-file-panel[hidden]{display:none!important}
.customer-overview-grid{display:block!important;grid-template-columns:1fr!important}
@media(max-width:820px){
  body.customer-file-view .app-content{padding-top:10px}
  .customer-file-head-compact{position:relative;grid-template-columns:1fr!important;gap:10px!important;padding:13px 14px!important;border-radius:18px!important}
  .customer-file-head-compact>div:first-child{padding-right:42px}
  .customer-file-head-compact>div:first-child>span{font-size:.68rem}
  .customer-file-head-compact h1{margin:0!important;font-size:1.35rem!important;line-height:1.18}
  .customer-contact-line{margin-top:3px;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .customer-file-head-actions{display:flex!important;grid-template-columns:none!important;gap:7px!important;justify-content:flex-start!important}
  .customer-file-head-actions>.button:not(.customer-file-close){grid-column:auto!important;min-height:38px!important;padding:7px 11px!important;font-size:.82rem!important;width:auto!important}
  .customer-file-head-actions .customer-more-menu{grid-column:auto!important}
  .customer-file-head-actions .customer-more-menu>summary{min-height:38px!important;padding:7px 11px!important;font-size:.82rem!important;width:auto!important;text-align:center}
  .customer-file-close{position:absolute!important;right:12px!important;top:12px!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important}
  .customer-file-kpis>div{padding:10px 12px!important}
  .customer-file-tabs-compact{position:sticky;top:0;z-index:6;padding:5px!important;gap:3px!important;border-radius:13px!important}
  .customer-file-tabs-compact a{min-height:35px;padding:7px 10px;font-size:.78rem;border-radius:9px}
  .customer-file-panel>.card,.customer-file-panel>.grid>.card{padding:15px!important;border-radius:16px!important}
  .customer-quick-facts{grid-template-columns:1fr!important;gap:7px}
}
@media(max-width:480px){
  .customer-file-head-actions>.button:not(.customer-file-close),.customer-file-head-actions .customer-more-menu{flex:1 1 0}
  .customer-file-head-actions>.button:not(.customer-file-close),.customer-file-head-actions .customer-more-menu>summary{width:100%!important;justify-content:center}
}

/* v2.34.73 – eindeutige Benutzer-, Startmandanten- und Farbzuordnung. */
.route-access_management .access-assignment-box{padding:18px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-soft)}
.route-access_management .access-assignment-table tr{border-left:5px solid var(--assignment-color,var(--ui-primary))}
.route-access_management .access-assignment-table td{vertical-align:middle}
.route-access_management .access-tenant-name{display:flex;align-items:center;gap:9px;min-width:210px}
.route-access_management .access-tenant-name i,.route-access_management .access-tenant-badge i{display:inline-block;flex:0 0 auto;width:13px;height:13px;border-radius:50%;background:var(--assignment-color,var(--ui-primary));box-shadow:0 0 0 4px color-mix(in srgb,var(--assignment-color,var(--ui-primary)) 16%,transparent)}
.route-access_management .access-choice{display:inline-flex;align-items:center;gap:7px;min-height:38px;margin:0;font-weight:750;white-space:nowrap}
.route-access_management .access-choice input{width:20px;height:20px;margin:0}
.route-access_management .access-badge-list{display:flex;flex-wrap:wrap;gap:7px}
.route-access_management .access-tenant-badge{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--assignment-color) 35%,#dfe8dc);border-radius:999px;background:#fff;font-size:.82rem;font-weight:750}
.route-access_management .access-tenant-badge.is-default{background:color-mix(in srgb,var(--assignment-color) 11%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--assignment-color) 18%,transparent)}
.route-access_management .access-tenant-badge strong{padding:3px 7px;border-radius:999px;background:var(--assignment-color);color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:720px){
  .route-access_management .access-assignment-box{padding:12px}
  .route-access_management .access-assignment-table{min-width:760px}
  .route-access_management .access-badge-list{min-width:270px}
}

/* v2.34.65 – ruhiger, klar gegliederter Datenschutzbereich in der Kundenakte */
.customer-consent-section{padding:0!important;overflow:visible;}
.privacy-status-card{display:grid;gap:18px;padding:22px;}
.privacy-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #e1eadc;}
.privacy-card-head h2{margin:0 0 4px;font-size:1.18rem;}
.privacy-card-head p{margin:0;color:#687568;font-size:.9rem;}
.privacy-card-head .badge{flex:0 0 auto;}
.privacy-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.privacy-status-item{display:grid;align-content:start;gap:6px;min-height:82px;padding:13px 14px;border:1px solid #e1eadc;border-radius:15px;background:#f9fcf7;min-width:0;}
.privacy-status-item small{color:#687568;font-weight:750;font-size:.76rem;letter-spacing:.02em;}
.privacy-status-item strong{color:#26372b;font-size:.94rem;line-height:1.35;overflow-wrap:anywhere;}
.privacy-primary-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.privacy-primary-actions>.button{min-height:42px;margin:0;}
.privacy-more-actions{position:relative;}
.privacy-more-actions>summary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 15px;border:1px solid #dce7d6;border-radius:13px;background:#fff;color:#26372b;font-weight:800;cursor:pointer;list-style:none;}
.privacy-more-actions>summary::-webkit-details-marker,.privacy-danger-zone>summary::-webkit-details-marker{display:none;}
.privacy-more-actions>summary::after{content:'⌄';margin-left:8px;color:#718071;}
.privacy-more-actions[open]>summary{background:#f2f8ef;border-color:#bfd8b9;}
.privacy-more-menu{position:absolute;left:0;top:calc(100% + 7px);z-index:40;display:grid;gap:8px;width:min(360px,calc(100vw - 42px));padding:12px;border:1px solid #dce7d6;border-radius:16px;background:#fff;box-shadow:0 18px 42px rgba(25,55,29,.16);}
.privacy-more-menu form,.privacy-more-menu button{width:100%;margin:0;}
.privacy-email-note{margin:0;padding:10px 11px;border-radius:11px;background:#f4f6f2;color:#687568;font-size:.86rem;line-height:1.4;}
.privacy-danger-zone{margin-top:3px;padding-top:9px;border-top:1px solid #e8eee5;}
.privacy-danger-zone>summary{padding:8px 4px;color:#9b2828;font-weight:800;cursor:pointer;list-style:none;}
.privacy-danger-zone>div{display:grid;gap:9px;padding:8px 4px 2px;}
.privacy-danger-zone p{margin:0;color:#6b7470;font-size:.82rem;line-height:1.4;}
.privacy-feedback{margin:0;padding:12px 14px;border:1px solid #bfe5c4;border-radius:13px;background:#eaf9ed;color:#286233;font-weight:750;}
@media(max-width:900px){.privacy-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
  .privacy-status-card{gap:14px;padding:16px;}
  .privacy-card-head{align-items:flex-start;}
  .privacy-card-head h2{font-size:1.08rem;}
  .privacy-status-grid{grid-template-columns:1fr;gap:8px;}
  .privacy-status-item{min-height:0;padding:11px 12px;}
  .privacy-primary-actions{display:grid;grid-template-columns:1fr;}
  .privacy-primary-actions>.button,.privacy-more-actions,.privacy-more-actions>summary{width:100%;}
  .privacy-more-menu{position:static;width:100%;margin-top:7px;box-shadow:none;}
}

/* v2.34.66 – Kundenakte als kurze Übersicht mit einzeln geöffneten Arbeitsbereichen */
.customer-file-panels{min-height:180px;scroll-margin-top:82px;}
.customer-file-panel[hidden]{display:none!important;}
.customer-file-panel.active{display:block;animation:customerPanelIn .16s ease-out;}
@keyframes customerPanelIn{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.customer-file-tabs-compact a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;padding:9px 13px;border-radius:11px;background:transparent;color:#667366;text-decoration:none;font-weight:800;white-space:nowrap;box-shadow:none;}
.customer-file-tabs-compact a:hover{background:#f1f7ee;color:#29412c;}
.customer-file-tabs-compact a.active{background:var(--tenant-color,var(--red));color:#fff;}
.customer-file-tabs-compact a:focus-visible{outline:3px solid color-mix(in srgb,var(--tenant-color,#36bf24) 35%,transparent);outline-offset:2px;}
.customer-overview-grid{display:block!important;}
.customer-overview-main{display:grid;gap:14px;}
.customer-overview-main>h2{margin:0;}
.customer-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.customer-quick-facts p{margin:0;padding:12px 14px;border:1px solid #e1eadc;border-radius:14px;background:#f9fcf7;}
.customer-signal-row:empty{display:none;}
.customer-file-head-actions .customer-more-menu>summary{list-style:none;cursor:pointer;}

@media(max-width:820px){
  .customer-file-view .app-content{padding-top:10px;}
  .customer-file-head-compact{position:relative;gap:10px!important;padding:13px 14px!important;border-radius:18px!important;}
  .customer-file-head-compact>div:first-child{padding-right:42px;}
  .customer-file-head-compact>div:first-child>span{font-size:.68rem;}
  .customer-file-head-compact h1{margin:0!important;font-size:1.35rem!important;line-height:1.18;}
  .customer-contact-line{margin-top:3px;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .customer-file-head-actions{display:flex!important;gap:7px!important;}
  .customer-file-head-actions>.button:not(.customer-file-close){min-height:38px!important;padding:7px 11px!important;font-size:.82rem!important;}
  .customer-file-head-actions .customer-more-menu>summary{min-height:38px!important;padding:7px 11px!important;font-size:.82rem!important;}
  .customer-file-close{right:12px!important;top:12px!important;width:38px!important;height:38px!important;min-height:38px!important;}
  .customer-file-kpis>div{padding:10px 12px!important;}
  .customer-file-kpis span{font-size:.7rem!important;}
  .customer-file-kpis strong{font-size:.96rem!important;}
  .customer-file-tabs-compact{top:0;padding:5px!important;gap:3px!important;border-radius:13px!important;}
  .customer-file-tabs-compact a{min-height:35px;padding:7px 10px;font-size:.78rem;border-radius:9px;}
  .customer-file-panels{scroll-margin-top:52px;}
  .customer-file-panel>.card,.customer-file-panel>.grid>.card{padding:15px!important;border-radius:16px!important;}
  .customer-quick-facts{grid-template-columns:1fr;gap:7px;}
  .customer-quick-facts p{padding:10px 11px;font-size:.86rem;}
  .customer-signal-row{gap:5px;}
  .customer-signal-row .customer-signal{font-size:.7rem;padding:5px 8px;}
  .followup-inline-alert.compact{display:grid;grid-template-columns:1fr;gap:7px;padding:11px!important;}
  .followup-inline-alert.compact .button{width:100%;}
}
@media(max-width:480px){
  .customer-file-head-actions{padding-right:0;}
  .customer-file-head-actions>.button:not(.customer-file-close),.customer-file-head-actions .customer-more-menu{flex:1 1 0;}
  .customer-file-head-actions>.button:not(.customer-file-close),.customer-file-head-actions .customer-more-menu>summary{width:100%;justify-content:center;text-align:center;}
  .customer-file-kpis{border-radius:16px!important;}
}

/* v2.34.64 – einheitliche, zusammengeführte Kundenakte und ruhige Heute-Seite */
.customer-file-head-compact{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 20px!important;border-radius:22px!important}
.customer-file-head-compact>div:first-child{min-width:0}.customer-file-head-compact>div:first-child>span{display:block;color:#687568;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.customer-file-head-compact h1{margin:.15rem 0 .25rem!important;font-size:clamp(1.45rem,3vw,2rem)!important;overflow:hidden;text-overflow:ellipsis}.customer-contact-line{margin:0;color:#687568;overflow-wrap:anywhere}
.customer-file-head-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.customer-file-close{order:4}.customer-file-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0!important;overflow:hidden}.customer-file-kpis>div{padding:14px 16px;border-right:1px solid #dce8d6}.customer-file-kpis>div:last-child{border-right:0}.customer-file-kpis span{display:block;color:#687568;font-size:.78rem}.customer-file-kpis strong{display:block;margin-top:3px;font-size:1.05rem}
.customer-file-tabs-compact{display:flex!important;gap:5px;overflow-x:auto;padding:8px!important;border-radius:16px!important;scrollbar-width:none}.customer-file-tabs-compact::-webkit-scrollbar{display:none}.customer-file-tabs-compact button{flex:0 0 auto;min-height:40px;padding:9px 13px!important;border-radius:11px!important;background:transparent!important;color:#667366!important;box-shadow:none!important}.customer-file-tabs-compact button.active{background:var(--tenant-color,var(--red))!important;color:#fff!important}
.customer-file-panel>.card,.customer-file-panel>.grid>.card{border-radius:18px!important;box-shadow:0 9px 24px rgba(24,58,27,.055)!important}.customer-overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr)!important}.customer-masterdata-inline>.section-head{margin-bottom:15px}.customer-masterdata-form{grid-template-columns:repeat(3,minmax(0,1fr))!important}.customer-masterdata-form textarea{min-height:92px}.customer-masterdata-form>button,.customer-masterdata-form>.button{align-self:end}
.today-context-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:15px}.today-context-actions form{margin:0}.today-more-actions{position:relative}.today-more-actions>summary{list-style:none;cursor:pointer}.today-more-actions>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;min-width:190px;padding:8px;border:1px solid #dce8d6;border-radius:14px;background:#fff;box-shadow:0 15px 34px rgba(20,45,24,.16)}.today-more-actions>div a{padding:10px;border-radius:9px;color:#243725;text-decoration:none}.today-more-actions>div a:hover{background:#f1f7ee}
.unified-workflow .workflow-action-area{display:block!important}.unified-workflow .workflow-action-card.current{min-height:0!important;padding:20px!important}.unified-workflow .workflow-action-card.current>h2{margin-bottom:8px}.unified-workflow .workflow-action-card.current>.subline{margin-bottom:16px}.today-previous-notes{margin-top:15px;border-top:1px solid #dce8d6;padding-top:12px}.today-previous-notes>summary,.workflow-consent.compact>summary{cursor:pointer;font-weight:800}.workflow-consent.compact{padding:15px 18px!important}.workflow-consent.compact[open]>summary{margin-bottom:14px}.workflow-steps{padding:8px!important;gap:5px!important;background:#f3f8f0!important}.workflow-step{min-height:56px;padding:10px!important;border-radius:12px!important}.workflow-daylist{max-height:70vh;overflow:auto}.autopilot-dashboard-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px!important}
@media(max-width:820px){
  .customer-file-head-compact{grid-template-columns:1fr;padding:14px!important}.customer-file-head-actions{display:grid!important;grid-template-columns:1fr auto auto;justify-content:stretch}.customer-file-head-actions>.button{width:auto!important}.customer-file-head-actions>.button:not(.customer-file-close):first-of-type{grid-column:1/-1}.customer-file-close{position:absolute;right:24px;top:98px;z-index:5;width:44px!important;height:44px;padding:0!important;font-size:0}.customer-file-close:after{content:'×';font-size:1.55rem}.customer-file-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-file-kpis>div:nth-child(2){border-right:0}.customer-file-kpis>div:nth-child(-n+2){border-bottom:1px solid #dce8d6}.customer-overview-grid{grid-template-columns:1fr!important}.customer-masterdata-form{grid-template-columns:1fr!important}.customer-masterdata-form .wide{grid-column:1!important}.customer-file-tabs-compact{position:sticky;top:0;z-index:6}.today-context-actions{display:grid;grid-template-columns:1fr auto}.today-context-actions>.button:first-child,.today-context-actions>form:first-child{grid-column:1/-1}.today-context-actions>form:first-child button{width:100%}.unified-day-hero{display:block!important}.unified-day-hero .tablet-kpis{display:none}.workflow-daylist{position:static;max-height:none}.autopilot-dashboard-alert{align-items:flex-start}.workflow-consent.compact .consent-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){.customer-file-head-actions{grid-template-columns:1fr 1fr}.customer-file-head-actions details{grid-column:1/-1}.customer-file-head-actions details>summary{width:100%;text-align:center}.customer-file-close{right:17px;top:90px}.customer-file-kpis{font-size:.9rem}.customer-file-tabs-compact button{padding:8px 11px!important}.workflow-step span{display:none}.workflow-steps{grid-template-columns:repeat(4,1fr)!important}.workflow-step{justify-content:center}.today-context-actions{grid-template-columns:1fr}.today-context-actions>*{grid-column:1!important;width:100%}.today-context-actions .button,.today-more-actions>summary{width:100%;text-align:center}.today-more-actions>div{left:0;right:0}}

/* v2.34.56 – fehlende responsive Komponenten fuer Kasse, Online-CMS und Medien */
.pos-cash-shell,.pos-cash-shell *{min-width:0}
.cash-tenant-status{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;overflow-wrap:anywhere}
.cash-tenant-status strong{font-size:1.05rem}
.cash-tenant-status span{color:#5d6b5e}
.pos-cash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.pos-top-actions,.pos-category-bar,.pos-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pos-search-label{display:grid;gap:6px;align-content:start}
.pos-search{display:block;width:100%;height:44px;min-height:44px;padding:9px 12px}
.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,390px);gap:18px;align-items:start;margin-top:16px}
.pos-catalog,.pos-section{display:grid;gap:12px;min-width:0}
.pos-section{margin-bottom:18px}
.pos-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pos-section-head h3{margin:0}
.pos-section-head span{color:#687568;font-size:.9rem}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}
.pos-tile{position:relative;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:5px 9px;min-height:82px;padding:10px;border:1px solid #dce7d8;border-left:7px solid var(--tile-color,#36bf24);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(26,65,28,.06);cursor:pointer;overflow:hidden}
.pos-tile:hover{border-color:#bcd9b6;box-shadow:0 8px 20px rgba(26,65,28,.12)}
.pos-tile:has(input[data-pos-check]:checked){outline:3px solid rgba(54,191,36,.25);background:#f4fff2}
.pos-tile>input[data-pos-check]{position:absolute;top:8px;right:8px;width:20px;height:20px;z-index:2}
.pos-tile-img,.pos-tile-icon{grid-row:1/-1;width:52px;height:52px;border-radius:12px;overflow:hidden;background:#eef5eb;display:grid;place-items:center}
.pos-tile-img img{display:block;width:100%!important;height:100%!important;max-width:52px!important;max-height:52px!important;object-fit:cover}
.pos-tile-icon{font-size:24px}
.pos-tile-main{display:grid;gap:3px;padding-right:18px;overflow:hidden}
.pos-tile-main b,.pos-tile-main small{overflow:hidden;text-overflow:ellipsis}
.pos-tile-main b{font-size:.94rem;line-height:1.18}
.pos-tile-main small{font-size:.75rem;color:#687568}
.pos-tile>strong{font-size:.92rem;white-space:nowrap}
.pos-cart{position:sticky;top:86px;border:1px solid #cfe2ca;border-radius:20px;background:#f8fff6;box-shadow:0 16px 38px rgba(24,70,29,.12);overflow:hidden}
.pos-cart-sticky{display:grid;gap:12px;padding:16px;max-height:calc(100vh - 110px);overflow:auto}
.pos-cart-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pos-cart-head h3{margin:0}
.pos-cart-appointment{display:grid;gap:2px;padding:10px 12px;border-radius:13px;background:#eaf7e6;border:1px solid #cde4c7}
.pos-cart-appointment span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#587058;font-weight:850}
.pos-cart-appointment strong{font-size:.9rem;overflow-wrap:anywhere}
.pos-cart-close{display:none;width:42px;height:42px;padding:0;border-radius:50%;font-size:25px}
.pos-cart-lines{display:grid;gap:8px}
.pos-cart-lines:empty:after{content:'Der Warenkorb ist leer.';display:block;padding:16px;border:1px dashed #cad8c6;border-radius:13px;color:#6b776a;text-align:center;background:#fff}
.pos-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:9px;border:1px solid #dfe8dc;border-radius:13px;background:#fff}
.pos-cart-line>div:first-child{display:grid;gap:2px}
.pos-cart-line small{color:#687568;font-size:.75rem}
.pos-qty{display:grid;grid-template-columns:32px 54px 32px;gap:3px;align-items:center}
.pos-qty button,.pos-remove{min-height:34px;padding:4px}
.pos-qty input{width:54px;min-height:34px;padding:5px;text-align:center}
.pos-remove{width:34px;background:#fff0f0;color:#a61b1b}
.pos-total{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:2px solid #d9e7d5;font-size:1.15rem}
.pos-total strong{font-size:1.35rem}
.pos-pay-grid,.pos-quick-cash,.pos-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.pos-pay-grid button,.pos-quick-cash button{background:#fff;color:#284329;border:1px solid #cfddca}
.pos-pay-grid button.active{background:var(--red);color:#fff;border-color:var(--red)}
.pos-cash-box{display:grid;gap:9px;padding:11px;border-radius:14px;background:#eef8eb}
.pos-exact-cash{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid #cfddca;border-radius:14px;background:#fff;color:#284329;cursor:pointer;text-align:center}
.pos-exact-cash>input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.pos-exact-cash>span{display:block}
.pos-exact-cash b{display:block;font-size:.9rem}
.pos-exact-cash small{display:none}
.pos-exact-cash:has(input:checked){background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 5px 14px rgba(54,191,36,.18)}
.pos-checkout{width:100%;min-height:58px;font-size:1rem}
.pos-mobile-bar{display:none}
.pos-sales-list{display:grid;gap:8px}
.pos-sale-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #e4ebe1}
.pos-sale-row>div:first-child{display:grid}
.media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.media-library-item{display:grid;grid-template-rows:150px auto auto auto auto;gap:7px;min-width:0;padding:11px;border:1px solid #dfe8db;border-radius:16px;background:#fff;overflow:hidden}
.media-library-item>img,.media-library-item>.portal-shop-image-placeholder{display:block;width:100%!important;height:150px!important;max-width:100%!important;max-height:150px!important;object-fit:contain;background:#f2f6ef;border-radius:11px}
.media-library-item strong,.media-library-item small{overflow-wrap:anywhere}
.media-path-copy{width:100%;min-width:0;font-size:.78rem}
.cms-tabs{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:5px;scrollbar-width:thin}
.cms-tabs .button{flex:0 0 auto;white-space:nowrap}
.cms-visual-editor,.cms-visual-editor *{min-width:0}
.cms-visual-editor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cms-preview-status{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eef8eb;color:#2a6229;font-size:.82rem;font-weight:800}
.cms-preview-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:14px 0}
.cms-page-picker{flex:1 1 320px}
.cms-page-picker select{width:100%}
.cms-visual-editor-layout{display:grid;grid-template-columns:minmax(460px,1.2fr) minmax(380px,.8fr);gap:22px;align-items:start}
.cms-preview-column{display:flex;justify-content:center;width:100%;min-height:620px;padding:10px;border:1px solid #dfe8da;border-radius:18px;background:#edf3ea;overflow:auto}
.cms-site-preview{display:block;width:100%;height:720px;border:0;border-radius:12px;background:#fff;box-shadow:0 10px 26px rgba(26,65,28,.12)}
.cms-preview-column[data-viewport='tablet'] .cms-site-preview{width:768px;max-width:100%}
.cms-preview-column[data-viewport='mobile'] .cms-site-preview{width:390px;max-width:100%}
.cms-settings-column{display:grid;gap:14px;min-width:0;max-height:760px;overflow:auto;padding:4px 8px 18px 2px;scrollbar-width:thin}
.cms-settings-column>h3{position:sticky;top:0;z-index:3;margin:0;padding:12px 10px;background:rgba(255,255,255,.96);border-bottom:1px solid #dfe8da}
.cms-main-settings>h3{margin-top:12px;padding:10px 12px;border-radius:12px;background:#f1f7ee}
.cms-main-settings label{padding:8px;border:1px solid transparent;border-radius:12px;transition:.18s ease}
.cms-main-settings label:focus-within,.cms-field-selected{border-color:var(--tenant-color,#36bf24)!important;background:#f4fbf1;box-shadow:0 0 0 3px rgba(54,191,36,.1)}
.cms-context-panel{padding:14px;border:1px solid #dfe8da;border-radius:16px;background:#fbfdf9}
.cms-preview-selected{outline:4px solid #36bf24!important;outline-offset:3px;cursor:pointer}
.cms-visual-editor iframe{accent-color:var(--tenant-color,#36bf24)}
.cms-settings-column>.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-visual-editor{background:#fbfdf9;border-color:#dfe8db;box-shadow:0 10px 32px rgba(24,54,24,.055)}
.cms-visual-editor-head{padding-bottom:14px;border-bottom:1px solid #e7ede4}
.cms-visual-editor-head h2{margin:.18rem 0 .35rem;font-size:1.22rem}
.cms-visual-editor-head p{max-width:850px;margin:0;color:#637064;font-size:.9rem;line-height:1.5}
.cms-editor-kicker{color:#657266;font-size:.76rem;font-weight:700;letter-spacing:.02em}
.cms-preview-status{background:#f2f7ef;border:1px solid #dce7d8;color:#49624a;font-weight:700}
.cms-preview-toolbar{padding:10px;border:1px solid #e1e9de;border-radius:14px;background:#fff}
.cms-preview-toolbar .button{min-height:36px;padding:7px 12px;border:1px solid #dce5d9;border-radius:10px;background:#fff;color:#314333;box-shadow:none;font-size:.8rem}
.cms-preview-toolbar .button[aria-pressed='true']{background:var(--tenant-color,#36bf24);border-color:var(--tenant-color,#36bf24);color:#fff}
.cms-preview-toolbar [data-cms-preview-reload]{background:#f8faf7;color:#455647}
.cms-settings-column{gap:12px;padding:0 8px 18px 0}
.cms-settings-column>h3{padding:13px 14px;background:rgba(251,253,249,.97);font-size:1.05rem;border-bottom-color:#e2e9df}
.cms-main-settings{gap:10px;padding:0 2px 4px}
.cms-main-settings>h3{margin:12px 0 0;padding:11px 13px;border:1px solid #e2eadf;border-radius:13px;background:#f7faf5;font-size:.93rem;color:#2c3c2e}
.cms-main-settings>h3:first-of-type{margin-top:0}
.cms-main-settings>.subline{margin:0;padding:0 4px;color:#768077;font-size:.76rem}
.cms-main-settings label{padding:4px;border:0;border-radius:11px;font-size:.79rem}
.cms-main-settings label>input,.cms-main-settings label>select,.cms-main-settings label>textarea{margin-top:5px;border-color:#dce5d9;background:#fff;box-shadow:none}
.cms-main-settings label:focus-within,.cms-field-selected{border-color:transparent!important;background:transparent;box-shadow:none}
.cms-main-settings label:focus-within>input,.cms-main-settings label:focus-within>select,.cms-main-settings label:focus-within>textarea,.cms-field-selected input,.cms-field-selected select,.cms-field-selected textarea{border-color:var(--tenant-color,#36bf24)!important;box-shadow:0 0 0 3px rgba(54,191,36,.09)}
.cms-main-settings>button[type='submit'],.cms-main-settings>button:not([type]){grid-column:1/-1;justify-self:end;min-height:42px;padding:9px 16px;border-radius:11px}
.cms-rich-editor{display:block;min-width:0;margin-top:5px}
.cms-rich-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:5px;border:1px solid #dce5d9;border-bottom:0;border-radius:11px 11px 0 0;background:#f7faf5}
.cms-editor-btn{min-width:34px!important;min-height:32px!important;width:auto!important;margin:0!important;padding:5px 8px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#344536!important;box-shadow:none!important;font-size:.74rem!important;font-weight:700!important;line-height:1!important}
.cms-editor-btn:hover,.cms-editor-btn:focus-visible{background:#eaf4e6!important;color:#244426!important}
.cms-editor-btn:nth-child(2),.cms-editor-btn:nth-child(5){margin-right:5px!important;border-right:1px solid #d9e3d6!important;border-radius:7px 0 0 7px!important;padding-right:10px!important}
.cms-rich-editarea{min-height:88px;padding:11px 12px;border:1px solid #dce5d9;border-radius:0 0 11px 11px;background:#fff;color:#28382a;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}
.cms-rich-editarea:focus{outline:0;border-color:var(--tenant-color,#36bf24);box-shadow:0 0 0 3px rgba(54,191,36,.09)}
.cms-rich-editarea p:first-child,.cms-rich-editarea h2:first-child,.cms-rich-editarea h3:first-child{margin-top:0}
.cms-rich-editarea p:last-child{margin-bottom:0}
.catalog-product-preview{display:block;width:180px!important;height:130px!important;max-width:100%!important;object-fit:contain;border-radius:12px;background:#f2f6ef}
.cms-admin-list{display:grid;gap:14px}
.cms-admin-item{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;padding:14px;border:1px solid #dfe8da;border-radius:18px;background:#fbfdf9;overflow:hidden}
.cms-admin-preview{width:170px;height:130px;border-radius:13px;overflow:hidden;background:#eef4eb;display:grid;place-items:center;color:#718071}
.cms-admin-preview img{display:block;width:100%!important;height:100%!important;max-width:170px!important;max-height:130px!important;object-fit:contain}
.cms-admin-item .cms-block-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-move-actions,.cms-delete-form{grid-column:2}
.public-portal img{max-width:100%;height:auto}
.portal-cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-cms-block{display:grid;gap:14px;min-width:0;padding:0;overflow:hidden;background:#fff;border:1px solid #e4eee0;border-radius:24px;box-shadow:0 16px 45px rgba(24,54,24,.08)}
.portal-cms-block.wide{grid-column:1/-1}
.portal-cms-block-body{padding:20px;min-width:0;overflow-wrap:anywhere}
.portal-cms-image-button,.portal-shop-image-button{display:block;width:100%;height:210px;padding:0;border:0;border-radius:0;background:#eef4eb;overflow:hidden;box-shadow:none}
.portal-cms-image-button img,.portal-shop-image-button img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:210px!important;object-fit:cover}
.portal-cms-image_left,.portal-cms-image_right{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:stretch}
.portal-cms-image_left .portal-cms-image-button,.portal-cms-image_right .portal-cms-image-button{height:100%;min-height:220px}
.portal-cms-image_right .portal-cms-image-button{order:2}
.portal-cms-notice{background:#f3faef;border-left:7px solid var(--tenant-color,#36bf24)}
.portal-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.portal-shop-product{display:flex;min-width:0;flex-direction:column;gap:8px;padding:0 0 18px;overflow:hidden;background:#fff;border:1px solid #e4eee0;border-radius:22px;box-shadow:0 14px 36px rgba(24,54,24,.08)}
.portal-shop-product>span,.portal-shop-product>h3,.portal-shop-product>p,.portal-shop-product>.portal-meta,.portal-shop-product>.portal-add-cart{margin-left:18px;margin-right:18px}
.portal-shop-product>span{margin-top:8px;color:var(--tenant-color,#36bf24);font-weight:800;font-size:.8rem}
.portal-shop-product>h3{margin-top:0;margin-bottom:0;overflow-wrap:anywhere}
.portal-shop-product>p{flex:1;color:#5e695f;line-height:1.45}
.portal-shop-image-button img.fit-contain{object-fit:contain;background:#f5f7f3}
.portal-shop-image-placeholder{display:grid;place-items:center;height:210px;background:#eef4eb;font-size:46px}
.portal-add-cart{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px}
.portal-add-cart input,.portal-add-cart button{width:100%}
.portal-contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}
.portal-cart-lines{display:grid;gap:9px}
.portal-cart-lines>label{display:grid;grid-template-columns:minmax(0,1fr) 80px auto;gap:10px;align-items:center;padding:10px;border:1px solid #e1eadf;border-radius:13px;background:#fbfdf9}
.portal-cart-lines span,.portal-cart-lines small{display:block;min-width:0;overflow-wrap:anywhere}
.portal-cart-lines small{color:#687568}
.portal-cart-total{text-align:right;font-size:1.15rem}
.portal-image-lightbox[hidden]{display:none}
.portal-image-lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:22px;background:rgba(9,18,10,.82)}
.portal-image-lightbox img{display:block;max-width:min(100%,1000px);max-height:82vh;object-fit:contain;border-radius:16px;background:#fff}
.portal-image-lightbox strong{position:absolute;left:20px;bottom:18px;color:#fff}
.portal-image-lightbox-close{position:absolute;right:18px;top:18px;width:48px;height:48px;padding:0;border-radius:50%;font-size:28px}
@media(max-width:1000px){
  .pos-layout{grid-template-columns:minmax(0,1fr)}
  .pos-cart{position:fixed;inset:0;z-index:120;display:none;padding:12px;background:rgba(20,35,22,.44);border:0;border-radius:0;overflow:auto}
  .pos-cart.open{display:flex;align-items:flex-end}
  .pos-cart-sticky{width:100%;max-height:88vh;padding:16px;border-radius:22px 22px 0 0;background:#f8fff6;box-shadow:0 -18px 42px rgba(0,0,0,.2)}
  .pos-cart-close{display:grid;place-items:center}
  body.pos-cart-is-open{overflow:hidden}
  .pos-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:110;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px max(10px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#fff;border-top:1px solid #cadcc5;box-shadow:0 -8px 28px rgba(19,61,22,.18)}
  .pos-mobile-actions{display:flex;gap:7px}
  .pos-mobile-actions button{min-height:44px;padding:9px 12px}
  .pos-cash-shell{padding-bottom:76px}
  .cms-visual-editor-layout{grid-template-columns:1fr}
  .cms-settings-column{max-height:none;overflow:visible}
  .cms-preview-column{min-height:500px}
  .cms-site-preview{height:620px}
  .cms-admin-item{grid-template-columns:130px minmax(0,1fr)}
  .cms-admin-preview{width:130px;height:110px}
  .cms-move-actions,.cms-delete-form{grid-column:2}
}
@media(max-width:640px){
  .cash-tenant-status{display:grid;gap:5px;padding:13px;font-size:.86rem;line-height:1.35}
  .cash-tenant-status strong{font-size:1rem}
  .pos-cash-head{display:grid}
  .pos-top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .pos-top-actions .button{width:100%;text-align:center}
  .pos-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .pos-tabs button{width:100%;min-height:42px;padding:7px 5px;font-size:.78rem}
  .pos-category-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}
  .pos-category-bar button{flex:0 0 auto;min-height:38px;padding:7px 11px}
  .pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pos-tile{grid-template-columns:42px minmax(0,1fr);min-height:76px;padding:8px;border-left-width:5px}
  .pos-tile-img,.pos-tile-icon{width:42px;height:42px}
  .pos-tile-img img{max-width:42px!important;max-height:42px!important}
  .pos-tile>strong{grid-column:2;font-size:.82rem}
  .pos-tile-main b{font-size:.84rem}
  .pos-tile-main small{font-size:.69rem;white-space:normal}
  .pos-mobile-bar>span{font-size:.82rem}
  .pos-mobile-actions button{padding:8px;font-size:.78rem}
  .pos-cart-line{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .pos-cart-line>.pos-qty{grid-column:1}
  .pos-cart-line>strong{grid-column:2;grid-row:2}
  .pos-cart-line>.pos-remove{grid-column:2;grid-row:1}
  .pos-pay-grid,.pos-quick-cash,.pos-mini-grid{grid-template-columns:1fr 1fr}
  .pos-sale-row{grid-template-columns:1fr auto}
  .pos-sale-row>span,.pos-sale-row>div:last-child{grid-column:1/-1}
  .media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .media-library-item{grid-template-rows:105px auto auto auto auto;padding:8px}
  .media-library-item>img,.media-library-item>.portal-shop-image-placeholder{height:105px!important;max-height:105px!important}
  .media-library-item strong{font-size:.84rem}
  .media-library-item small,.media-path-copy{font-size:.7rem}
  .cms-visual-editor{padding:12px}
  .cms-visual-editor-head{display:grid;gap:8px}
  .cms-preview-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-page-picker{grid-column:1/-1}
  .cms-preview-toolbar button{width:100%;font-size:.76rem;padding:7px}
  .cms-preview-column{min-height:410px;padding:6px}
  .cms-site-preview{height:520px}
  .cms-settings-column>.formgrid{grid-template-columns:1fr}
  .cms-settings-column>.formgrid .wide{grid-column:1}
  .cms-preview-toolbar{gap:6px;padding:8px}
  .cms-preview-toolbar .button{min-height:40px;padding:7px 8px}
  .cms-main-settings>h3{padding:10px 11px}
  .cms-main-settings>button[type='submit'],.cms-main-settings>button:not([type]){position:sticky;bottom:8px;z-index:4;width:100%;justify-self:stretch;box-shadow:0 8px 22px rgba(35,91,34,.18)}
  .cms-rich-toolbar{gap:2px}
  .cms-editor-btn{min-height:38px!important;padding:6px 9px!important}
  .cms-admin-item{grid-template-columns:1fr;padding:10px}
  .cms-admin-preview{width:100%;height:150px}
  .cms-admin-preview img{max-width:100%!important;max-height:150px!important}
  .cms-admin-item .cms-block-form{grid-template-columns:1fr}
  .cms-admin-item .cms-block-form .wide{grid-column:1}
  .cms-move-actions,.cms-delete-form{grid-column:1}
  .portal-cms-grid,.portal-contact-grid{grid-template-columns:1fr}
  .portal-cms-block.wide{grid-column:auto}
  .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,.portal-shop-image-button{height:170px}
  .portal-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .portal-shop-product{border-radius:17px;padding-bottom:12px}
  .portal-shop-product>span,.portal-shop-product>h3,.portal-shop-product>p,.portal-shop-product>.portal-meta,.portal-shop-product>.portal-add-cart{margin-left:11px;margin-right:11px}
  .portal-shop-product>p{font-size:.84rem}
  .portal-add-cart{grid-template-columns:1fr}
  .portal-cart-lines>label{grid-template-columns:minmax(0,1fr) 70px}
  .portal-cart-lines>label>b{grid-column:1/-1;text-align:right}
}
@media(max-width:380px){.pos-grid,.media-library-grid,.portal-shop-grid{grid-template-columns:1fr}}

/* v2.34.57 – fokussierte Touch-Kasse */
.pos-page-title{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1220px;margin:0 auto 12px}
.pos-page-title span{display:block;color:#687568;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.pos-page-title h1{margin:2px 0 0;font-size:1.7rem}
.cash-tenant-status{padding:11px 15px!important;margin-bottom:12px!important}
.cash-tenant-status details{margin-left:auto}
.cash-tenant-status summary{cursor:pointer;font-weight:800;color:#526253}
.cash-tenant-status small{display:block;margin-top:5px;max-width:700px;color:#687568}
.pos-cash-shell{padding:14px!important}
.pos-cash-head h2{margin-bottom:0}
.pos-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.pos-customer-row{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(280px,1.35fr);gap:10px;margin-bottom:12px}
.pos-open-appts{margin:8px 0 12px;padding:10px;border:1px solid #dce7d8;border-radius:15px;background:#f8fbf6}
.pos-open-appts>summary{cursor:pointer;font-weight:850}
.pos-appt-strip{display:flex;gap:8px;overflow-x:auto;padding:9px 0 2px}
.pos-appt-card{display:grid;flex:0 0 180px;gap:2px;padding:10px;border:1px solid #dbe6d7;border-radius:13px;background:#fff;color:#26372b;text-decoration:none!important}
.pos-appt-card strong{color:var(--red)}
.pos-appt-card span,.pos-appt-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-appt-card small{color:#687568}
.pos-appt-card.active{outline:3px solid rgba(54,191,36,.25);border-color:var(--red)}
.pos-tabs{position:sticky;top:76px;z-index:5;flex-wrap:nowrap;overflow-x:auto;padding:7px;border:1px solid #dce7d8;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 7px 18px rgba(30,70,31,.08)}
.pos-tabs button{flex:0 0 auto;min-height:40px;padding:8px 14px;background:#edf5ea;color:#29462b;border:1px solid transparent}
.pos-tabs button.active{background:var(--red);color:#fff}
.pos-tile.service-tile{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(42px,auto) auto}
.pos-tile.service-tile .pos-tile-main{grid-column:1/-1;grid-row:1;padding-right:25px;align-self:start}
.pos-tile.service-tile>strong{grid-column:2;grid-row:2;align-self:end}
.pos-tile>input[data-pos-check]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.pos-tile:after{content:'+';position:absolute;right:9px;top:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf5ea;color:#315433;font-size:18px;font-weight:900}
.pos-tile:has(input[data-pos-check]:checked):after{content:'✓';background:var(--red);color:#fff}
.pos-tile-main b{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;line-height:1.24}
.pos-tile-main small{white-space:normal;line-height:1.25}
.pos-tile.product-tile{grid-template-columns:54px minmax(0,1fr);grid-template-rows:minmax(56px,auto) auto}
.pos-tile.product-tile .pos-tile-img,.pos-tile.product-tile .pos-tile-icon{grid-column:1;grid-row:1/-1}
.pos-tile.product-tile .pos-tile-main{grid-column:2;grid-row:1;padding-right:25px;align-self:start}
.pos-tile.product-tile>strong{grid-column:2;grid-row:2;align-self:end}
.pos-voucher-dialog[hidden]{display:none!important}
.pos-voucher-dialog{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(14,31,17,.62);backdrop-filter:blur(3px)}
.pos-voucher-dialog-card{display:grid;gap:14px;width:min(760px,100%);max-height:92vh;overflow:auto;padding:18px;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.pos-voucher-dialog .pos-section-head{align-items:center}
.pos-voucher-dialog .pos-section-head h3{font-size:1.4rem}
.pos-voucher-dialog .pos-section-head span{font-size:.72rem;text-transform:uppercase;font-weight:850;letter-spacing:.05em}
.pos-dialog-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;font-size:26px}
.pos-voucher-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pos-option-card{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:14px;border:1px solid #dce7d8;border-radius:16px;background:#f9fcf7}
.pos-option-card>input{width:24px;height:24px}
.pos-option-card>span{display:grid;gap:8px;min-width:0}
.pos-option-card input,.pos-option-card select,.pos-option-card button{width:100%;min-width:0}
.pos-dialog-done{justify-self:end}
body.pos-dialog-is-open{overflow:hidden}
.pos-tools-card{margin-top:14px;box-shadow:none!important;background:#fafcf9!important}
.pos-tools-card>details>summary{cursor:pointer}

@media(max-width:900px){
  .route-cash_register .app-content{padding-bottom:90px}
  .route-cash_register .app-search{display:none!important}
  .route-cash_register .app-topbar{grid-template-columns:auto minmax(0,1fr) auto!important;min-height:62px;padding:8px 12px!important;gap:9px!important}
  .route-cash_register .app-brand img{width:42px!important;height:42px!important;max-width:42px!important}
  .route-cash_register .app-brand div{min-width:0}
  .route-cash_register .app-brand strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem!important}
  .route-cash_register .app-brand span{display:none}
  .route-cash_register .app-quick-actions .button{display:none}
  .route-cash_register .app-quick-actions .button:nth-child(2){display:inline-flex;min-height:42px;padding:8px 11px}
  .route-cash_register .bottom{display:none}
  .pos-page-title{margin-bottom:8px}
  .pos-page-title h1{font-size:1.35rem}
  .cash-tenant-status details{margin-left:0;width:100%}
  .pos-cash-head{display:none}
  .pos-customer-row{grid-template-columns:1fr}
  .pos-tabs{top:64px}
  .pos-tools-card,.pos-history-card{display:none!important}
}
@media(max-width:640px){
  .route-cash_register .app-content{padding-left:8px!important;padding-right:8px!important;padding-top:9px!important}
  .pos-page-title{padding:0 3px}
  .cash-tenant-status{display:flex!important;padding:9px 11px!important;border-radius:14px!important}
  .cash-tenant-status>strong{font-size:.92rem}
  .cash-tenant-status>span{font-size:.78rem}
  .cash-tenant-status details{display:none}
  .pos-cash-shell{padding:10px!important;border-radius:17px!important}
  .pos-open-appts{padding:8px}
  .pos-appt-card{flex-basis:155px}
  .pos-tabs{display:flex;width:calc(100% + 4px);margin-left:-2px;gap:5px}
  .pos-tabs button{width:auto;min-height:38px;padding:7px 11px;font-size:.76rem}
  .pos-section-head{align-items:center}
  .pos-section-head h3{font-size:1.15rem}
  .pos-section-head span{font-size:.78rem}
  .pos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pos-tile{min-height:112px!important;padding:10px!important;border-radius:15px!important}
  .pos-tile.service-tile{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:minmax(58px,auto) auto!important}
  .pos-tile-main b{font-size:.83rem!important;-webkit-line-clamp:3;line-clamp:3}
  .pos-tile-main small{font-size:.69rem!important;color:#687568}
  .pos-tile>strong{font-size:.88rem!important}
  .pos-tile.product-tile{grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:minmax(65px,auto) auto!important}
  .pos-tile.product-tile .pos-tile-img,.pos-tile.product-tile .pos-tile-icon{width:42px;height:52px}
  .pos-tile.product-tile .pos-tile-img img{max-width:42px!important;max-height:52px!important;object-fit:contain}
  .pos-tile.product-tile>strong{grid-column:2!important;grid-row:2!important}
  .pos-voucher-dialog{align-items:flex-end;padding:0}
  .pos-voucher-dialog-card{max-height:92vh;padding:14px;border-radius:22px 22px 0 0}
  .pos-voucher-choice{grid-template-columns:1fr}
  .pos-option-card{padding:12px}
  .active-voucher-list table{min-width:430px}
  .pos-mobile-bar{padding-top:8px}
  .pos-mobile-actions{margin-left:auto}
  .pos-mobile-actions button{min-width:145px;font-size:.82rem}
}
@media(max-width:370px){
  .pos-grid{grid-template-columns:1fr}
  .pos-tile{min-height:88px!important}
}

/* v2.34.55 – Tageszentrale und direkt anklickbare Wochenübersicht */
.app-modern-shell .dashboard-view-switch{max-width:1220px;margin-left:auto;margin-right:auto;padding:16px 18px!important;border-radius:22px!important}
.app-modern-shell .tablet-hero{max-width:1220px;margin-left:auto;margin-right:auto}
.app-modern-shell .unified-day-hero,.app-modern-shell .unified-week-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:16px;align-items:stretch}
.app-modern-shell .tablet-hero-main{background:linear-gradient(135deg,#fff,#f5fbf2)!important}
.app-modern-shell .tablet-hero-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center}
.app-modern-shell .tablet-hero-head>span{font-size:.78rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#5f735f}
.app-modern-shell .tablet-hero-head>strong{font-size:1rem;color:#264429}
.app-modern-shell .tablet-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}
.app-modern-shell .tablet-action-grid .button{width:100%;margin:0;text-align:center}
.app-modern-shell .week-overview-grid{max-width:1220px;margin:16px auto 22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.app-modern-shell .week-day-card{position:relative;min-width:0;min-height:235px;margin:0!important;padding:16px!important;border-radius:21px!important;cursor:pointer;outline-offset:3px}
.app-modern-shell .week-day-card:hover,.app-modern-shell .week-day-card:focus-visible{border-color:color-mix(in srgb,var(--tenant-color,#36bf24) 42%,#dce7d6)!important;box-shadow:0 17px 36px rgba(25,55,28,.13)!important;transform:translateY(-2px);outline:none}
.app-modern-shell .week-day-card.today{background:linear-gradient(145deg,#f5fff1,#fff)!important;outline:3px solid color-mix(in srgb,var(--tenant-color,#36bf24) 25%,transparent)}
.week-day-new-hint{display:inline-flex;align-items:center;align-self:flex-start;min-height:30px;padding:5px 9px;border-radius:999px;background:#edf8e9;color:#287423;font-size:.78rem;font-weight:850}
.week-day-card .empty-state{flex:1;display:grid;place-items:center;min-height:80px;margin:0;border:1px dashed #cfddca;border-radius:15px;background:#fbfdf9;color:#718071}
.week-appointment-list{position:relative;z-index:2}
.week-appointment-card{overflow:hidden}
.week-appointment-card strong,.week-appointment-card span,.week-appointment-card small{overflow-wrap:anywhere}
.app-modern-shell .unified-workflow{max-width:1220px;margin-left:auto;margin-right:auto}
@media(max-width:980px){
  .app-modern-shell .unified-day-hero,.app-modern-shell .unified-week-hero{grid-template-columns:1fr}
  .app-modern-shell .week-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .app-modern-shell .week-overview-grid{grid-template-columns:1fr;gap:11px}
  .app-modern-shell .week-day-card{min-height:0;padding:14px!important;border-radius:18px!important}
  .app-modern-shell .tablet-action-grid{grid-template-columns:1fr}
  .app-modern-shell .dashboard-view-switch{padding:14px!important}
}
@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;}
[data-customer-direct-edit]{cursor:pointer;}
[data-customer-direct-edit]:focus-visible{outline:3px solid var(--tenant-color,#36bf24);outline-offset:3px;}

/* v2.34.52: Kunden am Desktop als klare Zeilen, mobil als eigenständige Karten. */
.customer-clean-list{display:grid;gap:8px;}
.customer-clean-row{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(170px,.95fr) 112px 120px auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e1eadc;border-radius:18px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.customer-clean-row:hover{border-color:#b9dcb2;box-shadow:0 10px 24px rgba(27,72,31,.08);transform:translateY(-1px);}
.customer-clean-main{display:flex;align-items:center;gap:11px;min-width:0;color:inherit!important;text-decoration:none!important;}
.customer-clean-main>span:last-child{display:grid;min-width:0;}
.customer-clean-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f8f1b;}
.customer-clean-main small,.customer-clean-contact small,.customer-clean-status small{color:#687568;}
.customer-clean-contact,.customer-clean-status{display:grid;gap:3px;min-width:0;}
.customer-clean-contact a,.customer-clean-contact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.customer-clean-dates{display:grid;grid-template-columns:1fr;gap:5px;}
.customer-clean-dates span{display:grid;font-size:.88rem;}
.customer-clean-dates b{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#748174;}
.customer-clean-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.customer-clean-actions .button,.customer-clean-actions button{margin:0!important;white-space:nowrap;}
.customer-row-more{position:relative;}
.customer-row-more>summary{cursor:pointer;list-style:none;padding:8px 10px;border:1px solid #dfe8da;border-radius:12px;font-weight:750;}
.customer-row-more>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:160px;display:grid;gap:8px;padding:10px;border:1px solid #dfe8da;border-radius:14px;background:#fff;box-shadow:0 14px 34px rgba(20,45,24,.16);}
.customer-mobile-list{display:none;}
.appointments-next-card{display:none!important;}

/* Seitenmenü und Mandantenwechsel als klarer, vertikaler Block. */
.app-sidebar .app-tenant-section{display:block;min-width:0;}
.app-sidebar .tenant-switcher-menu{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:5px!important;margin:0!important;padding:11px!important;min-width:0;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;}
.app-sidebar .tenant-switcher-label{font-size:.7rem!important;line-height:1.2;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.62)!important;}
.app-sidebar .tenant-switcher-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff!important;font-size:.98rem;line-height:1.35;}
.app-sidebar .tenant-switcher-action{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px;width:100%!important;min-height:40px!important;margin:5px 0 0!important;padding:8px 10px!important;border-color:rgba(255,255,255,.25)!important;background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important;white-space:normal;text-align:left;}
.app-sidebar .tenant-switcher-action:hover{background:rgba(255,255,255,.2)!important;}
.app-sidebar .tenant-switcher-action span{color:#fff!important;font-size:1rem;}
.app-sidebar .app-nav-list{min-width:0;}
.app-sidebar .app-nav-item{min-width:0;}
.app-sidebar .app-nav-item b{min-width:0;overflow-wrap:anywhere;}

@media(max-width:1050px){
  .customer-clean-row{grid-template-columns:minmax(200px,1.3fr) minmax(150px,.9fr) 104px 108px;}
  .customer-clean-actions{grid-column:1/-1;justify-content:flex-start;padding-left:54px;}
}
@media(max-width:820px){
  .customer-clean-list{display:none;}
  .customer-mobile-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .customer-mobile-row-compact{display:grid;gap:11px;padding:15px;border:1px solid #dfe9da;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(26,62,29,.07);min-width:0;}
  .customer-compact-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .customer-compact-name{font-size:1.02rem;font-weight:850;color:#1f971b!important;text-decoration:none!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .customer-compact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;font-size:.86rem;}
  .customer-compact-info-grid span{display:grid;min-width:0;overflow-wrap:anywhere;}
  .customer-compact-info-grid b{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#748174;}
  .customer-compact-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#687568;font-size:.86rem;}
  .customer-compact-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;}
  .customer-compact-actions>.button{width:100%;justify-content:center;}
  .customer-compact-more{position:relative;}
  .customer-compact-more>summary{display:grid;place-items:center;width:44px;height:42px;list-style:none;border:1px solid #dfe8da;border-radius:13px;font-size:1.3rem;cursor:pointer;}
  .customer-compact-menu{position:absolute;right:0;bottom:calc(100% + 7px);z-index:30;min-width:190px;display:grid;gap:3px;padding:8px;border:1px solid #dfe8da;border-radius:15px;background:#fff;box-shadow:0 16px 38px rgba(20,45,24,.2);}
  .customer-compact-menu a{padding:10px;border-radius:10px;text-decoration:none!important;}
  .customer-compact-menu a:hover{background:#f0f8ed;}
}
@media(max-width:560px){
  .customer-mobile-list{grid-template-columns:1fr;}
  .customer-mobile-row-compact{border-radius:18px;padding:14px;}
}
.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 */

/* v2.34.53 – einheitliches Layout und schlanke Mehrpersonen-Auswahl */
.appointment-customer-picker{display:grid;gap:10px;padding:14px;border:1px solid #dce8d6;border-radius:18px;background:#f8fcf6;min-width:0}
.appointment-customer-picker legend{padding:0 6px;font-weight:900;color:#233b25}
.appointment-customer-search{position:relative;display:grid;gap:6px;min-width:0}
.appointment-customer-search>label{font-weight:800}
.appointment-customer-searchbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.appointment-customer-searchbox input{width:100%;min-width:0}
.appointment-customer-results{position:absolute;left:0;right:0;top:100%;z-index:80;max-height:260px;overflow:auto;margin-top:5px;padding:6px;border:1px solid #cfdcc9;border-radius:15px;background:#fff;box-shadow:0 18px 38px rgba(20,45,24,.18)}
.appointment-customer-result{display:grid;width:100%;gap:2px;padding:10px 12px;border:0;border-radius:10px;background:#fff;color:#203423;text-align:left;box-shadow:none}
.appointment-customer-result:hover,.appointment-customer-result:focus{background:#eef8eb;outline:2px solid rgba(54,191,36,.3)}
.appointment-customer-result small,.appointment-customer-result-note{color:#687568;font-weight:500}
.appointment-customer-result-note{padding:11px}
.appointment-customer-selected{display:flex;flex-wrap:wrap;gap:7px;min-height:28px;align-items:center}
.appointment-customer-token{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 7px 6px 11px;border:1px solid #cde2c7;border-radius:999px;background:#fff;color:#244426;font-weight:800}
.appointment-customer-token>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appointment-customer-token button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:#e8f3e5;color:#315632;box-shadow:none;font-size:18px;line-height:1}
.appointment-person-summary{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;padding-top:8px;border-top:1px solid #dce8d6}
.appointment-person-summary small{color:#687568}
.appointments-next-card{display:none!important}
.app-modern-shell .app-content>h1{max-width:1220px;margin:0 auto 18px}
.app-modern-shell .app-content>.card,.app-modern-shell .app-content>.grid,.app-modern-shell .app-content>.split,.app-modern-shell .app-content>.studio-scheduler-shell{max-width:1220px;margin-left:auto;margin-right:auto}
.app-modern-shell .card>table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.app-modern-shell .settings-details{border:1px solid #dfe9da;border-radius:18px;background:#fff;overflow:hidden}
.app-modern-shell .settings-details>summary{padding:14px 16px;cursor:pointer;font-weight:850;background:#f8fbf6}
.app-modern-shell .formgrid>button:not(.small){min-height:44px}
.app-sidebar .app-tenant-section{display:grid;gap:6px;min-width:0}
.app-sidebar .tenant-switcher{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;width:100%!important;min-width:0!important}
.app-sidebar .tenant-switcher-current{min-width:0;width:100%}
@media(max-width:760px){
  .appointment-customer-picker{padding:12px;border-radius:15px}
  .appointment-customer-searchbox{grid-template-columns:1fr}
  .appointment-customer-searchbox .button{width:100%}
  .appointment-customer-results{position:static;max-height:220px;box-shadow:0 10px 22px rgba(20,45,24,.12)}
  .appointment-customer-token{width:100%;justify-content:space-between;border-radius:13px}
  .app-modern-shell .inline{display:grid;grid-template-columns:1fr;gap:10px}
  .app-modern-shell .inline>.button,.app-modern-shell .inline>button{width:100%}
  .app-modern-shell .card>table{font-size:.88rem}
  .app-modern-shell .formgrid{grid-template-columns:1fr!important}
  .app-modern-shell .formgrid .wide{grid-column:1!important}
}

/* v2.34.66 – abschließende mobile Priorität nach sämtlichen Altregeln */
@media(max-width:820px){
  body.customer-file-view .customer-file-head-compact{position:relative;grid-template-columns:1fr!important;gap:10px!important;padding:13px 14px!important;border-radius:18px!important}
  body.customer-file-view .customer-file-head-compact>div:first-child{padding-right:42px}
  body.customer-file-view .customer-file-head-compact h1{margin:0!important;font-size:1.35rem!important;line-height:1.18}
  body.customer-file-view .customer-file-head-actions{display:flex!important;grid-template-columns:none!important;gap:7px!important;justify-content:flex-start!important}
  body.customer-file-view .customer-file-head-actions>.button:not(.customer-file-close){grid-column:auto!important;min-height:38px!important;padding:7px 11px!important;font-size:.82rem!important;width:auto!important}
  body.customer-file-view .customer-file-head-actions .customer-more-menu{grid-column:auto!important}
  body.customer-file-view .customer-file-head-actions .customer-more-menu>summary{min-height:38px!important;padding:7px 11px!important;font-size:.82rem!important;width:auto!important}
  body.customer-file-view .customer-file-close{position:absolute!important;right:12px!important;top:12px!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important}
  body.customer-file-view .customer-file-tabs-compact{position:sticky;top:0;z-index:6;padding:5px!important;gap:3px!important;border-radius:13px!important}
  body.customer-file-view .customer-file-tabs-compact a{min-height:35px;padding:7px 10px;font-size:.78rem;border-radius:9px}
}
@media(max-width:480px){
  body.customer-file-view .customer-file-head-actions>.button:not(.customer-file-close),body.customer-file-view .customer-file-head-actions .customer-more-menu{flex:1 1 0}
  body.customer-file-view .customer-file-head-actions>.button:not(.customer-file-close),body.customer-file-view .customer-file-head-actions .customer-more-menu>summary{width:100%!important;justify-content:center;text-align:center}
}


/* v2.34.91: Katalog Leistungen mobil bearbeitbar */
.catalog-services-mobile{display:none}
@media(max-width:720px){
  .catalog-services-desktop{display:none!important}
  .catalog-services-mobile{display:grid;gap:10px}
  .catalog-service-card{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;box-shadow:0 4px 12px rgba(30,70,31,.06)}
  .catalog-service-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
  .catalog-service-head .swatch{width:26px;height:18px;border-radius:6px}
  .catalog-service-head strong{display:block;font-size:1rem;line-height:1.2}
  .catalog-service-head small{display:block;margin-top:2px;color:var(--muted)}
  .catalog-service-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
  .catalog-service-meta span{display:flex;flex-direction:column;padding:8px 10px;border-radius:12px;background:#f7faf6}
  .catalog-service-meta b{font-size:.72rem;color:var(--muted);margin-bottom:2px}
  .catalog-service-actions{display:flex;gap:8px;align-items:center;margin-top:12px}
  .catalog-service-actions form{margin:0;display:inline-flex}
  .catalog-service-actions .button{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
  #leistungen>details[open]>summary{margin-bottom:10px}
  #leistungen .compact-form{grid-template-columns:1fr!important}
  #leistungen .compact-form .wide{grid-column:auto!important}
  #leistungen .compact-form input,#leistungen .compact-form select,#leistungen .compact-form textarea,#leistungen .compact-form button,#leistungen .compact-form .button{width:100%;max-width:100%}
}


/* v2.34.93: SumUp Solo + Drucker Hinweis */
.card-payment-note{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f7faf6;
}
.card-payment-note strong{display:block;margin-bottom:5px}
.card-payment-note p{margin:.35rem 0;color:var(--muted)}
.pos-card-status{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#f7faf6;
  border:1px solid var(--line);
}
.pos-card-status strong,.pos-card-status span{display:block}
.pos-card-status span{margin-top:3px;font-size:.9rem;color:var(--muted)}


/* v2.34.95: StudioPlan System-Cockpit */
.system-cockpit-hero{align-items:center}
.system-cockpit-summary{
  display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:18px;align-items:center;
  padding:18px 20px;margin:0 0 16px;border-radius:18px;border:1px solid var(--line);background:#fff;
}
.system-cockpit-summary>div:first-child strong{display:block;font-size:1.35rem;margin-top:3px}
.system-cockpit-summary.is-ok{background:#f2fbef;border-color:#cfe9c9}
.system-cockpit-summary.has-warning{background:#fff9e9;border-color:#eadba9}
.system-cockpit-summary.has-error{background:#fff1ef;border-color:#edc8c3}
.system-cockpit-kpis{display:flex;gap:10px;flex-wrap:wrap}
.system-cockpit-kpis span{display:flex;align-items:baseline;gap:5px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.06)}
.system-cockpit-kpis b{font-size:1.1rem}
.system-cockpit-summary small{color:var(--muted);text-align:right}
.system-cockpit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.system-health-card{
  display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:17px;
  padding:15px;min-height:150px;box-shadow:0 5px 18px rgba(25,55,30,.05);transition:transform .15s ease,box-shadow .15s ease;
}
.system-health-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(25,55,30,.09)}
.system-health-card.status-error{border-left:4px solid #b72e27}
.system-health-card.status-warning{border-left:4px solid #b78316}
.system-health-card.status-ok{border-left:4px solid #3b8741}
.system-health-card.status-info{border-left:4px solid #738296}
.system-health-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.system-health-icon{font-size:1.45rem}
.system-health-card h3{margin:11px 0 6px;font-size:1rem}
.system-health-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.4}
.system-health-card small{display:block;margin-top:8px;color:var(--muted)}
.system-section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}
.system-section-head h2{margin:2px 0 0}
.system-incident-list{display:grid;gap:8px}
.system-incident{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;
  padding:11px 12px;border:1px solid var(--line);border-radius:13px;text-decoration:none;color:inherit;background:#fff;
}
.system-incident.status-error{background:#fff6f5}
.system-incident.status-warning{background:#fffaf0}
.system-incident strong,.system-incident span{display:block}
.system-incident div:nth-child(2)>span{margin-top:2px;color:var(--muted);font-size:.9rem}
.system-incident>span{font-size:1.5rem;color:var(--muted)}
.system-deep-check details>summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer}
.system-deep-check details>summary span{color:var(--muted);font-weight:400}
.system-deep-check details[open]>summary{margin-bottom:14px}
@media(max-width:1050px){.system-cockpit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .system-cockpit-summary{grid-template-columns:1fr;gap:10px}
  .system-cockpit-summary small{text-align:left}
  .system-cockpit-grid{grid-template-columns:1fr}
  .system-health-card{min-height:0}
  .system-section-head{align-items:flex-start}
  .system-deep-check details>summary{display:block}
  .system-deep-check details>summary span{display:block;margin-top:5px}
}


/* v2.34.96: Betriebsstabilität und mobile Bedienbarkeit */
.dashboard-system-alert{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;
}
@media(max-width:720px){
  .dashboard-system-alert{align-items:stretch;flex-direction:column}
  .dashboard-system-alert .button{width:100%;min-height:44px}
  .actions-row{flex-wrap:wrap}
  .actions-row>.button,.actions-row>button,.actions-row>form{max-width:100%}
  .table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .card form button,.card form .button{min-height:42px}
  input,select,textarea{font-size:16px}
}


/* v2.34.98 – CMS 2.0 */
.cms2-title-row{align-items:flex-end;margin-bottom:12px}
.cms2-title-row h1{margin:.1rem 0 .2rem}
.cms2-main-nav{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 10px;
}
.cms2-main-nav>a{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:1px 10px;
  align-items:center;min-height:68px;padding:11px 13px;border:1px solid #dfe8da;border-radius:16px;
  background:#fff;color:#2d3c2f;text-decoration:none;box-shadow:0 4px 14px rgba(26,65,28,.035);
}
.cms2-main-nav>a>span{grid-row:1/-1;font-size:1.35rem;color:#6b786d}
.cms2-main-nav>a>strong{font-size:.95rem}
.cms2-main-nav>a>small{color:#758078;font-size:.73rem}
.cms2-main-nav>a.active{border-color:var(--tenant-color,#36bf24);background:#f2f9ef;box-shadow:0 0 0 2px rgba(54,191,36,.08)}
.cms2-main-nav>a.active>span{color:var(--tenant-color,#36bf24)}
.cms2-sub-nav{
  display:flex;gap:5px;overflow-x:auto;margin:0 0 14px;padding:6px;border:1px solid #e1e9de;border-radius:14px;background:#f8fbf7;scrollbar-width:thin;
}
.cms2-sub-nav>a{flex:0 0 auto;padding:8px 12px;border-radius:9px;color:#506052;text-decoration:none;font-size:.82rem;font-weight:750}
.cms2-sub-nav>a.active{background:#fff;color:#243b26;box-shadow:0 2px 8px rgba(25,60,28,.08)}
.cms2-editor-label{display:grid;gap:2px;padding:12px 14px;border:1px solid #dfe8da;border-radius:14px;background:#f8fbf7}
.cms2-editor-label>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#78837a;font-weight:800}
.cms2-editor-label>strong{font-size:1.03rem}
.cms2-editor-label>small{color:#748076;line-height:1.35}
.cms2-editor-group{border:1px solid #dfe8da;border-radius:15px;background:#fff;overflow:hidden}
.cms2-editor-group>summary{display:grid;gap:2px;padding:12px 14px;cursor:pointer;list-style:none;background:#f8fbf7}
.cms2-editor-group>summary::-webkit-details-marker{display:none}
.cms2-editor-group>summary span{font-weight:850}
.cms2-editor-group>summary small{color:#748076}
.cms2-editor-group[open]>summary{border-bottom:1px solid #e4ece1}
.cms2-editor-group>.cms-main-settings{padding:12px}
.cms2-section-head{display:flex;justify-content:space-between;align-items:center;gap:18px}
.cms2-section-head h2{margin:.15rem 0 .25rem}
.cms2-section-head p{margin:0;max-width:760px;color:var(--muted)}
.cms2-menu-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:14px;align-items:start}
.cms2-menu-list{display:grid;gap:10px}
.cms2-menu-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.cms2-menu-card>.formgrid{grid-column:1}
.cms2-card-status{grid-column:2;display:flex;gap:8px;align-items:center;justify-content:flex-end}
.cms2-drag{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f0f5ee;color:#758076}
.cms2-card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cms2-menu-card>.cms2-card-actions{grid-column:1/-1;justify-content:flex-end;padding-top:7px;border-top:1px solid #e7ede4}
.cms2-card-actions form{margin:0}
.cms2-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cms2-service-card{display:grid;gap:11px;border-left:4px solid #cfd8cc}
.cms2-service-card.is-public{border-left-color:var(--tenant-color,#36bf24)}
.cms2-service-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cms2-service-head>div{display:grid;gap:2px}
.cms2-service-head>div>span{font-size:.72rem;color:#718073;text-transform:uppercase;letter-spacing:.04em}
.cms2-service-head>div>strong{font-size:1rem}
.cms2-service-head>div>small{color:#758078}
.cms2-toggle-row{display:flex;gap:14px;flex-wrap:wrap;padding:8px 10px;border-radius:11px;background:#f7faf5}
.cms2-toggle-row label{font-size:.82rem;font-weight:750}
.cms2-service-card>label,.cms2-service-card details{display:grid;gap:5px;font-size:.8rem;font-weight:750}
.cms2-service-card textarea{width:100%}
.cms2-service-card details{border-top:1px solid #e6ede3;padding-top:8px}
.cms2-service-card details>summary{cursor:pointer}
.cms2-sticky-save{position:sticky;bottom:10px;display:flex;justify-content:flex-end;margin-top:12px;z-index:5}
.cms2-sticky-save button{box-shadow:0 10px 26px rgba(35,90,34,.24)}
.cms2-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cms2-faq-card{display:grid;gap:8px;padding:13px;border:1px solid #e0e9dd;border-radius:14px;background:#fbfdf9}
.cms2-faq-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}
.cms2-faq-card>p{margin:0;color:#69766b;font-size:.85rem;line-height:1.45}
.cms2-category{font-size:.72rem;font-weight:800;color:#617164;text-transform:uppercase;letter-spacing:.04em}
.cms2-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cms2-hub-card{display:grid;gap:6px;min-height:150px;text-decoration:none!important;color:inherit}
.cms2-hub-card>span{font-size:1.55rem;color:var(--tenant-color,#36bf24)}
.cms2-hub-card>strong{font-size:1rem}
.cms2-hub-card>p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45}
.cms2-hub-card:hover{border-color:var(--tenant-color,#36bf24);transform:translateY(-1px)}
@media(max-width:1050px){
  .cms2-main-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cms2-menu-layout{grid-template-columns:1fr}
  .cms2-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .cms2-title-row{align-items:stretch}
  .cms2-title-row>.button{width:100%}
  .cms2-main-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .cms2-main-nav>a{min-height:58px;padding:9px 10px}
  .cms2-main-nav>a>small{display:none}
  .cms2-sub-nav{position:sticky;top:70px;z-index:6;background:rgba(248,251,247,.96)}
  .cms2-section-head{align-items:stretch;flex-direction:column}
  .cms2-section-head>.button{width:100%}
  .cms2-menu-card{grid-template-columns:1fr}
  .cms2-card-status{grid-column:1;justify-content:space-between}
  .cms2-menu-card>.formgrid{grid-column:1}
  .cms2-service-grid,.cms2-faq-grid,.cms2-hub-grid{grid-template-columns:1fr}
  .cms2-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .cms2-card-actions>*{width:100%}
  .cms2-card-actions .button{width:100%}
  .cms2-sticky-save{bottom:78px}
}


/* CMS 2.1 */
.cms21-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cms21-content-card{display:grid;gap:12px;min-height:210px}
.cms21-content-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cms21-content-card-head>div{display:grid;gap:4px;min-width:0}
.cms21-content-card-head strong{font-size:1rem;line-height:1.3}
.cms21-content-card>p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.cms21-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.78rem}
.cms21-meta code{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.cms21-shop-settings{display:grid;gap:14px}
.cms21-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #e6ede3}
.cms21-panel-title>div{display:grid;gap:3px}
.cms21-panel-title small{color:var(--muted)}
.cms21-shop-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){
  .cms21-content-grid{grid-template-columns:1fr}
  .cms21-shop-links{grid-template-columns:1fr}
}
@media(max-width:720px){
  .cms21-content-card-head,.cms21-panel-title{display:grid;grid-template-columns:1fr}
  .cms21-content-card .cms2-card-actions{grid-template-columns:1fr}
}


/* v2.34.100 – CMS 2.1 Qualitätsrunde */
.cms21-editor-card{scroll-margin-top:96px}
.cms21-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e5ece2}
.cms21-editor-head h2{margin:.12rem 0 .2rem}
.cms21-editor-head p{margin:0}
.cms21-content-grid+.card,.cms21-content-grid{margin-bottom:14px}
.cms21-content-card .cms2-card-actions{margin-top:auto;padding-top:10px;border-top:1px solid #e8eee5}
.cms21-content-card .button{white-space:nowrap}
.cms2-sub-nav{scroll-padding-inline:8px}
.cms2-sub-nav>a{min-height:36px;display:inline-flex;align-items:center}
.cms2-main-nav>a,.cms2-hub-card,.cms21-content-card,.cms2-faq-card,.cms2-service-card{transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.cms2-main-nav>a:hover,.cms2-hub-card:hover,.cms21-content-card:hover,.cms2-faq-card:hover,.cms2-service-card:hover{border-color:#cbd9c7;box-shadow:0 7px 20px rgba(25,60,28,.07)}

/* Ratgeber: Rich-Content nicht zusätzlich mit pre-wrap aufblasen */
.portal-content.rich-content{white-space:normal}
.portal-content.rich-content> :first-child{margin-top:0}
.portal-content.rich-content> :last-child{margin-bottom:0}
.portal-content.rich-content h2,.portal-content.rich-content h3{margin:1.3em 0 .55em;line-height:1.25}
.portal-content.rich-content p{margin:.65em 0}
.portal-content.rich-content ul,.portal-content.rich-content ol{margin:.7em 0;padding-left:1.4em}
.portal-content.rich-content li+li{margin-top:.25em}

/* Öffentlicher Footer */
.portal-footer{display:block;padding:24px clamp(18px,4vw,48px)}
.portal-footer-main{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1180px;margin:0 auto}
.portal-footer-copy{line-height:1.5;color:rgba(255,255,255,.86)}
.portal-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:8px 18px;flex-wrap:wrap}
.portal-footer-links a,.portal-footer-linkbutton{display:inline-flex;align-items:center;min-height:34px;padding:6px 0;color:#fff;text-decoration:none;font:inherit;font-size:.88rem;background:none;border:0;cursor:pointer}
.portal-footer-links a:hover,.portal-footer-linkbutton:hover{text-decoration:underline;text-underline-offset:3px}
.portal-footer-links a+a,.portal-footer-linkbutton+.portal-footer-links a{margin-left:0}

/* Medienverwaltung */
.cms21-media-upload details{border:0}
.cms21-media-upload summary{display:grid;gap:3px;cursor:pointer;list-style:none}
.cms21-media-upload summary::-webkit-details-marker{display:none}
.cms21-media-upload summary small{font-weight:400;color:var(--muted)}
.cms21-media-upload details[open] summary{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #e5ece2}
.cms21-media-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.35fr);gap:12px;margin:14px 0}
.cms21-media-tools label{display:grid;gap:5px;font-size:.82rem;font-weight:750}
.cms21-media-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}
.cms21-media-card{display:grid;gap:9px;align-content:start;scroll-margin-top:96px}
.cms21-media-card.is-editing{grid-column:span 2;border-color:var(--tenant-color,#36bf24);box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-color,#36bf24) 13%,transparent)}
.cms21-media-preview{display:block;overflow:hidden;border-radius:13px;background:#f3f5f1;aspect-ratio:4/3}
.cms21-media-preview img{width:100%;height:100%;object-fit:cover;display:block}
.cms21-media-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.cms21-media-card-head strong{min-width:0;overflow-wrap:anywhere}
.cms21-media-editor{margin-top:4px;padding-top:12px;border-top:1px solid #e5ece2}
.cms21-media-delete{margin:0}
.media-path-copy{width:100%;font-size:.72rem}
.media-library-item[hidden]{display:none!important}

@media(max-width:820px){
  .portal-footer-main{align-items:flex-start;flex-direction:column}
  .portal-footer-links{justify-content:flex-start;gap:6px 16px}
  .cms21-media-tools{grid-template-columns:1fr}
  .cms21-media-card.is-editing{grid-column:span 1}
}
@media(max-width:720px){
  .cms21-editor-head{display:grid;grid-template-columns:1fr}
  .cms2-sub-nav{top:64px}
  .cms2-sub-nav>a{padding:9px 11px}
  .cms21-content-card{min-height:0}
  .portal-footer{padding:20px 18px}
  .portal-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:4px 14px}
  .portal-footer-links a,.portal-footer-linkbutton{justify-content:flex-start;min-height:38px}
}
@media(max-width:430px){
  .portal-footer-links{grid-template-columns:1fr}
}


/* CMS Menü: kompakte Desktop-Zeilen */
.cms21-menu-layout{display:grid;gap:12px}
.cms21-menu-create details{border:0}
.cms21-menu-create summary{display:grid;gap:3px;cursor:pointer;list-style:none}
.cms21-menu-create summary::-webkit-details-marker{display:none}
.cms21-menu-create summary small{font-weight:400;color:var(--muted)}
.cms21-menu-create details[open] summary{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #e5ece2}
.cms21-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.cms21-menu-table{display:grid;gap:0}
.cms21-menu-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #e8eee5}
.cms21-menu-row:first-child{border-top:0}
.cms21-menu-row-head{grid-template-columns:64px minmax(180px,.7fr) minmax(260px,1.3fr) 120px 220px;padding:4px 0 8px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.cms21-menu-row-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) 120px 96px;gap:10px;align-items:center;margin:0}
.cms21-menu-row-form label{margin:0}
.cms21-menu-row-form label>span:first-child{display:none}
.cms21-menu-name input,.cms21-menu-target input{min-height:38px}
.cms21-menu-target{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(150px,1.3fr);gap:6px}
.cms21-menu-status{display:flex!important;align-items:center;gap:7px;font-size:.8rem}
.cms21-menu-save{display:flex;justify-content:flex-end}
.cms21-menu-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end}
.cms21-menu-actions form{margin:0}
.cms21-menu-actions .button{min-width:38px}
.cms21-menu-pos{font-size:.85rem;color:var(--muted)}
@media(max-width:980px){
  .cms21-menu-row-head{display:none}
  .cms21-menu-row{grid-template-columns:54px minmax(0,1fr);align-items:start;padding:12px 0}
  .cms21-menu-row-form{grid-template-columns:1fr 1fr}
  .cms21-menu-name,.cms21-menu-target{grid-column:span 1}
  .cms21-menu-target{grid-template-columns:1fr}
  .cms21-menu-status,.cms21-menu-save{align-self:end}
  .cms21-menu-actions{grid-column:2;justify-content:flex-start}
}
@media(max-width:720px){
  .cms21-menu-row{grid-template-columns:1fr}
  .cms21-menu-pos{display:none}
  .cms21-menu-row-form{grid-template-columns:1fr}
  .cms21-menu-row-form label>span:first-child{display:block;font-size:.72rem;color:var(--muted);margin-bottom:4px}
  .cms21-menu-status,.cms21-menu-save,.cms21-menu-actions{grid-column:1}
  .cms21-menu-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .cms21-menu-actions .button,.cms21-menu-actions form{width:100%}
}


/* v2.35.01 – Shop Checkout */
.shop-checkout-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 22px}
.shop-checkout-progress span{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid #e2e9df;border-radius:12px;background:#f8faf7;color:#778078}
.shop-checkout-progress span b{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:#e9eee7;color:#5f6c60;font-size:.78rem}
.shop-checkout-progress span em{font-style:normal;font-size:.8rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shop-checkout-progress span.active{border-color:var(--tenant-color,#36bf24);background:#f2f9ef;color:#243b26}
.shop-checkout-progress span.active b,.shop-checkout-progress span.done b{background:var(--tenant-color,#36bf24);color:#fff}
.shop-checkout-progress span.done{color:#4e5c50}
.shop-cart-summary,.shop-order-mini>span{display:flex;align-items:center;justify-content:space-between;gap:14px}
.shop-cart-summary{padding:14px 0 2px;font-size:1.02rem}
.shop-cart-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.shop-order-mini{display:grid;gap:8px;padding:16px;border:1px solid #e3e9e0;border-radius:16px;background:#fbfcfa;margin:12px 0 18px}
.shop-order-mini>span{padding:5px 0;border-bottom:1px solid #edf1eb}
.shop-order-mini>span:last-child{border-bottom:0}
.shop-order-mini>span.total{padding-top:10px;font-size:1.03rem}
.shop-order-mini>span.total b{font-size:1.08rem}
.shop-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shop-choice{display:flex!important;align-items:center!important;gap:10px!important;padding:13px 14px;border:1px solid #dfe7dc;border-radius:14px;background:#fafcf9;cursor:pointer}
.shop-choice:has(input:checked){border-color:var(--tenant-color,#36bf24);box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-color,#36bf24) 12%,transparent);background:#f5fbf2}
.shop-choice input{width:auto!important;margin:0}
.shop-choice span{display:grid;gap:2px}
.shop-choice small{color:var(--muted);font-weight:500}
.shop-address-form [data-shipping-address][hidden]{display:none!important}
.shop-review-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;align-items:start}
.shop-review-grid .portal-confirm-card{margin:12px 0 18px}
.shop-success-mark{display:grid;place-items:center;width:58px;height:58px;margin:4px auto 16px;border-radius:999px;background:#eaf7e6;color:#2b8b22;font-size:1.7rem;font-weight:900}
.shop-checkout-page>h1{text-align:left}
.portal-cart-lines label{align-items:center}
.portal-cart-lines [data-cart-qty]{max-width:92px}
.portal-cart-lines [data-line-total]{min-width:90px;text-align:right}
@media(max-width:720px){
  .shop-checkout-progress{grid-template-columns:repeat(4,1fr);gap:5px}
  .shop-checkout-progress span{justify-content:center;padding:8px 4px}
  .shop-checkout-progress span em{display:none}
  .shop-choice-grid,.shop-review-grid{grid-template-columns:1fr}
  .shop-cart-actions{display:grid;grid-template-columns:1fr;width:100%}
  .shop-cart-actions .button,.shop-cart-actions button{width:100%}
  .portal-cart-lines label{grid-template-columns:minmax(0,1fr) 72px}
  .portal-cart-lines [data-line-total]{grid-column:1/-1;text-align:right}
}


/* v2.35.02 – Bildauswahl mit Thumbnail */
.media-select-field{display:grid;gap:6px}
.media-select-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px;align-items:center}
.media-select-thumb-wrap{display:grid;place-items:center;width:72px;height:54px;border:1px solid #dfe7dc;border-radius:10px;background:#f6f8f5;overflow:hidden}
.media-select-thumb{width:100%;height:100%;object-fit:cover;display:block}
.media-select-empty{font-size:.68rem;color:var(--muted);text-align:center;padding:4px}
.media-select-row select{min-width:0}
@media(max-width:620px){
  .media-select-row{grid-template-columns:minmax(0,1fr) 60px}
  .media-select-thumb-wrap{width:60px;height:46px}
}


/* v2.35.03 – Shop kompakter + sichtbarer Medienpicker */
.portal-shop-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px}
.portal-shop-product{gap:6px;padding-bottom:14px;border-radius:18px}
.portal-shop-product>span,.portal-shop-product>h3,.portal-shop-product>p,.portal-shop-product>.portal-meta,.portal-shop-product>.portal-add-cart{margin-left:14px;margin-right:14px}
.portal-shop-product>p{font-size:.9rem;line-height:1.38;margin-top:4px;margin-bottom:6px}
.portal-shop-product>h3{font-size:1rem}
.portal-shop-image-button,.portal-shop-image-placeholder{height:160px}
.portal-shop-image-button img{max-height:160px!important}
.portal-add-cart{grid-template-columns:62px minmax(0,1fr);gap:6px}
.portal-add-cart input,.portal-add-cart button{min-height:38px;padding-top:7px;padding-bottom:7px}

.media-picker-thumbs{display:flex;gap:8px;overflow-x:auto;padding:7px 2px 3px;scrollbar-width:thin}
.media-picker-thumb{flex:0 0 84px;display:grid;gap:4px;padding:5px;border:1px solid #dfe7dc;border-radius:10px;background:#fff;color:inherit;box-shadow:none;cursor:pointer}
.media-picker-thumb:hover{border-color:#b9cbb5}
.media-picker-thumb.active{border-color:var(--tenant-color,#36bf24);box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-color,#36bf24) 15%,transparent)}
.media-picker-thumb img{display:block!important;width:72px!important;height:52px!important;max-width:none!important;max-height:none!important;object-fit:cover!important;border-radius:7px;background:#eef3eb}
.media-picker-thumb span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:700}
.media-picker-empty{padding:8px 10px;border:1px dashed #d7e0d4;border-radius:10px;color:var(--muted);font-size:.78rem}
.media-select-thumb[hidden],.media-select-empty[hidden]{display:none!important}
@media(max-width:640px){
  .portal-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .portal-shop-image-button,.portal-shop-image-placeholder{height:128px}
  .portal-shop-image-button img{max-height:128px!important}
  .portal-shop-product>span,.portal-shop-product>h3,.portal-shop-product>p,.portal-shop-product>.portal-meta,.portal-shop-product>.portal-add-cart{margin-left:10px;margin-right:10px}
  .portal-shop-product>p{font-size:.8rem}
  .portal-add-cart{grid-template-columns:52px minmax(0,1fr)}
  .portal-add-cart button{font-size:.75rem;padding-left:5px;padding-right:5px}
}


/* v2.35.04 – kompakte KI-Ratgeber-Entwürfe */
.ai-draft-section{scroll-margin-top:96px}
.ai-draft-list{display:grid;gap:6px;margin-top:12px}
.ai-draft-row{border:1px solid #e2e8df;border-radius:10px;background:#fff;overflow:hidden}
.ai-draft-row>summary{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(130px,.45fr) auto;gap:10px;align-items:center;padding:8px 10px;cursor:pointer;list-style:none}
.ai-draft-row>summary::-webkit-details-marker{display:none}
.ai-draft-row>summary:hover{background:#f8faf7}
.ai-draft-row[open]>summary{background:#f5f9f3;border-bottom:1px solid #e5ebe2}
.ai-draft-row>summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-draft-date,.ai-draft-source{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-draft-body{padding:12px}
.ai-draft-edit-form{margin:0}
.ai-draft-source-link{font-size:.82rem;color:var(--muted)}
.ai-draft-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #e7ece4}
.ai-draft-actions form{margin:0}
.ai-draft-archive{margin-top:14px;border-top:1px solid #e5ebe2;padding-top:12px}
.ai-draft-archive>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
.ai-draft-archive>summary::-webkit-details-marker{display:none}
.ai-draft-archive>summary small{color:var(--muted)}
.ai-draft-archive-list{display:grid;gap:5px;margin-top:10px}
.ai-draft-archive-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 9px;border:1px solid #e7ece4;border-radius:9px;background:#fafbf9}
.ai-draft-archive-row>span:first-child{font-size:.76rem;color:var(--muted)}
.ai-draft-archive-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-draft-archive-row form{margin:0}
@media(max-width:760px){
  .ai-draft-row>summary{grid-template-columns:1fr auto}
  .ai-draft-date,.ai-draft-source{grid-column:1}
  .ai-draft-row>summary strong{grid-column:1}
  .ai-draft-row>summary .badge{grid-column:2;grid-row:1/4}
  .ai-draft-archive-row{grid-template-columns:1fr auto}
  .ai-draft-archive-row>span:first-child,.ai-draft-archive-row strong{grid-column:1}
  .ai-draft-archive-row .badge,.ai-draft-archive-row form{grid-column:2}
}


/* v2.35.06 – CMS Medien + rechtssicherer Checkout */
.cms-media-hero{align-items:center}
.cms-media-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.cms-media-stat{display:grid;gap:3px;padding:14px 16px}
.cms-media-stat strong{font-size:1.4rem}
.cms-media-stat span{font-size:.78rem;color:var(--muted)}
.cms-media-upload-panel[hidden]{display:none!important}
.cms-media-browser{display:grid;gap:14px}
.cms-media-toolbar{margin-top:0}
.cms-media-design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.cms-media-design-card{overflow:hidden;border:1px solid #e1e8de;border-radius:15px;background:#fff}
.cms-media-design-card.is-editing{grid-column:span 2;border-color:var(--tenant-color,#36bf24);box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-color,#36bf24) 12%,transparent)}
.cms-media-design-preview{position:relative;display:block;height:145px;background:#eef3eb;overflow:hidden}
.cms-media-design-preview img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover}
.cms-media-design-preview>span:first-child{display:grid;place-items:center;height:100%;font-size:2rem}
.cms-media-type,.cms-media-used{position:absolute;top:7px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.9);font-size:.66rem;font-weight:800}
.cms-media-type{left:7px}
.cms-media-used{right:7px}
.cms-media-design-body{display:grid;gap:5px;padding:10px 11px}
.cms-media-design-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cms-media-design-body small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cms-media-inline-editor{padding:11px;border-top:1px solid #e5ebe2;background:#fafcf9}

.shop-legal-summary{padding:14px;border:1px solid #dfe7dc;border-radius:14px;background:#fbfcfa}
.shop-legal-summary p{margin:6px 0 10px}
.shop-legal-links{display:flex;gap:10px;flex-wrap:wrap}
.shop-legal-links a,.shop-legal-links .linkbutton{font-size:.84rem}
.shop-legal-ack{padding:12px;border:1px solid #e4e9e1;border-radius:12px;background:#fff}
.shop-order-submit{font-weight:900}
.portal-contract-withdraw{font-weight:800}
.shop-withdraw-page .portal-confirm-card{margin:14px 0}

@media(max-width:800px){
  .cms-media-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-media-design-card.is-editing{grid-column:1/-1}
}
@media(max-width:560px){
  .cms-media-design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cms-media-design-preview{height:112px}
  .cms-media-design-body{padding:8px}
  .cms-media-design-body .cms2-card-actions{display:grid}
  .cms-media-overview{gap:7px}
}


/* v2.35.07 – einheitliche Shop-Rechtsbuttons */
.shop-cart-legal-buttons,.shop-legal-links,.shop-success-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.shop-cart-legal-buttons{margin:10px 0 4px}
.shop-cart-legal-buttons .button,.shop-legal-links .button,.shop-legal-links button.button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;font-size:.8rem;font-weight:800;text-decoration:none}
.shop-success-actions{margin-top:18px}
@media(max-width:620px){
  .shop-cart-legal-buttons,.shop-legal-links,.shop-success-actions{display:grid;grid-template-columns:1fr 1fr}
  .shop-cart-legal-buttons .button,.shop-legal-links .button,.shop-success-actions .button{width:100%}
}


/* v2.35.08 – globaler Warenkorb im öffentlichen Header */
.portal-cart-widget{position:relative;margin-left:auto;z-index:40}
.portal-cart-button{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfe7dc;border-radius:12px;background:#fff;color:inherit;box-shadow:0 6px 18px rgba(40,55,42,.08);cursor:pointer}
.portal-cart-icon{font-size:1.15rem;line-height:1}
.portal-cart-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--tenant-color,#36bf24);color:#fff;font-size:.68rem;font-weight:900;border:2px solid #fff}
.portal-cart-drawer{position:absolute;right:0;top:52px;width:min(360px,calc(100vw - 24px));padding:14px;border:1px solid #dfe7dc;border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(35,50,36,.16)}
.portal-cart-drawer[hidden]{display:none!important}
.portal-cart-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e8ede6}
.portal-cart-drawer-head>div{display:grid;gap:2px}
.portal-cart-drawer-head small{color:var(--muted)}
.portal-cart-empty{margin:14px 0}
.portal-cart-drawer-lines{display:grid;gap:8px;max-height:300px;overflow:auto;padding:10px 0}
.portal-cart-drawer-line{display:flex;justify-content:space-between;gap:14px;align-items:start;padding:8px 0;border-bottom:1px solid #edf1eb}
.portal-cart-drawer-line span{display:grid;gap:2px;min-width:0}
.portal-cart-drawer-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-cart-drawer-line small{color:var(--muted)}
.portal-cart-drawer-total{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:1rem}
.portal-cart-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.portal-cart-drawer-actions .button{width:100%;justify-content:center;text-align:center}
@media(max-width:760px){
  .portal-header{grid-template-columns:auto 1fr auto auto}
  .portal-cart-widget{margin-left:0}
  .portal-cart-drawer{position:fixed;right:12px;left:12px;top:74px;width:auto;max-height:calc(100vh - 100px);overflow:auto}
}


/* v2.35.10 – mobile Header: Menü links, Warenkorb rechts nur mit Inhalt */
@media(max-width:760px){
  .portal-header{
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-areas:"menu brand cart";
    align-items:center;
  }
  .portal-menu-toggle{grid-area:menu;justify-self:start;order:0}
  .portal-brand{grid-area:brand;justify-self:center}
  .portal-cart-widget{grid-area:cart;justify-self:end;order:2}
  .portal-cart-widget.is-empty{display:none}
  .portal-cart-widget.has-items{display:block}
}


/* v2.35.11 – mobile Header endgültig links/rechts fixieren */
@media(max-width:820px){
  .portal-header{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    grid-template-areas:"menu brand cart"!important;
    align-items:center!important;
  }
  .portal-menu-toggle{
    grid-area:menu!important;
    grid-column:1/2!important;
    grid-row:1!important;
    justify-self:start!important;
    margin-left:0!important;
    margin-right:0!important;
    order:0!important;
  }
  .portal-brand{
    grid-area:brand!important;
    grid-column:2/3!important;
    grid-row:1!important;
    justify-self:center!important;
    text-align:center!important;
    max-width:none!important;
  }
  .portal-cart-widget{
    grid-area:cart!important;
    grid-column:3/4!important;
    grid-row:1!important;
    justify-self:end!important;
    margin-left:0!important;
    order:2!important;
  }
  .portal-cart-widget.is-empty{display:none!important}
  .portal-cart-widget.has-items{display:block!important}
  .portal-nav{
    grid-column:1/-1!important;
    grid-row:2!important;
  }
}
