/* GPD - Gerenciador de Vendas e Clientes. Estilos específicos desta página,
   além do que já é reaproveitado de css/styles.css (tema, .card, tabelas,
   .auth-gate/.auth-card, .pf-modal). */

.gpd-top-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 28px;
  max-width:1680px;
  margin:0 auto;
}
.gpd-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.gpd-dev-banner{
  background: var(--accent-soft);
  border:1px solid rgba(242,183,5,0.32);
  color: var(--accent);
  border-radius:10px;
  padding:10px 14px;
  font-size:12.5px;
  font-family:'JetBrains Mono', monospace;
  margin:24px 0 20px;
}

.gpd-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:16px;
}
.gpd-toolbar-summary{
  display:flex;
  gap:16px;
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  color: var(--text-dim);
}
.gpd-toolbar-summary span:last-child{
  color: var(--text);
  font-weight:700;
}

.gpd-empty-state{
  padding:32px 12px;
  text-align:center;
  color: var(--text-faint);
  font-size:13px;
}

.gpd-row-actions{ width:36px; text-align:center; }
.gpd-remove-btn{
  background:none;
  border:none;
  color: var(--text-faint);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  padding:4px 8px;
  border-radius:6px;
}
.gpd-remove-btn:hover{
  color: var(--bad);
  background: var(--bad-soft);
}

.gpd-sale-modal-card{
  width:min(420px, 92vw);
}
.gpd-sale-form{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:16px;
}

/* ---------- Plano de Ação (reproduz a "parte de cima" de cada aba da
   planilha GPD2607: header, Objetivo/Responsável, gráfico, tabela de metas)

   Escala de raio própria do bloco, pra manter consistência interna:
   10px = controles compactos (select), 14px = painéis de conteúdo
   (meta-box, chart-wrap), pill (999px) = badges de status/contexto. ---------- */
.gpd-plano-card{
  padding:26px 28px 30px;
}

/* Faixa de indicadores-resumo no topo do bloco (mês mais recente com
   resultado real lançado) — reaproveita .kpi-strip/.kpi do painel principal
   pra ficar visualmente idêntico, só com colunas iguais em vez da 1ª coluna
   larga (que lá é reservada pro gauge "Meta Mês", que não existe aqui). */
.gpd-plano-kpis{
  grid-template-columns: repeat(5, 1fr);
  margin-top:0;
  margin-bottom:26px;
  background:transparent;
  border:none;
  gap:14px;
}
/* Cada tile vira um cartão de vidro flutuante (fundo translúcido + blur),
   em vez do fundo sólido + hairline de 1px do .kpi-strip original — mesmo
   vocabulário "vidro Apple" já usado em .pf-modal-card/.pie-click-hint.
   Tom azul (--steel) igual ao card colorido de #panel-telha-eps #epsBox
   .detail-item, só trocando o tom verde (--good) por azul. */
.gpd-plano-kpis .kpi{
  background: linear-gradient(180deg, rgba(79,154,192,0.16), rgba(79,154,192,0.05) 58%, rgba(255,255,255,0.02));
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  border:1px solid rgba(79,154,192,0.35);
  border-radius:14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), inset 0 0 0 1px rgba(79,154,192,0.18), 0 10px 24px -14px rgba(0,0,0,0.55);
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.gpd-plano-kpis .kpi:hover{
  border-color: rgba(79,154,192,0.55);
  transform: translateY(-1px);
}
.gpd-plano-kpis .kpi .val,
.gpd-plano-kpis .kpi .val.good,
.gpd-plano-kpis .kpi .val.bad{
  color: var(--steel);
}

.gpd-plano-toolbar{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
}
.gpd-plano-toolbar label{
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--text-dim);
  font-weight:600;
}
.gpd-plano-toolbar select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238B93A0' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center,
    var(--panel-2);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 32px 8px 14px;
  font-family:'JetBrains Mono', monospace;
  font-size:13px;
  cursor:pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03), 0 1px 2px rgba(0,0,0,0.25);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.gpd-plano-toolbar select:hover{ border-color: rgba(242,183,5,0.4); }
.gpd-plano-toolbar select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(242,183,5,0.14);
}
.gpd-plano-toolbar .gpd-plano-pick-btn{
  margin-top:0;
  margin-left:auto;
}

.gpd-plano-status{
  padding:32px 12px;
  text-align:center;
  color:var(--text-faint);
  font-size:13px;
  letter-spacing:0.01em;
}

