body {
      background: linear-gradient(135deg, #4a90e2, #357abd);
      min-height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .login-card {
      background: #ffffff;
      border-radius: 12px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
      padding: 2.5rem;
      max-width: 450px;
      width: 100%;
      text-align: center;
      animation: fadeIn 0.6s ease-in-out;
    }

    .login-card img {
      max-width: 200px;
      margin-bottom: 1.5rem;
    }

    .login-card h1 {
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 2rem;
      color: #333;
    }

    .form-group {
      text-align: left;
      margin-bottom: 1.2rem;
    }

    .form-group label {
      font-weight: 600;
      margin-bottom: 0.3rem;
      display: block;
      color: #444;
    }

    .form-group input {
      width: 100%;
      padding: 0.75rem;
      border: 1px solid #ccc;
      border-radius: 8px;
      font-size: 1rem;
      transition: border-color 0.3s ease-in-out;
    }

    .form-group input:focus {
      border-color: #4a90e2;
      outline: none;
      box-shadow: 0 0 6px rgba(74,144,226,0.5);
    }

    .btn {
      width: 100%;
      padding: 0.75rem;
      font-size: 1.1rem;
      border-radius: 8px;
      margin-top: 1rem;
    }

    .btn-primary {
      background-color: #007bff;
      border: none;
    }

    .alert-danger {
      margin-top: 1rem;
      border-radius: 8px;
      font-size: 0.95rem;
    }

    .login-footer {
      margin-top: 1.5rem;
      font-size: 0.9rem;
      color: #666;
    }

    .login-footer a {
      color: #4a90e2;
      text-decoration: none;
      font-weight: 500;
    }

    .login-footer a:hover {
      text-decoration: underline;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }