/* --- carimbo de digital (estilo do “selo” visual) — versão compacta (36px) --- */
.finger-stamp{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  padding:6px 8px;
  border:1px dashed #9aa3ab;
  border-radius:8px;
  background:#fff;
  margin:4px 0;
  font-size:12px;
  color:#111;
  text-align:center;
}
.finger-stamp .fp-icon{
  width:36px;
  height:36px;
  flex:0 0 auto;
  opacity:1;
  object-fit:contain;
  background:transparent;
}
.finger-stamp .fp-lines{ line-height:1.15; }
.finger-stamp .fp-id{ font-weight:700; font-size:11px; }
.finger-stamp .fp-dt{ color:#333; font-size:10px; }

/* Botão ícone (excluir) - minimalista */
.btn.btn-icon{
  width: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

.btn.btn-danger{
  border: 1px solid #fee2e2;
  background: #fff;
  color: #991b1b;
}

.btn.btn-danger:hover{
  background: #fff1f2;
}


/* =========================
   SEU CSS EXISTENTE AQUI
   (mantido integralmente)
   ========================= */

/* =========================================================
   Carimbo biométrico fixo — 36px
   ========================================================= */
#fingerIcon,
#digitalIcon,
#biometriaIcon,
#epiDigital,
#fingerprintPlaceholder,
img[data-role="biometria"],
img[alt*="digital"],
img[alt*="biometria"] {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  object-fit: contain;
  background: transparent !important;
  opacity: 1 !important;
  border: none;
  display: inline-block;
  vertical-align: top;
  image-rendering: auto;
}

@media print {
  #fingerIcon,
  #digitalIcon,
  #biometriaIcon,
  #epiDigital,
  #fingerprintPlaceholder,
  img[data-role="biometria"],
  img[alt*="digital"],
  img[alt*="biometria"] {
    opacity: 1 !important;
    filter: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* antigo: regras de .login-card removidas (usamos .login-panel no bloco final) */


#listaEPIs .table-epi tbody tr:hover { background:#f9fbff; }
#listaEPIs .table-epi tbody tr:nth-child(even) { background:#fcfdff; }

/* Ações na tabela de EPIs (Editar / Excluir) */
/* Wrapper das ações dentro da célula */
#listaEPIs .actions {
  display: inline-flex;
  flex-direction: column;   /* Editar em cima, Excluir embaixo */
  align-items: flex-end;
  gap: 6px;
  padding-right: 0;
  white-space: nowrap;
}

/* Base dos botões da linha */
#listaEPIs .btn{
  appearance:none;
  width: auto; /* Dentro do Novo EPI, botão NÃO é full width */
  border-radius:999px;
  padding:6px 14px;
  font-size:13px;
  font-weight:500;
  border:1px solid transparent;
  background:#f9fafb;
  color:#0f172a;
  display:inline-flex;
  align-items:center;
  gap:6px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(15,23,42,0.12);
  transition:
    transform .08s ease,
    box-shadow .16s ease,
    background .16s ease,
    border-color .16s ease,
    color .16s ease;
}

/* Versão pequena (se o JS usar .btn--sm) */
#listaEPIs .btn--sm{
  padding:5px 10px;
  font-size:11px;
}

/* Botão EDITAR – minimalista azul */
#listaEPIs .btn--edit {
  background: #ffffff;
  border-color: #d0e2ff;
  color: #1d4ed8; /* azul do sistema */
}

/* Botão EXCLUIR – minimalista vermelho, porém discreto */
#listaEPIs .btn--del {
  background: #ffffff;
  border-color: #fecaca;
  color: #b91c1c;
  box-shadow: 0 2px 6px rgba(248,113,113,0.15);
}

/* Hover/active (igual clima SaaS) */
#listaEPIs .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(15,23,42,0.20);
  filter:brightness(1.02);
}

#listaEPIs .btn:active{
  transform:translateY(0);
  box-shadow:0 4px 10px rgba(15,23,42,0.16);
  filter:brightness(0.99);
}

/* Ícones desenhados só com CSS (sem mexer no HTML) */
#listaEPIs .btn--edit::before{
  /* Lápis minimalista no botão EDITAR (Novo EPI) */
  content: "✎";        /* lápis simples, sem cor de emoji */
  font-size: 12px;     /* um pouco menor */
  margin-right: 2px;   /* afasta levemente do texto */
  position: relative;
  top: -0.5px;         /* microajuste vertical pra alinhar com o texto */
}

#listaEPIs .btn--del::before{
  content:"🗑";
  font-size:13px;
}

/* Hover específico para o botão de excluir (mais chamativo) */
#listaEPIs .btn--del:hover{
  background:#fecaca;
  border-color:#f87171;
  color:#7f1d1d;
}

#listaEPIs .ca-badge {
  display:inline-block;
  font-size:12px;
  padding:4px 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#1e40af;
  border:1px solid #e0e7ff;
}

#listaEPIs .muted { color:#6b7280; font-size:12px; }

