.customer-registration-page {
  max-width: 920px;
  margin: 0 auto;
}

.customer-registration-tabs {
  display: flex;
  gap: 1rem;
  border-bottom: 1px solid #d7dbe0;
  margin-bottom: 1.5rem;
}

.customer-registration-tab {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #1f2d3d;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 600;
  padding: 0.75rem 0.25rem;
}

.customer-registration-tab.is-active {
  border-bottom-color: #2f6fd3;
  color: #2f6fd3;
}

.customer-registration-panel {
  display: none;
}

.customer-registration-panel.is-active {
  display: block;
}

.customer-registration-form .fieldset__legend,
.customer-registration-form legend {
  font-size: 1.45rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.customer-registration-section {
  border: 0;
  margin: 0 0 1.5rem;
  padding: 0;
}

.customer-registration-form .form-item input[type="text"],
.customer-registration-form .form-item input[type="email"],
.customer-registration-form .form-item input[type="password"],
.customer-registration-form .form-item input[type="tel"],
.customer-registration-form .form-item input[type="url"],
.customer-registration-form .form-item input[type="number"],
.customer-registration-form .form-item input[type="search"],
.customer-registration-form .form-item select,
.customer-registration-form .form-item textarea {
  box-sizing: border-box;
  max-width: none;
  width: 100%;
}

.customer-registration-form .js-form-managed-file,
.customer-registration-form .form-managed-file__main {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.customer-registration-form .js-form-managed-file .file,
.customer-registration-form .form-managed-file__main .file {
  margin: 0;
}

.customer-registration-form .js-form-managed-file input[type="submit"],
.customer-registration-form .js-form-managed-file .button,
.customer-registration-form .form-managed-file__main input[type="submit"],
.customer-registration-form .form-managed-file__main .button {
  font-size: 0.95rem;
  margin: 0;
  min-width: 0;
  padding: 0.32rem 0.75rem;
  width: auto;
}

.customer-registration-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.customer-registration-password-strength {
  font-size: 0.92rem;
  font-weight: 600;
  margin-top: 0.5rem;
}

.customer-registration-password-match {
  font-size: 0.92rem;
  font-weight: 600;
  margin-top: 0.5rem;
}

.customer-registration-password-toggle-item {
  position: relative;
}

.customer-registration-password-toggle-wrap {
  position: relative;
}

.customer-registration-password-toggle-input {
  padding-right: 5.25rem;
}

.customer-registration-password-toggle {
  background: transparent;
  border: 0;
  color: #6b7280;
  cursor: pointer;
  height: 1.5rem;
  padding: 0;
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5rem;
}

.customer-registration-password-toggle::before {
  background-color: currentColor;
  content: "";
  display: block;
  height: 1.25rem;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.458 12C3.732 7.943 7.523 5.25 12 5.25S20.268 7.943 21.542 12c-1.274 4.057-5.065 6.75-9.542 6.75S3.732 16.057 2.458 12Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 15.75a3.75 3.75 0 1 0 0-7.5 3.75 3.75 0 0 0 0 7.5Z'/%3E%3C/svg%3E");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: 1.25rem;
}

.customer-registration-password-toggle.is-visible::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m3 3 18 18'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M10.58 10.58A2 2 0 0 0 10 12a2 2 0 0 0 2 2c.52 0 1-.2 1.42-.58'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9.88 5.09A9.78 9.78 0 0 1 12 4.88c4.48 0 8.27 2.69 9.54 6.75a11.96 11.96 0 0 1-2.77 4.38'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6.61 6.61A11.94 11.94 0 0 0 2.46 12c1.27 4.06 5.06 6.75 9.54 6.75 1.61 0 3.14-.35 4.5-.98'/%3E%3C/svg%3E");
}

.customer-registration-password-strength.is-weak {
  color: #b42318;
}

.customer-registration-password-strength.is-medium {
  color: #b54708;
}

.customer-registration-password-strength.is-strong {
  color: #027a48;
}

.customer-registration-password-match.is-match {
  color: #027a48;
}

.customer-registration-password-match.is-mismatch {
  color: #b42318;
}

.customer-registration-form .form-actions {
  display: block;
  margin-top: 1.5rem;
}

.customer-registration-form .form-actions .button,
.customer-registration-form .form-actions .customer-registration-submit {
  margin: 0;
}

.customer-registration-form .customer-registration-submit {
  display: block;
  max-width: none;
  min-width: 0;
  padding: 0.9rem 1.5rem;
  text-align: center;
  width: 100%;
}

.customer-registration-checkout-choice {
  background: #f7f9fc;
  border: 1px solid #d7dbe0;
  margin-bottom: 1.5rem;
  padding: 1rem;
}

.customer-registration-checkout-choice__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.customer-registration-admin-filters {
  align-items: end;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(120px, 1fr)) auto;
  margin-bottom: 1.5rem;
}

.customer-registration-admin-filters .form-item {
  margin: 0;
}

.customer-registration-admin-filters .form-item label {
  display: block;
  margin-bottom: 0.35rem;
}

.customer-registration-admin-filters .form-item input,
.customer-registration-admin-filters .form-item select {
  box-sizing: border-box;
  max-width: none;
  width: 100%;
}

.customer-registration-admin-filters__actions {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.customer-registration-admin-filters__actions-label {
  display: block;
  margin-bottom: 0.35rem;
  visibility: hidden;
}

.customer-registration-admin-filters__actions-buttons {
  display: flex;
  gap: 0.75rem;
}

.customer-registration-admin-filters__actions-buttons .button {
  margin: 0;
}

@media (max-width: 767px) {
  .customer-registration-tabs {
    gap: 0.5rem;
  }

  .customer-registration-grid {
    grid-template-columns: 1fr;
  }

  .customer-registration-admin-filters {
    grid-template-columns: 1fr;
  }

  .customer-registration-admin-filters__actions {
    justify-content: flex-start;
  }

  .customer-registration-admin-filters__actions-label {
    display: none;
  }
}
