.feedback-open { overflow: hidden; }
.feedback-dialog { box-sizing: border-box; width: min(520px, calc(100% - 24px)); max-height: calc(100dvh - 32px); margin: auto; padding: 20px; border: 1px solid #c8d6dc; border-radius: 8px; background: #fff; color: #17272e; font: 14px/1.5 system-ui, sans-serif; letter-spacing: 0; overflow: auto; }
.feedback-dialog::backdrop { background: rgb(18 30 40 / 48%); }
.feedback-dialog *, .feedback-dialog *::before { box-sizing: border-box; }
.feedback-dialog [hidden] { display: none !important; }
.feedback-dialog header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.feedback-dialog h2 { flex: 1; margin: 0; font-size: 20px; line-height: 1.35; overflow-wrap: anywhere; }
.feedback-dialog button { cursor: pointer; font: inherit; }
.feedback-close { flex: 0 0 40px; height: 40px; border: 1px solid #d7e0e5; border-radius: 6px; background: #f5f7f8; color: #33434a; font-size: 24px !important; }
.feedback-dialog form > label { display: block; margin: 12px 0 6px; font-weight: 600; }
.feedback-dialog textarea, .feedback-dialog input[type=email] { width: 100%; border: 1px solid #aebfc8; border-radius: 4px; padding: 10px; color: #17272e; background: #fff; font: 16px/1.5 system-ui, sans-serif; }
.feedback-dialog textarea { resize: vertical; min-height: 120px; max-height: 300px; }
.feedback-dialog .feedback-attach { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.feedback-attach input { margin-top: 4px; flex-shrink: 0; }
.feedback-context { max-height: 96px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 12px/1.5 system-ui, sans-serif; background: #f3f6f8; padding: 10px; margin: 8px 0; border-radius: 4px; }
.feedback-note { font-size: 12px; color: #53656d; margin: 12px 0; }
.feedback-note a { color: #006d78; }
.feedback-status { color: #a22732; min-height: 0; margin: 8px 0; overflow-wrap: anywhere; }
.feedback-status:empty { display: none; }
.feedback-submit, .feedback-success button { min-height: 44px; width: 100%; border: 0; border-radius: 4px; background: #1766d9; color: #fff; padding: 10px 16px; }
.feedback-submit:disabled { opacity: .65; cursor: wait; }
.feedback-dialog :focus-visible { outline: 3px solid #1766d9; outline-offset: 2px; }
.feedback-success small { display: block; margin: 12px 0 24px; overflow-wrap: anywhere; color: #53656d; }
.feedback-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 380px) { .feedback-dialog { padding: 16px; } .feedback-dialog h2 { font-size: 18px; } }
