.lm-chat-launcher{position:fixed;right:24px;bottom:24px;z-index:2200;display:flex;align-items:center;gap:10px;padding:15px 21px;border:1px solid #9ecb7f;border-radius:30px;background:#173121;color:#fff;box-shadow:0 7px 28px #0a261c30;font:700 14px system-ui,sans-serif;cursor:pointer}.lm-chat-launcher:hover{background:#234b2e}.lm-chat-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#a3e576;color:#19321c;font-size:11px}.lm-chat-badge[hidden]{display:none}.lm-chat-panel{position:fixed;right:24px;bottom:88px;z-index:2200;width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100dvh - 125px);border:1px solid #dce7d3;border-radius:22px;background:#fff;box-shadow:0 16px 65px #0d291c2e;display:flex;flex-direction:column;overflow:hidden;font:14px system-ui,sans-serif;color:#1e3225}.lm-chat-panel[hidden]{display:none!important}.lm-chat-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(115deg,#122c1c,#365c29);color:white}.lm-chat-header h2{margin:0 0 6px;font-size:18px;letter-spacing:-.3px}.lm-chat-header p{margin:0;font-size:11px;color:#c4d9b8}.lm-chat-header button{background:#ffffff15;color:white;border:0;border-radius:8px;padding:8px 11px;cursor:pointer;font-size:17px}.lm-chat-info{font-size:11px;line-height:1.6;color:#72826a;margin:0;padding:10px 16px;background:#f5f9f0}.lm-chat-messages{flex:1;min-height:0;overflow:auto;padding:18px 16px;background:#fbfcf9;scroll-behavior:smooth}.lm-chat-message{max-width:87%;margin:0 0 14px;display:flex;flex-direction:column;align-items:flex-start}.lm-chat-message.mine{margin-left:auto;align-items:flex-end}.lm-chat-bubble{border:1px solid #e3eadc;border-radius:15px 15px 15px 3px;background:#fff;padding:11px 14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.mine .lm-chat-bubble{background:#e6f2dc;border-color:#d5e8c8;border-radius:15px 15px 3px 15px}.lm-chat-message small{color:#7d8c74;font-size:10px;margin-top:5px}.lm-chat-compose{padding:12px 16px 16px;border-top:1px solid #e6eddf;background:#fff}.lm-chat-compose label{font-size:11px;font-weight:700;color:#617358}.lm-chat-compose textarea{display:block;box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #dce6d2;border-radius:10px;resize:vertical;max-height:120px;min-height:58px;margin:6px 0 9px;font:inherit;color:#1e3225;background:#f9fbf6}.lm-chat-compose button{border:0;border-radius:9px;padding:10px 18px;background:#1c3a25;color:white;font:700 12px system-ui,sans-serif;cursor:pointer}.lm-chat-compose button:disabled{opacity:.5;cursor:wait}.lm-chat-status{font-size:11px;line-height:1.5;margin:7px 0 0;color:#946643;white-space:pre-line}.lm-chat-older{display:block;margin:0 auto 14px;border:1px solid #d7e4ce;background:#f2f7ec;padding:7px 12px;border-radius:20px;color:#577044;font:12px system-ui,sans-serif;cursor:pointer}.lm-chat-empty{text-align:center;color:#7d8e74;font-size:13px;line-height:1.8;padding:35px 15px}.lm-chat-panel textarea:focus,.lm-chat-launcher:focus-visible,.lm-chat-header button:focus-visible{outline:2px solid #92c36d;outline-offset:2px}.staff-chat-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px}.staff-chat-list{max-height:600px;overflow:auto}.staff-chat-thread{display:block;width:100%;text-align:left;border:1px solid #e0e9d7;border-radius:13px;background:#fff;padding:16px;margin:10px 0;color:#233b22;font:inherit;cursor:pointer}.staff-chat-thread.active{border-color:#8ebf69;background:#edf6e6}.staff-chat-thread strong{display:block;font-size:13px;overflow-wrap:anywhere;margin-bottom:6px}.staff-chat-thread small{font-size:11px;color:#788a69}.staff-chat-window{border:1px solid #dce7d3;border-radius:20px;overflow:hidden;background:white;display:flex;flex-direction:column;height:660px}.staff-chat-window .lm-chat-messages{min-height:240px}.staff-chat-window .lm-chat-header{gap:16px}.staff-chat-window .lm-chat-header h2{overflow-wrap:anywhere}.staff-chat-availability{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:13px;color:#577048}.staff-chat-availability input{width:18px;height:18px;accent-color:#6ca744}.staff-chat-settings{margin-top:28px}.staff-chat-settings summary{font-weight:750;cursor:pointer}.staff-chat-alert{font-size:12px;line-height:1.7;padding:12px;border-bottom:1px solid #e4ebdd;overflow-wrap:anywhere}@media(max-width:900px){.staff-chat-layout{grid-template-columns:1fr}.staff-chat-list{max-height:260px}.staff-chat-window{height:580px}}@media(max-width:480px){.lm-chat-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:13px 17px}.lm-chat-panel{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 96px);border-radius:18px}.staff-chat-window .lm-chat-header{align-items:flex-start;flex-direction:column}.staff-chat-window{height:560px}}@media(prefers-reduced-motion:reduce){.lm-chat-messages{scroll-behavior:auto}}

/* Public availability and optional incoming-message sound. */
.lm-chat-launcher--online { border-color: #8dd16e; }
.lm-chat-launcher--online > span:first-child { color: #99ee7b; }
.lm-chat-presence-dot { width: 9px; height: 9px; border-radius: 50%; background: #a1aca4; display: inline-block; flex-shrink: 0; }
.lm-chat-launcher--online .lm-chat-presence-dot { background: #8be167; box-shadow: 0 0 0 4px #8be16720; }

/* Keep the support shortcut usable without covering most of a phone screen. */
@media (max-width: 480px) {
  .lm-chat-launcher { min-height: 44px; box-sizing: border-box; gap: 7px; padding: 10px 13px; font-size: 13px; }
  .lm-chat-launcher .lm-chat-launcher-label,
  .lm-public-chat > span:not(.lm-chat-presence-dot) { display: none; }
  .lm-chat-launcher::after { content: 'Chat'; }
  body:has(input:focus, textarea:focus, select:focus) .lm-chat-launcher { display: none; }
}
a.lm-public-chat { text-decoration: none; color: #fff; }
.chat-sound-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin: 12px 0 22px; padding: 14px 16px; border: 1px solid #dfe9da; border-radius: 12px; background: #f7fbf3; }
.chat-sound-controls label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; }
.chat-sound-controls input[type=checkbox] { width: 17px; min-height: 17px; height: 17px; margin: 0; accent-color: #397140; }
.chat-sound-controls button { padding: 8px 12px; border: 1px solid #c8d9bc; border-radius: 8px; background: white; color: #2c5633; cursor: pointer; font: inherit; font-size: 12px; }
.chat-sound-controls [role=status] { font-size: 12px; color: #677960; }
