/* ============================================================
   Panel de métricas de WhatsApp — Mentora Colombia
   Sistema: 3 fondos / 2 tintas / 2 apagados · acento único violeta
   (el coral queda reservado para el dato en alerta, no para la interfaz)
   Escala tipográfica 1.25 sobre 16px · espaciado en múltiplos de 4
   ============================================================ */

:root{
  /* marca */
  --violeta:#7b2ff7; --violeta-600:#6a1fe0; --violeta-50:#f2e9ff;
  --coral:#f8636b;  --coral-700:#d3344a;  --coral-50:#fff1f2;
  --azul:#0369a1;   --azul-50:#e6f2fa;
  --verde:#10b981;  --verde-700:#047857;  --verde-50:#e7f8f1;
  --ambar:#d97706;  --ambar-50:#fef4e2;
  --navy:#14142a;
  --grad:linear-gradient(135deg,#f8636b 0%,#7b2ff7 100%);

  /* superficies e ink */
  --bg:#f6f6f8; --bg-2:#ffffff; --bg-3:#fbfbfc;
  --ink:#14142a; --ink-2:#3a3a52;
  --mute:#6b6b80; --mute-2:#9a9aad;
  --line:#e7e7ec; --line-soft:#f1f1f5;
  --barra:#14142a; --barra-ink:#ffffff;

  /* tipografía (ratio 1.25) */
  --font-body:'Inter',-apple-system,system-ui,sans-serif;
  --font-display:'Inter Tight','Inter',-apple-system,system-ui,sans-serif;
  --font-mono:ui-monospace,'SFMono-Regular',Menlo,monospace;
  --t-xs:11px; --t-sm:12.5px; --t-md:14px; --t-lg:17px; --t-xl:21px; --t-2xl:27px; --t-3xl:34px;

  /* espaciado */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px;

  /* forma y movimiento */
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:26px; --r-pill:999px;
  --sombra-sm:0 1px 2px rgba(20,20,42,.04),0 4px 14px rgba(20,20,42,.05);
  --sombra-md:0 2px 6px rgba(20,20,42,.05),0 14px 36px rgba(20,20,42,.08);
  --sombra-lg:0 8px 20px rgba(20,20,42,.08),0 32px 70px rgba(20,20,42,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0f0f1a; --bg-2:#181828; --bg-3:#1e1e30;
    --ink:#f4f4f8; --ink-2:#d6d6e0;
    --mute:#a3a3b8; --mute-2:#77778d;
    --line:rgba(255,255,255,.10); --line-soft:rgba(255,255,255,.06);
    --barra:#181828;
    --violeta-50:rgba(123,47,247,.18); --coral-50:rgba(248,99,107,.15);
    --azul-50:rgba(3,105,161,.2); --verde-50:rgba(16,185,129,.15); --ambar-50:rgba(217,119,6,.18);
    --sombra-sm:0 1px 2px rgba(0,0,0,.3); --sombra-md:0 12px 30px rgba(0,0,0,.35); --sombra-lg:0 30px 60px rgba(0,0,0,.45);
  }
}
:root[data-theme="dark"]{
  --bg:#0f0f1a; --bg-2:#181828; --bg-3:#1e1e30;
  --ink:#f4f4f8; --ink-2:#d6d6e0; --mute:#a3a3b8; --mute-2:#77778d;
  --line:rgba(255,255,255,.10); --line-soft:rgba(255,255,255,.06); --barra:#181828;
  --violeta-50:rgba(123,47,247,.18); --coral-50:rgba(248,99,107,.15);
  --azul-50:rgba(3,105,161,.2); --verde-50:rgba(16,185,129,.15); --ambar-50:rgba(217,119,6,.18);
  --sombra-sm:0 1px 2px rgba(0,0,0,.3); --sombra-md:0 12px 30px rgba(0,0,0,.35); --sombra-lg:0 30px 60px rgba(0,0,0,.45);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t-md)/1.55 var(--font-body);
  min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.02em}
h1{font-size:var(--t-3xl);font-weight:800;line-height:1.08}
h2{font-size:var(--t-lg);font-weight:700;display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}
h3{font-size:var(--t-md);font-weight:700;margin:var(--s-4) 0 var(--s-2)}
p{margin:0 0 var(--s-2)}
a{color:var(--violeta);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--violeta);outline-offset:2px;border-radius:4px}
.ic{flex:none;vertical-align:-3px}
.suave{color:var(--mute);font-size:var(--t-sm)}
.nota{color:var(--mute-2);font-size:var(--t-xs);line-height:1.5;margin:var(--s-3) 0 0}
.eyebrow{display:inline-block;font:700 var(--t-xs)/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;
  color:var(--violeta);margin-bottom:var(--s-2)}
.mal{color:var(--coral-700);font-weight:700}
.bien{color:var(--verde-700)}
code{background:var(--line-soft);padding:1px 6px;border-radius:5px;font:500 var(--t-sm) var(--font-mono)}

/* ---------- logo ---------- */
.logo{display:inline-flex;align-items:center;gap:var(--s-3);text-decoration:none;color:inherit}
.logo__img{height:26px;width:auto;display:block}
/* logo del cliente (panel con dominio propio, marca.json): escudo y texto, necesita más alto que el de Mentora */
.logo__img--cliente{height:48px}
.logo__sep{width:1px;height:20px;background:rgba(255,255,255,.22)}
.logo__app{font:600 var(--t-sm)/1 var(--font-body);color:rgba(255,255,255,.72);letter-spacing:.01em;white-space:nowrap}

/* ============================================================
   LOGIN — pantalla oscura, una sola promesa, formulario underline
   ============================================================ */
