.member-portal {
    --member-dune: #e2d7c1;
    --member-dune-light: #f4efe5;
    --member-mystic: #70746c;
    --member-mystic-dark: #51564f;
    --member-ink: #2f312e;
    color: var(--member-ink);
}

.member-benefit-hero {
    background: linear-gradient(125deg, var(--member-mystic-dark), var(--member-mystic));
    border-radius: 26px;
    box-shadow: 0 20px 46px rgba(62, 67, 60, .2);
    color: #fff;
    overflow: hidden;
    padding: clamp(1rem, 2vw, 1.5rem);
    position: relative;
}

.member-benefit-hero::after {
    border: 36px solid rgba(226, 215, 193, .18);
    border-radius: 50%;
    content: "";
    height: 240px;
    position: absolute;
    right: -55px;
    top: -85px;
    width: 240px;
}

.member-benefit-kicker { color: var(--member-dune); font-size: .75rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.member-benefit-title { font-weight: 800; letter-spacing: -.035em; }
.member-benefit-hero .member-benefit-title { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.member-benefit-description { font-size: .95rem; }
.member-benefit-grid { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.member-benefit-item { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; display: flex; gap: .55rem; padding: .55rem .7rem; }
.member-benefit-icon { align-items: center; background: var(--member-dune); border-radius: 50%; color: var(--member-mystic-dark); display: inline-flex; flex: 0 0 auto; height: 30px; justify-content: center; width: 30px; }

.member-auth-card,
.member-profile-card { border: 1px solid #ddd7cb !important; border-radius: 22px !important; box-shadow: 0 14px 34px rgba(63,67,61,.1) !important; }
.member-profile-form { background: var(--member-dune-light); border: 1px solid #ddd7cb; border-radius: 18px; }
.member-optional { background: var(--member-dune-light); border-radius: 999px; color: var(--member-mystic-dark); font-size: .72rem; font-weight: 700; padding: .25rem .55rem; }
.member-portal .form-control,
.member-portal .form-select { border-color: #d7d1c6; border-radius: 12px; min-height: 46px; }
.member-portal .form-control:focus,
.member-portal .form-select:focus { border-color: var(--member-mystic); box-shadow: 0 0 0 .22rem rgba(112,116,108,.14); }
.member-portal .btn-danger { background: var(--member-mystic) !important; border-color: var(--member-mystic) !important; }
.member-portal .btn-danger:hover { background: var(--member-mystic-dark) !important; }
.member-portal .btn-outline-danger { border-color: var(--member-mystic) !important; color: var(--member-mystic-dark) !important; }
.member-portal .btn-outline-danger:hover { background: var(--member-mystic) !important; color: #fff !important; }
.member-portal .text-danger,
.member-portal .link-danger { color: var(--member-mystic-dark) !important; }
.member-portal .bg-danger-subtle { background: var(--member-dune-light) !important; }
.member-portal .border-danger-subtle { border-color: #d2c6b1 !important; }
.member-seed-history summary { cursor: pointer; list-style: none; }
.member-seed-history summary::-webkit-details-marker { display: none; }
.member-seed-history[open] summary { background: #faf8f3; }
.member-profile-summary { background: linear-gradient(135deg, var(--member-dune-light), #fff); }
.member-order-cta { align-items: center; background: linear-gradient(125deg, var(--member-mystic-dark), var(--member-mystic)); border-radius: 20px; box-shadow: 0 14px 32px rgba(63,67,61,.16); color: #fff; display: flex; gap: 1.25rem; justify-content: space-between; padding: 1.15rem 1.35rem; }
.member-order-cta .btn { color: var(--member-mystic-dark) !important; white-space: nowrap; }
.member-history-table thead th { text-align: center !important; vertical-align: middle; }
.member-history-table .member-history-order-even > * { background-color: #fff; }
.member-history-table .member-history-order-odd > * { background-color: var(--member-dune-light); }
.member-history-table tbody tr:hover > * { background-color: #ece6da; }

@media (max-width: 575.98px) {
    .member-benefit-grid { grid-template-columns: 1fr; }
    .member-benefit-hero { border-radius: 0 0 24px 24px; margin-left: -.75rem; margin-right: -.75rem; }
    .member-order-cta { align-items: stretch; flex-direction: column; }
}
