/* Members presentation, including retained sanitized portal markup. */
.members-page{background:var(--color-canvas);color:var(--color-primary-text)}
.members-page main a{color:var(--color-action);text-underline-offset:4px}
.members-page main :is(h1,h2,h3){font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--color-inverse-surface);overflow-wrap:anywhere}
.members-page .kicker{color:var(--color-accent-teal)}
.members-page main .btn{min-height:44px;gap:8px;border:1px solid var(--color-action);background:var(--color-action);color:var(--color-white-surface);font-family:inherit;cursor:pointer}
.members-page main .btn:hover{background:var(--color-inverse-surface)}
.members-page main .btn--ghost{background:var(--color-white-surface);color:var(--color-action)}
.members-page main .btn--ghost:hover{background:var(--color-section-soft)}
.members-page .btn-icon{width:20px;height:20px;flex:none}
.members-page .badge{display:inline-flex;padding:3px 9px;border-radius:5px;background:var(--color-section-soft);color:var(--color-inverse-surface);font-size:13px;font-weight:600}
.members-page .empty-state{margin-top:28px;padding:28px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-section-soft)}
.members-page .empty-state-message{font-weight:600;color:var(--color-inverse-surface)}
.members-page .empty-state-hint{margin-top:8px;color:var(--color-secondary-text)}
.members-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Sign-in retains the existing POST, redirect and account-help contract. */
.member-auth{padding:72px 0 88px}
.member-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,7vw,88px);align-items:center}
.member-auth-intro h1{font-size:clamp(40px,5vw,64px);letter-spacing:-.025em}
.member-auth-intro p{max-width:43ch;margin-top:20px;color:var(--color-secondary-text);font-size:19px}
.member-auth-card{padding:36px;border:1px solid var(--color-border-subtle);border-radius:16px;background:var(--color-white-surface)}
.login-form .form-field{display:grid;gap:8px;margin-bottom:22px}
.login-form label{color:var(--color-inverse-surface);font-size:15px;font-weight:600}
.members-page :is(.login-form input:not([type="hidden"]),.directory-search input){width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid var(--color-secondary-text);border-radius:8px;background:var(--color-white-surface);color:var(--color-primary-text);font:inherit}
.login-form .form-actions{margin-top:28px}
.login-form .btn{width:100%}
.login-signpost{margin-top:26px;padding-top:22px;border-top:1px solid var(--color-border-subtle);font-size:14px;color:var(--color-secondary-text);overflow-wrap:anywhere}
.login-signpost a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-weight:600}
.members-page .form-error{margin-bottom:22px;padding:16px;border:1px solid var(--color-danger);border-radius:8px;background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}

/* A distinct member identity and persistent, server-driven section navigation. */
.members-identity{background:var(--color-feature-surface);color:var(--color-white-surface)}
.members-identity-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;padding-bottom:16px}
.members-identity-text{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14px}
.members-identity-text strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.members-page main .members-signout{display:inline-flex;align-items:center;justify-content:center;min-height:44px;flex:none;padding:8px 16px;border:1px solid currentColor;border-radius:8px;color:var(--color-white-surface);font-size:14px;font-weight:600;text-decoration:none}
.members-page main .members-signout:hover{background:var(--color-white-surface);color:var(--color-feature-surface)}
.members-identity :focus-visible{outline-color:var(--color-action-gold)}
.members-shell-inner{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(32px,5vw,64px);padding-top:48px;padding-bottom:80px}
.members-nav{align-self:start;position:sticky;top:24px;min-width:0}
.members-nav-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.members-page main .members-nav-list a{display:flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:8px;color:var(--color-inverse-surface);font-size:14px;font-weight:600;text-decoration:none;line-height:1.4}
.members-page main .members-nav-list a:hover{background:var(--color-section-soft)}
.members-page main .members-nav-list a[aria-current="page"]{background:var(--color-inverse-surface);color:var(--color-white-surface)}
.members-content{min-width:0}
.members-page-title{font-size:clamp(34px,4vw,50px);letter-spacing:-.02em}
.members-page-lede,.members-welcome{max-width:64ch;margin-top:16px;color:var(--color-secondary-text)}
.members-welcome{font-size:18px}
.members-page-head,.members-content>.page-head{margin-bottom:28px}
.members-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
.members-link-card{position:relative;padding:26px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-white-surface)}
.members-link-card:hover{background:var(--color-section-soft)}
.members-link-card h2{font-size:25px}
.members-page main .members-link-card h2 a{color:inherit;text-decoration:none}
.members-link-card h2 a::after{content:"";position:absolute;inset:0;border-radius:12px}
.members-link-card:focus-within{outline:3px solid var(--color-action);outline-offset:3px}
.members-link-card p{margin-top:12px;color:var(--color-secondary-text);font-size:15px}
.members-link-card .members-card-meta{margin-top:20px;color:var(--color-accent-teal);font-size:14px;font-weight:600}

