/* Public interview foundation. MEFA brand overrides follow in mefa-brand.css. */
body.participant-mode {
  --ink: #edf3f9;
  --panel: #ffffff;
  --panel-2: #f5f8fc;
  --line: #d7e2ee;
  --text: #1b2e45;
  --muted: #5d7187;
  --lime: #2367d1;
  --blue: #2b9dc9;
  --bubble: #f3f7fc;
  --user: #e4efff;
  --danger: #a32735;
  --focus-ring: #2367d1;
  background: #edf3f9;
  color: var(--text);
}

body.participant-mode .topbar {
  color: #17283c;
  background: rgba(255, 255, 255, .96);
  border-bottom-color: #d7e2ee;
  box-shadow: 0 3px 14px #163a5a0a;
}
body.participant-mode .top-brand span { color: #60758a; }
body.participant-mode .staff-link,
body.participant-mode .quiet { color: #36516c; }
body.participant-mode .staff-link:hover,
body.participant-mode .quiet:hover { color: #174f9d; }
body.participant-mode .card {
  color: var(--text);
  background: #fff;
  border-color: #d8e2ed;
  box-shadow: 0 18px 44px #10243b14;
}
body.participant-mode .hero h1 { color: #17283c; }
body.participant-mode .hero p,
body.participant-mode #consent-copy p { color: #425a72; }
body.participant-mode .check { color: #2a4057; }
body.participant-mode .check input { accent-color: #2367d1; }
body.participant-mode .muted { color: #5d7187; }
body.participant-mode .primary {
  color: #fff;
  background: #2367d1;
  box-shadow: 0 5px 14px #2367d126;
}
body.participant-mode .primary:hover:not(:disabled) { background: #1d58b3; }
body.participant-mode .primary:disabled { color: #fff; background: #8ba9d2; opacity: .62; }
body.participant-mode .secondary {
  color: #244a7d;
  border-color: #b9cce2;
  background: #fff;
}
body.participant-mode .secondary:hover { background: #edf4ff; }
body.participant-mode .error { color: #a32735; }

body.participant-mode .chat-shell {
  color: var(--text);
  background: #fff;
  border-color: #d3dfeb;
  box-shadow: 0 18px 46px #10243b12;
}
body.participant-mode .chat-title {
  color: #1d3147;
  background: #f5f8fc;
  border-bottom-color: #dbe5ef;
}
body.participant-mode .chat-title span { color: #65798e; }
body.participant-mode .messages { background: #fff; }
body.participant-mode .messages .message {
  color: #263c54;
  border: 1px solid #e0e8f1;
  box-shadow: 0 3px 10px #18365308;
}
body.participant-mode .messages .message.assistant {
  background: #f3f7fc;
  border-color: #dce6f0;
}
body.participant-mode .messages .message.user {
  color: #183b66;
  background: #e5efff;
  border-color: #c8daf1;
}
body.participant-mode .assistant-avatar {
  border-color: #c6d9ec;
  background: #eef6ff;
  box-shadow: 0 4px 12px #18365312;
}
body.participant-mode .typing-indicator { color: #5d7187; }
body.participant-mode .typing-indicator .typing-dots i { background: #2367d1; }
body.participant-mode .choice {
  color: #29445f;
  border-color: #cfdbe8;
  background: #f8fbff;
}
body.participant-mode .choice:hover:not(:disabled) {
  color: #173f73;
  border-color: #8eadd4;
  background: #edf4ff;
}
body.participant-mode #chat-controls .quiet {
  min-height: 42px;
  padding: 7px 13px;
  border: 1px solid #cfdbe8;
  border-radius: 11px;
  color: #37516c;
  background: #f7faff;
}
body.participant-mode #chat-controls .quiet:hover { border-color: #8eadd4; background: #edf4ff; }
body.participant-mode .composer {
  background: #f5f8fc;
  border-top-color: #dbe5ef;
}
body.participant-mode .composer textarea {
  color: #1c3148;
  background: #fff;
  border-color: #c8d6e5;
}
body.participant-mode .composer textarea::placeholder { color: #718398; opacity: 1; }
body.participant-mode .composer textarea:focus {
  border-color: #2367d1;
  box-shadow: 0 0 0 3px #2367d126;
}
body.participant-mode .send {
  color: #fff;
  background: #2367d1;
}
body.participant-mode .send:hover:not(:disabled) { background: #1d58b3; }
body.participant-mode .message-length {
  color: #64788d;
  background: #f5f8fc;
}
body.participant-mode .message-length.error { color: #a32735; }
body.participant-mode .network-note {
  color: #594716;
  background: #fff8e8;
  border-top-color: #ead8a8;
}
body.participant-mode .retry {
  color: #214d83;
  border-color: #9bb9de;
  background: #fff;
}
body.participant-mode .retry:hover { background: #edf4ff; }

/* Keep every pre-interview input, including nested "other" fields, on-theme. */
body.participant-mode #pre-form .pre-form-grid .field input:not([type="hidden"]),
body.participant-mode #pre-form .pre-form-grid .field textarea,
body.participant-mode #pre-form .pre-form-grid .field select {
  color: #26394e;
  background: #fbfdff;
  border-color: #c9d6e4;
}
body.participant-mode #pre-form .pre-form-grid .field input::placeholder,
body.participant-mode #pre-form .pre-form-grid .field textarea::placeholder { color: #718196; opacity: 1; }
body.participant-mode #pre-form .pre-multiple { background: #f9fbfe; }
body.participant-mode #pre-form .pre-option { color: #293b51; background: #fff; }
body.participant-mode #pre-form .pre-option:has(input:checked) { background: #edf4ff; }

body.participant-mode .success {
  color: #1d58b3;
  background: #e7f0ff;
}
body.participant-mode .participant-feedback { border-top-color: #d7e2ee; }
body.participant-mode .participant-feedback textarea {
  color: #1c3148;
  background: #fff;
  border-color: #c8d6e5;
}
body.participant-mode .participant-feedback textarea::placeholder { color: #718398; opacity: 1; }
body.participant-mode :is(button, a, input, select, textarea):focus-visible {
  outline-color: #2367d1;
}

@media (prefers-reduced-motion: reduce) {
  body.participant-mode *,
  body.participant-mode *::before,
  body.participant-mode *::after { scroll-behavior: auto; }
}
