        :root {
            --color-primary: #2563eb;
            --color-primary-hover: #1d4ed8;
            --transition-base: 200ms ease;
            --transition-smooth: 300ms cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* Mobile Menu */
        .mobile-menu {
            max-height: 0;
            opacity: 0;
            visibility: hidden;
            transition: max-height var(--transition-smooth),
                        opacity var(--transition-smooth),
                        visibility var(--transition-smooth);
            overflow: hidden;
        }

        #mobile-menu-toggle:checked ~ .mobile-menu {
            max-height: 400px;
            opacity: 1;
            visibility: visible;
        }

        .menu-icon { display: block; }
        .close-icon { display: none; }

        #mobile-menu-toggle:checked ~ .nav-content .menu-toggle-label .menu-icon {
            display: none;
        }
        #mobile-menu-toggle:checked ~ .nav-content .menu-toggle-label .close-icon {
            display: block;
        }

        /* Focus States */
        a:focus-visible,
        button:focus-visible,
        input:focus-visible,
        [role="button"]:focus-visible {
            outline: 2px solid var(--color-primary);
            outline-offset: 2px;
        }

        /* Screen Reader Only */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* Page Loader */
        #loader {
            position: fixed;
            inset: 0;
            z-index: 9999;
            background-color: #f1f5f9;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 1;
            visibility: visible;
            transition: opacity 500ms ease-out, visibility 500ms ease-out;
        }

        #loader.fade-out {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

        #loader .loader-icon {
            width: 64px;
            height: 64px;
            animation: pulse 2s ease-in-out infinite;
        }

        @keyframes pulse {
            0%, 100% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.05); opacity: 0.8; }
        }

        /* Main Content */
        #main-content {
            opacity: 0;
            visibility: hidden;
            transition: opacity 500ms ease-out, visibility 500ms ease-out;
        }

        #main-content.visible {
            opacity: 1;
            visibility: visible;
        }

        /* Login Card Shadow */
        .login-card {
            box-shadow: 0 16px 45px rgba(15, 23, 42, 0.18);
        }

        /* Reduced Motion */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
            }
        }

        /* No-JS Fallback */
        html:not(.js) #loader { display: none; }
        html:not(.js) #main-content { opacity: 1; visibility: visible; }
