/* NEIX Carga API — piezas propias (sobre los tokens --tbl-* y los componentes de app.css). Sin estilos inline (CSP). */
.cg-rep{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--tbl-line);background:var(--tbl-surface-2)}
.cg-rep b{font-size:14px}
.cg-rep label{display:flex;align-items:center;gap:6px;font-size:13.5px}
.cg-rep .tbl-input--sm{width:76px}
.cg-rep__nota{font-size:12px;color:var(--tbl-muted)}
.cg-sel td{background:var(--tbl-accent-soft)}
.cg-sub td{background:var(--tbl-surface-2);font-size:12.3px}
.cg-sub td:first-child{padding-left:30px}
.cg-flecha{border:0;background:none;color:var(--tbl-accent);font-weight:700;cursor:pointer;padding:0 4px;font-size:13px}
.cg-msg{white-space:normal!important;max-width:460px;color:var(--tbl-ink-soft);font-size:12.3px}
.cg-num{text-align:right;font-variant-numeric:tabular-nums}
.cg-mas{color:var(--tbl-ok)}.cg-menos{color:var(--tbl-danger)}
.cg-gris{color:var(--tbl-muted)}
.cg-sql{font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;background:var(--tbl-surface-3);padding:10px 12px;border-radius:var(--tbl-r-sm);margin:8px 0 0}
.cg-vivo{display:inline-flex;align-items:center;gap:6px}
.cg-vivo::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tbl-accent);animation:cg-lat 1.2s infinite}
@keyframes cg-lat{50%{opacity:.25}}
.cg-barra{height:6px;border-radius:3px;background:var(--tbl-surface-3);overflow:hidden;min-width:80px}
.cg-barra span{display:block;height:100%;background:var(--tbl-accent-fill)}
.cg-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px}
@media (max-width:1100px){.cg-grid2{grid-template-columns:minmax(0,1fr)}}
.cg-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.cg-tools h1{font-size:20px;font-weight:700;letter-spacing:-.018em;margin-right:auto}
.cg-sep{height:14px}
.cg-grid3{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,5fr);gap:12px;padding:6px 0}
@media (max-width:1300px){.cg-grid3{grid-template-columns:minmax(0,1fr)}}
.cg-circuito td{vertical-align:top}
.cg-circuito td .cg-msg{margin-top:3px}
.cg-ej{margin-bottom:14px}
.cg-ej__cuerpo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 16px}
@media (max-width:1100px){.cg-ej__cuerpo{grid-template-columns:minmax(0,1fr)}}
.cg-ej__paso{border:1px solid var(--tbl-border);border-radius:var(--tbl-r);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.cg-ej__paso>label{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}
.cg-ej__op{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}
.cg-ej__op label{display:flex;align-items:center;gap:6px}
.cg-ej__op .tbl-input--sm{width:auto;min-width:76px}
.cg-ej__acc{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px}
.cg-ej__scripts{display:flex;flex-direction:column;gap:6px;font-size:13px}
.cg-ej__sc{display:grid;grid-template-columns:minmax(150px,auto) auto 1fr;align-items:center;gap:8px}
.cg-ej__sc label{display:flex;align-items:center;gap:6px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}
.cg-ej__sc .tbl-input--sm{height:28px;min-width:0;width:auto}

/* ── Tareas ── */
.tk-aviso{margin-bottom:14px;padding:10px 14px;border-radius:var(--tbl-r);background:var(--tbl-warn-bg);color:var(--tbl-warn);font-size:13px;font-weight:600}
.tk-tabla td{vertical-align:top}
.tk-inactiva td:not(.tk-acciones){opacity:.55}
.tk-tipo{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:var(--tbl-surface-2);border:1px solid var(--tbl-border);color:var(--tbl-ink-soft)}
.tk-tabla code{font-family:ui-monospace,Consolas,monospace;font-size:12.3px}
.tk-arg{margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--tbl-surface-2)}
.tk-hora{display:inline-block;margin:0 4px 3px 0;padding:1px 7px;border-radius:999px;border:1px solid var(--tbl-border-2);font-size:12.3px;font-variant-numeric:tabular-nums}
.tk-acciones{white-space:nowrap;text-align:right}
.tk-acciones .tbl-link{margin-left:10px}
.tk-correr{display:inline-flex;gap:6px;align-items:center}
.tk-correr .tbl-input--sm{height:30px}
.tk-ed{margin-bottom:14px}
.tk-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 14px;padding:14px 16px}
.tk-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.tk-f--2{grid-column:span 2}
.tk-f--3{grid-column:span 3}
.tk-f--chk{flex-direction:row;align-items:center;gap:8px;font-weight:600;font-size:13.5px;align-self:end;height:36px}
.tk-dias{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;min-height:36px;align-items:center}
.tk-dias label{display:flex;align-items:center;gap:4px}
.tk-acc{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px}
.tk-acc .cg-rep__nota{margin-right:auto}
@media (max-width:900px){.tk-form{grid-template-columns:1fr 1fr}.tk-f--2,.tk-f--3{grid-column:1/-1}}
@media (max-width:560px){.tk-form{grid-template-columns:1fr}}

