:root {
  --team-chat-bg: #0b1c13;
  --team-chat-panel: #0e2318;
  --team-chat-incoming: #12291c;
  --team-chat-line: #21402f;
  --team-chat-accent: #35d492;
  --team-chat-accent-text: #06120c;
  --team-chat-text: #e8f2ec;
  --team-chat-muted: #a7b8ad;
  --team-chat-field: #0a1811;
}

.grecaptcha-badge {
  visibility: hidden !important;
}

.team-chat-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 10px 15px 10px 11px;
  border: 1px solid rgba(53, 212, 146, 0.58);
  border-radius: 8px;
  background: #10271a;
  color: var(--team-chat-text);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  font-family: 'Sora', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.team-chat-launcher:hover { background: #153520; border-color: var(--team-chat-accent); transform: translateY(-2px); }
.team-chat-launcher-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 6px; background: var(--team-chat-accent); color: var(--team-chat-accent-text); }
.team-chat-launcher-icon svg { width: 17px; height: 17px; }

.team-chat-shell[hidden] { display: none; }
.team-chat-shell { position: fixed; inset: 0; z-index: 90; display: flex; align-items: flex-end; justify-content: flex-end; pointer-events: none; }
.team-chat-inline { width: min(760px, 100%); margin: 0 auto; }
.team-chat-inline .team-chat-panel { width: 100%; height: min(720px, calc(100dvh - 240px)); min-height: 620px; margin: 0; }
.team-chat-backdrop { position: absolute; inset: 0; background: rgba(1, 8, 4, 0.58); pointer-events: auto; }
.team-chat-panel { position: relative; display: flex; flex-direction: column; width: min(450px, calc(100vw - 28px)); height: min(720px, calc(100dvh - 28px)); margin: 14px; overflow: hidden; border: 1px solid rgba(167, 184, 173, 0.3); border-radius: 10px; background: var(--team-chat-bg); box-shadow: 0 28px 80px rgba(0, 0, 0, 0.5); pointer-events: auto; }
.team-chat-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 22px 19px; border-bottom: 1px solid var(--team-chat-line); background: var(--team-chat-panel); }
.team-chat-kicker { margin-bottom: 7px; color: var(--team-chat-accent); font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.team-chat-title { margin: 0; color: var(--team-chat-text); font-family: 'Sora', sans-serif; font-size: 1.18rem; line-height: 1.25; }
.team-chat-real { display: flex; align-items: center; gap: 7px; margin: 7px 0 0; color: var(--team-chat-muted); font-size: 0.9rem; }
.team-chat-real::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--team-chat-accent); box-shadow: 0 0 10px rgba(53, 212, 146, 0.85); }
.team-chat-close { flex: 0 0 auto; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--team-chat-line); border-radius: 6px; background: transparent; color: var(--team-chat-muted); cursor: pointer; }
.team-chat-close:hover { color: var(--team-chat-text); border-color: rgba(53, 212, 146, 0.65); }
.team-chat-close svg { width: 17px; height: 17px; }

.team-chat-start, .team-chat-thread { min-height: 0; }
.team-chat-start { padding: 22px; overflow-y: auto; }
.team-chat-start p { margin: 0; color: var(--team-chat-muted); line-height: 1.55; }
.team-chat-form { display: grid; gap: 14px; margin-top: 24px; }
.team-chat-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.team-chat-label { color: var(--team-chat-muted); font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.07em; text-transform: uppercase; }
.team-chat-input, .team-chat-textarea { width: 100%; border: 1px solid rgba(167, 184, 173, 0.33); border-radius: 7px; outline: none; background: var(--team-chat-field); color: var(--team-chat-text); font: inherit; }
.team-chat-input { height: 46px; padding: 0 13px; }
.team-chat-textarea { min-height: 124px; padding: 12px 13px; resize: vertical; line-height: 1.45; }
.team-chat-input:focus, .team-chat-textarea:focus { border-color: var(--team-chat-accent); box-shadow: 0 0 0 3px rgba(53, 212, 146, 0.13); }
.team-chat-submit { min-height: 48px; border: 0; border-radius: 7px; background: var(--team-chat-accent); color: var(--team-chat-accent-text); cursor: pointer; font-family: 'Sora', sans-serif; font-size: 0.95rem; font-weight: 700; }
.team-chat-submit:hover { filter: brightness(1.06); }
.team-chat-submit:disabled { cursor: wait; opacity: 0.68; }
.team-chat-privacy, .team-chat-error { margin-top: 12px !important; font-size: 0.8rem; }
.team-chat-error { color: #ffb5ad !important; }

.team-chat-thread { display: flex; flex: 1; flex-direction: column; }
.team-chat-messages { flex: 1; overflow-y: auto; padding: 22px; }
.team-chat-note { max-width: 88%; margin: 0 0 18px; padding: 13px 14px; border: 1px solid var(--team-chat-line); border-radius: 7px; background: var(--team-chat-incoming); color: var(--team-chat-muted); font-size: 0.88rem; line-height: 1.45; }
.team-chat-message { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 16px; }
.team-chat-message.is-visitor { align-items: flex-end; }
.team-chat-message-label { margin: 0 4px 5px; color: var(--team-chat-muted); font-family: 'JetBrains Mono', monospace; font-size: 0.67rem; letter-spacing: 0.06em; text-transform: uppercase; }
.team-chat-bubble { max-width: 88%; padding: 12px 14px; border: 1px solid var(--team-chat-line); border-radius: 7px; background: var(--team-chat-incoming); color: var(--team-chat-text); line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.team-chat-message.is-visitor .team-chat-bubble { border-color: transparent; background: var(--team-chat-accent); color: var(--team-chat-accent-text); }
.team-chat-time { margin: 6px 4px 0; color: var(--team-chat-muted); font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; }
.team-chat-composer { padding: 16px 22px 10px; border-top: 1px solid var(--team-chat-line); background: var(--team-chat-panel); }
.team-chat-composer-row { display: flex; gap: 10px; align-items: flex-end; }
.team-chat-composer .team-chat-textarea { min-height: 48px; max-height: 150px; }
.team-chat-send { flex: 0 0 auto; min-height: 48px; padding: 0 16px; border: 0; border-radius: 7px; background: var(--team-chat-accent); color: var(--team-chat-accent-text); cursor: pointer; font-family: 'Sora', sans-serif; font-weight: 700; }
.team-chat-send:disabled { opacity: 0.68; cursor: wait; }
.team-chat-response-note { margin: 8px 0 0; color: var(--team-chat-muted); font-size: 0.78rem; }
.team-chat-error:empty { display: none; }

@media (max-width: 640px) {
  .team-chat-launcher { right: 14px; bottom: 14px; min-height: 48px; padding-right: 12px; }
  .team-chat-shell { align-items: stretch; }
  .team-chat-panel { position: absolute; inset: 0; width: 100%; height: auto; max-height: none; margin: 0; border-radius: 0; }
  .team-chat-header, .team-chat-start, .team-chat-messages, .team-chat-composer { padding-left: 17px; padding-right: 17px; }
  .team-chat-input, .team-chat-textarea { font-size: 16px; }
  .team-chat-launcher-label { font-size: 0.8rem; }
  .team-chat-composer-row { align-items: stretch; flex-direction: column; }
  .team-chat-send { width: 100%; }
  .team-chat-inline .team-chat-panel { position: relative; inset: auto; width: 100%; height: min(760px, calc(100dvh - 190px)); min-height: 600px; margin: 0; border-radius: 10px; }
}
