.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 (replaces third-party 'Powered by' branding): small footer line + faint watermark behind the conversation. */
.rw-brandmark{margin:0;padding:0 16px 10px;background:white;font-size:11px;letter-spacing:.02em;color:#8a98a4;text-align:right}.rw-brandmark a{color:#8a98a4;text-decoration:none;font-weight:650}.rw-brandmark a:hover,.rw-brandmark a:focus-visible{color:#13345a;text-decoration:underline}.rw-log{position:relative}.rw-log::after{content:attr(data-watermark);position:sticky;bottom:4px;display:block;text-align:right;padding-right:4px;font:800 22px/1 system-ui,sans-serif;letter-spacing:.06em;color:#13345a;opacity:.07;pointer-events:none;user-select:none}

/* 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}}