/* KPI teñido según cómo terminó lo que muestra (Circuito) */
.tbl-kpi--ok{background:var(--tbl-ok-bg);border-color:var(--tbl-ok);box-shadow:inset 4px 0 0 var(--tbl-ok)}
.tbl-kpi--alerta{background:var(--tbl-warn-bg);border-color:var(--tbl-warn);box-shadow:inset 4px 0 0 var(--tbl-warn)}
.tbl-kpi--mal{background:var(--tbl-danger-bg);border-color:var(--tbl-danger);box-shadow:inset 4px 0 0 var(--tbl-danger)}
.tbl-kpi--ok .tbl-kpi__v{color:var(--tbl-ok)}.tbl-kpi--alerta .tbl-kpi__v{color:var(--tbl-warn)}.tbl-kpi--mal .tbl-kpi__v{color:var(--tbl-danger)}
.tk-tramo{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:var(--tbl-accent-fill);color:#fff;font-size:10.5px;font-weight:700;vertical-align:1px}
/* Agenda: que Correr / Editar se vean siempre (columna fija a la derecha) y que los textos largos bajen de renglón */
.tk-tabla td{white-space:normal}
.tk-tabla td:first-child{min-width:220px}
.tk-tabla th:last-child,.tk-tabla td.tk-acciones{position:sticky;right:0;background:var(--tbl-surface);box-shadow:-8px 0 8px -8px rgba(0,0,0,.18);z-index:1}
.tk-tabla thead th:last-child{z-index:2}
.tk-acciones .tk-correr{flex-wrap:wrap;justify-content:flex-end}
/* Cadena nocturna */
.tk-num{white-space:nowrap;width:44px}
.tk-pos{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--tbl-accent-fill);color:#fff;font-size:11.5px;font-weight:700}
.tk-asa{cursor:grab;color:var(--tbl-muted);margin-right:6px;font-size:14px;user-select:none}
.tk-tabla tr[draggable=true]{cursor:grab}
.tk-mov td{opacity:.45;background:var(--tbl-surface-2)}
.tk-frena{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--tbl-warn-bg);color:var(--tbl-warn)}
.tk-hora--re{opacity:.6}
.tk-num{width:82px}
.tk-flechas{display:inline-flex;flex-direction:column;margin-left:6px;vertical-align:middle}
.tk-flecha{border:0;background:none;color:var(--tbl-muted);font-size:9px;line-height:10px;padding:1px 3px;cursor:pointer}
.tk-flecha:hover:not(:disabled){color:var(--tbl-accent)}
.tk-flecha:disabled{opacity:.25;cursor:default}
/* acciones de la agenda: el selector de modo no empuja los botones fuera de la tarjeta */
.tk-tabla td.tk-acciones{min-width:250px}
.tk-acciones .tk-correr{display:inline-flex;flex-wrap:nowrap;gap:6px;align-items:center}
.tk-acciones .tk-correr select{width:92px;min-width:0}

