.storefront-support{--support-brand:var(--theme-primary,#2563eb);--support-ink:var(--theme-text,#0f172a);--support-border:var(--theme-border,#e2e8f0);position:fixed;right:22px;bottom:22px;z-index:1080;font-family:inherit}
.storefront-support__launcher{display:flex;align-items:center;gap:10px;position:relative;border:0;border-radius:999px;padding:14px 19px;background:var(--support-brand);color:#fff;box-shadow:0 12px 35px rgba(15,23,42,.25);font-weight:700;cursor:pointer;transition:transform .18s,box-shadow .18s}
.storefront-support__launcher:hover{transform:translateY(-2px);box-shadow:0 15px 38px rgba(15,23,42,.3)}
.storefront-support__launcher>i{font-size:19px}.storefront-support__launcher b{position:absolute;right:-4px;top:-5px;min-width:22px;height:22px;padding:2px 6px;border-radius:99px;background:#ef4444;color:#fff;font-size:12px}
.storefront-support__panel{position:absolute;right:0;bottom:70px;display:flex;width:min(380px,calc(100vw - 28px));height:min(580px,calc(100dvh - 110px));min-height:390px;flex-direction:column;overflow:hidden;border:1px solid var(--support-border);border-radius:22px;background:var(--theme-surface,#fff);color:var(--support-ink);box-shadow:0 20px 70px rgba(15,23,42,.24)}
.storefront-support__panel[hidden]{display:none}.storefront-support__header{display:flex;align-items:center;gap:12px;padding:17px;background:var(--support-brand);color:#fff}
.storefront-support__avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);font-size:19px}
.storefront-support__heading{display:grid;flex:1;gap:3px}.storefront-support__heading strong{font-size:14px}.storefront-support__heading small{font-size:11px;opacity:.9}.storefront-support__heading small i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#4ade80}
.storefront-support__header button,.storefront-support__reply button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:inherit;cursor:pointer}
.storefront-support__messages{display:flex;flex:1;flex-direction:column;gap:10px;overflow:auto;padding:16px;background:var(--theme-surface-soft,#f8fafc)}
.storefront-support__welcome{display:flex;justify-content:flex-start}.storefront-support__welcome span,.storefront-support__bubble{max-width:86%;padding:10px 13px;border-radius:16px;background:var(--theme-surface,#fff);box-shadow:0 2px 8px rgba(15,23,42,.06);font-size:13px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.storefront-support__bubble--customer{align-self:flex-end;border-bottom-right-radius:5px;background:var(--support-brand);color:#fff}.storefront-support__bubble--admin{align-self:flex-start;border-bottom-left-radius:5px}
.storefront-support__time{display:block;margin-top:4px;font-size:10px;opacity:.65;text-align:right}
.storefront-support__form{display:grid;gap:9px;max-height:57%;overflow:auto;padding:14px 16px 9px}.storefront-support__form label{display:grid;gap:4px;font-size:11px;font-weight:700}
.storefront-support__form input,.storefront-support__form textarea,.storefront-support__reply textarea{width:100%;border:1px solid var(--support-border);border-radius:10px;padding:9px 10px;background:var(--theme-surface,#fff);color:var(--support-ink);font:inherit;font-size:13px;outline:none}
.storefront-support__form input:focus,.storefront-support__form textarea:focus,.storefront-support__reply textarea:focus{border-color:var(--support-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--support-brand) 15%,transparent)}
.storefront-support__submit{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 14px;background:var(--support-brand);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.storefront-support__submit:disabled{opacity:.65;cursor:wait}
.storefront-support__error{margin:0;color:#dc2626;font-size:12px}.storefront-support__reply{display:flex;align-items:flex-end;gap:8px;padding:12px 14px 8px}.storefront-support__reply textarea{max-height:90px;resize:vertical}.storefront-support__reply button{flex:0 0 38px;width:38px;height:38px;background:var(--support-brand);color:#fff}
.storefront-support__footer{padding:6px 14px 12px;color:#94a3b8;font-size:10px;text-align:center}
@media(max-width:520px){.storefront-support{right:14px;bottom:14px}.storefront-support__panel{position:fixed;right:0;bottom:0;width:100vw;height:min(88dvh,680px);min-height:380px;border-radius:22px 22px 0 0}.storefront-support__launcher{padding:13px 16px}}
