.member-login { display: grid; gap: var(--space-5); max-width: 30rem; margin-top: var(--space-6); }
.member-login .form-row { margin-bottom: 0; }
.member-login .btn { justify-self: start; }
.member-news-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-5); justify-content: flex-end; margin-bottom: var(--space-6); }

.member-profile-form { margin-top: var(--space-6); }
.member-request-status { margin-top: var(--space-5); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); }

.member-portal-actions { margin-block: var(--space-7); }

.member-logout { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--ink); text-decoration: none; }
.member-logout svg { flex: none; }
.member-logout:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 0.2em; }
.member-logout:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

/* The member summary is a two-column table with a complete cell grid. */
.data-table--key-value th,
.data-table--key-value td { border: 1px solid var(--line); }

.member-portal-content { text-align: left; }
.member-portal-content .shead { justify-items: start; }
.member-portal-content .news-row-list { text-align: left; }
.member-password { position: relative; }
.member-password:has(.member-password__toggle:not([hidden])) .form-input { padding-right: var(--space-12); }
.member-password__toggle { position: absolute; inset-block: 0; right: 0; display: grid; place-items: center; width: var(--space-12); border: 0; border-radius: var(--radius-md); background: transparent; color: var(--ink-soft); cursor: pointer; }
.member-password__toggle[hidden] { display: none; }
.member-password__toggle:hover { color: var(--accent); }
.member-password__toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.member-password__slash { display: none; }
.member-password__toggle[aria-pressed="true"] .member-password__slash { display: block; }

/* Member-only screens use the established 1200px document frame. */
.member-layout .member-portal-content { width: 100%; max-width: none; }
.member-layout .doc-body { min-width: 0; }
.member-page-title { margin: 0 0 var(--space-6); font-size: clamp(var(--font-size-2xl), 2.5vw, var(--font-size-3xl)); line-height: var(--leading-tight); }
.member-side-module { padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.member-side-module__title { margin: 0 0 var(--space-4); font-size: var(--font-size-lg); line-height: var(--leading-tight); }
.member-side-module p { margin: 0 0 var(--space-4); }
.member-side-module .member-login { margin-top: 0; }
.member-side-module .member-login .btn { width: 100%; justify-content: center; }
.member-side-links { list-style: none; margin: 0; padding: 0; }
.member-side-links a { display: block; padding-block: var(--space-3); border-bottom: 1px solid var(--line); }
.member-side-logout { display: flex; justify-content: flex-end; margin-top: var(--space-5); }
@media (max-width: 1199px) { .member-layout .doc-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .member-layout .doc-sidebar { grid-template-columns: minmax(0, 1fr); } }
