        /* Login Page Specific Styles */
        .login-page {
            background: linear-gradient(135deg, #00873E, #FDD835, #D72638);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: var(--spacing-lg);
        }

        .login-container {
            position: relative;
            width: 100%;
            max-width: 450px;
            z-index: 10;
        }

        .login-card {
            background: var(--white);
            border-radius: var(--radius-xl);
            box-shadow: var(--shadow-xl);
            padding: var(--spacing-2xl);
            border: 1px solid rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
        }

        .login-header {
            text-align: center;
            margin-bottom: var(--spacing-2xl);
        }

        .logo-large {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-md);
        }

        .logo-icon-large {
            width: 64px;
            height: 64px;
            color: var(--primary-color);
        }

        .logo-text-large {
            font-size: var(--font-size-4xl);
            font-weight: 700;
            color: var(--primary-color);
            margin: 0;
        }

        .login-subtitle {
            color: var(--gray-600);
            font-size: var(--font-size-sm);
            margin: 0;
        }

        .login-form {
            margin-bottom: var(--spacing-xl);
        }

        .login-form .form-label {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            font-weight: 600;
        }

        .password-input {
            position: relative;
        }

        .password-toggle {
            position: absolute;
            right: var(--spacing-sm);
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            cursor: pointer;
            color: var(--gray-400);
            padding: var(--spacing-xs);
            border-radius: var(--radius-base);
            transition: all var(--transition-fast);
        }

        .password-toggle:hover {
            color: var(--gray-600);
            background: var(--gray-100);
        }

        .form-options {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: var(--spacing-lg) 0;
        }

        .forgot-password {
            font-size: var(--font-size-sm);
            color: var(--primary-color);
            font-weight: 500;
        }

        .forgot-password:hover {
            text-decoration: underline;
        }

        .login-btn {
            width: 100%;
            margin-bottom: var(--spacing-lg);
        }

        .demo-credentials {
            background: var(--gray-50);
            border-radius: var(--radius-lg);
            padding: var(--spacing-lg);
            margin-bottom: var(--spacing-lg);
            border: 1px solid var(--gray-200);
        }

        .demo-credentials h4 {
            font-size: var(--font-size-base);
            color: var(--gray-700);
            margin-bottom: var(--spacing-md);
            text-align: center;
        }

        .demo-accounts {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-sm);
        }

        .demo-account {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-xs);
            padding: var(--spacing-sm);
            background: var(--white);
            border-radius: var(--radius-md);
            border: 1px solid var(--gray-200);
        }

        .demo-account strong {
            color: var(--gray-800);
            font-size: var(--font-size-sm);
        }

        .demo-account span {
            color: var(--gray-600);
            font-size: var(--font-size-xs);
            font-family: monospace;
        }

        .demo-btn {
            align-self: flex-start;
            padding: var(--spacing-xs) var(--spacing-sm);
            background: var(--primary-color);
            color: var(--white);
            border: none;
            border-radius: var(--radius-base);
            font-size: var(--font-size-xs);
            cursor: pointer;
            transition: all var(--transition-fast);
            margin-top: var(--spacing-xs);
        }

        .demo-btn:hover {
            background: var(--primary-dark);
            transform: translateY(-1px);
        }

        .login-footer {
            text-align: center;
            color: var(--gray-500);
            font-size: var(--font-size-xs);
        }

        .login-bg {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            pointer-events: none;
            z-index: 1;
        }

        .bg-shape {
            position: absolute;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            animation: float 6s ease-in-out infinite;
        }

        .shape-1 {
            width: 200px;
            height: 200px;
            top: 10%;
            left: 10%;
            animation-delay: 0s;
        }

        .shape-2 {
            width: 150px;
            height: 150px;
            top: 60%;
            right: 20%;
            animation-delay: 2s;
        }

        .shape-3 {
            width: 100px;
            height: 100px;
            bottom: 20%;
            left: 20%;
            animation-delay: 4s;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(180deg); }
        }

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }

        .modal-actions {
            display: flex;
            justify-content: flex-end;
            gap: var(--spacing-sm);
            margin-top: var(--spacing-lg);
        }

        /* Mobile responsiveness */
        @media (max-width: 480px) {
            .login-page {
                padding: var(--spacing-md);
            }

            .login-card {
                padding: var(--spacing-lg);
            }

            .logo-text-large {
                font-size: var(--font-size-3xl);
            }

            .demo-accounts {
                gap: var(--spacing-md);
            }

            .demo-account {
                text-align: center;
            }

            .demo-btn {
                align-self: center;
            }
        }

        /* Dark mode support */
        @media (prefers-color-scheme: dark) {
            .login-page {
                background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
            }

            .login-card {
                background: rgba(31, 41, 55, 0.95);
                border-color: rgba(255, 255, 255, 0.1);
            }

            .login-subtitle {
                color: var(--gray-400);
            }

            .demo-credentials {
                background: rgba(55, 65, 81, 0.5);
                border-color: rgba(255, 255, 255, 0.1);
            }

            .demo-account {
                background: rgba(75, 85, 99, 0.5);
                border-color: rgba(255, 255, 255, 0.1);
            }
        }
