    html, body { height: 100%; }

    body {
      min-height: 100vh;
      margin: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      color: #e5e7eb;
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
      background:
        url('/background/login-screen/newloginbg-op73.webp') no-repeat center center fixed;
      background-size: cover;
      position: relative;
      overflow-x: hidden;
    }

    /* Cyber overlay – keeps image visible but gives it a neon wash */
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(circle at 0% 0%, rgba(236, 72, 153, 0.30), transparent 55%),
        radial-gradient(circle at 100% 100%, rgba(56, 189, 248, 0.28), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(129, 140, 248, 0.30), transparent 55%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.85), rgba(15, 23, 42, 0.65));
      mix-blend-mode: soft-light;
      opacity: 0.95;
      z-index: -1;
    }

    /* Subtle scanlines */
    body::after {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image:
        repeating-linear-gradient(
          to bottom,
          rgba(15, 23, 42, 0.5),
          rgba(15, 23, 42, 0.5) 1px,
          rgba(15, 23, 42, 0.2) 2px
        );
      mix-blend-mode: soft-light;
      opacity: 0.6;
      z-index: -1;
    }

    .content-wrapper {
      flex: 1 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem 0.75rem;
    }

    .login-shell {
      max-width: 460px;
      width: 100%;
    }

    .logo-pulse img {
      height: 90px;
      width: auto;
      filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.8));
      animation: logoPulse 3s ease-in-out infinite;
    }

    @keyframes logoPulse {
      0%, 100% { transform: scale(1);   filter: drop-shadow(0 0 8px rgba(56, 189, 248, 0.8)); }
      50%      { transform: scale(1.04); filter: drop-shadow(0 0 18px rgba(244, 114, 182, 0.9)); }
    }

    .login-card {
      position: relative;
      border-radius: 1.7rem;
      border: 1px solid rgba(129, 140, 248, 0.85);
      background:
        radial-gradient(circle at top left, rgba(56, 189, 248, 0.18), transparent 60%),
        radial-gradient(circle at bottom right, rgba(244, 114, 182, 0.22), transparent 60%),
        rgba(15, 23, 42, 0.92);
      color: #e5e7eb;
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      box-shadow:
        0 0 0 1px rgba(15, 23, 42, 0.7),
        0 0 30px rgba(56, 189, 248, 0.45),
        0 0 60px rgba(129, 140, 248, 0.45);
      overflow: hidden;
    }

    .login-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(145deg, rgba(56, 189, 248, 0.45), transparent 40%, rgba(244, 114, 182, 0.55));
      mix-blend-mode: screen;
      opacity: 0.18;
      pointer-events: none;
    }

    .login-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        repeating-linear-gradient(
          135deg,
          rgba(15, 23, 42, 0.0),
          rgba(15, 23, 42, 0.0) 2px,
          rgba(31, 41, 55, 0.7) 3px
        );
      opacity: 0.25;
      mix-blend-mode: soft-light;
      pointer-events: none;
    }

    .login-card .card-body {
      position: relative;
      z-index: 1;
      padding: 1.9rem 1.9rem 1.6rem;
    }

    .login-heading {
      font-size: 1.2rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #e5e7eb;
      margin-bottom: 0.4rem;
    }

    .login-subtitle {
      font-size: 0.85rem;
      color: #9ca3af;
      margin-bottom: 1.4rem;
    }

    label {
      font-size: 0.8rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: #a5b4fc;
    }

    .form-control {
      background-color: rgba(15, 23, 42, 0.9);
      border-color: rgba(129, 140, 248, 0.6);
      color: #e5e7eb;
      border-radius: 999px;
      font-size: 0.9rem;
      padding-left: 0.9rem;
      padding-right: 0.9rem;
    }

    .form-control:focus {
      background-color: rgba(15, 23, 42, 0.95);
      border-color: #38bdf8;
      box-shadow:
        0 0 0 0.15rem rgba(56, 189, 248, 0.35),
        0 0 18px rgba(56, 189, 248, 0.8);
      color: #e5e7eb;
    }

    .form-control::placeholder {
      color: #6b7280;
    }

    select.form-control {
      padding-right: 2.2rem;
    }

    .btn-primary {
      position: relative;
      border-radius: 999px;
      border: 1px solid rgba(129, 140, 248, 0.9);
      background-image: linear-gradient(135deg, #0f172a, #1d4ed8);
      color: #e5e7eb;
      font-size: 0.9rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      padding: 0.6rem 0.9rem;
      box-shadow:
        0 0 12px rgba(56, 189, 248, 0.5),
        0 0 24px rgba(56, 189, 248, 0.4);
      transition: all 0.18s ease-out;
    }

    .btn-primary:hover {
      border-color: rgba(244, 114, 182, 0.95);
      background-image: linear-gradient(135deg, #1e293b, #4f46e5);
      color: #f9a8d4;
      transform: translateY(-1px);
      box-shadow:
        0 0 22px rgba(244, 114, 182, 0.7),
        0 0 40px rgba(56, 189, 248, 0.7);
    }

    .btn-primary:focus {
      outline: none;
      box-shadow:
        0 0 0 0.15rem rgba(56, 189, 248, 0.6),
        0 0 20px rgba(56, 189, 248, 0.8);
    }

    .spinner-inline {
      display: none;
      margin-left: .5rem;
      vertical-align: middle;
    }

    .forgot-link {
      font-size: 0.8rem;
      color: #a5b4fc;
    }

    .forgot-link a {
      color: #38bdf8;
      text-decoration: none;
    }

    .forgot-link a:hover {
      color: #f472b6;
      text-shadow: 0 0 8px rgba(244, 114, 182, 0.8);
    }

    .alert {
      border-radius: 12px;
      border-width: 1px;
    }

    .alert-danger {
      background: linear-gradient(135deg, rgba(248, 113, 113, 0.15), rgba(185, 28, 28, 0.35));
      border-color: rgba(248, 113, 113, 0.85);
      color: #fee2e2;
      box-shadow: 0 0 20px rgba(248, 113, 113, 0.55);
    }

    .alert-warning {
      background: linear-gradient(135deg, rgba(251, 191, 36, 0.12), rgba(245, 158, 11, 0.26));
      border-color: rgba(251, 191, 36, 0.8);
      color: #fef3c7;
      box-shadow: 0 0 18px rgba(251, 191, 36, 0.45);
    }

    footer {
      flex-shrink: 0;
    }

    footer .container {
      max-width: none !important;
      width: 100% !important;
      padding-left: 1rem;
      padding-right: 1rem;
    }

    footer img {
      opacity: 0.9;
      filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.75));
      transition: transform 0.2s ease, filter 0.2s ease, opacity 0.2s ease;
    }

    footer img:hover {
      opacity: 1;
      transform: translateY(-1px);
      filter:
        drop-shadow(0 0 16px rgba(244, 114, 182, 0.9))
        drop-shadow(0 0 28px rgba(56, 189, 248, 0.9));
    }

    @media (max-width: 575.98px) {
      .login-card .card-body {
        padding: 1.4rem 1.3rem 1.3rem;
      }
      .logo-pulse img {
        height: 78px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      * {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
