html, body {
        height: 100%;
        margin: 0;
        padding: 0;
    }

    /* El div app debe usar toda la altura */
    #app {
        height: 100vh;
    }

    /* Columna del PDF que ocupa toda la altura */
    .pdf-column {
        padding: 0 !important;
        height: 100vh;
    }

    /* Visor PDF que ocupa toda la altura disponible */
    .pdf-viewer-full {
        height: 100%;
        width: 100%;
    }

    /* Placeholder del PDF */
    .pdf-placeholder {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #f8f9fa;
        border: 2px dashed #dee2e6;
        border-radius: 8px;
    }

    /* Logo responsivo */
    .logo {
        max-width: 100%;
        height: auto;
    }

    /* Estilos de botones */
    .btn {
        font-weight: 500;
    }

    /* Estilos de tabla */
    .table th {
        background-color: #f8f9fa;
        font-weight: 600;
    }

    /* === Estilos del Loading Spinner === */
    #loadingModal .modal-backdrop {
        background-color: rgba(0, 0, 0, 0.8);
    }

    .loading-spinner-container {
        background: rgba(0, 0, 0, 0.9);
        border-radius: 15px;
        padding: 30px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        backdrop-filter: blur(10px);
    }

    /* Animación del spinner */
    .spinner-border {
        animation: spinner-border-animation 0.75s linear infinite;
    }

    @keyframes spinner-border-animation {
        to {
            transform: rotate(360deg);
        }
    }

    /* Estilos para texto del loading */
    #loadingMessage {
        font-weight: 600;
        margin-bottom: 8px;
    }

    /* Efecto de pulso en el contenedor */
    .loading-spinner-container {
        animation: pulse-glow 2s ease-in-out infinite alternate;
    }

    @keyframes pulse-glow {
        from {
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }
        to {
            box-shadow: 0 10px 30px rgba(13, 110, 253, 0.3);
        }
    }

    /* === Estilos para Bootstrap Toasts === */
    .toast-container {
        z-index: 1200;
    }

    .toast {
        border: none;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        backdrop-filter: blur(10px);
        min-width: 300px;
    }

    .toast-header {
        border-bottom: none;
        font-weight: 600;
    }

    .toast-body {
        font-weight: 500;
    }

    /* Respetar las animaciones nativas de Bootstrap */
    .toast.fade {
        transition: opacity 0.15s linear;
    }

    .toast.fade:not(.show) {
        opacity: 0;
    }

    .toast.fade.show {
        opacity: 1;
    }

    /* Asegurar que los iframes del PDF ocupen toda la altura */
    .pdf-viewer-full iframe {
        width: 100% !important;
        height: 100% !important;
        border: none !important;
    }