.ff-feedback-trigger { position: fixed; right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); z-index: 45; display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .6rem; border: 1px solid #cbd5e1; border-radius: 999px; background: white; color: #475569; box-shadow: 0 1px 3px #0001; font-size: .75rem; line-height: 1rem; }
.ff-feedback-trigger:hover { background: #f1f5f9; color: #1e3a5f; }
.ff-feedback-trigger:focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.ff-feedback-trigger svg { width: .875rem; height: .875rem; flex: none; }
.ff-feedback-dialog { width: min(95vw, 42rem); max-height: 90vh; overflow: auto; border: 1px solid #cbd5e1; border-radius: .75rem; padding: 1.25rem; color: #111827; background: white; margin: auto; }
.ff-feedback-dialog::backdrop { background: #11182799; }
.ff-feedback-dialog h2 { font-size: 1.4rem; font-weight: 600; }
.ff-feedback-dialog p { margin: .75rem 0; font-size: .875rem; }
.ff-feedback-dialog label { display: block; margin: .75rem 0 .25rem; font-size: .875rem; }
.ff-feedback-dialog textarea { display: block; width: 100%; padding: .5rem; border: 1px solid #94a3b8; border-radius: .3rem; }
.ff-feedback-dialog button { padding: .5rem .75rem; border: 1px solid #94a3b8; border-radius: .3rem; margin-top: .5rem; }
.ff-feedback-dialog button:disabled { opacity: .5; cursor: not-allowed; }
.ff-feedback-images { display: flex; gap: .5rem; flex-wrap: wrap; }
.ff-feedback-dialog input[type=file] { max-width: 100%; font-size: .875rem; }
.ff-feedback-dialog details { margin-top: 1rem; font-size: .875rem; }
.ff-feedback-dialog summary { cursor: pointer; color: #475569; }
.ff-feedback-preview { max-width: 100%; max-height: 20rem; object-fit: contain; margin: .5rem 0; }
.ff-feedback-actions { display: flex; gap: .75rem; }
.ff-feedback-actions button:first-child { background: #1d4ed8; border-color: #1d4ed8; color: white; }
.ff-feedback-dialog a { display: block; color: #1d4ed8; text-decoration: underline; }
