#dhlc-root, #dhlc-root * { box-sizing: border-box; }
#dhlc-root { --dhlc-accent:#5b4bdb; --dhlc-width:390px; --dhlc-shadow:0 22px 70px rgba(23,17,65,.25); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; position:fixed; z-index:999999; color:#1d1932; pointer-events:none; }
#dhlc-root button, #dhlc-root input, #dhlc-root textarea { font:inherit; }
#dhlc-root.dhlc-bottom-right { right:20px; bottom:var(--dhlc-smart-bottom,20px); }
#dhlc-root.dhlc-bottom-left { left:20px; bottom:var(--dhlc-smart-bottom,20px); }
#dhlc-root.dhlc-bottom-center { left:50%; bottom:var(--dhlc-smart-bottom,20px); transform:translateX(-50%); }
#dhlc-root.dhlc-top-right { right:20px; top:var(--dhlc-smart-top,20px); }
#dhlc-root.dhlc-top-left { left:20px; top:var(--dhlc-smart-top,20px); }
#dhlc-root.dhlc-top-center { left:50%; top:var(--dhlc-smart-top,20px); transform:translateX(-50%); }
.admin-bar #dhlc-root.dhlc-top-right,.admin-bar #dhlc-root.dhlc-top-left,.admin-bar #dhlc-root.dhlc-top-center { top:52px; }
.dhlc-launcher { pointer-events:auto; border:0; border-radius:999px; background:linear-gradient(135deg,var(--dhlc-accent),#23175f); color:#fff; min-height:58px; padding:9px 15px 9px 10px; display:flex; align-items:center; gap:10px; box-shadow:0 14px 38px rgba(34,20,100,.26); cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; position:relative; }
.dhlc-launcher:hover { transform:translateY(-2px); box-shadow:0 18px 44px rgba(34,20,100,.34); }
.dhlc-launcher-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.16); font-size:20px; }
.dhlc-launcher-label { font-weight:750; font-size:14px; white-space:nowrap; }
.dhlc-launcher-dot { width:10px; height:10px; border-radius:50%; background:#35db83; box-shadow:0 0 0 4px rgba(53,219,131,.16); }
.dhlc-window { pointer-events:auto; position:absolute; width:min(var(--dhlc-width),calc(100vw - 24px)); background:#fff; border:1px solid rgba(48,35,105,.12); border-radius:22px; overflow:hidden; box-shadow:var(--dhlc-shadow); opacity:0; visibility:hidden; transform:translateY(10px) scale(.98); transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.dhlc-bottom-right .dhlc-window,.dhlc-bottom-left .dhlc-window,.dhlc-bottom-center .dhlc-window { bottom:70px; }
.dhlc-bottom-right .dhlc-window,.dhlc-top-right .dhlc-window { right:0; }
.dhlc-bottom-left .dhlc-window,.dhlc-top-left .dhlc-window { left:0; }
.dhlc-bottom-center .dhlc-window,.dhlc-top-center .dhlc-window { left:50%; transform:translateX(-50%) translateY(10px) scale(.98); }
.dhlc-top-right .dhlc-window,.dhlc-top-left .dhlc-window,.dhlc-top-center .dhlc-window { top:70px; }
#dhlc-root.is-open .dhlc-window { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
#dhlc-root.is-open.dhlc-bottom-center .dhlc-window,#dhlc-root.is-open.dhlc-top-center .dhlc-window { transform:translateX(-50%) translateY(0) scale(1); }
#dhlc-root.is-open .dhlc-launcher { opacity:.88; }
.dhlc-header { min-height:78px; padding:14px 14px 13px; display:flex; align-items:center; gap:10px; color:#fff; background:linear-gradient(135deg,#24195c 0%,var(--dhlc-accent) 62%,#7565f4 100%); }
.dhlc-avatar { width:44px; height:44px; flex:0 0 44px; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.24); font-size:20px; }
.dhlc-header-copy { min-width:0; flex:1; }
.dhlc-header-copy strong { display:block; font-size:15px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dhlc-header-copy small { display:flex; align-items:center; gap:5px; margin-top:5px; color:rgba(255,255,255,.78); font-size:11.5px; }
.dhlc-online-dot { width:7px; height:7px; border-radius:50%; background:#52eb94; }
.dhlc-header button { width:34px; height:34px; border:0; border-radius:11px; background:rgba(255,255,255,.12); color:#fff; cursor:pointer; display:grid; place-items:center; font-weight:800; }
.dhlc-header button:hover { background:rgba(255,255,255,.2); }
.dhlc-body { background:linear-gradient(180deg,#fbfaff 0%,#f7f6fc 100%); max-height:min(62vh,560px); min-height:380px; overflow:hidden; }
.dhlc-lead { height:100%; overflow:auto; padding:22px; max-height:min(62vh,560px); }
.dhlc-welcome { margin-bottom:18px; }
.dhlc-wave { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#efeafe; margin-bottom:12px; }
.dhlc-welcome h3 { margin:0 0 7px; font-size:18px; line-height:1.25; color:#1d1932; }
.dhlc-welcome p { margin:0; font-size:13px; line-height:1.55; color:#6f6a80; }
.dhlc-lead-form { display:grid; gap:12px; }
.dhlc-lead-form label:not(.dhlc-consent):not(.dhlc-honeypot) { display:grid; gap:6px; }
.dhlc-lead-form label > span { font-size:12px; font-weight:700; color:#474157; }
.dhlc-lead-form input[type="text"],.dhlc-lead-form input[type="email"],.dhlc-lead-form input[type="tel"],.dhlc-lead-form input[type="number"] { width:100%; min-height:44px; border:1px solid #dedbea; background:#fff; border-radius:12px; padding:10px 12px; color:#1e1930; outline:none; }
.dhlc-lead-form input:focus,.dhlc-message-form textarea:focus { border-color:var(--dhlc-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--dhlc-accent) 14%,transparent); }
.dhlc-consent { display:flex; gap:9px; align-items:flex-start; font-size:11.5px; line-height:1.45; color:#696376; }
.dhlc-consent input { margin-top:2px; }
.dhlc-consent a { color:var(--dhlc-accent); font-weight:700; }
.dhlc-honeypot { position:absolute!important; left:-99999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.dhlc-primary { min-height:46px; border:0; border-radius:13px; background:var(--dhlc-accent); color:#fff; font-weight:800; cursor:pointer; box-shadow:0 9px 22px color-mix(in srgb,var(--dhlc-accent) 22%,transparent); }
.dhlc-primary:disabled { opacity:.6; cursor:wait; }
.dhlc-form-error { padding:10px 12px; border-radius:11px; background:#fff0f0; color:#a0262c; font-size:12px; line-height:1.45; border:1px solid #ffd3d5; }
.dhlc-chat-view { height:min(62vh,560px); min-height:380px; position:relative; display:flex; flex-direction:column; }
.dhlc-messages { flex:1; overflow:auto; padding:18px 16px 12px; scroll-behavior:smooth; }
.dhlc-message { display:flex; margin:0 0 11px; }
.dhlc-message.dhlc-user { justify-content:flex-end; }
.dhlc-bubble { max-width:86%; border-radius:17px 17px 17px 5px; background:#fff; border:1px solid #e8e5f0; box-shadow:0 5px 16px rgba(28,20,69,.05); padding:11px 13px; font-size:13.5px; line-height:1.55; white-space:normal; overflow-wrap:anywhere; color:#332e42; }
.dhlc-user .dhlc-bubble { background:var(--dhlc-accent); color:#fff; border-color:transparent; border-radius:17px 17px 5px 17px; }
.dhlc-system .dhlc-bubble { margin:0 auto; background:#efedf7; color:#665f78; border:0; border-radius:12px; font-size:12px; text-align:center; }
.dhlc-typing { margin:0 16px 12px; display:flex; align-items:center; gap:4px; color:#817b8f; font-size:11px; }
.dhlc-typing[hidden] { display:none!important; }
.dhlc-typing span { width:6px; height:6px; border-radius:50%; background:#8d85a3; animation:dhlc-bounce 1.1s infinite ease-in-out; }
.dhlc-typing span:nth-child(2){animation-delay:.14s}.dhlc-typing span:nth-child(3){animation-delay:.28s}.dhlc-typing em{font-style:normal;margin-left:5px}
@keyframes dhlc-bounce { 0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1} }
.dhlc-contact-panel { margin:0 14px 14px; padding:13px; background:#fff; border:1px solid #e2deec; border-radius:15px; box-shadow:0 8px 24px rgba(28,20,69,.07); max-height:220px; overflow:auto; }
.dhlc-contact-panel[hidden] { display:none!important; }
.dhlc-contact-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.dhlc-contact-head strong { font-size:13px; }
.dhlc-contact-head button { border:0; background:#f0edf8; width:25px; height:25px; border-radius:8px; cursor:pointer; }
.dhlc-contact-links { display:grid; gap:7px; }
.dhlc-contact-link { display:flex; align-items:center; gap:9px; border:1px solid #ece8f3; padding:8px 9px; border-radius:11px; color:#2c263a; text-decoration:none; background:#fcfbff; }
.dhlc-contact-link > span { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#efeafd; color:var(--dhlc-accent); font-size:11px; font-weight:900; }
.dhlc-contact-link div { min-width:0; }
.dhlc-contact-link small { display:block; color:#7e778e; font-size:10px; }
.dhlc-contact-link strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.dhlc-footer { background:#fff; border-top:1px solid #ece9f2; padding:10px 11px 9px; }
.dhlc-message-form { display:flex; align-items:flex-end; gap:7px; }
.dhlc-message-form textarea { flex:1; min-width:0; resize:none; max-height:112px; min-height:42px; border:1px solid #dedbea; border-radius:13px; padding:10px 11px; outline:none; color:#282234; line-height:1.4; }
.dhlc-message-form button { width:42px; height:42px; flex:0 0 42px; border:0; border-radius:12px; background:var(--dhlc-accent); color:#fff; cursor:pointer; font-size:18px; }
.dhlc-footer-row { margin-top:7px; display:flex; justify-content:space-between; gap:8px; align-items:center; }
.dhlc-footer-row small { max-width:72%; color:#9a94a6; font-size:9.5px; line-height:1.25; }
.dhlc-end { border:0; background:transparent; color:#716b7e; font-size:10px; text-decoration:underline; cursor:pointer; padding:3px; }
@media (max-width:600px) {
  #dhlc-root.dhlc-bottom-right,#dhlc-root.dhlc-bottom-left { right:12px; left:auto; bottom:var(--dhlc-smart-bottom,12px); }
  #dhlc-root.dhlc-bottom-center { bottom:var(--dhlc-smart-bottom,12px); }
  #dhlc-root.dhlc-top-right,#dhlc-root.dhlc-top-left { right:12px; left:auto; top:var(--dhlc-smart-top,12px); }
  #dhlc-root.dhlc-top-center { top:var(--dhlc-smart-top,12px); }
  .admin-bar #dhlc-root.dhlc-top-right,.admin-bar #dhlc-root.dhlc-top-left,.admin-bar #dhlc-root.dhlc-top-center { top:58px; }
  .dhlc-window { width:min(420px,calc(100vw - 24px)); border-radius:19px; }
  .dhlc-bottom-left .dhlc-window,.dhlc-top-left .dhlc-window { left:auto; right:0; }
  .dhlc-body,.dhlc-chat-view,.dhlc-lead { max-height:min(64vh,540px); }
  .dhlc-launcher-label { display:none; }
  .dhlc-launcher { min-width:58px; padding:9px; }
  .dhlc-launcher-dot { position:absolute; right:4px; top:4px; border:2px solid #fff; }
}
@media (prefers-reduced-motion:reduce) { #dhlc-root *,#dhlc-root *::before,#dhlc-root *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.dhlc-contact-panel .dhlc-restart {
  width: 100%;
  margin-top: 10px;
}
.dhlc-lead[hidden],
.dhlc-chat-view[hidden],
.dhlc-footer[hidden] {
  display: none !important;
}

/* v1.0.1 front-end reliability hardening */
#dhlc-root { display:block !important; visibility:visible !important; opacity:1 !important; }
#dhlc-root .dhlc-launcher { visibility:visible !important; }

.dhlc-bubble .dhlc-rich-paragraph { margin:0 0 9px; }
.dhlc-bubble .dhlc-rich-paragraph:last-child { margin-bottom:0; }
.dhlc-bubble .dhlc-rich-heading { margin:2px 0 7px; font-weight:800; line-height:1.35; color:#241d39; }
.dhlc-bubble .dhlc-rich-list { margin:5px 0 10px; padding-left:20px; }
.dhlc-bubble .dhlc-rich-list:last-child { margin-bottom:0; }
.dhlc-bubble .dhlc-rich-list li { margin:4px 0; padding-left:2px; }
.dhlc-bubble strong { font-weight:800; color:#241d39; }
.dhlc-bubble a { color:var(--dhlc-accent); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.dhlc-user .dhlc-bubble strong,.dhlc-user .dhlc-bubble a { color:#fff; }
.dhlc-recommendations { margin-top:12px; padding-top:10px; border-top:1px solid #ece8f3; display:grid; gap:7px; }
.dhlc-recommendations-title { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:#777087!important; }
.dhlc-recommendation { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 9px; border:1px solid #e8e2f2; border-radius:10px; background:#faf8ff; color:#31285d!important; text-decoration:none!important; font-size:12px; line-height:1.35; }
.dhlc-recommendation:hover { background:#f2edff; border-color:color-mix(in srgb,var(--dhlc-accent) 35%,#e8e2f2); }
.dhlc-recommendation span { min-width:0; }
.dhlc-recommendation b { flex:0 0 auto; color:var(--dhlc-accent); }
