/* Modern Design Overrides */
:root {
    /* 1. Color System - Modern Vibrant Palette */
    --bs-primary: #0d6efd;
    /* Indigo */
    --bs-secondary: #64748b;
    /* Slate 500 */
    --bs-success: #10b981;
    /* Emerald */
    --bs-info: #3b82f6;
    /* Blue */
    --bs-warning: #f59e0b;
    /* Amber */
    --bs-danger: #ef4444;
    /* Red */
    --bs-light: #f8fafc;
    /* Slate 50 */
    --bs-dark: #0f172a;
    /* Slate 900 */

    /* RGB counterparts for opacity calculations */
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 100, 116, 139;

    /* 2. Shape */
    --bs-border-radius: 0.75rem;
    --bs-border-radius-lg: 1rem;
    --bs-border-radius-sm: 0.5rem;

    /* 3. Fonts (Refined weights for system fonts) */
    --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

/* Force apply new colors to critical Bootstrap components 
   (Since sass compilation baked old hex codes into some classes) */

.bg-primary {
    background-color: var(--bs-primary) !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    box-shadow: 0 4px 6px -1px rgba(13, 110, 253, 0.4);
    /* Soft shadow matching indigo */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-primary:hover {
    background-color: #0b5ed7 !important;
    /* Indigo 600 */
    border-color: #0b5ed7 !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(13, 110, 253, 0.5);
}

.card {
    border: none;
    border-radius: var(--bs-border-radius);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
    background: rgba(255, 255, 255, 0.9);
    /* Slightly translucent */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Glassmorphism Utility */
.glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* Dark mode glass override */
[data-bs-theme="dark"] .glass {
    background: rgba(15, 23, 42, 0.6);
    /* Slate 900 base */
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Interaction Effects */
.hover-lift {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hover-lift:hover {
    transform: translateY(-5px);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Gradient text utility */
.text-gradient-primary {
    background: linear-gradient(135deg, var(--bs-primary), #6610f2);
    /* Indigo to Purple */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}