
        :root {
            --primary-color: #0E4669;    /* Premium Blue */
            --primary-light: #1a6a9b;    /* Light mint */
            --primary-dark: #072e45;     /* Dark mint */
            --secondary-color: #4dabf7;  /* Soft blue */
            --secondary-light: #a5d8ff;  /* Light soft blue */
            --accent-color: #1a6a9b;     /* Light mint accent */
            --success-color: #0E4669;    /* Premium Blue */
            --info-color: #15aabf;       /* Teal */
            --warning-color: #ffd43b;    /* Yellow */
            --danger-color: #fa5252;     /* Soft red */
            --light-bg: #f8f9fa;        /* Very light gray */
            --dark-bg: #212529;         /* Dark gray */
            --card-bg: #ffffff;         /* White */
            --text-color: #2b2d42;      /* Dark blue-gray */
            --text-muted: #6c757d;      /* Gray */
            --border-color: #e2e8f0;    /* Light gray border */
            --border-radius: 12px;
            --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        body {
            font-family: 'Poppins', sans-serif;
            background: linear-gradient(135deg, #f0f4f8 0%, #e6eff5 50%, #dce7ed 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        
        .login-container {
            max-width: 420px;
            width: 100%;
            background: rgba(255, 255, 255, 0.98);
            padding: 2.5rem;
            border-radius: var(--border-radius);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.8);
            position: relative;
            overflow: hidden;
        }
        
        .login-container::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 5px;
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
            border-radius: 4px 4px 0 0;
        }
        
        .login-container::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
            border-radius: var(--border-radius) var(--border-radius) 0 0;
        }
        
        .login-header {
            text-align: center;
            margin-bottom: 30px;
        }
        
        .login-header h2 {
            color: var(--primary-dark);
            font-weight: 700;
            margin-bottom: 0.5rem;
            font-size: 1.875rem;
            background: linear-gradient(135deg, var(--primary-dark), var(--primary-color));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            display: inline-block;
        }
        
        .login-header p {
            color: var(--text-muted);
            font-size: 1rem;
        }
        
        .form-control {
            height: 48px;
            border: 1px solid var(--border-color);
            border-radius: 8px;
            padding: 0.625rem 1rem;
            font-size: 0.9375rem;
            transition: var(--transition);
            background-color: var(--light-bg);
        }
        
        .form-control:focus {
            border-color: var(--primary-light);
            box-shadow: 0 0 0 3px rgba(14, 70, 105, 0.1);
            background-color: #fff;
        }
        
        .input-group-text {
            background-color: transparent;
            border-right: none;
            color: var(--text-muted);
        }
        
        .input-group .form-control {
            border-left: none;
        }
        
        .btn-login {
            background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
            border: none;
            height: 48px;
            font-weight: 600;
            font-size: 0.9375rem;
            border-radius: 8px;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(12, 166, 120, 0.3);
            position: relative;
            overflow: hidden;
        }
        
        .btn-login:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(12, 166, 120, 0.4);
        }
        
        .btn-login:active {
            transform: translateY(0);
            box-shadow: 0 2px 10px rgba(12, 166, 120, 0.3);
        }
        
        .alert {
            border-radius: 8px;
            padding: 12px 15px;
            margin-bottom: 20px;
            font-size: 0.9rem;
            border: none;
        }
        
        .alert-danger {
            background-color: #fef2f2;
            color: #b91c1c;
            border-left: 4px solid #ef4444;
        }
        
        .alert-success {
            background-color: #f0fdf4;
            color: #15803d;
            border-left: 4px solid #22c55e;
        }
        
        @keyframes fadeIn {
            from { 
                opacity: 0; 
                transform: translateY(20px);
            }
            to { 
                opacity: 1; 
                transform: translateY(0);
            }
        }
        
        .login-container {
            animation: fadeIn 0.5s ease forwards;
        }
    