/* Estações de leitura de QR (motorista e casa de apoio): usadas no celular, em campo */
.est .l-conteudo{ gap:var(--l-e4) }
.est-grade{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:var(--l-e4); align-items:start }
.est-form{ display:flex; flex-direction:column; gap:var(--l-e3) }
.est-form input{ width:100% }
.est-largo{ width:100%; justify-content:center; min-height:44px }
.est-ok{ border-color:transparent; background:var(--l-ok-fundo); color:var(--l-ok) }
.est-camera{ position:relative; aspect-ratio:4 / 3; width:100%; max-width:440px; margin:0 auto; border-radius:var(--l-raio-2); overflow:hidden; background:#10140a }
.est-camera video{ width:100%; height:100%; object-fit:cover; display:block }
.est-cam-off{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#c9d1bd; font-size:var(--l-t-peq) }
.est-cam-off.hidden, .est-cam-mira.hidden{ display:none }
.est-cam-mira{ position:absolute; inset:11%; border:2px solid var(--l-marca-clara); border-radius:var(--l-raio-3) }
.est-cam-mira i{ position:absolute; left:0; right:0; height:2px; background:var(--l-marca-clara); animation:est-varre 2.1s ease-in-out infinite }
@keyframes est-varre{ 0%, 100%{ top:6% } 50%{ top:92% } }
@media (prefers-reduced-motion:reduce){ .est-cam-mira i{ animation:none; top:50% } }
.est-corta{ max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.est-vazio td{ padding:0 }
@media (max-width:640px){
  .est .l-cab{ flex-wrap:wrap }
  .est .l-barra{ flex-direction:column; align-items:stretch }
  .est .l-seg{ display:flex } .est .l-seg button{ flex:1 }
}