.gpd-plano-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:26px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line-soft);
}
.gpd-plano-title-band{
  flex:1;
  display:flex;
  align-items:center;
  font-family:'Oswald', sans-serif;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.gpd-plano-mes-pill{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(242,183,5,0.32);
  background:linear-gradient(180deg, rgba(242,183,5,0.18), rgba(242,183,5,0.04));
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border-radius:999px;
  padding:8px 18px;
  white-space:nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 4px 10px rgba(0,0,0,0.18);
}
.gpd-plano-mes-pill span{
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--accent);
  font-weight:600;
}
.gpd-plano-mes-pill strong{
  font-family:'JetBrains Mono', monospace;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.02em;
  color:var(--text);
}

.gpd-plano-meta-row{
  display:flex;
  gap:16px;
  margin-bottom:28px;
  flex-wrap:wrap;
}
.gpd-plano-meta-box{
  flex:1;
  min-width:240px;
  background:
    linear-gradient(160deg, rgba(255,255,255,0.06), rgba(255,255,255,0.015) 65%),
    rgba(26,31,38,0.5);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.09);
  border-radius:14px;
  padding:16px 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 8px 20px -12px rgba(0,0,0,0.5);
  transition: border-color 0.2s ease;
}
.gpd-plano-meta-box:hover{ border-color: rgba(255,255,255,0.16); }
.gpd-plano-meta-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--text-faint);
  font-weight:600;
  margin-bottom:8px;
}
.gpd-plano-meta-value{
  font-size:17px;
  line-height:1.5;
  color:var(--text);
  font-weight:600;
}

.gpd-plano-chart-wrap{
  height:300px;
  margin-bottom:30px;
  padding:18px 18px 6px;
  background:
    linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01) 60%),
    rgba(26,31,38,0.4);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 24px -16px rgba(0,0,0,0.55);
}

/* Envelope de vidro em volta da tabela, igual aos outros blocos do card
   (KPIs, meta-box, gráfico) — antes a tabela ficava "nua" direto no fundo
   do card. */
.gpd-plano-table-wrap{
  overflow-x:auto;
  background: linear-gradient(160deg, rgba(255,255,255,0.045), rgba(255,255,255,0.01) 60%), rgba(26,31,38,0.4);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 24px -16px rgba(0,0,0,0.55);
  padding:6px;
}

