:root {
  --support-chat-blue:#18348f;
  --support-chat-blue-soft:#eef3ff;
  --support-chat-border:#d8e1f2;
  --support-chat-text:#14234d;
  --support-chat-muted:#687491;
  --support-chat-success:#157347;
  --support-chat-danger:#b42318;
}

#timnaroSupportChat {
  position:relative;
  z-index:2147483000;
}

.support-chat-launcher {
  position:fixed;
  right:24px;
  bottom:calc(30px + env(safe-area-inset-bottom, 0px));
  z-index:2147483001;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:var(--support-chat-blue);
  color:#fff;
  box-shadow:0 14px 34px rgba(20,35,77,.22);
  max-width:calc(100vw - 48px);
  box-sizing:border-box;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.support-chat-launcher:hover { transform:translateY(-1px); }
.support-chat-launcher:focus-visible { outline:3px solid rgba(24,52,143,.3); outline-offset:3px; }
.support-chat-launcher-icon { font-size:1.25rem; line-height:1; }
.support-chat-unread {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#fff;
  color:var(--support-chat-blue);
  font-size:.75rem;
  font-weight:900;
}
.support-chat-unread[hidden] { display:none !important; }

.support-chat-panel {
  position:fixed;
  right:24px;
  bottom:calc(98px + env(safe-area-inset-bottom, 0px));
  z-index:2147483002;
  width:min(390px,calc(100vw - 28px));
  max-height:min(720px,calc(100vh - 112px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--support-chat-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 70px rgba(20,35,77,.24);
}
.support-chat-panel[hidden] { display:none !important; }
.support-chat-panel-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px 15px;
  background:linear-gradient(135deg,#18348f,#3157bd);
  color:#fff;
}
.support-chat-panel-header strong { display:block; font-size:1.05rem; }
.support-chat-panel-header small { display:block; margin-top:4px; color:rgba(255,255,255,.82); }
.support-chat-close {
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:1.2rem;
  cursor:pointer;
}
.support-chat-body { min-height:0; display:flex; flex:1; flex-direction:column; }
.support-chat-intro { margin:0; padding:15px 18px 0; color:var(--support-chat-muted); font-size:.9rem; }
.support-chat-messages {
  min-height:170px;
  max-height:320px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 18px;
  scroll-behavior:smooth;
}
.support-chat-empty {
  margin:auto;
  padding:24px 12px;
  text-align:center;
  color:var(--support-chat-muted);
  font-size:.9rem;
}
.support-chat-message { display:flex; flex-direction:column; align-items:flex-start; }
.support-chat-message.is-own { align-items:flex-end; }
.support-chat-bubble {
  max-width:88%;
  padding:10px 13px;
  border-radius:16px 16px 16px 4px;
  background:#f1f4fa;
  color:var(--support-chat-text);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.45;
}
.support-chat-message.is-own .support-chat-bubble {
  border-radius:16px 16px 4px 16px;
  background:var(--support-chat-blue);
  color:#fff;
}
.support-chat-message-meta { margin-top:4px; color:var(--support-chat-muted); font-size:.72rem; }
.support-chat-form { padding:0 18px 18px; }
.support-chat-start-fields[hidden],
.support-chat-privacy[hidden],
.support-chat-form[hidden],
.support-chat-closed-notice[hidden] { display:none !important; }
.support-chat-form.is-started .support-chat-start-fields,
.support-chat-form.is-started .support-chat-privacy { display:none !important; }
.support-chat-start-fields { display:grid; gap:10px; margin-bottom:10px; }
.support-chat-form label { display:grid; gap:5px; color:var(--support-chat-text); font-size:.82rem; font-weight:700; }
.support-chat-form input,
.support-chat-form textarea {
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd6ea;
  border-radius:12px;
  background:#fff;
  color:var(--support-chat-text);
  padding:10px 12px;
  font:inherit;
}
.support-chat-form textarea { min-height:82px; resize:vertical; }
.support-chat-form input:focus,
.support-chat-form textarea:focus { outline:3px solid rgba(24,52,143,.12); border-color:var(--support-chat-blue); }
.support-chat-privacy {
  display:flex !important;
  grid-template-columns:none !important;
  align-items:flex-start;
  gap:8px !important;
  margin:10px 0;
  font-weight:500 !important;
  line-height:1.35;
}
.support-chat-privacy input { width:auto; margin-top:2px; }
.support-chat-privacy a { color:var(--support-chat-blue); }
.support-chat-actions { display:flex; align-items:center; gap:10px; }
.support-chat-submit {
  flex:1;
  min-height:42px;
  border:0;
  border-radius:12px;
  background:var(--support-chat-blue);
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.support-chat-submit:disabled { opacity:.55; cursor:wait; }
.support-chat-status { min-height:18px; margin:8px 0 0; color:var(--support-chat-muted); font-size:.8rem; }
.support-chat-status.is-error { color:var(--support-chat-danger); }
.support-chat-status.is-success { color:var(--support-chat-success); }
.support-chat-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.support-chat-closed-notice {
  margin:0 18px 18px;
  padding:13px 14px;
  border:1px solid #d8e1f2;
  border-radius:13px;
  background:#f5f7fb;
  color:var(--support-chat-text);
  line-height:1.45;
}
.support-chat-closed-notice strong { display:block; margin-bottom:4px; font-size:.88rem; }
.support-chat-closed-notice span { display:block; color:var(--support-chat-muted); font-size:.8rem; }

/* Mandanten- und Plattform-Chat */
.support-chat-workspace {
  display:grid;
  grid-template-columns:minmax(250px,330px) minmax(0,1fr);
  min-height:580px;
  overflow:hidden;
  border:1px solid var(--support-chat-border);
  border-radius:18px;
  background:#fff;
}
.support-chat-list-pane { border-right:1px solid var(--support-chat-border); background:#f8faff; min-width:0; }
.support-chat-list-toolbar { display:grid; gap:10px; padding:14px; border-bottom:1px solid var(--support-chat-border); }
.support-chat-list-toolbar input,
.support-chat-list-toolbar select { width:100%; box-sizing:border-box; border:1px solid #cbd6ea; border-radius:10px; padding:9px 10px; font:inherit; background:#fff; }
.support-chat-conversation-list { max-height:620px; overflow:auto; }
.support-chat-conversation {
  width:100%;
  display:grid;
  gap:6px;
  padding:14px;
  border:0;
  border-bottom:1px solid #e4eaf5;
  background:transparent;
  color:var(--support-chat-text);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.support-chat-conversation:hover,
.support-chat-conversation.is-active { background:#eaf0ff; }
.support-chat-conversation-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.support-chat-conversation strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.support-chat-conversation p { margin:0; color:var(--support-chat-muted); font-size:.84rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.support-chat-conversation small { color:var(--support-chat-muted); }
.support-chat-count {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:var(--support-chat-blue);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
}
.support-chat-thread-pane { min-width:0; display:flex; flex-direction:column; }
.support-chat-thread-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:1px solid var(--support-chat-border); }
.support-chat-thread-header h3 { margin:0; }
.support-chat-thread-header p { margin:4px 0 0; color:var(--support-chat-muted); }
.support-chat-thread-actions { display:flex; flex-wrap:wrap; gap:8px; }
.support-chat-thread-actions button { min-height:36px; }
.support-chat-admin-messages,
.portal-support-messages {
  flex:1;
  min-height:320px;
  max-height:600px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  background:#fbfcff;
}
.support-chat-composer { display:grid; gap:10px; padding:16px 18px; border-top:1px solid var(--support-chat-border); }
.support-chat-composer textarea { min-height:90px; resize:vertical; width:100%; box-sizing:border-box; }
.support-chat-composer-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.support-chat-placeholder { display:grid; place-items:center; min-height:420px; padding:30px; color:var(--support-chat-muted); text-align:center; }
.support-chat-status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:4px 9px; font-size:.75rem; font-weight:800; background:#eef3ff; color:var(--support-chat-blue); }
.support-chat-status-pill.is-closed { background:#edf1f5; color:#596273; }
.support-chat-status-pill.is-waiting { background:#fff4df; color:#7a4a00; }
.support-chat-nav-badge { margin-left:auto; }

.portal-support-card { max-width:900px; }
.portal-support-summary { margin:0 0 14px; color:var(--support-chat-muted); }

@media (max-width:760px) {
  .support-chat-launcher { right:16px; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); min-width:52px; padding:0 15px; }
  .support-chat-launcher-label { display:none; }
  .support-chat-panel { right:16px; bottom:calc(86px + env(safe-area-inset-bottom, 0px)); width:calc(100vw - 32px); max-height:calc(100vh - 110px - env(safe-area-inset-bottom, 0px)); }
  .support-chat-workspace { grid-template-columns:1fr; }
  .support-chat-list-pane { border-right:0; border-bottom:1px solid var(--support-chat-border); }
  .support-chat-conversation-list { max-height:260px; }
  .support-chat-thread-header { flex-direction:column; }
}

@media (max-height:560px) {
  .support-chat-launcher {
    right:16px;
    bottom:calc(18px + env(safe-area-inset-bottom, 0px));
    width:52px;
    min-width:52px;
    padding:0;
    justify-content:center;
  }
  .support-chat-launcher-label { display:none; }
  .support-chat-panel {
    right:16px;
    bottom:calc(78px + env(safe-area-inset-bottom, 0px));
    width:min(390px,calc(100vw - 32px));
    max-height:calc(100vh - 92px - env(safe-area-inset-bottom, 0px));
  }
}

@media (prefers-reduced-motion:reduce) {
  .support-chat-launcher,
  .support-chat-messages { transition:none; scroll-behavior:auto; }
}

.support-chat-admin-card { padding:0 !important; overflow:hidden; }
.support-chat-thread-content { min-width:0; min-height:580px; display:flex; flex:1; flex-direction:column; }
.support-chat-thread-content[hidden] { display:none !important; }
.support-chat-thread-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.support-chat-form-status-success { color:var(--support-chat-success) !important; }
.support-chat-form-status-error { color:var(--support-chat-danger) !important; }
.support-chat-workspace .sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.admin-nav-button .support-chat-count { flex:0 0 auto; }

@media (max-width:760px) {
  .support-chat-thread-content { min-height:520px; }
  .support-chat-composer-row { align-items:stretch; flex-direction:column; }
  .support-chat-composer-row .button { width:100%; }
}


/* Admin-Dashboard: sieben Kennzahlen ohne Überlappung. */
.metric-grid-seven { grid-template-columns:repeat(7,minmax(0,1fr)); }
.support-chat-admin-card .support-chat-workspace { border:0; border-radius:0; }
.support-chat-thread-header > div:first-child { min-width:0; }
.support-chat-thread-header p { overflow-wrap:anywhere; }
.support-chat-composer textarea { border:1px solid #cbd6ea; border-radius:12px; padding:11px 12px; font:inherit; color:var(--support-chat-text); background:#fff; }
.support-chat-composer textarea:focus { outline:3px solid rgba(24,52,143,.12); border-color:var(--support-chat-blue); }

@media (max-width:1500px) {
  .metric-grid-seven { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:1050px) {
  .metric-grid-seven { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .metric-grid-seven { grid-template-columns:1fr; }
}

.support-chat-quick-replies { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
.support-chat-quick-replies label { color:var(--support-chat-muted); font-size:.78rem; font-weight:750; }
.support-chat-quick-replies select { width:100%; box-sizing:border-box; border:1px solid #cbd6ea; border-radius:10px; padding:9px 10px; background:#fff; color:var(--support-chat-text); font:inherit; }
.support-chat-closed-banner { margin:14px 18px 0; padding:11px 13px; border:1px solid #d8e1f2; border-radius:12px; background:#f5f7fb; color:var(--support-chat-muted); font-size:.85rem; line-height:1.45; }
.support-chat-closed-banner[hidden] { display:none !important; }

.support-chat-closed-notice .support-chat-new-button{align-self:flex-start;margin-top:8px;border:0;border-radius:999px;background:#173a9d;color:#fff;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer}.support-chat-closed-notice .support-chat-new-button:hover{filter:brightness(1.06)}.support-chat-closed-notice .support-chat-new-button:disabled{opacity:.6;cursor:wait}.support-chat-closed-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.support-chat-closed-banner[hidden]{display:none!important}
