/* Intervención Canina · chat, ventanas y avisos conectados con K9 Reportes (ProyectArt) */
.k9c,.k9m{--c-bg:#061323;--c-bg2:#0A1A2E;--c-sur:#0F2034;--c-sur2:#15304D;--c-ink:#EDF1F7;--c-strong:#FFFFFF;--c-soft:#B6C2D5;--c-dim:#8592A6;--c-line:rgba(150,175,210,.22);--c-acc:#F39237;--c-acc-rgb:243,146,55;--c-on:#0B1426;--c-ok:#3DDC97;--c-bad:#FF7A6B;
  font-family:Barlow,'Segoe UI',system-ui,sans-serif;font-size:15px;line-height:1.45;color:var(--c-ink);-webkit-font-smoothing:antialiased}
.k9c *,.k9m *{box-sizing:border-box}
.k9c [hidden],.k9m [hidden]{display:none!important}

/* ---------- botón flotante del chat ---------- */
.k9c-btn{position:fixed;right:22px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:61;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;
  background:var(--c-acc);color:var(--c-on);display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.45);transition:transform .25s cubic-bezier(.2,.9,.2,1),box-shadow .25s}
.k9c-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 40px rgba(var(--c-acc-rgb),.45)}
.k9c-btn:focus-visible,.k9c button:focus-visible,.k9m button:focus-visible,.k9c a:focus-visible,.k9m a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.k9c-btn svg{width:27px;height:27px}
.k9c-badge{position:absolute;top:-3px;right:-3px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#E0352B;color:#fff;font:700 12px/22px Archivo,Arial,sans-serif;text-align:center;box-shadow:0 0 0 2px var(--c-bg)}
.k9c-btn.k9c-nuevo{animation:k9c-hop 1s ease 2}
@keyframes k9c-hop{0%,100%{transform:none}30%{transform:translateY(-8px)}60%{transform:translateY(0)}80%{transform:translateY(-3px)}}
.k9c-tip{position:fixed;right:90px;bottom:calc(104px + env(safe-area-inset-bottom,0px));z-index:61;max-width:260px;background:var(--c-sur);border:1px solid var(--c-line);border-radius:14px 14px 4px 14px;
  padding:10px 14px;color:var(--c-ink);font-size:14px;box-shadow:0 14px 34px rgba(0,0,0,.4);cursor:pointer;text-align:left}
.k9c-tip b{display:block;font-family:Archivo,Arial,sans-serif;font-size:12.5px;color:var(--c-acc);margin-bottom:2px}
.k9c-tip span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- ventana del chat ---------- */
.k9c-panel{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:80;width:380px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 44px);
  display:flex;flex-direction:column;background:var(--c-bg2);border:1px solid var(--c-line);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:k9c-in .22s ease both}
@keyframes k9c-in{0%{opacity:0;transform:translateY(14px) scale(.98)}100%{opacity:1;transform:none}}
.k9c-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:linear-gradient(135deg,#0F2640,#071628);border-bottom:1px solid var(--c-line)}
.k9c-head img{width:34px;height:37px;flex:none}
.k9c-head .k9c-t{flex:1;min-width:0;display:flex;flex-direction:column}
.k9c-head b{font-family:Archivo,Arial,sans-serif;font-weight:800;font-size:16px;color:var(--c-strong)}
.k9c-head small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--c-soft)}
.k9c-dot{width:8px;height:8px;border-radius:50%;background:var(--c-dim);flex:none}
.k9c-dot.on{background:var(--c-ok);box-shadow:0 0 0 3px rgba(61,220,151,.22)}
.k9c-x{width:40px;height:40px;border-radius:10px;border:1px solid var(--c-line);background:transparent;color:var(--c-ink);cursor:pointer;font-size:22px;line-height:1;display:grid;place-items:center;flex:none}
.k9c-x:hover{border-color:var(--c-acc);color:var(--c-acc)}
.k9c-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:8px;
  background:radial-gradient(rgba(143,180,230,.07) 1px,transparent 1.4px) 0 0/14px 14px,var(--c-bg2)}
