﻿/* 1. Evitar scroll en la página principal */
body.modal-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
}

/* Variables de color */
:root {
    --color-primario: #0C3D5B;
    --color-secundario: #1E88E5;
    --color-texto: #333333;
    --color-fondo: #FFFFFF;
    --color-borde: #E0E0E0;
    --color-placeholder: #9E9E9E;
}

/* Reset para evitar scroll horizontal */
* {
    box-sizing: border-box;
}

/* Estructura general del modal - Versión pequeña */
/*#modalInicioSessionRapido .modal-dialog {
    max-width: 420px;*/ /* Reducido de 750px */
/*}*/

#modalInicioSessionRapido .modal-content {
    border: none;
    background-color: var(--color-fondo);
    color: var(--color-texto);
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    font-size: 0.9rem; /* Tamaño base reducido */
}

/* Header compacto */
#modalInicioSessionRapido .modal-header {
    border-bottom: none;
    padding: 1rem 1.25rem 0;
    position: relative;
}

#modalInicioSessionRapido .modal-title {
    font-weight: 700;
    width: 100%;
    text-align: center;
    color: var(--color-texto);
    font-size: 1.2rem; /* Reducido de 1.5rem */
    margin-bottom: 0;
}

#modalInicioSessionRapido .close {
    color: var(--color-texto);
    opacity: 0.7;
    font-size: 1.5rem; /* Reducido de 1.75rem */
    position: absolute;
    right: 1rem;
    top: 1rem;
}

/* Pestañas compactas */
#modalInicioSessionRapido .nav-tabs {
    border-bottom: 1px solid var(--color-borde);
    padding: 0 1rem;
    margin: 0.75rem 0 0;
    background-color: transparent;
    display: flex;
    flex-wrap: nowrap;
}

#modalInicioSessionRapido .nav-link {
    border: none;
    padding: 0.75rem 0; /* Reducido de 1rem */
    font-weight: 600;
    font-size: 0.85rem; /* Tamaño de fuente reducido */
    color: #6c757d;
    position: relative;
    transition: all 0.3s ease;
    text-align: center;
    margin: 0;
    flex: 1;
    white-space: nowrap;
}

    #modalInicioSessionRapido .nav-link i {
        margin-right: 6px; /* Reducido de 8px */
        font-size: 0.9em; /* Iconos más pequeños */
    }

    #modalInicioSessionRapido .nav-link.active {
        color: var(--color-primario);
    }

        #modalInicioSessionRapido .nav-link.active:after {
            content: '';
            position: absolute;
            bottom: -1px;
            left: 50%;
            transform: translateX(-50%);
            width: 50%;
            height: 2px; /* Reducido de 3px */
            background: var(--color-primario);
            border-radius: 2px 2px 0 0;
        }

/* Contenido principal compacto */
#modalInicioSessionRapido .tab-content {
    padding: 1rem; /* Reducido de 1.5rem */
    width: 100%;
    overflow-x: hidden;
}

/* Inputs compactos */
#modalInicioSessionRapido .input-group {
    width: 100%;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
}

#modalInicioSessionRapido .input-group-prepend {
    display: flex;
    margin-right: 0;
}

#modalInicioSessionRapido .input-group-text {
    background-color: #f8f9fa;
    border: 1px solid #ced4da;
    border-right: none;
    color: #6c757d;
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem; /* Reducido de 0.75rem 1rem */
    font-size: 0.85rem; /* Reducido de 1rem */
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
    border-radius: 0.4rem 0 0 0.4rem !important;
}

#modalInicioSessionRapido .input-group .form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0;
    border-left: none;
    border-radius: 0 0.4rem 0.4rem 0 !important;
    font-size: 0.85rem; /* Reducido de 1rem */
    padding: 0.5rem 0.75rem; /* Reducido */
    height: 38px; /* Establecer altura fija */
}

/* Eliminamos la clase .input-group-lg ya que queremos todo más pequeño */
#modalInicioSessionRapido .input-group-lg .input-group-text,
#modalInicioSessionRapido .input-group-lg .form-control {
    padding: 0.6rem 0.9rem; /* Más pequeño que el original */
    font-size: 0.9rem; /* Más pequeño */
    line-height: 1.4;
    height: 40px; /* Reducido */
}

#modalInicioSessionRapido .input-group-text i {
    color: #6c757d;
    width: 1em;
    text-align: center;
    font-size: 0.9em; /* Iconos más pequeños */
}

#modalInicioSessionRapido .input-group:focus-within .input-group-text {
    border-color: #80bdff;
    background-color: #e9ecef;
}

    #modalInicioSessionRapido .input-group:focus-within .input-group-text i {
        color: var(--color-primario);
    }