body.login{align-items:center;justify-content:center;padding:var(--s-5);background:#0d0d18;position:relative;overflow:hidden}
body.login::before,body.login::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
body.login::before{width:520px;height:520px;background:rgba(248,99,107,.30);top:-180px;right:-120px}
body.login::after{width:560px;height:560px;background:rgba(123,47,247,.34);bottom:-220px;left:-140px}
/* con la marca del cliente, los halos toman su rojo (#e10613) y un gris neutro */
body.login--cliente::before{background:rgba(225,6,19,.30)}
body.login--cliente::after{background:rgba(110,110,130,.26)}
.login__caja{position:relative;z-index:1;width:100%;max-width:420px;padding:var(--s-7) var(--s-6) var(--s-6);
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-xl);
  backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 40px 90px rgba(0,0,0,.45);color:#fff;text-align:left}
.login__caja .logo__img{height:34px}
.login__caja .logo__img--cliente{height:84px}
.login__caja .eyebrow{color:rgba(255,255,255,.55);margin:var(--s-6) 0 var(--s-2)}
.login__caja h1{font-size:var(--t-2xl);color:#fff;margin-bottom:var(--s-2)}
.login__caja p{color:rgba(255,255,255,.62);font-size:var(--t-sm);margin-bottom:var(--s-6)}
.login__caja .campo{gap:var(--s-2)}
.login__caja .campo > span{color:rgba(255,255,255,.5);letter-spacing:.14em;text-transform:uppercase;font-size:var(--t-xs);font-weight:700}
body.login .login__caja .campo :is(input[type=password],input[type=text]){background:transparent;border:0;
  border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;padding:var(--s-3) 0;color:#fff;
  font:500 var(--t-lg) var(--font-body);letter-spacing:.08em;box-shadow:none;
  transition:border-color .25s var(--ease)}
body.login .login__caja .campo :is(input[type=password],input[type=text]):focus{outline:0;box-shadow:none;border-color:transparent;
  border-bottom:1px solid var(--coral)}
body.login .login__caja .campo :is(input[type=password],input[type=text])::placeholder{color:rgba(255,255,255,.3)}
body.login .login__caja .campo input[type=text]{letter-spacing:.02em}
.login__caja .btn--pri{width:100%;justify-content:center;margin-top:var(--s-3)}
.login__caja .check{color:rgba(255,255,255,.72);font-size:var(--t-sm);align-items:flex-start;line-height:1.4;cursor:pointer}
.login__caja .check input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#7b2ff7}
body.login--cliente .login__caja .check input{accent-color:#e10613}
.login__pie{position:relative;z-index:1;margin-top:var(--s-5);color:rgba(255,255,255,.35);font-size:var(--t-xs);text-align:center}
.error{display:flex;gap:var(--s-2);align-items:center;color:#ffb4bb;font-size:var(--t-sm);margin:0}

/* ============================================================
   BARRA SUPERIOR
   ============================================================ */
.barra{position:sticky;top:0;z-index:30;background:var(--barra);color:var(--barra-ink);
  border-bottom:1px solid rgba(255,255,255,.08)}
.barra__int{max-width:1240px;margin:0 auto;padding:var(--s-3) var(--s-5);display:flex;align-items:center;gap:var(--s-5);flex-wrap:nowrap}
.logo{flex:0 0 auto}
/* la barra nunca crece: si las pestañas no caben, se compactan y, en último caso, se deslizan de lado */
.tabs{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none;min-width:0;flex:0 1 auto}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;display:inline-flex;align-items:center;gap:7px;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);
  color:rgba(255,255,255,.62);text-decoration:none;font:500 var(--t-sm)/1 var(--font-body);white-space:nowrap;
  transition:color .2s var(--ease),background .2s var(--ease)}
.tab:hover{color:#fff;background:rgba(255,255,255,.07)}
.tab.activa{color:#fff;background:rgba(255,255,255,.1)}
.tab.activa::after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:-13px;height:2px;background:var(--coral);border-radius:2px}
.barra__salir{color:rgba(255,255,255,.55)}
.barra__salir:hover{color:#fff;background:rgba(255,255,255,.1)}
.barra__salir{flex:0 0 auto}
/* usuario de solo lectura: marca discreta junto a «Salir» */
.barra__rol{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.72);font:600 var(--t-xs)/1 var(--font-body);white-space:nowrap}
@media (max-width:1060px){.barra__rol span{display:none}.barra__rol{padding:6px}}
.menu-movil{display:none}
/* con la pestaña Importar (admin) son 8: el nombre de la app cede su espacio a las pestañas */
.barra--llena .logo__sep,.barra--llena .logo__app{display:none}
/* 20-10: con «Revisiones» y la lupa ya no cabían todas (al cliente se le escondía «Proveedores»): con la barra llena, las pestañas van sin ícono */
@media (max-width:1600px){.barra--llena .tab .ic{display:none}.barra--llena .tab{gap:0}}
/* 23-10: con «Puntería» el admin llega a 12 pestañas (13 con «Cambios manuales») y a 1366 px se escondían las últimas: con la barra
   llena, pestañas de 8 px a los lados y menos aire entre el logo, las pestañas, la lupa y Salir (desde 1101 px; abajo ya va el menú) */
@media (min-width:1101px) and (max-width:1600px){.barra--llena .tab{padding:var(--s-2) 8px}.barra--llena .barra__int{gap:var(--s-3);padding-left:var(--s-4);padding-right:var(--s-4)}}
@media (min-width:1101px) and (max-width:1600px){.barra--muchas .tab{padding:var(--s-2) 6px;font-size:12px}}
@media (max-width:1240px){.barra--llena .tab{padding:var(--s-2) 8px}}
@media (max-width:1060px){.barra--llena .tab{padding:var(--s-2) 7px}}
@media (max-width:1240px){
  .barra__int{gap:var(--s-4)}
  .logo__sep,.logo__app{display:none}
  .tab{padding:var(--s-2) 10px}
}
@media (max-width:1060px){
  .tab .ic{display:none}
  .tab{padding:var(--s-2) 9px}
}
/* celular y tableta angosta: el nombre de la sección actual abre la lista completa */
@media (max-width:860px){
  .barra__int{padding:var(--s-2) var(--s-4);gap:var(--s-3)}
  .tabs{display:none}
  .menu-movil{display:block;position:relative;margin-left:auto;min-width:0}
  .menu-movil > summary{list-style:none;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;
    background:rgba(255,255,255,.08);color:#fff;font:600 var(--t-sm)/1 var(--font-body);white-space:nowrap;user-select:none}
  .menu-movil > summary::-webkit-details-marker{display:none}
  .menu-movil > summary > span{overflow:hidden;text-overflow:ellipsis}
  .menu-movil > summary > .ic:last-child{opacity:.7;transition:transform .2s var(--ease)}
  .menu-movil[open] > summary > .ic:last-child{transform:rotate(180deg)}
  .menu-movil__lista{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:230px;padding:6px;display:flex;flex-direction:column;gap:2px;
    background:var(--barra);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);box-shadow:var(--sombra-lg)}
  .menu-movil__lista a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-sm);color:rgba(255,255,255,.75);
    text-decoration:none;font:500 var(--t-md)/1 var(--font-body)}
  .menu-movil__lista a:hover,.menu-movil__lista a.activa{background:rgba(255,255,255,.1);color:#fff}
  .menu-movil__lista a.activa{box-shadow:inset 3px 0 0 var(--coral)}
  .menu-movil__lista .tab__n{margin-left:auto}
}
/* 20-10: con la barra llena, entre 861 y 1100 px tampoco caben todas las pestañas: el mismo menú desplegable del celular */
@media (min-width:861px) and (max-width:1100px){
  .barra--llena .barra__int{padding:var(--s-2) var(--s-4);gap:var(--s-3)}
  .barra--llena .tabs{display:none}
  .barra--llena .menu-movil{display:block;position:relative;margin-left:auto;min-width:0}
  .barra--llena .menu-movil > summary{list-style:none;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-sm);cursor:pointer;
    background:rgba(255,255,255,.08);color:#fff;font:600 var(--t-sm)/1 var(--font-body);white-space:nowrap;user-select:none}
  .barra--llena .menu-movil > summary::-webkit-details-marker{display:none}
  .barra--llena .menu-movil > summary > span{overflow:hidden;text-overflow:ellipsis}
  .barra--llena .menu-movil > summary > .ic:last-child{opacity:.7;transition:transform .2s var(--ease)}
  .barra--llena .menu-movil[open] > summary > .ic:last-child{transform:rotate(180deg)}
  .barra--llena .menu-movil__lista{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:230px;padding:6px;display:flex;flex-direction:column;gap:2px;
    background:var(--barra);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);box-shadow:var(--sombra-lg)}
  .barra--llena .menu-movil__lista a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-sm);color:rgba(255,255,255,.75);
    text-decoration:none;font:500 var(--t-md)/1 var(--font-body)}
  .barra--llena .menu-movil__lista a:hover,.barra--llena .menu-movil__lista a.activa{background:rgba(255,255,255,.1);color:#fff}
  .barra--llena .menu-movil__lista a.activa{box-shadow:inset 3px 0 0 var(--coral)}
  .barra--llena .menu-movil__lista .tab__n{margin-left:auto}
}

/* ---------- contenido ---------- */
.contenido{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-8)}
.cabecera{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}
.cabecera > div{min-width:0}
.volver{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--t-sm);color:var(--mute);
  text-decoration:none;margin-bottom:var(--s-2);transition:color .2s var(--ease)}
.volver:hover{color:var(--violeta)}
.acciones{display:flex;gap:var(--s-2);flex-wrap:wrap;align-items:center}

/* selector de fecha */
.fechas{display:flex;align-items:center;gap:var(--s-1)}
.fechas__campo{position:relative;display:inline-flex;align-items:center;gap:var(--s-2);background:var(--bg-2);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:9px var(--s-4);font:600 var(--t-sm) var(--font-body);
  cursor:pointer;box-shadow:var(--sombra-sm);transition:border-color .2s var(--ease)}
