body {
  background: linear-gradient(135deg, #e0f4ff 0%, #c2e9fb 100%);
  min-height: 100%;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
}



/* Card principal ancho 90% y centrado */
.main-card {
    width: 100%;
    max-width: 100%;
    margin: 2rem auto;
    padding: 2rem;
    background-color: rgba(255, 255, 255, 0.95); /* deja ver un poco del fondo */
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Fondo general */
.bg-app {
    background: linear-gradient(135deg, #e0f7ff 0%, #b3e5fc 100%);
    min-height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Lista de opciones con sombra y hover */
.list-group-item {
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
}

.list-group-item:hover {
    background-color: #d0f0ff;
    cursor: pointer;
}

/* Fondo de ondas si lo querés mantener */
.fondo-ondas {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.fondo-ondas svg {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
}
.card {
    width: 100%;
    min-height: 300px; /* opcional para que no quede demasiado corto */
}

.card-body {
    padding: 2rem;
}

/* Card de login más grande y centrado */
.login-card {
    width: 100%;
    padding: 2rem;
    min-height: 400px; /* opcional, para que se vea más alto */
}

/* Logo escalable */
.login-logo {
    max-height: 120px;
}

/* Form controls más grandes */
.form-control.form-control-lg {
    font-size: 1.1rem;
    padding: 0.75rem 1rem;
}

/* Botón grande */
.btn.btn-lg {
    padding: 0.75rem 1rem;
    font-size: 1.1rem;
}

/* Ajuste tabla en móviles */
@media (max-width: 767px) {
  .table-responsive table {
    font-size: 0.8rem; /* tamaño de letra más chico */
  }
  .table-responsive th, 
  .table-responsive td {
    padding: 0.3rem 0.4rem; /* menos padding para que quepa */
  }
}

html, body {
  height: auto !important;
  overflow-y: auto !important;
}
