/* Soft Modern Color Palette - Global Overrides */

/* CSS Variables for Soft Modern Theme */
:root {
    /* Primary Colors - Soft Purple */
    --bs-primary: #8b5cf6;
    --bs-primary-rgb: 139, 92, 246;
    --bs-primary-bg-subtle: rgba(139, 92, 246, 0.08);
    --bs-primary-border-subtle: rgba(139, 92, 246, 0.15);
    --bs-primary-text-emphasis: #7c3aed;
    
    /* Secondary Colors - Soft Gray */
    --bs-secondary: #6b7280;
    --bs-secondary-rgb: 107, 114, 128;
    --bs-secondary-bg-subtle: rgba(107, 114, 128, 0.08);
    --bs-secondary-border-subtle: rgba(107, 114, 128, 0.15);
    --bs-secondary-text-emphasis: #4b5563;
    
    /* Success Colors - Soft Green */
    --bs-success: #34d399;
    --bs-success-rgb: 52, 211, 153;
    --bs-success-bg-subtle: rgba(52, 211, 153, 0.08);
    --bs-success-border-subtle: rgba(52, 211, 153, 0.15);
    --bs-success-text-emphasis: #059669;
    
    /* Warning Colors - Soft Amber */
    --bs-warning: #fbbf24;
    --bs-warning-rgb: 251, 191, 36;
    --bs-warning-bg-subtle: rgba(251, 191, 36, 0.08);
    --bs-warning-border-subtle: rgba(251, 191, 36, 0.15);
    --bs-warning-text-emphasis: #d97706;
    
    /* Danger Colors - Soft Red */
    --bs-danger: #f87171;
    --bs-danger-rgb: 248, 113, 113;
    --bs-danger-bg-subtle: rgba(248, 113, 113, 0.08);
    --bs-danger-border-subtle: rgba(248, 113, 113, 0.15);
    --bs-danger-text-emphasis: #dc2626;
    
    /* Info Colors - Soft Blue */
    --bs-info: #60a5fa;
    --bs-info-rgb: 96, 165, 250;
    --bs-info-bg-subtle: rgba(96, 165, 250, 0.08);
    --bs-info-border-subtle: rgba(96, 165, 250, 0.15);
    --bs-info-text-emphasis: #2563eb;
    
    /* Light Colors - Soft White */
    --bs-light: #fafafa;
    --bs-light-rgb: 250, 250, 250;
    --bs-light-bg-subtle: rgba(250, 250, 250, 0.8);
    --bs-light-border-subtle: rgba(250, 250, 250, 0.9);
    --bs-light-text-emphasis: #f3f4f6;
    
    /* Dark Colors - Soft Dark Gray */
    --bs-dark: #374151;
    --bs-dark-rgb: 55, 65, 81;
    --bs-dark-bg-subtle: rgba(55, 65, 81, 0.08);
    --bs-dark-border-subtle: rgba(55, 65, 81, 0.15);
    --bs-dark-text-emphasis: #1f2937;
}

