html,
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.auth-signup-page {
  width: 100%;
  min-height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1.25rem 1rem 2rem;
  background: transparent;
}

.signup-card {
  width: min(100%, 420px);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(213, 198, 177, 0.58);
  border-radius: 28px;
  box-shadow: 0 16px 34px rgba(73, 57, 42, 0.12);
  padding: 1.4rem 1.1rem 1.4rem;
}

.signup-logo {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 10px 22px rgba(109, 82, 96, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: linear-gradient(135deg, #f8efe5 0%, #e5caef 100%);
}

.signup-title {
  font-size: 1.2rem;
  font-weight: 800;
  color: #342c2b;
  margin: 0.4rem 0 0.2rem;
}

.signup-subtitle {
  font-size: 0.9rem;
  color: #7a6b62;
  margin-bottom: 0.8rem;
}

.field-group {
  margin-bottom: 0.95rem;
  text-align: left;
}

.field-group label {
  display: block;
  font-weight: 700;
  font-size: 0.82rem;
  color: #5c4f48;
  margin-bottom: 0.35rem;
}

.custom-input {
  border-radius: 14px;
  border: 1px solid #e1d9cf;
  padding: 0.72rem 0.9rem;
  font-size: 0.95rem;
  background: #fcfaf7;
  color: #342c2b;
}

.custom-input:focus {
  border-color: #8f6ba8;
  box-shadow: 0 0 0 3px rgba(143, 107, 168, 0.16);
  background: #fff;
}

.password-input-wrap {
  position: relative;
}

.password-input-wrap .custom-input {
  padding-right: 3.2rem;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #756862;
}

.password-toggle:hover,
.password-toggle:focus-visible {
  background: #f0e9f4;
  color: #6f4f84;
  outline: none;
}

.password-toggle .material-symbols-outlined {
  font-size: 1.25rem;
}

.name-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
}

.name-grid > div {
  width: 50% !important;
  min-width: 0;
  flex: 0 0 50% !important;
}

.name-grid .custom-input {
  width: 100%;
}

.form-select.custom-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #342c2b 50%), linear-gradient(135deg, #342c2b 50%, transparent 50%);
  background-position: calc(100% - 1.1rem) 50%, calc(100% - 0.7rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.45rem 0.45rem;
  padding-right: 2.8rem;
}

#gym-other-group {
  display: none;
}

.inline-note {
  margin: 0.28rem 0 0;
  color: #7a6b62;
  font-size: 0.76rem;
}

.inline-note.error {
  color: #d9485f;
}

.password-match-message.success {
  color: #3b7b58;
}

.btn-signup-primary {
  background: linear-gradient(135deg, #8f6ba8 0%, #6f4f84 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  padding: 0.8rem 1rem !important;
  box-shadow: 0 8px 16px rgba(111, 79, 132, 0.22) !important;
  transition: transform 0.15s ease, filter 0.15s ease !important;
  width: 100%;
  display: block;
}

.btn-signup-primary:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
  color: #ffffff !important;
}
