:root{--bf-chat-navy:#00071b;--bf-chat-panel:#071126;--bf-chat-card:#101b31;--bf-chat-line:#26344d;--bf-chat-green:#00cf7d;--bf-chat-green-deep:#009158;--bf-chat-white:#f8fbfa;--bf-chat-muted:#96a5ba}
.bf-chat .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bf-chat-launcher{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;grid-template-columns:34px auto 7px;align-items:center;gap:11px;min-width:150px;height:58px;padding:0 15px 0 11px;border:1px solid #23334d;border-radius:14px;background:linear-gradient(145deg,#071329,#00071b);color:#fff;box-shadow:0 16px 44px rgba(0,7,27,.3),inset 0 1px rgba(255,255,255,.06);font-family:"IBM Plex Sans",sans-serif;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.bf-chat-launcher[hidden]{display:none!important}.bf-chat-launcher:hover{transform:translateY(-3px);border-color:#187e55;box-shadow:0 20px 52px rgba(0,7,27,.38),0 0 0 4px rgba(0,207,125,.08)}.bf-chat-launcher:focus-visible,.bf-chat button:focus-visible,.bf-chat input:focus-visible,.bf-chat textarea:focus-visible{outline:3px solid rgba(0,207,125,.34);outline-offset:2px}.bf-launcher-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(0,207,125,.35);border-radius:9px;background:rgba(0,207,125,.08)}.bf-launcher-icon svg{width:20px;height:20px;fill:none;stroke:var(--bf-chat-green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bf-launcher-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.bf-launcher-copy small{color:var(--bf-chat-green);font:600 8px/1 "IBM Plex Mono",monospace;letter-spacing:.13em}.bf-launcher-copy strong{font-size:14px;line-height:1}.bf-chat-launcher>i{width:7px;height:7px;border-radius:50%;background:var(--bf-chat-green);box-shadow:0 0 0 4px rgba(0,207,125,.12)}
.bf-chat{position:fixed;right:22px;bottom:22px;z-index:81;width:min(420px,calc(100vw - 28px));height:min(720px,calc(100dvh - 44px));display:grid;grid-template-rows:auto 1fr auto;border:1px solid #263651;border-radius:18px;background:var(--bf-chat-panel);color:#fff;box-shadow:0 30px 90px rgba(0,7,27,.42),inset 0 1px rgba(255,255,255,.05);overflow:hidden;font-family:"IBM Plex Sans",sans-serif;transform-origin:bottom right;animation:bf-chat-in .2s ease-out}.bf-chat[hidden]{display:none}.bf-chat::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(126,151,180,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(126,151,180,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 42%)}
.bf-chat-head{position:relative;z-index:1;display:grid;grid-template-columns:40px 1fr 36px;align-items:center;gap:12px;padding:17px 16px;border-bottom:1px solid var(--bf-chat-line);background:rgba(0,7,27,.92)}.bf-chat-brandmark{width:40px;height:40px;display:grid;place-items:center;border:1px solid #235c44;border-radius:10px;background:#07172a}.bf-chat-brandmark svg{width:27px;height:27px;fill:none;stroke:var(--bf-chat-green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bf-chat-identity{min-width:0;display:flex;flex-direction:column}.bf-chat-identity>span{margin-bottom:4px;color:var(--bf-chat-green);font:600 8px/1 "IBM Plex Mono",monospace;letter-spacing:.13em}.bf-chat-identity>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.bf-chat-identity>small{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--bf-chat-muted);font:500 10px/1 "IBM Plex Mono",monospace}.bf-chat-identity>small::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bf-chat-green)}.bf-chat-identity>small[data-status="waiting"]::before{background:#f5b942}.bf-chat-identity>small[data-status="closed"]::before{background:#718097}.bf-chat-close{width:36px;height:36px;border:1px solid transparent;border-radius:9px;background:transparent;color:#9eadc1;font-size:22px;cursor:pointer}.bf-chat-close:hover{border-color:var(--bf-chat-line);background:#101a30;color:#fff}
.bf-chat-log{position:relative;z-index:1;overflow:auto;padding:18px 16px 12px;scrollbar-width:thin;scrollbar-color:#33415a transparent}.bf-chat-message{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;margin:0 0 14px}.bf-chat-message[data-sender="visitor"]{display:flex;justify-content:flex-end}.bf-chat-message[data-sender="system"]{display:block}.bf-message-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid #2b6e51;border-radius:8px;background:#07182a;color:var(--bf-chat-green);font:700 9px "IBM Plex Mono",monospace}.bf-chat-message>div{min-width:0}.bf-chat-message p{width:fit-content;max-width:100%;margin:0;padding:11px 12px;border:1px solid var(--bf-chat-line);border-radius:4px 12px 12px 12px;background:var(--bf-chat-card);color:#e8eef5;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.bf-chat-message[data-sender="visitor"] p{max-width:88%;margin-left:auto;border-color:#00ad6a;background:#009158;color:#fff;border-radius:12px 4px 12px 12px}.bf-chat-message[data-sender="system"] p{width:100%;max-width:100%;border-color:#234938;border-radius:8px;background:rgba(0,207,125,.08);color:#b9ddce;font-size:12px}.bf-chat-message small{display:block;margin:5px 3px 0;color:#74839a;font:500 9px "IBM Plex Mono",monospace}.bf-chat-message[data-sender="visitor"] small{text-align:right}.bf-chat-message a{display:block;margin-top:8px;color:var(--bf-chat-green);font-weight:600;text-decoration:none}.bf-chat-message a:hover{text-decoration:underline}
.bf-chat-suggestions{margin:17px 0 5px;padding-top:15px;border-top:1px solid var(--bf-chat-line)}.bf-chat-suggestions[hidden]{display:none}.bf-chat-suggestions>p{margin:0 0 9px;color:#8391a6;font:600 9px "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.bf-chat-suggestions>button{width:100%;min-height:46px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:8px;margin-top:6px;padding:7px 10px;border:1px solid var(--bf-chat-line);border-radius:10px;background:rgba(16,27,49,.82);color:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.bf-chat-suggestions>button:hover{transform:translateX(3px);border-color:#2c7758;background:#12243a}.bf-chat-suggestions>button span{color:var(--bf-chat-green);font:600 9px "IBM Plex Mono",monospace}.bf-chat-suggestions>button strong{font-size:12px;font-weight:600}.bf-chat-suggestions>button b{color:#718198;font-size:14px;text-align:right}
.bf-chat-bottom{position:relative;z-index:1;border-top:1px solid var(--bf-chat-line);background:#050d20}.bf-chat-typing{height:32px;display:flex;align-items:center;gap:4px;padding:0 16px;color:#8493a8;font:500 9px "IBM Plex Mono",monospace}.bf-chat-typing[hidden]{display:none}.bf-chat-typing i{width:4px;height:4px;border-radius:50%;background:var(--bf-chat-green);animation:bf-dot 1s infinite ease-in-out}.bf-chat-typing i:nth-child(2){animation-delay:.14s}.bf-chat-typing i:nth-child(3){animation-delay:.28s}.bf-chat-typing span{margin-left:5px}.bf-chat-compose{padding:11px 12px 12px}.bf-chat-human{width:100%;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;margin:0 0 10px;padding:9px 10px;border:1px solid #27583f;border-radius:11px;background:linear-gradient(90deg,rgba(0,207,125,.11),rgba(0,207,125,.035));color:#fff;text-align:left;cursor:pointer}.bf-chat-human[hidden]{display:none}.bf-chat-human:hover{border-color:var(--bf-chat-green);background:rgba(0,207,125,.14)}.bf-human-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--bf-chat-green);color:#00150d}.bf-human-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bf-chat-human>span:nth-child(2){display:flex;flex-direction:column}.bf-chat-human strong{font-size:12px}.bf-chat-human small{margin-top:3px;color:#8fa99e;font:500 9px "IBM Plex Mono",monospace}.bf-chat-human>b{color:var(--bf-chat-green)}.bf-chat-form{display:grid;grid-template-columns:1fr 46px;gap:8px}.bf-chat-form label{display:block}.bf-chat-form textarea{width:100%;min-height:46px;max-height:110px;resize:none;padding:12px 13px;border:1px solid #35435a;border-radius:11px;background:#0d172c;color:#fff;font:13px/1.45 "IBM Plex Sans",sans-serif}.bf-chat-form textarea::placeholder{color:#74839a}.bf-chat-send{width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:11px;background:var(--bf-chat-green);color:#00150d;cursor:pointer}.bf-chat-send:hover{background:#18df91}.bf-chat-send:disabled{opacity:.45;cursor:wait}.bf-chat-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bf-chat-hint{display:block;margin:7px 2px 0;color:#64748b;font:500 8px "IBM Plex Mono",monospace}.bf-chat-notice,.bf-chat-queue-note{margin:0 0 9px;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.4}.bf-chat-notice:empty{display:none}.bf-chat-notice{border:1px solid #734243;background:rgba(137,45,48,.16);color:#ffb7b7}.bf-chat-queue-note{border:1px solid #5e512b;background:rgba(245,185,66,.09);color:#e6cd98}.bf-chat-queue-note[hidden]{display:none}.bf-chat-new{width:100%;margin-bottom:10px;padding:11px;border:1px solid #2b7656;border-radius:10px;background:rgba(0,207,125,.1);color:var(--bf-chat-green);font:600 12px "IBM Plex Sans",sans-serif;cursor:pointer}.bf-chat-new[hidden]{display:none}
.bf-chat-handoff{padding:15px 16px 17px}.bf-chat-handoff[hidden]{display:none}.bf-handoff-title{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}.bf-handoff-title>span{padding:5px 6px;border-radius:5px;background:var(--bf-chat-green);color:#00150d;font:700 8px "IBM Plex Mono",monospace}.bf-handoff-title strong{font-size:14px}.bf-handoff-title p{margin:3px 0 0;color:#8291a6;font-size:11px}.bf-chat-handoff>label{display:block;margin:9px 0;color:#9dabc0;font:600 9px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.bf-chat-handoff input[type="text"],.bf-chat-handoff input[type="email"]{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #35435a;border-radius:9px;background:#0d172c;color:#fff;font:13px "IBM Plex Sans",sans-serif}.bf-chat-consent{display:grid!important;grid-template-columns:16px 1fr;gap:8px;align-items:start;text-transform:none!important;letter-spacing:0!important;line-height:1.4!important}.bf-chat-consent input{accent-color:var(--bf-chat-green)}.bf-chat-handoff-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:13px}.bf-chat-handoff-actions button{padding:10px;border:1px solid #35435a;border-radius:9px;background:#0d172c;color:#dbe3ed;font:600 11px "IBM Plex Sans",sans-serif;cursor:pointer}.bf-chat-handoff-actions button[type="submit"]{border-color:var(--bf-chat-green);background:var(--bf-chat-green);color:#00150d}.bf-chat-error{margin:9px 0 0;color:#ffaaaa;font-size:11px}.bf-chat-error:empty{display:none}
@keyframes bf-chat-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes bf-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
@media(max-width:560px){.bf-chat-launcher{right:14px;bottom:14px;min-width:58px;width:58px;padding:0;display:grid;grid-template-columns:1fr}.bf-launcher-copy,.bf-chat-launcher>i{display:none}.bf-launcher-icon{margin:auto}.bf-chat{right:7px;bottom:7px;width:calc(100vw - 14px);height:calc(100dvh - 14px);border-radius:16px}.bf-chat-head{padding:14px}.bf-chat-log{padding:15px 13px 10px}.bf-chat-compose{padding:10px}.bf-chat-suggestions>button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.bf-chat,.bf-chat-launcher,.bf-chat-suggestions>button{animation:none;transition:none}.bf-chat-typing i{animation:none}}
