/* ================================================================
   licitacao-desempenho.css — GESTÃO DE DESEMPENHO (Licitação).

   Uma linha por pessoa da equipe de licitação (grupos só-Licitação do
   Entra) × 3 critérios (licitações · itens · valor) × 3 etapas
   (analisadas · participadas · ganhas). HTML/CSS puro, sem Chart.js.
   Complementa `licitacao-report.css`, de onde vêm o cabeçalho (.fx-head),
   a barra de filtros (.fx-filters, .fxdd, .ct-dt).

   Tudo aqui tem prefixo `.gd-`.
   ================================================================ */

.gd-wrap{
  --gd-navy:#0A2E5C;
  --gd-ink:#0A2E5C;
  --gd-body:#33495E;
  --gd-mut:#5B7189;
  --gd-mut2:#7C93A8;
  --gd-mut3:#93A7BA;
  --gd-bd:#E3EAF2;
  --gd-bd-soft:#F0F5FA;
  --gd-track:#EEF2F7;
  --gd-ana:#8FC0E6;       /* analisadas  */
  --gd-par:#3F8FD2;       /* participadas */
  --gd-gan:#2FBF71;       /* ganhas       */
  padding:16px 0 38px;display:flex;flex-direction:column;gap:12px;
}

/* ── caixa branca ─────────────────────────────────────────────── */
.gd-card{background:#fff;border:1px solid var(--gd-bd);border-radius:14px;padding:16px 18px;
  box-shadow:0 1px 3px rgba(10,46,92,.05);min-width:0;display:flex;flex-direction:column;}
