.msc-chat-shell {
  --msc-bg: linear-gradient(135deg, #08131f 0%, #0f2d2f 48%, #d1fae5 100%);
  --msc-panel: rgba(255, 255, 255, 0.94);
  --msc-ink: #0f172a;
  --msc-muted: #475569;
  --msc-line: rgba(15, 23, 42, 0.08);
  --msc-brand: #0f766e;
  --msc-brand-strong: #115e59;
  --msc-soft: #ecfeff;
  --msc-client: #eef2ff;
  --msc-ai: #f8fafc;
  --msc-team: #ecfeff;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--msc-ink);
}

.msc-chat-panel {
  max-width: 920px;
  margin: 32px auto;
  padding: 28px;
  border-radius: 28px;
  background: var(--msc-bg);
  box-shadow: 0 24px 80px rgba(8, 19, 31, 0.24);
}

.msc-chat-hero,
.msc-chat-intake,
.msc-chat-compose {
  background: var(--msc-panel);
  border: 1px solid var(--msc-line);
  border-radius: 22px;
}

.msc-chat-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
}

.msc-chat-kicker {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  color: var(--msc-brand);
}

.msc-chat-hero h2 {
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 0.95;
}

.msc-chat-hero p {
  margin: 0;
  max-width: 620px;
  color: var(--msc-muted);
}

.msc-chat-badge {
  min-width: 180px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #0f172a;
  color: #f8fafc;
}

.msc-chat-badge span {
  display: block;
  color: rgba(248, 250, 252, 0.68);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
}

.msc-chat-badge strong {
  display: block;
  margin-top: 8px;
  font-size: 18px;
}

.msc-chat-intake {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
  padding: 18px;
}

.msc-chat-intake label,
.msc-chat-textarea-wrap {
  display: grid;
  gap: 8px;
}

.msc-chat-intake span,
.msc-chat-textarea-wrap span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--msc-muted);
}

.msc-chat-intake input,
.msc-chat-compose textarea {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 16px;
  background: #fff;
  padding: 14px 16px;
  font: inherit;
  color: var(--msc-ink);
}

.msc-chat-intake input:focus,
.msc-chat-compose textarea:focus {
  outline: 2px solid rgba(15, 118, 110, 0.24);
  border-color: var(--msc-brand);
}

.msc-chat-stream {
  min-height: 320px;
  max-height: 560px;
  overflow-y: auto;
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 18px;
}

.msc-message {
  max-width: min(78ch, 88%);
  padding: 16px 18px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--msc-line);
  animation: msc-rise 240ms ease-out;
}

.msc-message p {
  margin: 0;
}

.msc-message-client {
  margin-left: auto;
  background: var(--msc-client);
}

.msc-message-ai {
  background: var(--msc-ai);
}

.msc-message-team {
  background: var(--msc-team);
}

.msc-message-system {
  max-width: 100%;
  background: rgba(255, 255, 255, 0.88);
}

.msc-message-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  font-size: 12px;
  color: var(--msc-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.msc-chat-compose {
  margin-top: 12px;
  padding: 18px;
}

.msc-chat-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}

.msc-chat-actions button {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 14px 20px;
  font: inherit;
  cursor: pointer;
}

.msc-chat-actions button[type="submit"] {
  background: linear-gradient(135deg, var(--msc-brand), var(--msc-brand-strong));
  color: #fff;
  box-shadow: 0 14px 30px rgba(15, 118, 110, 0.25);
}

.msc-secondary-button {
  background: transparent;
  color: var(--msc-ink);
  border: 1px solid rgba(15, 23, 42, 0.14) !important;
}

.msc-chat-help {
  margin: 12px 2px 0;
  color: var(--msc-muted);
}

@keyframes msc-rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 780px) {
  .msc-chat-panel {
    margin: 18px auto;
    padding: 18px;
    border-radius: 22px;
  }

  .msc-chat-hero,
  .msc-chat-intake {
    grid-template-columns: 1fr;
  }

  .msc-chat-hero {
    flex-direction: column;
  }

  .msc-chat-badge,
  .msc-message {
    max-width: 100%;
  }

  .msc-chat-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .msc-chat-intake {
    grid-template-columns: 1fr;
  }
}