/* ========== Status → Kanban: visor global por área (solo lectura) ========== */
.kb{display:flex;flex-direction:column;gap:10px;min-width:0}

/* Resumen «En tránsito»: total, flujo por área (barra proporcional) y el cuello de botella */
.kb-resumen{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.kb-tot{display:flex;flex-direction:column;line-height:1.1;min-width:92px}
.kb-tot b{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kb-tot span{font-size:11.5px;color:var(--muted)}
.kb-flujo{display:flex;flex-direction:column;gap:6px;min-width:0}
.kb-barras{display:flex;gap:3px;height:12px}
.kb-seg{flex-basis:0;min-width:6px;border:0;padding:0;border-radius:4px;background:var(--c);opacity:.78;cursor:pointer;transition:opacity .15s,transform .15s}
.kb-seg:hover,.kb-seg:focus-visible{opacity:1}
.kb-seg.max{opacity:1;box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--c)}
.kb-leyenda{display:flex;flex-wrap:wrap;gap:2px 12px}
.kb-ley{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:1px 0;font-size:12px;color:var(--ink2);cursor:pointer;white-space:nowrap}
.kb-ley i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.kb-ley b{font-variant-numeric:tabular-nums;color:var(--ink)}
.kb-ley.cero{color:var(--muted)}.kb-ley.cero b{color:var(--muted);font-weight:500}.kb-ley.cero i{opacity:.35}
.kb-ley:hover span{text-decoration:underline}
.kb-cuello{display:flex;align-items:stretch;gap:8px}
.kb-cu{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1px solid var(--line);background:var(--sunken);border-radius:10px;padding:5px 10px;cursor:pointer;text-align:left;min-width:0}
.kb-cu:hover{border-color:var(--muted)}
.kb-cu small{font-size:10.5px;color:var(--muted)}
.kb-cu b{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.kb-cu b i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.kb-cu span{font-size:11.5px;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.kb-alertas{display:flex;flex-direction:column;gap:4px;justify-content:center}
.kb-al{border:0;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700;cursor:pointer;background:var(--warn-soft);color:var(--warn);white-space:nowrap}
.kb-al.stop{background:var(--bad-soft);color:var(--bad)}

/* Barra: buscador, resultados, filtros, vista y opciones */
.kb-barra{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kb-busca.search{flex:1 1 240px;max-width:520px;min-width:0}
.kb-esp{flex:1}
.kb-nres{font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:3px 10px;white-space:nowrap}
.kb-nres.cero{color:var(--bad);background:var(--bad-soft)}
/* Grupo de íconos: una sola píldora elegante (filtros · vistas · columnas, apariencia, descargar, más, pantalla completa) */
.kb-tools{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px rgba(23,32,51,.04)}
.kb-tb{position:relative;display:inline-grid;place-items:center;width:32px;height:30px;border:0;border-radius:8px;background:none;color:var(--ink2);cursor:pointer;transition:background .12s,color .12s}
.kb-tb svg{width:17px;height:17px}
.kb-tb:hover{background:var(--sunken);color:var(--ink)}
.kb-tb:focus-visible,.kb-vseg button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.kb-tb[aria-expanded="true"],.kb-tb.abierto{background:var(--primary-soft);color:var(--primary)}
.kb-sep{width:1px;height:18px;background:var(--line);margin:0 4px;flex:none}
.kb-vseg{display:inline-flex;gap:1px;padding:2px;border-radius:9px;background:var(--sunken)}
.kb-vseg button{display:inline-grid;place-items:center;width:30px;height:26px;border:0;border-radius:7px;background:none;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}
.kb-vseg button svg{width:16px;height:16px}
.kb-vseg button:hover{color:var(--ink)}
.kb-vseg button[aria-pressed="true"]{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px rgba(23,32,51,.10),0 0 0 1px var(--line)}
.kb-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;border-radius:999px;background:var(--primary);color:var(--on-primary,#fff);font-size:10px;font-weight:800;display:grid;place-items:center;padding:0 4px;box-shadow:0 0 0 2px var(--surface);font-variant-numeric:tabular-nums}
.kb-badge[hidden]{display:none}
.kb-apbtn.on{color:var(--primary)}
/* En vivo */
.kb-vivo{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap;cursor:default;padding:0 2px}
.kb-vivo i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--muted);opacity:.7;flex:none}
.kb-vivo[data-e="on"]{color:var(--ok)}
.kb-vivo[data-e="on"] i{background:var(--ok);opacity:1}
.kb-vivo[data-e="on"] i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--ok);opacity:0;animation:kbVivo 2.4s ease-out infinite}
@keyframes kbVivo{0%{transform:scale(.5);opacity:.55}100%{transform:scale(1.3);opacity:0}}
.kb-info{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--muted);cursor:help}
.kb-info svg{width:16px;height:16px}
.kb-panel{display:flex;flex-wrap:wrap;gap:12px 18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.kb-pf{display:flex;flex-direction:column;gap:5px;min-width:0}
.kb-pf>small{font-size:11px;color:var(--muted);font-weight:600}
.kb-pf .input{min-width:170px}
.kb-tgs{display:flex;gap:6px}
.kb-tg{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink2)}
.kb-tg-d{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--muted)}
.kb-tg[aria-pressed="true"]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.kb-tg[aria-pressed="true"] .kb-tg-d{background:var(--primary);border-color:var(--primary)}
.kb-chips{display:flex;flex-wrap:wrap;gap:6px}
.kb-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--sunken);border-radius:999px;padding:2px 6px 2px 10px;font-size:12px;cursor:pointer;color:var(--ink2)}
.kb-chip b{font-size:14px;line-height:1;color:var(--muted)}
.kb-chip:hover b{color:var(--bad)}
.kb-limpia{background:none;border-style:dashed;padding-right:10px}
.kb-menu{position:fixed;z-index:1300;width:260px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column}
.kb-menu hr{border:0;border-top:1px solid var(--line);margin:6px 2px}
.kb-mt{font-size:11px;color:var(--muted);padding:4px 8px}
.kb-mi{display:flex;align-items:center;gap:9px;border:0;background:none;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px}
.kb-mi:hover{background:var(--sunken)}
.kb-mi-d,.kb-mi-c{width:14px;height:14px;flex:none;border:1.5px solid var(--muted);border-radius:50%}
.kb-mi-c{border-radius:4px}
.kb-mi[aria-checked="true"] .kb-mi-d{border:4px solid var(--primary)}
.kb-mi[aria-checked="true"] .kb-mi-c{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--surface)}

