#rmdcl-widget,
#rmdcl-widget * {
    box-sizing: border-box;
}

#rmdcl-widget {
    --rmdcl-primary: #356b3f;
    --rmdcl-dark: #244d2d;
    --rmdcl-accent: #edf6ed;
    --rmdcl-horizontal: 24px;
    --rmdcl-vertical: 22px;
    --rmdcl-text: #17231a;
    --rmdcl-muted: #66746a;
    --rmdcl-border: #dce7dc;
    --rmdcl-shadow: 0 22px 70px rgba(19, 44, 25, .24);
    position: fixed;
    z-index: 2147483000;
    bottom: var(--rmdcl-vertical);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--rmdcl-text);
    font-size: 15px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
}

#rmdcl-widget.rmdcl-position-right { right: var(--rmdcl-horizontal); }
#rmdcl-widget.rmdcl-position-left { left: var(--rmdcl-horizontal); }
#rmdcl-widget button,
#rmdcl-widget textarea,
#rmdcl-widget input { font: inherit; }
#rmdcl-widget button { cursor: pointer; }
#rmdcl-widget [hidden] { display: none !important; }

.rmdcl-launcher {
    position: relative;
    width: 66px;
    height: 66px;
    padding: 0;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--rmdcl-primary);
    box-shadow: 0 12px 34px rgba(25, 63, 34, .3);
    overflow: visible;
    transition: transform .18s ease, box-shadow .18s ease;
}
.rmdcl-launcher:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 16px 40px rgba(25, 63, 34, .36); }
.rmdcl-launcher:focus-visible,
.rmdcl-invite-start:focus-visible,
.rmdcl-choice:focus-visible,
.rmdcl-choice-continue:focus-visible,
.rmdcl-text-cta:focus-visible,
.rmdcl-upload-button:focus-visible,
.rmdcl-send:focus-visible,
.rmdcl-minimize:focus-visible,
.rmdcl-invite-close:focus-visible {
    outline: 3px solid rgba(53, 107, 63, .3);
    outline-offset: 3px;
}
.rmdcl-launcher-avatar,
.rmdcl-launcher-icon { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; transition: opacity .18s ease, transform .18s ease; }
.rmdcl-launcher-avatar img,
.rmdcl-header-avatar img,
.rmdcl-invite-avatar img,
.rmdcl-message-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rmdcl-avatar-fallback { display: grid; width: 100%; height: 100%; place-items: center; background: linear-gradient(145deg, var(--rmdcl-primary), var(--rmdcl-dark)); color: #fff; font-size: 26px; font-weight: 800; }
.rmdcl-launcher-icon { display: grid; place-items: center; background: linear-gradient(145deg, var(--rmdcl-primary), var(--rmdcl-dark)); opacity: 0; transform: scale(.78); }
.rmdcl-launcher-icon svg { width: 29px; fill: #fff; }
.rmdcl-widget.is-open .rmdcl-launcher-avatar { opacity: 0; transform: scale(.78); }
.rmdcl-widget.is-open .rmdcl-launcher-icon { opacity: 1; transform: scale(1); }
.rmdcl-launcher-pulse { position: absolute; right: -1px; top: -1px; width: 15px; height: 15px; border: 3px solid #fff; border-radius: 50%; background: #38ad55; box-shadow: 0 0 0 0 rgba(56, 173, 85, .5); animation: rmdcl-pulse 2.1s infinite; }
@keyframes rmdcl-pulse { 0% { box-shadow: 0 0 0 0 rgba(56, 173, 85, .5); } 70% { box-shadow: 0 0 0 10px rgba(56, 173, 85, 0); } 100% { box-shadow: 0 0 0 0 rgba(56, 173, 85, 0); } }

.rmdcl-invite {
    position: absolute;
    bottom: 82px;
    width: 320px;
    min-height: 142px;
    padding: 18px 17px 17px;
    display: flex;
    gap: 14px;
    background: #fff;
    border: 1px solid var(--rmdcl-border);
    border-radius: 22px;
    box-shadow: var(--rmdcl-shadow);
    opacity: 0;
    transform: translateY(12px) scale(.97);
    transform-origin: bottom right;
    transition: opacity .18s ease, transform .18s ease;
}
.rmdcl-position-right .rmdcl-invite { right: 0; }
.rmdcl-position-left .rmdcl-invite { left: 0; transform-origin: bottom left; }
.rmdcl-invite.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.rmdcl-invite::after { content: ""; position: absolute; bottom: -8px; width: 16px; height: 16px; background: #fff; border-right: 1px solid var(--rmdcl-border); border-bottom: 1px solid var(--rmdcl-border); transform: rotate(45deg); }
.rmdcl-position-right .rmdcl-invite::after { right: 25px; }
.rmdcl-position-left .rmdcl-invite::after { left: 25px; }
.rmdcl-invite-avatar { position: relative; flex: 0 0 54px; width: 54px; height: 54px; border-radius: 50%; overflow: visible; background: var(--rmdcl-accent); }
.rmdcl-invite-avatar > img,
.rmdcl-invite-avatar > .rmdcl-avatar-fallback { border-radius: 50%; overflow: hidden; }
.rmdcl-invite-avatar > span:last-child { position: absolute; right: 0; bottom: 0; width: 13px; height: 13px; border: 2px solid #fff; border-radius: 50%; background: #38ad55; }
.rmdcl-invite-copy { min-width: 0; flex: 1; }
.rmdcl-invite-headline { display: block; padding-right: 20px; color: var(--rmdcl-dark); font-size: 17px; line-height: 1.25; }
.rmdcl-invite-word { display: block; min-height: 23px; margin-top: 3px; color: var(--rmdcl-primary); font-weight: 800; opacity: 1; transform: translateY(0); transition: opacity .18s ease, transform .18s ease; }
.rmdcl-invite-word.is-changing { opacity: 0; transform: translateY(5px); }
.rmdcl-invite-subtitle { display: block; margin: 4px 0 12px; color: var(--rmdcl-muted); font-size: 12px; }
.rmdcl-invite-start { min-height: 36px; padding: 8px 15px; border: 0; border-radius: 11px; background: var(--rmdcl-primary); color: #fff; font-weight: 750; box-shadow: 0 7px 16px rgba(53, 107, 63, .22); }
.rmdcl-invite-close { position: absolute; right: 8px; top: 7px; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #748078; font-size: 22px; line-height: 26px; }
.rmdcl-invite-close:hover { background: #f1f5f0; }

.rmdcl-panel {
    position: absolute;
    bottom: 82px;
    width: min(394px, calc(100vw - 28px));
    height: min(670px, calc(100vh - 118px));
    min-height: 480px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(39, 83, 48, .16);
    border-radius: 24px;
    box-shadow: var(--rmdcl-shadow);
    opacity: 0;
    transform: translateY(14px) scale(.975);
    transform-origin: bottom right;
    transition: opacity .2s ease, transform .2s ease;
}
.rmdcl-position-right .rmdcl-panel { right: 0; }
.rmdcl-position-left .rmdcl-panel { left: 0; transform-origin: bottom left; }
.rmdcl-panel.is-visible { opacity: 1; transform: translateY(0) scale(1); }

.rmdcl-header { position: relative; display: flex; align-items: center; min-height: 89px; padding: 15px 15px 14px 17px; color: #fff; background: linear-gradient(135deg, var(--rmdcl-primary), var(--rmdcl-dark)); overflow: hidden; }
.rmdcl-header::after { content: ""; position: absolute; width: 160px; height: 160px; right: -65px; top: -95px; border: 28px solid rgba(255,255,255,.07); border-radius: 50%; }
.rmdcl-header-avatar { position: relative; z-index: 1; width: 53px; height: 53px; flex: 0 0 53px; border: 2px solid rgba(255,255,255,.75); border-radius: 50%; background: var(--rmdcl-accent); box-shadow: 0 5px 16px rgba(9, 31, 14, .18); }
.rmdcl-header-avatar > img,
.rmdcl-header-avatar > .rmdcl-avatar-fallback { border-radius: 50%; overflow: hidden; }
.rmdcl-online-dot { position: absolute; right: -1px; bottom: 1px; width: 13px; height: 13px; border: 2px solid #fff; border-radius: 50%; background: #42d065; }
.rmdcl-online-dot.is-closed { background: #e8bd55; }
.rmdcl-header-copy { position: relative; z-index: 1; min-width: 0; flex: 1; padding: 0 10px 0 12px; }
.rmdcl-header-copy strong { display: block; font-size: 17px; line-height: 1.25; letter-spacing: -.01em; }
.rmdcl-header-copy span { display: block; margin-top: 2px; font-size: 12px; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rmdcl-header-copy small { display: block; margin-top: 4px; font-size: 10.5px; font-weight: 650; opacity: .78; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rmdcl-minimize { position: relative; z-index: 2; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; }
.rmdcl-minimize:hover { background: rgba(255,255,255,.22); }
.rmdcl-minimize svg { width: 20px; fill: currentColor; }
.rmdcl-test-banner { padding: 5px 10px; color: #6a4100; background: #fff0c7; border-bottom: 1px solid #efd894; text-align: center; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.rmdcl-progress { height: 4px; background: #eaf0e9; overflow: hidden; }
.rmdcl-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--rmdcl-primary), #6fa879); transition: width .35s ease; }

.rmdcl-messages { flex: 1 1 auto; min-height: 0; padding: 20px 15px 12px; overflow-y: auto; overscroll-behavior: contain; background: linear-gradient(180deg, #f8fbf7 0, #fff 35%); scrollbar-width: thin; scrollbar-color: #cad8ca transparent; }
.rmdcl-message { display: flex; align-items: flex-end; gap: 8px; margin-bottom: 13px; }
.rmdcl-message.is-user { justify-content: flex-end; }
.rmdcl-message.is-new { animation: rmdcl-message-in .22s ease both; }
@keyframes rmdcl-message-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.rmdcl-message-avatar { width: 29px; height: 29px; flex: 0 0 29px; border: 1px solid #d6e1d5; border-radius: 50%; overflow: hidden; background: var(--rmdcl-accent); }
.rmdcl-message-avatar .rmdcl-avatar-fallback { font-size: 13px; }
.rmdcl-bubble { max-width: 79%; padding: 11px 13px; border: 1px solid var(--rmdcl-border); border-radius: 17px 17px 17px 5px; background: #fff; color: var(--rmdcl-text); box-shadow: 0 5px 16px rgba(21, 46, 26, .06); white-space: pre-wrap; overflow-wrap: anywhere; }
.rmdcl-message.is-user .rmdcl-bubble { border-color: var(--rmdcl-primary); border-radius: 17px 17px 5px 17px; background: var(--rmdcl-primary); color: #fff; box-shadow: 0 6px 16px rgba(53, 107, 63, .18); }
.rmdcl-message.is-photo .rmdcl-bubble { width: min(225px, 75%); padding: 6px; }
.rmdcl-message.is-photo img { display: block; width: 100%; max-height: 180px; object-fit: cover; border-radius: 12px; }
.rmdcl-message.is-photo span { display: block; padding: 6px 7px 4px; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rmdcl-typing { display: flex; align-items: center; gap: 4px; min-width: 56px; min-height: 39px; }
.rmdcl-typing i { width: 7px; height: 7px; border-radius: 50%; background: #819084; animation: rmdcl-dot 1.15s infinite; }
.rmdcl-typing i:nth-child(2) { animation-delay: .14s; }
.rmdcl-typing i:nth-child(3) { animation-delay: .28s; }
@keyframes rmdcl-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-4px); opacity: 1; } }

.rmdcl-choice-area { flex: 0 0 auto; padding: 9px 13px 11px; border-top: 1px solid #edf2ec; background: #fbfdfb; max-height: 205px; overflow-y: auto; }
.rmdcl-options { display: flex; flex-wrap: wrap; gap: 7px; }
.rmdcl-choice { min-height: 36px; padding: 8px 11px; border: 1px solid #bdd0be; border-radius: 999px; background: #fff; color: var(--rmdcl-dark); font-size: 12px; font-weight: 720; transition: background .15s ease, color .15s ease, border .15s ease, transform .15s ease; }
.rmdcl-choice:hover { border-color: var(--rmdcl-primary); transform: translateY(-1px); }
.rmdcl-choice.is-selected { border-color: var(--rmdcl-primary); background: var(--rmdcl-primary); color: #fff; }
.rmdcl-choice-continue { flex-basis: 100%; min-height: 41px; margin-top: 3px; border: 0; border-radius: 12px; background: var(--rmdcl-primary); color: #fff; font-weight: 800; box-shadow: 0 7px 18px rgba(53, 107, 63, .18); }
.rmdcl-choice-continue:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

.rmdcl-final-area { flex: 0 0 auto; padding: 11px 14px 14px; border-top: 1px solid #e6eee5; background: #f8fbf7; }
.rmdcl-after-hours-note { margin: 0 0 10px; padding: 10px 11px; border-radius: 11px; background: #fff8e6; color: #6d5522; font-size: 12px; line-height: 1.4; }
.rmdcl-text-cta { min-height: 49px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 11px 16px; border-radius: 14px; background: linear-gradient(135deg, var(--rmdcl-primary), var(--rmdcl-dark)); color: #fff !important; text-decoration: none !important; font-size: 15px; font-weight: 850; box-shadow: 0 9px 21px rgba(53, 107, 63, .24); transition: transform .15s ease, box-shadow .15s ease; }
.rmdcl-text-cta:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(53, 107, 63, .28); }
.rmdcl-text-cta span { display: grid; place-items: center; }
.rmdcl-text-cta svg { width: 19px; fill: currentColor; }

#rmdcl-widget .rmdcl-composer {
    flex: 0 0 auto;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px 10px !important;
    border: 0 !important;
    border-top: 1px solid #e4ece3 !important;
    background: #fff !important;
}
#rmdcl-widget .rmdcl-composer.is-complete { display: none !important; }
#rmdcl-widget .rmdcl-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
#rmdcl-widget .rmdcl-upload-button,
#rmdcl-widget .rmdcl-send {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    align-self: center !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 13px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
#rmdcl-widget .rmdcl-upload-button { background: var(--rmdcl-accent) !important; color: var(--rmdcl-primary) !important; box-shadow: none !important; }
#rmdcl-widget .rmdcl-upload-button:hover { background: #e0eee0 !important; }
#rmdcl-widget .rmdcl-send { background: var(--rmdcl-primary) !important; color: #fff !important; box-shadow: 0 5px 13px rgba(53, 107, 63, .2) !important; }
#rmdcl-widget .rmdcl-send:hover { background: var(--rmdcl-dark) !important; }
#rmdcl-widget .rmdcl-upload-button:disabled,
#rmdcl-widget .rmdcl-send:disabled { opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important; }
#rmdcl-widget .rmdcl-upload-button svg,
#rmdcl-widget .rmdcl-send svg { display: block !important; width: 21px !important; height: 21px !important; margin: 0 !important; fill: currentColor !important; }
#rmdcl-widget .rmdcl-input {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 96px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    resize: none !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    border: 1px solid #d7e2d6 !important;
    border-radius: 13px !important;
    outline: none !important;
    background: #f9fbf8 !important;
    color: var(--rmdcl-text) !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 22px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    transition: border .15s ease, box-shadow .15s ease, background .15s ease;
}
#rmdcl-widget .rmdcl-input:focus { border-color: var(--rmdcl-primary) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(53, 107, 63, .1) !important; }
#rmdcl-widget .rmdcl-input::placeholder { color: #8b968e !important; opacity: 1 !important; }
#rmdcl-widget .rmdcl-upload-status { min-height: 0; padding: 0 14px; background: #fff; color: var(--rmdcl-primary); font-size: 10px; font-weight: 700; text-align: center; }
#rmdcl-widget .rmdcl-upload-status:not(:empty) { padding-bottom: 5px; }
#rmdcl-widget .rmdcl-upload-status.is-error { color: #a52a2a; }
#rmdcl-widget .rmdcl-disclaimer { flex: 0 0 auto; margin: 0 !important; padding: 0 14px 11px !important; background: #fff; color: #7a867d; font-size: 9.5px; line-height: 1.35; text-align: center; }
#rmdcl-widget .rmdcl-disclaimer a { color: var(--rmdcl-primary); }

@media (max-width: 767px) {
    #rmdcl-widget { right: 14px !important; left: auto !important; bottom: max(14px, env(safe-area-inset-bottom)); }
    .rmdcl-launcher { width: 61px; height: 61px; }
    .rmdcl-invite { right: 0 !important; left: auto !important; bottom: 76px; width: min(320px, calc(100vw - 28px)); }
    .rmdcl-panel {
        position: fixed;
        inset: auto 8px max(8px, env(safe-area-inset-bottom)) 8px;
        width: auto;
        height: min(720px, calc(100dvh - 16px));
        max-height: calc(100dvh - 16px);
        min-height: 0;
        border-radius: 21px;
        transform-origin: bottom center;
    }
    .rmdcl-widget.is-open .rmdcl-launcher { opacity: 0; pointer-events: none; transform: scale(.8); }
    .rmdcl-header { min-height: 82px; padding: 13px 13px 12px 15px; }
    .rmdcl-header-avatar { width: 49px; height: 49px; flex-basis: 49px; }
    .rmdcl-messages { padding: 16px 12px 10px; }
    .rmdcl-bubble { max-width: 84%; }
    .rmdcl-choice-area { max-height: 190px; }
    #rmdcl-widget .rmdcl-composer { gap: 8px !important; padding: 10px 12px 9px !important; }
    #rmdcl-widget .rmdcl-input { font-size: 16px !important; }
}

@media (max-height: 590px) and (min-width: 768px) {
    .rmdcl-panel { height: calc(100vh - 100px); min-height: 430px; }
    .rmdcl-header { min-height: 76px; padding-top: 10px; padding-bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    #rmdcl-widget *,
    #rmdcl-widget *::before,
    #rmdcl-widget *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
