#mrs-chat-root { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); left: auto; top: auto; z-index: 30; font-family: "Source Sans 3", system-ui, sans-serif; max-width: min(92vw, 22rem); display: flex; flex-direction: column-reverse; align-items: flex-end; }
/* Leave room at the end of the page so the Chat button never sits on the last form field or button. */
body:has(#mrs-chat-root) { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
#mrs-chat-panel { max-height: min(60vh, 24rem); overflow: auto; }
#mrs-chat-open { background: #111; color: #f6c445; border: 2px solid #f6c445; border-radius: 999px; padding: .7rem 1.1rem; font: 700 .95rem inherit; cursor: pointer; }
#mrs-chat-panel { width: min(92vw, 22rem); margin-bottom: .5rem; background: #fff; color: #14120b; border: 1px solid #e4dcc4; border-radius: 14px; box-shadow: 0 12px 32px rgba(0,0,0,.25); padding: .85rem; }
#mrs-chat-panel header { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .4rem; }
#mrs-chat-panel header button, #mrs-chat-form button, #mrs-chat-suggestions button { font: 600 .85rem inherit; cursor: pointer; }
#mrs-chat-close { background: transparent; border: 0; color: #5c5648; }
#mrs-chat-intro, #mrs-chat-contact { margin: .25rem 0 .5rem; font-size: .85rem; color: #5c5648; }
#mrs-chat-log { max-height: 16rem; overflow: auto; display: flex; flex-direction: column; gap: .4rem; margin-bottom: .5rem; }
#mrs-chat-log p { margin: 0; padding: .45rem .6rem; border-radius: 10px; font-size: .92rem; line-height: 1.35; white-space: pre-wrap; }
.mrs-chat-you { align-self: flex-end; background: #111; color: #fff; }
.mrs-chat-bot { align-self: flex-start; background: #f6f1e2; }
#mrs-chat-suggestions { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .5rem; }
#mrs-chat-suggestions button { background: #fff; border: 1px solid #e4dcc4; border-radius: 999px; padding: .3rem .55rem; }
#mrs-chat-form { display: flex; gap: .4rem; align-items: flex-end; }
#mrs-chat-input { flex: 1; border: 1px solid #e4dcc4; border-radius: 10px; padding: .45rem .55rem; font: inherit; resize: vertical; }
#mrs-chat-form button { background: #f6c445; color: #111; border: 0; border-radius: 999px; padding: .55rem .8rem; }
#mrs-chat-root[data-site="mrs-upstate"] #mrs-chat-open { background: #233881; color: #fff; border-color: #df542f; }
#mrs-chat-root[data-site="mrs-upstate"] #mrs-chat-panel { border-color: #d6dcea; }
#mrs-chat-root[data-site="mrs-upstate"] .mrs-chat-you { background: #233881; }
#mrs-chat-root[data-site="mrs-upstate"] .mrs-chat-bot { background: #eef2f9; }
#mrs-chat-root[data-site="mrs-upstate"] #mrs-chat-suggestions button, #mrs-chat-root[data-site="mrs-upstate"] #mrs-chat-input { border-color: #d6dcea; }
#mrs-chat-root[data-site="mrs-upstate"] #mrs-chat-form button { background: #df542f; color: #fff; }
