/* Correcciones específicas para Safari */

/* Forzar el renderizado de gradientes en Safari */
@supports (-webkit-appearance: none) {
    body {
        background: -webkit-linear-gradient(135deg, #386ebf 0%, #2c58a0 100%);
        background-attachment: fixed;
    }
    
    .card-header {
        background: -webkit-linear-gradient(90deg, #22509b 0%, #1ec6df 100%);
        -webkit-background-clip: padding-box;
    }
    
    .btn-primary {
        background: -webkit-linear-gradient(135deg, #386ebf 0%, #2c58a0 100%);
        -webkit-background-clip: padding-box;
    }
    
    .btn-primary:hover {
        background: -webkit-linear-gradient(135deg, #2c58a0 0%, #386ebf 100%);
        -webkit-background-clip: padding-box;
    }
    
    .modal-header {
        background: -webkit-linear-gradient(135deg, #386ebf 0%, #2c58a0 100%);
        -webkit-background-clip: padding-box;
    }
    
    .alert-danger {
        background: -webkit-linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
        -webkit-background-clip: padding-box;
    }
    
    .alert-success {
        background: -webkit-linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
        -webkit-background-clip: padding-box;
    }
}

/* Correcciones para flexbox en Safari */
@supports (-webkit-appearance: none) {
    .card-header {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    
    .card-header h4 {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
}

/* Correcciones para transformaciones en Safari */
@supports (-webkit-appearance: none) {
    .btn:hover {
        -webkit-transform: translateY(-1px);
        transform: translateY(-1px);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    
    .card:hover {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

/* Correcciones para bordes redondeados en Safari */
@supports (-webkit-appearance: none) {
    .card {
        -webkit-border-radius: 0.375rem;
        border-radius: 0.375rem;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
    }
    
    .card-header {
        -webkit-border-radius: 10px 10px 0 0;
        border-radius: 10px 10px 0 0;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
    }
    
    .btn {
        -webkit-border-radius: 0.375rem;
        border-radius: 0.375rem;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
    }
    
    .form-control,
    .form-select {
        -webkit-border-radius: 0.375rem;
        border-radius: 0.375rem;
        -webkit-appearance: none;
        appearance: none;
    }
}

/* Correcciones para sombras en Safari */
@supports (-webkit-appearance: none) {
    .card {
        -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    }
    
    .card:hover {
        -webkit-box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
        box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
    }
    
    .btn-primary:hover {
        -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    }
}

/* Correcciones para transiciones en Safari */
@supports (-webkit-appearance: none) {
    .card,
    .btn,
    .form-control,
    .form-select {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* Correcciones para scroll en Safari */
@supports (-webkit-appearance: none) {
    .modal-body {
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
    }
    
    html, body {
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
    }
}

/* Correcciones para fuentes en Safari */
@supports (-webkit-appearance: none) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }
}

/* Correcciones para animaciones en Safari */
@supports (-webkit-appearance: none) {
    .card {
        -webkit-animation: fadeIn 0.6s ease-out;
        animation: fadeIn 0.6s ease-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    
    .loading::after {
        -webkit-animation: spin 1s linear infinite;
        animation: spin 1s linear infinite;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}

/* Correcciones para filtros en Safari */
@supports (-webkit-appearance: none) {
    .btn-close-white {
        -webkit-filter: invert(1) grayscale(100%) brightness(200%);
        filter: invert(1) grayscale(100%) brightness(200%);
    }
}

/* Correcciones para box-sizing en Safari */
@supports (-webkit-appearance: none) {
    * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/* Correcciones para appearance en Safari */
@supports (-webkit-appearance: none) {
    .form-control,
    .form-select,
    .btn {
        -webkit-appearance: none;
        appearance: none;
    }
} 