/* Public registration form: the same measured workspace language as Tasks. */
.portal-shell--form {
  --form-bg: #eef0f3;
  --form-surface: #fbfcfe;
  --form-raised: #fff;
  --form-border: #dce3eb;
  --form-divider: #e6ebf0;
  --form-hover: #e9edf2;
  --form-input: #f7f9fb;
  --form-text: #253247;
  --form-muted: #63728a;
  --form-accent: #287850;
  --form-accent-soft: #edf5ef;
  color: var(--form-text);
  background: var(--form-bg);
  font-size: 14px;
  line-height: 1.45;
}

.portal-shell--form .portal-sidebar { border-color: var(--form-border); background: var(--form-surface); }
.portal-shell--form .portal-main { background: var(--form-bg); }
.portal-shell--form .portal-content { width: min(100%, 1120px); }
.portal-shell--form .portal-topbar { position: static; min-height: 64px; margin-bottom: 16px; padding: 14px 0; border-color: var(--form-border); background: transparent; }
.portal-shell--form .portal-heading h1 { color: var(--form-text); font-size: 20px; font-weight: 650; letter-spacing: -.01em; }
.portal-shell--form .portal-eyebrow { margin-bottom: 3px; color: var(--form-accent); font-size: 10px; letter-spacing: .1em; }

