.mm-surface, .mench-membership-notice { --mm-accent:#3158d4; --mm-background:#fff; --mm-text:#152842; --mm-muted:#526179; --mm-border:#e2e8f0; --mm-soft:#f5f7fb; --mm-on-accent:#fff; color:var(--mm-text); font-family:inherit; }
.mm-surface *, .mench-membership-notice * { box-sizing:border-box; }
.mm-notice, .mm-dashboard { background:var(--mm-background); border:1px solid var(--mm-border); border-radius:20px; padding:32px; box-shadow:0 8px 28px rgb(15 23 42 / 4%); }
.mm-eyebrow { display:block; color:var(--mm-accent); font-size:12px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:12px; }
.mm-surface .mm-title, .mench-membership-notice .mm-title { color:var(--mm-text); font-size:clamp(24px,3vw,34px); font-weight:700; letter-spacing:-.03em; line-height:1.2; margin:0 0 14px; }
.mm-description { color:var(--mm-muted); font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.mm-description p { margin:0 0 12px; }
.mm-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.mm-surface .mm-button, .mench-membership-notice .mm-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 20px; border:1px solid transparent; border-radius:10px; background:var(--mm-accent); color:var(--mm-on-accent); font-size:14px; font-weight:600; line-height:1.3; text-decoration:none; transition:box-shadow .18s; }
.mm-surface .mm-button:hover, .mench-membership-notice .mm-button:hover { box-shadow:0 4px 14px rgb(49 88 212 / 20%); color:var(--mm-on-accent); }
.mm-surface .mm-button--secondary:hover, .mench-membership-notice .mm-button--secondary:hover { color:var(--mm-accent); }
.mm-surface .mm-button--secondary, .mench-membership-notice .mm-button--secondary { background:#eef2ff; color:var(--mm-accent); }
.mm-surface :is(a,button,input):focus-visible, .mench-membership-notice a:focus-visible { outline:3px solid #86a4fa; outline-offset:3px; }
.mm-notice--allowed { border-color:#b9ddcf; }
.mm-notice--expired { border-color:#e4c7a5; }
.mm-dashboard h3 { font-size:20px; margin:28px 0 16px; color:var(--mm-text); }
.mm-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:28px 0; }
.mm-stats > div { background:var(--mm-soft); border:1px solid #edf0f5; padding:20px; border-radius:12px; }
.mm-stats span { display:block; color:var(--mm-muted); font-size:13px; margin-bottom:8px; }
.mm-stats strong { display:block; font-size:20px; color:var(--mm-text); overflow-wrap:anywhere; }
.mm-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.mm-resource { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px; border:1px solid var(--mm-border); border-radius:12px; color:var(--mm-text); font-size:15px; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.mm-resource:hover { border-color:var(--mm-accent); color:var(--mm-accent); }
.mm-empty { grid-column:1/-1; padding:24px; background:#f7f9fc; border:1px dashed #cbd5e1; border-radius:12px; color:var(--mm-muted); font-size:15px; line-height:1.65; }
.mm-member-content { line-height:1.7; overflow-wrap:anywhere; }
.mm-history { overflow-x:auto; margin-top:24px; }
.mm-history table { width:100%; border-collapse:collapse; font-size:14px; }
.mm-history :is(th,td) { padding:14px; border-bottom:1px solid var(--mm-border); text-align:left; }
.mm-history th { background:var(--mm-soft); }
.mm-history a { color:var(--mm-accent); }
.mench-membership-notice { margin:24px 0; }
@media(max-width:767px) {
    .mm-notice, .mm-dashboard { padding:24px 20px; border-radius:16px; }
    .mm-stats, .mm-library { grid-template-columns:1fr; }
    .mm-stats > div { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px; }
    .mm-stats span { margin:0; }
    .mm-stats strong { text-align:right; font-size:18px; }
    .mm-actions .mm-button { flex:1 1 120px; }
}
@media(prefers-reduced-motion:reduce) { .mm-surface *, .mench-membership-notice * { transition:none !important; } }
@media(max-width:480px) { .mm-notice .mm-actions .mm-button { flex-basis:100%; } }
/* Member workspace: plan cards, action states and curated resources. */
.mm-dashboard-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.mm-account-badge, .mm-status { display:inline-flex; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; background:#edf1f7; color:#475569; }
.mm-account-badge { background:#e8f6ee; color:#176342; }
.mm-dashboard .mm-section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:32px 0 18px; }
.mm-dashboard .mm-section-heading h3 { margin:0 0 5px; font-size:21px; }
.mm-section-heading p { color:var(--mm-muted); font-size:14px; margin:0; }
.mm-pass-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.mm-pass-card { padding:24px; border:1px solid #dde5f1; border-radius:16px; background:linear-gradient(135deg,#f7f9ff,#fff); }
.mm-pass-card--expired { border-color:#e9d6b7; background:#fffcf5; }
.mm-pass-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.mm-pass-top .mm-eyebrow { font-size:10px; margin:8px 0 0; }
.mm-status--active { background:#e8f6ee; color:#176342; }
.mm-status--expired { background:#fff0d8; color:#805012; }
.mm-status--disabled, .mm-status--invalid { background:#fcebed; color:#8f2938; }
.mm-dashboard .mm-pass-card h4 { margin:20px 0 10px; color:var(--mm-text); font-size:23px; line-height:1.3; letter-spacing:-.02em; overflow-wrap:anywhere; }
.mm-pass-date { color:var(--mm-muted); font-size:14px; margin:0 0 18px; }
.mm-pass-note { color:#6d5328; font-size:14px; line-height:1.6; padding-top:14px; border-top:1px solid #e7dccb; }
.mm-pass-card .mm-button { margin-top:8px; }
.mm-membership-summary, .mm-payment-notice { padding:22px 24px; margin-top:28px; border-radius:14px; background:var(--mm-soft); border:1px solid var(--mm-border); }
.mm-membership-summary p, .mm-payment-notice p { font-size:14px; line-height:1.65; color:var(--mm-muted); margin:7px 0 0; }
.mm-membership-summary a, .mm-payment-notice a { color:var(--mm-accent); display:inline-block; margin-top:12px; font-weight:600; font-size:14px; text-underline-offset:3px; }
.mm-payment-notice { background:#fffcf5; border-color:#e9d6b7; }
.mm-resource small { display:block; color:#64748b; font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px; }
.mm-resource strong { display:block; color:var(--mm-text); font-size:16px; line-height:1.5; }
.mm-resource .mm-resource-action { display:block; font-size:12px; font-weight:600; color:var(--mm-accent); margin-top:12px; }
.mm-empty strong { display:block; color:var(--mm-text); }
.mm-empty p { margin:10px 0 0; }
@media(max-width:767px) {
    .mm-dashboard-header { flex-direction:column-reverse; gap:18px; }
    .mm-pass-grid { grid-template-columns:1fr; }
    .mm-pass-card { padding:20px; }
    .mm-pass-top { flex-wrap:wrap; }
    .mm-pass-card .mm-button { width:100%; }
}
/* Override native EDD table presentation only inside this widget. */
.mm-surface .mm-history #edd_user_history.edd-table { border:1px solid var(--mm-border); border-collapse:separate; border-spacing:0; border-radius:12px; overflow:hidden; }
.mm-surface .mm-history #edd_user_history.edd-table :is(th,td) { padding:16px; border:0; border-bottom:1px solid var(--mm-border); background:#fff; line-height:1.55; }
.mm-surface .mm-history #edd_user_history.edd-table th { background:var(--mm-soft); font-weight:700; color:#334155; }
.mm-surface .mm-history #edd_user_history.edd-table tr:last-child td { border-bottom:0; }
.mm-surface .mm-history #edd_user_history.edd-table a { color:var(--mm-accent); text-underline-offset:3px; }
