/* Compact customer entry; keep booking, checkout and account layouts unchanged. */
.fl-auth-page { background: #001a17; }
.fl-customer-main.fl-customer-main--auth {
  max-width: 500px;
  padding: clamp(28px, 6vw, 64px) 20px 32px;
}
.fl-customer-main--auth .fl-customer-panel {
  background: rgba(0, 17, 14, .3);
  border-color: rgba(209, 184, 111, .23);
  border-radius: 18px;
  box-shadow: none;
  padding: clamp(24px, 5vw, 36px);
}
.fl-customer-main--auth > .fl-customer-panel > h1 {
  color: #f5f1e6;
  font-size: clamp(1.65rem, 6vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.2;
  margin-bottom: 28px;
}
.fl-auth-page .fl-kicker { color: #d5bc79; letter-spacing: .16em; margin-bottom: 10px; }
.fl-auth-page .fl-field > span { font-size: .85rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.fl-auth-page .fl-field { margin-bottom: 16px; }
.fl-auth-page form > .fl-button { width: 100%; }
.fl-auth-page .fl-form-privacy { font-size: .8rem; line-height: 1.5; text-align: center; }
.fl-auth-lead { font-size: .94rem; margin: -14px 0 24px; }
.fl-auth-page .fl-auth-class {
  background: transparent;
  border-color: var(--fl-line-soft);
  border-radius: 12px;
  margin: -4px 0 24px;
  padding: 16px;
}
.fl-auth-class .fl-card-badge { font-size: .66rem; margin-bottom: 10px; }
.fl-auth-class + .fl-auth-lead { margin-top: 0; }
.fl-auth-alternative {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 6px;
  border-top: 1px solid rgba(209, 184, 111, .14);
  margin-top: 24px;
  padding-top: 16px;
  font-size: .875rem;
  line-height: 1.5;
}
.fl-auth-alternative > span { color: var(--fl-text-dim); }
.fl-auth-alternative a, .fl-auth-retry {
  align-items: center;
  color: #d5bc79;
  display: inline-flex;
  min-height: 44px;
  text-underline-offset: 4px;
}
.fl-auth-teacher {
  align-items: center;
  color: var(--fl-text-dim);
  display: flex;
  font-size: .78rem;
  justify-content: center;
  min-height: 44px;
  text-underline-offset: 4px;
}
.fl-auth-page a:focus-visible { outline: 2px solid #d5bc79; outline-offset: 4px; border-radius: 4px; }
.fl-auth-page .fl-customer-footer { max-width: 500px; font-size: .7rem; line-height: 1.65; }
@media (max-width: 380px) {
  .fl-customer-main.fl-customer-main--auth { padding-inline: 14px; }
  .fl-customer-main--auth .fl-customer-panel { padding: 22px 18px; }
}