.fechas__campo:hover{border-color:var(--violeta)}
.fechas__campo .ic{color:var(--violeta)}
.fechas__campo input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}

/* ---------- botones ---------- */
.btn{appearance:none;border:1px solid transparent;cursor:pointer;font:600 var(--t-sm)/1 var(--font-body);
  padding:11px var(--s-4);border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:var(--s-2);
  text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn--pri{background:var(--violeta);color:#fff;box-shadow:0 6px 18px rgba(123,47,247,.28)}
.btn--pri:hover:not(:disabled){background:var(--violeta-600);transform:translateY(-2px);box-shadow:0 10px 26px rgba(123,47,247,.34)}
.btn--sec{background:var(--bg-2);border-color:var(--line);color:var(--ink)}
.btn--sec:hover:not(:disabled){border-color:var(--violeta);color:var(--violeta);transform:translateY(-1px)}
.btn--ico{padding:9px;border-radius:50%;background:transparent;border-color:transparent;color:inherit}
.btn--ico:hover{background:rgba(127,127,150,.14)}
.btn--chico{padding:8px var(--s-3);font-size:var(--t-sm)}
.btn--peligro:hover:not(:disabled){color:var(--coral-700);border-color:var(--coral)}
.btn.confirmar{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn.cargando{opacity:.65;pointer-events:none}

/* ---------- superficies ---------- */
.tarjeta{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--sombra-sm);padding:var(--s-5);margin-bottom:var(--s-4)}
.tarjeta h2 .ic{color:var(--violeta)}
.aviso{display:block;background:var(--violeta-50);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);
  font-size:var(--t-sm);line-height:1.5;margin-bottom:var(--s-5)}
.aviso .ic{color:var(--violeta);margin-right:var(--s-2);vertical-align:-4px}
.aviso--ejemplo{background:var(--ambar-50)}
.aviso--ejemplo .ic{color:var(--ambar)}
.aviso--apagado{background:var(--ambar-50);border:1px solid var(--ambar)}
.aviso--apagado .ic{color:var(--ambar)}
.vacio{text-align:center;padding:var(--s-8) var(--s-4);background:var(--bg-2);border:1px dashed var(--line);border-radius:var(--r-lg)}
.vacio .ic{color:var(--violeta);margin-bottom:var(--s-2)}
.vacio h2{justify-content:center;font-size:var(--t-xl)}
.vacio p{color:var(--mute);max-width:520px;margin:0 auto var(--s-4)}
.vacio .acciones{justify-content:center}

/* ---------- indicadores ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:var(--s-3);margin-bottom:var(--s-4)}
.kpi{position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--s-4) var(--s-4) var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:2px;
  box-shadow:var(--sombra-sm);overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.kpi:hover{transform:translateY(-2px);box-shadow:var(--sombra-md)}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line)}
.kpi__et{font-size:var(--t-xs);color:var(--mute);font-weight:500;line-height:1.35}
.kpi__v{font:800 var(--t-2xl)/1.05 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi__sub{font-size:var(--t-xs);color:var(--mute-2);line-height:1.4}
.kpi--coral::before{background:var(--coral)} .kpi--coral .kpi__v{color:var(--coral-700)}
.kpi--ambar::before{background:var(--ambar)} .kpi--ambar .kpi__v{color:var(--ambar)}
.kpi--violeta::before{background:var(--violeta)} .kpi--violeta .kpi__v{color:var(--violeta)}
.kpi--verde::before{background:var(--verde)} .kpi--verde .kpi__v{color:var(--verde-700)}
.kpis--compacto{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}
.kpis--compacto .kpi{padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4)}
.kpis--compacto .kpi__v{font-size:var(--t-xl)}

.analisis-barra{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);
  font-size:var(--t-sm);margin-bottom:var(--s-4);color:var(--ink-2)}
.analisis-barra .ic{color:var(--violeta);vertical-align:-3px;margin-right:var(--s-1)}

/* entrega de informes */
.entrega{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;background:var(--violeta-50);
  border-radius:var(--r-md);padding:var(--s-3) var(--s-4);font-size:var(--t-sm);margin-bottom:var(--s-4)}
.entrega > span:first-child{font-weight:600;display:inline-flex;align-items:center;gap:var(--s-2);margin-right:var(--s-1)}
.entrega .ic{color:var(--violeta)}

/* ---------- tablas ---------- */
.tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--s-5) * -1);padding:0 var(--s-5)}
.tabla{width:100%;border-collapse:collapse;font-size:var(--t-sm);min-width:660px}
.tabla th,.tabla td{padding:var(--s-3) var(--s-2);text-align:left;vertical-align:middle}
.tabla thead th{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--mute-2);
  font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:var(--s-2)}
.tabla tbody tr{border-bottom:1px solid var(--line-soft);transition:background .15s var(--ease)}
.tabla tbody tr:hover{background:var(--bg-3)}
.tabla tfoot th{border-top:2px solid var(--ink);padding-top:var(--s-3);font-weight:700;font-size:var(--t-sm);
  text-transform:none;letter-spacing:0;color:var(--ink)}
.tabla .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tabla--chica{min-width:520px}
.enlace{font-weight:600;text-decoration:none;color:var(--ink)}
.enlace:hover{color:var(--violeta);text-decoration:underline}

/* ---------- asesores ---------- */
.asesores{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:var(--s-3)}
.asesor-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);
  text-decoration:none;color:inherit;box-shadow:var(--sombra-sm);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.asesor-card:hover{transform:translateY(-4px);box-shadow:var(--sombra-md);border-color:var(--violeta)}
.asesor-card__cab{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);
  padding-bottom:var(--s-3);border-bottom:1px solid var(--line-soft)}
.asesor-card__cab div{display:flex;flex-direction:column;min-width:0}
.asesor-card__cab b{font:700 var(--t-md) var(--font-display)}
.asesor-card__cab span:last-child{font-size:var(--t-xs);color:var(--mute)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;
  font:700 var(--t-lg) var(--font-display);flex:none;box-shadow:0 4px 12px rgba(248,99,107,.3)}
.asesor-card__datos{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2)}
.asesor-card__datos div{display:flex;flex-direction:column;gap:1px}
.asesor-card__datos span{font-size:10.5px;color:var(--mute-2);text-transform:uppercase;letter-spacing:.06em}
.asesor-card__datos b{font:700 var(--t-lg) var(--font-display);font-variant-numeric:tabular-nums}

/* ---------- conversaciones ---------- */
.convs{display:flex;flex-direction:column;gap:var(--s-3)}
.conv{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--verde);
  border-radius:var(--r-md);padding:var(--s-4) var(--s-5);box-shadow:var(--sombra-sm);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.conv:hover{transform:translateY(-2px);box-shadow:var(--sombra-md)}
.conv--pend{border-left-color:var(--coral)}
.conv__cab{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-3);flex-wrap:wrap}
.conv__cab > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.conv__cab b{font:700 var(--t-lg) var(--font-display);letter-spacing:-.01em}
.conv__resumen{font-size:var(--t-sm);color:var(--mute);margin:var(--s-2) 0 0}
.badges{display:flex;gap:var(--s-1);flex-wrap:wrap;margin-top:var(--s-3)}
.badge{display:inline-flex;align-items:center;font:700 var(--t-xs)/1 var(--font-body);padding:6px 11px;
  border-radius:var(--r-pill);white-space:nowrap;border:1px solid transparent}
