.portal-modal[hidden] { display: none; }
.portal-modal { position: fixed; inset: 0; z-index: 10001; display: grid; place-items: center; padding: 1rem; }
.portal-modal .portal-modal__backdrop { position: absolute; inset: 0; background: rgba(20,32,58,.78); }
.portal-modal .portal-modal__dialog { --faster-member-accent: var(--brand-primary, #c62828); position: relative; width: min(100%, 30rem); max-height: calc(100vh - 2rem); overflow: auto; border-top: 4px solid var(--brand-primary, #c62828); border-radius: 1rem; background: #fff; color: #14203a; padding: 2rem; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.portal-modal .portal-modal__close { position: absolute; top: .6rem; right: .7rem; min-width: 44px; min-height: 44px; border: 0; border-radius: 999px; background: #f8e9e9; color: #14203a; font-size: 1.7rem; cursor: pointer; }
.portal-modal .portal-modal__title { margin: 0 3rem .75rem 0; color: #14203a; font-size: 1.1rem; }
.portal-modal .portal-modal__logo { display: block; width: auto; max-height: 4rem; margin: 0 auto 1.25rem; }
.portal-modal .faster-members { max-width: none; border: 0; padding: 0; }
.portal-modal .faster-members h2 { color: #14203a; font-family: Inter, sans-serif; }
.portal-modal .faster-members--signed-out > p:not(.faster-members__notice) { color: #64748b; }
.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 #94a3b8; border-radius: .65rem; padding: .7rem .85rem; }
.portal-modal .faster-members input:focus { border-color: var(--faster-member-accent); box-shadow: 0 0 0 3px rgba(198,40,40,.2); outline: 0; }
.portal-modal .faster-members button, .portal-modal .faster-members__actions button { min-height: 44px; border: 0; border-radius: .65rem; background: var(--faster-member-accent); color: #fff; font-weight: 700; }
.portal-modal .faster-members button:hover, .portal-modal .faster-members__actions button:hover { background: #9f2020; }
.portal-modal .faster-members__notice { border-radius: .65rem; background: #fff3f3; color: #7f1d1d; padding: .75rem; }
.portal-modal .faster-members__badge { background: #fff3f3; color: #7f1d1d; }
