.opal-feedback, .opal-feedback-dialog {
  --fb-bg: var(--ui-bg-raised, var(--card));
  --fb-field: var(--ui-bg, var(--bg));
  --fb-text: var(--ui-fg, var(--text));
  --fb-muted: var(--ui-fg-muted, var(--text-soft));
  --fb-line: var(--ui-line, var(--line-control));
  --fb-accent: var(--ui-accent, var(--accent));
  --fb-accent-fg: var(--ui-accent-fg, var(--accent-ink));
  --fb-danger: var(--ui-danger, var(--danger));
  color: var(--fb-text); font-family: inherit;
}
.opal-feedback { display: grid; gap: 18px; }
.opal-feedback-field { display: grid; gap: 8px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.opal-feedback input, .opal-feedback textarea, .opal-feedback select {
  box-sizing: border-box; width: 100%; min-width: 0; padding: 12px;
  border: 1px solid var(--fb-line); border-radius: 8px;
  background: var(--fb-field); color: var(--fb-text); font: inherit; font-weight: 400;
}
.opal-feedback textarea { resize: vertical; min-height: 120px; }
.opal-feedback-note, .opal-feedback-status { margin: 0; font-size: 13px; line-height: 1.6; color: var(--fb-muted); }
.opal-feedback-status.is-error { color: var(--fb-danger); }
.opal-feedback-submit { justify-self: start; border: 0; border-radius: 8px; padding: 12px 20px; font: inherit; font-size: 14px; font-weight: 700; background: var(--fb-accent); color: var(--fb-accent-fg); cursor: pointer; }
.opal-feedback-submit:hover { filter: brightness(1.08); }
.opal-feedback :disabled { opacity: .55; cursor: wait; }
.opal-feedback :focus-visible, .opal-feedback-close:focus-visible { outline: 2px solid var(--fb-accent); outline-offset: 3px; }
.opal-feedback-trap { display: none; }
.opal-feedback-dialog { box-sizing: border-box; width: min(540px, calc(100% - 32px)); max-height: calc(100% - 32px); overflow: auto; margin: auto; padding: 28px; background: var(--fb-bg); border: 1px solid var(--fb-line); border-radius: 16px; }
.opal-feedback-dialog::backdrop { background: var(--ui-backdrop); }
.opal-feedback-dialog h2 { margin: 0 0 22px; font-size: 23px; }
.opal-feedback-close { margin-top: 18px; padding: 10px 16px; border: 1px solid var(--fb-line); border-radius: 8px; background: var(--fb-field); color: var(--fb-text); font: inherit; cursor: pointer; }
.opal-feedback-close:hover { background: var(--ui-bg-hover); }
