.feedback-launcher { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 1050; display: flex; gap: .45rem; align-items: center; border: 0; border-radius: 2rem; padding: .85rem 1.1rem; color: #fff; background: #3874ff; box-shadow: 0 5px 18px rgba(0,0,0,.25); font-weight: 700; }
.feedback-launcher:hover,.feedback-launcher:focus { background: #004dff; color: #fff; }
.feedback-launcher i { font-size: 1.2rem; }
.feedback-dialog[hidden] { display: none; }
.feedback-dialog { position: fixed; inset: 0; z-index: 1060; display: grid; place-items: center; padding: 1rem; }
.feedback-dialog__backdrop { position: absolute; inset: 0; background: rgba(20,24,36,.55); }
.feedback-dialog__content { position: relative; width: min(100%, 36rem); max-height: calc(100vh - 2rem); overflow: auto; padding: 1.5rem; border-radius: .65rem; background: #fff; box-shadow: 0 1rem 3rem rgba(0,0,0,.25); }
.feedback-dialog__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }.feedback-dialog__header h2 { margin: 0; font-size: 1.25rem; }.feedback-close { border: 0; background: transparent; color: #525b75; font-size: 2rem; line-height: 1; }
.feedback-intro { margin: .75rem 0 1rem; color: #525b75; }.feedback-fields { display: grid; gap: .4rem; }.feedback-fields label { margin-top: .45rem; font-weight: 700; }.feedback-fields input,.feedback-fields select,.feedback-fields textarea { width: 100%; padding: .6rem .7rem; border: 1px solid #cbd0dd; border-radius: .375rem; }.feedback-fields input:invalid,.feedback-fields select:invalid { border-color: #fa3b1d; }.feedback-optional { color: #777; font-weight: 400; }.feedback-status { margin: .75rem 0; padding: .65rem .75rem; border-radius: .375rem; }.feedback-status--error { color: #8e1705; background: #ffe0db; }.feedback-status--success { color: #1c6c09; background: #d9fbd0; }.feedback-dialog__actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.25rem; }
@media (max-width: 575px) { .feedback-launcher { right: 1rem; bottom: 1rem; }.feedback-launcher span { display: none; }.feedback-dialog__content { padding: 1rem; } }
