
  /* Center the entire page vertically and horizontally */
    /* HTMX Loading Indicator Styles */
  .htmx-indicator {
    display: none;
  }

  .htmx-request .htmx-indicator {
    display: inline-block;
  }

  .htmx-request .button-text {
    display: none;
  }

  /* Optional: Style disabled button during request */
  button[disabled] {
    opacity: 0.8;
    cursor: not-allowed;
  }

  .login-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
  }

  .card {
    overflow: hidden;
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .input-group-text {
    background-color: transparent;
  }

  .form-control:focus {
    box-shadow: none;
    border-color: var(--bs-primary);
  }

  .input-group:focus-within .input-group-text {
    border-color: var(--bs-primary);
  }

  /* Smooth transitions */
  .btn, .form-control, .input-group-text {
    transition: all 0.2s ease-in-out;
  }

  .btn-primary-logo:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  }

  /* Logo sizing */
  .logo-img {
    max-width: 150px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
  }

  /* Mobile responsive adjustments */
  @media (max-width: 576px) {
    .login-container {
      padding: 0.5rem 0.25rem;
    }

    .card {
      box-shadow: none !important;
      border: none;
      border-radius: 0;
    }

    .card-body {
      padding: 1.25rem 1rem !important;
    }

    .logo-img {
      max-width: 100px;
      margin-bottom: 1rem !important;
    }

    .nim-btn {
      width: 100%;
      padding: 0.625rem 1rem;
    }

    .text-center h4 {
      font-size: 1.25rem;
      margin-bottom: 0.5rem !important;
    }

    .text-center p {
      font-size: 0.875rem;
    }

    .text-center.mb-4 {
      margin-bottom: 1.5rem !important;
    }

    .mb-3 {
      margin-bottom: 0.875rem !important;
    }

    .mb-4 {
      margin-bottom: 1rem !important;
    }

    .mt-4 {
      margin-top: 1.5rem !important;
    }

    /* Reduce input padding on mobile */
    .form-control {
      padding: 0.5rem 0.75rem;
      font-size: 0.9375rem;
    }

    .input-group-text {
      padding: 0.5rem 0.75rem;
    }

    label small {
      font-size: 0.8125rem;
    }
  }

  /* Tablet adjustments */
  @media (min-width: 577px) and (max-width: 992px) {

    .login-container {
      padding: 2rem 1rem;
    }

    .card-body {
      padding: 2.5rem !important;
    }
  }

  /* Desktop adjustments */
  @media (min-width: 993px) {
    .login-container {
      padding: 2rem 1rem;
    }



    .card-body {
      padding: 3.5rem 4rem !important;
    }



    .form-control, .input-group-text {
      padding: 0.75rem 1rem;
      font-size: 1rem;
    }
  }
