/*! CampbellCare Pro — Agente flotante (Ana).
 *  Identidad del logo: degradado azul→púrpura→magenta + burbujas. Autónomo
 *  (no depende de ninguna otra hoja), accesible y responsive. */
#ccp-agent-root{
	--cca-p:#1877D2;--cca-sky:#2AA7E0;--cca-navy:#14235A;--cca-mag:#D6187F;--cca-pur:#7B3FF2;
	--cca-ink:#101A33;--cca-mut:#55647E;--cca-line:#E7EDF5;--cca-bg:#F4F7FC;
	--cca-grad:linear-gradient(135deg,var(--cca-p) 0%,var(--cca-pur) 55%,var(--cca-mag) 100%);
	position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:22px;z-index:999990;
	font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
#ccp-agent-root svg{display:block}
#ccp-agent-root button{font-family:inherit}
#ccp-agent-root button:focus-visible,#ccp-agent-root input:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(24 119 210/.4)}

/* FAB */
.cca-fab{
	width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
	background:var(--cca-grad);color:#fff;
	box-shadow:0 12px 30px rgb(24 119 210/.4),0 4px 10px rgb(20 35 90/.2);
	display:flex;align-items:center;justify-content:center;
	transition:transform .18s ease,box-shadow .18s ease;position:relative;
}
.cca-fab:hover{transform:scale(1.08);box-shadow:0 16px 36px rgb(123 63 242/.45)}
.cca-fab:active{transform:scale(1.02)}
.cca-fab svg{width:27px;height:27px}
.cca-fab .dot{position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:#7AC143;border:2.5px solid #fff;display:none}
.cca-fab.live .dot{display:block;animation:cca-blink 1.4s infinite}
@keyframes cca-blink{0%,100%{opacity:1}50%{opacity:.4}}

/* Panel */
.cca-panel{
	position:fixed;bottom:96px;right:22px;width:372px;max-width:calc(100vw - 32px);
	height:540px;max-height:calc(100vh - 132px);max-height:calc(100dvh - 132px);
	background:#fff;border-radius:20px;border:1px solid var(--cca-line);
	box-shadow:0 26px 64px rgb(20 35 90/.3);
	display:none;flex-direction:column;overflow:hidden;
}
.cca-panel.open{display:flex;animation:cca-pop .22s cubic-bezier(.2,.7,.3,1)}
@keyframes cca-pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

/* Cabecera */
.cca-head{
	background:linear-gradient(135deg,var(--cca-navy) 0%,#1B3E8A 60%,#4A2A9B 100%);
	color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;
}
.cca-head .cca-avatar{width:38px;height:38px;border-radius:50%;background:rgb(255 255 255/.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cca-head .cca-avatar svg{width:21px;height:21px;color:#7EC8F2}
.cca-head .tt{flex:1;min-width:0}
.cca-head .tt b{font-size:14.5px;display:block}
.cca-head .tt span{font-size:10.5px;color:#B9C8E8;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cca-head .cca-lang-picker{display:inline-flex;align-items:center;gap:2px;max-width:74px;padding:6px;border:1px solid rgb(255 255 255/.22);border-radius:9px;background:rgb(255 255 255/.1);font-size:10px;flex-shrink:0}
.cca-head .cca-lang-picker>span:first-child{display:none}
.cca-head .cca-lang-picker .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}
.cca-head .cc-lang-select{width:62px;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.cca-head .cc-lang-select option{color:#101a33;background:#fff}
.cca-head button{
	background:rgb(255 255 255/.12);border:none;color:#fff;border-radius:10px;
	width:34px;height:34px;min-width:34px;cursor:pointer;
	display:flex;align-items:center;justify-content:center;transition:background .15s;
}
.cca-head button:hover{background:rgb(255 255 255/.22)}
.cca-head button svg{width:16px;height:16px}

/* Mensajes */
.cca-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--cca-bg)}
.cca-msgs::-webkit-scrollbar{width:6px}
.cca-msgs::-webkit-scrollbar-thumb{background:#D7E1EE;border-radius:10px}
.cca-m{max-width:85%;padding:10px 13px;border-radius:16px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.cca-m.ai{background:#fff;border:1px solid var(--cca-line);border-bottom-left-radius:5px;align-self:flex-start;color:var(--cca-ink);box-shadow:0 1px 3px rgb(20 35 90/.05)}
.cca-m.me{background:var(--cca-grad);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.cca-m.st{align-self:center;font-size:10.5px;color:#8DA0BC;background:none;padding:2px}

/* Zona de voz (Ana no tiene entrada de texto: solo micrófono) */
.cca-voice{
	display:flex;flex-direction:column;align-items:center;gap:8px;
	padding:14px 16px;border-top:1px solid var(--cca-line);background:#fff;
	padding-bottom:max(14px,env(safe-area-inset-bottom));
}
.cca-voice .micbig{
	border:none;border-radius:50%;width:64px;height:64px;cursor:pointer;
	background:var(--cca-grad);color:#fff;display:flex;align-items:center;justify-content:center;
	box-shadow:0 10px 26px rgb(24 119 210/.35);
	transition:transform .16s ease,box-shadow .16s ease,background .16s;
}
.cca-voice .micbig:hover{transform:scale(1.07);box-shadow:0 14px 32px rgb(123 63 242/.4)}
.cca-voice .micbig svg{width:26px;height:26px}
.cca-voice .micbig.on{background:#DC2626;animation:cca-pulse 1.4s infinite}
@keyframes cca-pulse{0%,100%{box-shadow:0 0 0 0 rgb(220 38 38/.45)}50%{box-shadow:0 0 0 14px rgb(220 38 38/0)}}
.cca-voice .hint{font-size:11px;color:#8DA0BC;text-align:center;line-height:1.5;max-width:300px}

/* Resaltado de elementos en la página */
.cca-hl{
	outline:3px solid var(--cca-p,#1877D2) !important;outline-offset:3px;border-radius:6px;
	transition:outline .2s;box-shadow:0 0 0 6px rgb(24 119 210/.18) !important;
}

/* Confirmación de acciones */
.cca-confirm{position:fixed;inset:0;background:rgb(16 26 51/.55);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.cca-confirm .box{background:#fff;border-radius:18px;padding:24px;max-width:390px;width:100%;text-align:center;box-shadow:0 26px 64px rgb(20 35 90/.35);animation:cca-pop .2s cubic-bezier(.2,.7,.3,1)}
.cca-confirm .box p{font-size:14px;margin:0 0 18px;color:var(--cca-ink);line-height:1.55}
.cca-confirm .box button{border:none;border-radius:11px;padding:11px 20px;font-weight:800;cursor:pointer;margin:0 5px;font-size:13px;min-height:44px;font-family:inherit;transition:filter .15s,background .15s}
.cca-confirm .ok{background:var(--cca-grad);color:#fff}
.cca-confirm .ok:hover{filter:brightness(1.06)}
.cca-confirm .no{background:#EBF1F8;color:var(--cca-navy)}
.cca-confirm .no:hover{background:#DEE8F4}

/* Móvil */
@media (max-width:480px){
	#ccp-agent-root{right:14px;bottom:max(14px,env(safe-area-inset-bottom))}
	.cca-panel{right:8px;left:8px;width:auto;bottom:86px}
}
@media (prefers-reduced-motion:reduce){
	#ccp-agent-root *,.cca-panel,.cca-confirm .box{animation:none !important;transition-duration:.01ms !important}
}
