.tp-auth-page {
    position: relative;
    z-index: 1;
    width: min(440px, calc(100vw - 32px));
    margin: 0 auto;
  }

  .tp-auth-card {
    border: 1px solid rgba(216, 228, 239, 0.92);
    border-radius: 1.55rem;
  }

  .tp-auth-intro {
    margin-bottom: 1.2rem;
    text-align: center;
  }

  .tp-auth-kicker {
    display: inline-flex;
    margin-bottom: 0.45rem;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .tp-auth-title {
    margin: 0 0 0.45rem;
    color: #081120;
    font-size: 1.58rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.06;
  }

  .tp-auth-subtitle {
    margin: 0;
    color: #5f6f82;
    font-size: 0.95rem;
    line-height: 1.6;
  }

  .tp-auth-login-link,
  .tp-auth-help {
    margin: 1rem 0 0;
    text-align: center;
  }

  .tp-auth-login-link a,
  .tp-auth-help a {
    color: #5f6f82;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
  }

  .tp-auth-login-link a:hover,
  .tp-auth-help a:hover {
    color: #081120;
    text-decoration: underline;
  }

  .tp-auth-card .btn-login-primary {
    min-height: 3rem;
    font-weight: 800;
    letter-spacing: 0.04em;
  }

  .tp-auth-card .row > .col-8,
  .tp-auth-card .row > .col-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .tp-auth-card .row > .col-4 {
    margin-top: 0.9rem;
  }

  @media (max-width: 575.98px) {
    .tp-auth-page {
      width: calc(100vw - 20px);
    }
  }
