/* Ajustes específicos para móviles y pantallas táctiles. */
img{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
@media (max-width:900px){
  main{width:min(94vw,1120px);margin:24px auto}
  .card{padding:20px}
  .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  header{align-items:flex-start;flex-wrap:wrap;padding:9px 4vw;gap:8px}
  .brand{gap:8px;min-width:0;font-size:.95rem}
  .brand img{max-width:88px;max-height:42px}
  .brand img:last-child{display:none}
  nav{width:100%;justify-content:flex-end;gap:10px;flex-wrap:wrap;font-size:.88rem}
  nav button{padding:6px 10px}
  .hero{padding:18px 0}.hero h1{font-size:2rem}
  .card{padding:16px;border-radius:8px}
  .grid.two,.grid.three,.documents{grid-template-columns:1fr}
  .status,.review-doc{display:block}
  .status>div+div{margin-top:12px}
  .review-doc .compact{margin-top:14px}
  .compact{min-width:0}
  .form button,.send button{width:100%}
  .table-wrap{margin:0 -16px;padding:0 16px;-webkit-overflow-scrolling:touch}
  table{min-width:600px}
}
@media (max-width:390px){
  .brand span{font-size:.83rem}
  .brand small{display:none}
  nav a{font-size:.82rem}
}
