/* Scoped KardioAS AI widget. Independent of page-specific CSS. */
#lp-ai-root { --lp-deep:#073b3f; --lp-teal:#15abae; --lp-ink:#163e41; --lp-line:#d8e9e9; position:fixed; right:20px; bottom:18px; z-index:2147483000; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; line-height:1.42; color:var(--lp-ink); }
#lp-ai-root *, #lp-ai-root *::before, #lp-ai-root *::after { box-sizing:border-box; }
#lp-ai-root button, #lp-ai-root textarea, #lp-ai-root select { font-family:inherit; }
#lp-ai-root button { cursor:pointer; }
#lp-ai-root button:focus-visible, #lp-ai-root select:focus-visible, #lp-ai-root textarea:focus-visible, #lp-ai-root a:focus-visible { outline:3px solid #06b6bd; outline-offset:2px; }
#lp-ai-root .lp-ai-launch { display:flex; align-items:center; gap:10px; padding:13px 18px 13px 12px; color:#fff; font-weight:750; font-size:14px; letter-spacing:.01em; border:0; border-radius:60px; background:linear-gradient(110deg,#073e43,#08797e); box-shadow:0 12px 32px rgba(3,61,63,.24); white-space:nowrap; }
#lp-ai-root .lp-ai-launch:hover { filter:brightness(1.07); }
#lp-ai-root .lp-ai-launch-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#074f53; background:#8cece5; font-size:20px; font-weight:bold; }
#lp-ai-root .lp-ai-panel[hidden] { display:none !important; }
#lp-ai-root .lp-ai-panel { position:absolute; right:0; bottom:75px; display:flex; flex-direction:column; overflow:hidden; width:min(390px,calc(100vw - 24px)); height:min(680px,calc(100dvh - 112px)); min-height:360px; background:white; border:1px solid #cce4e3; border-radius:20px; box-shadow:0 22px 65px rgba(2,37,40,.23); }
#lp-ai-root .lp-ai-header { display:flex; align-items:center; gap:10px; flex:0 0 auto; min-height:69px; padding:12px 13px; color:white; background:linear-gradient(100deg,#073e43,#075d62); }
#lp-ai-root .lp-ai-brand { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:12px; color:#063f45; background:#87e8df; font-size:24px; font-weight:800; font-style:italic; }
#lp-ai-root .lp-ai-headtext { flex:1; min-width:0; }
#lp-ai-root .lp-ai-headtext strong { display:block; font-size:14px; line-height:1.25; font-weight:780; }
#lp-ai-root .lp-ai-headtext small { display:block; color:#b3e4e1; font-size:11px; margin-top:3px; }
#lp-ai-root .lp-ai-lang { padding:5px 2px 5px 5px; border:1px solid #529d9e; border-radius:7px; color:#fff; background:#14575d; font-size:11px; }
#lp-ai-root .lp-ai-lang option { background:#fff; color:#153b41; }
#lp-ai-root .lp-ai-close { background:transparent; color:#fff; font-size:27px; line-height:1; border:0; padding:0 2px; }
#lp-ai-root .lp-ai-messages { flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; padding:18px 14px 9px; background:linear-gradient(#f8fcfb,#f8fcfb); }
#lp-ai-root .lp-ai-msg { display:flex; flex-direction:column; margin-bottom:13px; align-items:flex-start; }
#lp-ai-root .lp-ai-msg.lp-ai-user { align-items:flex-end; }
#lp-ai-root .lp-ai-bubble { max-width:90%; padding:11px 13px; border-radius:15px 15px 15px 4px; color:#17434a; background:#e8f3f2; font-size:13px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
#lp-ai-root .lp-ai-user .lp-ai-bubble { border-radius:15px 15px 4px 15px; background:#0d797f; color:white; }
#lp-ai-root .lp-ai-sources { display:flex; flex-wrap:wrap; align-items:center; gap:5px; max-width:95%; margin-top:6px; font-size:10px; color:#557378; }
#lp-ai-root .lp-ai-sources a { max-width:240px; padding:4px 7px; border:1px solid #c1dfdb; border-radius:8px; background:#fff; color:#07666c; text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#lp-ai-root .lp-ai-sources a:hover { text-decoration:underline; }
#lp-ai-root .lp-ai-examples { display:flex; flex-wrap:nowrap; gap:6px; padding:5px 12px 10px; overflow-x:auto; background:#f8fcfb; }
#lp-ai-root .lp-ai-chip { flex:0 0 auto; padding:6px 9px; border:1px solid #c4e1df; border-radius:12px; background:#fff; color:#176368; font-size:11px; max-width:220px; text-align:left; }
#lp-ai-root .lp-ai-chip:hover { background:#eff9f7; }
#lp-ai-root .lp-ai-bottom { flex:0 0 auto; border-top:1px solid var(--lp-line); background:#fff; padding:10px 12px 12px; }
#lp-ai-root .lp-ai-consent { display:flex; align-items:flex-start; gap:7px; font-size:10px; color:#526e73; line-height:1.4; cursor:pointer; }
#lp-ai-root .lp-ai-consent input { appearance:auto; flex:0 0 auto; width:15px; height:15px; margin:0; accent-color:#087a7d; }
#lp-ai-root .lp-ai-privacy { display:inline-block; padding:4px 0 7px 22px; color:#07727c; font-size:10px; text-decoration:underline; }
#lp-ai-root .lp-ai-form { display:flex; gap:7px; align-items:flex-end; padding:6px; border:1px solid #c6dedd; border-radius:14px; background:#fafdfc; }
#lp-ai-root .lp-ai-input { flex:1; min-width:0; height:48px; resize:none; padding:7px 5px; font-size:13px; color:#143b41; background:transparent; border:0; outline:none; box-shadow:none; }
#lp-ai-root .lp-ai-input::placeholder { color:#829b9e; }
#lp-ai-root .lp-ai-send { display:grid; place-items:center; flex:0 0 39px; width:39px; height:39px; margin:0; border:0; border-radius:12px; color:#fff; background:#087f82; font-size:19px; }
#lp-ai-root .lp-ai-send:disabled { opacity:.5; cursor:wait; }
#lp-ai-root .lp-ai-status { min-height:13px; color:#a45415; font-size:11px; padding-top:3px; }
@media (max-width:540px) {
  #lp-ai-root { right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); }
  #lp-ai-root.lp-ai-isopen .lp-ai-launch { display:none; }
  #lp-ai-root .lp-ai-panel { position:fixed; inset:0 0 0 0; right:0; bottom:0; width:100vw; height:100dvh; max-height:none; min-height:0; border:0; border-radius:0; padding-bottom:env(safe-area-inset-bottom,0px); }
  #lp-ai-root .lp-ai-messages { padding-top:15px; }
}
@media (prefers-reduced-motion:reduce) { #lp-ai-root * { scroll-behavior:auto !important; transition:none !important; } }
