
/* Referência: Veículos — cabeçalho fixo verticalmente, só a 1ª coluna
   (Matrícula) fixa horizontalmente. Mesma técnica de part-021.css
   (Trabalhadores) e part-024.css (Fat. Clientes): tudo com !important,
   para nunca mais poder ser sobreposto por outro script de visualização. */
#content-root #vei-table-wrap{
  position:relative!important;
  display:block!important;
  overflow:auto!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  max-height:calc(100vh - 280px)!important;
  isolation:isolate!important;
}
#content-root #vei-tbl{
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  width:max-content!important;
  min-width:100%!important;
  font-size:12.5px!important;
}
#content-root #vei-tbl th,#content-root #vei-tbl td{
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#content-root #vei-tbl thead{display:table-header-group!important}
/* [PW-20260726004-VEICULOS-STICKY-HEADER-ZINDEX]
   O cabeçalho tem de ficar sempre acima da coluna fixa Matrícula durante
   o scroll vertical. Em alguns browsers, a célula sticky do tbody ficava
   por cima do título da coluna quando tinha z-index demasiado próximo. */
#content-root #vei-tbl thead tr:first-child > th{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:#F1F5F9!important;
  background-color:#F1F5F9!important;
}
/* Larguras de todas as colunas, forçadas. */
#content-root #vei-tbl tr > :nth-child(1){width:130px!important;min-width:130px!important;max-width:130px!important;left:0!important}
#content-root #vei-tbl tr > :nth-child(2){width:160px!important;min-width:160px!important;max-width:160px!important}
#content-root #vei-tbl tr > :nth-child(3){width:110px!important;min-width:110px!important;max-width:110px!important}
#content-root #vei-tbl tr > :nth-child(4){width:110px!important;min-width:110px!important;max-width:110px!important}
#content-root #vei-tbl tr > :nth-child(5){width:60px!important;min-width:60px!important;max-width:60px!important;text-align:center!important}
#content-root #vei-tbl tr > :nth-child(6){width:240px!important;min-width:240px!important;max-width:240px!important}
/* A coluna Condutor tem uma caixa de pesquisa com sugestões que têm de
   conseguir sair para fora da célula — não pode ficar com overflow:hidden. */
#content-root #vei-tbl tbody tr > :nth-child(6){overflow:visible!important}
#content-root #vei-tbl tr > :nth-child(7){width:130px!important;min-width:130px!important;max-width:130px!important}
#content-root #vei-tbl tr > :nth-child(8){width:200px!important;min-width:200px!important;max-width:200px!important}
#content-root #vei-tbl tr > :nth-child(9){width:90px!important;min-width:90px!important;max-width:90px!important}
/* Só a 1ª coluna (Matrícula) fica fixa horizontalmente. */
#content-root #vei-tbl tbody tr > :nth-child(1){
  position:sticky!important;
  left:0!important;
  z-index:20!important;
  background:#fff!important;
  background-clip:padding-box!important;
}
#content-root #vei-tbl thead tr:first-child > :nth-child(1){z-index:1010!important}
#content-root #vei-tbl tr > :nth-child(1){box-shadow:2px 0 4px rgba(15,23,42,.12)!important}
#content-root #vei-tbl tbody tr > :nth-child(n+2){
  position:relative!important;
  left:auto!important;
  z-index:auto!important;
}
#content-root #vei-tbl thead tr > :nth-child(n+2){left:auto!important}

/* v1373 — Veículos em cartões de consulta: a listagem deixou de editar
   dados diretamente; a edição fica apenas na ficha do veículo. */
#content-root[data-pw-v43-view="veiculos"] #vei-card-wrap{
  max-height:calc(100vh - 280px);
  overflow:auto;
  padding:2px 2px 18px;
}
#content-root[data-pw-v43-view="veiculos"] #vei-card-grid,
#vei-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,224px);
  gap:12px;
  align-items:stretch;
  justify-content:start;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card,
