.c4u-chat {
  --c4u-accent: #111827;
  position: fixed;
  bottom: 22px;
  z-index: 99998;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}
.c4u-chat--right { right: 22px; }
.c4u-chat--left { left: 22px; }
.c4u-chat--live-open { display: none; }
.c4u-chat__launcher {
  border: 0; border-radius: 999px; background: var(--c4u-accent); color: #fff;
  min-height: 52px; padding: 0 18px; display: flex; align-items: center; gap: 9px;
  box-shadow: 0 10px 28px rgba(0,0,0,.22); cursor: pointer; font: inherit; font-weight: 700;
}
.c4u-chat__launcher:hover { filter: brightness(1.08); }
.c4u-chat__launcher-icon { font-size: 21px; line-height: 1; }
.c4u-chat__panel {
  display: none; position: absolute; bottom: 66px; width: min(390px, calc(100vw - 28px));
  max-height: min(680px, calc(100vh - 105px)); overflow: hidden; background: #fff; color: #111827;
  border: 1px solid rgba(17,24,39,.1); border-radius: 18px; box-shadow: 0 18px 48px rgba(0,0,0,.23);
}
.c4u-chat--right .c4u-chat__panel { right: 0; }
.c4u-chat--left .c4u-chat__panel { left: 0; }
.c4u-chat__panel.is-open { display: block; animation: c4u-chat-in .16s ease-out; }
@keyframes c4u-chat-in { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
.c4u-chat__header { background:var(--c4u-accent); color:#fff; padding:16px 16px 15px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.c4u-chat__header strong { display:block; font-size:16px; }
.c4u-chat__header span { display:block; margin-top:2px; font-size:12px; opacity:.8; }
.c4u-chat__close { border:0; background:rgba(255,255,255,.12); color:#fff; border-radius:999px; width:32px; height:32px; cursor:pointer; font-size:22px; line-height:28px; }
.c4u-chat__body { padding:14px; overflow-y:auto; max-height:calc(min(680px, calc(100vh - 105px)) - 68px); }
.c4u-chat__greeting { margin:0 0 12px; color:#4b5563; }
.c4u-chat__categories { display:flex; gap:6px; overflow-x:auto; padding:0 0 10px; scrollbar-width:thin; }
.c4u-chat__category { flex:0 0 auto; border:1px solid #e5e7eb; background:#fff; color:#374151; border-radius:999px; padding:6px 9px; cursor:pointer; font:inherit; font-size:12px; font-weight:650; }
.c4u-chat__category:hover { background:#f9fafb; }
.c4u-chat__category.is-active { background:var(--c4u-accent); border-color:var(--c4u-accent); color:#fff; }
.c4u-chat__faqs { display:grid; gap:7px; }
.c4u-chat__faq { border:1px solid #e5e7eb; border-radius:11px; overflow:hidden; background:#fff; }
.c4u-chat__faq[hidden] { display:none !important; }
.c4u-chat__question { width:100%; border:0; background:#fff; color:#111827; padding:11px 12px; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font:inherit; font-weight:650; }
.c4u-chat__question:hover { background:#f9fafb; }
.c4u-chat__question-copy { display:grid; gap:2px; }
.c4u-chat__question-copy small { color:#6b7280; font-size:10px; text-transform:uppercase; letter-spacing:.03em; font-weight:700; }
.c4u-chat__chevron { font-size:20px; line-height:18px; transition:transform .15s ease; }
.c4u-chat__question[aria-expanded="true"] .c4u-chat__chevron { transform:rotate(90deg); }
.c4u-chat__answer { padding:0 12px 12px; color:#4b5563; }
.c4u-chat__empty { margin:10px 2px; color:#6b7280; font-size:13px; }
.c4u-chat__live { width:100%; margin-top:13px; border:0; border-radius:11px; background:var(--c4u-accent); color:#fff; padding:12px 14px; cursor:pointer; font:inherit; font-weight:750; }
.c4u-chat__live span { color:#4ade80; margin-right:5px; }
.c4u-chat__live:hover { filter:brightness(1.08); }
.c4u-chat__live:disabled { opacity:.7; cursor:wait; }
.c4u-chat__live.is-loading::after { content:" …"; }
.c4u-chat__note { margin:8px 3px 0; font-size:11.5px; color:#6b7280; text-align:center; }
.c4u-chat button:focus-visible { outline:3px solid rgba(59,130,246,.45); outline-offset:2px; }
@media (max-width:520px) {
  .c4u-chat { bottom:14px; }
  .c4u-chat--right { right:14px; }
  .c4u-chat--left { left:14px; }
  .c4u-chat__launcher { min-height:50px; padding:0 15px; }
  .c4u-chat__panel { bottom:62px; width:calc(100vw - 28px); max-height:calc(100vh - 92px); }
  .c4u-chat__body { max-height:calc(100vh - 160px); }
}
@media (prefers-reduced-motion:reduce) { .c4u-chat__panel.is-open { animation:none; } .c4u-chat__chevron { transition:none; } }
