﻿:root {
    --primary: #1d415c;
    --white: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    line-height: 1.15;
    min-height: 100vh;
    overflow-y: auto !important;
}

.bodyMask {
    position: relative;
    background-color: rgba(9, 41, 65, .7);
    width: 100%;
    min-height: 100vh;
    z-index: 2;
    padding: 18px 0;
}

.triangulo {
    width: 0;
    height: 0;
    border-right: 68px solid #1d415c;
    border-top: 65px solid #1d415c;
    border-left: 65px solid transparent;
    border-bottom: 65px solid transparent;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.version {
    position: absolute;
    top: 29px;
    right: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    z-index: 3;
}

.qa-banner {
    position: relative; /* Necesario para el pseudo-elemento */
    color: #fff;
    padding: 8px 8px 8px 25px;
    font-weight: 600;
    z-index: 1;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

    /* Fondo con diagonal al inicio */
    .qa-banner::before {
        content: '';
        position: absolute;
        inset: 0;
        background-color: rgb(226 187 63 / 0.75);
        /* Invertida: empieza en 0 0 y termina 18px adentro en la base */
        clip-path: polygon(0 0, 100% 0, 100% 100%, 18px 100%);
        z-index: -1;
    }

    /* Tu animación original se mantiene intacta */
    .qa-banner i {
        font-size: 1.2rem;
        animation: pulse-qa 2s infinite;
    }

.formulario {
    position: relative;
    width: 100%;
    z-index: 2;
}

.loginTitle {
    color: #efeeee;
    font-weight: 600;
    font-size: calc(1.8rem + 1.1vw);
}

.loginModule {
    color: #efeeee;
    font-weight: 500;
    text-align: center;
    font-size: calc(1.6rem + .2vw);
    vertical-align: middle;
}

.txtBox, .ddlBox {
    background: transparent;
    border: none;
    border-bottom: 1px solid #c9c9c9;
    color: #fff;
    font-size: 1.2em;
    padding: 0.6rem;
    width: 100%;
    transition: border-color 0.3s;
}

    .txtBox:focus, .ddlBox:focus {
        outline: none;
        border-bottom-color: var(--blue);
    }

    .ddlBox option {
        color: #000;
    }

.btnOther {
    padding: 15px;
    background: #1d415c;
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

    .btnOther:hover {
        background: #265476;
        color: #fff;
        text-decoration: none;
    }

.divModules {
    border-style: none;
    border-color: inherit;
    border-width: 0;
    background-color: #144a71;
    color: #fff;
    text-align: center;
    width: 150px !important;
    height: 150px !important;
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    border-radius: 50% !important;
    font-size: 5.3rem;
}

    .divModules:before {
        position: absolute;
        content: "";
        z-index: -1;
        top: 10px;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(6, 49, 118, 0.10);
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%;
        -webkit-transition-property: transform;
        transition-property: transform;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        border-radius: 50% !important
    }

    .divModules:hover, .divModules:focus, .divModules:active {
        color: white;
        text-decoration: none;
    }

        .divModules:hover:before, .divModules:focus:before, .divModules:active:before {
            -webkit-transform: scaleX(1);
            transform: scaleX(1);
        }

.logoLoginBtn {
    margin-top: 15px;
    height: 120px;
    width: auto;
}

.lnkModules {
    color: #fff;
    font-weight: 400;
    text-decoration: none !important;
    display: block;
}

    .lnkModules:hover {
        color: #fff;
    }


.lblFail {
    opacity: .0;
    color: transparent;
}

/* Responsividad para móviles */
@media (max-width: 767px) {
    .divModules {
        width: 130px !important;
        height: 130px !important;
        font-size: 4.5rem;
    }

    .loginTitle {
        text-align: center;
        padding-top: 10px;
        font-size: calc(1.6rem + .9vw);
    }

    .logoLoginBtn {
        margin-top: 0px;
        height: 115px;
        padding-top: 10px;
    }

    .bodyMask {
        padding: 40px 0;
    }

    .triangulo {
        border-right: 42px solid #1d415c;
        border-top: 40px solid #1d415c;
        border-left: 50px solid transparent;
        border-bottom: 35px solid transparent;
    }

    .version {
        top: 8px;
        right: 7px;
        font-weight: 600;
        font-size: 0.8rem;
    }

    .qa-banner {
        top: -40px;
    }

    @keyframes pulse-qa {
        0% {
            opacity: 1;
        }

        50% {
            opacity: 0.5;
        }

        100% {
            opacity: 1;
        }
    }

    input::placeholder {
        font-weight: 500;
        opacity: .6;
        color: #d4d4d4;
    }

    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        transition: background-color 5000s ease-in-out 0s, color 5000s ease-in-out 0s;
        transition-delay: background-color 5000s, color 5000s;
        border-top: 0px;
        border-left: 0px;
        border-right: 0px;
        border-bottom: 1px solid #c9c9c9;
        color: #fff;
        font-size: 1.1em;
        padding: 0.5rem;
        width: 100%;
    }
