.feedback-toggle.icon-button { width: auto; height: 36px; padding: 0 12px; gap: 7px; border-radius: 10px; }
.feedback-toggle .ui-icon { width: 17px; height: 17px; }
.feedback-dialog { width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; }
.feedback-dialog[open] { display: flex; flex-direction: column; }
.feedback-body { padding: 22px 24px 24px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.feedback-description { margin: 0 0 20px; font-size: 14px; line-height: 21px; color: var(--color-neutral-500); }
.feedback-types { display: flex; padding: 4px; margin: 0 0 22px; gap: 4px; border: 1px solid var(--color-neutral-200); border-radius: 10px; background: var(--color-neutral-50); }
.feedback-types label { flex: 1; position: relative; cursor: pointer; }
.feedback-types input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.feedback-types span { display: flex; align-items: center; justify-content: center; min-height: 34px; padding: 4px 8px; border-radius: 7px; font-size: 13px; font-weight: 500; text-align: center; color: var(--color-neutral-500); }
.feedback-types input:checked + span { background: white; color: var(--color-neutral-900); box-shadow: var(--elevation-raised); }
.feedback-types input:focus-visible + span { outline: 2px solid var(--color-neutral-500); outline-offset: 2px; }
.feedback-field { display: grid; gap: 8px; margin-bottom: 20px; }
.feedback-field > label { font-size: 13px; font-weight: 600; }
.feedback-field :is(input, textarea) { box-sizing: border-box; width: 100%; border: 1px solid var(--color-neutral-200); border-radius: 10px; padding: 10px 12px; background: white; color: var(--color-neutral-800); font: inherit; font-size: 16px; line-height: 24px; }
.feedback-field textarea { resize: vertical; min-height: 120px; max-height: 260px; }
.feedback-field :is(input,textarea)::placeholder { color: var(--color-neutral-400); }
.feedback-field [aria-invalid] { border-color: var(--color-red-500); }
.feedback-counter { justify-self: end; font-size: 12px; color: var(--color-neutral-400); font-variant-numeric: tabular-nums; }
.feedback-counter.over-limit, .feedback-error { color: var(--color-red-600); }
.feedback-hint { margin: 0; color: var(--color-neutral-500); font-size: 12px; line-height: 18px; }
.feedback-error { margin: 0 0 16px; font-size: 13px; line-height: 20px; }
.feedback-verification { margin-bottom: 16px; }
.feedback-verification:empty { display: none; }
.feedback-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.feedback-actions a { font-size: 12px; color: var(--color-neutral-500); text-underline-offset: 3px; }
.feedback-actions .primary { min-width: 90px; }
.feedback-success { display: grid; justify-items: center; padding: 18px 0 4px; text-align: center; }
.feedback-success > .ui-icon { width: 32px; height: 32px; color: var(--color-neutral-700); }
.feedback-success p { font-size: 15px; line-height: 23px; margin: 16px 0 24px; }
@media (max-width: 767px) {
  .feedback-toggle.icon-button { width: 36px; padding: 0; }
  .feedback-toggle [data-feedback-label] { display: none; }
  .feedback-body { padding: 20px; }
}
