.profile-wrap { width: min(100% - 28px, 960px); }
.member-access-notice, .member-empty, .member-subscription, .member-point-shop { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.member-access-notice h2, .member-empty h3 { margin: 0 0 8px; font-size: 1.2rem; }
.member-access-notice p, .member-empty p, .member-subscription p, .member-point-shop p { margin: 8px 0 18px; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.member-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 3px 3px 12px; scrollbar-width: thin; }
.member-tabs button { flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 99px; padding: 11px 16px; background: var(--surface); color: var(--muted); font-size: .9375rem; font-weight: 750; cursor: pointer; }
.member-tabs button[aria-pressed="true"] { border-color: var(--pink); background: var(--pink); color: #200b1d; }
.member-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.member-totals div { border: 1px solid var(--line); border-radius: 14px; padding: 15px 10px; text-align: center; background: rgba(50,231,255,.04); }
.member-totals b { display: block; font-size: 1.6rem; color: var(--cyan); }
.member-totals span { display: block; margin-top: 5px; font-size: .875rem; color: var(--muted); }
.member-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0 14px; }
.member-section-head h2 { margin: 0; font-size: 1.25rem; }
.member-section-head span { font-size: .875rem; color: var(--muted); }
.member-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-bottom: 18px; }
.member-toolbar label { display: grid; gap: 6px; font-size: .875rem; color: var(--muted); }
.member-toolbar .member-search { flex: 1 1 190px; }
.member-toolbar input, .member-toolbar select, .member-subscription select { min-height: 44px; max-width: 100%; width: 100%; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--text); padding: 10px 12px; font: inherit; font-size: 1rem; }
.member-primary, .member-secondary, .member-danger { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 10px; padding: 10px 14px; font: inherit; font-size: .9375rem; font-weight: 750; line-height: 1.5; cursor: pointer; text-decoration: none; }
.member-primary { border: 1px solid var(--pink); background: var(--pink); color: #200b1d; }
.member-secondary { border: 1px solid var(--line-strong); color: var(--text); background: transparent; }
.member-danger { border: 1px solid #ab5470; color: #ffb3c4; background: transparent; }
.member-primary:disabled, .member-secondary:disabled { opacity: .5; cursor: not-allowed; }
.member-list { display: grid; gap: 12px; }
.member-video-row { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.member-cover { width: 74px; height: 104px; border-radius: 10px; object-fit: cover; background: var(--surface-2); }
.member-cover-placeholder { display: grid; place-items: center; color: var(--muted); font-size: .875rem; text-align: center; }
.member-video-copy { min-width: 0; }
.member-video-copy h3 { font-size: 1rem; margin: 4px 0 7px; line-height: 1.5; overflow-wrap: anywhere; }
.member-series-name { color: var(--cyan); font-size: .875rem; line-height: 1.5; }
.member-video-copy p { margin: 5px 0; color: var(--muted); font-size: .875rem; line-height: 1.65; }
.member-row-actions { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1 / -1; }
.member-status { display: inline-block; padding: 3px 8px; border-radius: 6px; font-size: .8125rem; color: var(--cyan); background: rgba(50,231,255,.1); }
.member-status.expired { color: #f8c48a; background: rgba(248,196,138,.1); }
.member-progress { width: 100%; height: 5px; display: block; margin: 9px 0; border: 0; border-radius: 5px; overflow: hidden; accent-color: var(--pink); }
.member-progress::-webkit-progress-bar { background: var(--surface-3); }
.member-progress::-webkit-progress-value { background: var(--pink); }
.member-log-row { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.member-log-top { display: flex; gap: 16px; justify-content: space-between; }
.member-log-row h3 { margin: 0 0 6px; font-size: 1rem; line-height: 1.5; }
.member-log-row p { margin: 5px 0; font-size: .875rem; line-height: 1.65; color: var(--muted); }
.member-amount { white-space: nowrap; color: var(--cyan); font-weight: 850; }
.member-amount.negative { color: #ff9ce9; }
.member-point-shop { margin-bottom: 18px; }
.member-point-shop h3 { margin: 0; font-size: 1.1rem; }
.member-packs { display: flex; flex-wrap: wrap; gap: 10px; }
.member-subscription dl { display: grid; gap: 14px; margin: 0 0 24px; }
.member-subscription dl div { display: grid; grid-template-columns: minmax(90px, .65fr) 1fr; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.member-subscription dt { color: var(--muted); font-size: .9375rem; }
.member-subscription dd { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.member-plan-control { display: grid; gap: 10px; margin: 18px 0; }
.member-local-note { margin: 20px 0 4px; font-size: .875rem; line-height: 1.6; color: var(--muted); }
.member-more { display: block; width: 100%; margin-top: 15px; }
.member-error { color: #ffb3c4; font-size: .9375rem; line-height: 1.7; }
.member-dialog { width: min(calc(100% - 32px), 460px); padding: 28px; border: 1px solid var(--line-strong); border-radius: 20px; color: var(--text); background: var(--surface); }
.member-dialog::backdrop { background: rgba(5,4,7,.85); }
.member-dialog h2 { margin: 0 0 14px; font-size: 1.3rem; }
.member-dialog p { color: var(--muted); line-height: 1.8; font-size: 1rem; white-space: pre-line; }
.member-dialog-actions { display: grid; gap: 10px; }
@media (min-width: 700px) {
  .member-video-row { grid-template-columns: 74px minmax(0, 1fr) minmax(120px, auto); align-items: center; }
  .member-row-actions { grid-column: auto; flex-direction: column; }
  .member-dialog-actions { grid-template-columns: 1fr 1fr; }
}
