.feedback-opener{position:fixed;right:20px;bottom:24px;z-index:9998;border:1px solid #b9ceef;border-radius:24px;padding:11px 18px;color:#2455a0;background:#fff;box-shadow:0 3px 20px #17386620;font:600 14px/1.4 sans-serif;cursor:pointer}
body.auth-locked .feedback-opener,.feedback-opener[hidden]{display:none!important}
.feedback-dialog{width:min(720px,calc(100vw - 24px));max-height:90dvh;padding:0;border:1px solid #dbe4f1;border-radius:20px;background:#fff;color:#1f3048;box-shadow:0 24px 100px #10203935}
.feedback-dialog::backdrop{background:#10243c70;backdrop-filter:blur(3px)}
.feedback-dialog form{display:flex;flex-direction:column;max-height:88dvh;margin:0}.feedback-dialog header,.feedback-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #e8edf4;flex-shrink:0}
.feedback-dialog header h2{margin:0;font:700 22px/1.4 sans-serif}.feedback-dialog footer{border-top:1px solid #e8edf4;border-bottom:0;justify-content:flex-end}
.feedback-body{overflow:auto;overscroll-behavior:contain;padding:20px 24px;min-height:0}.feedback-dialog label{display:block;font-weight:600;margin-bottom:10px}
.feedback-dialog textarea{box-sizing:border-box;display:block;width:100%;resize:vertical;min-height:120px;max-height:260px;padding:14px;border:1px solid #ccd7e7;border-radius:12px;color:#1f3048;background:#fff;font:16px/1.6 sans-serif}
.feedback-dialog button{cursor:pointer;min-height:44px}.feedback-close{background:#f1f4f8;border:0;border-radius:50%;width:44px;font-size:24px;color:#56667c}
.feedback-add{background:#edf4ff;color:#2455a0;border:1px solid #d2e0f5;padding:10px 16px;border-radius:10px;margin-top:16px;font-size:14px}
.feedback-send{background:#2563eb;color:#fff;border:0;border-radius:10px;padding:12px 24px;font-weight:600;font-size:16px}.feedback-dialog button:disabled{opacity:.55;cursor:wait}
.feedback-hint{font-size:12px;line-height:1.7;color:#68788e;margin:10px 0}.feedback-status{color:#227452;font-size:14px;line-height:1.6;white-space:pre-wrap}.feedback-status.error{color:#bc3542}.feedback-dialog progress{width:100%;height:8px;accent-color:#2563eb}
.feedback-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feedback-preview{padding:10px;border:1px solid #dce4ef;border-radius:12px;min-width:0}.feedback-preview img,.feedback-preview video{display:block;width:100%;height:150px;object-fit:contain;background:#eef2f7;border-radius:8px}.feedback-preview span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;margin-top:8px}.feedback-preview button{border:0;background:transparent;color:#9e3444}
.feedback-history{border-top:1px solid #e3eaf3;margin-top:20px;padding-top:10px}.feedback-history h3{font-size:15px}.feedback-history>div{border-bottom:1px solid #edf0f5;padding:12px 0}.feedback-history p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:6px 0}.feedback-history strong{font-size:12px;color:#4569a0}.feedback-history small{color:#7a8798;font-size:12px}
@media(max-width:700px){.feedback-opener{bottom:calc(90px + env(safe-area-inset-bottom));right:12px;padding:9px 13px;font-size:12px}.feedback-dialog header,.feedback-dialog footer{padding:14px 16px}.feedback-body{padding:16px}.feedback-dialog footer button{width:100%}}
