[hidden] { display: none !important; }
.member-page { padding-bottom: 2rem; }
.member-page .lead { max-width: 44rem; }
.member-page .eyebrow { color: var(--gold); font-weight: 700; margin: 1.5rem 0 .25rem; }
.member-page h1 { margin-top: .4rem; }
.member-page a:not(.btn) { color: var(--gold); }
.member-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.member-page select, .member-page textarea, .member-auth input {
  display: block; width: 100%; max-width: 100%; min-height: 48px;
  padding: .75rem .85rem; margin-top: .35rem; font: inherit;
  border: 1px solid var(--muted); border-radius: 8px; color: var(--ink); background: var(--card);
}
.member-page input[type="file"] { display: block; max-width: 100%; font: inherit; margin: .5rem 0; }
.member-page textarea { resize: vertical; }
.member-page label { display: block; margin: .8rem 0; }
.member-page label small, .member-hint { display: block; font-size: .92rem; font-weight: 400; color: var(--muted); margin: .3rem 0; }
.member-page :is(input,select,textarea,button,a):focus-visible, .member-auth :is(input,button,a):focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.member-page .member-actions { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin: 1rem 0; }
.member-page .member-actions .btn { margin: 0; }
.member-page .btn:disabled, .member-auth .btn:disabled { cursor: wait; opacity: .65; }
.member-page .member-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .2rem 1.25rem; }
.member-auth { background: var(--gold-light); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; margin: 1.25rem 0; }
.member-auth h2 { margin: 0 0 .5rem; }
.member-auth form { max-width: 32rem; }
.member-auth .member-code-form input { max-width: 15rem; font-size: 1.35rem; letter-spacing: .2rem; }
.member-status { min-height: 1.5em; overflow-wrap: anywhere; }
.member-status:empty { display: none; }
.member-status[data-error="true"] { color: #a21c16; font-weight: 600; }
.member-signed-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .8rem 1rem; background: #e7f3eb; border-radius: var(--radius); margin: 1rem 0; overflow-wrap: anywhere; }
.member-signed-in p { margin: 0; }
.member-page .member-section { scroll-margin-top: 1rem; margin: 2rem 0; }
.member-section > h2 { margin-bottom: .4rem; }
.member-page .member-card { padding: 1.2rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); margin: 1rem 0; overflow-wrap: anywhere; }
.member-card h3 { margin: 0 0 .4rem; }
.member-card p { margin: .5rem 0; }
.member-card .member-card-meta { color: var(--muted); }
.member-status-badge { display: inline-block; padding: .2rem .55rem; border-radius: 6px; background: var(--gold-light); color: var(--ink); font-size: .9rem; font-weight: 700; }
.member-status-badge.is-active { background: #e7f3eb; color: #075e38; }
.member-status-badge.is-closed { background: #f3f1ef; }
.member-page .member-empty { padding: 1rem; background: var(--card); border: 1px dashed var(--muted); border-radius: var(--radius); }
.member-page .member-check { display: flex; align-items: flex-start; gap: .7rem; }
.member-page .member-check input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin: .3rem 0 0; }
.member-conversation { border-left: 3px solid var(--border); padding-left: .9rem; margin: .8rem 0 1rem; }
.member-conversation .member-message { padding: .7rem; margin: .6rem 0; background: #f6f5f2; border-radius: 8px; }
.member-conversation .member-message.from-me { background: #e7f3eb; }
.member-message p { white-space: pre-wrap; }
.member-message small { color: var(--muted); }
.member-page .member-detail-photo { width: 100%; max-height: 420px; object-fit: contain; background: var(--gold-light); border-radius: var(--radius); margin: 1rem 0; }
.member-page .member-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; padding: 0; }
.member-facts div { padding: .75rem; border-radius: 8px; background: var(--card); border: 1px solid var(--border); }
.member-facts dt { font-weight: 600; }
.member-facts dd { margin: .3rem 0 0; }
.member-page .member-pro { border-color: var(--gold); }
.member-page .member-pro h3 { margin-top: 0; }
.member-page .member-pro-options { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.member-page .member-pro-options label { display: flex; gap: .5rem; align-items: center; }
.member-page .member-pro-options input { width: 1.2rem; height: 1.2rem; }
.member-page .member-step-intro { color: var(--muted); margin: 0 0 .5rem; }
.member-page .member-pet-story { white-space: pre-wrap; }
.member-page .member-steps { display: block; padding-left: 1.4rem; margin: .75rem 0 1rem; color: var(--muted); }
.member-page .member-steps li { margin: .35rem 0; }
@media (max-width: 600px) {
  .member-page .member-grid, .member-page .member-facts { grid-template-columns: 1fr; }
  .member-page .member-actions { align-items: stretch; flex-direction: column; }
  .member-page .member-actions .btn { text-align: center; }
  .member-page fieldset { min-width: 0; }
  .member-auth { padding: 1rem; }
  .member-page input[type="file"] { font-size: .9rem; }
}
