.ic-chat { position: fixed; z-index: 10000; right: 20px; bottom: 20px; display: flex; flex-direction: column; align-items: flex-end; color: #21382e; font: 13px/1.5 Arial, Helvetica, sans-serif; }
.ic-chat *, .ic-chat *::before, .ic-chat *::after { box-sizing: border-box; }
.ic-chat button, .ic-chat input, .ic-chat textarea { font: inherit; }
.ic-chat button { cursor: pointer; }
.ic-chat__launcher { order: 2; border: 0; border-radius: 999px; padding: 13px 18px; background: #1f503c; color: #fff; font-weight: 700; box-shadow: 0 12px 30px #113b2d4d; }
.ic-chat__launcher:hover, .ic-chat__send:hover { background: #143e2c; }
.ic-chat__panel { order: 1; display: flex; flex-direction: column; width: min(385px, calc(100vw - 30px)); height: min(610px, calc(100dvh - 86px)); margin-bottom: 10px; overflow: hidden; border: 1px solid #e6ebe3; border-radius: 13px; background: #fff; box-shadow: 0 17px 55px #122e2352; }
.ic-chat__heading, .ic-chat__compose { flex: none; }
.ic-chat__panel[hidden], .ic-chat__status[hidden], .ic-chat__contact[hidden], .ic-chat__contact-invite[hidden], .ic-chat__contact-skip[hidden], .ic-chat__teaser[hidden] { display: none; }
.ic-chat__heading { display: flex; align-items: center; gap: 11px; min-height: 70px; padding: 12px 15px; color: #fff; background: #1e4b38; }
.ic-chat__portrait { display: block; flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #aac0ad; }
.ic-chat__portrait--teaser { width: 38px; height: 38px; }
.ic-chat__identity { flex: 1; min-width: 0; }
.ic-chat__identity strong, .ic-chat__identity small { display: block; }
.ic-chat__identity strong { font-size: 13px; }
.ic-chat__identity small { margin-top: 3px; color: #c3d8c8; font-size: 11px; }
.ic-chat__name-row { display: flex; align-items: center; gap: 8px; }
.ic-chat__online-badge { display: inline-flex; align-items: center; gap: 4px; color: #d6f5de; font-size: 10px; font-weight: 400; white-space: nowrap; }
.ic-chat__online-dot { display: inline-block; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #51d77b; box-shadow: 0 0 0 2px #51d77b33; }
.ic-chat__launcher { display: inline-flex; align-items: center; gap: 8px; }
.ic-chat__close { margin-left: auto; border: 0; background: transparent; color: #e3f0e7; padding: 4px; }
.ic-chat__teaser { position: absolute; right: 0; bottom: 59px; display: flex; align-items: flex-start; gap: 10px; width: min(333px, calc(100vw - 24px)); padding: 15px 30px 15px 14px; border: 1px solid #e6ebe3; border-radius: 12px; background: #fff; box-shadow: 0 15px 45px #183a3040; }
.ic-chat__teaser-open, .ic-chat__teaser-dismiss { border: 0; background: transparent; }
.ic-chat__teaser-open { flex: 1; min-width: 0; padding: 0; color: #21382e; text-align: left; }
.ic-chat__teaser-open strong { display: block; }
.ic-chat__teaser-open strong { font-size: 12px; }
.ic-chat__teaser-open .ic-chat__online-badge { color: #326b49; }
.ic-chat__teaser-greeting { display: block; margin-top: 4px; color: #687d6e; font-size: 11px; line-height: 1.4; }
.ic-chat__teaser-dismiss { position: absolute; top: 5px; right: 5px; color: #84988a; padding: 3px 6px; font-size: 18px; line-height: 1; }
.ic-chat__status { margin: 0; padding: 9px 16px 4px; background: #f5f6f1; color: #617565; font-size: 11px; }
.ic-chat__messages { display: flex; flex-direction: column; gap: 11px; flex: 1; min-height: 0; overflow-y: auto; padding: 16px; background: #f5f6f1; }
.ic-chat__message { align-self: flex-start; max-width: 85%; padding: 10px 12px; border: 1px solid #e6ebe5; border-radius: 10px 10px 10px 3px; background: #fff; box-shadow: 0 1px 2px #1a3d2c10; overflow-wrap: anywhere; font-size: 12px; }
.ic-chat__message--visitor { align-self: flex-end; border-color: #d6e6d1; border-radius: 10px 10px 3px 10px; background: #e0efdc; }
.ic-chat__message--system { align-self: center; border: 0; background: transparent; box-shadow: none; color: #839486; text-align: center; }
.ic-chat__message strong { display: block; color: #42634a; font-size: 10px; }
.ic-chat__message p { margin: 3px 0 0; white-space: pre-wrap; }
.ic-chat__sources { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ic-chat__sources a { color: #326b49; font-size: 11px; text-decoration: underline; }
.ic-chat__compose { display: flex; align-items: flex-end; gap: 8px; padding: 10px; border-top: 1px solid #e6ebe4; background: #fff; }
.ic-chat__footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 14px 10px; border-top: 1px solid #e6ebe4; background: #fff; }
.ic-chat__whatsapp { color: #2f6742; font-size: 11px; text-decoration: underline; }
.ic-chat__input { flex: 1; min-width: 0; max-height: 100px; resize: vertical; padding: 8px; border: 1px solid #dce5db; border-radius: 8px; color: #263e32; background: #fff; }
.ic-chat__input:focus { border-color: #91ae92; }
.ic-chat__send, .ic-chat__contact-actions button { border: 0; border-radius: 6px; padding: 9px 12px; background: #245941; color: #fff; font-weight: 700; }
.ic-chat__contact-invite { padding: 10px 14px; border-top: 1px solid #e6ebe4; background: #f7faf5; }
.ic-chat__contact-invite p { margin: 0 0 6px; color: #536c59; font-size: 11px; }
.ic-chat__contact-toggle, .ic-chat__contact-skip { border: 0; padding: 3px 8px 3px 0; background: transparent; color: #2f6742; text-align: left; text-decoration: underline; }
.ic-chat__privacy { color: #326b49; font-size: 11px; white-space: nowrap; text-decoration: underline; }
.ic-chat__contact { display: grid; gap: 7px; padding: 10px 14px 14px; background: #fff; }
.ic-chat__contact input { width: 100%; padding: 8px; border: 1px solid #dce5db; border-radius: 6px; }
.ic-chat__contact-actions { display: flex; gap: 7px; }
.ic-chat__contact-actions button:last-child { background: #eff4ed; color: #315e43; }
.ic-chat :focus-visible { outline: 2px solid #80a684; outline-offset: 2px; }
@media (max-width: 680px) { .ic-chat { bottom: calc(8px + env(safe-area-inset-bottom, 0px)); } .ic-chat__panel { height: min(610px, calc(100dvh - 96px - env(safe-area-inset-bottom, 0px))); } }
@media (max-width: 680px) { body.has-private-selection:not(.selection-tray-paused):not(.selection-tray-dismissed) .ic-chat { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); } body.has-private-selection:not(.selection-tray-paused):not(.selection-tray-dismissed) .ic-chat__panel { height: min(610px, calc(100dvh - 160px - env(safe-area-inset-bottom, 0px))); } }
@media (max-width: 480px) { .ic-chat { right: 8px; } .ic-chat__panel { width: calc(100vw - 16px); } }
.ic-chat.ic-chat--keyboard { z-index: 100000; }
.ic-chat--keyboard .ic-chat__launcher, .ic-chat--keyboard .ic-chat__teaser, .ic-chat--keyboard .ic-chat__footer, .ic-chat--keyboard .ic-chat__contact-invite { display: none; }
.ic-chat--keyboard .ic-chat__contact { flex: none; min-height: 0; max-height: 45%; overflow-y: auto; }
