/* ==========================================================================
   PANTALLA DE INGRESO (includes/ingreso.php, en index.php sin sesión) — 11-09-2026
   Un recuadro al centro: el formulario a la izquierda y una imagen referencial a la derecha.
   Por debajo de 768px la imagen se va y el formulario ocupa todo el ancho.
   Misma paleta que css/corporativo.css, escrita aquí porque la portada no carga esa hoja.
   ========================================================================== */

.sga-ingreso {
    --in-tinta: #14232b;
    --in-tinta-2: #4a5f6b;
    --in-tinta-3: #7b8c96;
    --in-lienzo: #eef2f5;
    --in-linea: #d5dee5;
    --in-acento: #0f6e7a;
    --in-acento-oscuro: #0b545d;
    --in-rojo-suave: #fdf3f2;
    --in-rojo-tinta: #8d2018;

    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - var(--sga-nav-alto, 56px));
    padding: 32px 16px;
    background: var(--in-lienzo);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.sga-ingreso__caja {
    display: flex;
    width: 100%;
    max-width: 960px;
    min-height: 540px;
    overflow: hidden;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(20, 35, 43, .06), 0 18px 48px rgba(20, 35, 43, .14);
}

/* ------------------------------------------------------------ el formulario */

.sga-ingreso__form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 0 0 420px;
    max-width: 420px;
    padding: 40px 40px 32px;
    color: var(--in-tinta);
}

.sga-ingreso__marca {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    font-size: 20px;
    color: #fff;
    background: var(--in-acento);
    border-radius: 12px;
}

.sga-ingreso__titulo {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--in-tinta);
}

.sga-ingreso__sub {
    margin: 4px 0 26px;
    font-size: 14px;
    color: var(--in-tinta-3);
}

.sga-ingreso__etiqueta {
    display: block;
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--in-tinta-2);
}

.sga-ingreso__campo.form-control {
    height: 44px;
    margin-bottom: 16px;
    font-size: 15px;
    border-color: var(--in-linea);
    border-radius: 8px;
}

.sga-ingreso__campo.form-control:focus {
    border-color: var(--in-acento);
    box-shadow: 0 0 0 3px rgba(15, 110, 122, .15);
}

.sga-ingreso__clave {
    position: relative;
}

.sga-ingreso__clave .sga-ingreso__campo {
    padding-right: 46px;
}

.sga-ingreso__ver {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 15px;
    color: var(--in-tinta-3);
    background: none;
    border: 0;
    cursor: pointer;
}

.sga-ingreso__ver:hover,
.sga-ingreso__ver:focus-visible {
    color: var(--in-acento);
}

.sga-ingreso__captcha {
    display: flex;
    justify-content: center;
}

.sga-ingreso__captcha .g-recaptcha:not(:empty) {
    margin: 2px 0 16px;
}

/* La lista de pertenencias que manda el servidor cuando el usuario tiene más de una. */
.sga-ingreso__pertenencia:not(:empty) {
    margin-bottom: 16px;
}

.sga-ingreso__pertenencia select {
    width: 100% !important;
    height: 44px;
    border-radius: 8px;
}

/* Los mensajes del servidor. Vacío no ocupa sitio (login_user() lo deja visible y lo vacía). */
.sga-ingreso__estado:not(:empty) {
    margin-bottom: 16px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.35;
    color: var(--in-rojo-tinta);
    background: var(--in-rojo-suave);
    border-radius: 8px;
}

.sga-ingreso__estado span {
    font-size: inherit !important;
}

.sga-ingreso__entrar {
    width: 100%;
    height: 46px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: var(--in-acento);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s;
}

.sga-ingreso__entrar:hover,
.sga-ingreso__entrar:focus-visible {
    background: var(--in-acento-oscuro);
}

.sga-ingreso__entrar:disabled {
    opacity: .7;
    cursor: progress;
}

.sga-ingreso__olvido {
    display: block;
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
    color: var(--in-acento);
    cursor: pointer;
}

.sga-ingreso__olvido:hover {
    color: var(--in-acento-oscuro);
}

/* ------------------------------------------------------------ la imagen */

.sga-ingreso__imagen {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    /* LA IMAGEN SE CAMBIA AQUI. bg.jpg lleva el logo del hospital a la derecha: pegada a ese
       borde, el logo se ve entero con el panel de cualquier ancho. */
    background: var(--in-acento) url("images/bg.jpg") 100% center / cover no-repeat;
}

/* Un velo abajo, para que la leyenda se lea sobre cualquier imagen. */
.sga-ingreso__imagen::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11, 84, 93, 0) 45%, rgba(11, 84, 93, .88) 100%);
}

.sga-ingreso__leyenda {
    position: absolute;
    right: 28px;
    bottom: 26px;
    left: 28px;
    z-index: 1;
    color: #fff;
}

.sga-ingreso__leyenda b {
    display: block;
    font-size: 20px;
    line-height: 1.2;
}

.sga-ingreso__leyenda span {
    display: block;
    font-size: 14px;
    opacity: .85;
}

.sga-ingreso__leyenda p {
    margin: 10px 0 0;
    font-size: 13px;
    opacity: .9;
}

/* ------------------------------------------------------------ pantallas angostas */

@media (max-width: 767.98px) {
    .sga-ingreso {
        align-items: flex-start;
        padding: 20px 16px;
    }

    .sga-ingreso__caja {
        min-height: 0;
    }

    .sga-ingreso__form {
        flex-basis: auto;
        max-width: none;
        width: 100%;
        padding: 28px 22px 24px;
    }

    .sga-ingreso__imagen {
        display: none;
    }
}

/* El cuadro de Google mide 304px: en un teléfono muy angosto se achica para no desbordar. */
@media (max-width: 360px) {
    .sga-ingreso__captcha .g-recaptcha {
        transform: scale(.88);
        transform-origin: center top;
    }
}
