﻿body {
    background-color: #f0f2f5;
    color: #333;
}

h1 {
    color: #1a237e;
    font-size: 2.25rem;
    margin-bottom: 1rem;
}

.description {
    background-color: #e8eaf6;
    border-left: 4px solid #1a237e;
    padding: 1rem;
    margin-bottom: 1.5rem;
    border-radius: 0 8px 8px 0;
}

.instruccion {
    color: #1a237e;
}

.required-field::after {
    content: " *";
    color: red;
}

.form-label {
    font-weight: 500;
    color: #1a237e;
}

.form-control, .form-select {
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 0.5rem;
}

    .form-control:focus, .form-select:focus {
        border-color: #1a237e;
        box-shadow: 0 0 0 0.2rem rgba(26, 35, 126, 0.25);
    }

.custom-radio .form-check-input {
    width: 1.25em;
    height: 1.25em;
    margin-top: 0.25em;
    border: 2px solid #1a237e;
    cursor: pointer;
}

    .custom-radio .form-check-input:checked {
        background-color: #1a237e;
        border-color: #1a237e;
    }

.custom-radio .form-check-label {
    padding-left: 0.5em;
    cursor: pointer;
}

.custom-radio .form-check-label {
    padding-left: 0.5em;
}


.mensaje-error {
    color: red;
    font-weight: normal;
    margin-top: 0.25rem;
    font-size: 0.875em;
    /*color: var(--bs-form-invalid-color);*/
}

.text-muted {
    display: block;
    width: 100%;
    text-align: right;
    font-size: 0.75rem;
    /*color: #6c757d;*/
    color:red;
    margin-top: 0.25rem;
}


.btn-primary {
    background-color: #1a237e;
    border-color: #1a237e;
}

    .btn-primary:hover {
        background-color: #0e1442;
        border-color: #0e1442;
    }



/*Estilos del Loading*/
.spinner-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 9999;
    display: none; /* Hidden by default */
}

.spinner-loader {
    --primary-color: #2980b9;
    --secondary-color: #3498db;
    width: 80px;
    height: 80px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
}

    .spinner-loader::before,
    .spinner-loader::after {
        content: "";
        position: absolute;
        border-radius: 50%;
        border: 4px solid transparent;
    }

    .spinner-loader::before {
        width: 100%;
        height: 100%;
        border-top-color: var(--primary-color);
        border-left-color: var(--primary-color);
        animation: spin 1.5s linear infinite;
    }

    .spinner-loader::after {
        width: 70%;
        height: 70%;
        border-bottom-color: var(--secondary-color);
        border-right-color: var(--secondary-color);
        animation: spin 1.2s linear reverse infinite;
    }

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.spinner-loader .text {
    position: absolute;
    bottom: -30px;
    font-size: 16px;
    color: var(--primary-color);
    white-space: nowrap;
}


.error_class {
    font-size: 0.875rem;
    color: #d9534f;
    font-family: Arial;
}