.vei-card{
  position:relative;
  width:224px;
  aspect-ratio:1/1;
  min-height:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:9px 10px 29px;
  display:flex;
  flex-direction:column;
  gap:5px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-head,
.vei-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:10px;
  min-width:0;
  min-height:0;
}
#content-root[data-pw-v43-view="veiculos"] .vei-foto-marca,
.vei-foto-marca{
  width:72px;
  height:56px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:transparent!important;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
  padding:7px;
  box-sizing:border-box;
}
#content-root[data-pw-v43-view="veiculos"] .vei-foto-marca img,
.vei-foto-marca img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
#content-root[data-pw-v43-view="veiculos"] .vei-brand-logo-bw img,
#content-root[data-pw-v43-view="veiculos"] .vei-brand-logo-bw span,
.vei-brand-logo-bw img,
.vei-brand-logo-bw span{
  filter:grayscale(1) contrast(1.25) brightness(.82)!important;
}
#content-root[data-pw-v43-view="veiculos"] .vei-brand-logo-bw,
.vei-brand-logo-bw{
  color:#111827!important;
  background:transparent!important;
}
#content-root[data-pw-v43-view="veiculos"] .vei-foto-real,
.vei-foto-real{
  padding:0;
}
#content-root[data-pw-v43-view="veiculos"] .vei-foto-real img,
.vei-foto-real img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#content-root[data-pw-v43-view="veiculos"] .vei-foto-marca span,
.vei-foto-marca span{
  display:block;
  max-width:58px;
  font-size:13px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:.3px;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-main,
.vei-card-main{
  min-width:0;
  width:100%;
  flex:0 1 100%;
  padding-top:0;
  display:flex;
  justify-content:center;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-matricula,
.vei-card-matricula{
  width:max-content;
  max-width:100%;
  margin:0 auto;
  padding:4px 8px 4px 28px;
  border:2px solid #111827;
  border-radius:4px;
  background:
    linear-gradient(90deg,#1D4ED8 0 22px,#fff 22px 100%);
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.12);
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  line-height:1.1;
  font-weight:900;
  color:#111827;
  letter-spacing:1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-transform:uppercase;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-marca,
.vei-card-marca{
  width:100%;
  min-height:18px;
  font-size:12px;
  font-weight:800;
  color:var(--ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:center;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-estado,
.vei-card-estado{
  align-self:center;
  min-width:120px;
  max-width:100%;
  padding:4px 12px;
  border-radius:999px;
  text-align:center;
  font-size:11px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border:1px solid transparent;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-estado-ativo,
.vei-card-estado-ativo{
  color:#15803D;
  background:#ECFDF3;
  border-color:#BBF7D0;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-estado-atencao,
.vei-card-estado-atencao{
  color:#C2410C;
  background:#FFF7ED;
  border-color:#FED7AA;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-estado-critico,
.vei-card-estado-critico{
  color:#BE123C;
  background:#FFF1F2;
  border-color:#FECDD3;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-estado-neutro,
.vei-card-estado-neutro,
#content-root[data-pw-v43-view="veiculos"] .vei-card-estado-sem-estado,
.vei-card-estado-sem-estado{
  color:#475569;
  background:#F8FAFC;
  border-color:#E2E8F0;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-validade,
.vei-card-validade{
  display:flex;
  flex-direction:row;
  gap:6px;
  min-height:54px;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade,
.vei-validade{
  flex:1;
  min-width:0;
  border:1px solid var(--line);
  border-top-width:3px;
  border-radius:6px;
  padding:4px 5px;
  background:#F8FAFC;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-top,
.vei-validade-top{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:2px;
  align-items:flex-start;
  font-size:9.5px;
  color:var(--ink-soft);
  text-transform:uppercase;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-top strong,
.vei-validade-top strong{
  font-size:10px;
  text-transform:none;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-data,
.vei-validade-data{
  margin-top:3px;
  font-size:11.5px;
  font-weight:800;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-valido{
  border-top-color:#16A34A;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-valido .vei-validade-top strong,
#content-root[data-pw-v43-view="veiculos"] .vei-validade-valido .vei-validade-data{
  color:#15803D;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-a-vencer{
  border-top-color:#16A34A;
  background:#F0FDF4;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-a-vencer .vei-validade-top strong,
#content-root[data-pw-v43-view="veiculos"] .vei-validade-a-vencer .vei-validade-data{
  color:#15803D;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-caducado{
  border-top-color:#E11D48;
  background:#FFF1F2;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-caducado .vei-validade-top strong,
#content-root[data-pw-v43-view="veiculos"] .vei-validade-caducado .vei-validade-data{
  color:#BE123C;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-sem-data{
  border-top-color:#E11D48;
  background:#FFF1F2;
}
#content-root[data-pw-v43-view="veiculos"] .vei-validade-sem-data .vei-validade-top strong,
#content-root[data-pw-v43-view="veiculos"] .vei-validade-sem-data .vei-validade-data{
  color:#BE123C;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-condutor,
.vei-card-condutor{
  max-width:100%;
  margin-top:auto;
  padding:1px 30px 0 0;
  font-size:11px;
  font-weight:700;
  color:var(--ink-soft);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#content-root[data-pw-v43-view="veiculos"] .vei-card-edit,
.vei-card-edit{
  position:absolute;
  right:12px;
  bottom:1px;
  width:26px;
  height:26px;
  min-width:26px;
  padding:0!important;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  color:var(--ink-soft)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  z-index:2;
}
.vei-card-edit:hover{
  color:var(--ink)!important;
  background:transparent!important;
}

.vei-ficha-modal .modal-grid{
  gap:10px;
}
.vei-ficha-topo{
  margin-bottom:12px;
}
.vei-foto-upload{
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#F8FAFC;
}
.vei-foto-upload-info{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.vei-ficha-secao{
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  margin:10px 0;
  overflow:hidden;
}
.vei-ficha-secao summary{
  list-style:none;
  cursor:pointer;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:800;
  background:#F8FAFC;
  border-bottom:1px solid transparent;
}
.vei-ficha-secao summary::-webkit-details-marker{
  display:none;
}
.vei-ficha-secao[open] summary{
  border-bottom-color:var(--line);
}
.vei-ficha-seta{
  color:var(--ink-soft);
  font-size:13px;
}
.vei-ficha-secao-corpo{
  padding:12px;
}
.vei-doc-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.vei-doc-box{
  margin-top:7px;
}
.vei-doc-sub{
  margin-bottom:12px;
}
.vei-doc-sub h4{
  margin:0 0 7px;
  font-size:13px;
}
.vei-secao-toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:9px;
}
.vei-mini-table{
  overflow:auto;
}
.vei-mini-table table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  font-size:12px;
}
.vei-mini-table th,
.vei-mini-table td{
  padding:6px 7px;
  border:1px solid var(--line);
  vertical-align:top;
}
.vei-mini-table th{
  background:#F1F5F9;
  text-align:left;
}
.vei-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.vei-credito-campos{
  margin-top:10px;
}
@media (max-width:760px){
  #content-root[data-pw-v43-view="veiculos"] #vei-card-grid,
  #vei-card-grid{
    grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  }
  #content-root[data-pw-v43-view="veiculos"] .vei-card,
  .vei-card{
    width:auto;
  }
  .vei-doc-grid{
    grid-template-columns:1fr;
  }
  .vei-foto-upload{
    align-items:flex-start;
  }
}
