.member-wrap { padding-top:32px; padding-bottom:80px; }
.member-heading { margin:24px 0 32px; }
.member-heading h1 { margin:0 0 12px; font-size:clamp(28px,4vw,40px); letter-spacing:-.025em; }
.member-heading p,.member-panel p,.member-contact p { color:var(--fg-2); font-size:14px; line-height:1.9; }
.member-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; margin:28px 0; }
.member-panel,.member-contact { padding:28px; background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.member-panel h2,.member-contact h2 { margin:0 0 20px; font-size:21px; }
.member-panel label,.member-contact label { display:block; color:var(--fg); font-size:14px; font-weight:600; margin:18px 0 8px; }
.member-panel input { display:block; width:100%; margin-top:8px; padding:12px; border:1px solid var(--line-2); border-radius:6px; font:inherit; font-size:15px; background:var(--bg); color:var(--fg); }
.member-panel input[readonly] { background:var(--surface-2); }
.member-panel form>.btn { margin-top:20px; }
.member-panel [role=status] { min-height:24px; color:var(--accent); overflow-wrap:anywhere; }
.member-copy { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:16px 0 24px; }
.member-copy strong { font-size:clamp(18px,2vw,25px); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.member-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:24px; }
.member-tabs { display:flex; gap:12px; padding-bottom:18px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.member-tabs button { border:0; background:transparent; padding:9px 14px; border-radius:5px; font:inherit; color:var(--fg-2); cursor:pointer; }
.member-tabs [aria-pressed=true] { color:var(--accent); background:var(--accent-soft); font-weight:700; }
.member-password { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.member-password summary { cursor:pointer; font-size:14px; line-height:1.8; }
.member-note { margin-top:24px; }
.member-search { display:flex; gap:16px; align-items:end; margin-bottom:24px; }
.member-search label { flex:1; }
.member-search .btn { margin-bottom:8px; }
.member-table-scroll { max-width:100%; overflow-x:auto; }
.member-table-scroll table { border-collapse:collapse; width:100%; min-width:550px; font-size:13px; text-align:left; }
.member-table-scroll th,.member-table-scroll td { border-bottom:1px solid var(--line); padding:14px 10px; line-height:1.8; }
.member-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.member-audit p { border-bottom:1px solid var(--line); padding:12px 0; margin:0; overflow-wrap:anywhere; }
.member-trial-banner { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; padding:12px 20px; background:var(--accent-soft); color:var(--fg); font-size:13px; }
.member-trial-banner a { color:var(--accent); font-weight:700; text-underline-offset:3px; }
.member-lock { padding:24px; margin:20px 0; background:var(--accent-soft); border-radius:10px; }
.member-lock h3 { font-size:18px; margin:0 0 10px; }
.member-lock p { color:var(--fg-2); font-size:14px; line-height:1.8; margin:0 0 18px; }
.member-q-access { display:inline-flex; align-items:center; margin-left:10px; padding:2px 7px; border-radius:4px; font-size:12px; line-height:1.7; white-space:nowrap; font-weight:600; vertical-align:middle; }
.member-q-access.is-free { background:var(--accent-soft); color:var(--accent); }
.member-q-access.is-vip { background:var(--surface-2); color:var(--fg-2); }
.member-bank-access { display:block; margin-top:8px; color:var(--accent); font-size:13px; line-height:1.8; }
.member-wrap :is(input,button,a,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.member-top { white-space:nowrap; width:auto; text-decoration:none; }
.topbar .member-signin { background:var(--btn-bg); color:var(--btn-fg); font-family:var(--sans); font-weight:600; padding-inline:14px; }
.topbar .member-signin:hover { background:var(--btn-bg-hover); color:var(--btn-fg); }
.member-admin-entry { color:var(--fg-2); text-underline-offset:3px; }
.topbar .member-top:focus-visible,.member-admin-entry:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:980px){.member-layout{grid-template-columns:1fr;gap:24px}.member-top{font-size:12px;padding-inline:8px}.topbar{flex-wrap:wrap;height:auto;min-height:64px;padding-block:10px}.topbar .search{order:20;flex:1 0 100%;max-width:none}}
@media(max-width:600px){.member-panel,.member-contact{padding:20px}.member-form-grid{grid-template-columns:1fr}.member-search{align-items:stretch;flex-direction:column;gap:4px}}
@media print{.member-trial-banner,.member-top{display:none!important}}