/* Global Button Overrides */
.btn-primary {
    background: linear-gradient(135deg, #a78bfa 0%, #c084fc 100%);
    border: none;
    box-shadow: 0 2px 4px rgba(139, 92, 246, 0.2);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #9333ea 0%, #a855f7 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(139, 92, 246, 0.3);
}

.btn-success {
    background: linear-gradient(135deg, #6ee7b7 0%, #86efac 100%);
    border: none;
    box-shadow: 0 2px 4px rgba(52, 211, 153, 0.2);
    transition: all 0.3s ease;
}

.btn-success:hover {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(52, 211, 153, 0.3);
}

.btn-warning {
    background: linear-gradient(135deg, #fcd34d 0%, #fde68a 100%);
    border: none;
    box-shadow: 0 2px 4px rgba(251, 191, 36, 0.2);
    transition: all 0.3s ease;
}

.btn-warning:hover {
    background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(251, 191, 36, 0.3);
}

.btn-info {
    background: linear-gradient(135deg, #93c5fd 0%, #bfdbfe 100%);
    border: none;
    box-shadow: 0 2px 4px rgba(96, 165, 250, 0.2);
    transition: all 0.3s ease;
}

.btn-info:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(96, 165, 250, 0.3);
}

.btn-danger {
    background: linear-gradient(135deg, #fca5a5 0%, #fecaca 100%);
    border: none;
    box-shadow: 0 2px 4px rgba(248, 113, 113, 0.2);
    transition: all 0.3s ease;
}

.btn-danger:hover {
    background: linear-gradient(135deg, #ef4444 0%, #f87171 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(248, 113, 113, 0.3);
}

/* Card Overrides */
.card {
    border: 1px solid rgba(229, 231, 235, 0.8);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* Badge Overrides */
.badge {
    font-weight: 500;
    border-radius: 8px;
    padding: 0.4em 0.8em;
}

.bg-primary {
    background: linear-gradient(135deg, #a78bfa 0%, #c084fc 100%) !important;
}

.bg-success {
    background: linear-gradient(135deg, #6ee7b7 0%, #86efac 100%) !important;
}

.bg-warning {
    background: linear-gradient(135deg, #fcd34d 0%, #fde68a 100%) !important;
}

.bg-info {
    background: linear-gradient(135deg, #93c5fd 0%, #bfdbfe 100%) !important;
}

.bg-danger {
    background: linear-gradient(135deg, #fca5a5 0%, #fecaca 100%) !important;
}

/* Table Overrides */
.table-light {
    background-color: rgba(250, 250, 250, 0.5);
}

.table-hover tbody tr:hover {
    background-color: rgba(139, 92, 246, 0.04);
}

/* Form Control Overrides */
.form-control:focus {
    border-color: #a78bfa;
    box-shadow: 0 0 0 0.2rem rgba(139, 92, 246, 0.15);
}

.form-select:focus {
    border-color: #a78bfa;
    box-shadow: 0 0 0 0.2rem rgba(139, 92, 246, 0.15);
}

/* Alert Overrides */
.alert-primary {
    background-color: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.15);
    color: #7c3aed;
}

.alert-success {
    background-color: rgba(52, 211, 153, 0.08);
    border-color: rgba(52, 211, 153, 0.15);
    color: #059669;
}

.alert-warning {
    background-color: rgba(251, 191, 36, 0.08);
    border-color: rgba(251, 191, 36, 0.15);
    color: #d97706;
}

.alert-info {
    background-color: rgba(96, 165, 250, 0.08);
    border-color: rgba(96, 165, 250, 0.15);
    color: #2563eb;
}

.alert-danger {
    background-color: rgba(248, 113, 113, 0.08);
    border-color: rgba(248, 113, 113, 0.15);
    color: #dc2626;
}

/* Navbar Overrides */
.navbar-dark {
    background: linear-gradient(135deg, #374151 0%, #4b5563 100%) !important;
}

.navbar-brand {
    font-weight: 600;
}

.nav-link {
    transition: all 0.3s ease;
}

.nav-link:hover {
    color: #a78bfa !important;
    transform: translateY(-1px);
}

/* Text Color Overrides */
.text-primary {
    color: #8b5cf6 !important;
}

.text-success {
    color: #34d399 !important;
}

.text-warning {
    color: #fbbf24 !important;
}

.text-info {
    color: #60a5fa !important;
}

.text-danger {
    color: #f87171 !important;
}

/* Border Color Overrides */
.border-primary {
    border-color: #8b5cf6 !important;
}

.border-success {
    border-color: #34d399 !important;
}

.border-warning {
    border-color: #fbbf24 !important;
}

.border-info {
    border-color: #60a5fa !important;
}

.border-danger {
    border-color: #f87171 !important;
}

/* Pagination Overrides */
.page-link {
    color: #8b5cf6;
    border-color: rgba(229, 231, 235, 0.8);
    transition: all 0.3s ease;
}

.page-link:hover {
    color: #7c3aed;
    background-color: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.15);
}

.page-item.active .page-link {
    background: linear-gradient(135deg, #a78bfa 0%, #c084fc 100%);
    border-color: #8b5cf6;
}

/* Progress Bar Overrides */
.progress-bar {
    background: linear-gradient(135deg, #a78bfa 0%, #c084fc 100%);
}

/* Dropdown Overrides */
.dropdown-menu {
    border: 1px solid rgba(229, 231, 235, 0.8);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.dropdown-item:hover {
    background-color: rgba(139, 92, 246, 0.08);
    color: #7c3aed;
}

/* Modal Overrides */
.modal-content {
    border: 1px solid rgba(229, 231, 235, 0.8);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.modal-header {
    border-bottom: 1px solid rgba(229, 231, 235, 0.8);
}

.modal-footer {
    border-top: 1px solid rgba(229, 231, 235, 0.8);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
    
    .card {
        margin-bottom: 1rem;
    }
    
    .badge {
        font-size: 0.75rem;
        padding: 0.3em 0.6em;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    :root {
        --bs-body-bg: #1f2937;
        --bs-body-color: #f9fafb;
    }
    
    .card {
        background-color: #374151;
        border-color: #4b5563;
        color: #f9fafb;
    }
    
    .table {
        --bs-table-bg: #374151;
        --bs-table-color: #f9fafb;
        --bs-table-border-color: #4b5563;
    }
    
    .form-control, .form-select {
        background-color: #374151;
        border-color: #4b5563;
        color: #f9fafb;
    }
    
    .form-control:focus, .form-select:focus {
        background-color: #374151;
        border-color: #a78bfa;
        color: #f9fafb;
    }
}