/* célula descrição com truncamento elegante */
/* bloco antigo: célula descrição com truncamento elegante (comentado)
#listaEPIs .cell-desc{
  max-width: 420px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
*/

/* --- carimbo de digital compact --- */
.finger-stamp{ display:inline-flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:4px; padding:6px 8px; border:1px dashed #9aa3ab; border-radius:8px; background:#fff; margin:4px 0; font-size:12px; color:#111; text-align:center; }
.finger-stamp .fp-icon{ width:36px; height:36px; flex:0 0 auto; opacity:1; object-fit:contain; background:transparent; }
.finger-stamp .fp-lines{ line-height:1.15; }
.finger-stamp .fp-id{ font-weight:700; font-size:11px; }
.finger-stamp .fp-dt{ color:#333; font-size:10px; }

/* antigo: regras de .login-card removidas (usamos .login-panel no bloco final) */

#listaEPIs .btn--sm{ padding:6px 10px; font-size:12px; }
#listaEPIs .btn--ghost{ background:#fff; border:1px solid #e3e7ef; }

/* Popover de filtros */
#listaEPIs .filters-wrap{ position:relative; }
#listaEPIs .filters-menu{
  position:absolute; right:0; top:calc(100% + 6px);
  background:#fff; border:1px solid #e6e9ef; border-radius:12px; box-shadow:0 12px 24px rgba(16,24,40,.12);
  width: min(360px, 92vw); padding:10px; display:none; z-index:10;
}
#listaEPIs .filters-menu.show{ display:block; }
#listaEPIs .filters-row{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; }
#listaEPIs .chip{
  border:1px solid #e3e7ef; background:#fff; color:#16243a; padding:6px 10px; border-radius:999px; font-size:12px; cursor:pointer;
}
#listaEPIs .chip.is-active{ background:#0f172a; color:#fff; border-color:#0f172a; }
#listaEPIs .density{ display:flex; gap:6px; }
#listaEPIs .density button{
  border:1px solid #e3e7ef; background:#fff; color:#16243a; padding:6px 8px; border-radius:8px; font-size:12px; cursor:pointer;
}
#listaEPIs .density .is-active{ background:#0f172a; color:#fff; border-color:#0f172a; }

#listaEPIs .table-wrap{ overflow:auto; max-height:62vh; }
#listaEPIs .table-epi{ width:100%; border-collapse:separate; border-spacing:0; }

#listaEPIs .table-epi thead th{
  position:sticky; top:0; background:#f7f9fc; color:#1e2a3a; font-weight:700; text-transform:uppercase;
  font-size:12px; letter-spacing:.02em; border-bottom:1px solid #e6e9ef; padding:12px;
}
#listaEPIs .th-sort{ cursor:pointer; user-select:none; }
#listaEPIs .th-sort .arrow{ margin-left:6px; opacity:.6; }
#listaEPIs .th-sort.is-active{ color:#0f172a; }
#listaEPIs .th-sort.is-active .arrow{ opacity:1; }

#listaEPIs .table-epi tbody td{ padding:12px; border-bottom:1px solid #f0f2f6; vertical-align:top; }
#listaEPIs .row--compact td{ padding:6px 8px; }

#listaEPIs .muted{ color:#6b7280; font-size:12px; }
#listaEPIs .mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; }

#listaEPIs .badge{
  display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:4px 8px; border-radius:999px; border:1px solid transparent;
}
#listaEPIs .b-ok{ background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
#listaEPIs .b-warn{ background:#fff7ed; color:#9a3412; border-color:#fed7aa; }
#listaEPIs .b-bad{ background:#fef2f2; color:#991b1b; border-color:#fecaca; }

#listaEPIs .skeleton{ height:44px; background:linear-gradient(90deg,#f4f6fb,#eef1f7,#f4f6fb); background-size:200% 100%; animation:ske 1.1s infinite linear; border-radius:8px; margin:6px 0; }
@keyframes ske { 0%{background-position: 200% 0;} 100%{background-position: -200% 0;} }

/* bloco card legado removido — tabela Novo EPI usa layout horizontal definitivo (linha ~15900) */










/* legacy centralized login override removed — final, scoped login styles are at the end of this file */





/* =========================
   OVERRIDES FINAIS (polimento visual)
   - garante espaçamento consistente na home
   - garante espaçamento consistente na home


/* =========================
  Ajustes gerais: hover do logout e separadores da sidebar
  ========================= */

/* 1) Força gap consistente entre colunas da home */
.home-layout { gap: 22px !important; }

/* 2) Hover mais suave para o botão Sair (preserva id #btnLogout) */
#btnLogout.btn-logout:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15,23,42,0.16);
  filter: brightness(1.015);
}

/* 3) Separadores sutis na sidebar — agrupa visualmente itens sem tocar no HTML
   Ajuste os nth-child conforme a sua estrutura de menu se quiser outros pontos */
.sidebar ul > li:nth-child(3),
.sidebar ul > li:nth-child(6),
.sidebar ul > li:nth-child(9) {
  padding-top: 10px;
  margin-top: 8px;
  border-top: 1px solid rgba(15,23,42,0.04);
}