/* Tablero: columnas con scroll propio; la página no se desplaza */
.kb-picker{display:none}
.kb-tablero{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;min-height:320px;padding-bottom:4px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.kb-col{--w:276px;flex:0 0 var(--w);width:var(--w);display:flex;flex-direction:column;min-height:0;background:var(--sunken);border-radius:14px;border:1px solid var(--line);scroll-snap-align:start;transition:flex-basis .2s,width .2s,opacity .2s}
.kb-tablero[data-modo="compacta"] .kb-col{--w:252px}
.kb-tablero[data-modo="mini"] .kb-col{--w:236px}
.kb-cab{padding:10px 12px 8px;border-top:3px solid var(--c);border-radius:13px 13px 0 0;background:var(--surface);border-bottom:1px solid var(--line);flex:none}
.kb-c1{display:flex;align-items:baseline;gap:6px;min-width:0}
.kb-c1 b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-g{font-size:10.5px;font-weight:700;color:var(--c);white-space:nowrap}
.kb-n{margin-left:auto;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border-radius:999px;padding:1px 8px}
.kb-c2{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:2px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;min-height:15px}
.kb-c-stop{color:var(--bad);font-weight:700}
.kb-lista{flex:1;min-height:0;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}
.kb-vacia{margin:18px 0;text-align:center;color:var(--muted);font-size:12.5px}
.kb-mas{align-self:center}
.kb-col.apagada{--w:150px;opacity:.6}
.kb-col.apagada .kb-c2{display:none}
.kb-col.pulso .kb-cab{animation:kbPulso 1s ease}
@keyframes kbPulso{0%{box-shadow:inset 0 0 0 0 var(--c)}30%{box-shadow:inset 0 -40px 0 0 color-mix(in srgb,var(--c) 18%,transparent)}100%{box-shadow:inset 0 0 0 0 transparent}}

/* Tarjetas */
.kb-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:11px;cursor:pointer;overflow:hidden;flex:none;transition:border-color .12s,box-shadow .12s}
.kb-card:hover{border-color:color-mix(in srgb,var(--c) 55%,var(--line));box-shadow:0 4px 14px rgba(23,32,51,.08)}
.kb-card:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.kb-card.stop{border-color:color-mix(in srgb,var(--bad) 55%,transparent);background:linear-gradient(var(--bad-soft),var(--bad-soft)) padding-box;box-shadow:inset 3px 0 0 var(--bad)}
.kb-cov{position:relative;aspect-ratio:4/3;background:var(--head) center/cover no-repeat;transition:aspect-ratio .2s;border-bottom:1px solid var(--line)}
.kb-cov:not(.lista):not(.sin){background-image:linear-gradient(100deg,var(--head) 30%,var(--sunken) 50%,var(--head) 70%);background-size:200% 100%;animation:kbBrillo 1.4s linear infinite}
@keyframes kbBrillo{to{background-position:-200% 0}}
.kb-cov.sin{display:grid;place-items:center;aspect-ratio:16/6;color:var(--muted);font-size:11.5px}
.kb-cinta{position:absolute;top:8px;left:8px;font-size:10px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:5px;background:#c2410c;color:#fff}
.kb-cinta.stop{left:auto;right:8px;background:var(--bad)}
.kb-cb{padding:8px 10px 9px;display:flex;flex-direction:column;gap:3px;min-width:0}
.kb-l1{display:flex;align-items:center;gap:5px;min-width:0}
.kb-l1 .tag{font-size:10px;padding:1px 6px}
.kb-l1 .code{font-size:11.5px}
.kb-l1 .kb-esp{flex:1}
.kb-cb .kb-l1{flex-wrap:wrap;row-gap:2px}
.kb-nom{font-size:13px;line-height:1.3;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.kb-ctx{display:flex;gap:6px;font-size:12px;color:var(--ink2);min-width:0}
.kb-cli{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.kb-und{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}
.kb-und::before{content:"· "}
.kb-st{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-pie{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11.5px;color:var(--muted);min-width:0}
.kb-as{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.kb-ord{font-variant-numeric:tabular-nums}
.kb-t{display:inline-flex;align-items:center;gap:3px;flex:none;font-variant-numeric:tabular-nums;color:var(--ink2);font-weight:600}
.kb-t svg,.kb-ent svg{width:12px;height:12px}
.kb-ent{display:inline-flex;align-items:center;gap:3px;flex:none;font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.kb-ent.warn{color:var(--warn)}.kb-ent.bad{color:var(--bad)}
.kb-p{flex:none;font-size:10px;font-weight:800;padding:1px 6px;border-radius:5px;background:var(--warn-soft);color:var(--warn)}
.kb-p.ex{background:#c2410c;color:#fff}
.kb-p.prueba{background:var(--mag-soft);color:var(--mag)}
.kb-stop{flex:none;font-size:10px;font-weight:800;letter-spacing:.03em;padding:1px 6px;border-radius:5px;background:var(--bad);color:#fff}
.kb-hl{background:color-mix(in srgb,#facc15 55%,transparent);color:inherit;border-radius:3px;padding:0 1px}
/* Compacta: sin imagen, más junta */
.kb-tablero[data-modo="compacta"] .kb-lista{gap:6px}
.kb-tablero[data-modo="compacta"] .kb-cb{padding:7px 9px}
/* Mini: una línea por ficha */
.kb-card.mini{border-radius:8px}
.kb-card.mini .kb-l1{padding:6px 8px;gap:6px}
.kb-card.mini .kb-nom{flex:1;min-width:0;font-size:12px;font-weight:600;-webkit-line-clamp:1}
.kb-card.mini .kb-t{font-size:11px;font-weight:500;color:var(--muted)}
.kb-card.mini .kb-t svg{display:none}
.kb-tablero[data-modo="mini"] .kb-lista{gap:4px;padding:6px}
.kb-dot{width:7px;height:7px;border-radius:50%;background:var(--warn);flex:none}
.kb-dot.ex{background:#c2410c}

/* Teléfono: selector de columna y una columna a la vez (deslizar para cambiar) */
@media (max-width:720px){
  .kb-resumen{grid-template-columns:auto minmax(0,1fr);gap:10px 14px;padding:10px 12px}
  .kb-tot b{font-size:22px}
  .kb-leyenda{display:none}
  .kb-cuello{grid-column:1/-1;flex-wrap:wrap}
  .kb-cu{flex:1 1 130px}
  .kb-alertas{flex-direction:row;align-items:center;flex-basis:100%}
  .kb-busca.search{flex:1 1 100%;min-width:0;max-width:none;order:-2}
  .kb-busca .input{width:100%;min-width:0}
  .kb-vivo{margin-left:auto}
  .kb-vivo-t{display:none}
  .kb-panel .seg{display:flex;width:100%}
  .kb-panel .seg button{flex:1;padding-inline:6px}
  .kb-panel .kb-pf{flex-basis:100%}
  .kb-esp{display:none}
  .kb-barra{gap:6px;padding:0 1px}
  .kb-info{display:none}
  .kb-nres{margin-right:auto}
  .kb-picker{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0 2px;margin:0 -2px}
  .kb-picker::-webkit-scrollbar{display:none}
  .kb-pk{flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;color:var(--ink2);cursor:pointer;white-space:nowrap}
  .kb-pk i{width:8px;height:8px;border-radius:50%;background:var(--c)}
  .kb-pk b{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700}
  .kb-pk[aria-selected="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--surface));color:var(--ink)}
  .kb-pk[aria-selected="true"] b{color:var(--c)}
  .kb-tablero{overflow:hidden;scroll-snap-type:none}
  .kb-col,.kb-col.apagada{display:none;--w:100%;flex:1 1 auto;opacity:1}
  .kb-col[data-movil="true"]{display:flex}
  .kb-pf .input{min-width:0;width:100%}
}
@media (prefers-reduced-motion:reduce){.kb-cov:not(.lista):not(.sin){animation:none}.kb-col.pulso .kb-cab{animation:none}.kb-vivo i::after{animation:none}.kb-tablero[data-urg="brillo"] .kb-card.u-roja,.kb-tablero[data-urg="brillo"] .kb-card.u-ambar{animation:none}}

/* Columnas: escoger cuáles ver (menú) y aviso discreto de las ocultas */
.kb-cbtn{position:relative}
.kb-cbtn.on{color:var(--primary)}
.kb-cbtn.on::after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.kb-ocu{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);white-space:nowrap;padding:2px 4px 2px 10px;border:1px dashed var(--line);border-radius:999px}
.kb-ocu[hidden]{display:none}
.kb-ocu button{border:0;background:none;padding:2px 4px;font:inherit;color:inherit;cursor:pointer;border-radius:6px}
.kb-ocu-t:hover{color:var(--ink);text-decoration:underline}
.kb-ocu-m{color:var(--primary)!important;font-weight:700!important}
.kb-ocu-m:hover{background:var(--primary-soft)!important}
.kb-mcols{padding:6px 6px 4px}
.kb-mc-cab{flex:none;display:flex;align-items:center;justify-content:space-between;padding-right:8px}
.kb-mc-n{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.kb-mc-lista{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
.kb-mc-fila{display:flex;align-items:center;border-radius:8px}
.kb-mc-fila:hover{background:var(--sunken)}
.kb-mc{flex:1;min-width:0;padding:6px 8px}
.kb-mc:hover{background:none}
.kb-mc:disabled{cursor:not-allowed;opacity:.75}
.kb-mc-d{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}
.kb-mc-nom{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-mc-cnt{font-size:11.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.kb-mc[aria-checked="false"] .kb-mc-nom{color:var(--muted)}
.kb-mc[aria-checked="false"] .kb-mc-d{opacity:.35}
.kb-mc-solo{border:0;background:none;font-size:11px;font-weight:600;color:var(--primary);padding:3px 8px;margin-right:2px;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .12s}
.kb-mc-fila:hover .kb-mc-solo,.kb-mc-solo:focus-visible{opacity:1}
.kb-mc-solo:hover{background:var(--primary-soft)}
.kb-mc-pie{flex:none;display:flex;justify-content:space-between;gap:6px;border-top:1px solid var(--line);margin-top:4px;padding-top:5px}
.kb-mc-pie .btn{display:inline-flex;align-items:center;gap:5px}
.kb-mc-pie svg{width:13px;height:13px}
@media (max-width:1500px){.kb-ocu-w{display:none}}
.kb-ley.oculta{opacity:.55}.kb-ley.oculta span{text-decoration:line-through}
@media (hover:none){.kb-mc-solo{opacity:1}}

/* Pantalla completa: el tablero tapa menú y cabecera y usa todo el espacio */
html:has(.kb.kb-max){overflow:hidden}
.kb.kb-max{position:fixed;inset:0;z-index:1200;background:var(--bg,var(--sunken));padding:12px 16px 12px;gap:8px;overflow:hidden}
.kb.kb-max .kb-resumen{padding:7px 12px}
.kb.kb-max .kb-tablero{flex:1;min-height:0;height:auto}
.kb.kb-max .kb-col{--w:296px;flex:1 0 var(--w);max-width:460px}
.kb.kb-max .kb-col.apagada{--w:150px;flex-grow:0}
.kb.kb-max .kb-tablero[data-modo="compacta"] .kb-col{--w:268px}
.kb.kb-max .kb-tablero[data-modo="mini"] .kb-col{--w:248px}
.kb-maxbtn[aria-pressed="true"]{color:var(--primary)}
@media (max-width:720px){
  .kb-maxbtn{display:none}
  .kb-barra .kb-ocu{display:none}
  .kb-pk-ocu{border-style:dashed;color:var(--muted);font-weight:500}
  .kb.kb-max .kb-col{--w:100%;flex:1 1 auto;max-width:none}
  .kb-ocu{padding-left:8px}
}

/* ===== Apariencia: tono por columna y señal de urgentes ===== */
.kb-tablero[data-tinte="suave"] .kb-card{background:color-mix(in srgb,var(--c) 7%,var(--surface));border-color:color-mix(in srgb,var(--c) 22%,var(--line))}
.kb-tablero[data-tinte="suave"] .kb-card .kb-cov{border-bottom-color:color-mix(in srgb,var(--c) 22%,var(--line))}
.kb-tablero[data-tinte="suave"] .kb-col{background:color-mix(in srgb,var(--c) 4%,var(--sunken))}
.kb-tablero[data-tinte="franja"] .kb-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);z-index:1}
.kb-tablero[data-tinte="franja"] .kb-card .kb-cb,.kb-tablero[data-tinte="franja"] .kb-card.mini .kb-l1{padding-left:12px}
.kb-tablero .kb-card.stop::before{background:var(--bad)}
/* Señal: borde + etiqueta */
.kb-tablero[data-urg="borde"] .kb-card.u-roja{border-color:color-mix(in srgb,var(--bad) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 45%,transparent)}
.kb-tablero[data-urg="borde"] .kb-card.u-ambar{border-color:color-mix(in srgb,var(--warn) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--warn) 30%,transparent)}
.kb-tablero[data-urg="borde"] .kb-card.stop{box-shadow:inset 3px 0 0 var(--bad),0 0 0 1px color-mix(in srgb,var(--bad) 45%,transparent)}
/* Señal: brillo suave que late */
.kb-tablero[data-urg="brillo"] .kb-card.u-roja{--g:var(--bad);animation:kbLate 2.6s ease-in-out infinite;border-color:color-mix(in srgb,var(--bad) 50%,var(--line))}
.kb-tablero[data-urg="brillo"] .kb-card.u-ambar{--g:var(--warn);animation:kbLate 3.2s ease-in-out infinite;border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
@keyframes kbLate{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--g) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--g) 22%,transparent),0 0 14px color-mix(in srgb,var(--g) 30%,transparent)}}
.kb-u{display:inline-grid;place-items:center;flex:none;width:20px;height:17px;border-radius:5px;background:var(--bad);color:#fff}
.kb-u svg{width:11px;height:11px;stroke-width:2.2}
.kb-u.dot{width:7px;height:7px;padding:0;border-radius:50%;background:var(--bad)}

/* Menú de apariencia */
.kb-map{gap:2px}
.kb-ap-ops{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 4px 6px}
.kb-ap-op{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 6px 6px;font-size:11.5px;font-weight:600;color:var(--ink2);cursor:pointer;text-align:center}
.kb-ap-op:hover{border-color:var(--muted)}
.kb-ap-op[aria-checked="true"]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.kb-ap-m{display:flex;gap:3px;height:22px;align-items:stretch}
.kb-ap-m i{display:block;width:16px;border-radius:4px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
.kb-ap-m.t-suave i:nth-child(1){background:color-mix(in srgb,#2563eb 14%,var(--surface))}
.kb-ap-m.t-suave i:nth-child(2){background:color-mix(in srgb,#db2777 14%,var(--surface))}
.kb-ap-m.t-suave i:nth-child(3){background:color-mix(in srgb,#ea580c 14%,var(--surface))}
.kb-ap-m.t-franja i::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2563eb}
.kb-ap-m.t-franja i:nth-child(2)::before{background:#db2777}.kb-ap-m.t-franja i:nth-child(3)::before{background:#ea580c}
.kb-ap-m[class*="u-"] i{width:38px}
.kb-ap-m.u-borde i{border:1.5px solid var(--bad);box-shadow:0 0 0 1px color-mix(in srgb,var(--bad) 35%,transparent)}
.kb-ap-m.u-borde i::after,.kb-ap-m.u-chip i::after{content:"";position:absolute;left:4px;top:4px;width:14px;height:5px;border-radius:2px;background:var(--bad)}
.kb-ap-m.u-brillo i{border-color:color-mix(in srgb,var(--bad) 50%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--bad) 20%,transparent),0 0 9px color-mix(in srgb,var(--bad) 35%,transparent)}
.kb-ap-nota{font-size:10.5px;color:var(--muted);align-self:center}

/* Menú de descargas */
.kb-dl{align-items:flex-start;gap:10px;padding:8px}
.kb-dl:disabled{opacity:.5;cursor:not-allowed}
.kb-dl-i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--sunken);color:var(--primary);flex:none}
.kb-dl-i svg{width:16px;height:16px}
.kb-dl-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.kb-dl-t b{font-size:13px}
.kb-dl-t small{font-size:11px;color:var(--muted);line-height:1.3}

/* Ventana «Descargar la lista» */
.kb-dlg .mb{display:flex;flex-direction:column;gap:10px}
.kb-xcab{display:flex;align-items:center;gap:10px}
.kb-xcab>small{font-size:11.5px;font-weight:700;color:var(--muted);min-width:64px}
.kb-xfmt button{display:inline-flex;align-items:center;gap:6px}
.kb-xfmt svg{width:14px;height:14px}
.kb-xn{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.kb-xcab .grow{flex:1}
.kb-xlink{border:0;background:none;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:5px}
.kb-xlink:hover{background:var(--primary-soft)}
.kb-xalc{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--ink2);background:var(--sunken);border-radius:9px;padding:7px 10px}
.kb-xalc svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--muted)}
.kb-xlista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.kb-xc{display:flex;align-items:center;gap:7px;font-size:12.5px;padding:4px 2px;cursor:pointer;min-width:0}
.kb-xc span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kb-xc input{accent-color:var(--primary);flex:none}
.kb-xnota{font-size:11.5px;color:var(--warn);min-height:0}
.kb-xnota:empty{display:none}
@media (max-width:620px){.kb-xlista{grid-template-columns:1fr 1fr}}

/* Informe práctico: vista previa a escala */
.kb-inf-caja{display:flex;justify-content:center;min-width:0}
.kb-inf-marco{position:relative;overflow:hidden;border-radius:6px;box-shadow:0 0 0 1px var(--line),0 10px 30px rgba(23,32,51,.14);background:#fff;flex:none}
.kb-inf-fr{position:absolute;left:0;top:0;width:1123px;height:794px;border:0;transform-origin:0 0;background:#fff}
.kb-inf-ayuda{margin-right:auto;font-size:11.5px;color:var(--muted);align-self:center}
@media (max-width:720px){.kb-inf-ayuda{display:none}}

/* Resumen «Íconos»: una píldora por área con su ícono y el número (nombre en la ayuda al pasar) */
.kb-iconos{display:flex;flex-wrap:wrap;gap:6px;min-width:0;align-content:center}
.kb-ip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 4px;border:1px solid color-mix(in srgb,var(--c) 26%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--c) 9%,var(--surface));cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.kb-ip:hover{border-color:var(--c);transform:translateY(-1px);box-shadow:0 3px 10px color-mix(in srgb,var(--c) 22%,transparent)}
.kb-ip:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.kb-ip-i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;flex:none}
.kb-ip-i svg{width:13px;height:13px;stroke-width:2}
.kb-ip b{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);min-width:8px;text-align:center}
.kb-ip.max{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--c)}
.kb-ip.cero{opacity:.42;background:var(--surface);border-color:var(--line)}
.kb-ip.cero .kb-ip-i{background:color-mix(in srgb,var(--c) 55%,var(--muted))}
.kb-ip.oculta{border-style:dashed;opacity:.5}
.kb-ip.oculta b{text-decoration:line-through}
.kb-ap-m.r-barra{flex-direction:column;justify-content:center;gap:3px;width:52px}
.kb-ap-m.r-barra i{width:100%;height:5px;border:0;border-radius:2px;background:linear-gradient(90deg,#2563eb 0 30%,#db2777 30% 55%,#ea580c 55% 85%,#059669 85%)}
.kb-ap-m.r-barra i+i{height:3px;width:80%;background:var(--line)}
.kb-ap-m.r-barra i+i+i{width:60%}
.kb-ap-m.r-iconos{gap:3px;align-items:center}
.kb-ap-m.r-iconos i{width:18px;height:18px;border:0;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center}
.kb-ap-m.r-iconos svg{width:11px;height:11px;stroke-width:2.2}
@media (max-width:720px){
  .kb-iconos{grid-column:1/-1;order:3;gap:5px}
  .kb-ip{height:28px;padding-right:8px;gap:4px}
}

/* Apariencia: el panel nunca se desborda (baja por dentro) y queda más compacto */
.kb-menu{overflow-y:auto;overscroll-behavior:contain}
.kb-menu.kb-map{width:320px;padding:8px;gap:2px}
.kb-map .kb-mt{padding:6px 6px 4px;font-weight:600;letter-spacing:.01em}
.kb-map .kb-ap-ops{gap:6px;padding:0 2px 6px}
.kb-map .kb-ap-op{padding:8px 6px 7px;border-radius:11px;font-size:11.5px;line-height:1.2;transition:border-color .15s,background .15s}
.kb-map .kb-ap-op span:last-child{white-space:nowrap}
.kb-map .kb-mi{margin-top:2px}
.kb-map .kb-mc-pie{border-top:1px solid var(--line);margin-top:6px;padding-top:8px}

/* Toque neón: la línea de color de cada columna (y su franja en tarjetas) con un resplandor suave */
.kb-cab{box-shadow:0 -1px 0 0 var(--c), 0 -6px 14px -6px color-mix(in srgb,var(--c) 75%,transparent)}
.kb-col{box-shadow:0 0 0 0 transparent}
.kb-col:hover .kb-cab{box-shadow:0 -1px 0 0 var(--c), 0 -8px 20px -6px color-mix(in srgb,var(--c) 90%,transparent)}
:root[data-theme="dark"] .kb-cab{box-shadow:0 -1px 0 0 var(--c), 0 -8px 22px -6px var(--c), 0 0 1px var(--c)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kb-cab{box-shadow:0 -1px 0 0 var(--c), 0 -8px 22px -6px var(--c), 0 0 1px var(--c)}}
.kb-tablero[data-tinte="franja"] .kb-card::before{box-shadow:0 0 8px color-mix(in srgb,var(--c) 80%,transparent)}
:root[data-theme="dark"] .kb-cab{box-shadow:0 -2px 0 0 var(--c), 0 -10px 28px -6px var(--c), 0 0 2px var(--c)}
:root[data-theme="dark"] .kb-seg{box-shadow:0 0 10px -1px color-mix(in srgb,var(--c) 85%,transparent)}
.kb-seg{box-shadow:0 0 8px -2px color-mix(in srgb,var(--c) 70%,transparent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kb-seg{box-shadow:0 0 10px -1px color-mix(in srgb,var(--c) 85%,transparent)}}
