:root{
  --tinta:#101a2b; --tinta2:#1f2f45; --lima:#ebdb24; --lima-d:#cdbb0a; --azul:#1f6db0; --azul-h:#155a9e;
  --fondo:#f6f6f1; --blanco:#fff; --linea:#e6e5df; --gris:#5a6878; --gris2:#454548; --celeste:#e3e9f0;
  --ok-f:#d3efdd; --ok-t:#14532d; --aviso-f:#fff3c4; --aviso-t:#5c4b00; --urge-f:#ffe1d6; --urge-t:#8a2a0a;
  --nota:#fff8c2;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--fondo);color:var(--tinta);font:15px/1.45 Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.titulo{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.01em;margin:0}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ---------- botones y campos ---------- */
.btn{height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--linea);background:var(--blanco);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.btn:hover{border-color:#cfcdc4}
.btn-oscuro{background:var(--tinta);border-color:var(--tinta);color:#fff}
.btn-oscuro:hover{background:var(--tinta2)}
.btn-azul{background:var(--azul);border-color:var(--azul);color:#fff}
.btn-azul:hover{background:var(--azul-h)}
.btn-lima{background:var(--lima);border-color:var(--lima);color:var(--tinta);font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:16px;height:54px;width:100%;border-radius:12px}
.btn-lima:hover{background:#f2e44a}
.btn-chico{height:36px;padding:0 12px;font-size:13px;font-weight:500;border-radius:999px;background:var(--fondo)}
.btn-texto{border:0;background:none;color:var(--gris);font-weight:500;height:auto;padding:4px}
.campo{height:46px;border:1px solid var(--linea);border-radius:10px;padding:0 12px;background:#fff;width:100%;min-width:0}
textarea.campo{height:auto;padding:10px 12px;resize:vertical}
.etiqueta-campo{font-size:13px;font-weight:600;color:var(--gris);display:block;margin-bottom:6px}
.pastilla{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;white-space:nowrap}
.p-ia{background:var(--celeste);color:#0d2138}
.p-equipo{background:var(--tinta);color:#fff}
.p-ok{background:var(--ok-f);color:var(--ok-t)}
.p-aviso{background:var(--aviso-f);color:var(--aviso-t)}
.p-urge{background:var(--urge-f);color:var(--urge-t)}
.p-neutra{background:#f0efe9;color:var(--gris2)}
.chip{background:var(--celeste);color:#0d2138;border-radius:999px;padding:4px 10px;font-size:13px}
.seccion-titulo{font-size:12px;font-weight:600;color:var(--gris);text-transform:uppercase;letter-spacing:.06em}
.error-txt{color:#b42318;font-size:14px}
.vacio{color:var(--gris);text-align:center;padding:40px 20px}

/* ---------- armado general ---------- */
.app{display:flex;height:100vh;height:100dvh}
.riel{flex:0 0 72px;background:var(--tinta);display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0}
.logo{width:40px;height:40px;border-radius:12px;background:var(--lima);color:var(--tinta);display:flex;align-items:center;justify-content:center;font:700 22px "Space Grotesk",sans-serif;margin-bottom:12px}
.riel a{position:relative;width:48px;height:48px;border-radius:12px;color:#dfe3e8;display:flex;align-items:center;justify-content:center}
.riel a:hover{background:var(--tinta2)}
.riel a[aria-current=page]{background:var(--tinta2);color:#fff}
.riel .burbuja{position:absolute;top:3px;right:1px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--lima);color:var(--tinta);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.riel .abajo{margin-top:auto}
.vista{flex:1;min-width:0;display:flex;overflow:hidden}

/* ---------- bandeja ---------- */
.lista{flex:0 1 360px;min-width:280px;background:#fff;border-right:1px solid var(--linea);display:flex;flex-direction:column}
.lista-cabeza{padding:18px 16px 10px;display:flex;flex-direction:column;gap:12px}
.buscador{display:flex;align-items:center;gap:8px;border:1px solid var(--linea);border-radius:10px;padding:0 12px;height:44px;color:var(--gris)}
.buscador input{border:0;outline:0;flex:1;min-width:0;background:transparent;color:var(--tinta)}
.filtros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.filtro{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--linea);background:#fff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:6px}
.filtro[aria-selected=true]{background:var(--tinta);border-color:var(--tinta);color:#fff}
.items{overflow-y:auto;flex:1}
.item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid #f0efe9;background:#fff}
.item:hover{background:#fafaf7}
.item[aria-current=true]{background:#f2f6fb;box-shadow:inset 3px 0 0 var(--azul)}
.item-fila{display:flex;align-items:center;gap:8px;min-width:0}
.item-nombre{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-canal{font-size:12px;color:var(--gris);flex:none}
.item-ultimo{font-size:14px;color:var(--gris2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-paso{font-size:12px;color:var(--gris)}
.der{margin-left:auto;flex:none}

.chat{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--fondo)}
.chat-cabeza{background:#fff;border-bottom:1px solid var(--linea);padding:10px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:64px}
.chat-cabeza .quien{display:flex;flex-direction:column;min-width:0}
.chat-cabeza .quien b{font:700 18px "Space Grotesk",sans-serif}
.chat-cabeza .quien span{font-size:13px;color:var(--gris)}
.volver{display:none;color:var(--tinta);text-decoration:none;font-size:20px;width:44px;padding:0}
.resumen{margin:14px 20px 0;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:12px 14px;display:flex;gap:12px}
.resumen-icono{width:32px;height:32px;border-radius:8px;background:var(--celeste);color:#0d2138;display:flex;align-items:center;justify-content:center;flex:none}
.mensajes{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}
.msj{max-width:72%;padding:10px 14px;display:flex;flex-direction:column;gap:6px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.msj-cliente{align-self:flex-start;background:#fff;border:1px solid var(--linea);border-radius:4px 14px 14px 14px}
.msj-nuestro{align-self:flex-end;background:var(--tinta);color:#fff;border-radius:14px 4px 14px 14px}
.msj-ia{background:var(--tinta2)}
.msj-nota{align-self:stretch;max-width:none;background:var(--nota);border:1px dashed var(--lima-d);border-radius:12px}
.msj-nota .pie{color:#6b5d00;font-weight:600}
.msj .pie{font-size:11px;opacity:.8;align-self:flex-end}
.msj-nota .pie{align-self:flex-start}
.msj img{max-width:260px;max-height:260px;border-radius:8px;display:block;cursor:zoom-in}
.msj a{color:inherit}
.msj-fallo{outline:2px solid #e5484d}
.dia{align-self:center;font-size:12px;color:var(--gris);background:#ecebe4;border-radius:999px;padding:2px 10px}
.escribir{background:#fff;border-top:1px solid var(--linea);padding:10px 20px 14px;display:flex;flex-direction:column;gap:10px}
.rapidas{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.rapidas .btn-chico{flex:none}
.escribir-fila{display:flex;gap:8px;align-items:flex-end}
.escribir textarea{flex:1;min-width:0;min-height:48px;max-height:160px;border:1px solid var(--linea);border-radius:12px;padding:12px 14px;resize:none}
.escribir.es-nota textarea{background:var(--nota)}
.aviso-24{background:var(--aviso-f);color:var(--aviso-t);border-radius:10px;padding:10px 12px;font-size:14px}

.ficha{flex:0 0 330px;background:#fff;border-left:1px solid var(--linea);padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}
.barra{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.barra span{height:6px;border-radius:3px;background:var(--linea)}
.barra .hecho{background:var(--azul)}
.barra .ahora{background:var(--lima)}
.receta{display:grid;grid-template-columns:36px repeat(4,minmax(0,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:10px;overflow:hidden;text-align:center;font-size:14px}
.receta > *{background:#fff;padding:6px 2px;min-width:0}
.receta .c{background:var(--fondo);font-weight:600}
.receta input{border:0;width:100%;text-align:center;padding:0;background:transparent}
.datos{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0;font-size:14px}
.datos dt{color:var(--gris)}
.datos dd{margin:0;font-weight:600;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip button{border:0;background:none;padding:0 0 0 4px;color:var(--gris)}
.sin-chat{flex:1;display:flex;align-items:center;justify-content:center;color:var(--gris);padding:24px;text-align:center}

/* ---------- embudo ---------- */
.pagina{flex:1;overflow-y:auto;padding:24px}
.pagina-cabeza{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px}
.cifra{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:10px 16px;display:flex;flex-direction:column}
.cifra span{font-size:12px;color:var(--gris)}
.cifra b{font:700 22px "Space Grotesk",sans-serif}
.tablero{overflow-x:auto;padding-bottom:8px}
.columnas{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:14px;min-width:1240px}
.columna{background:#ecebe4;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:60vh}
.columna h2{font:600 15px Inter,sans-serif;display:flex;align-items:center;gap:8px}
.punto{width:10px;height:10px;border-radius:50%;flex:none}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;text-align:left;width:100%}
.tarjeta:hover{border-color:#cfcdc4}

/* ---------- métricas / equipo ---------- */
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.caja{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:18px}
.caja .num{display:block;font:700 32px "Space Grotesk",sans-serif;margin-top:4px}
.tabla{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.tabla th,.tabla td{text-align:left;padding:12px 14px;border-bottom:1px solid #f0efe9}
.tabla th{font-size:13px;color:var(--gris);font-weight:600;background:#fafaf7}
.enlace-alta{background:var(--nota);border:1px dashed var(--lima-d);border-radius:12px;padding:12px;word-break:break-all;font-size:14px}

/* ---------- ventanas ---------- */
.fondo-modal{position:fixed;inset:0;background:rgba(16,26,43,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal{background:#fff;border-radius:16px;padding:22px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;max-height:90vh;overflow:auto}
.modal-acciones{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.foto-grande{max-width:96vw;max-height:90vh;border-radius:8px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--tinta);color:#fff;padding:12px 18px;border-radius:12px;z-index:60;max-width:90vw}

/* ---------- celular ---------- */
@media (max-width: 1100px){
  .ficha{display:none}
  .ficha.abierta{display:flex;position:fixed;inset:0;z-index:40;flex:none;border:0}
  .ver-ficha{display:inline-flex!important}
}
.ver-ficha{display:none!important}
.cerrar-ficha{display:none}
@media (max-width: 1100px){ .cerrar-ficha{display:inline-flex} }
@media (max-width: 760px){
  .app{flex-direction:column-reverse}
  .riel{flex:0 0 auto;flex-direction:row;justify-content:space-around;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
  .riel .logo{display:none}
  .riel .abajo{margin:0}
  .vista{flex:1}
  .lista{flex:1;max-width:none;border:0}
  .chat{display:none}
  .vista.con-chat .lista{display:none}
  .vista.con-chat .chat{display:flex}
  .volver{display:inline-flex}
  .chat-cabeza{padding:8px 12px}
  .resumen{margin:10px 12px 0}
  .mensajes{padding:12px}
  .msj{max-width:86%}
  .escribir{padding:8px 12px 10px}
  .escribir-fila{flex-wrap:wrap}
  .escribir-fila textarea{flex-basis:100%}
  .escribir-fila .btn{flex:1}
  .pagina{padding:16px}
  .pagina-cabeza .der{margin-left:0;width:100%}
  .cifra{flex:1 1 140px}
  .columnas{grid-template-columns:repeat(5,82vw);min-width:0;scroll-snap-type:x mandatory}
  .tablero{scroll-snap-type:x mandatory}
  .columna{scroll-snap-align:start;min-height:50vh}
  .chat-cabeza .pastilla{display:none}
}

/* ---------- inicio ---------- */
.inicio{flex:1;display:flex;flex-wrap:wrap;overflow-y:auto;align-content:flex-start}
.inicio-centro{flex:999 1 560px;min-width:0;padding:32px 40px;display:flex;flex-direction:column;gap:22px}
.inicio-cola{flex:1 1 320px;max-width:400px;background:#fff;border-left:1px solid var(--linea);padding:28px 20px;display:flex;flex-direction:column;gap:12px}
.contadores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contador{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--tinta);text-decoration:none}
.contador:hover{border-color:#cfcdc4}
.contador span{color:var(--gris)}
.contador b{font:700 40px "Space Grotesk",sans-serif;line-height:1.1}
.contador small{color:var(--gris);font-size:13px}
.contador.oscuro{background:var(--tinta);border-color:var(--tinta);color:#fff}
.contador.oscuro span{color:#c9ced6}
.contador.oscuro small{color:var(--lima);font-weight:600}
.siguiente{background:#fff;border:2px solid var(--tinta);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--celeste);color:#0d2138;display:flex;align-items:center;justify-content:center;font:700 20px "Space Grotesk",sans-serif;flex:none}
.caja-gris{margin:0;background:var(--fondo);border-radius:12px;padding:12px 14px;line-height:1.5}
.caja small{display:block;color:var(--gris);font-size:13px;margin-top:2px}
.dos-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.barra-fondo{display:block;height:10px;border-radius:5px;background:#f0efe9;overflow:hidden}
.barra-fondo span{display:block;height:10px;border-radius:5px;min-width:2px}
.alerta{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--fondo);border:0;width:100%;color:var(--tinta)}
.alerta:hover{background:#ecebe4}
.segmentos{display:flex;gap:4px;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:4px}
.segmentos button{height:38px;padding:0 14px;border-radius:9px;border:0;background:transparent;font-weight:500}
.segmentos button[aria-selected=true]{background:var(--tinta);color:#fff;font-weight:600}
.filtros{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 760px){
  .inicio-centro{padding:20px 16px;gap:16px}
  .inicio-cola{max-width:none;border-left:0;padding:0 16px 24px;background:transparent}
  .contadores{gap:8px}
  .contador{padding:12px;border-radius:14px}
  .contador b{font-size:26px}
  .contador span{font-size:12px;line-height:1.3}
  .contador small{display:none}
  .siguiente{padding:16px;border-radius:18px}
  .siguiente .btn-lima{width:100%!important;align-self:stretch!important}
  .inicio-centro h1{font-size:26px!important}
}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
@media (max-width: 1000px){ .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} .kpis .caja{padding:12px} .kpis .num{font-size:24px!important} }
