.reception-widget{--rw:#17365b;--rw-launcher:#f2a83b;--rw-launcher-ink:#13345a;--rw-x:20px;--rw-y:20px;font:16px/1.55 system-ui,-apple-system,sans-serif;color:#19323e}.reception-widget[data-brand=dh]{--rw:#27a9ac}.reception-widget *{box-sizing:border-box}.reception-widget [hidden]{display:none!important}.rw-launcher{position:fixed;right:var(--rw-x);bottom:calc(var(--rw-y) + env(safe-area-inset-bottom));z-index:9998;min-height:56px;padding:14px 22px;border:0;border-radius:999px;background:var(--rw);color:#fff;box-shadow:0 8px 30px #10253f36;font:600 16px/1.3 system-ui;cursor:pointer}.rw-launcher::before{content:'聊';display:inline-grid;place-items:center;border:1px solid #ffffff9c;border-radius:50%;width:26px;height:26px;margin-right:10px}.rw-panel{position:fixed;right:var(--rw-x);bottom:calc(var(--rw-y) + 70px + env(safe-area-inset-bottom));z-index:9999;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100dvh - 120px - env(safe-area-inset-bottom)));max-height:calc(100vh - 120px);display:flex;flex-direction:column;border:1px solid #cfd9df;border-radius:18px;background:#f6f8fb;box-shadow:0 18px 65px #142b4540;overflow:hidden}.rw-panel header{background:var(--rw);color:white;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.rw-panel header button{background:transparent;color:white;border:1px solid #ffffff80;border-radius:8px;padding:8px;min-height:40px;cursor:pointer}.rw-mode{margin:0;padding:7px 16px;background:#e9eff4;font-size:12px;color:#4b6574}.rw-log{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px;scroll-behavior:auto}.rw-message{margin:0 0 14px;padding:12px 14px;border-radius:14px;max-width:94%;background:white;border:1px solid #e1e7ec;overflow-wrap:anywhere}.rw-user{margin-left:auto;background:#e6eef8;border-color:#ccd9e9}.rw-message p{white-space:pre-wrap;margin:3px 0 8px}.rw-speaker{font-size:12px;font-weight:650;color:#62798a}.rw-message a,.rw-message button{display:inline-block;margin:5px 6px 3px 0;font:inherit;font-size:14px}.rw-message a{color:var(--rw);text-decoration:underline}.rw-message button{border:1px solid #9ab2c5;border-radius:8px;background:#fff;color:#193e58;padding:9px 11px;min-height:40px;cursor:pointer}.rw-message label{display:block;font-size:14px;margin:10px 0}.rw-message input[type=checkbox]{height:20px;width:20px;vertical-align:middle}.rw-message small{display:block;color:#617585;font-size:12px}.rw-composer{padding:10px 14px;background:white;border-top:1px solid #d9e2e9;display:grid;grid-template-columns:1fr auto;gap:8px}.rw-composer label{grid-column:1/-1;font-size:12px;color:#4c687a}.rw-composer textarea{width:100%;min-width:0;min-height:50px;max-height:110px;resize:vertical;border:1px solid #91a7b9;border-radius:9px;padding:9px;font:inherit;line-height:1.4}.rw-composer button{border:0;border-radius:9px;background:var(--rw);color:white;padding:10px 14px;min-height:44px;font:inherit;cursor:pointer}.rw-composer button:disabled{opacity:.5;cursor:default}.rw-status{margin:0;background:white;padding:0 14px;font-size:12px;color:#566d7b}.rw-links{display:flex;gap:18px;padding:8px 16px 12px;background:white;font-size:13px}.rw-links a{color:#36586f}.rw-links .rw-handoff{margin-left:auto;border:1px solid #9ab2c5;border-radius:8px;background:#fff;color:#193e58;padding:6px 10px;min-height:36px;font:inherit;font-size:13px;cursor:pointer}.reception-widget :focus-visible{outline:3px solid #e6a735;outline-offset:3px}@media(max-width:480px){.rw-launcher{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:52px;padding:12px 16px}.rw-panel{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100vw - 24px);height:min(620px,calc(100dvh - 98px - env(safe-area-inset-bottom)));max-height:calc(100vh - 98px)}.rw-log{padding:12px}.rw-message{max-width:98%}}@media(prefers-reduced-motion:reduce){.rw-log{scroll-behavior:auto}}

/* Product default: circular launcher in the 敲敲 brand amber (#f2a83b, from kkmarketing.solutions theme CSS) with navy strokes for contrast; brand-coloured header, white conversation. Not GetButton's coral. */
.rw-launcher{width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;font-size:0;background:var(--rw-launcher);color:var(--rw-launcher-ink);box-shadow:0 8px 30px #6b4a0a40;display:grid;place-items:center}.rw-launcher::before{content:"";width:27px;height:22px;margin:0;border:2.5px solid var(--rw-launcher-ink);border-radius:50%;transform:rotate(-10deg)}.rw-launcher::after{content:"";position:absolute;left:17px;top:36px;width:9px;height:7px;border-left:2.5px solid var(--rw-launcher-ink);transform:skew(-25deg)}.rw-launcher[aria-expanded=true]::before{content:"×";border:0;font:36px/22px system-ui;color:var(--rw-launcher-ink);transform:none}.rw-launcher[aria-expanded=true]::after{display:none}.rw-panel{background:white;border-radius:12px}.rw-log{background:white}.rw-message{background:#f2f2f2;border-color:transparent}.rw-user{background:#e8eff8}@media(max-width:480px){.rw-launcher{width:54px;height:54px;min-height:54px;padding:0;font-size:0}}

.reception-widget[data-brand=dh] .rw-panel header,.reception-widget[data-brand=dh] .rw-panel header button{color:#123638}.reception-widget[data-brand=dh] .rw-composer button{background:#16767b}.reception-widget[data-brand=dh] .rw-message a{color:#12636a}

/* Own product mark, tawk.to-style: a pill beside the launcher, outside the panel, only while open (see widget.js syncMark). Free plan always on; the admin preview hides it with .rw-nomark. */
.rw-powered{position:fixed;right:calc(var(--rw-x) + var(--rw-size,56px) + 12px);bottom:calc(var(--rw-y) + (var(--rw-size,56px) - 30px) / 2 + env(safe-area-inset-bottom));z-index:9998;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px 0 7px;border:1px solid #c9d6e6;border-radius:999px;background:#fff;color:#4b5b6e;font:500 12.5px/1 system-ui,-apple-system,sans-serif;letter-spacing:.01em;text-decoration:none;box-shadow:0 2px 10px #10253f1f;white-space:nowrap}.rw-powered-ic{width:18px;height:18px;border-radius:50%;background:#f2a83b;color:#13345a;display:inline-grid;place-items:center;flex:none}.rw-powered-ic svg{width:11px;height:11px}.rw-powered b{color:#13345a;font-weight:700}.rw-powered:hover,.rw-powered:focus-visible{border-color:#13345a;color:#13345a}.reception-widget.rw-left .rw-powered{right:auto;left:calc(var(--rw-x) + var(--rw-size,56px) + 12px)}.reception-widget.rw-nomark .rw-powered{display:none!important}@media(max-width:480px){.rw-powered{right:calc(24px + var(--rw-size,56px));bottom:calc(12px + (var(--rw-size,56px) - 30px) / 2 + env(safe-area-inset-bottom))}.reception-widget.rw-left .rw-powered{right:auto;left:calc(24px + var(--rw-size,56px))}}

/* Admin-selectable left placement (周日興-style). Mobile keeps the 12px gutters. */
.reception-widget.rw-left .rw-launcher,.reception-widget.rw-left .rw-panel{right:auto;left:var(--rw-x)}@media(max-width:480px){.reception-widget.rw-left .rw-launcher,.reception-widget.rw-left .rw-panel{left:12px}}

/* Launcher size, custom image, notification dot, animations (admin "按鈕樣式"); device visibility. */
.rw-launcher{width:var(--rw-size,56px);height:var(--rw-size,56px);min-height:var(--rw-size,56px)}.rw-panel{bottom:calc(var(--rw-y) + var(--rw-size,56px) + 14px + env(safe-area-inset-bottom))}@media(max-width:480px){.rw-launcher{width:var(--rw-size,56px);height:var(--rw-size,56px);min-height:var(--rw-size,56px)}.rw-panel{bottom:calc(12px + var(--rw-size,56px) + 10px + env(safe-area-inset-bottom))}}
.rw-launcher.rw-img{background-size:cover;background-position:center;background-repeat:no-repeat}.rw-launcher.rw-img:not([aria-expanded=true])::before,.rw-launcher.rw-img:not([aria-expanded=true])::after{display:none}.rw-launcher.rw-img[aria-expanded=true]{background-image:none!important}
.rw-dot{position:absolute;top:1px;right:1px;width:13px;height:13px;border-radius:50%;background:#e5484d;border:2px solid #fff;box-shadow:0 1px 4px #0003}.rw-launcher[aria-expanded=true] .rw-dot{display:none}
@keyframes rw-heartBeat{0%,100%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}@keyframes rw-pulse{0%{box-shadow:0 8px 30px #6b4a0a40,0 0 0 0 var(--rw-launcher)}70%{box-shadow:0 8px 30px #6b4a0a40,0 0 0 14px transparent}100%{box-shadow:0 8px 30px #6b4a0a40,0 0 0 0 transparent}}@keyframes rw-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-8px)}50%{transform:translateY(0)}65%{transform:translateY(-4px)}80%{transform:translateY(0)}}
.reception-widget.rw-anim-heartBeat .rw-launcher:not([aria-expanded=true]){animation:rw-heartBeat 1.8s ease-in-out infinite}.reception-widget.rw-anim-pulse .rw-launcher:not([aria-expanded=true]){animation:rw-pulse 2s ease-out infinite}.reception-widget.rw-anim-bounce .rw-launcher:not([aria-expanded=true]){animation:rw-bounce 2.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.rw-launcher{animation:none!important}}
@media(min-width:481px){.reception-widget.rw-hide-desktop{display:none}}@media(max-width:480px){.reception-widget.rw-hide-mobile{display:none}}
/* Channel chips in the panel footer (LINE / 預約 / Email) + the handoff button. */
.rw-links{flex-wrap:wrap;gap:8px;align-items:center;padding:8px 14px 12px}.rw-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid #d5dee6;background:#fff;color:#193e58;font-size:13px;font-weight:600;text-decoration:none;min-height:34px}.rw-chip svg{width:16px;height:16px;flex:none}.rw-chip:hover,.rw-chip:focus-visible{border-color:#13345a}.rw-chip-line{border-color:#06c75580;color:#0a8f3f}.rw-chip-line svg{color:#06c755}.rw-chip-booking svg{color:#e3942a}.rw-chip-email svg{color:#4b6574}
/* Greeting bubble above the launcher (GetButton-style agent card). */
.rw-greet{position:fixed;right:var(--rw-x);bottom:calc(var(--rw-y) + var(--rw-size,56px) + 14px + env(safe-area-inset-bottom));z-index:9998;width:min(320px,calc(100vw - 32px));background:#fff;border:1px solid #d9e2e9;border-radius:16px;box-shadow:0 14px 40px #142b4533;padding:14px 14px 12px;font:14px/1.5 system-ui,-apple-system,sans-serif;color:#19323e;animation:rw-greet-in .35s ease-out}@keyframes rw-greet-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.rw-greet{animation:none}}
.rw-greet-x{position:absolute;top:6px;right:8px;width:28px;height:28px;border:0;background:transparent;font:18px/1 system-ui;color:#6b7c8a;cursor:pointer;border-radius:50%}.rw-greet-x:hover{background:#eef2f5}.rw-greet-top{display:flex;gap:10px;align-items:center;margin:0 24px 8px 0}.rw-greet-avatar{width:40px;height:40px;border-radius:50%;background:var(--rw);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;overflow:hidden;flex:none}.rw-greet-avatar img{width:100%;height:100%;object-fit:cover;display:block}.rw-greet-who{display:flex;flex-direction:column;line-height:1.3;min-width:0}.rw-greet-who strong{font-size:14px}.rw-greet-who span{font-size:12px;color:#62798a}.rw-greet-msg{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.rw-greet-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rw-greet-cta{border:0;border-radius:999px;background:var(--rw);color:#fff;padding:8px 14px;min-height:34px;font:600 13px system-ui,sans-serif;cursor:pointer}
.reception-widget.rw-left .rw-greet{right:auto;left:var(--rw-x)}@media(max-width:480px){.rw-greet{right:12px;bottom:calc(12px + var(--rw-size,56px) + 12px + env(safe-area-inset-bottom))}.reception-widget.rw-left .rw-greet{left:12px}}
.reception-widget[data-brand=dh] .rw-greet-cta,.reception-widget[data-brand=dh] .rw-greet-avatar{background:#16767b}
