:root{--red:#b71c1c;--redDark:#7d1515;--dark:#101014;--muted:#626270;--border:#dedee6;--bg:#ffffff;--ok:#eefaf2;--warn:#fff8e8;--soft:#fafafa}*{box-sizing:border-box}body{margin:0;background:#ffffff!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111}.portal-app,.portal-shell{width:min(1180px,100%);margin:0 auto;padding:14px;background:#ffffff!important}.portal-topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;background:white;border:1px solid var(--border);border-radius:24px;padding:22px 24px;margin-bottom:16px;box-shadow:0 16px 38px rgba(0,0,0,.06)}.portal-topbar h1{font-size:clamp(30px,4vw,44px);line-height:1.05;margin:0}.portal-head-main{display:grid;gap:12px}.portal-login-summary{border-top:1px solid var(--border);padding-top:12px}.portal-login-summary span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#686878;font-weight:900;font-size:12px}.portal-login-summary strong{display:block;font-size:24px;margin-top:2px}.portal-login-summary small{display:block;color:#555568;font-weight:800;margin-top:2px}.portal-session-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.portal-session-tools.compact{display:grid;justify-items:end}.portal-session-countdown{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:9px 13px;background:#fff}.portal-session-countdown span{font-size:12px;text-transform:uppercase;color:#666674;font-weight:900;letter-spacing:.06em}.portal-session-countdown strong{font-size:16px}.portal-session-countdown strong.warning{color:var(--red)}.portal-card{background:white;border:1px solid var(--border);border-radius:24px;padding:22px;margin-bottom:16px;box-shadow:0 16px 38px rgba(0,0,0,.06)}.portal-nav-wrap{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--border);background:#fff;border-radius:22px;padding:10px;margin-bottom:16px;box-shadow:0 10px 24px rgba(0,0,0,.04)}.portal-menu-toggle{display:none}.portal-nav{display:flex;gap:8px;flex-wrap:wrap}.portal-nav button,.portal-menu-toggle{border:1px solid var(--border);background:white;color:#111;border-radius:999px;padding:11px 14px;font-weight:900;cursor:pointer}.portal-nav button.active{background:#111116;color:#fff}.portal-nav button.disabled{background:#f1f1f4;color:#999;cursor:not-allowed}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;margin-left:6px;padding:0 6px}.portal-button{border:0;border-radius:999px;padding:12px 17px;font-weight:900;cursor:pointer;font:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.portal-button.primary{background:var(--red);color:#fff}.portal-button.secondary{background:#fff;border:1px solid var(--border);color:#111}.portal-button.ghost-danger,.portal-button.danger{background:#fff0f0;border:1px solid #ffb2b2;color:#a11111}.portal-button.inline{width:auto!important;margin-left:10px;padding:8px 12px}.portal-button:disabled{opacity:.55;cursor:not-allowed}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head.compact{margin-bottom:10px}.section-head h2{margin:0;font-size:34px}.section-head p{margin:6px 0 0;color:#56566a;font-size:16px}.status-pill{display:inline-flex;align-items:center;border:1px solid #bfe6cc;background:#eefaf2;color:#086a2d;border-radius:999px;padding:7px 10px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.04em;white-space:nowrap}.status-pill.warn{background:#fff8e8;border-color:#f0c36a;color:#7a5200}.status-pill.err{background:#fff0f0;border-color:#ffb2b2;color:#a11111}.portal-message{padding:14px;border-radius:16px;border:1px solid var(--border);background:#fff;margin:10px 0}.portal-message.ok{background:var(--ok);border-color:#bfe6cc;color:#086a2d}.portal-message.warn{background:var(--warn);border-color:#f0c36a;color:#7a5200}.portal-message.err{background:#fff0f0;border-color:#ffb2b2;color:#a11111}.portal-message.subtle{background:#fafafa;color:#555568}.portal-message.swap-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8e8;border-color:#f0c36a;color:#7a5200}.portal-message.event-day{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:8px}.portal-info-row{display:grid;grid-template-columns:180px 1fr;gap:12px;border-bottom:1px solid var(--border);padding:13px 0}.portal-info-row span{color:#59596b}.portal-info-row strong{font-weight:900}.portal-live-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.portal-live-mini>div{border:1px solid var(--border);border-radius:18px;background:#fafafa;padding:14px}.portal-live-mini span{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900;color:#696977}.portal-live-mini strong{display:block;margin-top:4px;font-size:20px}.portal-section-divider{border-top:1px solid var(--border);margin:24px 0 18px}.portal-chat-box{border:1px solid var(--border);border-radius:20px;background:#f7f7f9;padding:12px;min-height:320px;max-height:500px;overflow:auto}.portal-bubble{max-width:76%;padding:13px 14px;border-radius:18px;border:1px solid var(--border);background:white;margin:8px 0}.portal-bubble.customer{margin-left:auto;background:#fff2f2;border-color:#ffb2b2}.portal-bubble.admin{background:#eefaf2;border-color:#bfe6cc}.portal-bubble .meta{font-size:12px;font-weight:900;color:#747480;margin-bottom:4px}.portal-bubble .body{white-space:pre-wrap;line-height:1.45}.portal-bubble .receipt{text-align:right;font-size:12px;color:#5d5d68;font-weight:900;margin-top:6px}label{display:block;font-weight:900;margin-top:14px}input,textarea,select{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:16px;padding:13px 14px;font:inherit;background:white;font-weight:400!important;color:#111!important}textarea{min-height:110px;resize:vertical}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.small{font-size:13px;color:var(--muted);line-height:1.45}.portal-swap-card{border:1px solid #f0c36a;border-radius:20px;background:#fffaf0;padding:16px;margin:12px 0}.portal-toast-stack{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:99}.portal-toast{background:#111116;color:white;border-radius:16px;padding:13px 15px;box-shadow:0 16px 36px rgba(0,0,0,.22);font-weight:900}.portal-toast.ok{background:#086a2d}.portal-toast.err{background:#a11111}.portal-toast.warn{background:#8a5b00}.portal-intro-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.portal-intro-box{width:min(620px,100%);background:white;border:2px solid var(--red);box-shadow:0 24px 80px rgba(0,0,0,.34);border-radius:24px;padding:28px}.portal-intro-box h2{font-size:34px;margin:0 0 12px}.portal-intro-box p{color:#444454;line-height:1.55}.hidden{display:none!important}@media(max-width:860px){.portal-app,.portal-shell{padding:10px}.portal-topbar{display:block;padding:20px}.portal-session-tools.compact{justify-items:start;margin-top:16px}.portal-info-grid,.portal-live-mini{grid-template-columns:1fr}.portal-info-row{grid-template-columns:1fr;gap:4px}.portal-nav-wrap{display:block}.portal-menu-toggle{display:block;width:100%}.portal-nav{display:none;margin-top:10px}.portal-nav.open{display:grid}.portal-nav button{width:100%}.portal-card{padding:16px}.portal-bubble{max-width:92%}.section-head{display:block}.section-head h2{font-size:28px}.status-pill{margin-top:10px}.portal-button{width:100%}.portal-button.inline{width:100%!important;margin:10px 0 0}.portal-session-tools .portal-button{width:auto}.portal-session-countdown{width:100%;justify-content:center}.portal-message.swap-alert,.portal-message.event-day{display:block}.portal-intro-box{padding:22px}.portal-intro-box h2{font-size:28px}}

input::placeholder,textarea::placeholder{font-weight:400!important;color:#777786!important}


/* v4.23.1 Portal-Chat + weißer Embed-Hintergrund */
html,body,.portal-app,.portal-shell{background:#fff!important;}
.portal-app input,.portal-app textarea,.portal-app select{font-weight:400!important;}
.portal-agent-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:7px 10px;border:1px solid var(--border);font-size:12px;font-weight:900;white-space:nowrap;}
.portal-agent-status.online{background:#eefaf2;border-color:#bfe6cc;color:#086a2d;}
.portal-agent-status.offline{background:#fafafa;color:#626270;}
.portal-chat-panel{position:relative;display:grid;grid-template-rows:minmax(280px,1fr) auto;border:1px solid var(--border);border-radius:22px;background:#f7f7f9;overflow:hidden;}
.portal-chat-panel .portal-chat-box{border:0;border-radius:0;min-height:320px;max-height:min(62vh,620px);}
.portal-bubble{width:fit-content;max-width:76%;}
.portal-bubble.customer{background:#dcf8c6;border-color:#bfe6cc;}
.portal-bubble.admin{background:#fff;border-color:#dedee6;}
.portal-wa-compose{position:sticky;bottom:0;display:flex;align-items:flex-end;gap:8px;background:#fff;border-top:1px solid var(--border);padding:8px;}
.portal-wa-compose textarea{flex:1;min-height:42px;max-height:240px;margin:0!important;border:0!important;outline:0!important;background:transparent!important;resize:none!important;padding:10px 12px!important;line-height:1.35;overflow:hidden;}
.portal-wa-send{width:42px;height:42px;min-width:42px;border:0;border-radius:999px;background:#b71c1c;color:#fff;font-size:22px;font-weight:950;cursor:pointer;display:none;align-items:center;justify-content:center;}
.portal-wa-send.active{display:flex;}
@media(max-width:860px){.portal-agent-status{margin-top:10px}.portal-bubble{max-width:92%;}.portal-chat-panel .portal-chat-box{max-height:60vh}}

/* v4.18.5 Portal Mobile + WhatsApp-Chat-Feinschliff */
.portal-nav.always-open{display:flex!important;width:100%;}
.portal-nav.always-open button{flex:1;}
.portal-menu-toggle{display:none!important;}
.portal-chat-date{position:sticky;top:8px;z-index:3;text-align:center;margin:10px 0 12px;pointer-events:none;}
.portal-chat-date span{display:inline-flex;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:900;color:#5f6170;box-shadow:0 6px 16px rgba(0,0,0,.06);}
.portal-bubble .meta{margin-bottom:4px;}
.portal-bubble .bubble-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:5px;font-size:11px;color:#606270;font-weight:850;}
.portal-bubble .receipt{font-size:11px;color:#4d4f5c;font-weight:950;margin:0;}
.portal-bubble.customer .bubble-foot{color:#53654a;}
.portal-bubble.admin .bubble-foot{color:#666a78;}

@media(max-width:860px){
  .portal-app,.portal-shell{width:100%!important;padding:0 16px 16px!important;margin:0 auto!important;}
  .portal-topbar,.portal-card,.portal-nav-wrap{border-radius:22px!important;}
  .portal-topbar{padding:20px!important;margin:14px 0 16px!important;}
  .portal-card{padding:18px!important;}
  .portal-head-main{gap:12px!important;}
  .portal-session-tools.compact{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;flex-wrap:nowrap!important;margin-top:16px!important;}
  .portal-session-tools .portal-button{width:auto!important;white-space:nowrap!important;}
  .portal-session-countdown{width:auto!important;justify-content:center!important;white-space:nowrap!important;}
  .portal-nav-wrap{display:block!important;padding:10px!important;}
  .portal-nav.always-open{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important;}
  .portal-nav.always-open button{width:100%!important;min-height:46px!important;}
  .portal-message.swap-alert{margin-top:-6px!important;}
  .chat-head{display:block!important;}
  .portal-agent-status{display:flex!important;width:100%!important;justify-content:center!important;margin-top:12px!important;text-align:center!important;white-space:normal!important;}
  .portal-chat-panel .portal-chat-box{min-height:420px!important;max-height:62vh!important;}
  .portal-wa-compose{align-items:flex-end!important;}
  .portal-wa-send{background:#b71c1c!important;}
  .portal-bubble{max-width:88%!important;}
}

@media(max-width:420px){
  .portal-app,.portal-shell{padding-left:14px!important;padding-right:14px!important;}
  .portal-topbar h1{font-size:34px!important;}
  .portal-login-summary strong{font-size:22px!important;}
  .portal-nav.always-open button{font-size:14px!important;padding-left:8px!important;padding-right:8px!important;}
}

/* v4.18.5: mobile Rand wie Buchungsfrontend + kompakter Portal-Kopf */
@media(max-width:860px){html,body{overflow-x:hidden!important}.portal-app,.portal-shell{width:100%!important;max-width:none!important;padding:4px 6px 12px!important;margin:0!important}.portal-topbar,.portal-card,.portal-nav-wrap{margin-left:0!important;margin-right:0!important;border-radius:22px!important}.portal-topbar{padding:18px!important;margin-top:8px!important}.portal-card{padding:16px!important}.portal-session-tools.compact,.portal-session-tools{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;align-items:center!important;justify-items:stretch!important;margin-top:16px!important}.portal-session-countdown{width:100%!important;justify-content:center!important}.portal-session-tools .portal-button{width:100%!important;margin:0!important}.portal-nav-wrap{padding:10px!important}.portal-nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:0!important}.portal-nav button{width:100%!important;min-height:46px!important}.portal-menu-toggle{display:none!important}.portal-message.swap-alert{grid-column:1/-1!important;width:100%!important}.portal-agent-status.offline,.portal-agent-status.online{width:100%!important;justify-content:center!important}}
@media(max-width:420px){.portal-app,.portal-shell{padding-left:4px!important;padding-right:4px!important}.portal-topbar h1{font-size:32px!important}}

/* v4.23.1 Chat-Feinschliff: WhatsApp-Haken, kompaktere Blasen */
.portal-chat-box{padding:10px!important;}
.portal-chat-panel .portal-chat-box{display:flex!important;flex-direction:column!important;gap:6px!important;}
.portal-bubble{padding:9px 11px!important;margin:4px 0!important;border-radius:16px!important;box-shadow:0 4px 12px rgba(16,16,20,.035)!important;}
.portal-bubble .body{display:inline!important;white-space:pre-wrap!important;line-height:1.38!important;vertical-align:baseline!important;}
.portal-bubble .bubble-foot{display:inline-flex!important;align-items:baseline!important;justify-content:flex-end!important;gap:5px!important;margin:0 0 0 8px!important;font-size:11px!important;line-height:1!important;vertical-align:baseline!important;white-space:nowrap!important;}
.portal-bubble .receipt.ticks{letter-spacing:-3px!important;font-size:15px!important;font-weight:950!important;color:#8b8f9b!important;margin-left:1px!important;}
.portal-bubble .receipt.ticks.read{color:#2b83ff!important;}
.portal-bubble.customer{background:#dcf8c6!important;border-color:#bfe6cc!important;}
.portal-bubble.admin{background:#fff!important;border-color:#dedee6!important;}
.portal-chat-date{margin:7px 0 8px!important;}
.portal-chat-date span{padding:4px 10px!important;font-size:11px!important;}
.portal-wa-compose{padding:7px!important;}
.portal-wa-compose textarea{min-height:40px!important;padding:9px 11px!important;}
@media(max-width:860px){.portal-bubble{max-width:86%!important;margin:4px 0!important}.portal-chat-panel .portal-chat-box{gap:5px!important}}

/* v4.23.1 Chat: Uhrzeit rechts, engere WhatsApp-Haken, weniger Abstand */
.portal-chat-panel .portal-chat-box{gap:3px!important;padding:8px!important;}
.portal-bubble{padding:8px 10px 7px!important;margin:2px 0!important;border-radius:15px!important;}
.portal-bubble .body{display:inline!important;line-height:1.32!important;}
.portal-bubble .bubble-foot{float:right!important;display:inline-flex!important;align-items:center!important;gap:3px!important;margin:5px 0 0 8px!important;font-size:10.5px!important;line-height:1!important;white-space:nowrap!important;font-weight:850!important;}
.portal-bubble::after{content:""!important;display:block!important;clear:both!important;}
.portal-bubble .receipt.ticks{position:relative!important;display:inline-block!important;width:13px!important;height:10px!important;margin-left:1px!important;letter-spacing:0!important;font-size:0!important;vertical-align:-1px!important;}
.portal-bubble .receipt.ticks .tick{position:absolute!important;top:-3px!important;font-size:13px!important;line-height:10px!important;font-weight:950!important;color:#8b8f9b!important;}
.portal-bubble .receipt.ticks .tick-one{left:0!important;}.portal-bubble .receipt.ticks .tick-two{left:5px!important;}
.portal-bubble .receipt.ticks.read .tick{color:#2b83ff!important;}
.portal-chat-date{margin:5px 0 6px!important;}

/* v4.23.1 Chat: korrekte Seiten, Profilbilder, Sprechblasen-Schweif */
.portal-chat-panel .portal-chat-box{align-items:stretch!important;gap:2px!important;padding:8px 10px!important;}
.portal-chat-row{display:flex!important;align-items:flex-start!important;gap:7px!important;width:100%!important;margin:1px 0!important;}
.portal-chat-row.customer{justify-content:flex-end!important;}
.portal-chat-row.admin{justify-content:flex-start!important;padding-right:44px!important;}
.portal-chat-row.stacked{margin-top:0!important;}
.portal-chat-row.admin.stacked{padding-left:37px!important;}
.portal-chat-row.customer.stacked{padding-right:0!important;}
.chat-avatar{width:30px!important;height:30px!important;min-width:30px!important;border-radius:999px!important;overflow:hidden!important;display:inline-grid!important;place-items:center!important;background:#b71c1c!important;color:#fff!important;font-weight:950!important;font-size:13px!important;box-shadow:0 2px 8px rgba(0,0,0,.12)!important;margin-top:1px!important;}
.chat-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.chat-avatar.spacer{visibility:hidden!important;background:transparent!important;box-shadow:none!important;}
.portal-bubble{position:relative!important;width:fit-content!important;min-width:0!important;max-width:min(78%,720px)!important;padding:7px 9px 6px!important;margin:0!important;border-radius:13px!important;box-shadow:0 3px 10px rgba(16,16,20,.035)!important;}
.portal-bubble.customer{margin-left:0!important;margin-right:0!important;background:#dcf8c6!important;border-color:#bfe6cc!important;}
.portal-bubble.admin{margin-left:0!important;margin-right:0!important;background:#fff!important;border-color:#dedee6!important;}
.portal-bubble.first.customer::after{content:""!important;position:absolute!important;right:-7px!important;top:0!important;border-style:solid!important;border-width:0 0 10px 10px!important;border-color:transparent transparent transparent #dcf8c6!important;}
.portal-bubble.first.admin::before{content:""!important;position:absolute!important;left:-7px!important;top:0!important;border-style:solid!important;border-width:0 10px 10px 0!important;border-color:transparent #fff transparent transparent!important;}
.portal-bubble .meta{font-size:11px!important;line-height:1.15!important;margin:0 0 3px!important;font-weight:900!important;color:#6f7280!important;}
.portal-bubble .body{display:inline!important;line-height:1.28!important;vertical-align:baseline!important;}
.portal-bubble .bubble-foot{float:right!important;display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:2px!important;margin:7px 0 0 9px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important;font-weight:850!important;}
.portal-bubble::after{content:""!important;display:block!important;clear:both!important;}
.portal-bubble .receipt.ticks{position:relative!important;width:12px!important;height:9px!important;margin-left:1px!important;display:inline-block!important;font-size:0!important;vertical-align:middle!important;}
.portal-bubble .receipt.ticks .tick{position:absolute!important;top:-3px!important;font-size:12px!important;line-height:9px!important;color:#8b8f9b!important;}
.portal-bubble .receipt.ticks .tick-one{left:0!important}.portal-bubble .receipt.ticks .tick-two{left:4px!important}.portal-bubble .receipt.ticks.read .tick{color:#2b83ff!important;}
@media(max-width:860px){.portal-bubble{max-width:82%!important}.portal-chat-row.admin{padding-right:20px!important}.portal-chat-row.admin.stacked{padding-left:35px!important}}
/* v4.23.1 tail fix: clear bleibt ::after, Schweif läuft über ::before */
.portal-bubble.first.customer::before{content:""!important;position:absolute!important;right:-7px!important;top:0!important;border-style:solid!important;border-width:0 0 10px 10px!important;border-color:transparent transparent transparent #dcf8c6!important;left:auto!important;}

/* v4.23.1 Chat-Feinschliff: Haken tiefer + Schweif mit sichtbarer Umrandung */
.portal-bubble{display:flow-root!important;overflow:visible!important;}
.portal-bubble::after{content:none!important;display:none!important;clear:none!important;}
.portal-bubble .bubble-foot{align-items:flex-end!important;margin:7px 0 0 9px!important;line-height:10px!important;}
.portal-bubble .receipt.ticks{width:11px!important;height:10px!important;margin-left:2px!important;vertical-align:-2px!important;transform:translateY(1px)!important;}
.portal-bubble .receipt.ticks .tick{top:0!important;font-size:11px!important;line-height:10px!important;font-weight:950!important;}
.portal-bubble .receipt.ticks .tick-one{left:0!important;}.portal-bubble .receipt.ticks .tick-two{left:4px!important;}
.portal-bubble.first.customer::before{content:""!important;position:absolute!important;right:-8px!important;top:-1px!important;left:auto!important;width:0!important;height:0!important;border-style:solid!important;border-width:0 0 12px 12px!important;border-color:transparent transparent transparent #bfe6cc!important;}
.portal-bubble.first.customer::after{content:""!important;display:block!important;position:absolute!important;right:-6px!important;top:1px!important;left:auto!important;width:0!important;height:0!important;border-style:solid!important;border-width:0 0 10px 10px!important;border-color:transparent transparent transparent #dcf8c6!important;}
.portal-bubble.first.admin::before{content:""!important;position:absolute!important;left:-8px!important;top:-1px!important;right:auto!important;width:0!important;height:0!important;border-style:solid!important;border-width:0 12px 12px 0!important;border-color:transparent #dedee6 transparent transparent!important;}
.portal-bubble.first.admin::after{content:""!important;display:block!important;position:absolute!important;left:-6px!important;top:1px!important;right:auto!important;width:0!important;height:0!important;border-style:solid!important;border-width:0 10px 10px 0!important;border-color:transparent #fff transparent transparent!important;}

/* v4.23.1 Chat: Tastatur-freundliches Polling + Haken auf Uhrzeitlinie */
.portal-bubble .bubble-foot{align-items:baseline!important;line-height:1!important;margin-top:8px!important;}
.portal-bubble .receipt.ticks{height:11px!important;transform:translateY(3px)!important;vertical-align:-3px!important;}
.portal-bubble .receipt.ticks .tick{top:0!important;line-height:11px!important;}
.portal-bubble.first.customer::before{border-width:0 0 13px 13px!important;right:-9px!important;top:-1px!important;border-color:transparent transparent transparent #bfe6cc!important;}
.portal-bubble.first.customer::after{border-width:0 0 10px 10px!important;right:-6px!important;top:1px!important;border-color:transparent transparent transparent #dcf8c6!important;}
.portal-bubble.first.admin::before{border-width:0 13px 13px 0!important;left:-9px!important;top:-1px!important;border-color:transparent #dedee6 transparent transparent!important;}
.portal-bubble.first.admin::after{border-width:0 10px 10px 0!important;left:-6px!important;top:1px!important;border-color:transparent #fff transparent transparent!important;}

/* v4.23.1 Chat: sauberer WhatsApp-Schweif als echtes Rand-Dreieck */
.portal-bubble{position:relative!important;overflow:visible!important;display:flow-root!important;}
.portal-bubble.first.customer::before,.portal-bubble.first.customer::after,.portal-bubble.first.admin::before,.portal-bubble.first.admin::after{content:""!important;position:absolute!important;display:block!important;width:0!important;height:0!important;z-index:0!important;pointer-events:none!important;background:transparent!important;}
.portal-bubble.first.customer::before{right:-9px!important;top:-1px!important;border-style:solid!important;border-width:0 0 13px 13px!important;border-color:transparent transparent transparent #bfe6cc!important;}
.portal-bubble.first.customer::after{right:-7px!important;top:0!important;border-style:solid!important;border-width:0 0 11px 11px!important;border-color:transparent transparent transparent #dcf8c6!important;}
.portal-bubble.first.admin::before{left:-9px!important;top:-1px!important;border-style:solid!important;border-width:0 13px 13px 0!important;border-color:transparent #dedee6 transparent transparent!important;}
.portal-bubble.first.admin::after{left:-7px!important;top:0!important;border-style:solid!important;border-width:0 11px 11px 0!important;border-color:transparent #fff transparent transparent!important;}
.portal-bubble .bubble-foot{float:right!important;display:inline-flex!important;align-items:center!important;gap:2px!important;margin:7px 0 0 9px!important;font-size:10px!important;line-height:11px!important;vertical-align:baseline!important;white-space:nowrap!important;}
.portal-bubble .receipt.ticks{position:relative!important;display:inline-block!important;width:11px!important;height:11px!important;margin-left:2px!important;vertical-align:0!important;transform:translateY(0)!important;font-size:0!important;}
.portal-bubble .receipt.ticks .tick{position:absolute!important;top:0!important;font-size:11px!important;line-height:11px!important;font-weight:950!important;color:#8b8f9b!important;}
.portal-bubble .receipt.ticks .tick-one{left:0!important}.portal-bubble .receipt.ticks .tick-two{left:4px!important}.portal-bubble .receipt.ticks.read .tick{color:#2b83ff!important;}

/* v4.23.1 Chat-Schweif final: kein loses Dreieck, sondern integrierter WhatsApp-ähnlicher Schweif */
.portal-chat-panel .portal-chat-box,
.portal-chat-box{--chat-bg:#f7f7f9;}
.portal-bubble{overflow:visible!important;position:relative!important;z-index:1!important;}
.portal-bubble.first.customer::before,
.portal-bubble.first.admin::before{content:""!important;position:absolute!important;top:-1px!important;width:18px!important;height:18px!important;border:0!important;background-repeat:no-repeat!important;background-size:18px 18px!important;pointer-events:none!important;z-index:2!important;}
.portal-bubble.first.customer::after,
.portal-bubble.first.admin::after{content:none!important;display:none!important;}
.portal-bubble.first.customer::before{right:-13px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M0.5 1H17C12.5 3.2 9.5 7.8 8.3 15.5C6.7 9.4 3.9 4.7 0.5 1Z' fill='%23dcf8c6' stroke='%23bfe6cc' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E")!important;}
.portal-bubble.first.admin::before{left:-13px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M17.5 1H1C5.5 3.2 8.5 7.8 9.7 15.5C11.3 9.4 14.1 4.7 17.5 1Z' fill='%23ffffff' stroke='%23dedee6' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E")!important;}
.portal-bubble .bubble-foot{align-items:flex-end!important;line-height:12px!important;margin-top:7px!important;}
.portal-bubble .receipt.ticks{height:12px!important;width:11px!important;vertical-align:-3px!important;transform:translateY(3px)!important;margin-left:2px!important;}
.portal-bubble .receipt.ticks .tick{top:0!important;font-size:11px!important;line-height:12px!important;}

/* v4.23.1 FINAL Chat-Optik: randlose WhatsApp-nahe Blasen, integrierter Schweif, Status rechts unten */
.portal-chat-panel .portal-chat-box{gap:2px!important;padding:8px 10px!important;background:#f7f7f9!important;}
.portal-chat-row{margin:1px 0!important;}
.portal-chat-row.customer{justify-content:flex-end!important;}
.portal-chat-row.admin{justify-content:flex-start!important;padding-right:44px!important;}
.portal-chat-row.admin.stacked{padding-left:37px!important;}
.portal-chat-row.customer.stacked{padding-right:0!important;}
.portal-bubble{position:relative!important;overflow:visible!important;display:flow-root!important;width:fit-content!important;max-width:min(78%,720px)!important;margin:0!important;padding:7px 10px 5px!important;border:0!important;border-radius:12px!important;box-shadow:0 1px 4px rgba(16,16,20,.13)!important;color:#111!important;}
.portal-bubble.customer{background:#dcf8c6!important;border:0!important;}
.portal-bubble.admin{background:#fff!important;border:0!important;}
.portal-bubble.first.customer::before,.portal-bubble.first.admin::before{content:""!important;position:absolute!important;top:0!important;width:17px!important;height:15px!important;border:0!important;background-image:none!important;background-repeat:no-repeat!important;background-size:100% 100%!important;pointer-events:none!important;z-index:0!important;filter:drop-shadow(0 1px 1px rgba(16,16,20,.10))!important;}
.portal-bubble.first.customer::before{right:-7px!important;left:auto!important;background:#dcf8c6!important;clip-path:polygon(0 0,100% 0,38% 100%,0 58%)!important;border-top-right-radius:4px!important;}
.portal-bubble.first.admin::before{left:-7px!important;right:auto!important;background:#fff!important;clip-path:polygon(0 0,100% 0,100% 58%,62% 100%)!important;border-top-left-radius:4px!important;}
.portal-bubble.first.customer::after,.portal-bubble.first.admin::after{content:none!important;display:none!important;}
.portal-bubble .meta{position:relative!important;z-index:1!important;margin:0 0 2px!important;font-size:11px!important;line-height:1.15!important;font-weight:900!important;color:#6f7280!important;}
.portal-bubble .body{position:relative!important;z-index:1!important;display:inline!important;line-height:1.30!important;vertical-align:top!important;white-space:pre-wrap!important;}
.portal-bubble .bubble-foot{position:relative!important;z-index:1!important;float:right!important;display:inline-flex!important;align-items:flex-end!important;justify-content:flex-end!important;gap:2px!important;margin:9px -1px -1px 10px!important;font-size:10px!important;line-height:11px!important;white-space:nowrap!important;font-weight:850!important;color:#53654a!important;}
.portal-bubble.admin .bubble-foot{color:#666a78!important;}
.portal-bubble .receipt.ticks{position:relative!important;display:inline-block!important;width:11px!important;height:11px!important;margin-left:2px!important;font-size:0!important;letter-spacing:0!important;line-height:11px!important;vertical-align:0!important;transform:translateY(0)!important;}
.portal-bubble .receipt.ticks .tick{position:absolute!important;top:0!important;font-size:11px!important;line-height:11px!important;font-weight:950!important;color:#8b8f9b!important;}
.portal-bubble .receipt.ticks .tick-one{left:0!important;}
.portal-bubble .receipt.ticks .tick-two{left:4px!important;}
.portal-bubble .receipt.ticks.read .tick{color:#2b83ff!important;}
.chat-avatar{margin-top:0!important;}
@media(max-width:860px){.portal-bubble{max-width:84%!important}.portal-chat-row.admin{padding-right:20px!important}.portal-chat-row.admin.stacked{padding-left:35px!important}}

/* v4.23.1 Chat-Senden: Button sperren + sichtbarer Spinner gegen Doppelversand */
.portal-wa-send.sending,
.portal-wa-send:disabled{
  display:flex!important;
  opacity:.88;
  cursor:wait!important;
  pointer-events:none!important;
}
.portal-wa-send .chat-send-spinner,
.portal-button .chat-send-spinner{
  width:17px;
  height:17px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:999px;
  display:inline-block;
  animation:chatSendSpin .72s linear infinite;
}
.portal-button.sending{opacity:.85;cursor:wait!important;pointer-events:none!important;}
@keyframes chatSendSpin{to{transform:rotate(360deg)}}

/* v4.23.1 Chat-Ausrichtung: gestapelte Orga/Admin-Nachrichten bündig unter der ersten Blase */
.portal-chat-row.admin.stacked{
  padding-left:0!important;
}
.portal-chat-row.admin.stacked .chat-avatar.spacer{
  display:inline-grid!important;
  visibility:hidden!important;
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
@media(max-width:860px){
  .portal-chat-row.admin.stacked{
    padding-left:0!important;
  }
}

/* v4.23.1 – Chat-Compose optisch gleich zu Orga/Admin */
.portal-chat-panel{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;overflow:hidden!important;border-radius:22px!important;}
.portal-chat-box{min-height:360px!important;}
.portal-wa-compose{position:static!important;display:flex!important;align-items:flex-end!important;gap:8px!important;background:#fff!important;border-top:1px solid var(--border)!important;padding:8px!important;box-shadow:none!important;}
.portal-wa-compose textarea{flex:1!important;min-height:42px!important;max-height:180px!important;border:0!important;outline:0!important;resize:none!important;background:transparent!important;margin:0!important;padding:10px 12px!important;line-height:1.35!important;font:inherit!important;}
.portal-wa-send{width:42px!important;height:42px!important;min-width:42px!important;border-radius:999px!important;background:#b3261e!important;color:#fff!important;align-items:center!important;justify-content:center!important;}


/* v4.23.1 – Portal-Chat: Datumsbadge nicht mehr sticky, Mobile-Höhe kompakter */
.portal-chat-date{
  position:relative!important;
  top:auto!important;
  z-index:1!important;
  clear:both!important;
  width:100%!important;
  text-align:center!important;
  margin:8px 0 10px!important;
  pointer-events:none!important;
}
.portal-chat-panel{
  min-height:0!important;
}
.portal-chat-box{
  min-height:300px!important;
  overflow:auto!important;
}
.portal-bubble .body{overflow-wrap:anywhere!important;}
@media(max-width:860px){
  .portal-card:has(.portal-chat-panel),
  .portal-card.chat-card,
  .portal-chat-panel{
    margin-bottom:10px!important;
  }
  .portal-chat-box{
    height:46vh!important;
    max-height:46vh!important;
    min-height:260px!important;
    padding:8px!important;
  }
  .portal-bubble{max-width:86%!important;}
  .portal-wa-compose{min-height:54px!important;padding:7px!important;}
  .portal-wa-compose textarea{min-height:40px!important;padding:9px 10px!important;}
}

/* v4.23.1 – Portal-Chat: kein schwebender Date-Badge, kompakter Mobile-Chat, einheitlicher Nachrichtenfluss */
.portal-chat-panel{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;overflow:hidden!important;border-radius:22px!important;}
.portal-chat-box{height:min(54vh,620px)!important;min-height:260px!important;overflow:auto!important;background:#f7f7f9!important;padding:10px 12px!important;display:flex!important;flex-direction:column!important;gap:3px!important;}
.portal-chat-date{position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;z-index:1!important;display:flex!important;justify-content:center!important;align-items:center!important;flex:0 0 auto!important;width:100%!important;clear:both!important;margin:6px 0 8px!important;padding:0!important;pointer-events:none!important;}
.portal-chat-date span{position:static!important;display:inline-flex!important;background:rgba(255,255,255,.94)!important;border:1px solid var(--border)!important;border-radius:999px!important;padding:4px 10px!important;font-size:11px!important;font-weight:900!important;color:#5f6170!important;box-shadow:0 3px 10px rgba(0,0,0,.06)!important;}
.portal-chat-row{float:none!important;clear:both!important;display:flex!important;align-items:flex-start!important;width:100%!important;min-width:0!important;margin:1px 0!important;gap:7px!important;}
.portal-chat-row.customer{justify-content:flex-end!important;}
.portal-chat-row.admin{justify-content:flex-start!important;}
.portal-bubble{position:relative!important;float:none!important;max-width:min(72%,760px)!important;width:auto!important;min-width:0!important;padding:8px 11px 6px!important;border:0!important;border-radius:12px!important;box-shadow:0 2px 8px rgba(0,0,0,.09)!important;line-height:1.38!important;}
.portal-bubble .body{white-space:pre-wrap!important;overflow-wrap:anywhere!important;display:inline!important;}
.portal-bubble .bubble-foot{display:inline-flex!important;align-items:flex-end!important;justify-content:flex-end!important;gap:5px!important;margin-left:10px!important;vertical-align:baseline!important;transform:translateY(2px)!important;font-size:10.5px!important;line-height:1!important;font-weight:850!important;white-space:nowrap!important;}
.portal-wa-compose{position:static!important;border:0!important;border-top:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;padding:8px!important;}
.portal-wa-compose textarea{min-height:40px!important;max-height:120px!important;padding:9px 11px!important;}
@media(max-width:700px){
  .portal-chat-box{height:42vh!important;min-height:220px!important;max-height:380px!important;padding:8px!important;}
  .portal-bubble{max-width:88%!important;font-size:14px!important;padding:7px 10px 6px!important;}
  .portal-wa-compose textarea{min-height:38px!important;}
  .section-head.chat-head{gap:8px!important;margin-bottom:8px!important;}
  .section-head.chat-head h2{font-size:26px!important;}
  .section-head.chat-head p{font-size:13px!important;line-height:1.25!important;}
}

/* v4.23.1 – Intro-Popup mobil oben statt mitten im Scrollbereich */
@media(max-width:860px){
  .portal-intro-overlay{align-items:flex-start!important;justify-content:center!important;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px 12px!important;overflow:auto!important;}
  .portal-intro-box{margin:0 auto!important;width:min(100%,620px)!important;max-height:calc(100dvh - 28px)!important;overflow:auto!important;border-radius:22px!important;padding:20px!important;}
}

/* v4.23.1 – Veranstaltungsinfos im Gastportal */
.portal-event-info-card{
  padding:20px 22px!important;
}
.portal-event-info-main{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.portal-event-kicker{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#686878;
  font-size:12px;
  font-weight:900;
  margin-bottom:5px;
}
.portal-event-info-card h2{
  margin:0;
  font-size:clamp(24px,3vw,34px);
  line-height:1.08;
}
.portal-event-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.portal-event-info-grid>div{
  border:1px solid var(--border,#dedee6);
  background:#fafafa;
  border-radius:18px;
  padding:13px 14px;
  min-width:0;
}
.portal-event-info-grid span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#696977;
  font-size:12px;
  font-weight:900;
  margin-bottom:4px;
}
.portal-event-info-grid strong{
  display:block;
  font-size:16px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.portal-event-address small{
  display:block;
  margin-top:4px;
  color:#555568;
  font-weight:800;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.portal-event-nav{
  white-space:nowrap;
}
@media(max-width:860px){
  .portal-event-info-card{padding:16px!important;}
  .portal-event-info-main{display:block;margin-bottom:12px;}
  .portal-event-nav{width:100%;margin-top:12px;}
  .portal-event-info-grid{grid-template-columns:1fr;gap:8px;}
  .portal-event-info-grid>div{padding:12px;}
}


/* v4.23.1 – Gastportal: neues Menü, mobile Sandwich-Navigation, kompakter Chat, klare finale Auftrittszeit */
.portal-nav-wrap{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
.portal-menu-toggle{display:none!important;align-items:center!important;justify-content:center!important;gap:8px!important;}
.portal-menu-icon{font-size:18px!important;line-height:1!important;}
.portal-nav{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;margin:0!important;}
.portal-nav button{flex:0 1 auto!important;min-height:44px!important;}
.portal-info-row.final-time{background:#fff5bf!important;border:1px solid #f0c36a!important;border-radius:16px!important;padding:13px 14px!important;margin:8px 0!important;box-shadow:0 8px 20px rgba(122,82,0,.08)!important;}
.portal-info-row.final-time span{color:#7a5200!important;font-weight:950!important;}
.portal-info-row.final-time strong{color:#1d1d1f!important;font-size:18px!important;}
.guest-view-info.portal-card{padding:22px!important;}
.portal-event-info-content .portal-event-info-main{margin-bottom:14px!important;}
.portal-event-lead{margin:8px 0 0!important;}
.portal-event-note{margin-top:14px!important;}
.portal-chat-panel{max-height:560px!important;}
.portal-chat-box{height:min(44vh,440px)!important;max-height:440px!important;min-height:220px!important;}
.portal-intro-overlay{align-items:flex-start!important;justify-content:center!important;padding:calc(env(safe-area-inset-top,0px) + 18px) 18px 18px!important;overflow:auto!important;}
.portal-intro-box{margin:0 auto!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;}
@media(max-width:860px){
  .portal-nav-wrap{display:block!important;padding:10px!important;}
  .portal-menu-toggle{display:flex!important;width:100%!important;min-height:46px!important;}
  .portal-nav{display:none!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:10px!important;width:100%!important;}
  .portal-nav.open{display:grid!important;}
  .portal-nav button{width:100%!important;min-height:44px!important;}
  .portal-card.guest-view-home{padding:14px!important;}
  .portal-info-row.final-time{padding:12px!important;}
  .portal-chat-panel{max-height:none!important;border-radius:18px!important;}
  .portal-chat-box{height:34vh!important;min-height:170px!important;max-height:260px!important;padding:7px!important;}
  .section-head.chat-head{margin-bottom:6px!important;}
  .section-head.chat-head h2{font-size:24px!important;}
  .section-head.chat-head p{display:none!important;}
  .portal-agent-status{font-size:11px!important;padding:6px 8px!important;margin-top:8px!important;}
  .portal-wa-compose{min-height:48px!important;padding:6px!important;}
  .portal-wa-compose textarea{min-height:36px!important;max-height:88px!important;padding:8px 10px!important;}
  .portal-intro-overlay{padding:calc(env(safe-area-inset-top,0px) + 10px) 10px 10px!important;}
  .portal-intro-box{padding:18px!important;border-radius:20px!important;max-height:calc(100dvh - 20px)!important;}
  .portal-intro-box h2{font-size:25px!important;}
}


/* v4.23.1 – Gastportal: Startseite/Buchungsinfos, saubere Sessionbuttons, finaler Zeitstatus ohne gelbe Box */
.portal-session-tools.compact{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.portal-session-countdown,
.portal-session-tools .portal-button.ghost-danger{
  min-width:118px!important;
  height:50px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
}
.portal-session-countdown{
  gap:8px!important;
}
.portal-info-grid.basic{
  grid-template-columns:1fr 1fr!important;
  column-gap:24px!important;
  row-gap:0!important;
}
.portal-info-grid.details{
  grid-template-columns:1fr 1fr!important;
  column-gap:24px!important;
  row-gap:0!important;
}
.portal-info-row.final-time{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--border)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:13px 0!important;
  margin:0!important;
}
.portal-info-row.final-time span{
  color:#59596b!important;
  font-weight:400!important;
}
.portal-info-row.final-time strong{
  font-size:16px!important;
  font-weight:950!important;
}
.portal-info-row.final-time.pending strong{
  color:#b88400!important;
}
.portal-info-row.final-time.confirmed strong{
  color:#14743a!important;
}
.portal-mail-request-card{
  margin-top:20px!important;
  border:1px solid var(--border)!important;
  border-radius:20px!important;
  background:#fafafa!important;
  padding:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.portal-mail-request-card h3{
  margin:0 0 6px!important;
  font-size:22px!important;
  line-height:1.15!important;
}
.portal-mail-request-card p{
  margin:0!important;
  color:#555568!important;
  line-height:1.45!important;
}
.portal-mail-request-card small{
  display:block!important;
  margin-top:8px!important;
  color:#626270!important;
}
.portal-event-arrival{
  margin-top:14px!important;
  border:1px solid var(--border)!important;
  border-radius:18px!important;
  background:#fafafa!important;
  padding:15px 16px!important;
}
.portal-event-arrival h3{
  margin:0 0 7px!important;
  font-size:22px!important;
  line-height:1.15!important;
}
.portal-event-arrival p{
  margin:0!important;
  color:#33333d!important;
  line-height:1.55!important;
}
@media(max-width:860px){
  .portal-session-tools.compact,
  .portal-session-tools{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:center!important;
    justify-items:stretch!important;
    margin-top:16px!important;
  }
  .portal-session-countdown,
  .portal-session-tools .portal-button.ghost-danger{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    margin:0!important;
  }
  .portal-nav-wrap{
    display:block!important;
    padding:10px!important;
  }
  .portal-menu-toggle{
    display:flex!important;
    width:100%!important;
    min-height:46px!important;
  }
  .portal-nav{
    display:none!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:10px!important;
    width:100%!important;
  }
  .portal-nav.open{
    display:grid!important;
  }
  .portal-nav button{
    width:100%!important;
    min-height:44px!important;
  }
  .portal-info-grid.basic,
  .portal-info-grid.details{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .portal-info-row.final-time{
    padding:12px 0!important;
  }
  .portal-mail-request-card{
    display:block!important;
    padding:14px!important;
  }
  .portal-mail-request-card .portal-button{
    width:100%!important;
    margin-top:12px!important;
  }
  .portal-event-arrival{
    padding:13px!important;
  }
}
