/* ============================================================
   20 · SUPPORT PAGE
   Contact cards, department inbox banner, email form, FAQ accordion --
   themed with the shared tokens instead of the page's old hardcoded
   dark-blue inline styles, so it matches light/dark mode like every
   other page.
   ============================================================ */

/* ---- Contacts card ---- */
.support-contacts-wrap {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.support-team-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background-color: var(--accent-dim);
  border: 1px solid var(--accent-line-soft);
  border-radius: var(--radius-xs);
  margin-bottom: 4px;
}

.support-team-banner-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.support-team-banner-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-xs);
  background-color: var(--accent-fill);
  color: var(--accent-on-fill);
  display: flex;
  align-items: center;
  justify-content: center;
}

.support-team-banner-label {
  font-family: var(--font-display);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--rjm-yellow-ink);
  font-weight: 700;
}

.support-team-banner-email {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  word-break: break-word;
}

.support-team-banner-btn {
  flex-shrink: 0;
  padding: 7px 14px;
  background-color: var(--accent-fill);
  color: var(--accent-on-fill);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-xs);
  text-decoration: none;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: background-color 0.12s ease;
}

.support-team-banner-btn:hover {
  background-color: var(--accent-fill-hover);
  color: var(--accent-on-fill);
}

.support-contacts-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.support-contact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background-color: var(--cad-subpanel);
  border: 1px solid var(--cad-border);
  border-radius: var(--radius-xs);
}

.support-contact-identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.support-contact-avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--cad-hover);
  color: var(--rjm-yellow-ink);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cad-border);
}

.support-contact-name {
  font-weight: 700;
  font-size: 13px;
  color: var(--text-primary);
}

.support-contact-role {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 1px;
}

.support-contact-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.support-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  background-color: var(--cad-bg);
  color: var(--text-primary);
  border: 1px solid var(--cad-border);
  border-radius: var(--radius-xs);
  text-decoration: none;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  transition: all 0.12s ease;
}

.support-action-btn:hover {
  border-color: var(--accent-line);
  color: var(--rjm-yellow-ink);
}

.support-action-btn--teams {
  background-color: #5059C9;
  border-color: #5059C9;
  color: #FFFFFF;
}

.support-action-btn--teams:hover {
  opacity: 0.85;
  color: #FFFFFF;
}

/* ---- Email form ---- */
.support-email-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  height: 100%;
  box-sizing: border-box;
}

.support-email-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.support-email-field--grow {
  flex: 1;
}

.support-email-field label {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.05em;
}

.support-email-field input,
.support-email-field textarea {
  background-color: var(--cad-bg);
  border: 1px solid var(--cad-border);
  color: var(--text-primary);
  padding: 8px 10px;
  border-radius: var(--radius-xs);
  font-size: 13px;
  font-family: var(--font-body);
  outline: none;
  box-sizing: border-box;
  resize: vertical;
  transition: border-color 0.12s ease;
}

.support-email-field textarea {
  flex: 1;
  min-height: 90px;
}

.support-email-field input:focus,
.support-email-field textarea:focus {
  border-color: var(--accent-line);
}

.support-email-submit {
  align-self: flex-start;
  background-color: var(--accent-fill);
  color: var(--accent-on-fill);
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-xs);
  padding: 8px 18px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.12s ease;
}

.support-email-submit:hover {
  background-color: var(--accent-fill-hover);
  color: var(--accent-on-fill);
}

.support-email-note {
  margin: 0;
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
}

.support-email-note strong {
  color: var(--text-secondary);
}

/* ---- FAQ accordion ---- */
.support-faq-list {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.support-faq-item {
  background-color: var(--cad-subpanel);
  border: 1px solid var(--cad-border);
  border-radius: var(--radius-xs);
  padding: 2px 4px;
}

.support-faq-question {
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.support-faq-question::-webkit-details-marker {
  display: none;
}

.support-faq-question::after {
  content: "+";
  color: var(--rjm-yellow-ink);
  font-weight: 800;
  font-size: 16px;
  flex-shrink: 0;
  margin-left: 10px;
}

.support-faq-item[open] .support-faq-question::after {
  content: "\2212";
}

.support-faq-answer {
  padding: 0 12px 12px 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}
