/*
Copyright 2018 JoinFaces.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/* 
        Created on : 29-01-2018, 16:21:49
        Author     : luis
*/
input:focus{
    border: 1px solid #777777 !important;
}
html, body{
    min-height: 100%;
    height: 100%;
}

body{
    display: block;
    height: 100%;
    position: relative;
    min-height: 100%;
    background: #232325 !important;
}

.contenedor-login-box {
    border-radius: 0 0 500px 500px /40px !important;
    height: 90%;
    text-align: center;
    display: block;
    position: relative;
    background: #ffffff;
    padding: 40px;
}

.contenedor-login-footer {
    width: 100%;
    margin: 0px !important;
    background: transparent;
    height: 10%;
    padding-top: 10px;
}
.login-logo-pais {
    margin: 0px 20px;
    width: 25%;
    max-width: 200px;
    max-height: 80px;
}
.login-box {
    width: 40%;
    max-width: 550px;
    position: absolute;
    right: 0px;
    height: 100%;
    background: #fff;
    margin: 0px;
    padding: 0px 30px;
}
.login-box-body {
    margin: 0 auto;
    background: hsla(100,100%,100%,0.7);
    transform: translate(0%,20%);
}   

@media (max-width: 768px) {
    .login-box {
        width: 60%;
    }

    .contenedor-login-box {
        height: 70%;
    }

    .contenedor-login-footer {
        height: 30%;
    }

}

@media (max-width: 425px) {
    .login-box {
        width: 80%;
    }

    .contenedor-login-box {
        height: 70%;
    }

    .contenedor-login-footer {
        height: 30%;
    }
}

@media (max-width: 375px) {
    .login-box {
        width: 90%;
    }

    .contenedor-login-box {
        height: 70%;
    }

    .contenedor-login-footer {
        height: 30%;
    }
}

.login-logo {
    margin-bottom: 0;
}

.login-logo img{
    width: 70%;
    max-width: 550px !important;
}

.login-footer {
    font-size: 12px; 
    color: #02368e; 
    text-align: center;
}

.login-footer span{
    position: absolute;
    text-align: center;
    margin: 0 auto;
    bottom: 10px;;
    left: 50%;
    transform: translate(-50%,-50%);
}
.login-footer span, .login-footer a {
    color: #ffffff;
}

.PF_footer__login {
    text-align: center;
    margin: 30px 0;
}

.PF_footer__login img {
    max-width: 150px;
}

div.ui-messages-info {
    border-color: #23711e;
    background-color: #3e9c3c;
}

.ui-button-text {
    font-weight: 900 !important;
}
.fa-windows:before {
    font-weight: 300 !important;
}

/* ============================================================================
   MEJORAS VISUALES MÍNIMAS - Inputs, espaciado, iconos
   ============================================================================ */

/* Inputs mejorados */
.login-input-improved {
    border-radius: 8px !important;
    padding: 12px 15px !important;
    height: auto !important;
    font-size: 14px !important;
    border: 1px solid #d2d6de !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.login-input-improved:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(138, 138, 138, 0.15) !important;
}

/* Iconos en inputs */
.login-icon-improved {
    color: #999;
    font-size: 16px;
    margin-top: 15px !important;
    transition: color 0.2s ease;
}

.form-group:focus-within .login-icon-improved {
    color: var(--primary-color);
}

/* Botón de login mejorado */
.btn-login-improved {
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
}

.btn-login-improved:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* Link de recuperar contraseña */
.login-recuperar-link {
    text-align: right;
    margin-top: 12px;
}

.login-recuperar-link a {
    color: #444;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.login-recuperar-link a:hover {
    color: var(--primary-color);
}

/* Separador "o" */
.login-separador {
    display: flex;
    align-items: center;
    margin: 5px 0 20px 0;
    gap: 15px;
}

.login-separador-linea {
    flex: 1;
    height: 1px;
    background-color: #d2d6de;
}

.login-separador-texto {
    font-size: 13px;
    color: #999;
    padding: 0 10px;
    background-color: transparent;
}

/* Botón Office 365 personalizado - sin clases de Bootstrap */
.btn-office365-custom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 10px 16px;
    border-radius: 8px;
    background-color: #fff !important;
    color: #5d5d5d !important;
    border: 1px solid #c8c8c8;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1.42857143;
    font-weight: 600 !important;
    height: auto;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04) !important;
}

.btn-office365-custom:hover {
    background-color: #f8f9fa;
    border-color: #999;
    color: #5b5b5b;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.06);
    transform: translateY(-1px);
}

.btn-office365-custom:active {
    background-color: #f0f0f0;
    border-color: #888;
    color: #000;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
    transform: translateY(0);
}

.btn-office365-custom:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
}

/* Logo de Microsoft SVG */
.ms-logo {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */

@media (max-width: 480px) {
    .login-input-improved {
        padding: 10px 12px !important;
    }
    
    .login-icon-improved {
        margin-top: 10px !important;
    }
}
