.formulario-contenedor { width: min(100%, 760px); margin: 0 auto; }
.formulario-tarjeta { background: white; border: 1px solid var(--borde); border-radius: 22px; padding: clamp(20px,4vw,34px); box-shadow: var(--sombra); }
.formulario-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.campo { display: grid; gap: 7px; }
.campo-completo { grid-column: 1 / -1; }
.campo label { font-weight: 750; color: #33434a; }
.campo small { color: var(--texto-suave); }
.campo input, .campo select, .campo textarea {
  width: 100%;
  border: 1px solid #cbd7da;
  border-radius: 12px;
  background: #fff;
  padding: 12px 13px;
  outline: none;
  color: var(--texto);
}
.campo textarea { min-height: 140px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--primario); box-shadow: 0 0 0 4px rgba(15,118,110,.12); }
.campo input[readonly] { background: #f3f6f6; }
.check { display: flex; gap: 10px; align-items: flex-start; }
.check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--primario); }
.formulario-acciones { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 24px; }
.separador { height: 1px; background: #e7ecee; margin: 24px 0; }
.archivos-resumen { display: grid; gap: 8px; margin-top: 10px; }
.archivo-item { display: flex; justify-content: space-between; gap: 12px; padding: 9px 11px; background: #f5f8f8; border-radius: 10px; font-size: .9rem; }
.filtros { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; margin-bottom: 18px; }
.filtros .campo { min-width: 190px; flex: 1; }

@media (max-width: 700px) {
  .formulario-grid { grid-template-columns: 1fr; }
  .campo-completo { grid-column: auto; }
}