/* Protected search and document lists. */
.directory-search{display:flex;align-items:end;gap:12px;margin:28px 0 20px}
.directory-search-field{flex:1;min-width:0}
.directory-count,.directory-clear{margin:0 0 18px;color:var(--color-secondary-text);font-size:14px}
.directory-clear a,.directory-back a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.members-page main .directory-card{display:flex;align-items:center;gap:14px;min-width:0;padding:18px;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--color-white-surface);color:var(--color-inverse-surface);text-decoration:none}
.members-page main a.directory-card:hover{background:var(--color-section-soft)}
.directory-avatar{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:var(--color-section-soft);font-family:var(--font-display);font-size:20px}
.directory-name{min-width:0;font-weight:600;overflow-wrap:anywhere}
.directory-card-detail{max-width:480px}
.documents-list{display:grid;gap:16px;list-style:none;padding:0;margin:24px 0 0}
.documents-item{min-width:0;padding:24px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-white-surface)}
.documents-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.documents-item-title{font-size:24px}
.documents-item-meta{margin-top:10px;font-size:14px;color:var(--color-secondary-text)}
.documents-item-description{margin-top:12px;max-width:64ch}
.documents-item-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.documents-item-actions .btn{max-width:100%;white-space:normal;text-align:left}
.documents-item-actions .btn span{min-width:0;overflow-wrap:anywhere}
.minutes-year{margin-top:36px}
.minutes-year h2{font-size:28px}
.minutes-viewer{border:1px solid var(--color-border-subtle);border-radius:12px;overflow:hidden;background:var(--color-section-soft)}
.minutes-viewer-object{display:block;width:100%;height:72vh;min-height:420px;border:0}
.minutes-viewer-note{margin-top:16px;color:var(--color-secondary-text);font-size:14px}

/* Sanitized member body markup keeps its content and download destinations. */
.members-prose{max-width:72ch;overflow-wrap:anywhere}
.members-prose :is(p,ul,ol,blockquote,figure,table)+*{margin-top:20px}
.members-prose :is(h1,h2,h3){margin-top:30px;margin-bottom:14px}
.members-prose h1{font-size:clamp(34px,4vw,50px)}
.members-prose h2{font-size:30px}
.members-prose h3{font-size:24px}
.members-prose a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.members-prose img{max-width:100%;height:auto;border-radius:10px}
.members-prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.members-prose :is(td,th){padding:10px;border:1px solid var(--color-border-subtle);text-align:left}
.members-prose .sfn-portal .container{max-width:none;padding:0}
.members-prose .sfn-portal .hero{display:block;min-height:0;background:var(--color-section-soft);color:var(--color-primary-text);border-radius:12px}
.members-prose .sfn-portal .hero-inner{padding:28px}
.members-prose .sfn-portal .hero :is(.greet,.crumbs,.sublead){color:var(--color-inverse-surface);text-shadow:none}
.members-prose .sfn-portal .greet{margin-top:0}
.members-prose .sfn-portal :is(.crumbs,.doc-sub,.count){font-size:14px;color:var(--color-secondary-text)}
.members-prose .sfn-portal .h-row{margin-top:30px}
.members-prose .sfn-portal .doc-list{padding:0;list-style:none;border-top:1px solid var(--color-border-subtle)}
.members-prose .sfn-portal .doc-row{display:flex;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--color-border-subtle);text-decoration:none}
.members-prose .sfn-portal .doc-meta{min-width:0;flex:1}
.members-prose .sfn-portal .doc-title{font-weight:600}
.members-prose .sfn-portal :is(.doc-pill,.doc-open){font-size:13px;font-weight:600}
.members-prose .sfn-portal .poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.members-prose .sfn-portal .poster{margin:0}
.members-prose .sfn-portal figcaption{font-size:14px;color:var(--color-secondary-text)}
.members-prose .sfn-portal .help{margin-top:28px;padding:24px;border-radius:12px;background:var(--color-section-soft)}
.members-prose .sfn-portal .help h3{margin-top:0}

@media(max-width:63.9375rem){
  .members-shell-inner{grid-template-columns:1fr;gap:28px;padding-top:28px}
  .members-nav{position:static;overflow-x:auto;padding-bottom:8px}
  .members-nav-list{display:flex;width:max-content}
  .members-page main .members-nav-list a{border-color:var(--color-border-subtle);white-space:nowrap}
  .member-auth-layout{gap:32px}
}
@media(max-width:47.9375rem){
  .member-auth{padding:44px 0 60px}
  .member-auth-layout{grid-template-columns:1fr}
  .member-auth-card{padding:26px}
  .members-card-grid,.directory-grid{grid-template-columns:1fr}
  .members-identity-inner{align-items:flex-start}
  .members-identity-text{display:grid}
  .members-shell-inner{padding-bottom:56px}
}
@media(max-width:35rem){
  .directory-search{align-items:stretch;flex-direction:column}
  .documents-item{padding:20px}
  .documents-item-actions .btn{width:100%;justify-content:flex-start}
  .members-prose .sfn-portal .poster-grid{grid-template-columns:1fr}
  .members-prose .sfn-portal .doc-row{flex-wrap:wrap}
}
