.portal-modal[hidden] { display: none; }
.portal-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 1rem; }
.portal-modal .portal-modal__backdrop { position: absolute; inset: 0; background: rgba(9, 70, 130, .72); }
.portal-modal .portal-modal__dialog { --faster-member-accent: var(--brand-primary, #0f63b0); position: relative; width: min(100%, 30rem); max-height: calc(100vh - 2rem); overflow: auto; border-radius: 1rem; background: #fff; padding: 2rem; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); }
.portal-modal .portal-modal__close { position: absolute; top: .7rem; right: .8rem; min-width: 44px; min-height: 44px; border: 0; border-radius: 999px; background: #e6f0fa; color: #094682; font-size: 1.6rem; cursor: pointer; }
.portal-modal .portal-modal__logo { display: block; max-height: 3.5rem; width: auto; margin: 0 auto 1.25rem; }
.portal-modal .faster-members { max-width: none; border: 0; padding: 0; }
.portal-modal .faster-members h2 { color: #094682; font-family: Montserrat, sans-serif; }
.portal-modal .faster-members--signed-out > p:not(.faster-members__notice) { color: #4b5563; }
.portal-modal .faster-members__signin { display: grid; grid-template-columns: 1fr; gap: .75rem; width: 100%; }
.portal-modal .faster-members input { width: 100%; min-height: 44px; border: 1px solid #9ca3af; border-radius: .5rem; padding: .7rem .85rem; }
.portal-modal .faster-members input:focus { outline: 3px solid rgba(15, 99, 176, .28); border-color: #0f63b0; }
.portal-modal .faster-members button, .portal-modal .faster-members__actions button { min-height: 44px; border: 0; border-radius: 999px; background: #0f63b0; color: #fff; font-weight: 700; }
.portal-modal .faster-members button:hover, .portal-modal .faster-members__actions button:hover { background: #094682; }
.portal-modal .faster-members__notice { border-radius: .5rem; background: #e6f0fa; color: #094682; padding: .75rem; }
.portal-modal .faster-members__badge { background: #e6f0fa; color: #094682; }
