@import url('https://fonts.googleapis.com/css2?family=Assistant:wght@200;300;400;500;600;700;800&display=swap');

/* Global Design System Variables */
:root {
    --bg-color: #eef0f3;
    --text-main: #2a2a30;
    --brand-primary: #800020;
    --brand-hover: #a8243f;
    --sidebar-bg: #1a1a1a;
}

body {
    font-family: 'Assistant', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-main);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Custom Premium Scrollbar */
.custom-scrollbar::-webkit-scrollbar { 
    width: 8px; 
    height: 8px; 
}
.custom-scrollbar::-webkit-scrollbar-track { 
    background: #f1f5f9; 
    border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb { 
    background: #cbd5e1; 
    border-radius: 20px; 
    border: 2px solid #f1f5f9; 
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover { 
    background: #94a3b8; 
}

/* Glassmorphism Utilities */
.glass-nav { 
    background: rgba(238, 240, 243, 0.85); 
    backdrop-filter: blur(12px); 
    border-bottom: 1px solid rgba(255, 255, 255, 0.4); 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.glass-modal, .forgot-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.15);
}

.glass-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Sidebar Specific States */
aside {
    background-color: var(--sidebar-bg) !important;
    color: #ffffff !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex-shrink: 0 !important;
    transition: none !important;
}

#sidebar-logo-container {
    margin: 0 auto !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

#sidebar-logo-container img {
    height: 40px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

.sidebar-active {
    background-color: var(--brand-primary) !important;
    color: #ffffff !important;
    border-right: 4px solid var(--brand-hover) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(128, 0, 32, 0.3) !important;
}

.submenu-active {
    color: #ffffff !important;
    font-weight: 900 !important;
    background-color: var(--brand-primary) !important;
    border-right: 3px solid var(--brand-hover) !important;
    border-radius: 6px !important;
}

.archive-active {
    background-color: #ef4444 !important;
    color: white !important;
    border-right: 4px solid #b91c1c !important;
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.2) !important;
}

/* Global Buttons & Shadows */
button, a.px-3, a.px-4, select, input[type="submit"], input[type="button"], .button, .btn {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

button:active, input[type="submit"]:active {
    transform: translateY(1px);
}

/* Premium Card Standard */
.premium-card { 
    background: #ffffff; 
    border-radius: 24px; 
    border: 1px solid #cbd5e1; 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); 
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Kanban specific card */
.lead-card {
    background-color: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 12px;
}
.lead-card:hover {
    border-color: var(--brand-hover) !important;
    box-shadow: 0 10px 15px -3px rgba(128, 0, 32, 0.1), 0 4px 6px -2px rgba(128, 0, 32, 0.05) !important;
    transform: translateY(-2px) !important;
}

/* Accessibility skip link */
.skip-to-content {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: white;
    padding: 8px;
    z-index: 100;
    transition: top 0.2s;
}
.skip-to-content:focus {
    top: 0;
}
