/* Cafe Bống - Member Portal (v89) */
.cb-member-wrap{font-family:Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif; background: linear-gradient(180deg,#fbf2ea 0%, #ffffff 60%); padding:48px 16px;}
.cb-member-container{max-width:1120px;margin:0 auto;}
.cb-member-hero{margin-bottom:18px;}
.cb-member-hero h1{margin:0 0 6px;font-size:40px;line-height:1.15;color:#3b2318;font-weight:800;letter-spacing:-.3px;}
.cb-member-hero p{margin:0;color:#6b5a52;font-size:14px;}
.cb-member-grid{display:grid;grid-template-columns: 1.05fr 1.2fr;gap:22px;align-items:start;}
.cb-card{background:#fff;border:1px solid rgba(59,35,24,.10);border-radius:18px;box-shadow:0 18px 38px rgba(0,0,0,.06);padding:18px;}
.cb-card h2{margin:0 0 12px;font-size:20px;color:#3b2318;font-weight:800;}
.cb-muted{color:#6b5a52;}
.cb-row{display:flex;gap:14px;align-items:center;}
.cb-avatar{width:64px;height:64px;border-radius:999px;overflow:hidden;border:1px solid rgba(59,35,24,.12);background:#faf6f2;flex:0 0 auto;}
.cb-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.cb-name{font-size:18px;font-weight:800;color:#3b2318;margin:0;}
.cb-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(181,118,82,.35);background:rgba(181,118,82,.10);color:#5a2f1c;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px;}
.cb-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:10px;}
.cb-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(59,35,24,.10);border-radius:14px;background:#fff;}
.cb-item strong{color:#3b2318;}
.cb-item .cb-val{color:#3b2318;font-weight:700;}
.cb-eye{cursor:pointer;border:0;background:#f7efe8;color:#3b2318;border:1px solid rgba(59,35,24,.12);border-radius:10px;padding:6px 10px;font-weight:700;font-size:12px;}
.cb-eye:hover{background:#efe1d4;}
.cb-member-card{margin-top:14px;border-radius:18px;background: radial-gradient(1200px 220px at 10% 10%, rgba(181,118,82,.35), transparent 55%),
linear-gradient(135deg,#3b2318 0%, #7b3d1f 60%, #b57652 100%);
color:#fff;padding:18px;position:relative;overflow:hidden;}
.cb-member-card:after{content:"";position:absolute;inset:-80px -80px auto auto;width:220px;height:220px;border-radius:999px;background:rgba(255,255,255,.12);transform:rotate(25deg);}
.cb-member-card .cb-mc-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;position:relative;z-index:1;}
.cb-member-card .cb-mc-title{font-weight:900;letter-spacing:.4px;font-size:14px;margin:0 0 6px;opacity:.95;}
.cb-member-card .cb-mc-name{margin:0;font-size:18px;font-weight:900;}
.cb-member-card .cb-mc-code{margin:6px 0 0;font-size:12px;opacity:.9;}
.cb-member-card .cb-mc-qr{width:92px;height:92px;border-radius:12px;background:#fff;padding:6px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.cb-member-card .cb-mc-qr img{max-width:100%;height:auto;display:block;}
.cb-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none;}
.cb-tabs button{border:1px solid rgba(59,35,24,.12);background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;color:#3b2318;cursor:pointer;font-size:13px;}
.cb-tabs button:hover{background:#f7efe8;}
.cb-tabs button.is-active{background:#3b2318;color:#fff;border-color:#3b2318;}
.cb-pane{display:none;}
.cb-pane.is-active{display:block;}
.cb-table{width:100%;border-collapse:separate;border-spacing:0 10px;}
.cb-table th{font-size:12px;color:#6b5a52;font-weight:800;text-align:left;padding:0 10px;}
.cb-table td{background:#fff;border:1px solid rgba(59,35,24,.10);padding:10px;border-left:0;border-right:0;}
.cb-table tr td:first-child{border-left:1px solid rgba(59,35,24,.10);border-radius:12px 0 0 12px;}
.cb-table tr td:last-child{border-right:1px solid rgba(59,35,24,.10);border-radius:0 12px 12px 0;}
.cb-btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font-weight:900;border-radius:14px;padding:12px 16px;background:linear-gradient(135deg,#3b2318,#b57652);color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.10);}
.cb-btn:hover{filter:brightness(1.03);}
.cb-btn-outline{background:#fff;color:#3b2318;border:1px solid rgba(59,35,24,.18);box-shadow:none;}
.cb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cb-field label{display:block;font-size:12px;color:#6b5a52;font-weight:800;margin:0 0 6px;}
.cb-field input,.cb-field textarea{width:100%;border:1px solid rgba(59,35,24,.14);border-radius:12px;padding:11px 12px;font-family:inherit;font-size:14px;outline:none;background:#fff;}
.cb-field textarea{min-height:120px;resize:vertical;}
.cb-field input:focus,.cb-field textarea:focus{border-color:rgba(181,118,82,.65);box-shadow:0 0 0 3px rgba(181,118,82,.15);}
.cb-auth-wrap{max-width:980px;margin:0 auto;background:#fff;border:1px solid rgba(59,35,24,.10);border-radius:22px;box-shadow:0 22px 44px rgba(0,0,0,.08);overflow:hidden;}
.cb-auth-inner{display:grid;grid-template-columns:1fr 1fr;}
.cb-auth-side{background:linear-gradient(135deg,#3b2318,#b57652);color:#fff;padding:28px;}
.cb-auth-side h2{margin:0 0 8px;font-size:22px;font-weight:900;}
.cb-auth-side p{margin:0;font-size:13px;opacity:.9;}
.cb-auth-main{padding:28px;}
.cb-auth-main h2{margin:0 0 14px;font-size:22px;color:#3b2318;font-weight:900;}
.cb-alert{border-radius:14px;border:1px solid rgba(181,118,82,.25);background:rgba(181,118,82,.10);color:#3b2318;padding:10px 12px;font-weight:700;margin:0 0 12px;}
.cb-error{border-color:rgba(183,36,36,.25);background:rgba(183,36,36,.08);color:#7a1f1f;}
.cb-auth-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;}
.cb-link{color:#b57652;font-weight:900;text-decoration:none;}
.cb-link:hover{text-decoration:underline;}
/* Reveal modal */
.cb-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:99999;}
.cb-modal.is-open{display:flex;}
.cb-modal .cb-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.cb-modal .cb-modal-box{position:relative;background:#fff;border-radius:18px;box-shadow:0 26px 66px rgba(0,0,0,.20);padding:16px;width:min(420px,calc(100% - 28px));border:1px solid rgba(59,35,24,.12);}
.cb-modal h3{margin:0 0 8px;font-size:18px;color:#3b2318;font-weight:900;}
.cb-modal .cb-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;}
.cb-modal .cb-x{position:absolute;top:10px;right:10px;border:0;background:#f7efe8;border:1px solid rgba(59,35,24,.12);border-radius:12px;width:36px;height:36px;cursor:pointer;font-weight:900;}
.cb-modal .cb-x:hover{background:#efe1d4;}
@media (max-width: 980px){
  .cb-member-hero h1{font-size:34px;}
  .cb-member-grid{grid-template-columns:1fr;gap:16px;}
  .cb-auth-inner{grid-template-columns:1fr;}
  .cb-auth-side{padding:22px;}
}
@media (max-width: 640px){
  .cb-member-wrap{padding:34px 12px;}
  .cb-member-hero h1{font-size:30px;}
  .cb-form-grid{grid-template-columns:1fr;}
}


/* =========================
   Member Portal (v91) - Dashboard layout (giống ảnh mẫu)
   Scope: .cb-member-wrap.cb-member-v2
   ========================= */

.cb-member-wrap.cb-member-v2{
  --cbm-bg:#f5f6f8;
  --cbm-card:#ffffff;
  --cbm-text:#111827;
  --cbm-muted:#6b7280;
  --cbm-border:rgba(17,24,39,.10);
  --cbm-shadow:0 14px 34px rgba(0,0,0,.07);
  --cbm-accent:#7b3d1f;
  --cbm-accent2:#b57652;

  background:var(--cbm-bg);
  padding:28px 16px;
}

.cb-member-wrap.cb-member-v2 .cb-member-container{max-width:1200px;}
.cb-member-wrap.cb-member-v2 .cbm-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 14px;}
.cb-member-wrap.cb-member-v2 .cbm-hero h1{margin:0 0 6px;font-size:34px;line-height:1.15;color:var(--cbm-text);font-weight:900;letter-spacing:-.3px;}
.cb-member-wrap.cb-member-v2 .cbm-hero p{margin:0;color:var(--cbm-muted);font-size:14px;}

.cb-member-wrap.cb-member-v2 .cbm-card{background:var(--cbm-card);border:1px solid var(--cbm-border);border-radius:18px;box-shadow:var(--cbm-shadow);}
.cb-member-wrap.cb-member-v2 .cbm-topbar{display:grid;grid-template-columns:1.65fr .8fr .95fr 1.1fr;gap:14px;align-items:stretch;margin-bottom:14px;}

.cb-member-wrap.cb-member-v2 .cbm-profile{display:flex;gap:14px;padding:16px;align-items:center;min-width:0;}
.cb-member-wrap.cb-member-v2 .cbm-avatar{width:62px;height:62px;border-radius:16px;overflow:hidden;background:#f3f4f6;border:1px solid var(--cbm-border);flex:0 0 auto;}
.cb-member-wrap.cb-member-v2 .cbm-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.cb-member-wrap.cb-member-v2 .cbm-profile-meta{min-width:0;}
.cb-member-wrap.cb-member-v2 .cbm-name{font-size:18px;font-weight:900;color:var(--cbm-text);margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cb-member-wrap.cb-member-v2 .cbm-sub{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px;}
.cb-member-wrap.cb-member-v2 .cbm-pill{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--cbm-border);background:#f9fafb;border-radius:999px;padding:6px 10px;font-size:12px;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v2 .cbm-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.cb-member-wrap.cb-member-v2 .cbm-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;color:#fff;background:linear-gradient(135deg,var(--cbm-accent),var(--cbm-accent2));}
.cb-member-wrap.cb-member-v2 .cbm-badge--ghost{background:#fff;color:var(--cbm-text);border:1px solid var(--cbm-border);font-weight:800;}
.cb-member-wrap.cb-member-v2 .cbm-note{font-size:12px;color:var(--cbm-muted);}

.cb-member-wrap.cb-member-v2 .cbm-metric{display:flex;gap:10px;align-items:center;padding:16px;}
.cb-member-wrap.cb-member-v2 .cbm-metric-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(123,61,31,.10);border:1px solid rgba(123,61,31,.18);font-size:18px;}
.cb-member-wrap.cb-member-v2 .cbm-metric-val{font-size:18px;font-weight:900;color:var(--cbm-text);line-height:1.1;}
.cb-member-wrap.cb-member-v2 .cbm-metric-label{font-size:12px;color:var(--cbm-muted);margin-top:2px;}

.cb-member-wrap.cb-member-v2 .cbm-qr{display:flex;gap:12px;align-items:center;padding:16px;}
.cb-member-wrap.cb-member-v2 .cbm-qr-box{width:74px;height:74px;border-radius:14px;background:#fff;border:1px solid var(--cbm-border);display:flex;align-items:center;justify-content:center;padding:8px;flex:0 0 auto;}
.cb-member-wrap.cb-member-v2 .cbm-qr-box img{max-width:100%;height:auto;display:block;}
.cb-member-wrap.cb-member-v2 .cbm-qr-title{font-weight:900;color:var(--cbm-text);font-size:14px;margin:0 0 4px;}
.cb-member-wrap.cb-member-v2 .cbm-qr-sub{font-size:12px;line-height:1.35;color:var(--cbm-muted);}

.cb-member-wrap.cb-member-v2 .cbm-alerts{display:grid;gap:10px;margin-bottom:14px;}
.cb-member-wrap.cb-member-v2 .cbm-alert{border-radius:14px;border:1px solid rgba(123,61,31,.20);background:rgba(123,61,31,.08);color:var(--cbm-text);padding:10px 12px;font-weight:800;}

.cb-member-wrap.cb-member-v2 .cbm-layout{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start;}
.cb-member-wrap.cb-member-v2 .cbm-sidenav{padding:12px;}
.cb-member-wrap.cb-member-v2 .cbm-nav{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid transparent;background:transparent;border-radius:14px;padding:10px 12px;font-weight:900;color:var(--cbm-text);cursor:pointer;text-align:left;white-space:nowrap;}
.cb-member-wrap.cb-member-v2 .cbm-nav:hover{background:#f9fafb;border-color:var(--cbm-border);}
.cb-member-wrap.cb-member-v2 .cbm-nav.is-active{background:rgba(123,61,31,.10);border-color:rgba(123,61,31,.20);color:var(--cbm-accent);}
.cb-member-wrap.cb-member-v2 .cbm-nav--link{display:flex;text-decoration:none;}
.cb-member-wrap.cb-member-v2 .cbm-dot{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:var(--cbm-accent);color:#fff;font-size:12px;font-weight:900;padding:0 6px;}

.cb-member-wrap.cb-member-v2 .cbm-main{padding:18px;}
.cb-member-wrap.cb-member-v2 .cbm-pane{display:none;}
.cb-member-wrap.cb-member-v2 .cbm-pane.is-active{display:block;}

.cb-member-wrap.cb-member-v2 .cbm-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;}
.cb-member-wrap.cb-member-v2 .cbm-section-head h2{margin:0;font-size:20px;color:var(--cbm-text);font-weight:900;}
.cb-member-wrap.cb-member-v2 .cbm-muted{color:var(--cbm-muted);font-size:12px;}

.cb-member-wrap.cb-member-v2 .cbm-two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;}
.cb-member-wrap.cb-member-v2 .cbm-block{border:1px solid var(--cbm-border);border-radius:16px;padding:14px;background:#fff;}
.cb-member-wrap.cb-member-v2 .cbm-block h3{margin:0 0 10px;font-size:16px;font-weight:900;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v2 .cbm-actions{display:flex;flex-wrap:wrap;gap:10px;}
.cb-member-wrap.cb-member-v2 .cbm-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:11px 14px;font-weight:900;border:1px solid var(--cbm-border);background:#fff;color:var(--cbm-text);text-decoration:none;}
.cb-member-wrap.cb-member-v2 .cbm-btn:hover{background:#f9fafb;}
.cb-member-wrap.cb-member-v2 .cbm-divider{height:1px;background:var(--cbm-border);margin:14px 0;}
.cb-member-wrap.cb-member-v2 .cbm-mini{display:grid;gap:10px;}
.cb-member-wrap.cb-member-v2 .cbm-mini-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v2 .cbm-mini-k{color:var(--cbm-muted);font-weight:900;}

.cb-member-wrap.cb-member-v2 .cbm-table{width:100%;border-collapse:separate;border-spacing:0;}
.cb-member-wrap.cb-member-v2 .cbm-table th{font-size:12px;color:var(--cbm-muted);font-weight:900;text-align:left;padding:10px 10px;border-bottom:1px solid var(--cbm-border);}
.cb-member-wrap.cb-member-v2 .cbm-table td{padding:12px 10px;border-bottom:1px solid var(--cbm-border);font-size:14px;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v2 .cbm-table tr:hover td{background:#fafafa;}

.cb-member-wrap.cb-member-v2 .cbm-voucher-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px;}
.cb-member-wrap.cb-member-v2 .cbm-voucher{border:1px dashed rgba(123,61,31,.35);border-radius:16px;padding:14px;background:#fff;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-title{font-weight:900;color:var(--cbm-text);font-size:14px;line-height:1.25;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-badge{font-size:12px;font-weight:900;color:var(--cbm-accent);background:rgba(123,61,31,.10);border:1px solid rgba(123,61,31,.18);border-radius:999px;padding:6px 10px;white-space:nowrap;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-code{font-weight:900;letter-spacing:.4px;color:var(--cbm-text);font-size:14px;}
.cb-member-wrap.cb-member-v2 .cbm-copy{border:1px solid var(--cbm-border);background:#f9fafb;border-radius:12px;padding:8px 10px;font-weight:900;font-size:12px;cursor:pointer;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v2 .cbm-copy:hover{background:#f3f4f6;}
.cb-member-wrap.cb-member-v2 .cbm-copy.is-done{border-color:rgba(46,107,46,.25);background:rgba(46,107,46,.10);color:#2e6b2e;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-meta{display:grid;gap:6px;color:var(--cbm-muted);font-size:12px;}
.cb-member-wrap.cb-member-v2 .cbm-voucher-meta strong{color:var(--cbm-text);}

.cb-member-wrap.cb-member-v2 .cbm-info{border-radius:14px;border:1px solid var(--cbm-border);background:#f9fafb;color:var(--cbm-text);padding:10px 12px;font-weight:800;margin:0 0 12px;}
.cb-member-wrap.cb-member-v2 .cbm-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.cb-member-wrap.cb-member-v2 .cbm-list li{border:1px solid var(--cbm-border);border-radius:14px;background:#fff;padding:12px;}
.cb-member-wrap.cb-member-v2 .cbm-list li strong{display:block;color:var(--cbm-text);font-weight:900;margin-bottom:4px;}
.cb-member-wrap.cb-member-v2 .cbm-list li .cbm-muted{display:block;color:var(--cbm-muted);font-size:12px;}

.cb-member-wrap.cb-member-v2 .cbm-account-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;}
.cb-member-wrap.cb-member-v2 .cbm-account-card{border:1px solid var(--cbm-border);border-radius:16px;background:#fff;padding:14px;}
.cb-member-wrap.cb-member-v2 .cbm-account-card h3{margin:0 0 10px;font-size:16px;font-weight:900;color:var(--cbm-text);}

/* Responsive */
@media (max-width: 1100px){
  .cb-member-wrap.cb-member-v2 .cbm-topbar{grid-template-columns:1.6fr 1fr 1fr;grid-auto-rows:auto;}
  .cb-member-wrap.cb-member-v2 .cbm-qr{grid-column:1 / -1;}
  .cb-member-wrap.cb-member-v2 .cbm-voucher-grid{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v2 .cbm-two-col{grid-template-columns:1fr;}
}
@media (max-width: 980px){
  .cb-member-wrap.cb-member-v2 .cbm-layout{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v2 .cbm-sidenav{display:flex;gap:10px;overflow:auto;white-space:nowrap;}
  .cb-member-wrap.cb-member-v2 .cbm-nav{width:auto;flex:0 0 auto;}
  .cb-member-wrap.cb-member-v2 .cbm-account-grid{grid-template-columns:1fr;}
}
@media (max-width: 520px){
  .cb-member-wrap.cb-member-v2 .cbm-topbar{grid-template-columns:1fr;}
}

/* safety scope */
.cb-member-wrap.cb-member-v2 *{box-sizing:border-box;}


/* =========================
   Member Portal (v92) - Layout giống ảnh mẫu (SMember)
   Scope: .cb-member-wrap.cb-member-v3
   ========================= */

.cb-member-wrap.cb-member-v3{
  --cbm-bg:#f4f5f7;
  --cbm-card:#ffffff;
  --cbm-text:#111827;
  --cbm-muted:#6b7280;
  --cbm-border:rgba(17,24,39,.10);
  --cbm-shadow:0 10px 26px rgba(0,0,0,.06);
  --cbm-accent:#e11d2e;
  --cbm-accent-soft:#ffe8eb;

  background:var(--cbm-bg);
  padding:24px 14px;
}

.cb-member-wrap.cb-member-v3 .cb-member-container{max-width:1220px;margin:0 auto;}
.cb-member-wrap.cb-member-v3 *{box-sizing:border-box;}

.cb-member-wrap.cb-member-v3 .cbm-card{
  background:var(--cbm-card);
  border:1px solid var(--cbm-border);
  border-radius:18px;
  box-shadow:var(--cbm-shadow);
}

/* ===== Summary ===== */
.cb-member-wrap.cb-member-v3 .cbm-summary{
  display:grid;
  grid-template-columns: 1.35fr .75fr .95fr 1fr;
  overflow:hidden;
}

.cb-member-wrap.cb-member-v3 .cbm-sum-cell{
  padding:16px 18px;
  position:relative;
  min-width:0;
}
.cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell{
  border-left:1px solid rgba(17,24,39,.07);
}
.cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell:before{
  content:"";
  position:absolute;
  left:-1px;
  top:16px;
  width:2px;
  height:40px;
  background:var(--cbm-accent);
  border-radius:2px;
  opacity:.75;
}

.cb-member-wrap.cb-member-v3 .cbm-sum-profile{display:flex;gap:14px;align-items:center;}
.cb-member-wrap.cb-member-v3 .cbm-avatar-lg{
  width:64px;height:64px;border-radius:999px;overflow:hidden;
  background:#f3f4f6;border:1px solid rgba(17,24,39,.10);flex:0 0 auto;
}
.cb-member-wrap.cb-member-v3 .cbm-avatar-lg img{width:100%;height:100%;object-fit:cover;display:block;}
.cb-member-wrap.cb-member-v3 .cbm-sum-name{
  font-size:16px;font-weight:900;color:var(--cbm-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cb-member-wrap.cb-member-v3 .cbm-sum-sub{margin-top:2px;font-size:12px;color:var(--cbm-muted);font-weight:800;}
.cb-member-wrap.cb-member-v3 .cbm-sum-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.cb-member-wrap.cb-member-v3 .cbm-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(17,24,39,.10);
  background:#fff;color:var(--cbm-text);
  font-size:12px;font-weight:900;
}
.cb-member-wrap.cb-member-v3 .cbm-chip--rank{
  border-color:rgba(225,29,46,.18);
  background:rgba(225,29,46,.08);
  color:var(--cbm-accent);
}
.cb-member-wrap.cb-member-v3 .cbm-chip--ghost{
  background:#f9fafb;
  color:var(--cbm-muted);
}
.cb-member-wrap.cb-member-v3 .cbm-sum-note{margin-top:10px;font-size:12px;color:var(--cbm-muted);}
.cb-member-wrap.cb-member-v3 .cbm-sum-note strong{color:var(--cbm-text);}

.cb-member-wrap.cb-member-v3 .cbm-sum-stat{display:flex;flex-direction:column;justify-content:center;gap:6px;}
.cb-member-wrap.cb-member-v3 .cbm-stat-ico{
  width:36px;height:36px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(225,29,46,.10);
  border:1px solid rgba(225,29,46,.18);
  font-size:18px;
}
.cb-member-wrap.cb-member-v3 .cbm-stat-val{font-size:20px;font-weight:900;color:var(--cbm-text);line-height:1.1;}
.cb-member-wrap.cb-member-v3 .cbm-stat-lbl{font-size:12px;color:var(--cbm-muted);font-weight:800;}
.cb-member-wrap.cb-member-v3 .cbm-stat-sub{font-size:12px;color:var(--cbm-muted);}

.cb-member-wrap.cb-member-v3 .cbm-sum-channel{display:flex;flex-direction:column;gap:10px;justify-content:center;}
.cb-member-wrap.cb-member-v3 .cbm-channel-head{font-size:12px;color:var(--cbm-muted);font-weight:900;}
.cb-member-wrap.cb-member-v3 .cbm-channel-brand{display:flex;gap:10px;align-items:center;}
.cb-member-wrap.cb-member-v3 .cbm-brand-ico{
  width:44px;height:44px;border-radius:14px;object-fit:cover;
  border:1px solid rgba(17,24,39,.10);background:#fff;
}
.cb-member-wrap.cb-member-v3 .cbm-brand-fallback{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(17,24,39,.10);
  background:#f9fafb;color:var(--cbm-text);font-weight:1000;
}
.cb-member-wrap.cb-member-v3 .cbm-brand-name{font-weight:1000;color:var(--cbm-text);line-height:1.1;}
.cb-member-wrap.cb-member-v3 .cbm-brand-host{font-size:12px;color:var(--cbm-accent);font-weight:900;}
.cb-member-wrap.cb-member-v3 .cbm-channel-qr{display:flex;gap:10px;align-items:center;}
.cb-member-wrap.cb-member-v3 .cbm-channel-qr img{
  width:44px;height:44px;border-radius:12px;border:1px solid rgba(17,24,39,.10);
  padding:4px;background:#fff;
}
.cb-member-wrap.cb-member-v3 .cbm-channel-qr-text{font-size:12px;color:var(--cbm-muted);font-weight:900;}

/* ===== Top shortcuts ===== */
.cb-member-wrap.cb-member-v3 .cbm-topnav{
  margin-top:12px;
  padding:10px;
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
  align-items:stretch;
}
@media (max-width: 1100px){
  .cb-member-wrap.cb-member-v3 .cbm-topnav{grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width: 640px){
  .cb-member-wrap.cb-member-v3 .cbm-topnav{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

.cb-member-wrap.cb-member-v3 .cbm-topbtn{
  border:1px solid rgba(17,24,39,.10);
  background:#fff;
  border-radius:999px;
  padding:10px 12px;
  width:100%;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  font-size:13px;
  color:var(--cbm-text);
  cursor:pointer;
}
.cb-member-wrap.cb-member-v3 .cbm-topbtn:hover{background:#f9fafb;}
.cb-member-wrap.cb-member-v3 .cbm-topbtn.is-active{
  background:var(--cbm-accent-soft);
  border-color:rgba(225,29,46,.22);
  color:var(--cbm-accent);
}
.cb-member-wrap.cb-member-v3 .cbm-topico{
  width:28px;height:28px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f3f4f6;border:1px solid rgba(17,24,39,.08);
}
.cb-member-wrap.cb-member-v3 .cbm-topbtn.is-active .cbm-topico{
  background:rgba(225,29,46,.10);
  border-color:rgba(225,29,46,.18);
}
.cb-member-wrap.cb-member-v3 .cbm-topdot{
  margin-left:2px;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;height:18px;border-radius:999px;
  background:var(--cbm-accent);
  color:#fff;font-size:12px;font-weight:1000;
  padding:0 6px;
}

/* Alerts */
.cb-member-wrap.cb-member-v3 .cbm-alerts{margin-top:12px;display:grid;gap:10px;}
.cb-member-wrap.cb-member-v3 .cbm-alert{
  border-radius:14px;
  border:1px solid rgba(225,29,46,.18);
  background:rgba(225,29,46,.08);
  color:var(--cbm-text);
  padding:10px 12px;
  font-weight:900;
}

/* ===== Layout ===== */
.cb-member-wrap.cb-member-v3 .cbm-layout{
  margin-top:12px;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:12px;
  align-items:start;
}
.cb-member-wrap.cb-member-v3 .cbm-sidebar{padding:10px;}
.cb-member-wrap.cb-member-v3 .cbm-side-head{
  font-size:12px;font-weight:1000;color:var(--cbm-muted);
  padding:10px 12px 6px;
}

.cb-member-wrap.cb-member-v3 .cbm-nav{
  width:100%;
  border:0;
  background:transparent;
  padding:10px 12px;
  border-radius:14px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  color:var(--cbm-text);
  font-weight:900;
  text-align:left;
  position:relative;
}
.cb-member-wrap.cb-member-v3 .cbm-nav .cbm-dot{margin-left:auto;}
.cb-member-wrap.cb-member-v3 .cbm-nav:hover{background:#f9fafb;}
.cb-member-wrap.cb-member-v3 .cbm-nav.is-active{
  background:var(--cbm-accent-soft);
  color:var(--cbm-accent);
}
.cb-member-wrap.cb-member-v3 .cbm-nav.is-active:before{
  content:"";
  position:absolute;
  left:2px;top:10px;bottom:10px;
  width:3px;border-radius:999px;
  background:var(--cbm-accent);
}
.cb-member-wrap.cb-member-v3 .cbm-nav-ico{
  width:28px;height:28px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f3f4f6;border:1px solid rgba(17,24,39,.08);
  flex:0 0 auto;
}
.cb-member-wrap.cb-member-v3 .cbm-nav.is-active .cbm-nav-ico{
  background:rgba(225,29,46,.10);
  border-color:rgba(225,29,46,.18);
}
.cb-member-wrap.cb-member-v3 .cbm-nav-txt{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cb-member-wrap.cb-member-v3 .cbm-nav--link{text-decoration:none;}

.cb-member-wrap.cb-member-v3 .cbm-dot{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;border-radius:999px;
  background:var(--cbm-accent);color:#fff;font-size:12px;font-weight:1000;
  padding:0 6px;
}

.cb-member-wrap.cb-member-v3 .cbm-main{padding:16px;}
.cb-member-wrap.cb-member-v3 .cbm-pane{display:none;}
.cb-member-wrap.cb-member-v3 .cbm-pane.is-active{display:block;}

.cb-member-wrap.cb-member-v3 .cbm-section-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:12px;
  margin-bottom:12px;
}
.cb-member-wrap.cb-member-v3 .cbm-section-head h2{margin:0;font-size:18px;font-weight:1000;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v3 .cbm-muted{color:var(--cbm-muted);font-size:12px;font-weight:800;}

/* ===== Voucher list (overview) ===== */
.cb-member-wrap.cb-member-v3 .cbm-voucher-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.cb-member-wrap.cb-member-v3 .cbm-vc{
  border:1px dashed rgba(17,24,39,.20);
  border-radius:16px;
  padding:14px;
  display:flex;
  gap:12px;
  background:#fff;
}
.cb-member-wrap.cb-member-v3 .cbm-vc-ico{
  width:40px;height:40px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--cbm-accent);
  color:#fff;font-size:18px;
  flex:0 0 auto;
}
.cb-member-wrap.cb-member-v3 .cbm-vc-title{font-weight:1000;color:var(--cbm-text);font-size:14px;line-height:1.2;margin-bottom:6px;}
.cb-member-wrap.cb-member-v3 .cbm-vc-sub,
.cb-member-wrap.cb-member-v3 .cbm-vc-meta{font-size:12px;color:var(--cbm-muted);font-weight:800;margin-bottom:4px;}
.cb-member-wrap.cb-member-v3 .cbm-vc-meta strong{color:var(--cbm-text);}
.cb-member-wrap.cb-member-v3 .cbm-vc-code{
  margin-top:10px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.cb-member-wrap.cb-member-v3 .cbm-vc-codeval{
  font-weight:1000;letter-spacing:.4px;color:var(--cbm-text);
  background:#f9fafb;border:1px solid rgba(17,24,39,.10);
  border-radius:12px;padding:8px 10px;
}
.cb-member-wrap.cb-member-v3 .cbm-copy{
  border:1px solid rgba(17,24,39,.12);
  background:#fff;
  border-radius:12px;
  padding:8px 10px;
  font-weight:1000;
  font-size:12px;
  cursor:pointer;
  color:var(--cbm-text);
}
.cb-member-wrap.cb-member-v3 .cbm-copy:hover{background:#f9fafb;}
.cb-member-wrap.cb-member-v3 .cbm-copy.is-done{
  border-color:rgba(46,107,46,.25);
  background:rgba(46,107,46,.10);
  color:#2e6b2e;
}

/* ===== Rank / progress ===== */
.cb-member-wrap.cb-member-v3 .cbm-rank-area{
  border-top:1px solid rgba(17,24,39,.08);
  padding-top:14px;
  margin-top:10px;
}
.cb-member-wrap.cb-member-v3 .cbm-rank-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;}
.cb-member-wrap.cb-member-v3 .cbm-rank-head h3{margin:0;font-size:16px;font-weight:1000;color:var(--cbm-text);}

.cb-member-wrap.cb-member-v3 .cbm-rank-cards{
  display:flex;
  gap:12px;
  overflow:auto;
  padding-bottom:6px;
}
.cb-member-wrap.cb-member-v3 .cbm-rank-card{
  min-width:160px;
  border-radius:16px;
  padding:12px 12px;
  border:1px solid rgba(17,24,39,.10);
  background:linear-gradient(135deg,#ffffff,#f7f7f8);
  position:relative;
}
.cb-member-wrap.cb-member-v3 .cbm-rank-card.is-current{
  border-color:rgba(225,29,46,.25);
  background:linear-gradient(135deg,rgba(225,29,46,.10),#fff);
}
.cb-member-wrap.cb-member-v3 .cbm-rank-card.is-done:not(.is-current){
  background:linear-gradient(135deg,rgba(46,107,46,.10),#fff);
  border-color:rgba(46,107,46,.18);
}
.cb-member-wrap.cb-member-v3 .cbm-rank-name{font-weight:1000;color:var(--cbm-text);margin-bottom:6px;}
.cb-member-wrap.cb-member-v3 .cbm-rank-meta{font-size:12px;color:var(--cbm-muted);font-weight:800;}
.cb-member-wrap.cb-member-v3 .cbm-rank-tag{
  margin-top:10px;
  display:inline-flex;align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(225,29,46,.10);
  color:var(--cbm-accent);
  font-weight:1000;
  font-size:12px;
  border:1px solid rgba(225,29,46,.18);
}
.cb-member-wrap.cb-member-v3 .cbm-rank-tag--ghost{
  background:#fff;
  border-color:rgba(17,24,39,.10);
  color:var(--cbm-muted);
}

.cb-member-wrap.cb-member-v3 .cbm-progress{margin-top:10px;}
.cb-member-wrap.cb-member-v3 .cbm-progress-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:var(--cbm-muted);font-weight:900;margin-bottom:8px;}
.cb-member-wrap.cb-member-v3 .cbm-progress-top strong{color:var(--cbm-text);}
.cb-member-wrap.cb-member-v3 .cbm-progress-pct{color:var(--cbm-accent);font-weight:1000;}
.cb-member-wrap.cb-member-v3 .cbm-bar{
  height:10px;border-radius:999px;background:#eef0f2;border:1px solid rgba(17,24,39,.08);
  overflow:hidden;
}
.cb-member-wrap.cb-member-v3 .cbm-bar-in{
  height:100%;
  background:linear-gradient(90deg,var(--cbm-accent),#ff6b75);
  border-radius:999px;
}

/* ===== Rule / perks ===== */
.cb-member-wrap.cb-member-v3 .cbm-rule-area{
  margin-top:14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.cb-member-wrap.cb-member-v3 .cbm-rule{
  border:1px solid rgba(17,24,39,.10);
  border-radius:16px;
  padding:14px;
  display:flex;
  gap:12px;
  background:#fff;
}
.cb-member-wrap.cb-member-v3 .cbm-rule-ico{
  width:38px;height:38px;border-radius:14px;
  background:rgba(225,29,46,.10);
  border:1px solid rgba(225,29,46,.18);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
  flex:0 0 auto;
}
.cb-member-wrap.cb-member-v3 .cbm-rule-title{font-weight:1000;color:var(--cbm-text);margin-bottom:4px;}
.cb-member-wrap.cb-member-v3 .cbm-rule-text{font-size:12px;color:var(--cbm-muted);font-weight:800;line-height:1.35;}

.cb-member-wrap.cb-member-v3 .cbm-perk{
  border:1px solid rgba(17,24,39,.10);
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.cb-member-wrap.cb-member-v3 .cbm-perk-head{font-weight:1000;color:var(--cbm-text);margin-bottom:10px;}
.cb-member-wrap.cb-member-v3 .cbm-perk-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.cb-member-wrap.cb-member-v3 .cbm-perk-list li{display:flex;gap:10px;align-items:flex-start;}
.cb-member-wrap.cb-member-v3 .cbm-perk-ico{
  width:26px;height:26px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(225,29,46,.10);
  border:1px solid rgba(225,29,46,.18);
  flex:0 0 auto;
}
.cb-member-wrap.cb-member-v3 .cbm-perk-list strong{display:block;color:var(--cbm-text);font-weight:1000;}
.cb-member-wrap.cb-member-v3 .cbm-perk-list .cbm-muted{display:block;margin-top:2px;}

/* Tables / existing panes keep styles from v91 (cbm-table, etc.) */

/* Responsive */
@media (max-width: 1100px){
  .cb-member-wrap.cb-member-v3 .cbm-summary{grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:auto;}
  .cb-member-wrap.cb-member-v3 .cbm-sum-channel{grid-column:1 / -1;}
  .cb-member-wrap.cb-member-v3 .cbm-rule-area{grid-template-columns:1fr;}
}
@media (max-width: 980px){
  .cb-member-wrap.cb-member-v3 .cbm-layout{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v3 .cbm-sidebar{display:flex;gap:10px;overflow:auto;white-space:nowrap;}
  .cb-member-wrap.cb-member-v3 .cbm-nav{width:auto;flex:0 0 auto;}
  .cb-member-wrap.cb-member-v3 .cbm-side-head{display:none;}
  .cb-member-wrap.cb-member-v3 .cbm-voucher-list{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v3 .cbm-rule-area{grid-template-columns:1fr;}
}
@media (max-width: 520px){
  .cb-member-wrap.cb-member-v3 .cbm-summary{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell{border-left:0;border-top:1px solid rgba(17,24,39,.07);}
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell:before{display:none;}
}


/* ===== Shared components for other panes (v3 scope) ===== */
.cb-member-wrap.cb-member-v3 .cbm-table{width:100%;border-collapse:separate;border-spacing:0;}
.cb-member-wrap.cb-member-v3 .cbm-table th{font-size:12px;color:var(--cbm-muted);font-weight:1000;text-align:left;padding:10px 10px;border-bottom:1px solid rgba(17,24,39,.10);}
.cb-member-wrap.cb-member-v3 .cbm-table td{padding:12px 10px;border-bottom:1px solid rgba(17,24,39,.10);font-size:14px;color:var(--cbm-text);}
.cb-member-wrap.cb-member-v3 .cbm-table tr:hover td{background:#fafafa;}

.cb-member-wrap.cb-member-v3 .cbm-voucher-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px;}
.cb-member-wrap.cb-member-v3 .cbm-voucher{border:1px dashed rgba(17,24,39,.20);border-radius:16px;padding:14px;background:#fff;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-title{font-weight:1000;color:var(--cbm-text);font-size:14px;line-height:1.25;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-badge{font-size:12px;font-weight:1000;color:var(--cbm-accent);background:rgba(225,29,46,.08);border:1px solid rgba(225,29,46,.18);border-radius:999px;padding:6px 10px;white-space:nowrap;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-code{font-weight:1000;letter-spacing:.4px;color:var(--cbm-text);font-size:14px;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-meta{display:grid;gap:6px;color:var(--cbm-muted);font-size:12px;font-weight:800;}
.cb-member-wrap.cb-member-v3 .cbm-voucher-meta strong{color:var(--cbm-text);}

.cb-member-wrap.cb-member-v3 .cbm-info{border-radius:14px;border:1px solid rgba(17,24,39,.10);background:#f9fafb;color:var(--cbm-text);padding:10px 12px;font-weight:900;margin:0 0 12px;}
.cb-member-wrap.cb-member-v3 .cbm-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.cb-member-wrap.cb-member-v3 .cbm-list li{border:1px solid rgba(17,24,39,.10);border-radius:14px;background:#fff;padding:12px;}
.cb-member-wrap.cb-member-v3 .cbm-list li strong{display:block;color:var(--cbm-text);font-weight:1000;margin-bottom:4px;}
.cb-member-wrap.cb-member-v3 .cbm-list li .cbm-muted{display:block;color:var(--cbm-muted);font-size:12px;font-weight:800;}

.cb-member-wrap.cb-member-v3 .cbm-account-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;}
.cb-member-wrap.cb-member-v3 .cbm-account-card{border:1px solid rgba(17,24,39,.10);border-radius:16px;background:#fff;padding:14px;}
.cb-member-wrap.cb-member-v3 .cbm-account-card h3{margin:0 0 10px;font-size:16px;font-weight:1000;color:var(--cbm-text);}

@media (max-width: 1100px){
  .cb-member-wrap.cb-member-v3 .cbm-voucher-grid{grid-template-columns:1fr;}
}
@media (max-width: 980px){
  .cb-member-wrap.cb-member-v3 .cbm-account-grid{grid-template-columns:1fr;}
}


/* Page head */
.cb-member-wrap.cb-member-v3 .cbm-pagehead{margin:0 0 10px;}
.cb-member-wrap.cb-member-v3 .cbm-pagehead h1{margin:0 0 4px;font-size:26px;line-height:1.15;color:var(--cbm-text);font-weight:1000;letter-spacing:-.2px;}
.cb-member-wrap.cb-member-v3 .cbm-pagehead p{margin:0;color:var(--cbm-muted);font-size:13px;font-weight:800;}


/* =========================
   Member Portal (v94) - Typography tuning
   - Roboto everywhere
   - Softer weights like the reference UI
   Scope: .cb-member-wrap.cb-member-v3
   ========================= */

.cb-member-wrap.cb-member-v3,
.cb-member-wrap.cb-member-v3 *{
  font-family: Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}

.cb-member-wrap.cb-member-v3{font-weight:400;}

/* Key headings / values */
.cb-member-wrap.cb-member-v3 .cbm-pagehead h1,
.cb-member-wrap.cb-member-v3 .cbm-section-head h2,
.cb-member-wrap.cb-member-v3 .cbm-sum-name,
.cb-member-wrap.cb-member-v3 .cbm-stat-val,
.cb-member-wrap.cb-member-v3 .cbm-brand-name,
.cb-member-wrap.cb-member-v3 .cbm-brand-fallback,
.cb-member-wrap.cb-member-v3 .cbm-vc-title,
.cb-member-wrap.cb-member-v3 .cbm-vc-codeval,
.cb-member-wrap.cb-member-v3 .cbm-rank-head h3,
.cb-member-wrap.cb-member-v3 .cbm-rank-name,
.cb-member-wrap.cb-member-v3 .cbm-rule-title,
.cb-member-wrap.cb-member-v3 .cbm-perk-head,
.cb-member-wrap.cb-member-v3 .cbm-voucher-title,
.cb-member-wrap.cb-member-v3 .cbm-voucher-code,
.cb-member-wrap.cb-member-v3 .cbm-list li strong,
.cb-member-wrap.cb-member-v3 .cb-member-card .cb-mc-title,
.cb-member-wrap.cb-member-v3 .cb-member-card .cb-mc-name{font-weight:700;}

/* Buttons / navigation */
.cb-member-wrap.cb-member-v3 .cbm-topbtn,
.cb-member-wrap.cb-member-v3 .cbm-nav,
.cb-member-wrap.cb-member-v3 .cbm-chip,
.cb-member-wrap.cb-member-v3 .cbm-copy,
.cb-member-wrap.cb-member-v3 .cbm-channel-head,
.cb-member-wrap.cb-member-v3 .cbm-side-head,
.cb-member-wrap.cb-member-v3 .cb-eye,
.cb-member-wrap.cb-member-v3 .cb-field label{font-weight:500;}

.cb-member-wrap.cb-member-v3 .cbm-topbtn.is-active,
.cb-member-wrap.cb-member-v3 .cbm-nav.is-active{font-weight:700;}

.cb-member-wrap.cb-member-v3 .cbm-dot,
.cb-member-wrap.cb-member-v3 .cbm-topdot,
.cb-member-wrap.cb-member-v3 .cbm-rank-tag,
.cb-member-wrap.cb-member-v3 .cbm-progress-pct{font-weight:700;}

/* Labels / muted text */
.cb-member-wrap.cb-member-v3 .cbm-sum-sub,
.cb-member-wrap.cb-member-v3 .cbm-muted,
.cb-member-wrap.cb-member-v3 .cbm-stat-lbl,
.cb-member-wrap.cb-member-v3 .cbm-stat-sub,
.cb-member-wrap.cb-member-v3 .cbm-vc-sub,
.cb-member-wrap.cb-member-v3 .cbm-vc-meta,
.cb-member-wrap.cb-member-v3 .cbm-voucher-meta,
.cb-member-wrap.cb-member-v3 .cbm-rank-meta,
.cb-member-wrap.cb-member-v3 .cbm-rule-text,
.cb-member-wrap.cb-member-v3 .cbm-progress-top,
.cb-member-wrap.cb-member-v3 .cbm-pagehead p{font-weight:400;}

/* Alerts and small notices */
.cb-member-wrap.cb-member-v3 .cbm-alert,
.cb-member-wrap.cb-member-v3 .cb-alert{font-weight:500;}

/* Old shared components used inside portal */
.cb-member-wrap.cb-member-v3 .cb-item .cb-val{font-weight:500;}
.cb-member-wrap.cb-member-v3 .cb-btn{font-weight:700;}
.cb-member-wrap.cb-member-v3 .cb-member-card .cb-mc-code{font-weight:400;}


/* Line icons (outline) */
.cb-member-wrap.cb-member-v3 .cbm-stat-ico,
.cb-member-wrap.cb-member-v3 .cbm-nav-ico,
.cb-member-wrap.cb-member-v3 .cbm-topico{
  font-size:0;
  color:#111827;
}
.cb-member-wrap.cb-member-v3 .cbm-stat-ico svg,
.cb-member-wrap.cb-member-v3 .cbm-nav-ico svg,
.cb-member-wrap.cb-member-v3 .cbm-topico svg{
  width:18px;
  height:18px;
  display:block;
}
.cb-member-wrap.cb-member-v3 .cbm-nav.is-active .cbm-nav-ico,
.cb-member-wrap.cb-member-v3 .cbm-topbtn.is-active .cbm-topico{
  color:var(--cbm-accent);
}


/* Force login button text white (avoid theme/elementor override) */
.cb-member-wrap .cb-auth-actions .cb-btn,
.cb-member-wrap .cb-auth-actions .cb-btn:hover,
.cb-member-wrap .cb-auth-actions .cb-btn:focus,
.cb-member-wrap .cb-auth-actions .cb-btn:active{
  color:#fff !important;
}


/* v14 hotfix: remove rank progress bar (was causing overlay in some environments) */
.cb-member-wrap.cb-member-v3 .cbm-progress,
.cb-member-wrap.cb-member-v3 .cbm-bar,
.cb-member-wrap.cb-member-v3 .cbm-bar-in{display:none !important; height:0 !important; border:0 !important; padding:0 !important; margin:0 !important;}


/* =========================
   Member Portal (v99) - Mobile optimizations
   - Keep desktop as-is
   - Make mobile layout clean & readable
   Scope: .cb-member-wrap.cb-member-v3
   ========================= */

@media (max-width: 768px){
  .cb-member-wrap.cb-member-v3{padding:16px 10px;}

  /* Page title */
  .cb-member-wrap.cb-member-v3 .cbm-pagehead{margin:0 0 10px;}
  .cb-member-wrap.cb-member-v3 .cbm-pagehead h1{font-size:22px;}
  .cb-member-wrap.cb-member-v3 .cbm-pagehead p{font-size:12px;}

  /* Summary: stack into one column sooner (phones + small tablets) */
  .cb-member-wrap.cb-member-v3 .cbm-summary{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell{padding:14px 14px;}
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell{border-left:0;border-top:1px solid rgba(17,24,39,.07);} 
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell:before{display:none;}
  .cb-member-wrap.cb-member-v3 .cbm-avatar-lg{width:54px;height:54px;}
  .cb-member-wrap.cb-member-v3 .cbm-sum-name{font-size:15px;}
  .cb-member-wrap.cb-member-v3 .cbm-stat-val{font-size:18px;}

  /* Top shortcuts: make buttons breathe, avoid cramped center align */
  .cb-member-wrap.cb-member-v3 .cbm-topnav{padding:10px;gap:8px;}
  .cb-member-wrap.cb-member-v3 .cbm-topbtn{justify-content:flex-start;font-size:13px;padding:10px 12px;}
  .cb-member-wrap.cb-member-v3 .cbm-topico{width:30px;height:30px;}

  /* Layout spacing on small screens */
  .cb-member-wrap.cb-member-v3 .cbm-layout{gap:10px;}
  .cb-member-wrap.cb-member-v3 .cbm-main{padding:12px;}

  /* Vouchers: stack content to avoid tight rows */
  .cb-member-wrap.cb-member-v3 .cbm-vc{flex-direction:column;align-items:flex-start;}
  .cb-member-wrap.cb-member-v3 .cbm-vc-ico{width:36px;height:36px;border-radius:12px;}
  .cb-member-wrap.cb-member-v3 .cbm-vc-code{flex-wrap:wrap;justify-content:flex-start;}
  .cb-member-wrap.cb-member-v3 .cbm-vc-codeval{width:100%;text-align:center;}
  .cb-member-wrap.cb-member-v3 .cbm-copy{width:100%;}

  /* Tables: allow horizontal scroll (history) */
  .cb-member-wrap.cb-member-v3 .cbm-pane[data-pane="history"]{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .cb-member-wrap.cb-member-v3 .cbm-pane[data-pane="history"] .cbm-table{min-width:680px;}
}

@media (max-width: 980px){
  /* Hide duplicate sidebar on mobile/tablet (top shortcuts are the primary nav) */
  .cb-member-wrap.cb-member-v3 .cbm-layout{grid-template-columns:1fr;}
  .cb-member-wrap.cb-member-v3 .cbm-sidebar{display:none !important;}
}

@media (max-width: 420px){
  .cb-member-wrap.cb-member-v3 .cbm-topbtn{font-size:12.5px;}
  .cb-member-wrap.cb-member-v3 .cbm-topico{width:28px;height:28px;}
  .cb-member-wrap.cb-member-v3 .cbm-chip{padding:6px 9px;font-size:11.5px;}
}

/* =========================
   Mobile optimization (v17)
   ========================= */
@media (max-width: 980px){
  /* Break out of theme containers on mobile and remove side empty space */
  .cb-member-wrap.cb-member-v3{
    padding:14px 10px;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
  }
  .cb-member-wrap.cb-member-v3 .cb-member-container{
    max-width:100% !important;
    width:100% !important;
    margin:0 !important;
  }
  /* Mobile uses top tabs only (avoid duplicate navigation) */
  .cb-member-wrap.cb-member-v3 .cbm-layout{grid-template-columns:1fr !important;}
  .cb-member-wrap.cb-member-v3 .cbm-sidebar{display:none !important;}
}

@media (max-width: 640px){
  /* Top tabs as one-row scroll (easier to use on small screens) */
  .cb-member-wrap.cb-member-v3 .cbm-topnav{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:10px;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .cb-member-wrap.cb-member-v3 .cbm-topnav::-webkit-scrollbar{display:none;}
  .cb-member-wrap.cb-member-v3 .cbm-topbtn{
    flex:0 0 auto;
    width:auto !important;
    min-width:150px;
    justify-content:flex-start;
    padding:10px 12px;
  }
}

@media (max-width: 520px){
  /* Summary stacked: convert dividers from vertical to horizontal */
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell{padding:14px 14px;}
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell{
    border-left:none !important;
    border-top:1px solid rgba(17,24,39,.07);
  }
  .cb-member-wrap.cb-member-v3 .cbm-sum-cell + .cbm-sum-cell:before{display:none !important;}
}

@media (max-width: 420px){
  .cb-member-wrap.cb-member-v3 .cbm-topbtn{min-width:138px;}
}
