/* Balanced, simple signup canvas v3. */
html[data-rmc-isomorphic-template="onboarding-wizard"] {
  inline-size: 100% !important;
  max-inline-size: none !important;
  padding-inline: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] body {
  inline-size: 100% !important;
  max-inline-size: none !important;
  padding-inline: 0 !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] :is(
  .app-container,
  #main-content,
  .page-wrap,
  .rmc-security-checkpoint-page,
  .rmc-security-checkpoint-page--wide,
  [data-rmc-signup-section]
) {
  inline-size: 100% !important;
  max-inline-size: none !important;
  min-inline-size: 0 !important;
  margin-inline: 0 !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] #main-content {
  padding-inline: clamp(0.5rem, 1.5vw, 1rem) !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] [data-rmc-signup-section] {
  padding-inline: clamp(0.35rem, 1vw, 1rem) !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] :is(
  .page-wrap,
  .rmc-security-checkpoint-page,
  .rmc-security-checkpoint-page--wide
) {
  padding-inline: 0 !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] [data-shell-page="onboarding-wizard"] {
  inline-size: min(100%, 78rem) !important;
  max-inline-size: 78rem !important;
  min-inline-size: 0 !important;
  margin-inline: auto !important;
  padding: clamp(0.7rem, 2.4vw, 2rem) !important;
}
html[data-rmc-isomorphic-template="onboarding-wizard"] [data-shell-page="onboarding-wizard"] > .card {
  inline-size: 100% !important;
  max-inline-size: none !important;
  min-inline-size: 0 !important;
  margin-inline: 0 !important;
}
.rmc-iso-wizard-shell {
  inline-size: min(100%, 78rem) !important;
  max-inline-size: 78rem !important;
  min-block-size: calc(100dvh - var(--header-h, 4rem)) !important;
  margin-inline: auto !important;
  padding: clamp(1rem, 3vw, 2.5rem) !important;
  align-items: center !important;
}

.rmc-iso-wizard-shell .auth-card--signup {
  inline-size: 100% !important;
  max-inline-size: none !important;
  margin-inline: auto !important;
  padding: clamp(1.1rem, 2.6vw, 2.25rem) !important;
}

.rmc-signup-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 1.25rem 0 1.5rem;
  padding: 0;
  list-style: none;
}
.rmc-signup-progress li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-inline-size: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--rmc-safe-border);
  border-radius: 0.8rem;
  color: var(--rmc-safe-muted);
  background: var(--rmc-safe-surface-soft);
}
.rmc-signup-progress li[aria-current="step"] {
  color: var(--rmc-safe-text);
  border-color: color-mix(in srgb, var(--rmc-safe-accent) 52%, var(--rmc-safe-border));
  background: color-mix(in srgb, var(--rmc-safe-accent) 11%, var(--rmc-safe-surface));
}
.rmc-signup-progress span {
  display: grid;
  flex: 0 0 1.65rem;
  block-size: 1.65rem;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--rmc-safe-accent) 16%, var(--rmc-safe-surface));
}
.rmc-signup-progress strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.78rem; }

[data-rmc-signup-layout="balanced"] {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.9rem 1.15rem;
  align-items: start;
}
[data-rmc-signup-layout="balanced"] > * { min-inline-size: 0; }
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="name"],
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="slug"] { grid-column: span 6; }
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="email"] { grid-column: span 5; }
[data-rmc-signup-layout="balanced"] > .row { grid-column: span 7; }
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="language"],
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="institution_profile"],
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="school_type"],
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="migration_domains"],
[data-rmc-signup-layout="balanced"] > button[type="submit"] { grid-column: 1 / -1; }
[data-rmc-signup-layout="balanced"] > [data-rmc-signup-field="migration_vendor"] { grid-column: span 6; }

