.kpa-widget,
.kpa-widget * { box-sizing:border-box; }
.kpa-widget {
--kpa-dark:#0b2535;
--kpa-accent:#d71920;
--kpa-accent-dark:#b41218;
--kpa-light:#f8fafc;
--kpa-collision-offset:0px;
position:fixed;
right:20px;
bottom:calc(20px + env(safe-area-inset-bottom, 0px) + var(--kpa-collision-offset));
z-index:99999;
max-width:calc(100vw - 24px);
color:var(--kpa-dark);
font:15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.kpa-closed { display:flex; align-items:center; justify-content:flex-end; gap:10px; transition:opacity .16s ease,visibility .16s ease; }
.kpa-is-open .kpa-closed { opacity:0; visibility:hidden; pointer-events:none; }
.kpa-launcher {
width:64px;
height:64px;
flex:0 0 64px;
padding:0;
border:2px solid var(--kpa-dark);
border-radius:50%;
background:#fff;
color:#fff;
display:grid;
place-items:center;
cursor:pointer;
box-shadow:0 12px 28px rgba(15,23,42,.28);
}
.kpa-launcher:hover { background:#f8fafc; }
.kpa-bubble { display:flex; align-items:stretch; min-width:0; border:1px solid #cbd5e1; border-radius:12px; background:#fff; box-shadow:0 9px 24px rgba(15,23,42,.18); overflow:hidden; }
.kpa-bubble[hidden] { display:none!important; }
.kpa-bubble-open,.kpa-bubble-dismiss { border:0; background:#fff; color:var(--kpa-dark); font:inherit; cursor:pointer; }
.kpa-bubble-open { min-height:44px; padding:9px 7px 9px 13px; font-weight:700; white-space:nowrap; }
.kpa-bubble-dismiss { width:40px; min-height:44px; padding:0; color:#475569; font-size:21px; }
.kpa-panel {
position:absolute;
right:0;
bottom:0;
width:380px;
max-width:calc(100vw - 24px);
height:min(620px,calc(100vh - 40px));
max-height:calc(100vh - 40px);
overflow:hidden;
display:flex;
flex-direction:column;
border:1px solid #cbd5e1;
border-radius:16px;
background:#fff;
box-shadow:0 20px 50px rgba(15,23,42,.28);
}
.kpa-panel[hidden],.kpa-lead-form[hidden],.kpa-quick-replies[hidden],.kpa-suggestions[hidden],.kpa-link-cards[hidden],.kpa-product-cards[hidden],.kpa-quote-wizard[hidden] { display:none!important; }
.kpa-header { min-height:68px; flex:0 0 auto; padding:9px 10px 9px 12px; background:var(--kpa-dark); color:#fff; display:flex; align-items:center; gap:10px; }
.kpa-header-copy { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; }
.kpa-header-copy strong { font-size:16px; }
.kpa-header small { color:#ffffff; font-size:12px; }
.kpa-close { width:44px; height:44px; flex:0 0 44px; padding:0; border:0; border-radius:9px; background:rgba(255,255,255,.08); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.kpa-conversation { min-height:0; flex:1 1 auto; display:flex; flex-direction:column; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.kpa-messages { min-height:110px; max-height:240px; flex:1 1 190px; overflow-y:auto; overscroll-behavior:contain; padding:12px; background:var(--kpa-light); }
.kpa-message { width:fit-content; max-width:88%; margin:0 0 8px; padding:8px 10px; border-radius:12px; overflow-wrap:anywhere; white-space:pre-wrap; }
.kpa-bot { background:#fff; border:1px solid #dbe3ed; }
.kpa-user { margin-left:auto; background:var(--kpa-accent); color:#fff; }
.kpa-quick-replies { flex:0 0 auto; display:flex; flex-wrap:wrap; gap:6px; padding:9px 10px 5px; border-top:1px solid #e2e8f0; }
.kpa-quick-replies button { min-height:36px; padding:6px 10px; border:1px solid #93c5fd; border-radius:999px; background:#eff6ff; color:#1e3a8a; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.kpa-suggestions,.kpa-link-cards,.kpa-quote-wizard { flex:0 0 auto; padding:7px 10px; border-top:1px solid #e2e8f0; }
.kpa-suggestions { display:flex; flex-wrap:wrap; gap:6px; }
.kpa-suggestions button,.kpa-quote-wizard button { min-height:38px; border:1px solid #93c5fd; border-radius:7px; padding:6px 9px; background:#eff6ff; color:#1e3a8a; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.kpa-link-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.kpa-link-cards a { min-height:40px; display:flex; align-items:center; padding:7px 9px; border:1px solid #cbd5e1; border-radius:7px; color:#1d4ed8; font-size:13px; font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.kpa-quote-wizard { display:flex; flex-wrap:wrap; gap:7px; background:#f8fafc; }
.kpa-quote-wizard strong { width:100%; }
.kpa-ai-disclosure { flex:0 0 auto; margin:0; padding:6px 10px; color:#475569; font-size:11px; overflow-wrap:anywhere; }
.kpa-chat-form { flex:0 0 auto; padding:8px 10px 10px; border-top:1px solid #e2e8f0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.kpa-chat-form textarea,.kpa-lead-form input,.kpa-lead-form textarea { width:100%; min-width:0; border:1px solid #94a3b8; border-radius:8px; background:#fff; color:#111827; padding:8px 9px; font:inherit; resize:vertical; }
.kpa-chat-form button,.kpa-lead-form button { min-height:42px; border:0; border-radius:8px; padding:8px 12px; background:var(--kpa-accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.kpa-chat-form button:hover,.kpa-lead-form button:hover { background:var(--kpa-accent-dark); }
.kpa-chat-form button:disabled,.kpa-lead-form button:disabled { opacity:.6; cursor:wait; }
.kpa-lead-toggle { width:100%; min-height:42px; flex:0 0 auto; border:0; border-top:1px solid #e2e8f0; padding:9px 11px; background:#fff; color:#1d4ed8; font:inherit; font-weight:700; cursor:pointer; }
.kpa-lead-form { flex:0 0 auto; min-height:0; padding:10px 12px calc(12px + env(safe-area-inset-bottom, 0px)); border-top:1px solid #e2e8f0; }
.kpa-lead-form label { display:block; margin-bottom:8px; font-size:13px; font-weight:700; }
.kpa-lead-form label span { font-weight:400; }
.kpa-consent { display:grid!important; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:7px; font-weight:400!important; }
.kpa-consent input { width:auto; margin-top:3px; }
.kpa-privacy,.kpa-form-status { margin:7px 0; color:#475569; font-size:12px; overflow-wrap:anywhere; }
.kpa-form-status { color:#111827; font-weight:700; }
.kpa-avatar { display:block; flex:0 0 auto; }
.kpa-avatar-launcher { width:58px; height:58px; border-radius:50%; overflow:hidden; background:#fff; }
.kpa-avatar-header { width:46px; height:46px; border-radius:50%; overflow:hidden; background:#fff; }
.kpa-portrait { display:block; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:50%; }
.kpa-hp { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.kpa-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; }
.kpa-widget button:focus-visible,.kpa-widget a:focus-visible,.kpa-widget input:focus-visible,.kpa-widget textarea:focus-visible { outline:3px solid #f59e0b; outline-offset:2px; }
@media (max-width:480px) {
.kpa-widget { --kpa-collision-offset:84px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px) + var(--kpa-collision-offset)); }
.kpa-panel {
position:fixed;
top:calc(var(--kpa-vv-offset-top, 0px) + max(8px, env(safe-area-inset-top, 0px)));
right:8px;
bottom:auto;
left:8px;
width:auto;
max-width:calc(100vw - 16px);
height:calc(var(--kpa-vv-height, 100dvh) - max(8px, env(safe-area-inset-top, 0px)) - max(8px, env(safe-area-inset-bottom, 0px)) - 8px);
max-height:calc(var(--kpa-vv-height, 100dvh) - max(8px, env(safe-area-inset-top, 0px)) - max(8px, env(safe-area-inset-bottom, 0px)) - 8px);
border-radius:14px;
}
.kpa-is-open { bottom:0; }
.kpa-messages { min-height:96px; max-height:210px; flex-basis:150px; }
.kpa-conversation { overflow-y:auto; }
}
@media (max-width:390px) {
.kpa-panel { right:6px; left:6px; max-width:calc(100vw - 12px); }
.kpa-header { padding-left:9px; }
.kpa-bubble-open { padding-left:10px; }
.kpa-ai-disclosure { font-size:10.5px; }
}
@media (max-width:320px) {
.kpa-widget { right:8px; max-width:calc(100vw - 16px); }
.kpa-panel { right:4px; left:4px; max-width:calc(100vw - 8px); }
.kpa-bubble-open { max-width:190px; overflow:hidden; text-overflow:ellipsis; }
.kpa-header-copy strong { font-size:15px; }
.kpa-header small { font-size:11px; }
.kpa-chat-form { grid-template-columns:minmax(0,1fr) 72px; }
.kpa-quick-replies { gap:5px; padding-right:8px; padding-left:8px; }
}
@media (prefers-reduced-motion:reduce) {
.kpa-widget * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
.kpa-product-cards{display:grid;gap:8px;padding:0 12px 8px}.kpa-product-cards article{border:1px solid #dbe3e8;border-radius:10px;padding:9px;background:#fff}.kpa-product-cards a{font-weight:800;color:#0b2535}.kpa-product-cards p{margin:4px 0 0;font-size:12px}.kpa-portrait{width:100%;height:100%;object-fit:cover;border-radius:50%}