.k9c-m{max-width:84%;padding:9px 12px 7px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;font-size:15px}
.k9c-m small{display:block;margin-top:3px;font-size:11px;opacity:.75;text-align:right}
.k9c-m.adm{align-self:flex-start;background:var(--c-sur2);color:var(--c-ink);border-bottom-left-radius:4px}
.k9c-m.adm .k9c-por{display:block;font-family:Archivo,Arial,sans-serif;font-weight:700;font-size:12px;color:var(--c-acc);margin-bottom:2px}
.k9c-m.adm a{color:#8FB4E6}
.k9c-m.cli{align-self:flex-end;background:var(--c-acc);color:var(--c-on);border-bottom-right-radius:4px}
.k9c-m.cli.env{opacity:.7}
.k9c-m.cli.err{background:#3A1D1D;color:#FFD3CC;border:1px solid var(--c-bad)}
.k9c-m.cli.err button{margin-top:6px;background:transparent;border:1px solid currentColor;color:inherit;border-radius:8px;padding:5px 10px;cursor:pointer;font:600 12.5px Archivo,Arial,sans-serif}
.k9c-sis{align-self:center;max-width:92%;text-align:center;font-size:12.5px;color:var(--c-soft);background:rgba(15,32,52,.85);border:1px solid var(--c-line);border-radius:10px;padding:7px 12px}
.k9c-intro{display:flex;flex-direction:column;gap:12px}
.k9c-intro p{margin:0}
.k9c-intro label{display:flex;flex-direction:column;gap:5px;font:700 11px Archivo,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c-soft)}
.k9c-intro label i{font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;color:var(--c-dim)}
.k9c input,.k9c textarea,.k9m input,.k9m textarea{font:16px Barlow,'Segoe UI',sans-serif;color:var(--c-ink);background:var(--c-bg);border:1px solid rgba(150,175,210,.3);border-radius:8px;padding:11px 12px;width:100%;outline:none}
.k9c input:focus,.k9c textarea:focus,.k9m input:focus,.k9m textarea:focus{border-color:var(--c-acc);box-shadow:0 0 0 3px rgba(var(--c-acc-rgb),.18)}
.k9c textarea{resize:none}
.k9c-btn2,.k9m-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:4px;cursor:pointer;text-decoration:none;
  background:var(--c-acc);color:var(--c-on);font:400 17px/1 Anton,Impact,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.k9c-btn2[disabled],.k9m-btn[disabled]{opacity:.6;cursor:progress}
.k9m-btn.alt{background:transparent;color:var(--c-ink);border:1px solid rgba(237,241,247,.35);font-size:15px}
.k9m-btn.alt:hover{border-color:var(--c-acc);color:var(--c-acc)}
.k9m-btn.wa{background:#25D366;color:#06200F}
.k9c-err,.k9m-err{color:#FFD3CC;background:#3A1D1D;border:1px solid var(--c-bad);border-radius:8px;padding:9px 12px;font-size:14px}
.k9c-send{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--c-line);background:var(--c-sur)}
.k9c-send textarea{flex:1;min-height:46px;max-height:130px;padding:12px}
.k9c-send button{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:var(--c-acc);color:var(--c-on);cursor:pointer;display:grid;place-items:center}
.k9c-send button[disabled]{opacity:.45;cursor:default}
.k9c-foot{display:flex;justify-content:space-between;gap:10px;padding:7px 14px 9px;background:var(--c-sur);font-size:12px;color:var(--c-dim)}
.k9c-foot a{color:var(--c-soft);text-decoration:none}
.k9c-foot a:hover{color:var(--c-acc)}
.k9c-foot button{background:none;border:0;color:var(--c-dim);font:inherit;cursor:pointer;padding:0}
.k9c-foot button:hover{color:var(--c-acc)}
@media (max-width:560px){
  .k9c-btn{right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px));width:56px;height:56px}
  .k9c-tip{right:80px;bottom:calc(94px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 110px)}
  .k9c-panel{inset:0;right:0;bottom:0;width:100%;max-width:none;height:100%;max-height:none;border-radius:0;border:0}
  .k9c-panel{height:100dvh}
  .k9c-foot{padding-bottom:calc(9px + env(safe-area-inset-bottom,0px))}
}
html.k9c-bloq,html.k9c-bloq body{overflow:hidden}

/* ---------- ventanas (portal) ---------- */
.k9m{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(3,9,18,.78);backdrop-filter:blur(3px);animation:k9c-fade .18s ease both}
@keyframes k9c-fade{0%{opacity:0}100%{opacity:1}}
.k9m-box{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--c-bg2);border:1px solid var(--c-line);border-radius:16px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.6);animation:k9c-in .22s ease both}
.k9m-box h2{margin:0 40px 6px 0;font:900 28px/1.05 Archivo,Arial,sans-serif;letter-spacing:-.03em;color:var(--c-strong)}
.k9m-box p{margin:0 0 12px;color:var(--c-soft)}
.k9m-box .k9c-x{position:absolute;top:16px;right:16px}
.k9m-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.k9m-f label{display:flex;flex-direction:column;gap:5px;font:700 11px Archivo,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c-soft)}
.k9m-f label i{font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;color:var(--c-dim)}
.k9m-f .full{grid-column:1/-1}
.k9m-acc{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.k9m-link{display:block;margin:10px 0 4px;padding:12px;border-radius:8px;background:var(--c-bg);border:1px dashed rgba(var(--c-acc-rgb),.6);color:var(--c-strong);font:600 13.5px/1.4 'Courier New',monospace;word-break:break-all;user-select:all}
.k9m-ok{display:flex;align-items:center;gap:10px;font:400 26px 'Permanent Marker',cursive;color:var(--c-ok);margin-bottom:6px}
.k9m-nota{font-size:13px;color:var(--c-dim)}
.k9m-nota a{color:var(--c-soft)}
@media (max-width:560px){.k9m{padding:0;align-items:flex-end}.k9m-box{max-height:94vh;border-radius:16px 16px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px))}.k9m-f{grid-template-columns:minmax(0,1fr)}}

/* ---------- aviso flotante ---------- */
.k9-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:95;background:#0F2034;color:#EDF1F7;border:1px solid rgba(150,175,210,.3);border-radius:10px;padding:10px 16px;font:500 14px Barlow,sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.45);max-width:calc(100vw - 32px)}
@media (prefers-reduced-motion:reduce){.k9c-panel,.k9m,.k9m-box,.k9c-btn.k9c-nuevo{animation:none}}