.badge--coral{background:var(--coral-50);color:var(--coral-700);border-color:rgba(248,99,107,.3)}
.badge--violeta{background:var(--violeta-50);color:var(--violeta);border-color:rgba(123,47,247,.28)}
.badge--ambar{background:var(--ambar-50);color:var(--ambar);border-color:rgba(217,119,6,.3)}
.badge--verde{background:var(--verde-50);color:var(--verde-700);border-color:rgba(16,185,129,.3)}
.badge--gris{background:var(--line-soft);color:var(--mute);border-color:var(--line)}
.evidencia{list-style:none;padding:0;margin:var(--s-3) 0 0;display:flex;flex-direction:column;gap:var(--s-2)}
.evidencia li{font-size:var(--t-sm);padding:var(--s-3) var(--s-4);background:var(--bg-3);border-radius:0 var(--r-sm) var(--r-sm) 0;
  border-left:2px solid var(--violeta);line-height:1.5}
.evidencia b{color:var(--mute);font-weight:600;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;
  display:block;margin-bottom:2px}

/* ---------- detalle de conversación ---------- */
.detalle{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s-4);align-items:start}
.chat{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);
  display:flex;flex-direction:column;gap:var(--s-2);box-shadow:var(--sombra-sm)}
.msg{display:flex}
.msg--asesor{justify-content:flex-end}
.msg__burbuja{max-width:76%;padding:10px 14px;border-radius:var(--r-md);background:var(--bg-3);
  border:1px solid var(--line-soft);font-size:var(--t-md);line-height:1.5}
.msg--asesor .msg__burbuja{background:var(--violeta-50);border-color:rgba(123,47,247,.16);border-bottom-right-radius:var(--s-1)}
.msg--cliente .msg__burbuja{border-bottom-left-radius:var(--s-1)}
.msg__burbuja p{margin:0;white-space:pre-wrap;word-break:break-word}
.msg__burbuja time{display:block;font-size:10.5px;color:var(--mute-2);margin-top:var(--s-1);text-align:right;font-variant-numeric:tabular-nums}
.msg__adj{display:inline-flex;align-items:center;gap:6px;font:600 var(--t-xs) var(--font-body);color:var(--violeta);margin-bottom:var(--s-1)}
.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);
  position:sticky;top:78px;box-shadow:var(--sombra-sm)}
/* una columna: el análisis va arriba y SIN sticky. Tiene que ir DESPUÉS de .panel: antes, el sticky de arriba le ganaba
   por orden y en el celular la tarjeta tapaba el chat al bajar (reportado por Alejo, 2026-10-05) */
@media (max-width:900px){.detalle{grid-template-columns:1fr}.panel{order:-1;position:static}}
.panel h3{margin-top:var(--s-5)}
.datos{display:grid;grid-template-columns:auto 1fr;gap:var(--s-2) var(--s-3);margin:var(--s-4) 0 0;font-size:var(--t-sm)}
.datos dt{color:var(--mute)}
.datos dd{margin:0;font-weight:600;text-align:right}

/* ---------- en vivo ---------- */
.vivo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-4)}
@media (max-width:860px){.vivo-grid{grid-template-columns:minmax(0,1fr)}}
.lineas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}
.lineas li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md)}
.lineas li > div{display:flex;flex-direction:column;flex:1;min-width:0}
.lineas .estado{font-size:var(--t-xs);font-style:normal;color:var(--mute);white-space:nowrap}
.punto{width:10px;height:10px;border-radius:50%;background:var(--mute-2);flex:none}
.punto--verde{background:var(--verde);box-shadow:0 0 0 4px var(--verde-50)}
.punto--coral{background:var(--coral);box-shadow:0 0 0 4px var(--coral-50)}
.pasos{margin:0;padding-left:var(--s-5);font-size:var(--t-sm);line-height:1.6}
.pasos li{margin-bottom:var(--s-2)}
.pulso{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--verde);animation:pulso 2s infinite;margin-left:var(--s-1)}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.stream{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2);max-height:540px;overflow:auto}
.stream li{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"t q" "t x" "t l";gap:0 var(--s-3);
  padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--bg-3);font-size:var(--t-sm);
  border-left:3px solid var(--verde)}
.stream li.sal{border-left-color:var(--violeta)}
.stream time{grid-area:t;font-size:var(--t-xs);color:var(--mute-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.stream .quien{grid-area:q;font-weight:600}
.stream .texto{grid-area:x;word-break:break-word;color:var(--ink-2)}
.stream .linea{grid-area:l;font-size:var(--t-xs)}
.stream li.nuevo{animation:aparece .9s var(--ease)}
@keyframes aparece{from{background:var(--violeta-50);transform:translateY(-4px)}to{background:var(--bg-3);transform:none}}

/* ---------- informes ---------- */
.informes-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
@media (max-width:900px){.informes-grid{grid-template-columns:1fr}}
.form--envio{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line-soft);
  flex-direction:row;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap}
.form--envio .campo{flex:1;min-width:200px}
.lista-asesores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-2)}
.lista-asesores li{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;
  padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color .2s var(--ease)}
.lista-asesores li:hover{border-color:var(--violeta)}
.lista-asesores li > div{display:flex;flex-direction:column}
.lista-asesores b{font:700 var(--t-md) var(--font-display)}

/* ---------- formularios ---------- */
.form{display:flex;flex-direction:column;gap:var(--s-4)}
.campo{display:flex;flex-direction:column;gap:var(--s-2);font:600 var(--t-xs) var(--font-body);color:var(--mute);
  letter-spacing:.04em}
.campo input[type=text],.campo input[type=password],.campo input[type=email],.campo input[type=time],.campo textarea,.campo input[type=file]{
  font:400 var(--t-md) var(--font-body);color:var(--ink);background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:11px var(--s-3);width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.campo textarea{resize:vertical;line-height:1.55}
.campo input:focus,.campo textarea:focus{outline:0;border-color:var(--violeta);box-shadow:0 0 0 3px var(--violeta-50)}
.check{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-md);color:var(--ink)}
.form--criterios fieldset{border:1px solid var(--line);border-radius:var(--r-lg);margin:0;padding:var(--s-5);background:var(--bg-2)}
.form fieldset.solo-lectura{border:0;margin:0;padding:0;min-width:0;background:none;display:flex;flex-direction:column;gap:var(--s-4)}
.solo-lectura:disabled :is(input,textarea,select){opacity:1;color:var(--ink);cursor:default}
.solo-lectura:disabled .pc-quitar{display:none}
[hidden]{display:none!important}
.lineas li.vincular-caja{display:block;padding:var(--s-4);border:1px dashed var(--violeta);border-radius:var(--r-md);background:var(--violeta-50);margin:var(--s-2) 0}
.vincular-codigo{font:800 var(--t-2xl) var(--font-display);letter-spacing:.12em;color:var(--ink);margin:0 0 var(--s-2);white-space:nowrap}
.vincular-caja details{margin-top:var(--s-2)}
.vincular-caja summary{cursor:pointer;color:var(--violeta);font-weight:600}
.vincular-qr{display:block;margin:var(--s-3) 0;background:#fff;border-radius:var(--r-sm);padding:6px}
.vincular-ok{color:var(--verde-700);font-weight:700;margin:0}
.vincular-error{color:var(--coral);font-weight:600;margin:0}
.lineas li [data-accion="vincular"],.lineas li [data-accion="reconectar"]{margin-left:auto}
/* en celular, el estado y «Reconectar» bajan a una segunda fila: en una sola no caben sin desbordar la tarjeta */
@media (max-width:560px){
  .lineas li:not(.vincular-caja){flex-wrap:wrap}
  .lineas li > div{flex-basis:calc(100% - 10px - var(--s-3))}
  .lineas li .estado{margin-left:calc(10px + var(--s-3))}
}
.form--criterios legend{font:700 var(--t-lg) var(--font-display);padding:0 var(--s-2)}
.opciones{display:flex;flex-direction:column;gap:var(--s-2);font-weight:400;color:var(--ink)}
.opciones label{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);
  border-radius:var(--r-sm);cursor:pointer;font-size:var(--t-sm);transition:border-color .2s var(--ease),background .2s var(--ease)}
