[data-send-feedback][hidden], .feedback-dialog [hidden] { display: none !important; }
.feedback-opener { white-space: nowrap; min-height: 40px; }
#settingsFeedbackButton { margin: 12px 20px; min-height: 44px; font-size: 14px; }
#mobileFeedbackButton { display: none; }
.feedback-dialog { color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 0; width: min(580px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-shadow: var(--shadow); overflow-y: auto; }
.feedback-dialog::backdrop { background: rgba(0, 0, 0, .65); }
.feedback-shell { padding: 24px; }
.feedback-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.feedback-shell h2 { margin: 4px 0 0; font-size: 26px; }
.feedback-shell .eyebrow { margin: 0; }
.feedback-shell button { min-height: 44px; }
#feedbackClose { font-size: 24px; min-width: 44px; padding: 0; }
.feedback-privacy, .feedback-warning, .feedback-retention { line-height: 1.55; }
.feedback-warning { padding: 12px; border: 1px solid var(--line); border-left: 3px solid var(--warning); border-radius: 6px; font-size: 13px; }
.feedback-retention { margin: 16px 0 0; color: var(--muted); font-size: 12px; }
.feedback-dialog fieldset { min-width: 0; padding: 0; margin: 0; border: 0; display: grid; gap: 8px; }
.feedback-dialog label { display: block; font-size: 14px; font-weight: 600; }
.feedback-dialog label .muted { display: inline; }
.feedback-dialog select, .feedback-dialog textarea { display: block; width: 100%; box-sizing: border-box; color: var(--text); background: var(--bg-soft); border: 1px solid var(--line); border-radius: 8px; padding: 12px; font: inherit; }
.feedback-dialog select { margin-bottom: 10px; min-height: 44px; }
.feedback-dialog textarea { resize: vertical; min-height: 112px; max-height: 40vh; }
.feedback-dialog :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.feedback-dialog [aria-invalid=true] { border-color: var(--loss); }
.feedback-counter { margin: 0; color: var(--muted); text-align: right; font-size: 12px; }
.feedback-dialog .feedback-consent { display: flex; gap: 10px; align-items: center; padding: 10px 0; font-weight: 400; }
.feedback-consent input { width: 20px; height: 20px; accent-color: var(--accent); flex-shrink: 0; }
.feedback-consent small { display: block; color: var(--muted); margin-top: 3px; }
.feedback-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.feedback-error, .feedback-field-error { color: var(--loss); font-size: 14px; line-height: 1.5; }
.feedback-field-error { margin: 0 0 6px; }
.feedback-error { border-left: 3px solid currentColor; padding: 10px; background: var(--bg-soft); }
.feedback-status { color: var(--accent); line-height: 1.5; margin: 8px 0; }
.feedback-status:empty { display: none; }
.feedback-receipt { border: 1px solid var(--profit); border-radius: 8px; padding: 16px; margin-top: 16px; }
.feedback-receipt h3 { margin-top: 0; }
.feedback-receipt code { display: block; overflow-wrap: anywhere; font-size: 14px; user-select: all; }
.feedback-dialog button:disabled { opacity: .6; cursor: default; }
@media (max-width: 980px) { #mobileFeedbackButton:not([hidden]) { display: block; margin: 10px 0; width: 100%; text-align: left; } #desktopFeedbackButton { display: none; } }
@media (max-width: 480px) { .feedback-shell { padding: 18px; } .feedback-shell h2 { font-size: 23px; } .feedback-actions button { flex: 1 1 auto; } }
@media (forced-colors: active) { .feedback-dialog, .feedback-receipt, .feedback-warning { border: 1px solid CanvasText; } .feedback-dialog :focus-visible { outline-color: Highlight; } }
