
    body {
      background: url('https://images.pexels.com/photos/5632393/pexels-photo-5632393.jpeg') no-repeat center center fixed;
      background-size: cover;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Segoe UI', sans-serif;
      margin: 0;
    }

    .login-card {
      background: rgba(255, 255, 255, 0.95);
      border-radius: 25px;
      padding: 40px 30px;
      width: 100%;
      max-width: 450px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
      animation: fadeInUp 1s ease-out forwards;
    }

    .login-card h2 {
      text-align: center;
      margin-bottom: 25px;
      font-weight: bold;
      animation: fadeInUp 1s ease-out forwards;
    }

    .form-control {
      border-radius: 12px;
      transition: 0.3s ease;
    }

    .form-control:focus {
      box-shadow: 0 0 0 0.2rem rgba(13,110,253,.25);
    }

    .btn-primary {
      border-radius: 12px;
      font-weight: bold;
      animation: fadeInUp 1.2s ease-out forwards;
    }

    .invalid-feedback {
      display: none;
      font-size: 0.85rem;
      color: red;
    }

    .is-invalid + .invalid-feedback {
      display: block;
    }

    .links {
      margin-top: 15px;
      text-align: center;
      font-size: 0.95rem;
      animation: fadeInUp 1.4s ease-out forwards;
    }

    .links a {
      text-decoration: none;
      color: #0d6efd;
    }

    .links a:hover {
      color: #084298;
      text-decoration: underline;
    }

    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    label {
      font-weight: bold;
    }

    .form-label::after {
      content: ' *';
      color: red;
    }