.opciones label:hover{border-color:var(--violeta)}
.opciones label:has(input:checked){border-color:var(--violeta);background:var(--violeta-50)}
.previa{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line-soft)}
.muestra{list-style:none;margin:0 0 var(--s-4);padding:0;font-size:var(--t-sm);display:flex;flex-direction:column;gap:var(--s-1)}
.muestra li{padding:var(--s-2) var(--s-3);background:var(--bg-3);border-radius:var(--r-sm)}
.muestra b{color:var(--violeta)}
.como-exportar{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line-soft);font-size:var(--t-sm);color:var(--ink-2)}
.importar-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
@media (max-width:900px){.importar-grid{grid-template-columns:1fr}}
.ejemplo-box{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line-soft)}

/* ---------- pie y aviso flotante ---------- */
.pie{max-width:1240px;margin:0 auto;width:100%;padding:var(--s-5);font-size:var(--t-xs);color:var(--mute-2);
  display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;border-top:1px solid var(--line)}
.toast{position:fixed;left:50%;bottom:var(--s-5);transform:translateX(-50%);background:var(--navy);color:#fff;
  padding:var(--s-3) var(--s-5);border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:500;
  box-shadow:var(--sombra-lg);z-index:50;max-width:calc(100vw - 32px);animation:sube .3s var(--ease)}
.toast.error{background:var(--coral-700)}
@keyframes sube{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

@media (max-width:640px){
  .contenido{padding:var(--s-5) var(--s-4) var(--s-7)}
  h1{font-size:var(--t-2xl)}
  .kpis{grid-template-columns:repeat(auto-fit,minmax(142px,1fr))}
  .tabla-wrap{margin:0 calc(var(--s-4) * -1);padding:0 var(--s-4)}
  .cabecera{align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* ---------- titular del día y jerarquía de indicadores ---------- */
.titular{font:600 var(--t-lg)/1.4 var(--font-display);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);
  margin:0 0 var(--s-4);letter-spacing:-.01em}
.titular b{font-weight:800}
.titular--alerta{background:var(--coral-50);color:var(--coral-700)}
.titular--ok{background:var(--verde-50);color:var(--verde-700)}
.kpis--hero{grid-template-columns:repeat(3,1fr);margin-bottom:var(--s-3)}
.kpis--hero .kpi{padding:var(--s-5) var(--s-5) var(--s-5) var(--s-6)}
.kpis--hero .kpi__v{font-size:var(--t-3xl)}
.kpis--hero .kpi__et{font-size:var(--t-sm)}
@media (max-width:760px){
  /* en móvil el dato dominante ocupa el ancho y los otros dos se reparten la fila */
  .kpis--hero{grid-template-columns:1fr 1fr}
  .kpis--hero .kpi:first-child{grid-column:1 / -1}
  .kpis--hero .kpi{padding:var(--s-4) var(--s-4) var(--s-4) var(--s-5)}
  .kpis--hero .kpi__v{font-size:var(--t-2xl)}
}
.kpi--azul::before{background:var(--azul)} .kpi--azul .kpi__v{color:var(--azul)}
.tabla .cero{color:var(--mute-2);opacity:.55}
.t-coral{color:var(--coral-700)} .t-violeta{color:var(--violeta)} .t-azul{color:var(--azul)} .t-verde{color:var(--verde-700)}
.badge--azul{background:var(--azul-50);color:var(--azul);border-color:rgba(3,105,161,.3)}

/* lista de datos: filas completas con separador continuo, y aire antes de los botones */
.tarjeta .datos{margin:var(--s-4) 0;display:block}
.tarjeta .datos dt{float:left;clear:left;padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft)}
.tarjeta .datos dt:last-of-type{border-bottom:0}
.tarjeta .datos dd{text-align:right;padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft);overflow:hidden}
.tarjeta .datos dd:last-of-type{border-bottom:0}
.form--envio{width:100%;flex-wrap:wrap}
.form--envio .campo{flex:1 1 100%;min-width:0}
.form--envio .btn{margin-left:auto}

/* ============================================================
   MOVIMIENTO
   Entradas 500-700ms, micro-interacciones 200ms, escalonado 60ms.
   Nada de `transition:all` ni de backdrop-filter conmutado por scroll:
   esos son los que se comen la CPU y el INP en móvil.
   ============================================================ */

/* transición entre vistas del panel (navegación entre páginas) */
@view-transition{navigation:auto}
.barra{view-transition-name:barra}
::view-transition-old(root){animation:salir .22s var(--ease) both}
::view-transition-new(root){animation:entrar .32s var(--ease) both}
@keyframes salir{to{opacity:0;transform:translateY(-6px)}}
@keyframes entrar{from{opacity:0;transform:translateY(8px)}}

/* entrada de la página cuando no hay view-transition */
.contenido > *{animation:surgir .5s var(--ease) both}
.contenido > *:nth-child(1){animation-delay:.02s}
.contenido > *:nth-child(2){animation-delay:.07s}
.contenido > *:nth-child(3){animation-delay:.12s}
.contenido > *:nth-child(4){animation-delay:.17s}
.contenido > *:nth-child(5){animation-delay:.22s}
.contenido > *:nth-child(n+6){animation-delay:.26s}
@keyframes surgir{from{opacity:0;transform:translateY(10px)}}

/* escalonado dentro de rejillas y listas */
.kpis .kpi,.asesores .asesor-card,.convs .conv,.lista-asesores li{animation:surgir .5s var(--ease) both}
.kpis .kpi:nth-child(2),.asesores .asesor-card:nth-child(2),.convs .conv:nth-child(2),.lista-asesores li:nth-child(2){animation-delay:.06s}
.kpis .kpi:nth-child(3),.asesores .asesor-card:nth-child(3),.convs .conv:nth-child(3),.lista-asesores li:nth-child(3){animation-delay:.12s}
.kpis .kpi:nth-child(4),.asesores .asesor-card:nth-child(4),.convs .conv:nth-child(4),.lista-asesores li:nth-child(4){animation-delay:.18s}
.kpis .kpi:nth-child(5),.asesores .asesor-card:nth-child(5),.convs .conv:nth-child(5),.lista-asesores li:nth-child(5){animation-delay:.24s}
.kpis .kpi:nth-child(n+6),.asesores .asesor-card:nth-child(n+6),.convs .conv:nth-child(n+6),.lista-asesores li:nth-child(n+6){animation-delay:.3s}

/* revelado al hacer scroll: umbral bajo para que los bloques altos no queden invisibles */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.visible{opacity:1;transform:none}

/* filas de tabla: aparecen en cascada corta */
.tabla tbody tr{animation:aparecerFila .45s var(--ease) both}
.tabla tbody tr:nth-child(2){animation-delay:.05s}
.tabla tbody tr:nth-child(3){animation-delay:.1s}
.tabla tbody tr:nth-child(4){animation-delay:.15s}
.tabla tbody tr:nth-child(n+5){animation-delay:.2s}
@keyframes aparecerFila{from{opacity:0;transform:translateX(-6px)}}

/* el subrayado de la pestaña activa se despliega */
.tab.activa::after{animation:subrayar .35s var(--ease) both;transform-origin:left center}
@keyframes subrayar{from{transform:scaleX(0)}}

/* micro-interacciones */
.tab,.enlace,.volver{will-change:auto}
.btn:active:not(:disabled){transform:translateY(0) scale(.97)}
.asesor-card:active{transform:translateY(-2px) scale(.995)}
.kpi__v{transition:color .3s var(--ease)}
.btn--pri .ic{transition:transform .25s var(--ease)}
.btn--pri:hover .ic{transform:translateX(2px)}

/* el punto de línea conectada late solo cuando está viva */
.punto--verde{animation:latido 2.6s var(--ease) infinite}
@keyframes latido{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.45)}55%{box-shadow:0 0 0 7px rgba(16,185,129,0)}}

/* carga de botones: el icono gira mientras trabaja */
.btn.cargando .ic{animation:girar .9s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}

/* cifras que cuentan: se estabilizan sin saltos de ancho */
.kpi__v,.tabla .num{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .contenido > *,.kpis .kpi,.asesores .asesor-card,.convs .conv,.lista-asesores li,
  .tabla tbody tr,.tab.activa::after,.punto--verde{animation:none !important}
  .rv{opacity:1;transform:none;transition:none}
}

/* presets de período */
.presets{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px;gap:2px;margin-right:var(--s-1)}
.preset{padding:6px 11px;border-radius:var(--r-pill);font:600 var(--t-xs) var(--font-body);color:var(--mute);text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease)}
.preset:hover{color:var(--ink)}
.preset.activo{background:var(--violeta);color:#fff}
.fechas{flex-wrap:wrap;row-gap:var(--s-2)}
.aviso--caida{background:var(--coral-50);color:var(--coral-700);border:1px solid rgba(248,99,107,.35)}
.aviso--caida .ic{color:var(--coral-700)}
.aviso--caida a{color:var(--coral-700);font-weight:600}
/* criterios de la empresa */
.pcrit{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-3);background:var(--bg-3);display:flex;flex-direction:column;gap:var(--s-3)}
.pcrit__cab{display:grid;grid-template-columns:1fr 1fr auto auto;gap:var(--s-3);align-items:end}
.pc-priv{white-space:nowrap;font-size:var(--t-sm);padding-bottom:12px}
@media (max-width:760px){.pcrit__cab{grid-template-columns:1fr}}
.pcrit select{font:400 var(--t-md) var(--font-body);color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px var(--s-3);width:100%}
.kpis--extras .kpi::before{background:var(--violeta)}
/* alertas de la empresa con su cita (Consolidado): entrega urgente, material agotado… */
.alertas__grupo{border-top:1px solid var(--line-soft);padding:var(--s-3) 0}
.alertas__grupo:first-of-type{border-top:0}
.alertas__grupo summary{cursor:pointer;display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}
.alertas__lista{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s-3);font-size:var(--t-sm)}
.alertas__lista q{display:block;margin-top:4px;padding-left:var(--s-3);border-left:2px solid var(--line);color:var(--ink-2);quotes:'«' '»'}
/* uso de la IA */
.uso-ia__cab{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap}
.uso-ia__barra{height:12px;background:var(--line-soft);border-radius:var(--r-pill);overflow:hidden;margin:var(--s-2) 0 var(--s-4)}
.uso-ia__barra i,.uso-mini__barra i{display:block;height:100%;background:var(--violeta);border-radius:var(--r-pill);min-width:3px;transition:width .8s var(--ease)}
.uso-ia__barra i.alto,.uso-mini__barra i.alto{background:var(--ambar)}
.uso-ia__barra i.lleno,.uso-mini__barra i.lleno{background:var(--coral)}
.uso-ia__cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s-3)}
.uso-ia__cifras div{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md)}
.uso-ia__cifras span{font-size:var(--t-xs);color:var(--mute)}
.uso-ia__cifras b{font:800 var(--t-xl) var(--font-display);font-variant-numeric:tabular-nums}
.uso-ia__cifras em{font-style:normal;font-size:var(--t-xs);color:var(--mute-2)}
.uso-mini{display:inline-flex;align-items:center;gap:var(--s-2);margin-left:var(--s-3);text-decoration:none;color:var(--mute);font-size:var(--t-xs);white-space:nowrap}
.uso-mini__barra{display:inline-block;width:80px;height:6px;background:var(--line);border-radius:var(--r-pill);overflow:hidden}
/* destinatarios */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3) var(--s-4)}
.dest-grid--envio{align-items:end}
@media (max-width:760px){.dest-grid{grid-template-columns:1fr}}
.dest-asesores{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-2) var(--s-4)}
.campo--fila{flex-direction:row;align-items:center;gap:var(--s-3)}
.campo--fila > span{flex:0 0 130px;color:var(--ink);font-weight:600;letter-spacing:0;font-size:var(--t-sm)}
.sin-correo{font-style:normal;color:var(--coral-700)}
.campo--fila input{flex:1;min-width:0}

/* ---------- pendientes (se arrastran de un día al siguiente) ---------- */
.tab__n{font:700 10.5px/1 var(--font-body);font-style:normal;background:var(--coral);color:#fff;border-radius:var(--r-pill);
  padding:3px 6px;margin-left:1px;font-variant-numeric:tabular-nums}
.kpi--azul::before{background:var(--azul)} .kpi--azul .kpi__v{color:var(--azul)}
.presets--filtro{flex-wrap:wrap;border-radius:var(--r-md);max-width:100%}
.presets--filtro .preset b{font-weight:700;margin-left:3px;opacity:.7}
.presets--filtro .preset.activo b{opacity:1}
.conv--viejo{border-left-color:var(--ambar)}
.nota--arriba{margin:0 0 var(--s-3)}
.conv__cab > .acciones{flex-direction:row;align-items:center}
.resueltos{margin-top:var(--s-5);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4)}
.resueltos summary{cursor:pointer;font-weight:600}
.resueltos summary b{color:var(--verde-700);margin-left:4px}
.resueltos ul{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column}
.resueltos li{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3) 0;border-top:1px solid var(--line-soft)}
.resueltos li > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.resueltos li > .acciones{gap:6px}
/* ---------- notas y cambios manuales de las asesoras (2026-10-05) ---------- */
.tab__n--ambar{background:var(--ambar)}
.notas{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3)}
.notas__item{margin:0;padding:var(--s-2) var(--s-3);background:var(--bg-3);border:1px solid var(--line-soft);border-left:3px solid var(--ambar);
  border-radius:var(--r-md);font-size:var(--t-sm);line-height:1.5;white-space:normal;word-break:break-word}
.notas__item b{display:block;font-size:var(--t-xs);color:var(--mute);font-weight:600;margin-bottom:2px}
.notas__cambios{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--t-xs);color:var(--mute)}
.notas__cambios .badge{margin-right:4px}
.notas__form{display:flex;flex-direction:column;gap:var(--s-2)}
.notas__form textarea{width:100%;min-height:60px;resize:vertical;font:inherit;font-size:var(--t-sm);padding:var(--s-2) var(--s-3);
  border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);color:inherit}
.notas__form button{align-self:flex-start}
.cambios{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column}
.cambio{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3) 0;border-top:1px solid var(--line-soft)}
.cambio:first-child{border-top:0}
.cambio__txt{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 280px}
.cambio__txt .notas__item{margin-top:4px}
/* la marca de una asesora hizo desaparecer pendientes (P9 del 06-10): el aviso se ve en la tarjeta */
.cambio__txt .aviso--marca{background:var(--ambar-50);border:1px solid var(--ambar);margin:4px 0 0}
.cambio__txt .aviso--marca .ic{color:var(--ambar)}
.cambio__txt .nota{margin:0}
.cambio .acciones{display:flex;gap:6px;flex-wrap:wrap}
.cambios__n{color:var(--ambar);margin-left:4px}
.proveedores summary b{color:var(--mute)}
.proveedores > .nota{margin:var(--s-2) 0 0}
.proveedores__h{font-size:.9rem;margin:var(--s-3) 0 0;color:var(--mute)}
.proveedores__h b{color:var(--mute)}
.vencidos summary b{color:var(--coral-700)}
.vencidos > .nota{margin:var(--s-2) 0 0}
.sincierre summary b{color:var(--azul)}
.sincierre > .nota{margin:var(--s-2) 0 0}

