.native-sign-up-shell {
  box-sizing: border-box;
  color: var(--gulplink-color-foreground);
  font-family: var(--gulplink-font-sans);
  font-size: 16px;
  line-height: 1.45;
  min-height: 100%;
  width: 100%;
}

.native-sign-up-shell *,
.native-sign-up-shell *::before,
.native-sign-up-shell *::after {
  box-sizing: border-box;
}

.native-sign-up-intro,
.native-sms-consent p,
.native-field-help,
.native-sign-up-status {
  margin: 0;
}

.native-sign-up-form {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.native-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.native-field label {
  color: var(--gulplink-color-muted);
  font-size: 0.85rem;
  font-weight: 500;
}

.native-field input {
  appearance: none;
  background: var(--gulplink-color-surface-raised);
  border: 1px solid var(--gulplink-color-border);
  border-radius: var(--gulplink-radius-control);
  color: var(--gulplink-color-foreground);
  font: inherit;
  min-height: 56px;
  padding: 14px 16px;
  width: 100%;
}

.native-field input:focus-visible,
.native-primary-button:focus-visible,
.native-link-button:focus-visible,
.native-legal-links a:focus-visible {
  outline: 3px solid var(--gulplink-color-focus);
  outline-offset: 2px;
}

.native-field input:read-only {
  color: var(--gulplink-color-muted);
}

.native-field input:disabled,
.native-primary-button:disabled,
.native-link-button:disabled {
  cursor: wait;
  opacity: 0.65;
}

.native-phone-row {
  display: grid;
  gap: 12px;
  grid-template-columns: 116px minmax(0, 1fr);
}

.native-field-help,
.native-sms-consent,
.native-legal-links {
  color: var(--gulplink-color-muted);
  font-size: 0.85rem;
}

.native-sms-consent {
  display: grid;
  gap: 6px;
}

.native-legal-links a {
  color: var(--gulplink-color-accent);
  margin-right: 16px;
}

.native-sign-up-status {
  color: var(--gulplink-color-muted);
  min-height: 1.45em;
}

.native-sign-up-status[hidden] {
  display: none;
}

.native-primary-button,
.native-link-button {
  border: 0;
  border-radius: var(--gulplink-radius-control);
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  min-height: var(--gulplink-min-control-height);
  padding: 12px 18px;
}

.native-primary-button {
  background: var(--gulplink-color-primary);
  color: var(--gulplink-color-primary-foreground);
  margin-top: 8px;
}

.native-link-button {
  background: transparent;
  color: var(--gulplink-color-accent);
}

@media (max-width: 420px) {
  .native-phone-row {
    grid-template-columns: 96px minmax(0, 1fr);
  }
}
