.quality-survey{position:fixed;right:20px;bottom:64px;z-index:10020;width:min(380px,calc(100vw - 32px));max-height:80vh;overflow:auto;box-sizing:border-box;padding:20px;background:#fff;color:#17233c;border:1px solid #dce4f2;border-radius:18px;box-shadow:0 8px 36px #15284725;font:14px/1.45 system-ui,sans-serif;text-align:left}
.quality-survey[hidden],.quality-survey [hidden]{display:none!important}.quality-survey h2{font-size:18px;line-height:1.3;margin:0 24px 10px 0}.quality-survey p{margin:10px 0}.quality-survey fieldset{padding:0;border:0}.quality-survey label{display:block;margin:8px 0}.quality-survey input[type=radio],.quality-survey input[type=checkbox]{width:auto;accent-color:#245de6}.quality-survey textarea,.quality-survey select{display:block;box-sizing:border-box;width:100%;padding:8px;border:1px solid #bcc9e0;border-radius:8px;font:inherit;background:white;color:#17233c}.quality-survey a{color:#174fce}.quality-survey button,.qs-launch{padding:9px 12px;border:1px solid #c4cee0;border-radius:10px;background:#f3f6ff;color:#1745a1;cursor:pointer;font:inherit}.quality-survey button:focus-visible,.qs-launch:focus-visible{outline:3px solid #245de6;outline-offset:2px}.quality-survey button:disabled{opacity:.6;cursor:wait}.quality-survey .qs-close{position:absolute;right:10px;top:8px;padding:4px 9px;background:transparent;border:0;font-size:22px}.quality-survey .qs-consent{display:flex;gap:7px;font-size:12px;align-items:start}.qs-actions{display:flex;gap:8px;flex-wrap:wrap}.qs-intro,.qs-links{font-size:12px;color:#536079}.qs-launch{position:fixed;bottom:12px;right:16px;z-index:900;font:13px system-ui,sans-serif;box-shadow:0 2px 12px #15284715}.qs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.quality-survey.qs-page{position:relative;inset:auto;margin:24px auto;width:min(560px,calc(100vw - 24px));max-height:none}.qs-preference{margin:24px auto;padding:20px;max-width:900px;border:1px solid #dce4f2;border-radius:16px}.qs-preference h2{font-size:20px}.qs-preference input{width:auto}.survey-body{font:16px system-ui,sans-serif;background:#f5f7fb;color:#17233c}.survey-body>header{max-width:560px;margin:24px auto;padding:0 12px}
@media(max-width:480px){.quality-survey{right:12px;bottom:58px;padding:16px;max-height:75vh}.qs-launch{bottom:8px;right:12px}}
.qs-launch[hidden],.qs-notice[hidden]{display:none!important}
.quality-survey .qs-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.quality-survey .qs-choices label{margin:0;padding:10px;border:1px solid #dce4f2;border-radius:10px;cursor:pointer}
.quality-survey .qs-choices label:has(input:checked){background:#edf3ff;border-color:#245de6}
.quality-survey .qs-actions button[type=submit]{background:#245de6;color:white;border-color:#245de6;width:100%;margin-top:8px}
.qs-notice{position:fixed;right:20px;bottom:64px;z-index:10021;box-sizing:border-box;width:min(380px,calc(100vw - 24px));display:flex;gap:12px;align-items:start;padding:16px;background:#fff;color:#17233c;border:1px solid #dce4f2;border-radius:14px;box-shadow:0 8px 36px #15284725;font:14px/1.5 system-ui}
.qs-notice a{color:#174fce}.qs-notice button{border:0;background:transparent;font-size:22px;cursor:pointer;color:inherit}
.qs-pending{display:flex;flex-wrap:wrap;gap:10px}.qs-pending button{padding:10px 14px;border:1px solid #c4cee0;border-radius:10px;background:#f3f6ff;color:#1745a1;cursor:pointer;font:inherit}
@media(max-width:480px){.qs-notice{right:12px;bottom:58px}}
dialog.quality-survey{inset:0;margin:auto;width:min(480px,calc(100vw - 24px));max-height:85dvh;padding:24px}
dialog.quality-survey::backdrop{background:rgb(17 29 52 / 42%)}
.qs-invite{position:fixed;right:20px;bottom:20px;z-index:10020;box-sizing:border-box;width:min(340px,calc(100vw - 24px));padding:20px;background:#fff;color:#17233c;border:1px solid #dce4f2;border-radius:16px;box-shadow:0 8px 36px #15284725;font:14px/1.5 system-ui}
.qs-invite[hidden]{display:none!important}.qs-invite h2{font-size:18px;margin:0 24px 6px 0}.qs-invite p{margin:0 0 14px;color:#536079}
.qs-invite button,.qs-rate-generation{padding:9px 14px;border:1px solid #c4cee0;border-radius:10px;background:#f3f6ff;color:#1745a1;cursor:pointer;font:inherit}
.qs-invite .qs-open{background:#245de6;color:#fff;border-color:#245de6}.qs-invite .qs-close{position:absolute;right:8px;top:6px;border:0;background:transparent;font-size:22px;padding:4px 9px}
.qs-invite .qs-leave{margin-left:8px;background:transparent;border:0;font-size:12px;padding:9px 0}.qs-rate-generation{margin-top:8px;font-size:13px}.qs-rate-generation:disabled{color:#536079;cursor:default;background:#f5f7fb}
@media(max-width:480px){.qs-invite{right:12px;bottom:12px}dialog.quality-survey{padding:20px}}
.qs-rate-generation:not(:disabled):hover,.qs-rate-generation:not(:disabled):focus-visible,.qs-pending button:not(:disabled):hover,.qs-pending button:not(:disabled):focus-visible{background:#245de6;color:#fff;border-color:#245de6}
.qs-rate-generation:disabled:hover{background:#f5f7fb;color:#536079}
.survey-body{margin:0;min-height:100vh;background:linear-gradient(155deg,#edf3ff 0%,#f7f9fc 55%,#eef2fa 100%);padding:40px 12px 56px;box-sizing:border-box}
.survey-body>header{max-width:560px;margin:0 auto 24px;padding:0 8px;box-sizing:border-box}
.survey-brand{display:inline-block;color:#245de6;text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px;margin-bottom:24px}
.survey-body h1{font-size:28px;line-height:1.25;letter-spacing:-.6px;margin:0;color:#17233c}
.survey-body .quality-survey.qs-page{margin:0 auto;padding:32px;width:min(560px,100%);border-radius:22px;box-shadow:0 16px 48px #1b365d0d;font-size:15px}
.qs-page .qs-close{display:none}.qs-page .qs-choices{gap:10px;margin:20px 0}.qs-page .qs-choices label{padding:13px}
.qs-page textarea{min-height:100px;resize:vertical}.qs-page .qs-consent{margin:20px 0;line-height:1.6}
.qs-page .qs-links{margin-top:24px;padding-top:16px;border-top:1px solid #e8edf5}
.qs-page>button:last-child{display:block;margin:20px auto 0;border:0;background:transparent;color:#78859a;font-size:12px;text-decoration:underline}
.qs-page .qs-status:not(:empty){padding:14px;background:#edf5ff;border-radius:10px;color:#214b80}
@media(max-width:480px){.survey-body{padding:24px 12px 36px}.survey-body h1{font-size:24px}.survey-body .quality-survey.qs-page{padding:22px 18px}.qs-page .qs-choices label{padding:10px}}
