/* --- auth-bootstrap.css --- */
/* Ajusta formularios generados automáticamente por web2py a Bootstrap 5 */

/* Contenedor base */
.web2py_form, form, .auth-form {
  width: 100%;
}

/* Etiquetas */
.web2py_form label,
form label {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 500;
}

/* Inputs y selects */
.web2py_form input[type="text"],
.web2py_form input[type="password"],
.web2py_form input[type="email"],
.web2py_form input[type="number"],
.web2py_form select,
.web2py_form textarea,
form input[type="text"],
form input[type="password"],
form input[type="email"],
form input[type="number"],
form select,
form textarea {
  display: block;
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  box-sizing: border-box;
  margin-bottom: 0.75rem;
}

/* Botones */
.web2py_form input[type="submit"],
.web2py_form button[type="submit"],
.auth-form input[type="submit"],
.auth-form button[type="submit"] {
  display: inline-block;
  width: 100%;
  background-color: #0d6efd;
  border: 1px solid #0d6efd;
  color: #fff;
  padding: 0.5rem;
  font-size: 1rem;
  border-radius: 0.375rem;
  transition: background-color 0.2s ease-in-out;
}

.web2py_form input[type="submit"]:hover,
.web2py_form button[type="submit"]:hover,
.auth-form input[type="submit"]:hover,
.auth-form button[type="submit"]:hover {
  background-color: #0b5ed7;
}

/* Mensajes de error */
.web2py_form .error,
form .error {
  color: #dc3545;
  font-size: 0.875rem;
}

/* Ajustes para los formularios auth() */
.auth-form form table {
  width: 100%;
}
.auth-form td, .auth-form th {
  border: none !important;
  padding: 0;
}

/* Mensajes flash */
.flash {
  margin-bottom: 1rem;
  padding: 0.75rem;
  border-radius: 0.375rem;
  text-align: center;
}
.flash.success {
  background-color: #d1e7dd;
  color: #0f5132;
}
.flash.error {
  background-color: #f8d7da;
  color: #842029;
}

/* Prevent auth styles from breaking Bootstrap input-group layouts.
   The broad "form input[type=...]" selectors above override Bootstrap's
   flex sizing, border-radius and padding inside input-groups. */
.input-group > input[type="text"],
.input-group > input[type="password"],
.input-group > input[type="email"],
.input-group > input[type="number"],
.input-group > select,
.input-group > textarea {
  width: 1%;
  flex: 1 1 auto;
  margin-bottom: 0;
  border-radius: 0;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
}

/* Restore smaller sizing for input-group-sm */
.input-group.input-group-sm > input[type="text"],
.input-group.input-group-sm > input[type="password"],
.input-group.input-group-sm > input[type="email"],
.input-group.input-group-sm > input[type="number"],
.input-group.input-group-sm > select,
.input-group.input-group-sm > textarea {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Restore border-radius on edge items */
.input-group > input:first-child { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.input-group > input:last-child  { border-top-left-radius: 0 !important;  border-bottom-left-radius: 0 !important;  }
