/**
 * GESAM Logo Color Palette
 * Primary: #2C3E50 (navy) | Secondary: #0099FF (bright blue) | Accent: #D62C2C (red) | Slate: #607D8B
 */
:root {
    --gesam-navy: #2C3E50;
    --gesam-navy-light: #3D5A6F;
    --gesam-primary: #0099FF;
    --gesam-primary-dark: #0077CC;
    --gesam-slate: #607D8B;
    --gesam-accent: #D62C2C;
    --gesam-accent-dark: #B22424;
}

/* Backgrounds */
.bg-gesam-navy { background-color: #2C3E50 !important; }
.bg-gesam-navy-light { background-color: #3D5A6F !important; }
.bg-gesam-navy-dark { background-color: #1A2A36 !important; }
.bg-gesam-primary { background-color: #0099FF !important; }
.bg-gesam-primary-dark { background-color: #0077CC !important; }
.bg-gesam-slate { background-color: #607D8B !important; }
.bg-gesam-accent { background-color: #D62C2C !important; }
.bg-gesam-accent-dark { background-color: #B22424 !important; }

/* Text colors */
.text-gesam-navy { color: #2C3E50 !important; }
.text-gesam-primary { color: #0099FF !important; }
.text-gesam-slate { color: #607D8B !important; }
.text-gesam-accent { color: #D62C2C !important; }

/* Borders */
.border-gesam-navy { border-color: #2C3E50 !important; }
.border-gesam-primary { border-color: #0099FF !important; }

/* Hover states */
.hover\:bg-gesam-navy:hover { background-color: #3D5A6F !important; }
.hover\:bg-gesam-navy-dark:hover { background-color: #1A2A36 !important; }
.hover\:bg-gesam-primary:hover { background-color: #0077CC !important; }
.hover\:bg-gesam-primary-dark:hover { background-color: #0077CC !important; }
.hover\:bg-gesam-accent:hover { background-color: #B22424 !important; }
.hover\:text-gesam-primary:hover { color: #0099FF !important; }
.hover\:text-gesam-accent:hover { color: #D62C2C !important; }

/* Shadows */
.shadow-gesam { box-shadow: 0 2px 8px rgba(44, 62, 80, 0.12) !important; }
.shadow-gesam-lg { box-shadow: 0 4px 16px rgba(44, 62, 80, 0.15) !important; }

/* Focus ring for forms */
.focus\:ring-gesam-primary:focus { --tw-ring-color: #0099FF !important; }

/* Badge/status styles (admin compatibility) */
.bg-success { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-danger { background-color: #fee2e2 !important; color: #991b1b !important; }
.bg-warning { background-color: #fef3c7 !important; color: #92400e !important; }

/* ============================================
   SweetAlert2 - GESAM Design System
   ============================================ */
.swal2-popup {
    border-radius: 1.5rem !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 16px rgba(44, 62, 80, 0.15) !important;
    padding: 1.5rem 2rem !important;
    font-family: 'Figtree', ui-sans-serif, system-ui, sans-serif !important;
    max-width: 28rem !important;
}

.swal2-title {
    color: #2C3E50 !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.3 !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0 !important;
}

.swal2-html-container {
    color: #607D8B !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

.swal2-icon {
    margin: 0 0 1rem 0 !important;
    width: 4rem !important;
    height: 4rem !important;
    border-width: 0.25rem !important;
}

.swal2-icon.swal2-success {
    border-color: #0099FF !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: #0099FF !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(0, 153, 255, 0.3) !important;
}

.swal2-icon.swal2-error {
    border-color: #D62C2C !important;
}

.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
    background-color: #D62C2C !important;
}

.swal2-icon.swal2-warning {
    border-color: #f59e0b !important;
    color: #f59e0b !important;
}

.swal2-icon.swal2-question {
    border-color: #0099FF !important;
    color: #0099FF !important;
}

.swal2-actions {
    margin: 1rem 0 0 0 !important;
    gap: 0.75rem !important;
}

.swal2-styled.swal2-confirm {
    border-radius: 1rem !important;
    padding: 0.625rem 1.25rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    background-color: #0099FF !important;
    border: none !important;
    transition: background-color 0.2s ease !important;
}

.swal2-styled.swal2-confirm:hover {
    background-color: #0077CC !important;
}

.swal2-styled.swal2-confirm:focus {
    box-shadow: 0 0 0 2px rgba(0, 153, 255, 0.5) !important;
}

.swal2-styled.swal2-cancel {
    border-radius: 1rem !important;
    padding: 0.625rem 1.25rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    background-color: #ffffff !important;
    color: #2C3E50 !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.swal2-styled.swal2-cancel:hover {
    background-color: #f9fafb !important;
    color: #2C3E50 !important;
}

.swal2-styled.swal2-cancel:focus {
    box-shadow: 0 0 0 2px rgba(44, 62, 80, 0.2) !important;
}

.swal2-container {
    backdrop-filter: blur(4px) !important;
}

.swal2-backdrop-show {
    background-color: rgba(44, 62, 80, 0.4) !important;
}

/* Responsive adjustments */
@media (max-width: 640px) {
    .swal2-popup {
        padding: 1.25rem 1.5rem !important;
        margin: 0 1rem !important;
    }
}
