body.portal-status-neomorphism #modal-root .modal.feedback-modal {
  width: min(800px, calc(100vw - 28px)) !important;
  max-height: 90vh !important;
  max-height: 90dvh !important;
  color: var(--neo-text, #34383d);
  background: var(--neo-bg, #eceeef);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.feedback-shell { display: flex; flex-direction: column; min-height: 0; max-height: calc(90vh - 74px); max-height: calc(90dvh - 74px); padding: 16px 22px 22px; }
.feedback-tabs { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid #d3d8dc; padding-bottom: 12px; }
.feedback-tabs button, .feedback-button { width: auto; border: 1px solid #cbd1d6; border-radius: 12px; padding: 9px 15px; background: #f6f7f8; color: #34383d; font: inherit; cursor: pointer; }
.feedback-tabs button[aria-selected="true"] { background: #34383d; color: #fff; border-color: #34383d; }
.feedback-tabs button[hidden], .feedback-modal [hidden] { display: none !important; }
.feedback-count { display: inline-block; min-width: 22px; padding: 0 5px; margin-inline-start: 4px; border-radius: 20px; background: #ffe1e2; color: #82232c; font-size: 12px; }
.feedback-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0 8px; font-size: 12px; color: #606970; }
.feedback-toolbar .feedback-button { padding: 5px 12px; font-size: 12px; }
.feedback-panel { overflow-y: auto; min-height: 220px; padding: 0 2px 6px; }
.feedback-help, .feedback-note { font-size: 12px; line-height: 1.95; color: #58616a; margin: 0 0 16px; }
.feedback-note { margin: 12px 0; padding: 10px 12px; border-radius: 10px; background: #e1e6e9; }
.feedback-types { display: flex; gap: 24px; padding: 8px 0 16px; border: 0; margin: 0; }
.feedback-types legend, .feedback-label { font-size: 13px; font-weight: 700; }
.feedback-types label { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.feedback-types input { accent-color: #df4b54; }
.feedback-label { display: block; margin-bottom: 8px; }
.feedback-modal textarea { display: block; width: 100%; min-height: 112px; resize: vertical; max-height: 260px; padding: 12px 14px; border: 1px solid #bdc6cd; border-radius: 12px; color: #30383f; background: #fafbfc; font: inherit; font-size: 13px; line-height: 1.9; }
.feedback-form-meta { display: flex; gap: 12px; justify-content: space-between; margin-top: 7px; color: #626b72; font-size: 11px; }
.feedback-form-meta [data-feedback-counter] { white-space: nowrap; }
.feedback-button--primary { background: #da4550; border-color: #da4550; color: white; font-weight: 700; }
.feedback-button:hover { filter: brightness(.97); }
.feedback-modal button:disabled, .feedback-modal textarea:disabled { opacity: .6; cursor: wait; }
.feedback-notice { padding: 10px 13px; margin: 0 0 12px; border: 1px solid #d99098; border-radius: 10px; color: #872f37; background: #fff1f2; font-size: 12px; }
.feedback-notice[data-kind="success"] { background: #e6f5ed; border-color: #93c5a9; color: #245b3e; }
.feedback-empty { text-align: center; padding: 52px 16px; color: #626b72; font-size: 13px; }
.feedback-card { background: #f7f8f9; border: 1px solid #d3d9de; border-radius: 14px; margin-bottom: 12px; overflow: hidden; }
.feedback-card > summary { display: block; list-style: none; padding: 14px 16px; cursor: pointer; }
.feedback-card > summary::-webkit-details-marker { display: none; }
.feedback-card-heading { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 9px; }
.feedback-type { font-size: 12px; font-weight: 700; }
.feedback-status, .feedback-unread { border-radius: 20px; padding: 2px 8px; font-size: 10px; background: #e8edf2; color: #4e5c6a; }
.feedback-status.is-answered { color: #266345; background: #e0f0e7; }
.feedback-unread { background: #ffe0e4; color: #a02535; }
.feedback-card time { font-size: 10px; color: #69757f; margin-inline-start: auto; }
.feedback-preview { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; color: #404c55; }
.feedback-open-label { display: block; margin-top: 9px; font-size: 10px; color: #6b7780; }
.feedback-card[open] .feedback-open-label { display: none; }
.feedback-card-content { padding: 0 16px 16px; border-top: 1px solid #e1e5e8; }
.feedback-card h3 { margin: 14px 0 5px; font-size: 12px; font-weight: 700; }
.feedback-message { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.95; margin: 6px 0; font-size: 13px; }
.feedback-sender { color: #68747e; font-size: 11px; }
.feedback-reply { border-inline-start: 3px solid #438969; padding: 1px 14px 12px; background: #eaf3ef; border-radius: 8px; margin-top: 16px; }
.feedback-card form { margin-top: 18px; }

/* The hotspot theme has global blue !important button rules. Keep this section
   within its own neutral/red palette, including hover and keyboard focus. */
body.portal-status-neomorphism #modal-root .modal.feedback-modal :is(.feedback-tabs button, .feedback-button, .modal-close) {
  background: #eceeef !important;
  color: #4b535c !important;
  border: 1px solid #d4d8dc !important;
  box-shadow: 4px 4px 9px #d1d4d7, -4px -4px 9px #fff !important;
}
body.portal-status-neomorphism #modal-root .modal.feedback-modal :is(.feedback-tabs button, .feedback-button, .modal-close):hover {
  background: #e1e4e7 !important;
  border-color: #bcc3ca !important;
  color: #34383d !important;
}
body.portal-status-neomorphism #modal-root .modal.feedback-modal .feedback-tabs button[aria-selected="true"] {
  background: #4b535c !important;
  color: #fff !important;
  border-color: #4b535c !important;
}
body.portal-status-neomorphism #modal-root .modal.feedback-modal button.feedback-button--primary {
  background: #c74350 !important;
  border-color: #c74350 !important;
  color: #fff !important;
  box-shadow: 3px 3px 8px #d1d4d7, -3px -3px 8px #fff !important;
}
body.portal-status-neomorphism #modal-root .modal.feedback-modal button.feedback-button--primary:hover {
  background: #af3441 !important;
  border-color: #af3441 !important;
  color: #fff !important;
}
body.portal-status-neomorphism #modal-root .modal.feedback-modal :is(button, summary, [tabindex]):focus-visible {
  outline: 2px solid #c74350 !important;
  outline-offset: 3px;
}
body.portal-status-neomorphism #modal-root .modal.feedback-modal textarea:focus {
  border-color: #c74350 !important;
  box-shadow: 0 0 0 3px rgba(199, 67, 80, .14) !important;
  outline: none !important;
}
body.portal-status-master.portal-status-neomorphism #status-card .kpis > button#portal-feedback-shortcut.kpi:hover {
  border-color: #c7cdd3 !important;
  box-shadow: 6px 6px 14px #d1d4d7, -6px -6px 14px #fff !important;
}
@media (max-width: 600px) {
  .feedback-shell { padding: 12px; }
  .feedback-tabs { gap: 5px; }
  .feedback-tabs button { padding: 8px 10px; font-size: 11px; }
  .feedback-form-meta { flex-wrap: wrap; }
  .feedback-card > summary, .feedback-card-content { padding-inline: 12px; }
  .feedback-card time { margin-inline-start: 0; }
}
