/* Ask Rue: the chat box shared by RUE Personal and RUE Business. */
.ra-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(var(--ra-bottom,20px) + env(safe-area-inset-bottom));z-index:var(--ra-z,9990);display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 16px 10px 10px;background:var(--ra-c,#0F766E);color:#fff!important;font:700 15px/1 Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 10px 26px -8px rgba(15,23,42,.45);cursor:pointer;min-height:48px}
.ra-fab:hover{filter:brightness(.95)}.ra-fab:focus-visible{outline:3px solid #D4AF37;outline-offset:2px}
.ra-fab .ra-r{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;font:600 16px/1 Fraunces,Georgia,serif;position:relative}
.ra-fab .ra-r:after{content:"";position:absolute;right:3px;bottom:4px;width:4px;height:4px;border-radius:50%;background:#D4AF37}
.ra-sheet{position:fixed;inset:auto 0 0 0;z-index:var(--ra-zs,9991);display:flex;flex-direction:column;background:#fff;color:#0F172A;border-radius:22px 22px 0 0;box-shadow:0 -12px 40px rgba(15,23,42,.25);max-height:86vh;height:86vh;font:15px/1.5 Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;transform:translateY(105%);transition:transform .22s ease;visibility:hidden}
.ra-sheet.ra-open{transform:none;visibility:visible}
.ra-back{position:fixed;inset:0;z-index:calc(var(--ra-zs,9991) - 1);background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:opacity .2s}
.ra-back.ra-open{opacity:1;pointer-events:auto}
.ra-head{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid #E2E8F0}
.ra-head .ra-av{width:38px;height:38px;border-radius:12px;background:var(--ra-c,#0F766E);color:#fff;display:flex;align-items:center;justify-content:center;font:600 20px/1 Fraunces,Georgia,serif;flex-shrink:0}
.ra-head b{display:block;font-size:17px}.ra-head small{display:block;color:#64748B;font-size:12.5px;line-height:1.35}
.ra-x{margin-left:auto;border:0;background:#F1F5F9;color:#0F172A;width:40px;height:40px;border-radius:50%;font-size:20px;cursor:pointer;flex-shrink:0}
.ra-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}
.ra-msg{max-width:88%;padding:10px 14px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere}
.ra-me{align-self:flex-end;background:var(--ra-c,#0F766E);color:#fff;border-bottom-right-radius:6px}
.ra-rue{align-self:flex-start;background:#F1F5F9;border-bottom-left-radius:6px}
.ra-msg.ra-human{background:#ECFDF5;border:1px solid #A7F3D0}
/* ZCC Web Push: wait estimate / "has joined" / join-sound checkbox, mounted inside .ra-care. */
.ra-care:empty{display:none}
.ra-care .zcc-care-visitor{display:flex;flex-direction:column;gap:6px;margin:0 16px 10px;padding:10px 12px;background:#F1F5F9;border-radius:12px;font-size:13px;color:#334155}
.ra-care .zcc-care-visitor p{margin:0;font-weight:600;color:#0F172A}
.ra-care .zcc-care-visitor label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#334155;cursor:pointer}
.ra-care .zcc-care-visitor label input{width:15px;height:15px;accent-color:var(--ra-c,#0F766E);cursor:pointer}
@media(prefers-color-scheme:dark){.ra-care .zcc-care-visitor{background:#1b2944;color:#c9d3e6}.ra-care .zcc-care-visitor p{color:#e8edf5}.ra-care .zcc-care-visitor label{color:#c9d3e6}}
.ra-rue a{display:inline-block;margin-top:8px;color:var(--ra-c,#0F766E);font-weight:700;text-decoration:none}
.ra-typing{color:#64748B;font-style:italic}
.ra-chips{display:flex;gap:8px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none}
.ra-chips::-webkit-scrollbar{display:none}
.ra-chip{flex-shrink:0;border:1px solid #CBD5E1;background:#fff;color:#0F172A;border-radius:999px;padding:8px 12px;font:600 13px/1.2 inherit;font-family:inherit;cursor:pointer;min-height:36px}
.ra-chip:hover{border-color:var(--ra-c,#0F766E)}
.ra-form{display:flex;gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #E2E8F0}
.ra-form input{flex:1;min-width:0;font:16px/1.3 inherit;font-family:inherit;padding:12px 14px;border:1.5px solid #E2E8F0;border-radius:14px;color:#0F172A;background:#fff}
.ra-form input:focus{outline:none;border-color:var(--ra-c,#0F766E)}
.ra-form button{border:0;border-radius:14px;background:var(--ra-c,#0F766E);color:#fff;font:700 15px/1 inherit;font-family:inherit;padding:0 16px;min-height:48px;cursor:pointer}
.ra-note{padding:0 16px 8px;color:#64748B;font-size:11.5px}
.ra-contact{padding:0 16px 12px;color:#64748B;font-size:11.5px}
.ra-contact a{color:var(--ra-c,#0F766E);font-weight:700;text-decoration:none}
.ra-contact a:hover{text-decoration:underline}
@media(min-width:720px){.ra-sheet{inset:auto 24px 24px auto;width:400px;height:620px;max-height:calc(100vh - 48px);border-radius:22px}.ra-back{background:transparent}}
@media(prefers-color-scheme:dark){.ra-sheet{background:#0f1c33;color:#e8edf5}.ra-head,.ra-form{border-color:#22324f}.ra-rue{background:#1b2944}.ra-msg.ra-human{background:#113328;border-color:#1f5f45}.ra-chip,.ra-form input{background:#15213a;color:#e8edf5;border-color:#22324f}.ra-x{background:#1b2944;color:#e8edf5}.ra-head small,.ra-note,.ra-contact{color:#9eabc0}}
@media print{.ra-fab,.ra-sheet,.ra-back{display:none!important}}
/* 4.0: AI choice card */
.ra-more{margin-top:8px;border:1.5px solid var(--ra-c,#1E3A8A);background:#fff;color:var(--ra-c,#1E3A8A);border-radius:999px;padding:5px 12px;font:700 12.5px/1.2 inherit;cursor:pointer}
.ra-ai{border:1.5px solid #D4AF37;background:#FFFBEB!important}
.ra-ai b{display:block;margin-bottom:4px}.ra-ai-left{margin:4px 0;font-size:13px;color:#475569;display:block}
.ra-ai-sent{margin:6px 0;font-size:13px}.ra-ai-sent summary{cursor:pointer;font-weight:700;color:var(--ra-c,#1E3A8A)}.ra-ai-sent pre{white-space:pre-wrap;max-height:160px;overflow:auto;background:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:8px;font-size:11.5px}
.ra-ai-names{display:flex;gap:6px;align-items:center;font-size:13px;margin:4px 0}
.ra-ai-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ra-ai-row button{border-radius:999px;padding:7px 12px;font:700 13px/1.2 inherit;cursor:pointer;border:1.5px solid #CBD5E1;background:#fff;color:#0F172A}
.ra-ai-row .ra-ai-go{background:var(--ra-c,#1E3A8A);border-color:var(--ra-c,#1E3A8A);color:#fff}

/* 4.0.1: small charts under answers, and the demo invitation. */
.ra-bars{margin:10px 0 2px;display:grid;gap:6px}
.ra-bars-t{display:block;font-size:12.5px;margin-top:4px}
.ra-bar{display:grid;grid-template-columns:minmax(80px,38%) 1fr auto;align-items:center;gap:8px;font-size:13px}
.ra-bar-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ra-bar-track{display:block;height:9px;border-radius:5px;background:rgba(15,23,42,.08);overflow:hidden}
.ra-bar-track i{display:block;height:100%;border-radius:5px;background:var(--ra-c,#0F766E)}
.ra-bar-v{font-weight:700;white-space:nowrap}
.ra-msg.ra-invite{border:1px solid #D4AF37;background:#FFFBEB;display:flex;flex-direction:column;gap:4px}
.ra-invite span{font-size:13px;color:#475569}
.ra-invite-go{align-self:flex-start;margin-top:6px;padding:9px 18px;border-radius:999px;background:#D4AF37;color:#1F1600!important;font-weight:800;text-decoration:none!important}
.ra-invite-go:hover,.ra-invite-go:focus-visible{background:#E9C55B}

/* Human chat owns the conversation until the team closes it. */
.ra-sheet [hidden]{display:none!important}
.ra-team-status{font-weight:600;padding:8px 0;color:var(--ra-c,#0f766e)}
.ra-sound-option{display:flex;align-items:center;gap:7px;padding-bottom:8px;font-size:12px}
.ra-human-request:disabled{opacity:.6;cursor:wait}

/* Shared client control applies to AI replies and staff replies. */
.ra-message-sounds{flex-shrink:0;padding:6px 16px 8px;font-size:12px;line-height:1.4;border-top:1px solid #e2e8f0}.ra-message-sounds label{display:flex;align-items:center;gap:7px;cursor:pointer}.ra-message-sounds input{width:16px;height:16px;accent-color:var(--ra-c,#0f766e);flex-shrink:0}.ra-test-sound{border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#334155;padding:4px 9px;font:inherit;margin:5px 0 0}.ra-sound-feedback{display:block;margin-top:4px}.ra-sound-feedback:empty{display:none}


/* Keep the submit label readable when a host page overrides generic button colours. */
.ra-sheet .ra-form button[type="submit"]{background:#243e8f!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #243e8f!important;opacity:1!important;font-family:inherit;font-size:15px;font-weight:700;min-height:48px}
.ra-sheet .ra-form button[type="submit"]:hover{background:#172c6c!important;color:#fff!important}
.ra-sheet .ra-form button[type="submit"]:focus-visible{outline:3px solid #d4af37;outline-offset:3px}
.ra-sheet .ra-form button[type="submit"]:disabled{background:#52628f!important;color:#fff!important;cursor:wait}

/* Support actions must stay readable across every host page and theme. */
.ra-sheet .ra-contact button.ra-chip{background:#203d88!important;color:#fff!important;border:2px solid #203d88!important;font-size:13px!important;font-weight:700!important;opacity:1!important;margin:4px 0;min-height:40px}.ra-sheet .ra-contact button.ra-chip:hover,.ra-sheet .ra-contact button.ra-chip:focus-visible{background:#142961!important;color:#fff!important;outline:2px solid #d4af37;outline-offset:2px}.ra-sheet .ra-contact{color:#334155}.ra-answer-feedback{margin-top:10px;padding-top:8px;border-top:1px solid #c6d1e4}.ra-answer-feedback button{color:#203d88!important;background:#fff!important;border:1px solid #8498bf!important;opacity:1!important;padding:7px;border-radius:6px;margin:4px}.ra-answer-feedback textarea,.ra-answer-feedback input[type=email]{display:block;box-sizing:border-box;width:100%;background:#fff;color:#17213b;border:1px solid #9babc7;padding:8px}.ra-answer-feedback input[hidden]{display:none}.ra-answer-feedback label{display:block;margin:5px 0}.rue-fb-box{max-height:calc(100dvh - 32px);overflow-y:auto}

@media(prefers-color-scheme:dark){.ra-sheet .ra-contact{color:#cbd5e1}}
/* Readable checkbox state even when the host theme fades native checkmarks. */
.ra-sheet input[type=checkbox],.rue-fb input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;display:inline-grid!important;place-content:center;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0 5px 0 0!important;padding:0!important;background:#fff!important;border:2px solid #24428a!important;border-radius:4px!important;vertical-align:middle;opacity:1!important;flex-shrink:0;cursor:pointer;box-shadow:none!important}.ra-sheet input[type=checkbox]:checked,.rue-fb input[type=checkbox]:checked{background:#24428a!important;border-color:#24428a!important}.ra-sheet input[type=checkbox]:checked::before,.rue-fb input[type=checkbox]:checked::before{content:""!important;display:block!important;width:10px;height:6px;border-left:3px solid #fff!important;border-bottom:3px solid #fff!important;transform:translateY(-1px) rotate(-45deg);background:transparent!important}.ra-sheet input[type=checkbox]:focus-visible,.rue-fb input[type=checkbox]:focus-visible{outline:3px solid #d4af37!important;outline-offset:2px}@media(forced-colors:active){.ra-sheet input[type=checkbox],.rue-fb input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important}.ra-sheet input[type=checkbox]::before,.rue-fb input[type=checkbox]::before{content:none!important}}

.ra-scope-picker{margin:12px 0;padding:10px;border:1px solid #8498bf;border-radius:8px}.ra-scope-picker summary{cursor:pointer;font-weight:700;color:var(--ra-c,#203d88)}.ra-scope-picker label{display:block;margin:10px 0;font-size:14px}.ra-scope-picker select{display:block;box-sizing:border-box;width:100%;max-width:100%;margin-top:5px;min-height:44px;padding:8px;background:#fff;color:#17213b;border:1px solid #8498bf;border-radius:6px;font:inherit}.ra-scope-picker select:focus-visible{outline:2px solid #203d88;outline-offset:2px}.ra-scope-picker button:disabled{opacity:.5;cursor:default}

.ra-scope-use{background:#203d88;color:#fff;border:0;padding:10px 14px;border-radius:6px;font:inherit;font-weight:700;cursor:pointer;min-height:44px}

/* Conversation first: secondary controls stay in the header options disclosure. */
.ra-fab[hidden]{display:none!important}
.ra-sheet{box-sizing:border-box;overflow:hidden;height:86dvh;max-height:86dvh}
.ra-head{position:relative;flex:0 0 auto;gap:8px;padding:12px}
.ra-title{flex:1;min-width:0}.ra-head .ra-av{width:32px;height:32px;border-radius:10px}
.ra-sheet .ra-x,.ra-sheet .ra-expand,.ra-options>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:10px;background:#f1f5f9;color:#17243b;font:24px/1 system-ui;cursor:pointer;box-shadow:none}
.ra-options{flex:0 0 40px}.ra-options>summary{list-style:none}.ra-options>summary::-webkit-details-marker{display:none}
.ra-options-panel{position:absolute;top:calc(100% - 4px);right:12px;z-index:5;box-sizing:border-box;width:270px;max-width:calc(100% - 24px);max-height:55dvh;overflow:auto;padding:14px;background:#fff;color:#17243b;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 10px 28px #0f172a26}
.ra-options-panel .ra-message-sounds{border:0;padding:0;font-size:14px}.ra-options-panel .ra-message-sounds label{gap:8px;min-height:40px}.ra-options-panel .ra-test-sound,.ra-options-panel .ra-option-feedback{box-sizing:border-box;text-align:left;display:block;width:100%;padding:10px 12px;min-height:44px;margin:6px 0 0;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#203d88;font:600 14px/1.4 system-ui;cursor:pointer}
.ra-chat-disclosure{display:block;margin-top:12px;color:#64748b;font:12px/1.5 system-ui}
.ra-sheet .ra-log{min-height:0;overscroll-behavior:contain}
.ra-sheet .ra-chips{flex:0 0 auto;flex-wrap:wrap;gap:6px;max-height:25dvh;overflow:auto;padding:8px 12px}
.ra-chips .ra-chip{white-space:normal;text-align:left;max-width:100%;min-height:36px;font:13px/1.4 system-ui;padding:7px 10px}
.ra-sheet .ra-care{flex:0 0 auto}.ra-team-status{padding:8px 14px;font-size:13px}
.ra-sheet .ra-form{flex:0 0 auto;padding:10px 12px 6px;align-items:stretch}.ra-sheet .ra-form input{box-sizing:border-box;width:0;font:16px/1.4 system-ui}
.ra-sheet .ra-contact{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 12px calc(6px + env(safe-area-inset-bottom,0px))}
.ra-sheet .ra-contact button,.ra-sheet .ra-contact a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:40px;padding:6px 2px;margin:0;border:0;border-radius:4px;background:transparent;color:#203d88;font:500 12px/1.4 system-ui;cursor:pointer;text-decoration:none;box-shadow:none}
.ra-contact .ra-human-request{margin-left:auto!important}
.ra-sheet .ra-head button:focus-visible,.ra-options>summary:focus-visible,.ra-options-panel button:focus-visible,.ra-contact button:focus-visible{outline:3px solid #d4af37;outline-offset:1px}
@media(min-width:720px){.ra-sheet{height:650px;max-height:calc(100dvh - 48px)}.ra-sheet.ra-expanded{inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;z-index:1000002}.ra-expanded .ra-log{padding:24px max(24px,calc((100vw - 1040px)/2))}.ra-expanded .ra-msg{max-width:85%}.ra-expanded .ra-form,.ra-expanded .ra-contact,.ra-expanded .ra-chips,.ra-expanded .ra-care{padding-left:max(24px,calc((100vw - 1040px)/2));padding-right:max(24px,calc((100vw - 1040px)/2))}}
@media(max-width:719px){.ra-sheet .ra-expand{display:none}.ra-sheet .ra-head{padding-top:10px}}
@media(prefers-color-scheme:dark){.ra-sheet .ra-x,.ra-sheet .ra-expand,.ra-options>summary{background:#1b2944;color:#e8edf5}.ra-options-panel{background:#15213a;color:#e8edf5;border-color:#52647a}.ra-options-panel .ra-test-sound,.ra-options-panel .ra-option-feedback{background:#1b2944;color:#dce6ff;border-color:#52647a}.ra-chat-disclosure{color:#b5c2d7}.ra-sheet .ra-contact button,.ra-sheet .ra-contact a{color:#bccfff}}
@media(prefers-reduced-motion:reduce){.ra-sheet,.ra-back{transition:none}}