[data-rmc-signup-field="institution_profile"] {
  padding: clamp(0.9rem, 1.5vw, 1.25rem);
  border: 1px solid var(--rmc-safe-border);
  border-radius: 1rem;
  background: var(--rmc-safe-surface-soft);
}
.rmc-signup-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 30%);
  gap: 1rem;
  align-items: stretch;
}
.rmc-signup-profile-fields {
  min-inline-size: 0;
  align-content: start;
  margin-inline: 0;
}
.rmc-signup-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}
.rmc-signup-decision-group {
  display: grid;
  align-content: start;
  gap: 0.45rem;
  min-inline-size: 0;
  margin: 0;
  padding: 0.75rem;
  border: 1px solid var(--rmc-safe-border);
  border-radius: 0.85rem;
  background: var(--rmc-safe-surface);
}
.rmc-signup-decision-group > legend {
  float: none;
  inline-size: auto;
  margin: 0 0 0.15rem;
  color: var(--rmc-safe-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.rmc-signup-decision {
  position: relative;
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: start;
  min-inline-size: 0;
  padding: 0.65rem;
  border: 1px solid transparent;
  border-radius: 0.7rem;
  background: var(--rmc-safe-surface-soft);
  color: var(--rmc-safe-text);
  cursor: pointer;
}
.rmc-signup-decision:has(input:checked) {
  border-color: color-mix(in srgb, var(--rmc-safe-accent) 64%, var(--rmc-safe-border));
  background: color-mix(in srgb, var(--rmc-safe-accent) 10%, var(--rmc-safe-surface));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rmc-safe-accent) 18%, transparent);
}
.rmc-signup-decision input { margin-block-start: 0.2rem; accent-color: var(--rmc-safe-accent); }
.rmc-signup-decision span { display: grid; min-inline-size: 0; gap: 0.12rem; }
.rmc-signup-decision strong { color: var(--rmc-safe-text); font-size: 0.86rem; }
.rmc-signup-decision small { color: var(--rmc-safe-muted); line-height: 1.35; }
.rmc-signup-recommended-flag {
  align-self: start;
  padding: 0.18rem 0.42rem;
  border: 1px solid color-mix(in srgb, var(--rmc-safe-accent) 52%, var(--rmc-safe-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--rmc-safe-accent) 13%, var(--rmc-safe-surface));
  color: var(--rmc-safe-accent);
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}
.rmc-signup-recommendation {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--rmc-safe-accent) 42%, var(--rmc-safe-border));
  border-radius: 0.85rem;
  background: color-mix(in srgb, var(--rmc-safe-accent) 9%, var(--rmc-safe-surface));
  color: var(--rmc-safe-text);
}
.rmc-signup-recommendation__eyebrow { color: var(--rmc-safe-accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.rmc-signup-recommendation__title { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; justify-content: space-between; }
.rmc-signup-recommendation__facts { display: grid; gap: 0.35rem; margin: 0; padding-inline-start: 1.15rem; color: var(--rmc-safe-muted); }
.rmc-signup-confidence { overflow: hidden; block-size: 0.35rem; border-radius: 999px; background: color-mix(in srgb, var(--rmc-safe-muted) 20%, transparent); }
.rmc-signup-confidence > i { display: block; inline-size: 35%; block-size: 100%; border-radius: inherit; background: var(--rmc-safe-accent); transition: inline-size 180ms ease; }
.rmc-signup-recommendation small { margin-block-start: auto; color: var(--rmc-safe-muted); }
.rmc-signup-fine-tune { margin-block-start: 0.9rem; border-block-start: 1px solid var(--rmc-safe-border); padding-block-start: 0.8rem; }
.rmc-signup-fine-tune summary { cursor: pointer; color: var(--rmc-safe-text); font-weight: 750; }
.rmc-signup-fine-tune summary span { color: var(--rmc-safe-muted); font-size: 0.78rem; font-weight: 500; }
.rmc-signup-fine-tune__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.85rem; margin-block-start: 0.9rem; }
.rmc-signup-fine-tune__grid > div,
.rmc-signup-fine-tune__span { min-inline-size: 0; }
.rmc-signup-fine-tune__grid small { display: block; margin-block-start: 0.25rem; color: var(--rmc-safe-muted); }
.rmc-signup-fine-tune__span { grid-column: 1 / -1; margin: 0; padding: 0.75rem; border: 1px solid var(--rmc-safe-border); border-radius: 0.75rem; }
.rmc-signup-service-choices > legend { float: none; inline-size: auto; margin: 0 0 0.55rem; color: var(--rmc-safe-text); font-size: 0.85rem; font-weight: 750; }
.rmc-signup-chip-checks { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rmc-signup-chip-checks label { padding: 0.4rem 0.6rem; border: 1px solid var(--rmc-safe-border); border-radius: 999px; background: var(--rmc-safe-surface); color: var(--rmc-safe-text); cursor: pointer; }
.rmc-signup-chip-checks input { accent-color: var(--rmc-safe-accent); }

@media (max-width: 1024px) {
  .rmc-iso-wizard-shell { align-items: start !important; }
  [data-rmc-signup-layout="balanced"] { grid-template-columns: minmax(0, 1fr); }
  [data-rmc-signup-layout="balanced"] > *,
  [data-rmc-signup-layout="balanced"] > [data-rmc-signup-field] { grid-column: 1 !important; }
  .rmc-signup-profile-layout { grid-template-columns: minmax(0, 1fr); }
  .rmc-signup-decision-grid { grid-template-columns: minmax(0, 1fr); }
  .rmc-signup-fine-tune__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .rmc-signup-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rmc-signup-fine-tune__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 390px) {
  .rmc-iso-wizard-shell { padding: 0.6rem !important; }
  .rmc-iso-wizard-shell .auth-card--signup { padding: 0.9rem !important; }
  .rmc-signup-progress { grid-template-columns: minmax(0, 1fr); }
}

/* Semantic hook — declared 2026-08-10.
 * `.rmc-signup-profile-fields` marks the profile-fields grid on the signup form
 * (templates/schools/signup_school.html); its layout is owned by Bootstrap
 * `row g-3` on the same element. This rule carries no visual declaration, so it
 * changes nothing — it exists only so the class is DEFINED, not a dead
 * reference, for scripts/scan_undefined_css_classes.py. */
.rmc-signup-profile-fields { --rmc-signup-profile-fields: 1; }

/* Approved signup wizard v4: progressive enhancement over the complete
 * server-rendered form. Without JavaScript the existing balanced form remains
 * available; with JavaScript each field is moved into one focused stage. */
[data-rmc-signup-wizard][data-rmc-wizard-ready="1"] {
  display: block;
}
.rmc-signup-wizard-panel {
  inline-size: 100%;
  min-inline-size: 0;
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid var(--rmc-safe-border);
  border-radius: 1rem;
  background: var(--rmc-safe-surface-soft);
}
.rmc-signup-wizard-panel[hidden] { display: none !important; }
.rmc-signup-wizard-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  margin-block-end: 1rem;
  padding-block-end: 0.9rem;
  border-block-end: 1px solid var(--rmc-safe-border);
}
.rmc-signup-wizard-panel__header span {
  color: var(--rmc-safe-accent);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rmc-signup-wizard-panel__header h2 { margin: 0.2rem 0; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.rmc-signup-wizard-panel__header p,
.rmc-signup-wizard-panel__header small { margin: 0; color: var(--rmc-safe-muted); }
.rmc-signup-wizard-panel__body {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
.rmc-signup-wizard-panel__workspace {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(14rem, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}
.rmc-signup-wizard-panel__body > * { grid-column: 1 / -1; }
.rmc-signup-wizard-panel__body > [data-rmc-wizard-width="wide"] { grid-column: span 7; }
.rmc-signup-wizard-panel__body > [data-rmc-wizard-width="standard"] { grid-column: span 5; }
.rmc-signup-wizard-panel__body > [data-rmc-signup-field="institution_profile"],
.rmc-signup-wizard-panel__body > [data-rmc-signup-submit],
.rmc-signup-review { grid-column: 1 / -1; }
.rmc-signup-identity-locality {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-inline-size: 0;
  margin: 0 !important;
}
.rmc-signup-wizard-guide {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-inline-size: 0;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--rmc-safe-accent) 34%, var(--rmc-safe-border));
  border-radius: 0.9rem;
  background: linear-gradient(155deg, color-mix(in srgb, var(--rmc-safe-accent) 10%, var(--rmc-safe-surface)), var(--rmc-safe-surface-soft));
}
.rmc-signup-wizard-guide__eyebrow {
  color: var(--rmc-safe-accent);
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rmc-signup-wizard-guide > strong { font-size: 1rem; }
.rmc-signup-wizard-guide > p { margin: 0; color: var(--rmc-safe-muted); font-size: 0.82rem; line-height: 1.5; }
.rmc-signup-wizard-guide__note {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: 0.5rem;
  align-items: start;
  margin-block-start: 0.25rem;
  padding-block-start: 0.75rem;
  border-block-start: 1px solid var(--rmc-safe-border);
  color: var(--rmc-safe-muted);
  font-size: 0.76rem;
}
.rmc-signup-wizard-guide__note i { display: grid; place-items: center; block-size: 1.35rem; border-radius: 50%; background: color-mix(in srgb, var(--rmc-safe-success, #16a34a) 14%, transparent); color: var(--rmc-safe-success, #16a34a); font-style: normal; }
.rmc-signup-wizard-guide__completion {
  margin-block-start: auto;
  padding: 0.6rem 0.7rem;
  border-radius: 0.65rem;
  background: color-mix(in srgb, var(--rmc-safe-warning, #f59e0b) 10%, var(--rmc-safe-surface));
  color: var(--rmc-safe-text);
  font-size: 0.75rem;
  font-weight: 750;
}
.rmc-signup-wizard-guide__completion.is-ready { background: color-mix(in srgb, var(--rmc-safe-success, #16a34a) 12%, var(--rmc-safe-surface)); }
.rmc-signup-identity-locality > [class*="col-"] {
  inline-size: auto !important;
  max-inline-size: none !important;
  min-inline-size: 0;
  padding: 0 !important;
}
.rmc-signup-identity-locality > [data-rmc-india-state-block] { grid-column: 1 / -1; }
.rmc-signup-wizard-actions {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-block-start: 1rem;
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--rmc-safe-border);
}
.rmc-signup-draft-status {
  margin-block-end: 0.75rem;
  padding: 0.6rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--rmc-safe-accent) 30%, var(--rmc-safe-border));
  border-radius: 0.7rem;
  background: color-mix(in srgb, var(--rmc-safe-accent) 7%, var(--rmc-safe-surface));
  color: var(--rmc-safe-muted);
  font-size: 0.78rem;
}
.rmc-signup-progress { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rmc-signup-progress .rmc-signup-progress--done span { color: var(--rmc-safe-success, #16a34a); }
.rmc-signup-confidence-breakdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
}
.rmc-signup-confidence-breakdown span {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.45rem;
  border: 1px solid var(--rmc-safe-border);
  border-radius: 0.55rem;
  background: var(--rmc-safe-surface);
}
.rmc-signup-confidence-breakdown small { margin: 0; text-transform: capitalize; }
.rmc-signup-confidence-next {
  padding: 0.55rem 0.65rem;
  border-radius: 0.6rem;
  background: color-mix(in srgb, var(--rmc-safe-warning, #f59e0b) 10%, transparent);
  color: var(--rmc-safe-text);
  font-size: 0.75rem;
}
.rmc-signup-recommendation__alternatives { margin-block-start: 0.3rem; color: var(--rmc-safe-muted); font-size: 0.75rem; }
.rmc-signup-recommendation__alternatives summary { color: var(--rmc-safe-text); cursor: pointer; font-weight: 750; }
.rmc-signup-review {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}
.rmc-signup-review > div {
  padding: 0.8rem;
  border: 1px solid var(--rmc-safe-border);
  border-radius: 0.7rem;
  background: var(--rmc-safe-surface);
}
.rmc-signup-review small,
.rmc-signup-review strong { display: block; }
.rmc-signup-review small { color: var(--rmc-safe-muted); }
@media (max-width: 768px) {
  .rmc-signup-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rmc-signup-wizard-panel__body,
  .rmc-signup-review { grid-template-columns: minmax(0, 1fr); }
  .rmc-signup-wizard-panel__workspace { grid-template-columns: minmax(0, 1fr); }
  .rmc-signup-wizard-panel__body > * { grid-column: 1 !important; }
  .rmc-signup-identity-locality { grid-template-columns: minmax(0, 1fr); }
  .rmc-signup-wizard-panel__header { display: block; }
  .rmc-signup-wizard-panel__header > small { display: block; margin-block-start: 0.35rem; }
}
@media (min-width: 769px) and (max-width: 1120px) {
  .rmc-signup-wizard-panel__workspace { grid-template-columns: minmax(0, 1fr); }
  .rmc-signup-wizard-guide { display: grid; grid-template-columns: minmax(9rem, 0.7fr) minmax(0, 1.5fr); align-items: center; }
  .rmc-signup-wizard-guide__eyebrow,
  .rmc-signup-wizard-guide__completion { grid-column: 1; }
  .rmc-signup-wizard-guide > strong,
  .rmc-signup-wizard-guide > p,
  .rmc-signup-wizard-guide__note { grid-column: 2; }
}
