:root{
  --red:#a90000;
  --red2:#c20e0e;
  --gold:#d99a16;
  --gold2:#ffba1a;
  --cream:#fbf7ef;
  --cream2:#f5ead7;
  --ink:#171717;
  --muted:#6f645b;
  --line:#eadfce;
  --green:#2a7a2a;
  --shadow:0 10px 28px rgba(110,67,20,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fffdf9;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
.topbar{
  height:84px;background:linear-gradient(90deg,#850000,#a90000 55%,#8b0000);
  color:#fff;display:flex;align-items:center;gap:28px;padding:0 24px;
  position:sticky;top:0;z-index:30;box-shadow:0 4px 20px rgba(87,0,0,.18)
}
.brand{display:flex;align-items:center;gap:12px;min-width:255px}
.brand img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,215,120,.9)}
.brand strong{font-family:Georgia,serif;font-size:22px;letter-spacing:2px}
.brand span{display:block;font-size:12px;color:#f7d792;margin-top:3px}
.search-wrap{flex:1;max-width:580px;background:white;border-radius:8px;height:44px;display:flex;align-items:center;padding:0 14px;color:#a90000}
.search-wrap input{border:0;outline:0;width:100%;padding:0 10px;background:transparent}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{position:relative;border:0;background:transparent;color:white;font-size:22px;padding:10px}
.icon-btn b{position:absolute;right:2px;top:2px;background:#ff4f4f;border-radius:999px;font-size:10px;min-width:17px;height:17px;line-height:17px}
.profile-chip{display:flex;align-items:center;gap:10px;margin-left:8px}
.avatar{width:40px;height:40px;border-radius:50%;background:#fff;color:#a90000;display:grid;place-items:center;font-weight:800;border:2px solid #f0c66a}
.profile-chip strong{display:block;font-size:14px}
.profile-chip small{color:#ffd17a}

.app-shell{display:flex;min-height:calc(100vh - 84px)}
.sidebar{width:205px;padding:22px 14px;background:#fffdfa;border-right:1px solid var(--line);position:sticky;top:84px;height:calc(100vh - 84px);overflow:auto}
.sidebar nav{display:flex;flex-direction:column;gap:2px}
.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;font-size:14px;color:#302922}
.sidebar nav a span{width:22px;text-align:center;color:#a65f00}
.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#a90000,#c10b0b);color:white}
.sidebar nav a:hover span,.sidebar nav a.active span{color:white}
.sidebar nav a.logout{color:#b50000}
.download-card{margin-top:20px;padding:16px;background:linear-gradient(145deg,#fff4df,#fffaf2);border:1px solid var(--line);border-radius:12px}
.download-card strong{color:#a90000;font-size:13px}
.download-card span{display:block;font-size:11px;line-height:1.5;margin:6px 0 12px}
.store-badges{display:flex;gap:6px;flex-wrap:wrap}
.store-badges em{font-style:normal;background:#111;color:#fff;font-size:9px;padding:7px 8px;border-radius:5px}

.main{flex:1;padding:28px;max-width:1500px;margin:0 auto;width:100%}
.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.page-head h1{margin:0;font-size:34px}
.page-head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.btn{border:0;border-radius:7px;padding:11px 16px;font-weight:700}
.btn-red{background:linear-gradient(90deg,#a90000,#c10d0d);color:#fff}
.btn-outline{background:#fff;border:1px solid #d8c8af;color:#8b1600}
.btn-gold{background:linear-gradient(90deg,#d9910c,#ffb619);color:#fff}
.btn-sm{padding:8px 12px;font-size:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}

.kpi-grid{display:grid;grid-template-columns:1.25fr 1.05fr .9fr 1fr;gap:16px}
.balance-card,.points-card,.tier-card,.promo-card{min-height:184px;padding:22px;position:relative;overflow:hidden}
.balance-card{background:linear-gradient(145deg,#a90000,#cf1010);color:#fff}
.points-card{background:linear-gradient(145deg,#e39a10,#ffb819);color:#fff}
.balance-card .eyebrow,.points-card .eyebrow,.tier-card .eyebrow{font-size:12px;font-weight:800;text-transform:uppercase}
.big-number{font-size:32px;font-weight:900;margin:18px 0 8px}
.big-number small{font-size:16px;font-weight:800}
.card-note{font-size:12px;opacity:.9}
.wallet-emoji,.coin-emoji{position:absolute;right:18px;bottom:22px;font-size:52px;opacity:.9}
.tier-card .tier{font-size:21px;color:#a90000;font-weight:900;margin:18px 0 10px}
.progress{height:9px;background:#f5e2bd;border-radius:999px;overflow:hidden;margin:16px 0 10px}
.progress i{display:block;width:56%;height:100%;background:linear-gradient(90deg,#a90000,#f3bc37)}
.promo-card{background:linear-gradient(145deg,#21130b,#4b2412);color:#fff;display:flex;flex-direction:column;justify-content:center}
.promo-card:after{content:"🥟";font-size:85px;position:absolute;right:10px;bottom:-10px;filter:drop-shadow(0 10px 8px rgba(0,0,0,.25))}
.promo-card h3{font-family:Georgia,serif;font-size:24px;line-height:1.12;margin:0 0 12px;max-width:65%}
.promo-card p{font-size:12px;max-width:62%}

.section{margin-top:18px;padding:18px}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.section-title h2{font-size:15px;margin:0;text-transform:uppercase}
.section-title a{font-size:12px;color:#a90000;font-weight:700}
.topup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.topup-box{border:1px solid var(--line);border-radius:9px;background:#fffaf2;padding:14px;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center}
.topup-box .emoji{font-size:28px}
.topup-box small{display:block;font-size:11px;color:var(--muted)}
.topup-box strong{font-size:14px}
.topup-box b{display:block;color:#a90000;font-size:11px;margin-top:3px}
.topup-box .btn{grid-column:1/-1;margin-top:6px;padding:8px}

.lower-grid{display:grid;grid-template-columns:1.15fr 1.15fr .9fr;gap:16px;margin-top:16px}
.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f1e7da}
.list-row:first-child{border-top:0}
.row-icon{width:34px;height:34px;border-radius:9px;background:#fff4df;display:grid;place-items:center;font-size:18px}
.list-row .grow{flex:1}
.list-row strong{font-size:13px}
.list-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.value{font-weight:900;font-size:12px;white-space:nowrap}
.value.plus{color:var(--green)}
.value.minus{color:#b50000}

.reward-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #f1e7da}
.reward-row:first-child{border-top:0}
.reward-img{width:58px;height:58px;border-radius:8px;background:#f8ead7;display:grid;place-items:center;font-size:30px}
.reward-row .grow{flex:1}
.reward-row strong{font-size:12px;display:block}
.reward-row small{font-size:11px;color:var(--muted)}
.referral-card{padding:22px;text-align:center}
.referral-card .hero{font-size:46px}
.referral-code{display:flex;align-items:center;justify-content:space-between;border:1px dashed #b7a685;padding:12px 16px;border-radius:8px;margin:16px 0;font-size:20px;font-weight:900;color:#315d20}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;padding:0}
.trust-item{padding:18px;display:flex;gap:12px;align-items:center;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item span{font-size:26px}
.trust-item strong{font-size:11px;text-transform:uppercase}
.trust-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}

.menu-layout{display:grid;grid-template-columns:220px 1fr;gap:18px}
.category-card{padding:12px;position:sticky;top:104px;height:max-content}
.category-card a{display:flex;gap:10px;align-items:center;padding:12px;border-radius:8px;font-size:13px}
.category-card a:hover{background:#fff2dd;color:#a90000}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.product-card{overflow:hidden}
.product-visual{height:150px;background:linear-gradient(145deg,#fff4dc,#f7dfba);display:grid;place-items:center;font-size:70px}
.product-body{padding:15px}
.product-body h3{margin:0 0 6px;font-size:16px}
.product-body p{font-size:12px;color:var(--muted);min-height:36px}
.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.price{font-weight:900;color:#a90000}

.wallet-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hero-balance,.hero-points{padding:24px;min-height:200px;border-radius:14px;color:white;position:relative;overflow:hidden}
.hero-balance{background:linear-gradient(145deg,#a90000,#cc1212)}
.hero-points{background:linear-gradient(145deg,#e0980f,#ffb91f)}
.hero-balance .big-number,.hero-points .big-number{font-size:38px}

.rewards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.reward-card{padding:16px;display:flex;gap:14px;align-items:center}
.reward-card .reward-img{width:76px;height:76px;font-size:38px}

.table-card{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
th{background:#fff8ed;color:#6f4a20;font-size:11px;text-transform:uppercase}
.status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#e9f7e6;color:#2b6b2f;font-size:11px;font-weight:800}

.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.field label{font-size:12px;font-weight:800;display:block;margin-bottom:6px}
.field input,.field select{width:100%;border:1px solid #dbcdb8;border-radius:8px;padding:11px 12px;background:#fff}
.profile-card{padding:20px}
.address-card{padding:16px;margin-top:12px;background:#fffaf1;border:1px dashed #d8c39f;border-radius:10px}

.checkout-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
.cart-empty{padding:40px;text-align:center}
.order-summary{padding:18px;position:sticky;top:104px;height:max-content}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}
.summary-row.total{font-size:18px;font-weight:900;border-top:1px solid var(--line);margin-top:8px;padding-top:14px}

.mobile-nav{display:none}

@media (max-width:1100px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .lower-grid{grid-template-columns:1fr 1fr}
  .lower-grid .referral-card{grid-column:1/-1}
  .products-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  body{padding-bottom:72px}
  .topbar{height:72px;padding:0 14px;gap:10px}
  .brand{min-width:0;flex:1}
  .brand img{width:46px;height:46px}
  .brand strong{font-size:18px}
  .brand span{font-size:9px}
  .search-wrap,.profile-chip,.top-actions .icon-btn:first-child{display:none}
  .top-actions{margin-left:0}
  .sidebar{display:none}
  .app-shell{min-height:calc(100vh - 72px)}
  .main{padding:16px 14px 24px}
  .page-head{align-items:flex-start}
  .page-head h1{font-size:27px}
  .kpi-grid,.wallet-page-grid,.lower-grid,.checkout-grid{grid-template-columns:1fr}
  .promo-card{min-height:170px}
  .topup-grid{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2){border-right:0}
  .menu-layout{grid-template-columns:1fr}
  .category-card{position:static;display:flex;overflow:auto;gap:6px;padding:8px}
  .category-card a{white-space:nowrap;background:#fff8ed}
  .products-grid{grid-template-columns:1fr 1fr;gap:10px}
  .product-visual{height:115px;font-size:52px}
  .product-body{padding:11px}
  .product-body h3{font-size:14px}
  .product-body p{font-size:11px}
  .rewards-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .order-summary{position:static}
  .mobile-nav{
    display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:50;
    background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 18px rgba(120,70,10,.08)
  }
  .mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 3px 8px;font-size:10px;color:#704b24}
  .mobile-nav a span{font-size:19px}
  .mobile-nav a.active{color:#a90000;font-weight:900}
}
@media (max-width:420px){
  .products-grid{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--line)}
}


/* ===== 23 DIM SUM V1.1 — LOUD BRANDING ===== */
.topbar{
  min-height:96px;
  height:96px;
  padding-left:22px;
}
.brand{
  min-width:310px;
  gap:14px;
}
.brand img{
  width:72px;
  height:72px;
  border-width:3px;
  box-shadow:0 0 0 3px rgba(255,208,98,.14),0 8px 20px rgba(0,0,0,.18);
}
.brand strong{
  font-size:26px;
  letter-spacing:3px;
}
.brand span{
  font-size:13px;
  letter-spacing:1.5px;
  font-weight:700;
}

.sidebar{
  width:265px;
  top:96px;
  height:calc(100vh - 96px);
  padding-top:0;
  background:
    linear-gradient(180deg,rgba(137,0,0,.985) 0 325px,#fffdfa 325px);
}
.sidebar:before{
  content:"";
  display:block;
  width:210px;
  height:245px;
  margin:18px auto 16px;
  border-radius:18px;
  background:url('../img/23dimsum-logo.jpg') center/cover no-repeat;
  border:2px solid rgba(244,195,83,.75);
  box-shadow:0 16px 36px rgba(92,0,0,.28);
}
.sidebar nav{
  background:#fffdfa;
  border-radius:16px 16px 0 0;
  padding:10px;
}
.sidebar nav a{
  padding:12px 14px;
}
.sidebar .download-card{display:none!important}

.app-shell{min-height:calc(100vh - 96px)}

@media (max-width:1100px){
  .brand{min-width:250px}
  .brand strong{font-size:22px}
  .sidebar{width:230px}
  .sidebar:before{width:185px;height:215px}
}
@media (max-width:760px){
  .topbar{
    height:78px;
    min-height:78px;
    padding:0 12px;
  }
  .brand{
    min-width:0;
    gap:10px;
  }
  .brand img{
    width:54px;
    height:54px;
  }
  .brand strong{
    font-size:19px;
    letter-spacing:1.8px;
  }
  .brand span{
    font-size:9px;
    letter-spacing:.7px;
  }
  .app-shell{min-height:calc(100vh - 78px)}
}


/* =========================================================
   23 DIM SUM V1.2 — APPROVED DESKTOP DIRECTION
   One logo, full red sidebar, bilingual, hidden scrollbars
   ========================================================= */

html,body{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
.category-card::-webkit-scrollbar,
.table-card::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.sidebar,.category-card,.table-card{
  scrollbar-width:none;
  -ms-overflow-style:none;
}

/* Header starts after sidebar: no duplicate logo */
.topbar{
  height:90px;
  min-height:90px;
  margin-left:300px;
  width:calc(100% - 300px);
  padding:0 28px 0 34px;
  background:linear-gradient(90deg,#970000,#a90000 55%,#8d0000);
}
.brand-wordmark{
  min-width:285px;
}
.brand-wordmark strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:32px;
  letter-spacing:3px;
  line-height:1;
}
.brand-wordmark span{
  margin-top:7px;
  font-size:13px;
  letter-spacing:2px;
  color:#efc65d;
}
.search-wrap{
  max-width:520px;
  height:46px;
  border-radius:10px;
}
.app-shell{
  min-height:calc(100vh - 90px);
}

/* Loud logo owns the sidebar */
.sidebar{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  z-index:40;
  width:300px;
  height:100vh;
  padding:14px 14px 22px;
  overflow-y:auto;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 40% 10%,rgba(224,34,18,.28),transparent 35%),
    linear-gradient(180deg,#9d0000,#760000 100%);
  border-right:0;
  box-shadow:8px 0 24px rgba(91,0,0,.08);
}
.sidebar:before{display:none!important}
.sidebar-brand{
  display:block;
  width:100%;
  margin:0 auto 12px;
  padding:0;
}
.sidebar-brand img{
  display:block;
  width:100%;
  max-width:272px;
  aspect-ratio:1/1;
  margin:auto;
  object-fit:cover;
  border-radius:0;
  border:0;
  box-shadow:none;
}
.sidebar nav{
  background:transparent;
  border-radius:0;
  padding:0;
  gap:2px;
}
.sidebar nav a{
  min-height:48px;
  padding:7px 13px;
  border-radius:9px;
  color:#fff;
  gap:12px;
  font-size:14px;
}
.sidebar nav a span{
  width:25px;
  font-size:19px;
  color:#fff3d2;
}
.sidebar nav a b{
  display:block;
  font-weight:700;
  line-height:1.1;
}
.sidebar nav a small{
  display:block;
  margin-top:3px;
  color:#f5c9b5;
  font-size:10px;
  font-weight:500;
}
.sidebar nav a:hover,
.sidebar nav a.active{
  background:linear-gradient(90deg,#ffd36a,#f4bb43);
  color:#5e1600;
}
.sidebar nav a:hover span,
.sidebar nav a.active span{
  color:#a00000;
}
.sidebar nav a:hover small,
.sidebar nav a.active small{
  color:#8e3b13;
}
.sidebar nav a.logout{color:#fff}

/* Main content aligns beside fixed sidebar */
.app-shell{
  margin-left:300px;
}
.main{
  padding:22px 24px 26px;
  max-width:none;
}
.kpi-grid{
  grid-template-columns:1.2fr 1.08fr .9fr 1.05fr;
  gap:16px;
}
.balance-card,.points-card,.tier-card,.promo-card{
  min-height:220px;
}
.eyebrow small{
  display:block;
  margin-top:6px;
  font-size:10px;
  font-weight:600;
  opacity:.92;
}
.section-title h2 small{
  margin-left:8px;
  color:#765640;
  font-size:11px;
  font-weight:600;
  text-transform:none;
}
.promo-card{
  background:
    linear-gradient(90deg,rgba(30,12,5,.92),rgba(54,24,10,.72)),
    radial-gradient(circle at 82% 50%,#6c3a1c,#2c1209);
}
.promo-card:after{
  content:"🥟";
  font-size:100px;
  right:12px;
  bottom:4px;
}
.lower-grid{
  grid-template-columns:1.05fr 1.05fr .9fr;
}
.referral-card{
  text-align:center;
}

/* No app marketing anywhere */
.download-card,.store-badges{display:none!important}

/* Responsive web only */
@media(max-width:1100px){
  .sidebar{width:250px}
  .topbar{margin-left:250px;width:calc(100% - 250px)}
  .app-shell{margin-left:250px}
  .sidebar-brand img{max-width:220px}
  .brand-wordmark{min-width:220px}
  .brand-wordmark strong{font-size:25px}
}
@media(max-width:760px){
  .sidebar{display:none}
  .topbar{
    margin-left:0;
    width:100%;
    height:72px;
    min-height:72px;
    padding:0 14px;
  }
  .app-shell{
    margin-left:0;
    min-height:calc(100vh - 72px);
  }
  .brand-wordmark{
    min-width:0;
    flex:1;
  }
  .brand-wordmark strong{font-size:20px;letter-spacing:1.5px}
  .brand-wordmark span{font-size:9px;letter-spacing:.7px}
  .main{padding:14px}
}


/* =========================================================
   23 DIM SUM V1.4 — SAFE CHINESE TYPOGRAPHY FIX
   Based on V1.2. Layout/logo structure intentionally untouched.
   ========================================================= */

:root{
  --cn-serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","PMingLiU","MingLiU","SimSun",serif;
}

/* Premium Chinese brand tagline */
.brand-cn-tagline{
  font-family:var(--cn-serif)!important;
  font-weight:600!important;
  letter-spacing:3px!important;
  line-height:1.35!important;
  color:#efc75c!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Sidebar English / Chinese on separate lines */
.sidebar nav a b{
  display:block!important;
  min-width:0;
}
.sidebar nav a .nav-en{
  display:block;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1.05;
  white-space:normal;
}
.sidebar nav a .nav-cn{
  display:block!important;
  margin-top:4px!important;
  font-family:var(--cn-serif)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  letter-spacing:.5px!important;
  line-height:1.15!important;
  white-space:normal;
}

/* Dashboard Chinese microcopy */
.cn-inline{
  font-family:var(--cn-serif)!important;
  font-weight:500!important;
  letter-spacing:.45px!important;
}

/* Keep sidebar dimensions exactly stable */
.sidebar-brand,
.sidebar-brand img{
  visibility:visible!important;
  opacity:1!important;
}

/* Hide all visual scrollbars while preserving scrolling */
html,body,.sidebar,.category-card,.table-card{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
.category-card::-webkit-scrollbar,
.table-card::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

@media(max-width:760px){
  .brand-cn-tagline{
    letter-spacing:1.2px!important;
    font-size:9px!important;
  }
}


/* =========================================================
   V1.5 HARD OVERRIDE — visible Chinese font change + logo fix
   ========================================================= */

:root{
  --cn-display:"KaiTi","STKaiti","Kaiti SC","DFKai-SB","FangSong","STFangsong",serif;
}

/* Make tagline visibly calligraphic rather than default sans/serif */
.brand-cn-tagline{
  font-family:var(--cn-display)!important;
  font-size:15px!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:4px!important;
  color:#ffd56a!important;
}

/* Chinese nav now clearly different from English */
.sidebar .nav-cn,
.cn-inline{
  font-family:var(--cn-display)!important;
  font-weight:600!important;
  letter-spacing:.7px!important;
}

/* Guarantee the client logo is visible and large */
.sidebar-brand{
  display:block!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  margin:0 0 14px!important;
  overflow:visible!important;
}
.sidebar-brand img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  max-width:272px!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  margin:0 auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

/* Never reserve a phantom logo block */
.sidebar:before{
  content:none!important;
  display:none!important;
}

/* Keep scrolling, hide every scrollbar */
*{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
*::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}


/* =========================================================
   23 DIM SUM V1.6 — MOBILE REBUILD
   Fix horizontal scroll, stacked cards, mobile logo/header
   ========================================================= */

@media (max-width:760px){

  html, body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }

  body{
    padding-bottom:74px;
    background:#fffaf4;
  }

  .topbar{
    position:relative;
    top:auto;
    margin:0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:18px 16px 16px!important;
    display:grid!important;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand actions"
      "search search";
    gap:14px 10px!important;
    background:linear-gradient(180deg,#970000,#b00000);
    box-shadow:0 6px 16px rgba(117,0,0,.18);
  }

  .brand-wordmark{
    grid-area:brand;
    min-width:0!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }

  .brand-wordmark:before{
    content:"";
    flex:0 0 82px;
    width:82px;
    height:82px;
    border-radius:50%;
    background:url('../img/23dimsum-logo.jpg') center/cover no-repeat;
    border:2px solid #e5ba50;
    box-shadow:0 5px 14px rgba(0,0,0,.2);
  }

  .brand-wordmark div{
    min-width:0;
  }

  .brand-wordmark strong{
    display:block!important;
    font-size:18px!important;
    line-height:1.05!important;
    letter-spacing:1.5px!important;
    white-space:nowrap;
  }

  .brand-cn-tagline{
    display:block!important;
    margin-top:5px!important;
    font-size:9.5px!important;
    letter-spacing:1px!important;
    line-height:1.25!important;
  }

  .top-actions{
    grid-area:actions;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    gap:2px!important;
    margin:0!important;
  }

  .top-actions .icon-btn{
    display:inline-flex!important;
    font-size:18px!important;
    padding:7px!important;
  }

  .profile-chip{
    display:none!important;
  }

  .search-wrap{
    grid-area:search;
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    height:44px!important;
    margin:0!important;
    border-radius:999px!important;
  }

  .app-shell{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    min-width:0!important;
  }

  .main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:14px 12px 24px!important;
    overflow:hidden!important;
  }

  .page-head{
    display:none!important;
  }

  /* dashboard cards become proper mobile blocks */
  .kpi-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .balance-card,
  .points-card,
  .tier-card,
  .promo-card{
    width:100%!important;
    min-width:0!important;
    min-height:178px!important;
    padding:16px!important;
    border-radius:14px!important;
  }

  .balance-card .eyebrow,
  .points-card .eyebrow,
  .tier-card .eyebrow{
    font-size:10px!important;
    line-height:1.25!important;
  }

  .big-number{
    font-size:27px!important;
    line-height:1.05!important;
    margin:14px 0 8px!important;
    word-break:normal!important;
  }

  .big-number small{
    font-size:13px!important;
  }

  .card-note{
    font-size:10px!important;
    line-height:1.35!important;
  }

  .wallet-emoji,
  .coin-emoji{
    font-size:38px!important;
    right:8px!important;
    bottom:10px!important;
  }

  .tier-card .tier{
    font-size:16px!important;
    line-height:1.2!important;
    margin:12px 0 8px!important;
  }

  .tier-card p,
  .tier-card small{
    font-size:10px!important;
  }

  .promo-card{
    justify-content:flex-start!important;
  }

  .promo-card h3{
    max-width:100%!important;
    font-size:18px!important;
    line-height:1.1!important;
    margin-bottom:9px!important;
  }

  .promo-card p{
    max-width:75%!important;
    font-size:10px!important;
  }

  .promo-card:after{
    font-size:58px!important;
    right:2px!important;
    bottom:0!important;
  }

  .balance-card .btn,
  .points-card .btn,
  .promo-card .btn{
    font-size:10px!important;
    padding:8px 10px!important;
    margin-top:10px!important;
  }

  /* topup cards: 2 columns on mobile, no sideways scroll */
  .section{
    width:100%!important;
    min-width:0!important;
    padding:14px!important;
    margin-top:12px!important;
  }

  .section-title{
    gap:8px!important;
    align-items:flex-start!important;
  }

  .section-title h2{
    font-size:13px!important;
    line-height:1.25!important;
  }

  .section-title h2 small{
    display:block!important;
    margin:3px 0 0!important;
    font-size:9.5px!important;
  }

  .section-title a{
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .topup-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  .topup-box{
    display:grid!important;
    grid-template-columns:34px 1fr!important;
    width:100%!important;
    min-width:0!important;
    padding:12px 10px!important;
  }

  .topup-box .emoji{
    font-size:24px!important;
  }

  .topup-box small{
    font-size:9px!important;
  }

  .topup-box strong{
    font-size:12px!important;
    line-height:1.15!important;
  }

  .topup-box b{
    font-size:9.5px!important;
  }

  .topup-box .btn{
    width:100%!important;
    font-size:10px!important;
  }

  /* lower content all stacked */
  .lower-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  .lower-grid > *{
    width:100%!important;
    min-width:0!important;
  }

  .list-row,
  .reward-row{
    min-width:0!important;
    gap:9px!important;
  }

  .list-row .grow,
  .reward-row .grow{
    min-width:0!important;
  }

  .list-row strong,
  .reward-row strong{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .value{
    font-size:10px!important;
  }

  .referral-card{
    padding:16px!important;
  }

  .referral-card .hero{
    font-size:38px!important;
  }

  .referral-code{
    font-size:17px!important;
    padding:10px!important;
  }

  .trust-strip{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }

  .trust-item{
    min-width:0!important;
    padding:12px!important;
  }

  /* other pages */
  .wallet-page-grid,
  .rewards-grid,
  .checkout-grid,
  .form-grid{
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .products-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }

  .menu-layout{
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .category-card{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
  }

  .table-card{
    max-width:100%!important;
    overflow-x:auto!important;
  }

  table{
    min-width:620px;
  }

  /* Bottom nav */
  .mobile-nav{
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    z-index:60!important;
  }
}

/* Narrow phones */
@media (max-width:430px){
  .topbar{
    padding:14px 12px 13px!important;
  }

  .brand-wordmark:before{
    flex-basis:72px;
    width:72px;
    height:72px;
  }

  .brand-wordmark strong{
    font-size:16px!important;
    letter-spacing:1px!important;
  }

  .brand-cn-tagline{
    font-size:8.5px!important;
  }

  .kpi-grid{
    grid-template-columns:1fr!important;
  }

  .balance-card,
  .points-card,
  .tier-card,
  .promo-card{
    min-height:155px!important;
  }

  .topup-grid{
    grid-template-columns:1fr!important;
  }

  .products-grid{
    grid-template-columns:1fr!important;
  }

  .trust-strip{
    grid-template-columns:1fr!important;
  }
}
