/* Static copy of the old registration portal pages (views/portal/*.html) */
.portal-body { max-width: 760px; margin: 0 auto; line-height: 1.7; }
.portal-body .account-form { margin: 0 0 var(--sp-5); }
.portal-body fieldset { border: 1px solid var(--gray-200); border-radius: var(--radius); padding: var(--sp-4) var(--sp-5); background: var(--paper, #fff); box-shadow: var(--shadow-sm); }
.portal-body legend { padding: 0 var(--sp-2); font-family: var(--font-serif); font-size: 1.15rem; font-weight: 600; color: var(--navy); }
.portal-body fieldset div { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); margin: 0 0 var(--sp-3); }
.portal-body label { min-width: 200px; font-weight: 500; color: var(--ink); }
.portal-body input[type="text"], .portal-body input[type="password"], .portal-body input[type="email"], .portal-body select {
  min-height: 40px; padding: 0 var(--sp-3); border: 1px solid var(--gray-300); border-radius: var(--radius-sm); font: inherit; background: #fff; max-width: 100%;
}
.portal-body input:focus, .portal-body select:focus { outline: 2px solid var(--navy); outline-offset: 1px; }
.portal-body input.submit { min-height: 44px; padding: 0 var(--sp-5); border: 0; border-radius: var(--radius); background: var(--blue); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.portal-body input.submit:hover { background: var(--blue-700); }
.portal-body a { color: var(--red); }
.portal-body .register-link { display: block; margin: 0 0 var(--sp-3); }
.portal-body h1 { font-size: 1.6rem; margin: 0 0 var(--sp-4); }
.portal-body h3 { margin: var(--sp-5) 0 var(--sp-2); font-size: 1.1rem; }
.portal-body p, .portal-body li { margin: 0 0 var(--sp-3); }
@media (max-width: 560px) { .portal-body label { min-width: 0; width: 100%; } .portal-body fieldset { padding: var(--sp-3); } }
.portal-body > legend, .portal-body legend:not(fieldset legend) { display: block; margin: 0 0 var(--sp-4); font-family: inherit; font-size: 1rem; font-weight: 400; padding: 0; color: var(--ink); }
.portal-body fieldset div:last-of-type { margin-bottom: 0; }
.portal-body .signin > a { display: block; margin-top: var(--sp-2); }
.portal-body .register-link { margin: 0 0 var(--sp-2); }
.portal-body .account-form { margin-bottom: var(--sp-4); }
