.member-workspace {
    --member-border: #dce1e7;
    --member-muted: #536171;
    --member-subtle: #f5f7fa;
    --member-primary: #174f9d;
    min-height: 65vh;
}

.member-layout { display: grid; grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.member-page-title { font-size: 1.55rem; font-weight: 700; margin: 0 0 1rem; letter-spacing: -.025em; }
.member-auth-wrap { max-width: 28rem; margin: 1.5rem auto 2.5rem; }
.member-panel, .member-sidebar { border: 1px solid var(--member-border); border-radius: .4rem; background: #fff; min-width: 0; }
.member-panel { overflow: hidden; }
.member-panel-heading { padding: .8rem 1rem; margin: 0; font-size: 1rem; font-weight: 700; border-bottom: 1px solid var(--member-border); }
.member-panel-body { padding: 1rem; }
.member-card-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 1rem; }
.member-plan { max-width: 42rem; }

.member-sidebar-title { margin: 0; padding: .85rem 1rem .6rem; font-weight: 700; }
.member-sidebar-nav { display: grid; padding: 0 .45rem .45rem; gap: .125rem; }
.member-sidebar-nav a { padding: .54rem .55rem; border-radius: .25rem; color: #314154; text-decoration: none; white-space: nowrap; }
.member-sidebar-nav a:hover { background: var(--member-subtle); color: var(--member-primary); }
.member-sidebar-nav [aria-current="page"] { background: #e9f1fb; color: var(--member-primary); font-weight: 700; }
.member-sidebar-summary { padding: .75rem 1rem; border-top: 1px solid var(--member-border); }

.member-auth-tabs { display: flex; background: var(--member-subtle); border-bottom: 1px solid var(--member-border); }
.member-auth-tabs a { flex: 1; padding: .75rem .5rem; text-align: center; text-decoration: none; color: var(--member-muted); border-bottom: 2px solid transparent; }
.member-auth-tabs a:hover { color: var(--member-primary); }
.member-auth-tabs [aria-current="page"] { color: var(--member-primary); background: #fff; border-color: var(--member-primary); font-weight: 700; }

.member-account-list { margin: 0 0 1rem; }
.member-account-list > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .5rem; padding: .65rem 0; border-bottom: 1px solid var(--member-border); }
.member-account-list > div:first-child { padding-top: .15rem; }
.member-account-list dt { color: var(--member-muted); font-weight: 500; }
.member-account-list dd { margin: 0; }
.member-status { display: inline-block; background: #eef0f3; border-radius: .2rem; color: #495363; padding: .14rem .4rem; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.member-status--pending { background: #fff4d6; color: #744711; }
.member-status--confirmed { background: #e5f4ec; color: #17613b; }
.member-status--rejected { background: #fae9eb; color: #98313a; }
.member-plan-price { display: flex; align-items: baseline; gap: .65rem; flex-wrap: wrap; }
.member-plan-price strong { font-size: 1.5rem; font-variant-numeric: tabular-nums; }

.member-order-filters { border-bottom: 1px solid var(--member-border); }
.member-order-table { --bs-table-color: #263548; font-size: .82rem; min-width: 41rem; }
.member-order-table thead { white-space: nowrap; }
.member-order-table th, .member-order-table td { padding: .6rem; }
.member-order-table th:first-child, .member-order-table td:first-child { padding-left: 1rem; }
.member-order-table tbody tr:last-child td { border-bottom: 0; }
.member-order-table code { color: #344a65; }
.member-statement-pager { display: flex; align-items: center; justify-content: center; gap: .75rem; border-top: 1px solid var(--member-border); padding: .7rem; font-size: .85rem; }

@media (max-width: 991.98px) {
    .member-layout { grid-template-columns: 10rem minmax(0, 1fr); }
    .member-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .member-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .member-sidebar-title, .member-sidebar-summary { display: none; }
    .member-sidebar-nav { display: flex; overflow-x: auto; padding: .35rem; }
    .member-sidebar-nav a { padding: .48rem .6rem; }
    .member-auth-wrap { margin-top: .25rem; }
}
