/* ================= análises ================= */
.anl-leitura{margin:10px 0 0;font-size:11.5px;color:var(--muted);min-height:1em}

.anl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.anl-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.anl-card b{display:block;font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.anl-card span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}

.anl-aviso{
  margin:0 0 14px;padding:12px 16px;border-radius:12px;border:1px solid #E6D3A3;background:#FBF5E6;
  font-size:12.5px;line-height:1.5;color:#6B5413;
}

.anl-lista{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:22px}
.anl-linha,.anl-mes{
  display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(120px,2fr) 120px;gap:16px;align-items:center;padding:11px 18px;
}
.anl-lista.comparando .anl-linha{grid-template-columns:minmax(120px,1.1fr) minmax(120px,2fr) 70px 70px 74px}
.anl-linha + .anl-linha,.anl-mes + .anl-mes{border-top:1px solid var(--line)}
.anl-linha:nth-child(even),.anl-mes:nth-child(even){background:#FAFCFD}
.anl-linha .nome,.anl-mes .nome{font-weight:600;font-size:14px;letter-spacing:-.01em}
.anl-mes .nome{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--muted)}
.anl-lista .barras{display:flex;flex-direction:column;gap:3px;min-width:0}
.anl-lista .barras i{display:block;height:8px;border-radius:4px}
.anl-lista .barras i.atual{background:linear-gradient(90deg,var(--accent),#D9636F)}
.anl-lista .barras i.antes{background:#C8CED6}
.anl-lista .barras i.sem{background:#E8EBEF}
.anl-mes .barras{flex-direction:row;gap:0}
.anl-mes .barras i.atual{border-radius:4px 0 0 4px}
.anl-mes .barras i.sem{border-radius:0 4px 4px 0;background:repeating-linear-gradient(135deg,#E8EBEF 0 4px,#DADFE5 4px 8px)}
.anl-lista .qtd{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-size:14px}
.anl-lista .qtd small{display:block;font-size:10.5px;font-weight:500;color:var(--faint)}
.anl-lista .qtd.antes{color:var(--muted);font-weight:600}
.anl-var{text-align:right;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}
.anl-var.alta{color:#1F7A4D}
.anl-var.baixa{color:#A4232F}

@media (max-width:900px){
  .anl-linha,.anl-mes,.anl-lista.comparando .anl-linha{grid-template-columns:1fr 64px;gap:8px 12px;padding:11px 14px}
  .anl-lista .barras{grid-column:1 / -1;order:3}
  .anl-lista .qtd.antes,.anl-var{display:none}
}

/* ---- escolha de tela e período ---- */
.anl-telas{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 12px}
.anl-telas button{
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#C4CBD4;border-radius:999px;padding:6px 13px;
  font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;
}
.anl-telas button:hover{background:rgba(255,255,255,.12);color:#fff}
.anl-telas button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.anl-livre{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 4px}
.anl-livre fieldset{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:6px 12px 8px;background:rgba(255,255,255,.06);margin:0;color:#C4CBD4}
.anl-livre legend{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8D96A1;padding:0 4px}
.anl-livre input{width:84px;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.1);color:#fff}
.anl-livre input::placeholder{color:#8D96A1}
.anl-livre input:focus-visible{outline:2px solid #fff;outline-offset:1px}
.anl-botao{border:0;border-radius:999px;background:var(--accent);color:#fff;padding:9px 18px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.anl-botao:hover{filter:brightness(1.08)}
.anl-erro{flex-basis:100%;font-size:12px;color:#F2A2AA;min-height:1em}

/* ---- cartões e tabelas ---- */
.anl-card.destaque{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.anl-rolagem{overflow-x:auto;margin-bottom:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.anl-tabela{width:100%;border-collapse:collapse;font-size:13.5px}
.anl-tabela th{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:500;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.anl-tabela td{padding:10px 14px;border-top:1px solid var(--line)}
.anl-tabela tr:first-child td{border-top:0}
.anl-tabela tbody tr:nth-child(even){background:#FAFCFD}
.anl-tabela .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.anl-tabela th.num{text-align:right}
.anl-tabela .nome{font-weight:600}
.anl-tabela .forte{font-weight:700}
.anl-tabela .zero{color:var(--faint)}
.anl-tabela .antes{color:var(--muted)}
.anl-tabela td small{display:block;font-size:10.5px;font-weight:500;color:var(--faint)}
.anl-tabela td.top{background:#F7E9EB;font-weight:700}
.anl-tabela tr.atual td,.anl-tabela tr.destaque td{background:#F7E9EB}
.anl-lista .nome small{display:block;font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.08em;font-weight:400}
.anl-lista .nome em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--faint);margin-right:8px}
.anl-lista .barras i.novo{background:#C8CED6}
.anl-mes .barras i.novo{border-radius:0 4px 4px 0}

.anl-quemfecha{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:22px}
.anl-quem{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.anl-quem span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.anl-quem b{display:block;margin-top:4px;font-size:15px}
.anl-quem small{display:block;margin-top:2px;font-size:11px;color:var(--muted)}

/* ---- calendário ---- */
.anl-mapa-calor{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);grid-auto-columns:14px;gap:3px;overflow-x:auto;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.anl-mapa-calor i,.anl-escala i{display:block;width:14px;height:14px;border-radius:3px;background:#EDEFF2}
.anl-mapa-calor i.vazia{background:transparent}
.anl-mapa-calor i.l1,.anl-escala i.l1{background:#F1C9CD}
.anl-mapa-calor i.l2,.anl-escala i.l2{background:#E39AA2}
.anl-mapa-calor i.l3,.anl-escala i.l3{background:#C9525E}
.anl-mapa-calor i.l4,.anl-escala i.l4{background:#8B1C27}
.anl-escala{display:flex;align-items:center;gap:6px;margin:8px 0 22px;font-size:11px;color:var(--muted)}
.anl-escala i.atual{background:linear-gradient(90deg,var(--accent),#D9636F)}
.anl-escala i.novo{background:#C8CED6}
.anl-escala i.real{background:var(--accent)}
.anl-escala i.prev{background:repeating-linear-gradient(135deg,#E8C3C7 0 4px,#F4DDE0 4px 8px)}
.anl-escala .marca{display:inline-block;width:14px;height:3px;border-radius:2px}

/* ---- projeção ---- */
.anl-colunas{display:flex;gap:8px;align-items:flex-end;padding:18px 16px 12px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.anl-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}
.anl-col .area{position:relative;width:100%;height:190px}
.anl-col .area i{position:absolute;left:12%;right:12%;bottom:0;border-radius:4px 4px 0 0}
.anl-col .area i.real{background:var(--accent)}
.anl-col .area i.prev{background:repeating-linear-gradient(135deg,#E8C3C7 0 4px,#F4DDE0 4px 8px)}
.anl-col.atual .area i.real{background:linear-gradient(180deg,#D9636F,var(--accent))}
.anl-col .marca,.anl-escala .marca{height:3px;border-radius:2px}
.anl-col .area .marca{position:absolute;left:0;right:0;width:auto}
.marca.otim{background:#1F7A4D}
.marca.pess{background:#A4232F}
.anl-col span{font-family:var(--mono);font-size:10px;color:var(--faint);text-transform:uppercase}
.anl-col.atual span{color:var(--ink);font-weight:700}

/* ---- próxima faixa ---- */
.anl-pessoas{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-bottom:22px}
.anl-pessoa{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.anl-pessoa .cab{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:10px}
.anl-pessoa .cab b{font-size:15px}
.anl-pessoa .cab span{font-size:12px;color:var(--muted)}
.anl-trilho{position:relative;height:9px;border-radius:5px;background:#E8EBEF;overflow:visible}
.anl-trilho i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),#D9636F)}
.anl-trilho b{position:absolute;top:-3px;width:2px;height:15px;background:var(--ink);border-radius:1px}
.anl-pessoa .minimo{margin:8px 0 10px;font-size:12.5px}
.anl-pessoa .minimo.ok{color:#1F7A4D}
.anl-pessoa .minimo.falta{color:#A4232F}
.anl-pessoa .minimo.no-ritmo{color:#8A6A22}
.anl-pessoa .marcos{display:flex;flex-direction:column;gap:6px}
.anl-pessoa .marco{display:block;font-size:12.5px;padding:8px 10px;border-radius:10px;background:#F4F6F8;line-height:1.4}
.anl-pessoa .marco.no-ritmo{background:#EAF4EE}
.anl-pessoa .marco em{display:block;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.anl-pessoa .marco.vazio{color:var(--muted)}
.anl-pessoa .valores{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}

/* ---- qualidade dos dados ---- */
.anl-qualidades{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-bottom:22px}
.anl-qualidade{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.anl-qualidade .cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.anl-qualidade .cab span{font-size:12px;font-weight:700}
.anl-qualidade .cab .alto{color:#A4232F}
.anl-qualidade .cab .medio{color:#8A6A22}
.anl-qualidade .cab .baixo{color:#1F7A4D}
.anl-qualidade p{margin:8px 0 0;font-size:12.5px;line-height:1.45}
.anl-qualidade p.expl{color:var(--muted);font-size:11.5px}
.anl-lista .barras i.sem{background:repeating-linear-gradient(135deg,#E8EBEF 0 4px,#DADFE5 4px 8px)}

@media (max-width:900px){
  .anl-pessoas,.anl-qualidades{grid-template-columns:1fr}
  .anl-livre fieldset{flex:1 1 100%}
  .anl-col .area{height:130px}
}

/* ---- funil ---- */
.anl-funil{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.anl-etapa{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.anl-etapa .cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.anl-etapa .cab b{font-size:14.5px}
.anl-etapa .cab span{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.anl-etapa p{margin:8px 0 0;font-size:12px;color:var(--muted)}
.anl-etapa.informativa{background:transparent;border-style:dashed}
.anl-trilho i.antes{background:#C8CED6}

/* ---- alertas ---- */
.anl-alertas{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;margin-bottom:22px}
.anl-alerta-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid #8A6A22;border-radius:14px;padding:16px 18px}
.anl-alerta-card.critico{border-left-color:#A4232F;background:#FBF1F2}
.anl-alerta-card .cab{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.anl-alerta-card.critico .sev{color:#A4232F;font-weight:700}
.anl-alerta-card.atencao .sev{color:#8A6A22;font-weight:700}
.anl-alerta-card h3{margin:8px 0 6px;font-size:15px;letter-spacing:-.01em}
.anl-alerta-card p{margin:0;font-size:13px;line-height:1.5}
.anl-alerta-card p.meta{margin-top:10px;font-size:11.5px;color:var(--muted)}
.anl-aviso.ok{border-color:#BFDCCB;background:#EAF4EE;color:#1F5C3A}
.nav button .anl-alerta{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:#8A6A22;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.nav button .anl-alerta.critico{background:#A4232F}

/* ---- configuração do painel da TV ---- */
.anl-tv-lista{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:16px}
.anl-tv-linha{display:grid;grid-template-columns:70px minmax(0,1fr) 80px 110px;gap:14px;align-items:center;padding:10px 18px}
.anl-tv-linha + .anl-tv-linha{border-top:1px solid var(--line)}
.anl-tv-linha:nth-child(even){background:#FAFCFD}
.anl-tv-linha.desligada .ligar span{color:var(--faint);text-decoration:line-through}
.anl-tv-linha .mover{display:flex;gap:4px}
.anl-tv-linha .mover button{width:28px;height:28px;border:1px solid var(--line-2);background:var(--surface);border-radius:8px;cursor:pointer;color:var(--ink);font-size:11px}
.anl-tv-linha .mover button:disabled{opacity:.35;cursor:default}
.anl-tv-linha .mover button:not(:disabled):hover{background:#EFF3F7}
.anl-tv-linha .ligar{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;cursor:pointer;min-width:0}
.anl-tv-linha .ligar input{width:18px;height:18px;accent-color:var(--accent)}
.anl-tv-linha .origem{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.anl-tv-linha .tempo{display:flex;align-items:center;gap:6px;justify-self:end}
.anl-tv-linha .tempo input{width:64px;border:1px solid var(--line-2);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;font-variant-numeric:tabular-nums;text-align:right}
.anl-tv-linha .tempo span{font-size:12px;color:var(--muted)}
.anl-tv-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:22px}
.anl-botao.claro{background:var(--surface);color:var(--ink);border:1px solid var(--line-2)}
.anl-botao:disabled{opacity:.4;cursor:default;filter:none}
.anl-tv-msg{font-size:12.5px;color:var(--muted)}
.anl-tv-msg.erro{color:#A4232F}
@media (max-width:700px){ .anl-tv-linha{grid-template-columns:64px minmax(0,1fr) 96px} .anl-tv-linha .origem{display:none} }

/* ---- painel da TV: telas de análise ---- */
.pn-analise{grid-template-columns:1fr 1.25fr}
.pn-kpis{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.3vw,22px);align-content:center}
.pn-kpi{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;min-width:0;
  padding:clamp(14px,2vh,30px) clamp(14px,1.4vw,26px);display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,.7vh,10px);
}
.pn-kpi b{font-size:min(clamp(24px,3.1vw,60px),7vh);font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pn-kpi span{font-size:clamp(10px,.85vw,16px);letter-spacing:.08em;font-weight:600;text-transform:uppercase;color:#98A1AB;line-height:1.3}
.pn-kpi.destaque{border-color:rgba(242,116,130,.6);background:rgba(164,35,47,.2)}
.pn-kpi.alerta{border-color:rgba(242,116,130,.5)}
.pn-aline{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr clamp(40px,4.4vw,96px);gap:clamp(8px,.9vw,16px);align-items:center}
.pn-aline .nome{font-size:clamp(12px,1.1vw,21px);font-weight:600;color:#E4E8ED;min-width:0}
.pn-aline .nome small{display:block;font-size:clamp(9px,.75vw,14px);font-weight:500;color:#8D96A1;margin-top:2px;line-height:1.3}
.pn-aline .trilho{height:clamp(6px,.8vh,11px);border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}
.pn-aline .trilho i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#A4232F,#E2717D)}
.pn-aline .qtd{text-align:right;font-size:clamp(14px,1.3vw,25px);font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.pn-aline.alerta{grid-template-columns:minmax(0,1fr) auto}
.pn-aline.alerta .trilho{display:none}
.pn-aline.alerta.critico .qtd{color:#F27482}
.pn-aline.alerta.atencao .qtd{color:#E2B75A}
.painel .anl-colunas{background:transparent;border:0;padding:0;flex:1;min-height:0}
.painel .anl-col .area{height:clamp(120px,32vh,360px)}
.painel .anl-col span{color:#98A1AB}
.enc-compacto .pn-aline .nome{font-size:clamp(11px,.9vw,17px)}
.pn-sessao{
  position:fixed;left:50%;bottom:2vh;transform:translateX(-50%);z-index:260;max-width:90vw;text-align:center;
  background:#8B1C27;color:#fff;border-radius:14px;padding:12px 22px;font-size:clamp(12px,1.1vw,20px);box-shadow:0 10px 40px rgba(0,0,0,.5);
}
/* poucas linhas ocupam a altura inteira da lista, em vez de ficarem coladas no topo */
.pn-analise .pn-estados-lista{justify-content:space-evenly}
.pn-aline.alerta .nome{font-size:clamp(14px,1.4vw,27px)}
.pn-aline.alerta .nome small{font-size:clamp(11px,1vw,19px);color:#C4CBD4;margin-top:4px}
.pn-aline.alerta .qtd{font-size:clamp(14px,1.3vw,25px)}
