/* Estilos só da tela empresas (use os tokens de estilo.css). Prefixo emp-. */
.modal:has(.emp-largo) { width: min(860px, calc(100% - 24px)); }
.emp-aviso { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 14px; text-decoration: none; font-weight: 600; min-height: 44px; }
.emp-aviso svg { width: 18px; height: 18px; flex: none; }
.emp-total { background: var(--marinho); color: #fff; }
.emp-total span { color: rgba(255, 255, 255, 0.78); }
.emp-gerenciar { margin: -8px 0 8px; text-align: right; }
.emp-gerenciar .link { display: inline-block; margin: 0; min-height: 44px; }

.emp-filtros input[type="search"] { flex: 1 1 260px; }
.emp-filtros select { flex: 1 1 170px; max-width: 260px; }
.emp-mais { min-height: 42px; }
.emp-filtros-extra { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; align-items: center; }
.emp-filtros-extra .link { margin: 0; display: inline-block; }

.emp-selecao { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; background: var(--ok-fundo); border-radius: var(--raio); padding: 10px 14px; margin-bottom: 12px; }
.emp-selecao b { color: var(--verde); }
.emp-selecao .link { margin: 0; display: inline-block; min-height: 44px; padding: 0 8px; }
.emp-dica { margin: 0 0 10px; }

.emp-col-marca { width: 52px; }
.emp-marca { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.emp-marca input { width: 20px; height: 20px; accent-color: var(--verde); }
.emp-celula { display: flex; align-items: center; gap: 10px; }
.emp-mono { flex: none; width: 38px; height: 38px; border-radius: 12px; background: var(--marinho); color: #fff; display: grid; place-items: center; font: 700 0.8rem Sora, Inter, sans-serif; }
.emp-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.emp-tags span { font-size: 0.72rem; color: var(--verde); background: var(--ok-fundo); border-radius: 6px; padding: 2px 7px; }
.emp-donos { display: grid; gap: 4px; font-size: 0.82rem; }
.emp-donos b { display: inline-block; min-width: 74px; color: var(--texto-3); font-weight: 500; }
.emp-donos .fila { color: var(--texto-3); font-style: italic; }
.emp-rodape { margin-top: 10px; }

/* modais */
.emp-modal h3 { font-size: 1rem; margin: 18px 0 6px; }
.emp-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.emp-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 14px 0 0; }
.emp-dados div { background: var(--fundo); border-radius: 12px; padding: 10px 12px; }
.emp-dados dt { font-size: 0.75rem; color: var(--texto-3); }
.emp-dados dd { margin: 2px 0 0; font-weight: 600; }
.emp-dados dd small { display: block; font-weight: 400; color: var(--texto-3); }
.emp-resumo-resp { display: grid; gap: 6px; }
.emp-resumo-resp p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 8px 0; border-bottom: 1px solid var(--linha); }
.emp-resumo-resp p.vazio-resp span { color: var(--texto-3); }
.emp-acoes { flex-wrap: wrap; }
.emp-acoes .botao { text-decoration: none; min-height: 44px; }

.emp-setores, .emp-impacto { border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px; margin-top: 16px; }
.emp-impacto { background: var(--fundo); }
.emp-setores h3, .emp-impacto h3 { margin-top: 0; }
.emp-setor { display: grid; grid-template-columns: minmax(90px, 0.7fr) minmax(140px, 0.8fr) 1.2fr; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--linha); }
.emp-setor.desligado b { color: var(--texto-3); }
.emp-setor select { min-height: 44px; border: 1px solid var(--linha); border-radius: 10px; padding: 0 10px; background: #fff; width: 100%; }
.emp-alvo { min-height: 44px; padding: 0; }
.emp-link { display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0; min-height: 44px; }
.emp-link svg { width: 16px; height: 16px; }
.emp-novo-depto { margin-top: 8px; }
.emp-novo-depto .acoes-tela { margin-top: 8px; justify-content: flex-end; }

.emp-politica { border: 0; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.emp-politica legend { font-weight: 600; font-size: 0.9rem; margin-bottom: 6px; }
.emp-politica label { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--linha); border-radius: 12px; padding: 12px; cursor: pointer; min-height: 44px; }
.emp-politica label.escolhida { border-color: var(--verde); background: var(--ok-fundo); }
.emp-politica input { width: 20px; height: 20px; accent-color: var(--verde); margin-top: 2px; }
.emp-politica small { display: block; color: var(--texto-2); }
.emp-etapas { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 8px; }
.emp-etapas li { display: grid; grid-template-columns: 32px 1fr minmax(160px, 1fr); gap: 10px; align-items: center; }
.emp-etapas small { display: block; color: var(--texto-3); }
.emp-etapas select { min-height: 44px; border: 1px solid var(--linha); border-radius: 10px; padding: 0 10px; background: #fff; width: 100%; }
.emp-num { width: 28px; height: 28px; border-radius: 50%; background: var(--degrade); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 0.85rem; }

.emp-previa { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 6px; max-height: 220px; overflow-y: auto; }
.emp-previa small { display: block; color: var(--texto-3); }

.emp-situacoes { list-style: none; padding: 0; margin: 14px 0 0; }
.emp-situacoes li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 0; border-bottom: 1px solid var(--linha); }
.emp-situacoes li b { flex: 1; }
.emp-add { margin-top: 12px; }

.emp-import-acoes { margin: 12px 0; }
.emp-upload { display: flex; flex-direction: column; align-items: center; gap: 4px; border: 2px dashed var(--linha); border-radius: var(--raio); padding: 22px; cursor: pointer; text-align: center; color: var(--texto-2); }
.emp-upload:hover { border-color: var(--verde); background: var(--ok-fundo); }
.emp-upload svg { width: 26px; height: 26px; color: var(--verde); }
.emp-upload.ocupado { opacity: 0.6; pointer-events: none; }
.emp-previa-tabela { max-height: 320px; overflow-y: auto; }
.emp-previa-titulo { margin-top: 16px; }
.emp-modal .erro p { margin: 0 0 4px; }

@media (max-width: 760px) {
  .emp-gerenciar { text-align: left; margin-top: -6px; }
  .emp-filtros select, .emp-filtros input[type="search"] { flex: 1 1 100%; max-width: none; min-height: 44px; }
  .emp-mais { width: 100%; }
  .emp-col-marca { width: auto; }
  .emp-tabela td .emp-celula { text-align: left; }
  .emp-tabela td .emp-donos { text-align: right; }
  .emp-setor { grid-template-columns: 1fr auto; }
  .emp-setor select, .emp-setor > .situacao { grid-column: 1 / -1; }
  .emp-etapas li { grid-template-columns: 32px 1fr; }
  .emp-etapas select { grid-column: 1 / -1; }
  .emp-acoes .botao { flex: 1 1 100%; }
}