/* ---------- pendientes: una fila por cliente, con responsable y filtros (panel.js) ---------- */
.presp{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3);margin-bottom:var(--s-4)}
.presp__card{appearance:none;display:flex;align-items:center;gap:var(--s-3);text-align:left;cursor:pointer;min-width:0;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);color:var(--ink);font:inherit;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.presp__card:hover{border-color:var(--violeta)}
.presp__card.activo{border-color:var(--violeta);box-shadow:0 0 0 3px var(--violeta-50)}
.presp__av{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--violeta-50);color:var(--violeta);
  font:700 var(--t-sm)/1 var(--font-body)}
.presp__av--todos{background:var(--line-soft);color:var(--ink-2)}
.presp__card--sin .presp__av{background:var(--ambar-50);color:var(--ambar)}
.presp__txt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.presp__txt b{font:700 var(--t-md)/1.2 var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.presp__txt small{font-size:var(--t-xs);color:var(--mute);line-height:1.3}
.presp__n{font:800 var(--t-xl)/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.presp__card--sin .presp__n{color:var(--ambar)}

.pfiltros{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center;margin-bottom:var(--s-2)}
.pfiltros .presets{margin:0;max-width:100%;overflow-x:auto;scrollbar-width:none}
.pfiltros .presets::-webkit-scrollbar{display:none}
.pfiltros .preset{appearance:none;border:0;background:transparent;cursor:pointer;white-space:nowrap}
.pfiltros .preset.activo{background:var(--violeta);color:#fff}
.pfiltros .preset b{font-weight:700;margin-left:2px;opacity:.7}
.pfiltros .preset.activo b{opacity:1}
.pbuscar{display:flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-pill);
  padding:0 12px;color:var(--mute);flex:1 1 200px;max-width:320px;min-width:0}
.pbuscar input{border:0;background:transparent;font:400 var(--t-sm) var(--font-body);color:var(--ink);padding:8px 0;width:100%;min-width:0;outline:0}
.pbuscar:focus-within{border-color:var(--violeta);box-shadow:0 0 0 3px var(--violeta-50)}
.porden{display:flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--mute);margin-left:auto}
.porden select,.presp__sel{font:500 var(--t-sm) var(--font-body);color:var(--ink);background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:7px 10px;cursor:pointer;max-width:100%}
.pconteo{font-size:var(--t-xs);color:var(--mute-2);margin:0 0 var(--s-3)}

.ptabla{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ptabla__cab,.prow__main{display:grid;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4);
  grid-template-columns:minmax(160px,1.2fr) minmax(120px,.9fr) minmax(150px,.95fr) 96px minmax(180px,1.6fr) auto}
.ptabla__cab{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--mute-2);font-weight:600;
  border-bottom:1px solid var(--line);padding-top:10px;padding-bottom:10px;background:var(--bg-3)}
.prow{border-bottom:1px solid var(--line-soft);transition:background .15s var(--ease)}
.prow:last-of-type{border-bottom:0}
.prow:hover,.prow.abierta{background:var(--bg-3)}
.pc{min-width:0}
.pc--cliente{display:flex;align-items:flex-start;gap:var(--s-2)}
.pc--cliente > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc--cliente b{font:700 var(--t-md)/1.25 var(--font-display);overflow-wrap:anywhere;cursor:pointer}
.pc--cliente .suave{font-size:var(--t-xs)}
.prow__tog{appearance:none;border:0;background:transparent;color:var(--mute);padding:2px;border-radius:6px;cursor:pointer;flex:0 0 auto;
  transition:transform .2s var(--ease),color .2s var(--ease)}
.prow__tog:hover{color:var(--violeta);background:var(--violeta-50)}
.prow.abierta .prow__tog{transform:rotate(180deg)}
.pc--falta{display:flex;flex-wrap:wrap;gap:4px}
.pc--falta .badge{padding:5px 9px;max-width:100%;white-space:normal;line-height:1.25;text-align:left;border-radius:10px;overflow-wrap:anywhere}
.pc--resp{display:flex;flex-direction:column;gap:3px}
.pc--resp small{font-size:var(--t-xs);color:var(--mute-2);padding-left:2px}
.presp__sel{width:100%;max-width:210px}
.presp__sel--vacio{color:var(--ambar);border-color:rgba(217,119,6,.45);background:var(--ambar-50)}
/* solo lectura: el responsable es texto, no un selector */
.presp__fijo{font:600 var(--t-sm)/1.3 var(--font-body);color:var(--ink)}
.presp__fijo--vacio{color:var(--ambar)}
.presp__tu{font:700 10px/1 var(--font-body);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--violeta);
  background:var(--violeta-50);padding:2px 6px;border-radius:var(--r-pill);margin-right:2px;vertical-align:1px}
