:root {
        --header-height: 80px;
        --primary-color: #007bff; 
        --primary-dark: #0056b3;
        --text-dark: #23292e;
        --text-light: #ffffff;
        --font-bengali: 'Noto Sans Bengali', sans-serif;
        --font-english: 'Poppins', sans-serif;
    }
    .particles-bg {
        position: fixed; /* Fixed position */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1; /* Pushes it to the very back of all content */
        background-color: #ffffff; /* A very light, subtle background color */
    }
    /* General Body Styling */
    body { 
        font-family: var(--font-english); 
        color: var(--text-dark);
    }
    body.overflow-hidden { overflow: hidden; }
    
    /* Utility Class for Bengali Text */
    .font-bengali { font-family: var(--font-bengali); }

    /* HEADER Styling */
    .app-header {
        height: var(--header-height);
        z-index: 1050;
        background-color: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        box-shadow: 0 1px 10px rgba(0, 0, 0, 0.08);
    }
    
    /* DESKTOP DROPDOWN STYLES */
    .dropdown-menu {
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
        pointer-events: none;
    }
    .dropdown-hover:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }
    /* Fix for desktop navbar alignment */
    .nav-link-item {
        display: flex; /* Ensures text and icons are vertically centered */
        align-items: center;
        height: var(--header-height);
    }

    /* NAVIGATION DRAWER Styling (Mobile Menu) */
    .nav-menu {
        transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
        transform: translateX(100%); 
        will-change: transform; 
    }
    .nav-menu.is-open {
        transform: translateX(0); 
    }
    .nav-menu.is-swiping {
        transition: none; 
    }
    .drawer-overlay {
        transition: opacity 0.4s ease;
    }

    /* FLASH MESSAGE STYLING */
    .toast-notification {
        transition: transform 0.4s ease-out, opacity 0.4s ease-out;
    }
    @keyframes slideInRight {
        from { transform: translateX(100%); opacity: 0; }
        to { transform: translateX(0); opacity: 1; }
    }
    .toast-notification.show {
        animation: slideInRight 0.5s ease-out forwards;
    }
    @keyframes progress {
        from { width: 100%; }
        to { width: 0%; }
    }
    .toast-notification__progress {
        animation: progress 4.5s linear forwards; 
    }