.portal-shell--form .portal-nav a { min-height: 38px; gap: 10px; padding: 6px 8px; border-radius: 8px; color: var(--form-muted); font-size: 13px; font-weight: 600; }
.portal-shell--form .portal-nav a:hover { color: var(--form-text); background: var(--form-hover); }
.portal-shell--form .portal-nav a.is-active,
.portal-shell--form .portal-nav a[aria-current="page"] { border-color: var(--form-border); color: #176f38; background: var(--form-accent-soft); }
.portal-shell--form .portal-nav-icon { width: 26px; height: 26px; flex-basis: 26px; border: 0; border-radius: 7px; color: currentColor; background: transparent; }
.portal-shell--form .portal-nav-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.portal-shell--form .portal-nav a.is-active .portal-nav-icon,
.portal-shell--form .portal-nav a[aria-current="page"] .portal-nav-icon { color: #176f38; background: #dfeee3; }
.portal-shell--form .portal-sidebar-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  color: var(--form-muted);
  font-size: 10px;
}
.portal-shell--form .portal-form-sidebar-org { display: flex; align-items: center; gap: 9px; min-width: 0; }
.portal-shell--form .portal-form-sidebar-org > span:last-child { min-width: 0; }
.portal-shell--form .portal-sidebar-version { padding-left: 16px; color: var(--form-muted); font: 10px/1.3 "Microsoft JhengHei", sans-serif; letter-spacing: .03em; }

.portal-shell--form .hero { margin-bottom: 14px; }
.portal-shell--form .form-number { padding: 6px 10px; border-color: #cfe0d4; border-radius: 8px; color: #176f38; background: var(--form-accent-soft); font-size: 12px; font-weight: 650; }
.portal-shell--form .form-actions-inline { gap: 6px; }
.portal-shell--form .button,
.portal-shell--form button { min-height: 36px; border-radius: 8px; padding: 7px 11px; color: var(--form-text); background: var(--form-raised); font-size: 13px; font-weight: 650; box-shadow: none; }
.portal-shell--form .button:hover,
.portal-shell--form button:hover { transform: none; border-color: #b7c9bc; background: var(--form-hover); box-shadow: none; }
.portal-shell--form .button.primary,
.portal-shell--form button.primary,
.portal-shell--form .button.teal,
.portal-shell--form button.teal { border-color: var(--form-accent); color: #fff; background: var(--form-accent); }
.portal-shell--form .button.primary:hover,
.portal-shell--form button.primary:hover,
.portal-shell--form .button.teal:hover,
.portal-shell--form button.teal:hover { border-color: #1d6341; color: #fff; background: #1d6341; }
.portal-shell--form .button.ghost { border-color: var(--form-border); color: var(--form-muted); background: var(--form-raised); }

.portal-shell--form .notice,
.portal-shell--form .info-note,
.portal-shell--form .switch-row,
.portal-shell--form .review-box { border-color: #d8e4dc; border-radius: 9px; color: #40564a; background: var(--form-accent-soft); box-shadow: none; }
.portal-shell--form .notice { margin-bottom: 14px; padding: 11px 13px; font-size: 13px; }
.portal-shell--form .step-nav {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0;
  max-width: 760px;
  margin: 0 auto 18px;
  font-size: 12px;
}
.portal-shell--form .step-nav span {
  position: relative;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  padding: 0 5px;
  border: 0;
  color: var(--form-muted);
  background: transparent;
  font-weight: 550;
  line-height: 1.35;
  text-align: center;
}
.portal-shell--form .step-nav span::before {
  z-index: 1;
  display: grid;
  width: 30px;
  height: 30px;
  margin-bottom: 7px;
  place-items: center;
  border: 1px solid var(--form-border);
  border-radius: 50%;
  color: var(--form-muted);
  background: var(--form-surface);
  content: attr(data-step-label);
  font-size: 12px;
  font-weight: 700;
}
.portal-shell--form .step-nav span::after {
  position: absolute;
  top: 14px;
  left: calc(50% + 17px);
  width: calc(100% - 34px);
  height: 1px;
  background: var(--form-border);
  content: "";
}
.portal-shell--form .step-nav span:last-child::after { display: none; }
.portal-shell--form .step-nav span.is-complete { color: #176f38; }
.portal-shell--form .step-nav span.is-complete::before {
  border-color: var(--form-accent);
  color: #fff;
  background: var(--form-accent);
  content: "✓";
}
.portal-shell--form .step-nav span.is-complete::after { background: var(--form-accent); }
.portal-shell--form .step-nav span[aria-current="step"] { color: #176f38; background: transparent; font-weight: 750; }
.portal-shell--form .step-nav span[aria-current="step"]::before {
  border: 2px solid var(--form-accent);
  color: #176f38;
  background: var(--form-accent-soft);
  box-shadow: 0 0 0 3px rgb(40 120 80 / 10%);
}
.portal-shell--form form { gap: 14px; }

.portal-shell--form .section-card,
.portal-shell--form .member-card,
.portal-shell--form .document-row,
.portal-shell--form .form-detail-section { border-color: var(--form-border); border-radius: 12px; background: var(--form-surface); box-shadow: none; }
.portal-shell--form .section-card { padding: 20px; }
.portal-shell--form .section-heading { gap: 10px; margin-bottom: 16px; }
.portal-shell--form .section-number { width: 30px; height: 30px; flex-basis: 30px; border-radius: 8px; color: #176f38; background: var(--form-accent-soft); font-size: 12px; }
.portal-shell--form .section-heading h2 { color: var(--form-text); font-size: 18px; font-weight: 650; }
.portal-shell--form .section-heading p,
.portal-shell--form .help,
.portal-shell--form .action-help,
.portal-shell--form .footer-note,
.portal-shell--form .member-card-head p,
.portal-shell--form .document-row small { color: var(--form-muted); font-size: 12px; }
.portal-shell--form .grid { gap: 14px 16px; }
.portal-shell--form .label-text,
.portal-shell--form fieldset.field legend { margin-bottom: 5px; color: var(--form-text); font-size: 13px; font-weight: 650; }

.portal-shell--form input[type="text"],
.portal-shell--form input[type="email"],
.portal-shell--form input[type="tel"],
.portal-shell--form input[type="date"],
.portal-shell--form input[type="number"],
.portal-shell--form select,
.portal-shell--form textarea { min-height: 38px; padding: 8px 10px; border-color: var(--form-border); border-radius: 8px; color: var(--form-text); background: var(--form-input); font-size: 13px; }
.portal-shell--form textarea { min-height: 88px; }
.portal-shell--form input:focus,
.portal-shell--form select:focus,
.portal-shell--form textarea:focus { outline: 2px solid rgb(40 120 80 / 14%); border-color: #7eab8b; }

.portal-shell--form .choice,
.portal-shell--form .check-choice { min-height: 36px; gap: 7px; padding: 7px 9px; border-color: var(--form-border); border-radius: 8px; color: var(--form-text); background: var(--form-raised); font-size: 13px; }
.portal-shell--form .choice:has(input:checked),
.portal-shell--form .check-choice:has(input:checked) { border-color: #a8cdb0; color: #176f38; background: var(--form-accent-soft); }
.portal-shell--form .choice input,
.portal-shell--form .check-choice input,
.portal-shell--form .switch-row input { width: 16px; height: 16px; flex-basis: 16px; accent-color: var(--form-accent); }
.portal-shell--form .member-card,
.portal-shell--form .document-row { padding: 14px; }
.portal-shell--form .member-card-head h3,
.portal-shell--form .subsection-heading { color: var(--form-text); font-size: 15px; font-weight: 650; }
.portal-shell--form .wizard-footer { padding: 12px 0 0; border-top-color: var(--form-divider); }
.portal-shell--form .wizard-actions { gap: 6px; }
.portal-shell--form .wizard-actions #stepCaption { color: var(--form-muted); font-size: 12px; }
.portal-shell--form .toast { right: 16px; bottom: 16px; padding: 10px 12px; border-color: #b9d4c0; border-radius: 9px; color: #176f38; background: var(--form-accent-soft); box-shadow: 0 8px 24px rgb(30 48 72 / 12%); font-size: 13px; }

@media (max-width: 700px) {
  .portal-shell--form .portal-content { width: min(100% - 18px, 620px); }
  .portal-shell--form .section-card { padding: 16px; border-radius: 10px; }
  .portal-shell--form .step-nav { margin-bottom: 14px; font-size: 11px; }

  .portal-shell--form .portal-topbar {
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    min-height: 0;
    padding: 12px 0;
  }

  .portal-shell--form .portal-heading {
    flex: 1 1 auto;
    min-width: 0;
  }

  .portal-shell--form .portal-heading h1 {
    overflow: hidden;
    font-size: clamp(14px, 3.8vw, 20px);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .portal-shell--form .portal-actions {
    flex: 0 0 auto;
    width: auto;
    justify-content: flex-end;
  }

  .portal-shell--form .form-language-switch button {
    padding-inline: 6px;
  }

  .portal-shell--form .portal-brand-copy strong {
    white-space: nowrap;
  }

  .portal-shell--form .portal-sidebar-foot {
    position: fixed;
    z-index: 45;
    right: auto;
    bottom: 8px;
    left: 8px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 4px 8px;
    border: 1px solid var(--form-border);
    border-radius: 999px;
    background: rgb(251 252 254 / 96%);
    box-shadow: 0 2px 8px rgb(30 48 72 / 9%);
  }

  .portal-shell--form .portal-form-sidebar-org { display: none; }
  .portal-shell--form .portal-sidebar-version { padding: 0; font-size: 9px; }

  .portal-shell--form .business-profile-help {
    display: none;
  }

  .portal-shell--form #tradeRegions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-shell--form #tradeRegions .check-choice {
    min-width: 0;
  }
}

@media (max-width: 380px) {
  .portal-shell--form .portal-eyebrow {
    font-size: 8px;
    letter-spacing: .04em;
  }
}
.suite-form-embedded .portal-sidebar { display:none !important; }
.suite-form-embedded .portal-shell { display:block !important; }
.suite-form-embedded .portal-main { margin:0 !important; padding:16px !important; width:100%; box-sizing:border-box; }
.suite-form-embedded .portal-content { width:100%; max-width:none; margin:0; }
.suite-form-embedded .portal-topbar { display:none !important; }
#companyDetailsGrid[hidden],#existingCompanyFields[hidden],#secretaryServiceFields[hidden],#addressServiceFields[hidden] { display:none !important; }
#serviceSelection { margin-bottom:18px; }
