dialog.qr-modal::backdrop{-webkit-backdrop-filter:blur(4px);background:#0e1b338c;animation:.22s forwards qr-backdrop-in}@keyframes qr-backdrop-in{0%{opacity:0}to{opacity:1}}dialog.qr-modal{animation:.24s cubic-bezier(.34,1.45,.64,1) forwards qr-card-in}@keyframes qr-card-in{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){dialog.qr-modal,dialog.qr-modal::backdrop{animation:none}}.feedback-widget{--wine:#7b110a;--wine-dark:#570b07;--gold:#fbd652;--cream:#fffaf0;--text:#2c211f;--muted:#746663;--success:#167547;--error:#b42318;--shadow:0 18px 55px #460e0940;z-index:9999;color:var(--text);font-family:Be Vietnam Pro,Inter,Noto Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;bottom:24px;left:24px;right:auto}.feedback-widget.is-right{left:auto;right:24px}.feedback-widget *,.feedback-widget :before,.feedback-widget :after{box-sizing:border-box}.feedback-fab{width:40px;height:40px;color:var(--wine);cursor:pointer;background-color:#fdfaf633;border:1px solid #d1c7b5;border-radius:4px;place-items:center;margin-right:auto;padding:0;transition:transform .18s,box-shadow .18s,background .18s;display:grid;position:relative;box-shadow:0 3px 10px #2c211f24}.feedback-fab:hover{background-color:#fdfaf633;transform:none;box-shadow:0 3px 10px #2c211f24}.feedback-fab:focus-visible,.feedback-close:focus-visible,.feedback-submit:focus-visible,.zalo-button:focus-visible,.feedback-capture-button:focus-visible,.feedback-screenshot-remove:focus-visible,.feedback-screenshot-preview:focus-visible,.feedback-preview-close:focus-visible,.feedback-file-input:focus-visible+.feedback-attachment-actions .feedback-file-button,.feedback-widget input:focus-visible,.feedback-widget textarea:focus-visible{outline-offset:3px;outline:3px solid #fbd6528c}.feedback-fab svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px;transition:opacity .18s,transform .22s;position:absolute}.feedback-fab .icon-close{opacity:0;transform:rotate(-90deg)scale(.65)}.feedback-widget.is-open .feedback-fab .icon-chat{opacity:0;transform:rotate(90deg)scale(.65)}.feedback-widget.is-open .feedback-fab .icon-close{opacity:1;transform:rotate(0)scale(1)}.feedback-badge{background:#39b978;border:1px solid #ffffffd9;border-radius:50%;width:8px;height:8px;animation:2.2s infinite feedback-pulse;position:absolute;top:4px;right:4px}.feedback-widget.is-open .feedback-badge{display:none}.feedback-honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.feedback-panel{width:min(380px,100vw - 32px);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform-origin:0 100%;pointer-events:none;background:#fff;border:1px solid #7b110a1f;border-radius:20px;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1),visibility .22s;position:absolute;bottom:54px;left:0;right:auto;overflow:hidden;transform:translateY(18px)scale(.96)}.feedback-widget.is-right .feedback-panel{transform-origin:100% 100%;left:auto;right:0}.feedback-widget.is-open .feedback-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.feedback-header{color:#fff;background:radial-gradient(circle at 90% 15%, #fbd6524d, transparent 28%), linear-gradient(135deg, #8e1b13, var(--wine-dark));justify-content:space-between;align-items:center;min-height:60px;padding:11px 16px;display:flex;position:relative}.feedback-header:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);height:3px;position:absolute;bottom:0;left:0;right:0}.feedback-header h2{margin:0;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:22px;font-weight:700;line-height:1.2}.feedback-source{color:var(--gold);letter-spacing:.02em;margin:3px 0 0;font-size:12px;font-weight:600}.feedback-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;transition:background .18s,transform .18s;display:grid}.feedback-close:hover{background:#fff3;transform:rotate(8deg)}.feedback-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:17px}.feedback-body{background:linear-gradient(#fffaf0b8,#fffffff5),#fff;max-height:min(560px,100vh - 150px);padding:22px;overflow-y:auto}.form-group{margin-bottom:16px}.form-group label{color:var(--text);margin-bottom:7px;font-size:13px;font-weight:700;display:block}.form-group label span{color:var(--muted);font-weight:400}.form-group label strong{color:var(--wine)}.feedback-widget input,.feedback-widget textarea{width:100%;color:var(--text);font:inherit;resize:vertical;background:#fff;border:1px solid #d9cecb;border-radius:11px;padding:12px 13px;font-size:14px;transition:border-color .18s,box-shadow .18s;display:block}.feedback-widget input::placeholder,.feedback-widget textarea::placeholder{color:#9b908d}.feedback-widget input:focus,.feedback-widget textarea:focus{border-color:var(--wine);outline:none;box-shadow:0 0 0 3px #7b110a17}.feedback-widget textarea{min-height:108px}.feedback-attachments{margin:-3px 0 17px}.feedback-widget .feedback-file-input{white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.feedback-attachment-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-file-button,.feedback-capture-button{min-height:38px;color:var(--wine);cursor:pointer;background:#fff;border:1px solid #7b110a59;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.feedback-capture-button:disabled{cursor:wait;opacity:.65}.feedback-file-button:hover,.feedback-capture-button:hover:not(:disabled){background:var(--cream);border-color:var(--wine);transform:translateY(-1px)}.feedback-file-button svg,.feedback-capture-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.feedback-file-list{color:var(--muted);gap:5px;margin:9px 0 0;padding:0;font-size:12px;line-height:1.4;list-style:none;display:grid}.feedback-file-list:empty{display:none}.feedback-file-list li{overflow-wrap:anywhere;position:relative}.feedback-upload-item{background:#fffaf0bf;border:1px solid #7b110a29;border-radius:9px;align-items:center;gap:9px;padding:7px 7px 7px 12px;display:flex}.feedback-upload-item:before{content:"";background:var(--wine);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.feedback-screenshot-item{background:#fffaf0bf;border:1px solid #7b110a29;border-radius:9px;align-items:center;gap:9px;padding:7px;display:flex}.feedback-screenshot-preview{cursor:zoom-in;background:#eee;border:1px solid #ded4d1;border-radius:5px;flex:0 0 52px;width:52px;height:38px;padding:0;overflow:hidden}.feedback-screenshot-thumbnail{object-fit:cover;width:100%;height:100%;transition:transform .18s;display:block}.feedback-screenshot-preview:hover .feedback-screenshot-thumbnail{transform:scale(1.08)}.feedback-screenshot-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.feedback-screenshot-remove{width:25px;height:25px;color:var(--wine);font:inherit;cursor:pointer;background:#fff;border:1px solid #7b110a40;border-radius:50%;flex:0 0 25px;place-items:center;padding:0;font-size:17px;line-height:1;display:grid}.feedback-screenshot-remove:hover{color:#fff;background:var(--wine)}.feedback-preview{z-index:10001;opacity:0;visibility:hidden;pointer-events:none;place-items:center;padding:24px;transition:opacity .18s,visibility .18s;display:grid;position:fixed;inset:0}.feedback-preview.is-visible{opacity:1;visibility:visible;pointer-events:auto}.feedback-preview-backdrop{cursor:zoom-out;background:#140c0bd1;border:0;padding:0;position:absolute;inset:0}.feedback-preview-content{z-index:1;max-width:min(1100px,94vw);max-height:90vh;position:relative}.feedback-preview-content img{object-fit:contain;background:#fff;border-radius:10px;max-width:100%;max-height:90vh;display:block;box-shadow:0 20px 70px #00000061}.feedback-preview-close{color:#fff;background:var(--wine);width:34px;height:34px;font:inherit;cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;font-size:24px;line-height:1;display:grid;position:absolute;top:-14px;right:-14px}.feedback-submit,.zalo-button{width:100%;min-height:47px;font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;padding:11px 16px;font-size:14px;font-weight:750;transition:transform .18s,box-shadow .18s,background .18s;display:flex}.feedback-submit{color:var(--gold);background:var(--wine);border:1px solid var(--wine);box-shadow:0 7px 18px #7b110a33}.feedback-submit:hover:not(:disabled){background:var(--wine-dark);transform:translateY(-1px);box-shadow:0 9px 22px #7b110a47}.feedback-submit:disabled{cursor:wait;opacity:.68}.feedback-submit svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px}.feedback-status{border-radius:9px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.45;display:none}.feedback-status.is-success,.feedback-status.is-error{display:block}.feedback-status.is-success{color:var(--success);background:#ecfdf3;border:1px solid #a6f4c5}.feedback-status.is-error{color:var(--error);background:#fff1f0;border:1px solid #fecdca}.feedback-divider{color:var(--muted);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.feedback-divider:before,.feedback-divider:after{content:"";background:#e5dcda;flex:1;height:1px}.zalo-button{color:var(--wine);background:#fff;border:1px solid #7b110a59}.zalo-button:hover{background:var(--cream);border-color:var(--wine);transform:translateY(-1px)}.zalo-logo{object-fit:contain;flex:0 0 28px;width:28px;height:28px;display:block}@keyframes feedback-pulse{0%,to{box-shadow:0 0 #39b9787a}50%{box-shadow:0 0 0 4px #39b97800}}@media (width<=767px){.feedback-widget,.feedback-widget.is-right{left:14px;right:auto;bottom:max(14px, env(safe-area-inset-bottom))}.feedback-widget.is-right{left:auto;right:14px}.feedback-panel{right:12px;bottom:calc(66px + env(safe-area-inset-bottom));transform-origin:bottom;width:auto;position:fixed;left:12px}.feedback-body{max-height:calc(100dvh - 190px);padding:18px}}@media (prefers-reduced-motion:reduce){.feedback-widget *,.feedback-widget :before,.feedback-widget :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
