/* Customer support extends the existing neutral surfaces and theme tokens. */
.support-qr-preview{display:block;width:240px;max-width:100%;height:auto;background:#fff;border-radius:8px;margin:16px 0;}
.support-qr-preview[hidden],.customer-support-button[hidden],.customer-support-dialog [hidden]{display:none;}
.customer-support-button{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 18px;border:0;border-radius:999px;background:var(--ink,#303640);color:var(--surface,#fff);font:inherit;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px #0002;}
.customer-support-button svg{width:22px;height:22px;}
/* Reserve a separate viewport strip so support never covers form actions. */
html:has(body.has-customer-support){overflow:hidden;background:var(--bg,#f5f6f8);}
body.has-customer-support{height:calc(100dvh - 84px - env(safe-area-inset-bottom));min-height:0;overflow-y:auto;padding-bottom:24px;}
body.has-customer-support > *{flex-shrink:0;}
.customer-support-dialog{position:fixed;inset:0;margin:auto;width:min(360px,calc(100% - 36px));max-height:calc(100dvh - 40px);overflow:auto;padding:32px 24px 24px;border:0;border-radius:16px;background:var(--surface,#fff);color:var(--ink,#303640);text-align:center;box-shadow:0 16px 64px #0003;}
.customer-support-dialog::backdrop{background:#151b2466;}
.customer-support-dialog h2{font-size:23px;margin:0 20px 8px;}
.customer-support-dialog p{font-size:14px;color:var(--muted,#667085);margin:8px 0 16px;line-height:1.6;}
.customer-support-dialog img{display:block;width:240px;max-width:100%;height:auto;margin:20px auto;background:#fff;}
.customer-support-dialog .button{display:flex;justify-content:center;width:100%;min-height:48px;align-items:center;text-decoration:none;}
.support-close{position:absolute;right:6px;top:6px;width:44px;height:44px;display:grid;place-items:center;background:transparent;color:var(--muted,#667085);border:0;cursor:pointer;}
.support-close svg{width:20px;height:20px;}
.customer-support-button:focus-visible,.support-close:focus-visible{outline:2px solid var(--accent,#526b96);outline-offset:3px;}
@media(hover:hover){.customer-support-button:hover{filter:brightness(.9);}.support-close:hover{color:var(--ink);}}