.pc--desde{display:flex;flex-direction:column;gap:3px}
.pc--desde small{font-size:var(--t-xs);color:var(--mute-2)}
.pc--desde small.pedad__ren{color:var(--violeta);font-weight:600}
.pedad{font:700 var(--t-sm)/1 var(--font-body)}
.pedad--0{color:var(--ink-2)} .pedad--1{color:var(--ambar)} .pedad--2{color:var(--coral-700)}
.pc--ult{display:flex;flex-direction:column;gap:3px;font-size:var(--t-sm)}
.pc--ult small{font-size:var(--t-xs);color:var(--mute)}
.pc--ult small b{color:var(--ink-2)}
.pc--ult small b.pult--cliente{color:var(--azul)}
.pc--ult > span{color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
/* 20-10: con «Responder», lo que el cliente escribió y nadie le contestó (hasta 3 líneas) y el aviso de foto o video sin texto */
.pc--ult > span.pult__largo{-webkit-line-clamp:3}
.pc--ult small b.pult--espera{color:var(--azul)}
.pc--ult small.pult__espera{color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pc--ult small.pult__aviso{color:var(--mute-2);font-style:italic}
.pc--acc{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.pc--acc .btn{white-space:nowrap}
.prow__det{padding:0 var(--s-4) var(--s-4) 52px}
.prow__det .conv__resumen{margin-top:0}
.prow__det .evidencia{margin-top:var(--s-2)}
.ptabla__vacio{padding:var(--s-6) var(--s-4);text-align:center;color:var(--mute);margin:0}

/* sin espacio para 6 columnas: cada pendiente pasa a ser una ficha compacta */
@media (max-width:1100px){
  .ptabla__cab{display:none}
  /* 20-10: la 3.ª columna con tope (fit-content): con «auto» los 6 botones iban en una sola fila y aplastaban al cliente */
  .prow__main{grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) fit-content(300px);row-gap:10px;
    grid-template-areas:"cliente falta desde" "resp ult acc"}
  .pc--cliente{grid-area:cliente} .pc--falta{grid-area:falta;align-self:start} .pc--resp{grid-area:resp} .pc--acc{grid-area:acc;align-self:center}
  .pc--desde{grid-area:desde;align-items:flex-end;text-align:right;align-self:start}
  .pc--ult{grid-area:ult;background:var(--bg-3);border-radius:var(--r-sm);padding:8px 10px}
  .prow:hover .pc--ult,.prow.abierta .pc--ult{background:var(--bg-2)}
  .prow__det{padding-left:var(--s-4)}
}
@media (max-width:760px){
  .prow__main{grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"cliente desde" "falta falta" "ult ult" "resp acc"}
}
@media (max-width:560px){
  .presp{grid-template-columns:1fr 1fr;gap:var(--s-2)}
  .presp__card{padding:10px 12px;gap:10px}
  .presp__av{flex-basis:30px;height:30px;font-size:var(--t-xs)}
  .presp__txt small{display:none}
  .presp__n{font-size:var(--t-lg)}
  .pbuscar{max-width:none;flex-basis:100%}
  .porden{margin-left:0}
  .prow__main{grid-template-areas:"cliente desde" "falta falta" "ult ult" "resp resp" "acc acc"}
  .presp__sel{max-width:none}
  .pc--acc{justify-content:stretch}
  .pc--acc .btn{flex:1;justify-content:center}
}
/* cliente y proveedor (07-10): etiqueta bajo el nombre en Pendientes y junto a los botones del chat */
.pmixto{display:inline-block;margin-top:3px;font:700 var(--t-xs)/1.2 var(--font-body);padding:3px 8px;border-radius:999px;
  background:var(--line-soft);color:var(--mute);border:1px solid var(--line);white-space:nowrap}
.pc--cliente .pmixto{display:table}
.pmixto--cab{align-self:center;margin-top:0}
/* llamadas de WhatsApp (07-10): «Llamadas por devolver» en Pendientes y la tarjeta del Consolidado */
.llamadas__h{display:flex;align-items:center;gap:var(--s-2);margin:0;font:700 var(--t-md)/1.2 var(--font-body)}
.llamadas__h b{margin-left:2px}
.llamadas .nota{margin:var(--s-2) 0 0}
.llamadas .aviso{margin:var(--s-3) 0 var(--s-1)}   /* 08-10: «cómo devolver las que no traen número» */
.llamadas__vacio{margin:var(--s-3) 0 0}
.llamadas li .suave{display:block;margin-top:2px}
.llamadas-resumen .kpis{margin:var(--s-3) 0}
.llamadas__h .cero{color:var(--mute-2);opacity:.7}

/* E11 (14-10): motivo de «Resuelto» (un clic) */
.motivos{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex-basis:100%;margin-top:var(--s-2, 6px);padding:var(--s-2, 8px) var(--s-3, 10px);border:1px solid var(--line);border-radius:var(--r-md, 10px);background:var(--bg-2)}
.motivos__t{font-size:.85em;font-weight:600;color:var(--ink-2);margin-right:4px}
.motivos__x{background:transparent;border:0;color:var(--mute);text-decoration:underline;cursor:pointer}
/* 16-10: las tarjetas de «Por asesor» filtran la lista (Cotizaciones pend., Info pendiente, Pendientes de cierre) */
a.kpi--filtro{color:inherit;text-decoration:none;cursor:pointer}
a.kpi--filtro .kpi__sub{color:var(--mute)}
a.kpi--filtro:hover .kpi__sub{text-decoration:underline}
a.kpi--filtro:focus-visible{outline:2px solid var(--violeta);outline-offset:2px}
.kpi--activo{border-color:currentColor;box-shadow:0 0 0 2px var(--violeta-50,rgba(124,58,237,.18))}
.kpi--activo.kpi--coral{border-color:var(--coral)} .kpi--activo.kpi--violeta{border-color:var(--violeta)} .kpi--activo.kpi--azul{border-color:var(--azul)}
.kpi--activo .kpi__sub{font-weight:600;color:var(--ink,inherit)}
.cfiltros{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);margin:0 0 var(--s-3)}
.cfiltros__et{font-size:var(--t-sm);font-weight:600;color:var(--mute)}
.cfiltros .presets{margin:0}

/* solicitudes de revisión (20-10): ventanita «Solicitar revisión» y pestaña Revisiones */
.revision .revision__nota{flex:1 1 100%;width:100%;min-height:60px;resize:vertical;font:inherit;font-size:var(--t-sm);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);color:inherit}
.revision [aria-pressed="true"]{border-color:var(--violeta);background:var(--violeta-50);color:var(--violeta);font-weight:600}
.rev__foto{margin-top:2px}
.rev__foto summary{cursor:pointer;color:var(--violeta);font-size:var(--t-sm)}
.rev__foto .evidencia{margin-top:var(--s-2)}
.rev__resp{width:100%;min-height:52px;margin-top:var(--s-2);resize:vertical;font:inherit;font-size:var(--t-sm);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);color:inherit}

/* buscador por número o nombre (20-10): lupa en la barra + página de resultados */
.buscador{position:relative;flex:0 0 auto}
.buscador>summary{list-style:none;cursor:pointer;color:rgba(255,255,255,.75)}
.buscador>summary::-webkit-details-marker{display:none}
.buscador>summary:hover,.buscador[open]>summary{color:#fff;background:rgba(255,255,255,.1)}
.buscador__form{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:min(380px, calc(100vw - 32px));display:flex;gap:var(--s-2);padding:var(--s-3);
  background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 12px 32px rgba(10,10,30,.22)}
.buscador__form input,.buscar__form input{flex:1 1 auto;min-width:0;font:inherit;font-size:var(--t-sm);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);color:inherit}
.buscar__form{display:flex;gap:var(--s-2);align-items:center}
.buscar__form input{font-size:1rem;padding:10px 14px}
.buscar__total{margin:var(--s-3) 0}
.buscar__contacto h2{display:flex;align-items:center;gap:8px}
.buscar__lista{list-style:none;margin:var(--s-3) 0 0;padding:0}
.buscar__lista li{display:grid;grid-template-columns:minmax(150px,190px) minmax(130px,170px) minmax(0,1fr) auto;gap:var(--s-3);align-items:center;padding:var(--s-3) 0;border-top:1px solid var(--line-soft)}
.buscar__lista li:first-child{border-top:0}
.buscar__cuando,.buscar__linea{display:flex;flex-direction:column;gap:2px;min-width:0}
.buscar__estado{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.buscar__estado .suave{flex:1 1 100%;font-size:var(--t-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){
  .buscar__lista li{grid-template-columns:1fr auto}
  .buscar__linea,.buscar__estado{grid-column:1 / -1}
  .buscar__lista .acciones{grid-column:2;grid-row:1}
}
@media (max-width:640px){.buscador__form{position:fixed;left:16px;right:16px;top:62px;width:auto}}
/* Seguimiento en Pendientes (22-10): filtros en una fila y la lista de quitados plegada */
.seguimiento .llamadas__h small{font:400 var(--t-xs) var(--font-body);margin-left:var(--s-1)}
.seg__filtros{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin:var(--s-3) 0 0}
.seg__filtros .presets{margin:0}
.seg__filtros .preset{appearance:none;border:0;background:transparent;cursor:pointer;white-space:nowrap}
.seg__filtros .preset.activo{background:var(--violeta);color:#fff}
.seguimiento li .suave .badge{margin-right:4px}
.seguimiento li .acciones .confirmar{border-color:var(--coral-700);color:var(--coral-700)}
.seg__quitados{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line-soft)}
.seg__quitados summary{cursor:pointer;font-weight:600}
.seg__quitados summary b{margin-left:4px;color:var(--mute)}
/* E24 (22-10): en «Entrega urgente / Entrega prometida», el tipo en mayúsculas y de color, y la frase más grande */
.alerta-entrega__tipo{font-size:var(--t-xs);letter-spacing:.06em;margin-right:4px}
.alerta-entrega--urgente .alerta-entrega__tipo{color:var(--coral-700)}
.alerta-entrega--prometida .alerta-entrega__tipo{color:var(--azul)}
.alerta-entrega q{font-size:var(--t-md);font-weight:600;border-left-width:4px}
.alerta-entrega--urgente q{border-left-color:var(--coral-700)}
.alerta-entrega--prometida q{border-left-color:var(--azul)}
/* 23-10 Puntería (E3): el título de las notas debajo de la tabla, más chico que el de una tarjeta; la semana no se parte en dos */
.punteria__titulo{font-size:var(--t-md);margin:var(--s-5) 0 0}
.punteria .tabla td:first-child{white-space:nowrap}