/* Selects compactos */
#modalInicioSessionRapido select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.5rem center; /* Ajustado */
    background-size: 0.9rem; /* Reducido de 1rem */
    padding-right: 1.5rem; /* Ajustado */
    font-size: 0.85rem; /* Reducido */
}

    #modalInicioSessionRapido select.form-control:focus {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E88E5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    }

/* Logo más pequeño */
.modal-logo-container {
    display: flex;
    justify-content: center;
    padding: 0.75rem; /* Reducido de 1rem */
    border-top: 1px solid var(--color-borde);
}

.modal-logo {
    max-width: 100px; /* Reducido de 140px */
    height: auto;
}

/* ------------------------- */
/* VERSIÓN MOBILE MEJORADA */
/* ------------------------- */
@media (max-width: 767.98px) {
    #modalInicioSessionRapido .modal-dialog {
        margin: auto; /* Centramos verticalmente */
        max-width: 95%;
        min-height: auto;
        display: flex;
        align-items: center; /* Centramos verticalmente */
        min-height: 100vh; /* Aseguramos que ocupe toda la altura */
    }

    #modalInicioSessionRapido .modal-content {
        max-height: 90vh; /* Ajustado para dejar espacio */
        display: flex;
        flex-direction: column;
        font-size: 0.85rem; /* Más pequeño en móvil */
        margin-top: 0; /* Eliminamos margen superior */
        margin-bottom: 0; /* Eliminamos margen inferior */
    }

    /* Header móvil más compacto */
    #modalInicioSessionRapido .modal-header {
        padding: 0.75rem 0.75rem 0;
        padding-top: calc(0.25rem + env(safe-area-inset-top)); /* Reducido */
    }

    #modalInicioSessionRapido .close {
        right: 0.75rem;
        top: 0.75rem;
        font-size: 1.25rem; /* Reducido */
    }

    /* Contenido con scroll */
    #modalInicioSessionRapido .tab-content {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 0.5rem 0.75rem 0.75rem; /* Reducido */
    }

    /* Eliminar espacio excesivo en formulario de registro */
    #panelRegister .row.mt-3 {
        margin-top: 0.25rem !important; /* Reducido de 0.5rem */
    }

    /* Inputs en móvil más pequeños */
    #modalInicioSessionRapido .form-control,
    #modalInicioSessionRapido .input-group-text {
        height: 36px; /* Reducido de 48px */
        font-size: 0.85rem; /* Reducido */
        padding: 0.4rem 0.65rem; /* Reducido */
    }

    /* Columnas en móvil */
    #panelRegister .col-md-6 {
        padding-left: 0;
        padding-right: 0;
    }
}

/* ------------------------- */
/* VERSIÓN DESKTOP */
/* ------------------------- */
@media (min-width: 768px) {
    #modalInicioSessionRapido .modal-dialog {
        max-width: 600px; /* Reducido de 750px */
        margin: 1rem auto; /* Reducido de 1.75rem */
    }

    /* Scroll interno para registro */
    #panelRegister {
        max-height: 55vh;
        overflow-y: auto;
        padding-right: 0.5rem;
    }

        /* Corrección scroll horizontal */
        #panelRegister .row {
            margin-left: 0;
            margin-right: 0;
            width: 100%;
        }

        #panelRegister .col-md-6 {
            padding-left: 0.5rem; /* Reducido de 0.75rem */
            padding-right: 0.5rem;
        }

        /* Personalizar scrollbar */
        #panelRegister::-webkit-scrollbar {
            width: 5px; /* Reducido de 6px */
        }

        #panelRegister::-webkit-scrollbar-thumb {
            background-color: rgba(0, 0, 0, 0.2);
            border-radius: 2.5px;
        }
}

/* ------------------------- */
/* BOTONES COMPACTOS */
/* ------------------------- */
#modalInicioSessionRapido .btn {
    border-radius: 6px; /* Reducido de 8px */
    font-weight: 600;
    height: 38px; /* Reducido de 50px */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem; /* Reducido */
    padding: 0.5rem 1rem; /* Ajustado */
}

    #modalInicioSessionRapido .btn i {
        margin-left: 6px; /* Reducido de 8px */
        font-size: 0.9em; /* Iconos más pequeños */
    }

/* Animación suave */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px); /* Reducido de 10px */
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#modalInicioSessionRapido .tab-pane {
    animation: fadeIn 0.3s ease-out;
}

/* Subtítulos más pequeños */
#modalInicioSessionRapido h6 {
    font-size: 0.8rem; /* Reducido */
    margin-bottom: 0.5rem; /* Reducido */
}

/* Margen entre grupos de formulario reducido */
#modalInicioSessionRapido .form-group {
    margin-bottom: 0.5rem; /* Reducido */
}
