/* =========================================================
   PAINEL E DASHBOARD — Painel Gerencial, Dashboard, atualizar status com
   respostas prontas, selo Simples Nacional e troca obrigatória da senha.
   Os arquivos de CSS são carregados nesta ordem (a ordem importa):
   base.css · componentes.css · consulta-cliente-e-formularios.css · produto-e-empresas.css · painel-e-dashboard.css · planilhas.css
   ========================================================= */

/* =========================================================
   PATCH 5 (03/10/2026) — Painel Gerencial novo, Dashboard novo e
   respostas prontas. Sem textos de explicação na tela.
   ========================================================= */

/* ─── Controles em "segmento" (período, ordenação, status) ─── */
.pg-seg { display: inline-flex; background: var(--gray-100); border-radius: var(--radius-md); padding: 3px; gap: 2px; flex-wrap: wrap; }
.pg-seg button { padding: 6px 12px; border-radius: 8px; font-size: 0.8rem; color: var(--gray-600); font-weight: 500; background: none; border: 0; cursor: pointer; }
.pg-seg button:hover { color: var(--gray-900); }
.pg-seg button.on { background: #fff; color: var(--gray-900); box-shadow: var(--shadow-sm); font-weight: 600; }

/* ─── Painel ─── */
.pg-header { align-items: center; margin-bottom: 18px; }
.pg-acoes { flex-wrap: wrap; gap: 8px; }
.pg-sec { font-size: 0.95rem; font-weight: 700; color: var(--gray-800); margin: 26px 0 10px; }
.pg-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pg-kpis.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-kpi { background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 16px 18px; }
.pg-kpi .l { font-size: 0.78rem; color: var(--gray-500); font-weight: 500; }
.pg-kpi .v { font-size: 1.9rem; font-weight: 800; color: var(--gray-900); line-height: 1.15; margin-top: 4px; font-variant-numeric: tabular-nums; }
.pg-kpi .v small, .pg-setor-tempo small { font-size: 0.8rem; font-weight: 500; color: var(--gray-500); margin-left: 4px; }
.pg-kpi .s { font-size: 0.76rem; color: var(--gray-500); margin-top: 4px; }
.pg-kpi.alerta { background: #FFFBEB; border-color: #FDE68A; }
.pg-kpi.alerta .s b { color: #B91C1C; }
.pg-trend { font-size: 0.76rem; font-weight: 600; white-space: nowrap; }
.pg-trend.bom { color: #047857; }
.pg-trend.ruim { color: #B91C1C; }
.pg-trend.igual { color: var(--gray-500); }
.pg-setores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pg-setor { background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 16px 18px; position: relative; overflow: hidden; }
.pg-setor::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--cor); }
.pg-setor-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pg-setor-top .nome { font-weight: 700; font-size: 0.9rem; color: var(--gray-800); }
.pg-setor-tempo { font-size: 2rem; font-weight: 800; color: var(--gray-900); margin: 6px 0 2px; font-variant-numeric: tabular-nums; }
.pg-semanas { display: flex; align-items: flex-end; gap: 4px; height: 38px; margin-top: 12px; }
.pg-semanas i { flex: 1; background: var(--gray-200); border-radius: 3px 3px 0 0; min-height: 3px; }
.pg-semanas i.atual { background: var(--cor); }
.pg-setor-meta { display: flex; gap: 14px; font-size: 0.78rem; color: var(--gray-500); margin-top: 10px; flex-wrap: wrap; }
.pg-setor-meta b { color: var(--gray-800); }
.pg-card { overflow: hidden; }
.pg-card-top { padding: 12px 14px; border-bottom: 1px solid var(--gray-100); display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: center; }
.pg-legenda { display: flex; gap: 14px; font-size: 0.76rem; color: var(--gray-600); flex-wrap: wrap; }
.pg-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.pg-legenda i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.pg-tabela { overflow-x: auto; }
.pg-tv { width: 100%; border-collapse: collapse; }
.pg-tv th { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gray-500); text-align: left; padding: 10px 14px; background: var(--gray-50); font-weight: 600; border-bottom: 1px solid var(--gray-100); }
.pg-tv td { padding: 10px 14px; border-bottom: 1px solid var(--gray-100); vertical-align: middle; font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.pg-tv tr:last-child td { border-bottom: 0; }
.pg-tv .num { text-align: right; width: 90px; }
.pg-equipe td { background: #FAFBFF; font-weight: 700; cursor: pointer; }
.pg-equipe td:first-child::before { content: '▸'; display: inline-block; width: 16px; color: var(--gray-400); transition: transform var(--transition-fast); }
.pg-equipe.aberta td:first-child::before { transform: rotate(90deg); }
.pg-vend td:first-child { padding-left: 34px; color: var(--gray-700); }
.pg-vend.oculto { display: none; }
.pg-voce { font-size: 0.68rem; background: var(--primary-50); color: var(--primary-700); border-radius: var(--radius-full); padding: 1px 7px; margin-left: 6px; font-weight: 600; }
.pg-barra-wrap { display: flex; align-items: center; gap: 10px; min-width: 140px; }
.pg-barra-wrap b { min-width: 24px; text-align: right; }
.pg-barra { flex: 1; display: flex; gap: 2px; height: 14px; }
.pg-barra span { display: block; height: 100%; }
.pg-barra span:first-child { border-radius: 4px 0 0 4px; }
.pg-barra span:last-child { border-radius: 0 4px 4px 0; }
.pg-barra span:only-child { border-radius: 4px; }
.pg-pct { font-size: 0.74rem; color: var(--gray-400); }
.pg-pct.alto { color: #B91C1C; font-weight: 600; }
.pg-tipo { font-size: 0.8rem; color: var(--gray-600); }
.pg-duas { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 14px; }
.pg-paradas { list-style: none; margin: 0; padding: 0; }
.pg-paradas li { display: flex; gap: 10px; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--gray-100); cursor: pointer; }
.pg-paradas li:hover { background: var(--gray-50); }
.pg-paradas li:last-child { border-bottom: 0; }
.pg-paradas .p { font-weight: 700; font-size: 0.82rem; min-width: 92px; }
.pg-paradas .t { flex: 1; min-width: 0; font-size: 0.82rem; color: var(--gray-600); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-paradas .h { font-weight: 700; font-size: 0.82rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pg-paradas .h.vermelho { color: #B91C1C; }
.pg-tipos { padding: 10px 16px 14px; }
.pg-tipo-l { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: 4px 10px; align-items: center; margin-top: 8px; }
.pg-tipo-l .n { font-size: 0.8rem; color: var(--gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-tipo-l .q { font-size: 0.8rem; font-weight: 700; text-align: right; grid-row: span 2; font-variant-numeric: tabular-nums; }
.pg-tipo-l .b { height: 8px; border-radius: 0 4px 4px 0; }
.pg-dica { position: fixed; pointer-events: none; background: var(--gray-900); color: #fff; font-size: 0.76rem; padding: 7px 10px; border-radius: 8px; box-shadow: var(--shadow-lg); opacity: 0; transition: opacity 0.1s; z-index: 400; max-width: 260px; }

/* ─── Dashboard ─── */
.dash-ola { background: linear-gradient(135deg, var(--primary-800) 0%, var(--primary-600) 60%, var(--primary-400) 100%); border-radius: var(--radius-xl); padding: 18px 22px; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.dash-ola h2 { font-size: 1.2rem; font-weight: 800; }
.dash-ola p { font-size: 0.8rem; opacity: 0.8; }
.dash-ola-acoes { display: flex; gap: 8px; flex-wrap: wrap; position: relative; }
.dash-ola-acoes > button { background: rgba(255,255,255,0.14); color: #fff; border: 1px solid rgba(255,255,255,0.3); border-radius: var(--radius-md); padding: 8px 14px; font-size: 0.84rem; font-weight: 600; cursor: pointer; }
.dash-ola-acoes > button:hover { background: rgba(255,255,255,0.24); }
.dash-ola-acoes > button.forte { background: #fff; color: var(--primary-700); border-color: #fff; }
.dash-menu { position: absolute; right: 0; top: calc(100% + 8px); width: 300px; background: #fff; border-radius: 12px; box-shadow: var(--shadow-xl); padding: 6px; z-index: 60; color: var(--gray-800); }
.dash-menu .tit { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-400); padding: 6px 10px 4px; }
.dash-menu .sep { border-top: 1px solid var(--gray-100); margin: 4px 0; }
.dash-menu button { display: flex; width: 100%; align-items: center; gap: 10px; text-align: left; padding: 9px 10px; border-radius: 8px; background: none; border: 0; cursor: pointer; }
.dash-menu button:hover { background: var(--gray-50); }
.dash-menu i { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.dash-menu b { display: block; font-size: 0.86rem; font-weight: 600; }
.dash-menu span span { display: block; font-size: 0.74rem; color: var(--gray-500); }
.dash-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.dash-card { background: #fff; border: 1.5px solid var(--gray-100); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 14px 16px; text-align: left; display: flex; align-items: center; gap: 12px; cursor: pointer; font: inherit; color: inherit; }
.dash-card:hover { border-color: var(--gray-300); }
.dash-card.on { border-color: var(--primary-500); box-shadow: 0 0 0 3px var(--primary-50); }
.dash-card.alerta { background: #FFFBEB; border-color: #FDE68A; }
.dash-card.alerta.on { border-color: var(--warning); box-shadow: 0 0 0 3px #FEF3C7; }
.dash-card-ic { width: 38px; height: 38px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dash-card-ic svg { width: 20px; height: 20px; }
.dash-card.pend .dash-card-ic { background: var(--status-pending-bg); color: var(--status-pending-dot); }
.dash-card.and .dash-card-ic { background: var(--status-andamento-bg); color: var(--status-andamento-dot); }
.dash-card.resp .dash-card-ic { background: var(--status-concluido-bg); color: var(--status-concluido-dot); }
.dash-card.parada .dash-card-ic { background: #FEF3C7; color: #B45309; }
.dash-card-v { display: block; font-size: 1.6rem; font-weight: 800; color: var(--gray-900); line-height: 1; font-variant-numeric: tabular-nums; }
.dash-card-l { display: block; font-size: 0.78rem; color: var(--gray-500); font-weight: 500; margin-top: 3px; }
.dash-pill { display: inline-block; background: var(--primary-600); color: #fff; border-radius: var(--radius-full); font-size: 0.66rem; font-weight: 700; padding: 1px 7px; margin-left: 6px; vertical-align: 1px; }
.dash-lista-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.dash-lista-h h3 { font-size: 0.95rem; font-weight: 700; color: var(--gray-800); }
.dash-tabela tbody tr { cursor: pointer; }
.dash-resp { color: var(--gray-600); max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.82rem; }
.dash-resp.vazia { color: var(--gray-400); }
.dash-quando { color: var(--gray-400); font-size: 0.78rem; white-space: nowrap; }
.dash-nova { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--primary-500); margin-right: 6px; vertical-align: middle; }
.dash-cliente { white-space: nowrap; }
.dash-razao { color: var(--gray-500); font-size: 0.78rem; }
.dash-parada { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--gray-800); }
.dash-parada.vermelho { color: #B91C1C; }
.dash-itens { display: none; background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-lg); overflow: hidden; }
.dash-item { display: block; width: 100%; text-align: left; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--gray-100); background: #fff; cursor: pointer; font: inherit; color: inherit; }
.dash-item:last-child { border-bottom: 0; }
.dash-item span { display: block; }
.dash-item .l1 { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 0.86rem; }
.dash-item .l2 { font-size: 0.82rem; color: var(--gray-700); margin-top: 4px; }
.dash-item .l3 { font-size: 0.78rem; color: var(--gray-500); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ─── Atualizar status + respostas prontas ─── */
.status-seg { display: flex; width: fit-content; }
.obs-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; position: relative; margin-bottom: 6px; }
.obs-h .form-label { margin: 0; }
.btn-pronta { display: inline-flex; align-items: center; gap: 6px; font-size: 0.78rem; font-weight: 600; color: var(--primary-700); padding: 4px 10px; border-radius: var(--radius-full); background: var(--primary-50); border: 1px solid var(--primary-100); cursor: pointer; }
.btn-pronta:hover { background: var(--primary-100); }
.btn-pronta svg { width: 14px; height: 14px; }
.btn-pronta .n { background: var(--primary-600); color: #fff; border-radius: var(--radius-full); font-size: 0.68rem; padding: 0 6px; line-height: 16px; }
.menu-pronta { position: absolute; right: 0; top: calc(100% + 6px); width: min(420px, 100%); background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; box-shadow: var(--shadow-xl); padding: 6px; z-index: 60; }
.menu-pronta button { display: block; width: 100%; text-align: left; padding: 9px 10px; border-radius: 8px; background: none; border: 0; cursor: pointer; }
.menu-pronta button:hover, .menu-pronta button:focus-visible { background: var(--gray-50); outline: none; }
.menu-pronta b { display: block; font-size: 0.84rem; color: var(--gray-900); font-weight: 600; }
.menu-pronta span { display: block; font-size: 0.78rem; color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.menu-pronta .sep { font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-400); padding: 8px 10px 2px; border-top: 1px solid var(--gray-100); margin-top: 4px; }
.obs-flash { animation: obsFlash 0.6s; }
@keyframes obsFlash { from { background: #FEF9C3; } to { background: #fff; } }

@media (max-width: 1024px) {
  .pg-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-kpis.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pg-setores, .pg-duas { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  .pg-header { flex-direction: column; align-items: stretch; }
  .pg-kpi .v { font-size: 1.5rem; }
  .pg-kpis.tres .pg-kpi { padding: 12px; }
  .pg-kpis.tres .pg-kpi .v { font-size: 1.3rem; }
  .pg-tv .col-opc, .pg-paradas .col-opc { display: none; }
  .pg-tv th, .pg-tv td { padding: 9px 10px; }
  .pg-vend td:first-child { padding-left: 26px; }
  .pg-barra-wrap { min-width: 80px; }
  .dash-ola { padding: 16px; }
  .dash-ola-acoes { width: 100%; }
  .dash-ola-acoes > button { flex: 1; padding: 8px 6px; }
  .dash-menu { width: 100%; }
  .dash-cards { gap: 8px; }
  .dash-card { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; }
  .dash-card-ic { width: 30px; height: 30px; }
  .dash-card-v { font-size: 1.3rem; }
  .dash-card-l { font-size: 0.72rem; }
  .dash-tabela { display: none; }
  .dash-itens { display: block; }
  .status-seg { width: 100%; }
  .status-seg button { flex: 1; }
  .menu-pronta { width: 100%; }
}
/* Patch 6: selo Simples Nacional na ficha do cliente (Pedro) */
.cc-simples { background: #FEF3C7; color: #92400E; font-size: 0.7rem; }
.cc-simples::before { display: none; }
/* Patch de segurança: troca obrigatória da senha provisória */
.troca-senha-wrap { min-height: 100vh; width: 100%; display: flex; align-items: center; justify-content: center; padding: 24px 16px; background: var(--gray-50, #F8FAFC); }
.troca-senha-card { width: 100%; max-width: 420px; }
.troca-senha-card h2 { font-size: 1.25rem; margin: 12px 0 6px; color: var(--gray-900, #0F172A); }
.troca-senha-icone { width: 44px; height: 44px; border-radius: 50%; background: var(--primary-50, #EFF6FF); color: var(--primary-600); display: flex; align-items: center; justify-content: center; }
.troca-senha-icone svg { width: 22px; height: 22px; }
.troca-senha-texto { font-size: 0.875rem; color: var(--gray-500); margin-bottom: 18px; line-height: 1.5; }
.troca-senha-btn { width: 100%; justify-content: center; }
.troca-senha-sair { width: 100%; justify-content: center; margin-top: 8px; }

/* ── Dashboard: filtros da lista (patch 15) ─────────────────────── */
.dash-filtros { background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 10px 12px; margin-bottom: 12px; display: flex; flex-direction: column; gap: 10px; }
.dash-f-linha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dash-f-busca { flex: 1 1 260px; min-width: 0; display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; border: 1.5px solid var(--gray-200); border-radius: var(--radius-md); background: var(--gray-50); color: var(--gray-400); transition: var(--transition-fast); }
.dash-f-busca:focus-within { border-color: var(--primary-400); background: #fff; box-shadow: 0 0 0 3px var(--primary-50); }
.dash-f-busca svg { width: 16px; height: 16px; flex-shrink: 0; }
.dash-f-busca input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font: inherit; font-size: 0.86rem; color: var(--gray-800); }
.dash-f-extra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dash-f-campo { display: flex; align-items: center; gap: 8px; }
.dash-f-campo > span, .dash-f-rot { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-400); }
.dash-f-campo select { height: 38px; max-width: 280px; padding: 0 30px 0 12px; border: 1.5px solid var(--gray-200); border-radius: var(--radius-md); background: #fff; font: inherit; font-size: 0.84rem; color: var(--gray-800); cursor: pointer; }
.dash-f-campo select:focus { outline: none; border-color: var(--primary-400); box-shadow: 0 0 0 3px var(--primary-50); }
.dash-f-ordem { display: inline-flex; background: var(--gray-100); border-radius: var(--radius-md); padding: 3px; }
.dash-f-ordem button { border: 0; background: transparent; height: 32px; padding: 0 12px; border-radius: 7px; font: inherit; font-size: 0.8rem; font-weight: 600; color: var(--gray-500); cursor: pointer; white-space: nowrap; }
.dash-f-ordem button.on { background: #fff; color: var(--primary-700); box-shadow: var(--shadow-sm); }
.dash-f-empresas { padding-top: 10px; border-top: 1px dashed var(--gray-100); }
.dash-f-empresas .emp-escolha { justify-content: flex-start; min-height: 0; }
.dash-f-empresas .emp-opcao { height: 30px; padding: 0 12px; font-size: 0.78rem; }
.dash-f-toggle { display: none; }
.dash-f-cont { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--primary-600); color: #fff; font-size: 0.68rem; display: inline-flex; align-items: center; justify-content: center; }
.dash-f-resumo { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 0.78rem; color: var(--gray-500); padding-top: 8px; border-top: 1px solid var(--gray-100); }
.dash-mais { display: flex; justify-content: center; margin-top: 12px; }

@media (max-width: 768px) {
  .dash-filtros { padding: 10px; }
  .dash-f-linha { gap: 8px; }
  .dash-f-busca { flex: 1 1 0; }
  .dash-f-toggle { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1.5px solid var(--gray-200); border-radius: var(--radius-md); background: #fff; color: var(--gray-700); font: inherit; font-size: 0.82rem; font-weight: 600; cursor: pointer; }
  .dash-f-toggle svg { width: 16px; height: 16px; }
  .dash-f-toggle[aria-expanded="true"] { border-color: var(--primary-400); color: var(--primary-600); }
  .dash-filtros:not(.aberto) .dash-f-extra,
  .dash-filtros:not(.aberto) .dash-f-empresas { display: none; }
  .dash-f-extra { flex: 1 1 100%; flex-direction: column; align-items: stretch; }
  .dash-f-campo { flex-direction: column; align-items: stretch; gap: 4px; }
  .dash-f-campo select { max-width: none; width: 100%; }
  .dash-f-ordem { display: flex; }
  .dash-f-ordem button { flex: 1; }
  .dash-f-empresas { flex-direction: column; align-items: stretch; gap: 6px; }
}
.dash-item .l3 .badge, .dash-item .l1 .badge { display: inline-flex; }

/* ── Todas as Solicitações: cartões de status viram filtro (patch 15) ── */
.stats-filtro { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.stat-filtro { font: inherit; color: inherit; text-align: left; cursor: pointer; align-items: center; padding: 14px 16px; border-width: 1.5px; }
.stat-filtro .stat-icon { width: 38px; height: 38px; }
.stat-filtro .stat-icon svg { width: 20px; height: 20px; }
.stat-filtro:hover { transform: none; border-color: var(--gray-300); }
.stat-filtro.on { border-color: var(--primary-500); box-shadow: 0 0 0 3px var(--primary-50); }
.stat-filtro.alerta { background: #FFFBEB; border-color: #FDE68A; }
.stat-filtro.alerta.on { border-color: var(--warning); box-shadow: 0 0 0 3px #FEF3C7; }
.stat-icon.parada { background: #FEF3C7; color: #B45309; }
.painel-filtros .dash-f-empresas { align-items: flex-end; }
.painel-f-emp { flex-direction: row; }
.painel-f-solic input { height: 38px; width: 220px; padding: 0 12px; border: 1.5px solid var(--gray-200); border-radius: var(--radius-md); font: inherit; font-size: 0.84rem; color: var(--gray-800); background: #fff; }
.painel-f-solic input:focus { outline: none; border-color: var(--primary-400); box-shadow: 0 0 0 3px var(--primary-50); }
.painel-filtros .dash-f-campo select { min-width: 150px; }
.dash-f-resumo b { color: var(--gray-700); font-weight: 600; }
@media (max-width: 1100px) { .stats-filtro { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) {
  .stats-filtro { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: unset; }
  .stat-filtro { flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 10px 4px; }
  .stat-filtro .stat-icon { width: 28px; height: 28px; }
  .stat-filtro .stat-icon svg { width: 15px; height: 15px; }
  .painel-f-emp { flex-direction: column; }
  .painel-filtros .dash-f-empresas > .dash-f-campo { width: 100%; }
  .painel-f-solic input { width: 100%; }
}
/* Filtro de várias empresas (patch 15): sem "Todas"; nada marcado = todas. */
.emp-multi-linha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* ── Dashboard do vendedor mais simples (30/10/2026, rodada 82) ──────
   Computador: "Pedido" (setor + tipo) e "Cliente" (SOLD + razão social).
   Celular: saudação baixa, atalhos 2×2, números numa faixa e cada pedido com
   o cliente e a resposta (o que ainda não foi visto fica marcado). */
.vd-tabela .vd-pedido { white-space: nowrap; }
.vd-tabela .vd-pedido .badge { margin-right: 8px; }
.vd-tabela .vd-cliente { max-width: 230px; overflow: hidden; text-overflow: ellipsis; }
.vd-tabela tr.vd-nova td { background: #F5F9FF; }
.vd-tabela tr.vd-nova .dash-resp { color: var(--gray-900); font-weight: 600; }
.vd-item { position: relative; }
.vd-item.nova { box-shadow: inset 3px 0 0 var(--primary-500); background: #F8FBFF; }
.vd-item .l2 { display: flex !important; align-items: center; gap: 7px; font-weight: 600; color: var(--gray-800); }
.vd-setor { width: 8px; height: 8px; border-radius: 3px; flex-shrink: 0; background: var(--gray-300); }
.vd-setor.vd-fin { background: #7C3AED; } .vd-setor.vd-com { background: #BE185D; } .vd-setor.vd-ti { background: #0D9488; } .vd-setor.vd-fat { background: #D97706; }
.vd-item .vd-cli { font-size: 0.8rem; color: var(--gray-600); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 64px; }
.vd-item .vd-cli b { color: var(--gray-800); font-weight: 600; }
.vd-item .vd-resp { display: flex !important; gap: 7px; align-items: flex-start; margin-top: 7px; padding: 7px 9px; background: var(--gray-50); border-radius: 8px; font-size: 0.8rem; color: var(--gray-700); }
.vd-item .vd-resp svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; color: var(--gray-400); }
.vd-item .vd-resp span { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vd-item.nova .vd-resp { background: #EFF6FF; color: var(--gray-900); font-weight: 500; }
.vd-item.nova .vd-resp svg { color: var(--primary-500); }
.vd-item .vd-espera { font-size: 0.76rem; color: var(--gray-500); margin-top: 5px; font-style: italic; }
.vd-item .vd-quando { position: absolute; right: 14px; top: 39px; font-size: 0.72rem; color: var(--gray-400); }
@media (max-width: 768px) {
  .dash-ola { padding: 12px 14px; gap: 10px; margin-bottom: 12px; }
  .dash-ola h2 { font-size: 1.05rem; }
  .dash-ola p { font-size: 0.74rem; }
  .dash-ola-acoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .dash-ola-acoes > button { padding: 8px 6px; font-size: 0.8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .dash-ola-acoes > button:only-child { grid-column: 1 / -1; }
  .dash-cards { margin-bottom: 14px; }
  .dash-card { flex-direction: row; align-items: center; justify-content: center; gap: 0; padding: 9px 4px; text-align: center; }
  .dash-card-ic { display: none; }
  .dash-card-v { font-size: 1.25rem; }
  .dash-card-l { font-size: 0.68rem; line-height: 1.2; }
  .dash-card .dash-pill { display: table; margin: 3px auto 0; }
  .dash-lista-h { margin-bottom: 8px; }
}
/* Minhas Solicitações no celular: cartões (rodada 82). */
.minhas-itens { display: none; }
@media (max-width: 768px) {
  .minhas-tabela { display: none; }
  .minhas-itens { display: block; }
}
.vd-item .l1 b { display: inline-flex; align-items: center; }
.vd-item .l1 b .dash-nova { margin-right: 6px; }
@media (max-width: 768px) {
  .filtros-recolhiveis .filter-group-busca > label { display: none; }
  .filter-bar.filtros-recolhiveis { padding: 10px; gap: 8px; }
}
.vd-tabela .dash-resp { max-width: 230px; }

/* ── Fila dos setores no visual das aprovações (30/10/2026, rodada 82) ──
   Situação (status + com quem) numa coluna, ação na linha e páginas. */
.fila-tabela th, .fila-tabela td { vertical-align: middle; }
.fila-tipo { max-width: 170px; }
.fila-cliente { max-width: 200px; }
.fila-tabela .col-nome { white-space: nowrap; }
.fila-tabela th, .fila-tabela td { padding-left: 12px; padding-right: 12px; }
.fila-cliente b { display: block; }
.fila-cliente .dash-razao { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; }
.fila-sit { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.fila-quem { display: block; font-size: 0.76rem; color: var(--gray-500); margin-top: 3px; white-space: nowrap; }
.fila-voce { color: var(--primary-700); font-weight: 700; }
.fila-ninguem { color: #B45309; font-weight: 600; }
.fila-th-tempo, .fila-td-tempo { text-align: right; white-space: nowrap; }
.fila-th-acao, .fila-td-acao { text-align: right; width: 1%; white-space: nowrap; }
.fila-tabela tr.fila-livre td:first-child { box-shadow: inset 3px 0 0 #F59E0B; }
.fila-btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 8px; border: 1px solid transparent; font: inherit; font-size: 0.8rem; font-weight: 700; cursor: pointer; transition: background .15s, box-shadow .15s; white-space: nowrap; }
.fila-btn svg { width: 15px; height: 15px; }
.fila-btn.pegar { background: #16A34A; color: #fff; }
.fila-btn.pegar:hover { background: #15803D; box-shadow: 0 2px 8px rgba(22,163,74,.3); }
.fila-btn.responder { background: var(--primary-600); color: #fff; }
.fila-btn.responder:hover { background: var(--primary-700); box-shadow: 0 2px 8px rgba(37,99,235,.3); }
.fila-btn.ver { background: #fff; color: var(--gray-600); border-color: var(--gray-200); }
.fila-btn.ver:hover { border-color: var(--primary-300); color: var(--primary-700); }
.fila-btn:disabled { opacity: .7; cursor: default; }
.fila-item .l1 b { display: inline-flex; align-items: center; gap: 6px; }
.fila-item .l2 { font-weight: 600; color: var(--gray-800); }
.fila-item .fila-cli { font-size: 0.8rem; color: var(--gray-600); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fila-item .fila-cli b { display: inline; margin-right: 6px; color: var(--gray-800); }
.fila-item .fila-cli .dash-razao { display: inline; }
.fila-item .l3 { display: flex !important; align-items: center; flex-wrap: wrap; gap: 4px 8px; white-space: normal; margin-top: 6px; }
.fila-item .l3 .fila-quem { display: inline; margin: 0; }
.fila-item .fila-de { font-size: 0.74rem; color: var(--gray-400); }
.fila-item .fila-acao-cel { margin-top: 10px; }
.fila-item .fila-acao-cel .fila-btn { width: 100%; justify-content: center; height: 40px; }
.fila-item.fila-livre { box-shadow: inset 3px 0 0 #F59E0B; }
.fila-data { display: block; font-size: 0.7rem; color: var(--gray-400); margin-top: 3px; white-space: nowrap; }
/* Supervisor (coluna "Aberto por"): nomes numa linha e colunas mais estreitas para caber a tabela (rodada 82). */
.vd-tabela .col-nome { white-space: nowrap; }
.vd-tabela.com-autor .vd-cliente, .vd-tabela.com-autor .dash-resp { max-width: 170px; }
.vd-tabela.com-autor .vd-pedido .badge { display: none; }
.vd-tabela.com-autor th, .vd-tabela.com-autor td { padding-left: 10px; padding-right: 10px; }
/* Rodada 83: atalho para o Atendimento do setor (no lugar do "Tempo médio por setor") */
.pg-atalho { margin: 4px 0 14px; font-size: 0.85rem; color: var(--gray-500); }