/* ── Métricas ── */
.mt-c1{background:var(--tbl-cat-1)}.mt-c2{background:var(--tbl-cat-2)}.mt-c3{background:var(--tbl-cat-3)}.mt-c4{background:var(--tbl-cat-4)}.mt-c5{background:var(--tbl-cat-5)}
.mt-c6{background:var(--tbl-cat-6)}.mt-c7{background:var(--tbl-cat-7)}.mt-c8{background:var(--tbl-cat-8)}.mt-c9{background:var(--tbl-cat-9)}.mt-c10{background:var(--tbl-cat-10)}
.mt-f1{fill:var(--tbl-cat-1)}.mt-f2{fill:var(--tbl-cat-2)}.mt-f3{fill:var(--tbl-cat-3)}.mt-f4{fill:var(--tbl-cat-4)}.mt-f5{fill:var(--tbl-cat-5)}
.mt-f6{fill:var(--tbl-cat-6)}.mt-f7{fill:var(--tbl-cat-7)}.mt-f8{fill:var(--tbl-cat-8)}.mt-f9{fill:var(--tbl-cat-9)}.mt-f10{fill:var(--tbl-cat-10)}
.mt-s1{stroke:var(--tbl-cat-1)}.mt-s2{stroke:var(--tbl-cat-2)}.mt-s3{stroke:var(--tbl-cat-3)}.mt-s4{stroke:var(--tbl-cat-4)}.mt-s5{stroke:var(--tbl-cat-5)}
.mt-s6{stroke:var(--tbl-cat-6)}.mt-s7{stroke:var(--tbl-cat-7)}.mt-s8{stroke:var(--tbl-cat-8)}.mt-s9{stroke:var(--tbl-cat-9)}.mt-s10{stroke:var(--tbl-cat-10)}
.mt-graf{padding:6px 0 0}
.ops-card__cuerpo>div>.ops-ley{margin:0 0 6px}
.mt-panel{min-width:340px;max-height:460px;left:auto;right:0}
.mt-buscar{width:100%;margin:2px 0 6px}
.mt-grupos{display:flex;flex-wrap:wrap;gap:6px;padding:4px 2px 8px;border-bottom:1px solid var(--tbl-line);margin-bottom:4px}
.mt-chip{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--tbl-border-2);background:var(--tbl-surface);color:var(--tbl-ink-soft);cursor:pointer}
.mt-chip--on{background:var(--tbl-accent-soft);border-color:var(--tbl-accent);color:var(--tbl-accent);font-weight:600}
.mt-chip--medio{border-color:var(--tbl-accent);border-style:dashed;color:var(--tbl-accent)}
.mt-grupo-t{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tbl-muted);padding:8px 6px 2px}
.mt-mapa__scroll{overflow-x:auto;padding-bottom:4px}
.mt-mapa{display:grid;gap:3px;align-items:center;min-width:520px}
.mt-mapa__t{border:0;background:none;text-align:right;padding:0 8px 0 0;font-size:12px;color:var(--tbl-ink-soft);cursor:pointer;white-space:nowrap}
.mt-mapa__t:hover{color:var(--tbl-accent)}
.mt-mapa__d{font-size:10.5px;color:var(--tbl-muted);white-space:nowrap;overflow:visible}
.mt-celda{display:block;height:16px;border-radius:3px}
.mt-celda--ok{background:var(--tbl-surface-3)}
.mt-celda--nada{background:var(--tbl-surface-3)}
.mt-celda--vig{background:var(--tbl-cat-6)}
.mt-celda--mal{background:var(--tbl-danger)}
.mt-celda--cero{background:var(--tbl-cat-1)}
.mt-celda--sin{background:repeating-linear-gradient(45deg,var(--tbl-border-2) 0 2px,transparent 2px 5px)}
.mt-celda--vacio{background:transparent;border:1px dashed var(--tbl-line)}
.mt-fase{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:28px 0 12px;padding-top:16px;border-top:2px solid var(--tbl-border-2)}
.mt-filtros{margin-top:-4px}