.gd-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.gd-card h3{margin:0;font-size:15px;font-weight:700;color:var(--gd-ink);letter-spacing:-.2px;}
.gd-sub{margin:3px 0 0;font-size:11px;color:var(--gd-mut3);font-weight:600;line-height:1.45;}
.gd-sub b{font-weight:700;color:var(--gd-mut);}
.gd-empty{padding:26px 10px;text-align:center;color:var(--gd-mut3);font-size:12.5px;font-weight:600;line-height:1.5;}
.gd-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;}
.gd-act{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;background:none;border:none;padding:0;
  font-family:inherit;font-size:11.5px;font-weight:700;color:#1272C4;cursor:pointer;white-space:nowrap;text-decoration:none;}
.gd-act:hover{text-decoration:underline;}
.gd-act[hidden]{display:none;}
.gd-leg{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.gd-leg span{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--gd-mut);}
.gd-leg i{width:8px;height:8px;border-radius:3px;flex-shrink:0;}

/* ── faixas de apoio (estado · escopo · avisos · rodapé) ──────── */
.gd-banner{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:12px;font-size:12.5px;font-weight:600;line-height:1.45;
  background:#EFF6FF;border:1px solid #BFDBFE;color:#1E40AF;}
.gd-banner.warn{background:#FFFBEB;border-color:#FDE68A;color:#854D0E;}
.gd-banner.erro{background:#FEF2F2;border-color:#FECACA;color:#991B1B;}
.gd-banner[hidden]{display:none;}
.gd-banner code{font-size:11px;background:rgba(255,255,255,.6);padding:1px 5px;border-radius:5px;}
.gd-spin{width:14px;height:14px;border-radius:999px;border:2px solid #BFDBFE;border-top-color:#1272C4;flex-shrink:0;animation:gd-gira .8s linear infinite;}
@keyframes gd-gira{to{transform:rotate(360deg);}}

.gd-nota{margin:0;padding:9px 14px;border-radius:10px;font-size:11.5px;line-height:1.55;
  background:#F5F9FD;border:1px solid var(--gd-bd);color:var(--gd-mut);display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;}
.gd-nota b{color:var(--gd-ink);font-weight:700;}
.gd-nota.warn{background:#FFFBEB;border-color:#FDE68A;color:#854D0E;}
.gd-nota.warn b{color:#7C4A03;}
.gd-nota[hidden]{display:none;}
.gd-nota .k{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gd-mut3);}
.gd-gchip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--gd-bd);
  font-size:11px;font-weight:700;color:var(--gd-ink);white-space:nowrap;}
.gd-gchip span{color:var(--gd-mut2);font-weight:600;}
.gd-gchip.erro{border-color:#FECACA;color:#991B1B;background:#FEF2F2;}

.gd-rodape{display:flex;align-items:center;justify-content:center;gap:8px 18px;flex-wrap:wrap;
  font-size:11px;color:var(--gd-mut3);font-weight:600;text-align:center;line-height:1.6;}

/* pill "Salesforce · lido às" no cabeçalho */
.gd-live{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#EAF3FC;border:1px solid #CFE2F5;
  font-size:11.5px;font-weight:700;color:#1B5E9E;white-space:nowrap;}
.gd-live i{width:7px;height:7px;border-radius:999px;background:#3F8FD2;display:inline-block;}
.gd-live.ok{background:#EAF8F0;border-color:#CFEEDD;color:#22794C;}
.gd-live.ok i{background:#2FBF71;}
.gd-live.erro{background:#FEF2F2;border-color:#FECACA;color:#991B1B;}
.gd-live.erro i{background:#E4574C;}

/* dropdown do período (mesmo desenho do Funil de Vendas) */
.gd-per{width:300px;max-width:calc(100vw - 48px);gap:10px;}
.gd-per .gd-per-k{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gd-mut3,#93A7BA);}
.gd-seg{display:inline-flex;align-items:center;background:#F0F4F9;border-radius:9px;padding:3px;gap:2px;flex-shrink:0;}
.gd-seg button{border:none;background:transparent;padding:6px 11px;border-radius:7px;font-family:inherit;
  font-size:11.5px;font-weight:600;color:#5B7189;cursor:pointer;white-space:nowrap;}
.gd-seg button.on{background:#fff;color:#0A2E5C;font-weight:700;box-shadow:0 1px 2px rgba(10,46,92,.12);}
.gd-per .gd-seg{width:100%;box-sizing:border-box;display:flex;}
.gd-per .gd-seg button{flex:1;padding:6px 6px;font-size:11px;}
.gd-per .gd-pre{display:flex;flex-wrap:wrap;gap:5px;}
.gd-per .gd-pre button{border:1px solid #E3EAF2;background:#fff;border-radius:8px;padding:5px 9px;font-family:inherit;
  font-size:11.5px;font-weight:600;color:#33495E;cursor:pointer;}
.gd-per .gd-pre button:hover{border-color:#1272C4;}
.gd-per .gd-pre button.on{background:#0A2E5C;border-color:#0A2E5C;color:#fff;}

/* ══════════════════════════════════════════════════════════════
   1. CARTÕES DA EQUIPE — um por critério, as 3 etapas em barras
   ══════════════════════════════════════════════════════════════ */
.gd-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;}
.gd-kpi .gd-kpi-k{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gd-mut3);}
.gd-kpi .gd-kpi-t{font-size:15px;font-weight:700;color:var(--gd-ink);margin-top:3px;}
.gd-kpi .gd-kpi-v{font-size:30px;font-weight:700;line-height:1;letter-spacing:-.8px;color:var(--gd-ink);margin-top:12px;font-variant-numeric:tabular-nums;}
.gd-kpi .gd-kpi-v small{font-size:12px;font-weight:600;letter-spacing:0;color:var(--gd-mut2);margin-left:6px;}
/* flex e não grid: o collapseWideGridsMobile() do nav-sidebar.js empilha,
   no celular, todo GRID de 3+ colunas — e a barra ficaria sem o rótulo */
.gd-etps{display:flex;flex-direction:column;gap:9px;margin-top:14px;}
.gd-etp{display:flex;gap:10px;align-items:center;}
.gd-etp .n{flex:0 0 86px;font-size:11.5px;font-weight:700;color:var(--gd-body);}
.gd-etp .b{flex:1 1 auto;min-width:0;height:10px;border-radius:999px;background:var(--gd-track);overflow:hidden;}
.gd-etp .b i{display:block;height:100%;border-radius:999px;min-width:2px;}
.gd-etp .v{flex:0 0 auto;min-width:74px;font-size:12.5px;font-weight:700;color:var(--gd-ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
.gd-etp .v span{font-size:10.5px;font-weight:600;color:var(--gd-mut2);margin-left:5px;}
.gd-kpi-f{margin-top:auto;padding-top:12px;border-top:1px solid var(--gd-bd-soft);font-size:11px;line-height:1.5;color:var(--gd-mut);}
.gd-kpi .gd-etps{margin-bottom:14px;}
.gd-kpi-f b{color:var(--gd-ink);font-weight:700;}

/* ══════════════════════════════════════════════════════════════
   2. TABELA POR PESSOA — 9 colunas + nota, cabeçalho em 2 níveis
   ══════════════════════════════════════════════════════════════ */
.gd-tw{overflow:auto;-webkit-overflow-scrolling:touch;margin-top:12px;border:1px solid var(--gd-bd);border-radius:11px;}
body.dept .area-main table.gd-tb{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;}
body.dept .area-main table.gd-tb th,body.dept .area-main table.gd-tb td{padding:7px 8px;border-bottom:1px solid var(--gd-bd-soft);
  white-space:nowrap;font-variant-numeric:tabular-nums;}
body.dept .area-main table.gd-tb thead th{background:#F7FAFD;color:var(--gd-mut2);font-size:9.5px;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:right;border-top:none;border-bottom:1px solid var(--gd-bd);}
body.dept .area-main table.gd-tb thead tr.g th{text-align:center;color:var(--gd-ink);font-size:10px;border-bottom:1px solid var(--gd-bd-soft);}
/* sub-cabeçalho em caixa normal: em CAIXA ALTA espaçada, "PARTICIPADAS" × 3
   empurrava a tabela para fora da largura a 1440 px */
body.dept .area-main table.gd-tb thead tr.s th{font-size:10.5px;letter-spacing:0;text-transform:none;font-weight:700;
  box-shadow:inset 0 -2px 0 var(--c,transparent);}
body.dept .area-main table.gd-tb th.grp,body.dept .area-main table.gd-tb td.grp{border-left:1px solid var(--gd-bd);}
body.dept .area-main table.gd-tb thead th.ord{cursor:pointer;user-select:none;}
body.dept .area-main table.gd-tb thead th.ord:hover{color:var(--gd-ink);}
body.dept .area-main table.gd-tb thead th.on{color:#1272C4;}
body.dept .area-main table.gd-tb thead th .seta{font-size:9px;margin-left:3px;}
/* pessoa: coluna presa à esquerda na rolagem horizontal */
body.dept .area-main table.gd-tb th.pe,body.dept .area-main table.gd-tb td.pe{position:sticky;left:0;z-index:1;background:#fff;text-align:left;
  min-width:160px;max-width:230px;border-right:1px solid var(--gd-bd);}
body.dept .area-main table.gd-tb thead th.pe{z-index:3;background:#F7FAFD;}
body.dept .area-main table.gd-tb th.rk,body.dept .area-main table.gd-tb td.rk{text-align:center;width:22px;padding-left:6px;padding-right:2px;color:var(--gd-mut3);font-weight:700;}
body.dept .area-main table.gd-tb td{text-align:right;color:var(--gd-body);font-weight:600;
  background:rgba(18,114,196,calc(var(--h,0) * .13));}
body.dept .area-main table.gd-tb td .pct{display:block;font-size:10px;font-weight:600;color:var(--gd-mut3);margin-top:2px;}
body.dept .area-main table.gd-tb td.z{color:#C9D5E1;font-weight:500;}
body.dept .area-main table.gd-tb td.pe .nm{display:block;font-weight:700;color:var(--gd-ink);overflow:hidden;text-overflow:ellipsis;}
body.dept .area-main table.gd-tb td.pe .cg{display:block;font-size:10.5px;font-weight:600;color:var(--gd-mut2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;}
body.dept .area-main table.gd-tb td.pe .car{display:inline-block;width:12px;color:var(--gd-mut3);font-size:10px;transition:transform .15s ease;}
body.dept .area-main table.gd-tb tr.lin{cursor:pointer;}
body.dept .area-main table.gd-tb tr.lin:hover td{box-shadow:inset 0 0 0 999px rgba(18,114,196,.035);}
body.dept .area-main table.gd-tb tr.lin:hover td.pe,body.dept .area-main table.gd-tb tr.lin.aberta td.pe{background:#F7FAFD;}
body.dept .area-main table.gd-tb tr.lin.aberta td.pe .car{transform:rotate(90deg);}
body.dept .area-main table.gd-tb tr.lin.vazia td:not(.pe){color:#C9D5E1;}
body.dept .area-main table.gd-tb td.nota{color:var(--gd-mut3);font-weight:600;}
body.dept .area-main table.gd-tb tfoot td{position:sticky;bottom:0;background:#EEF3F9;color:var(--gd-ink);font-weight:700;border-top:1px solid var(--gd-bd);}
body.dept .area-main table.gd-tb tfoot td.pe{background:#EEF3F9;}
body.dept .area-main table.gd-tb tfoot td .pct{color:var(--gd-mut2);}

/* ── detalhe da pessoa (linha que abre embaixo) ────────────────── */
body.dept .area-main table.gd-tb tr.det > td{padding:0;background:#FBFCFE;text-align:left;white-space:normal;}
.gd-det{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;
  position:sticky;left:0;max-width:calc(100vw - 64px);box-sizing:border-box;}
.gd-det-h{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:11.5px;color:var(--gd-mut);font-weight:600;}
.gd-det-h b{color:var(--gd-ink);font-weight:700;}
.gd-tx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.gd-tx > div{background:#fff;border:1px solid var(--gd-bd);border-radius:10px;padding:9px 11px;min-width:0;}
.gd-tx .k{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gd-mut3);line-height:1.35;}
.gd-tx .v{font-size:17px;font-weight:700;color:var(--gd-ink);margin-top:5px;line-height:1.1;font-variant-numeric:tabular-nums;}
.gd-tx .s{font-size:10.5px;font-weight:600;color:var(--gd-mut2);margin-top:3px;line-height:1.35;}
.gd-ntw{overflow:auto;border:1px solid var(--gd-bd);border-radius:10px;background:#fff;max-height:420px;}
body.dept .area-main table.gd-nt{width:100%;border-collapse:separate;border-spacing:0;font-size:11.5px;}
body.dept .area-main table.gd-nt th,body.dept .area-main table.gd-nt td{padding:7px 9px;border-bottom:1px solid var(--gd-bd-soft);white-space:nowrap;
  text-align:right;font-variant-numeric:tabular-nums;background:#fff;}
body.dept .area-main table.gd-nt thead th{position:sticky;top:0;z-index:1;background:#F7FAFD;color:var(--gd-mut2);font-size:9px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;}
body.dept .area-main table.gd-nt th.tx,body.dept .area-main table.gd-nt td.tx{text-align:left;}
body.dept .area-main table.gd-nt td.nm{max-width:340px;overflow:hidden;text-overflow:ellipsis;font-weight:700;color:var(--gd-ink);}
body.dept .area-main table.gd-nt td.nm a{color:var(--gd-ink);text-decoration:none;}
body.dept .area-main table.gd-nt td.nm a:hover{color:#1272C4;text-decoration:underline;}
body.dept .area-main table.gd-nt td.dim{color:var(--gd-mut3);font-weight:500;}
.gd-etq{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;white-space:nowrap;
  background:#F0F4F9;color:var(--gd-mut);}
.gd-etq.par{background:#EAF3FC;color:#1B5E9E;}
.gd-etq.gan{background:#EAF8F0;color:#22794C;}
.gd-fase{font-size:11px;font-weight:600;color:var(--gd-body);}
.gd-mais{display:block;width:100%;padding:9px;border:1px dashed var(--gd-bd);border-radius:10px;background:#F7FAFD;
  color:#1272C4;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;}
.gd-mais:hover{background:#EFF6FF;}
.gd-mais[hidden]{display:none;}

/* ══════════════════════════════════════════════════════════════
   3. NOTA (a definir) + REGRAS DE CONTAGEM
   ══════════════════════════════════════════════════════════════ */
/* linhas em flex (mesmo motivo do .gd-etp: grid de 4 colunas empilharia no celular) */
.gd-nt-grid{display:flex;flex-direction:column;gap:6px;margin-top:14px;}
.gd-nt-row{display:flex;gap:6px;align-items:stretch;}
.gd-nt-row > *{flex:1 1 0;min-width:0;}
.gd-nt-row > :first-child{flex:1.3 1 0;}
.gd-nt-grid .h{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gd-mut3);text-align:center;padding-bottom:2px;}
.gd-nt-grid .c{font-size:11.5px;font-weight:700;color:var(--gd-ink);display:flex;align-items:center;}
.gd-nt-grid .p{border:1px dashed #C9D5E1;border-radius:9px;padding:8px 6px;text-align:center;font-size:11px;font-weight:700;color:var(--gd-mut3);
  background:#FBFCFE;}
.gd-nt-grid .p small{display:block;font-size:9.5px;font-weight:600;color:#B3C2D1;margin-top:2px;}
.gd-nt-f{margin-top:auto;padding-top:12px;border-top:1px solid var(--gd-bd-soft);font-size:11px;line-height:1.55;color:var(--gd-mut);}
.gd-card .gd-nt-grid{margin-bottom:14px;}
.gd-nt-f b{color:var(--gd-ink);}

.gd-rg{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.gd-rg li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;font-size:11.5px;line-height:1.5;color:var(--gd-body);}
.gd-rg li i{width:10px;height:10px;border-radius:3px;margin-top:4px;}
.gd-rg li b{color:var(--gd-ink);font-weight:700;}
/* fases em linha, no meio do texto: a lista fica com a altura do cartão da nota */
.gd-fchips{display:inline;}
.gd-fchip{display:inline-flex;align-items:center;padding:1px 8px;margin:2px 3px 2px 0;border-radius:999px;border:1px solid var(--gd-bd);background:#fff;
  font-size:10.5px;font-weight:700;color:var(--gd-body);white-space:nowrap;line-height:1.6;vertical-align:1px;}
.gd-fchip i{width:7px;height:7px;border-radius:2px;}
.gd-rg-f{margin-top:auto;padding-top:12px;font-size:10.5px;line-height:1.5;color:var(--gd-mut3);font-weight:600;}
.gd-card .gd-rg{margin-bottom:12px;}
.gd-rg-f code{font-size:10px;background:#F0F4F9;padding:1px 5px;border-radius:5px;color:var(--gd-mut);}

/* ══════════════════════════════════════════════════════════════
   4. RESPONSIVO
   ══════════════════════════════════════════════════════════════ */
@media(max-width:1199.98px){
  .gd-etp .n{flex-basis:78px;}
}
@media(max-width:1023.98px){
  .gd-kpis{grid-template-columns:1fr;}
  .gd-row2{grid-template-columns:1fr;}
}
@media(max-width:767.98px){
  .gd-wrap{padding:14px 0 34px;}
  .gd-card{padding:15px;}
  .gd-kpi .gd-kpi-v{font-size:26px;}
  .gd-tx{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.dept .area-main table.gd-tb th.pe,body.dept .area-main table.gd-tb td.pe{min-width:150px;max-width:170px;}
  body.dept .area-main table.gd-tb th.rk,body.dept .area-main table.gd-tb td.rk{display:none;}
  .gd-nt-row > :first-child{flex-grow:1.1;}
  .gd-det{max-width:calc(100vw - 40px);}
}