.gpd-plano-table{ min-width:1000px; border-spacing:0; }
.gpd-plano-table thead th{
  text-align:right;
  letter-spacing:0.07em;
  padding:12px 14px;
  color:var(--text);
  font-weight:700;
  font-size:12.5px;
  background: rgba(255,255,255,0.04);
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.gpd-plano-table thead th:first-child{ text-align:left; border-radius:10px 0 0 0; }
.gpd-plano-table thead th:last-child{ border-radius:0 10px 0 0; }
.gpd-plano-table tbody td{ padding:11px 14px; transition: filter 0.15s ease; }
.gpd-plano-table tbody tr:hover td{ filter: brightness(1.16); }
.gpd-plano-table td.name{
  font-weight:600;
  white-space:nowrap;
  color:var(--text-dim);
}
.gpd-plano-table td.num{
  font-weight:700;
  color:var(--text);
}
.gpd-plano-blank{ color:var(--text-faint); }

/* Faixas de cor por linha, seguindo exatamente o padrão do Excel original:
   "Meta ..." = pêssego, "Resultado ..." simples = neutro/branco (alternando
   pêssego/branco/pêssego/branco), Meta Desafio = verde, Resultado Mensal
   (linha de destaque) = azul — só que suavizadas pro tema escuro. */
.gpd-plano-row-meta-produto td:first-child{ box-shadow: inset 3px 0 0 rgba(242,183,5,0.9); }
.gpd-plano-row-meta-produto td{ background: rgba(242,183,5,0.22); }
.gpd-plano-row-resultado-neutro td:first-child{ box-shadow: inset 3px 0 0 rgba(255,255,255,0.14); }
.gpd-plano-row-resultado-neutro td{ background: rgba(255,255,255,0.02); }
.gpd-plano-row-headline-desafio td:first-child{ box-shadow: inset 3px 0 0 rgba(79,174,124,0.7); }
.gpd-plano-row-headline-desafio td{ background: rgba(79,174,124,0.16); }
.gpd-plano-row-headline-resultado td:first-child{ box-shadow: inset 3px 0 0 rgba(79,154,192,0.75); }
.gpd-plano-row-headline-resultado td{
  background: linear-gradient(180deg, rgba(21,45,64,0.95), rgba(15,33,48,0.95));
  font-weight:800;
  font-size:15.5px;
  color:#FFFFFF;
  letter-spacing:0.01em;
}
.gpd-plano-row-headline-resultado td.name{ color:#FFFFFF; }
.gpd-plano-row-resultado-acumulado td:first-child{ box-shadow: inset 3px 0 0 rgba(79,154,192,0.75); }
.gpd-plano-row-resultado-acumulado td{
  background: linear-gradient(180deg, rgba(21,45,64,0.95), rgba(15,33,48,0.95));
  font-weight:800;
  font-size:15.5px;
  color:#FFFFFF;
  letter-spacing:0.01em;
}
.gpd-plano-row-resultado-acumulado td.name{ color:#FFFFFF; }
.gpd-plano-row-pct td:first-child{ box-shadow: inset 3px 0 0 rgba(79,154,192,0.75); }
.gpd-plano-row-pct td{
  background: linear-gradient(180deg, rgba(21,45,64,0.95), rgba(15,33,48,0.95));
  font-weight:800;
  font-size:15.5px;
  color:#FFFFFF;
  letter-spacing:0.01em;
}
.gpd-plano-row-pct td.name{ color:#FFFFFF; }
.gpd-plano-row-vendas-ant td:first-child{ box-shadow: inset 3px 0 0 rgba(255,255,255,0.14); }
.gpd-plano-row-vendas-ant td{ background: rgba(255,255,255,0.02); }
.gpd-plano-row-variacao td:first-child{ box-shadow: inset 3px 0 0 rgba(79,154,192,0.4); }
.gpd-plano-row-variacao td{ background: rgba(79,154,192,0.05); }
.gpd-plano-row-tonelagem td:first-child{ box-shadow: inset 3px 0 0 rgba(255,255,255,0.14); }
.gpd-plano-row-tonelagem td{ background: rgba(255,255,255,0.02); }
.gpd-plano-row-positivacao td:first-child{ box-shadow: inset 3px 0 0 rgba(242,183,5,0.7); }
.gpd-plano-row-positivacao td{ background: var(--accent-soft); }
/* Mesmo badge arredondado (.pill) usado nas variações %, só num tom dourado
   próprio — não é "bom/ruim" como as outras, é só o valor em destaque.
   Tamanho aumentado (o padrão de 11px/2px-8px do painel principal fica
   pequeno demais perto dos números em negrito desta tabela). */
.gpd-plano-table .pill.accent{ background: rgba(242,183,5,0.16); color: var(--accent); }
.gpd-plano-table .pill{
  font-size:15px;
  padding:5px 14px;
  border-radius:20px;
  font-weight:700;
}
.gpd-plano-row-default td:first-child{ box-shadow: inset 3px 0 0 rgba(255,255,255,0.08); }
.gpd-plano-row-default td{ background: transparent; }

/* Positivação Carteira agora é editável — o valor vira um <input>, mas o
   pill inteiro (input + "%") continua com a mesma cara uniforme e
   arredondada do badge dourado (.pill.accent) de antes, igual às outras
   pills da tabela (ex.: as de variação % ao lado). Wrapper <span> em vez
   do <td> direto: display:table-cell no <td> tem que ficar intacto pro
   layout de tabela não quebrar, então o pill (inline-flex) fica um nível
   abaixo. */
.gpd-plano-positivacao-cell{ text-align:center; white-space:nowrap; }
.gpd-plano-positivacao-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1px;
  background: rgba(242,183,5,0.16);
  border:1px solid rgba(242,183,5,0.35);
  border-radius:20px;
  padding:5px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.gpd-plano-positivacao-pill:hover{ border-color: rgba(242,183,5,0.55); }
.gpd-plano-positivacao-pill:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(242,183,5,0.18);
  background: rgba(242,183,5,0.22);
}
.gpd-plano-positivacao-pill:has(.gpd-plano-medida-saved){
  border-color: rgba(79,174,124,0.7);
  box-shadow:0 0 0 3px rgba(79,174,124,0.18);
  background: rgba(79,174,124,0.14);
}
.gpd-plano-positivacao-pill:has(.gpd-plano-medida-saved) .gpd-plano-positivacao-input,
.gpd-plano-positivacao-pill:has(.gpd-plano-medida-saved) .gpd-plano-positivacao-suffix{ color: var(--good); }
.gpd-plano-positivacao-pill:has(.gpd-plano-medida-error){
  border-color: rgba(225,89,90,0.75);
  box-shadow:0 0 0 3px rgba(225,89,90,0.16);
}
.gpd-plano-positivacao-input{
  width:40px;
  text-align:right;
  font-family:'JetBrains Mono', monospace;
  font-size:15px;
  font-weight:700;
  color: var(--accent);
  background:transparent;
  border:none;
  padding:0;
}
.gpd-plano-positivacao-input:focus{ outline:none; }
.gpd-plano-positivacao-input:disabled{ opacity:0.55; }
.gpd-plano-positivacao-suffix{
  font-family:'JetBrains Mono', monospace;
  font-size:15px;
  font-weight:700;
  color: var(--accent);
}

/* Separadores de trimestre nas colunas de mês (após Mar, Jun e Set) —
   linha #1 é o rótulo, então os meses são as colunas 2 a 13 (nth-child
   2..13); a borda vem depois de Mar (4ª), Jun (7ª) e Set (10ª). */
.gpd-plano-table th:nth-child(4),
.gpd-plano-table td:nth-child(4),
.gpd-plano-table th:nth-child(7),
.gpd-plano-table td:nth-child(7),
.gpd-plano-table th:nth-child(10),
.gpd-plano-table td:nth-child(10){
  border-right:2px solid rgba(242,183,5,0.4);
}

/* ---------- Medidas (ações individuais, Objetivo/Atingido editáveis) ---------- */
.gpd-plano-medidas-wrap{ margin-top:20px; }
.gpd-plano-medidas-wrap.hidden{ display:none; }
.gpd-plano-medidas-title{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:10px;
}
.gpd-plano-medidas-table-wrap{
  overflow-x:auto;
  background: linear-gradient(160deg, rgba(255,255,255,0.045), rgba(255,255,255,0.01) 60%), rgba(26,31,38,0.4);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 10px 24px -16px rgba(0,0,0,0.55);
  padding:6px;
}
/* border-spacing vertical (sem horizontal) separa as linhas em "cards"
   individuais flutuando dentro do wrap, sem abrir vão entre as colunas de
   uma mesma linha — cada <tr> vira um bloco arredondado próprio. */
.gpd-plano-medidas-table{ min-width:900px; width:100%; border-collapse:separate; border-spacing:0 8px; }
.gpd-plano-medidas-table thead th{
  text-align:left;
  letter-spacing:0.07em;
  padding:12px 14px;
  color:var(--text);
  font-weight:700;
  font-size:12.5px;
  background: rgba(255,255,255,0.04);
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.gpd-plano-medidas-table thead th.num{ text-align:center; }
.gpd-plano-medidas-table thead th:first-child{ border-radius:10px 0 0 0; }
.gpd-plano-medidas-table thead th:last-child{ border-radius:0 10px 0 0; }
.gpd-plano-medidas-table tbody td{
  padding:13px 14px;
  color:var(--text);
  vertical-align:middle;
  background:
    linear-gradient(160deg, rgba(255,255,255,0.055), rgba(255,255,255,0.015) 65%),
    rgba(255,255,255,0.025);
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.gpd-plano-medidas-table tbody td:first-child{
  border-left:1px solid rgba(255,255,255,0.08);
  border-radius:12px 0 0 12px;
}
.gpd-plano-medidas-table tbody td:last-child{
  border-right:1px solid rgba(255,255,255,0.08);
  border-radius:0 12px 12px 0;
}
.gpd-plano-medidas-table tbody tr:hover td{
  background:
    linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03) 65%),
    rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.16);
}
.gpd-plano-medidas-table td.name{ min-width:280px; color:var(--text); font-weight:500; }
.gpd-plano-medidas-table td.num{ text-align:center; }
.gpd-plano-medida-idx{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px; height:24px;
  border-radius:50%;
  background: rgba(242,183,5,0.16);
  color:var(--accent);
  font-weight:700;
  font-size:12px;
}

.gpd-plano-medida-cell{ position:relative; }
.gpd-plano-medida-input{
  width:84px;
  text-align:center;
  font-family:'JetBrains Mono', monospace;
  font-size:14px;
  font-weight:700;
  color:var(--text);
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:8px;
  padding:7px 8px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.gpd-plano-medida-input:hover{ border-color: rgba(255,255,255,0.26); }
.gpd-plano-medida-input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(242,183,5,0.14);
  background: rgba(255,255,255,0.08);
}
.gpd-plano-medida-input:disabled{ opacity:0.55; }
.gpd-plano-medida-suffix{
  margin-left:4px;
  font-size:12px;
  color:var(--text-faint);
}

/* Objetivo sempre em azul (--steel); Atingido muda entre verde (meta batida,
   Atingido >= Objetivo) e vermelho (ainda aberta) — recalculado ao vivo em
   gpdPlanoRecomputeMedidaRowPct conforme o usuário digita. */
.gpd-plano-medida-input--objetivo{
  border-color: rgba(79,154,192,0.45);
  background: rgba(79,154,192,0.12);
  color: var(--steel);
}
.gpd-plano-medida-input--objetivo:focus{
  border-color: var(--steel);
  box-shadow:0 0 0 3px rgba(79,154,192,0.2);
  background: rgba(79,154,192,0.16);
}
.gpd-plano-medida-input--atingido.is-fechado{
  border-color: rgba(79,174,124,0.5);
  background: rgba(79,174,124,0.14);
  color: var(--good);
}
.gpd-plano-medida-input--atingido.is-fechado:focus{
  border-color: var(--good);
  box-shadow:0 0 0 3px rgba(79,174,124,0.2);
}
.gpd-plano-medida-input--atingido.is-aberto{
  border-color: rgba(225,89,90,0.5);
  background: rgba(225,89,90,0.14);
  color: var(--bad);
}
.gpd-plano-medida-input--atingido.is-aberto:focus{
  border-color: var(--bad);
  box-shadow:0 0 0 3px rgba(225,89,90,0.2);
}

.gpd-plano-medida-input.gpd-plano-medida-saved{
  border-color: rgba(79,174,124,0.7);
  box-shadow:0 0 0 3px rgba(79,174,124,0.18);
  background: rgba(79,174,124,0.12);
}
.gpd-plano-medida-input.gpd-plano-medida-error{
  border-color: rgba(225,89,90,0.75);
  box-shadow:0 0 0 3px rgba(225,89,90,0.16);
}
.gpd-plano-medidas-table .pill{
  font-size:13px;
  padding:4px 11px;
  border-radius:16px;
  font-weight:700;
}

/* ---------- Negócios não Realizados (herda o essencial de .gpd-plano-medida-*
   acima; só o que é diferente daqui pra baixo) ---------- */
.gpd-plano-medidas-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.gpd-plano-medidas-title-row .gpd-plano-medidas-title{ margin-bottom:0; }
.gpd-plano-add-row-btn{ margin-top:0; padding:7px 14px; font-size:12.5px; }
.gpd-plano-negocios-table{ min-width:1040px; }
.gpd-plano-negocio-input-text{ width:140px; text-align:left; font-family:'Inter', sans-serif; font-weight:500; font-size:13.5px; }
.gpd-plano-negocio-row-local td{ background: rgba(242,183,5,0.04); }
.gpd-plano-negocio-row-local .gpd-plano-medida-idx{ background: rgba(255,255,255,0.08); color: var(--text-dim); }

/* Rodapé de totais (Total não Realizado / Total de pedidos fechados /
   Participação / Positivações / % Perdido / R$ Médio) — tudo fórmula da
   planilha, só leitura; mesmo vocabulário de vidro dos tiles de KPI do
   topo, só compacto. */
.gpd-plano-negocios-summary{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
.gpd-plano-negocios-summary.hidden{ display:none; }
.gpd-plano-negocios-summary-row{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.gpd-plano-negocios-summary-box{
  background:
    linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01) 60%),
    rgba(26,31,38,0.4);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:12px 16px;
}
.gpd-plano-negocios-summary-box--accent{
  background: linear-gradient(180deg, rgba(242,183,5,0.18), rgba(242,183,5,0.05));
  border-color: rgba(242,183,5,0.32);
}
.gpd-plano-negocios-summary-label{
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:0.09em;
  color:var(--text-faint);
  font-weight:600;
  margin-bottom:6px;
}
.gpd-plano-negocios-summary-val{ font-family:'JetBrains Mono', monospace; font-size:17px; font-weight:700; color:var(--text); }
.gpd-plano-negocios-summary-box--accent .gpd-plano-negocios-summary-val{ color: var(--accent); }
.gpd-plano-negocios-summary-val--bad{ color: var(--bad); }
.gpd-plano-negocios-summary-sub{ font-family:'JetBrains Mono', monospace; font-size:12.5px; color:var(--text-dim); margin-top:2px; }
