/* ===== SLA — tempo de resolução de link loss (modules/sla.js) ===== */

/* KPIs do topo */
.sla-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.sla-kpi{background:#fff;border:1px solid var(--linha);border-radius:var(--r);box-shadow:var(--sombra);padding:13px 16px;border-left:4px solid var(--linha);min-width:0}
.sla-kpi b{display:block;font-size:24px;font-weight:800;color:var(--tinta);line-height:1.1;font-variant-numeric:tabular-nums}
.sla-kpi small{display:block;margin-top:4px;font-size:11px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.03em;line-height:1.25;min-height:2.5em}
.sla-kpi.bad{border-left-color:var(--vermelho)} .sla-kpi.bad b{color:var(--vermelho)}
.sla-kpi.warn{border-left-color:var(--verde)} .sla-kpi.warn b{color:var(--verde)}
.sla-kpi.energia{border-left-color:var(--amber)} .sla-kpi.energia b{color:var(--amber)}
body.fundo-rede .sla-kpi{box-shadow:0 10px 30px rgba(0,0,0,.28)}

/* blocos */
.sla-bloco{background:#fff;border:1px solid var(--linha);border-radius:var(--r);box-shadow:var(--sombra);overflow:hidden;margin-bottom:16px}
body.fundo-rede .sla-bloco{box-shadow:0 10px 30px rgba(0,0,0,.28)}
.sla-bh{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--linha);background:#FBFCFE;flex-wrap:wrap}
.sla-bh h3{font-size:14px;font-weight:800;color:var(--tinta)}
.sla-bh .n{font-size:12px;font-weight:800;color:var(--suave);background:var(--papel);border-radius:99px;padding:2px 9px;min-width:26px;text-align:center}
.sla-bh .tag{font-size:11.5px;color:var(--suave)}
.sla-bh .tag b{font-weight:700;color:var(--tinta)}
.sla-stripe{width:4px;height:18px;border-radius:2px;background:var(--suave)}
.sla-stripe.loss{background:var(--vermelho)} .sla-stripe.ok{background:var(--verde)}
.sla-stripe.rec{background:var(--amber)} .sla-stripe.hist{background:var(--azul-esc)}
.sla-filtros{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sla-filtros select,.sla-filtros input{border:1px solid var(--linha);border-radius:9px;padding:7px 10px;font-size:12.5px;color:var(--tinta);background:#fff;outline:none}
.sla-filtros input{min-width:210px}
.sla-filtros select:focus,.sla-filtros input:focus{border-color:var(--azul);box-shadow:0 0 0 3px rgba(10,111,184,.12)}
.sla-lbl{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--suave);font-weight:600}
.sla-resumo{font-size:12px;color:var(--suave);font-weight:600}

/* legenda dos dois botões */
.sla-legenda{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:11px 16px;background:#F7FAFD;border-bottom:1px solid var(--linha);font-size:12px;color:var(--suave);line-height:1.45}
.sla-legenda b{color:var(--tinta);font-weight:800}
@media(max-width:900px){.sla-legenda{grid-template-columns:1fr}}

/* linhas de "em andamento" e "aguardando classificação" */
.sla-row{display:grid;grid-template-columns:minmax(190px,1.6fr) minmax(210px,1.5fr) 140px auto;gap:12px;align-items:center;padding:11px 16px;border-top:1px solid #F2F5F9;font-size:13px}
.sla-row:first-child{border-top:none}
.sla-row.loss{box-shadow:inset 3px 0 0 var(--vermelho)}
.sla-row.ok{background:#EAF8F1;box-shadow:inset 3px 0 0 var(--verde)}
.sla-cli{font-weight:800;color:var(--tinta);text-transform:uppercase;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sla-cli small{display:block;font-size:11px;font-weight:500;color:var(--suave);text-transform:none;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sla-quando{font-size:12px;color:var(--suave);min-width:0}
.sla-quando b{font-weight:700;color:var(--amber);font-size:11px}
.sla-sig{display:block;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--azul-esc);font-weight:600}
.sla-palpite{display:block;margin-top:3px;font-size:11.5px;font-weight:600;padding:2px 0}
.sla-palpite::before{content:"↳ "}
.sla-palpite.energia{color:#8A5A00} .sla-palpite.ruim{color:var(--vermelho)}
.sla-tempo{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;text-align:right;line-height:1.1}
.sla-tempo small{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;opacity:.75;margin-top:2px}
.sla-tempo.loss{color:var(--vermelho)} .sla-tempo.ok{color:var(--verde)}
.sla-acts{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.sla-btn{padding:7px 12px;border-radius:9px;border:1px solid var(--linha);background:#fff;font-size:12.5px;font-weight:700;color:var(--tinta);cursor:pointer;white-space:nowrap}
.sla-btn:hover{border-color:var(--azul)}
.sla-btn.ghost{color:var(--azul-esc)}
.sla-btn.tec{background:var(--azul-esc);border-color:var(--azul-esc);color:#fff}
.sla-btn.falso{background:var(--amber-bg);border-color:#F0C98A;color:#8A5A00}
.sla-btn.tec:hover,.sla-btn.falso:hover{filter:brightness(1.06)}
.sla-vazio{padding:22px 16px;text-align:center;color:var(--suave);font-size:13px}
/* ===== "Voltaram, mas o sinal não normalizou": agrupamento por cliente/porta ===== */
.sla-agrupar{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--azul-esc);cursor:pointer;user-select:none}
.sla-agrupar input{position:absolute;opacity:0;width:0;height:0}
.sla-agrupar i{width:34px;height:18px;border-radius:99px;background:#C3CCD6;position:relative;transition:.15s;flex:none}
.sla-agrupar i::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s}
.sla-agrupar input:checked + i{background:var(--azul-esc)} .sla-agrupar input:checked + i::after{left:18px}
/* "avisar no grupo" (em andamento): marcado = avisa; desmarcado = silenciado */
.sla-mudo{display:inline-flex;align-items:center;gap:7px;margin-top:7px;font-size:11.5px;font-weight:700;color:var(--tinta-2);text-transform:none;cursor:pointer;user-select:none;background:#F4F7FB;border:1px solid var(--linha);padding:4px 10px 4px 7px;border-radius:99px;white-space:nowrap}
.sla-mudo input{width:15px;height:15px;accent-color:var(--azul-esc);margin:0;cursor:pointer}
.sla-mudo.off{background:var(--amber-bg);border-color:#F0C98A;color:#8A5A00}
.sla-mudo.off small{font-weight:600;color:#B07400}
/* linha "voltou": colunas fixas para tudo alinhar (cliente · sinal · duração · 3 botões) */
.sla-row.ok{grid-template-columns:minmax(220px,1.3fr) minmax(240px,1fr) 150px 330px}
.sla-row.ok .sla-tempo{text-align:center}
.sla-row.ok .sla-acts{justify-content:flex-end;flex-wrap:nowrap}
.sla-row.ok .sla-sig{font-size:12px;font-weight:600;color:var(--tinta-2)}
.sla-row.ok .sla-sig b{font-weight:800} .sla-sig b.ok{color:var(--verde)} .sla-sig b.warn{color:var(--amber)} .sla-sig b.bad{color:var(--vermelho)}
.sla-rot{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;background:#EEF1F4;color:#4A5A6A}
.sla-rot.t-osc{background:var(--amber-bg);color:#8A5A00} .sla-rot.t-rede{background:#E3F4FC;color:#0A6FB8} .sla-rot.t-desl{background:#EEF1F4;color:#4A5A6A}
.sla-grp{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:11.5px;font-weight:800;color:var(--azul-esc);background:#E3F4FC;padding:3px 10px;border-radius:99px;text-transform:none;white-space:nowrap;border:none;cursor:pointer}
.sla-grp:hover{background:#cdebf9} .sla-grp i{font-style:normal}
.sla-row.ok.sub{background:#F3FAF6;box-shadow:inset 3px 0 0 #BFE8D3;padding-top:7px;padding-bottom:7px}
.sla-row.ok.sub .sla-cli small{font-size:11.5px;font-weight:700;color:var(--suave);padding-left:8px}
.sla-row.ok.sub .sla-tempo{font-size:14px}
.sla-row.ok.sub .sla-acts .sla-btn{padding:5px 9px;font-size:11.5px}
@media(max-width:1100px){ .sla-row.ok{grid-template-columns:minmax(160px,1.5fr) 128px auto} .sla-row.ok .sla-acts{flex-wrap:wrap} }

/* selos de como o incidente foi fechado */
.sla-selo{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;border-radius:99px;padding:3px 9px;white-space:nowrap}
.sla-selo.t-tec{background:#E6F0FA;color:var(--azul-esc)}
.sla-selo.t-falso{background:var(--amber-bg);color:#8A5A00}
.sla-selo.t-cad,.sla-selo.t-nd{background:var(--papel);color:var(--suave)}

/* ---- possível problema no assinante ---- */
.sla-rc{border-top:1px solid #F2F5F9}
.sla-rc:first-child{border-top:none}
.sla-rc.aberto{background:#FFFCF4}
.rc-head{display:grid;grid-template-columns:74px minmax(180px,1.4fr) 90px minmax(220px,1.6fr) 130px 22px;gap:12px;align-items:center;
  width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;cursor:pointer;font:inherit}
.rc-head:hover{background:var(--papel)}
.rc-n{font-size:24px;font-weight:800;color:var(--amber);line-height:1;font-variant-numeric:tabular-nums;text-align:center}
.rc-n small{display:block;font-size:10px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}
.rc-cli{font-weight:800;color:var(--tinta);text-transform:uppercase;font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-cli small{display:block;font-size:11px;font-weight:500;color:var(--suave);text-transform:none;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-barra{display:flex;gap:2px;height:12px;border-radius:99px;overflow:hidden;background:var(--papel)}
.rc-p{display:block;height:100%}
.rc-p.t-tec{background:var(--azul-esc)} .rc-p.t-falso{background:var(--amber)} .rc-p.t-nd{background:#D3DCE6}
.rc-ver{font-size:12px;font-weight:700;line-height:1.35;min-width:0}
.rc-ver.energia{color:#8A5A00} .rc-ver.rede{color:var(--vermelho)} .rc-ver.neutro{color:var(--suave)}
.rc-tot{font-size:15px;font-weight:800;color:var(--tinta);text-align:right;font-variant-numeric:tabular-nums}
.rc-tot small{display:block;font-size:10.5px;font-weight:600;color:var(--suave);margin-top:2px}
.rc-seta{color:var(--suave);font-size:13px;text-align:center}
.rc-lista{padding:0 16px 12px 90px;border-top:1px dashed var(--linha)}
.rc-ev{display:grid;grid-template-columns:150px 92px minmax(170px,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid #F2F5F9;font-size:12.5px}
.rc-ev:first-child{border-top:none}
.rc-ev-q{color:var(--suave);font-variant-numeric:tabular-nums}
.rc-ev-d{font-weight:800;color:var(--tinta);font-variant-numeric:tabular-nums}
.rc-ev-s{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--azul-esc);font-weight:600}
.rc-ev-t{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.rc-ev-t .sla-btn{padding:5px 9px;font-size:11.5px}
.rc-acao{padding-top:10px}

/* tabela do histórico */
.sla-th,.sla-hrow{display:grid;grid-template-columns:132px minmax(180px,1.7fr) minmax(150px,1.1fr) 172px 100px minmax(190px,1.2fr);gap:12px;align-items:center;padding:10px 16px}
.sla-th{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--suave);background:#FBFCFE;border-bottom:1px solid var(--linha)}
.sla-hrow{font-size:13px;border-top:1px solid #F2F5F9}
.sla-hrow:first-child{border-top:none}
.sla-hrow:hover{background:var(--papel)}
.sla-hq{font-size:12px;color:var(--suave);font-variant-numeric:tabular-nums}
.sla-hc{font-weight:700;color:var(--tinta);text-transform:uppercase;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sla-hcto{min-width:0;font-weight:600;color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sla-hcto small{display:block;font-size:11px;font-weight:500;color:var(--suave)}
.sla-hs{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--azul-esc);font-weight:600;white-space:nowrap}
.sla-hd{font-weight:800;font-variant-numeric:tabular-nums;color:var(--tinta)}
.sla-hd.ruim{color:var(--vermelho)}
.sla-hu{font-size:12px;color:var(--suave);min-width:0}
.sla-hu small{display:block;font-size:10.5px;opacity:.9;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sla-hbtns{display:flex;gap:6px;flex-wrap:wrap}
.sla-hbtns .sla-btn{padding:5px 9px;font-size:11.5px}
.sla-mais{display:block;width:100%;padding:11px;border:none;border-top:1px solid var(--linha);background:#FBFCFE;font-size:12.5px;font-weight:700;color:var(--azul-esc);cursor:pointer}
.sla-mais:hover{background:var(--papel)}

/* vendas não vê o item do menu */
body.is-vendas .sb-item[data-view="sla"]{display:none}

@media(max-width:1400px){
  .sla-kpis{grid-template-columns:repeat(3,1fr)}
  .rc-head{grid-template-columns:70px minmax(150px,1.4fr) 80px minmax(170px,1.4fr) 22px}
  .rc-head .rc-tot{display:none}
  .sla-th,.sla-hrow{grid-template-columns:120px minmax(150px,1.6fr) minmax(130px,1fr) 100px minmax(170px,1.2fr)}
  .sla-th span:nth-child(4),.sla-hrow .sla-hs{display:none}
}
@media(max-width:1100px){
  .sla-row{grid-template-columns:minmax(160px,1.5fr) 128px auto}
  .sla-row .sla-quando{grid-column:1 / -1;order:3}
  .rc-head{grid-template-columns:64px 1fr 22px}
  .rc-head .rc-barra,.rc-head .rc-ver{display:none}
  .rc-lista{padding-left:16px}
  .rc-ev{grid-template-columns:1fr auto}
  .rc-ev .rc-ev-s{display:none}
}
@media(max-width:640px){
  .sla-kpis{grid-template-columns:repeat(2,1fr)}
  .sla-filtros{width:100%;margin-left:0}
  .sla-filtros input{min-width:0;flex:1}
  .sla-th,.sla-hrow{grid-template-columns:1fr 92px}
  .sla-th span:nth-child(1),.sla-th span:nth-child(3),.sla-hrow .sla-hq,.sla-hrow .sla-hcto{display:none}
}

/* leitura feita pelo botão "Verificar sinal" da própria linha (2026-09-09) */
.sla-agora{display:none;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11.5px;font-weight:700;white-space:nowrap}
.sla-agora.ok,.sla-agora.warn,.sla-agora.bad{display:block}
.sla-agora.ok{color:var(--verde)}
.sla-agora.warn{color:var(--ambar,#D9930D)}
.sla-agora.bad{color:var(--vermelho)}

/* diagnóstico automático: rede x cliente x desligou (2026-09-09) */
.sla-diag{display:block;margin-top:4px;font-size:12px;font-weight:700;line-height:1.35}
.sla-diag.t-rede{color:#0A6FB8}
.sla-diag.t-osc{color:#B26A00}
.sla-diag.t-desl{color:#5B6B7C}
.sla-btn.t-rede{background:#0A6FB8;border-color:#0A6FB8;color:#fff}
.sla-btn.t-osc{background:#fff;border-color:#E2A93B;color:#8A5A00}
.sla-btn.t-desl{background:#fff;border-color:#C3CCD6;color:#4A5A6A}
.sla-selo.t-rede{background:#E7F1FA;color:#0A6FB8}
.sla-selo.t-osc{background:#FDF3E2;color:#8A5A00}
.sla-selo.t-desl{background:#EEF1F4;color:#4A5A6A}
.sla-conf-extra{display:inline-flex;gap:7px}

/* rodada 4: blocos automáticos (rede / assinante) — nada é classificado à mão */
.sla-row.rede{background:#FFF6F6}
.sla-clas{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:800;
  text-transform:none;letter-spacing:0}
.sla-clas.bad{background:#FCE8E8;color:#B32020}
.sla-clas.warn{background:#FDF3E2;color:#8A5A00}
.sla-row.assin .sla-tempo{font-size:13px;font-weight:700;text-align:right}
.sla-selo.t-ok{background:#E6F6EC;color:#1FA463}
