/* The report form owns its palette: dark-site rules must not leak into it. */
body.sos-public-home #feedback-modal .feedback-panel {
  --muted: #4b607a;
  --line: #c3cedd;
  --line2: #9aaec7;
  --lime: #3155ad;
  --cyan: #3155ad;
  --warning: #805015;
  color: #1b2c46;
  background: #f8fafd;
  width: min(880px, calc(100% - 32px));
  border-radius: 16px;
  scrollbar-color: #879bb7 #e8eef6;
}
#feedback-modal .feedback-modal-header {
  position: relative;
  background: #f8fafd;
  backdrop-filter: none;
  padding: 28px;
  gap: 24px;
}
#feedback-modal .feedback-modal-header h2 {
  color: #1b2c46;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.25;
  letter-spacing: -.02em;
  margin: 0 0 8px;
  text-wrap: balance;
}
#feedback-modal .feedback-modal-header p:last-child { color: #4b607a; font-size: 14px; line-height: 1.6; }
#feedback-modal .feedback-language-control > span { color: #4b607a; font-size: 12px; letter-spacing: 0; }
#feedback-modal .feedback-language-switch { background: #e8eef6; border-color: #a9b9ce; }
#feedback-modal .feedback-language-switch button { color: #334d70; min-width: 44px; min-height: 44px; }
#feedback-modal .feedback-language-switch button[aria-pressed="true"] { color: #fff; background: #3155ad; box-shadow: none; }
#feedback-modal .modal-close { color: #1b2c46; background: #fff; border-color: #a9b9ce; min-width: 44px; min-height: 44px; }
#feedback-modal :is(p, label, small, legend) { letter-spacing: 0; }
#feedback-modal :is(.feedback-context-picker-heading > p, .field-help, .form-demo-note, .offline-feedback-privacy) { color: #4b607a; font-size: 13px; line-height: 1.65; }
#feedback-modal .feedback-context-picker { background: transparent; border: 0; padding: 0; margin: 24px 28px; }
#feedback-modal .feedback-context-picker-heading > strong { color: #1b2c46; font-size: 17px; }
#feedback-modal .feedback-context-picker-grid label > span { color: #334d70; font-size: 14px; }
#feedback-modal :is(select, textarea, .feedback-contact-fields input) { color: #1b2c46; background: #fff; border: 1px solid #9aaec7; font: inherit; font-size: 16px; border-radius: 8px; }
#feedback-modal :is(textarea, input)::placeholder { color: #566b85; opacity: 1; }
#feedback-modal select:disabled { opacity: 1; color: #566b85; background: #e8eef6; }
#feedback-modal .feedback-context { background: #e8eef6; border-color: #c3cedd; }
#feedback-modal .feedback-context span { color: #4b607a; font-size: 12px; }
#feedback-modal .feedback-context strong { font-size: 14px; }
#feedback-modal .feedback-context-state.ready { color: #236344; }
#feedback-modal .feedback-emergency { background: #fff5e8; border-color: #cfb58d; }
#feedback-modal :is(.feedback-emergency, .safety-alert) p { color: #634c2e; font-size: 14px; }
#feedback-modal .feedback-emergency strong { color: #69430f; font-size: 14px; }
#feedback-modal .feedback-fieldset { min-width: 0; padding: 0; margin: 0; }
#feedback-modal .feedback-fieldset legend { color: #1b2c46; font-size: 16px; margin-bottom: 12px; }
#feedback-modal :is(.feedback-option-grid, .identity-grid) label > span { background: #fff; border-color: #a9b9ce; min-height: 76px; border-radius: 8px; }
#feedback-modal :is(.feedback-option-grid, .identity-grid) strong { color: #1b2c46; font-size: 15px; }
#feedback-modal :is(.feedback-option-grid, .identity-grid) small { color: #4b607a; font-size: 13px; }
#feedback-modal :is(.feedback-option-grid, .identity-grid) input:checked + span,
#feedback-modal .feedback-category-grid input:checked + span { background: #e5edfc; border-color: #3155ad; color: #234581; box-shadow: inset 0 0 0 1px #3155ad; }
#feedback-modal .feedback-category-grid label > span { color: #334d70; background: #fff; border-color: #a9b9ce; font-size: 14px; border-radius: 8px; }
#feedback-modal .star-rating label { background: #fff; border-color: #a9b9ce; color: #4b607a; }
#feedback-modal .star-rating label.selected { background: #e5edfc; color: #234581; border-color: #3155ad; }
#feedback-modal .star-rating label > small { font-size: 12px; }
#feedback-modal .feedback-contact-fields { background: transparent; border: 0; padding: 0; }
#feedback-modal .feedback-contact-fields label > span { color: #334d70; font-size: 14px; }
#feedback-modal .checkbox-line { color: #334d70; font-size: 14px; line-height: 1.6; }
#feedback-modal input { accent-color: #3155ad; }
#feedback-modal :is(.feedback-category-grid, .star-rating) label { position: relative; }
#feedback-modal input[type="radio"] { width: 1px; height: 1px; min-width: 0; min-height: 0; padding: 0; margin: 0; clip-path: inset(50%); }
#feedback-modal :is(button, a, select, textarea, input):focus-visible { outline: 3px solid #3155ad !important; outline-offset: 3px; }
#feedback-modal label:has(input:focus-visible) > span { outline: 3px solid #3155ad; outline-offset: 3px; }
#feedback-modal #fb-submit { background: #3155ad; color: #fff; border-radius: 8px; }
#feedback-modal #fb-submit:disabled { background: #dce4ef; color: #425773; opacity: 1; }
#feedback-modal .offline-feedback-status { background: #e8eef6; border: 0; border-radius: 8px; padding: 16px; margin: 20px 28px; }
#feedback-modal .offline-feedback-status strong { color: #1b2c46; font-size: 14px; letter-spacing: 0; }
#feedback-modal .offline-feedback-status :is(span, small) { color: #4b607a; font-size: 13px; letter-spacing: 0; }
#feedback-modal [hidden] { display: none !important; }
#feedback-modal .offline-feedback-status button { color: #234581; background: #fff; border-color: #9aaec7; }
#feedback-modal .offline-feedback-status button:disabled { color: #566b85; background: #e8eef6; opacity: 1; }
#feedback-modal .feedback-context-picker-status { font-size: 14px; }
#feedback-modal .feedback-context-picker-status[data-mode="success"] { color: #236344; }
#feedback-modal :is(.feedback-context-picker-status[data-mode="error"], .form-status) { color: #9a2637; }
@media (max-width: 600px) {
  body.sos-public-home #feedback-modal .feedback-panel { width: calc(100% - 12px); border-radius: 12px; }
  #feedback-modal .feedback-modal-header { display: flex; flex-direction: column-reverse; gap: 16px; padding: 20px 16px; }
  #feedback-modal .feedback-modal-actions { position: static; }
  #feedback-modal .feedback-modal-actions { width: 100%; justify-content: space-between; align-items: center; }
  #feedback-modal .feedback-language-control { display: flex; align-items: center; gap: 12px; }
  #feedback-modal .feedback-context-picker { margin: 20px 16px; }
  #feedback-modal .offline-feedback-status { margin: 16px; }
  #feedback-modal .feedback-option-grid { grid-template-columns: 1fr; }
}
