
:root{
  --font-display:'Kanit', system-ui, sans-serif;
  /* shared accents */
  --blue:#5c8ed3;
}

/* ============ THEME TOKENS ============ */
[data-theme="dark"]{
  --bg:#0c0c0d;
  --bg-grad:
    radial-gradient(135% 68% at 38% -14%, rgba(255,186,35,0.13) 0%, rgba(255,176,40,0.045) 30%, rgba(255,176,40,0) 56%),
    radial-gradient(120% 60% at 50% -8%, #1c1a14 0%, #14151a 44%, #0c0c0d 100%);
  --statusbar-text:#ffffff;
  --text:#ffffff;
  --text-muted:#8b8c92;
  --text-dim:#6c6d73;

  --gold:#ffba23;
  --avail-gold:#ffba23;
  --see-all:#ffba23;

  --gc-card-grad:
    radial-gradient(120% 95% at 0% 0%, rgba(58,44,18,0.26) 0%, rgba(30,24,12,0) 40%),
    linear-gradient(150deg, #15130d 0%, #11121a 40%, #0b0c15 72%, #07080e 100%);
  --glow-bg:radial-gradient(ellipse 50% 48% at 31% 26%, rgba(240,196,92,0.15) 0%, rgba(240,196,92,0.045) 44%, rgba(240,196,92,0) 72%);
  --gc-border:rgba(255,205,130,0.14);
  --gc-shadow:inset 0 1px 0 rgba(255,216,142,0.10), inset 0 0 0 1px rgba(255,255,255,0.015), 0 22px 48px -20px rgba(0,0,0,0.95);
  --gc-title:#c4ae7d;
  --grams:#ffba23;
  --grams-glow:drop-shadow(0 0 20px rgba(255,176,40,0.42));
  --myr:#dcdce0;
  --updated:#7b7c82;
  --pattern-color:#cba12e;
  --pattern-url:url('assets/dark-pattern.svg');
  --pattern-opacity:0.55;

  --pure-bg:linear-gradient(180deg,#2b2615,#231e10);
  --pure-border:rgba(246,198,71,0.16);
  --pure-text:#f6c647;
  --pure-shadow:inset 0 1px 0 rgba(255,214,130,0.16), 0 0 10px rgba(255,186,35,0.10);

  --subcard-bg:linear-gradient(180deg, rgba(255,221,150,0.075) 0%, rgba(255,255,255,0.028) 22%, rgba(255,255,255,0.012) 100%);
  --subcard-border:rgba(255,255,255,0.08);
  --subcard-shadow:inset 0 1px 0 rgba(255,216,150,0.16);
  --pc-label:#9b9ca2;

  --action-bg:linear-gradient(180deg, rgba(255,255,255,0.052), rgba(255,255,255,0.018));
  --action-border:rgba(255,255,255,0.06);
  --action-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
  --action-icon:#ffffff;
  --action-label:#f3f3f5;

  --bell-bg:rgba(255,255,255,0.10);
  --bell-icon:#ffffff;

  --activity-icon-bg:#212227;
  --neutral-icon:#cfcfd4;

  --green:#28d787;
  --red:#e05555;
  --trend-green:#28d787;
  --trend-red:#e05555;
  --trend-gold:#ffba23;
  --live-red:#e05855;
  --ar-sub:#7b7c82;

  --tab-bg:#100f0e;
  --tab-border:linear-gradient(90deg, rgba(255,186,35,0) 0%, rgba(255,186,35,0.45) 50%, rgba(255,186,35,0) 100%);
  --tab-inactive:#7f8086;
  --tab-active:#ffba23;

  --indicator:rgba(255,255,255,0.9);

  /* settings */
  --set-card-bg:#15161b;
  --set-card-border:rgba(255,255,255,0.06);
  --set-row-border:rgba(255,255,255,0.06);
  --set-group-label:#8b8c92;
  --set-rowicon-bg:rgba(255,186,35,0.12);
  --logout-bg:rgba(224,85,85,0.12);
  --logout-text:#e05555;
  --track-off:#2a2b31;
  --track-on:#3a2f12;
  --gold-grad:linear-gradient(103deg, #d99a28 0%, #ffc636 48%, #c87914 100%);
  --gold-grad-text:#3a2807;
  --buy-card:#1d2024;
  --buy-card-border:rgba(255,255,255,0.05);
  --buy-inset:#0e1014;
  --buy-inset-border:rgba(255,255,255,0.06);
  --buy-tabbar-bg:#1a1c20;
  --buy-divider:rgba(255,255,255,0.07);
  --buy-label:#8b8c92;
  --buy-seg-inactive:#33363b;
  --seg-active-border:rgba(255,255,255,0.22);
  --field-grad:linear-gradient(180deg,#181b21 0%,#0d0f13 100%);
  --sheet-bg:#141519;
  --otp-tray:#0f1014;
}
[data-theme="light"]{
  --bg:#fffaf0;
  --bg-grad:
    radial-gradient(135% 66% at 38% -14%, rgba(214,168,60,0.22) 0%, rgba(214,168,60,0.06) 32%, rgba(214,168,60,0) 58%),
    linear-gradient(180deg, #fff4d8 0%, #fffaf0 32%, #fffaf0 70%, #fffdf6 100%);
  --statusbar-text:#1a1712;
  --text:#1c1812;
  --text-muted:#938b78;
  --text-dim:#a59c87;

  --gold:#927121;
  --avail-gold:#927121;
  --see-all:#927121;

  --gc-card-grad:
    linear-gradient(156deg, #fff3d2 0%, #fffaef 60%, #fffdf7 100%);
  --glow-bg:radial-gradient(ellipse 52% 50% at 33% 27%, rgba(248,216,128,0.34) 0%, rgba(248,216,128,0.10) 42%, rgba(248,216,128,0) 70%);
  --gc-border:rgba(146,113,33,0.20);
  --gc-shadow:inset 0 1px 0 rgba(255,255,255,0.7), 0 16px 34px -18px rgba(170,130,40,0.30);
  --gc-title:#3c352a;
  --grams:#1c1812;
  --grams-glow:none;
  --myr:#2a261d;
  --updated:#9a917d;
  --pattern-color:#b8901f;
  --pattern-url:url('assets/light-pattern.svg');
  --pattern-opacity:0.5;

  --pure-bg:#3b2c02;
  --pure-border:rgba(255,200,90,0.35);
  --pure-text:#ffc83f;
  --pure-shadow:inset 0 1px 0 rgba(255,214,130,0.30), 0 4px 12px -4px rgba(59,44,2,0.4);

  --subcard-bg:linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(255,250,233,0.46) 100%);
  --subcard-border:rgba(146,113,33,0.18);
  --subcard-shadow:inset 0 1px 0 rgba(255,255,255,0.85);
  --pc-label:#938b78;

  --action-bg:linear-gradient(180deg, #f7f0de, #efe6d0);
  --action-border:rgba(146,113,33,0.12);
  --action-shadow:inset 0 1px 0 rgba(255,255,255,0.7);
  --action-icon:#2a2620;
  --action-label:#2a2620;

  --bell-bg:#f0ebdd;
  --bell-icon:#1c1812;

  --activity-icon-bg:#f1ece0;
  --neutral-icon:#6b6450;

  --green:#009e47;
  --red:#d23131;
  --trend-green:#0a9d4c;
  --trend-red:#d23131;
  --trend-gold:#caa23c;
  --live-red:#d83a3a;
  --ar-sub:#9a917d;

  --tab-bg:#fffcf1;
  --tab-border:linear-gradient(90deg, rgba(146,113,33,0) 0%, rgba(146,113,33,0.4) 50%, rgba(146,113,33,0) 100%);
  --tab-inactive:#9a917d;
  --tab-active:#927121;

  --indicator:rgba(28,24,18,0.85);

  --set-card-bg:#fffdf7;
  --set-card-border:rgba(146,113,33,0.14);
  --set-row-border:rgba(146,113,33,0.12);
  --set-group-label:#938b78;
  --set-rowicon-bg:rgba(146,113,33,0.12);
  --logout-bg:rgba(210,49,49,0.10);
  --logout-text:#c52f2f;
  --track-off:#e7dfcc;
  --track-on:#ffe9b0;
  --gold-grad:linear-gradient(103deg, #d99a28 0%, #ffc636 48%, #c87914 100%);
  --gold-grad-text:#3a2807;
  --buy-card:#fdf7e9;
  --buy-card-border:rgba(146,113,33,0.16);
  --buy-inset:#f1e8d3;
  --buy-inset-border:rgba(146,113,33,0.16);
  --buy-tabbar-bg:#f0e7d2;
  --buy-divider:rgba(146,113,33,0.16);
  --buy-label:#938b78;
  --buy-seg-inactive:#e7dcc3;
  --seg-active-border:rgba(146,113,33,0.32);
  --field-grad:linear-gradient(180deg,#f7efdc 0%,#eee5cf 100%);
  --sheet-bg:#fffdf7;
  --otp-tray:#fbf6ea;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;height:100%;}
body{
  background:#1a1a1c;
  font-family:var(--font-display);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* ============ PHONE FRAME ============ */
#stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(80% 80% at 50% 30%, #232326 0%, #161618 100%);}
#phone-wrap{transform-origin:center center;}
.device{
  width:419px;height:878px;padding:13px;border-radius:58px;
  background:linear-gradient(150deg,#2b2b2e,#0b0b0c);
  box-shadow:0 0 0 2px #050506, 0 30px 80px rgba(0,0,0,0.6), inset 0 0 2px rgba(255,255,255,0.18);
  position:relative;
}
.device-screen{
  width:393px;height:852px;border-radius:46px;overflow:hidden;position:relative;
  background:var(--bg);
  display:flex;flex-direction:column;
  transition:background .25s ease;
}
.device-screen::before{
  content:"";position:absolute;inset:0;background:var(--bg-grad);pointer-events:none;z-index:0;
  transition:background .25s ease;
}

/* status bar */
.statusbar{position:relative;z-index:5;height:50px;flex:0 0 50px;
  display:flex;align-items:center;justify-content:space-between;
  padding:4px 30px 0;color:var(--statusbar-text);}
.sb-time{font-size:16px;font-weight:600;letter-spacing:.3px;}
.sb-right{display:flex;align-items:center;gap:7px;}

/* app body scroll */
.app-body{position:relative;z-index:2;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;}
.app-body::-webkit-scrollbar{width:0;}
.screen{min-height:100%;}
.scroll-area{padding-bottom:8px;}

/* ============ HEADER ============ */
.home-header{display:flex;align-items:center;justify-content:space-between;
  padding:6px 20px 0;gap:10px;}
.hh-left{display:flex;align-items:center;gap:12px;min-width:0;}
.avatar{width:44px;height:44px;border-radius:50%;flex:0 0 44px;
  background:linear-gradient(140deg,#ffd874,#f0a629);
  box-shadow:0 0 0 2px var(--bg), 0 0 0 4px rgba(240,166,41,.55);
  display:grid;place-items:center;color:#4a3402;font-weight:700;font-size:16px;letter-spacing:.5px;}
.hh-greeting{display:flex;flex-direction:column;line-height:1.18;}
.hh-welcome{font-size:12px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.hh-name{font-size:17px;font-weight:600;color:var(--text);margin-top:1px;white-space:nowrap;}
.hh-right{display:flex;align-items:center;gap:12px;}
.hh-balance{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}
.hh-balance-label{font-size:13px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.hh-balance-value{font-size:16px;font-weight:600;color:var(--avail-gold);margin-top:1px;white-space:nowrap;}
.bell-btn{width:44px;height:44px;border-radius:50%;flex:0 0 44px;
  background:var(--bell-bg);color:var(--bell-icon);display:grid;place-items:center;
  transition:transform .12s;}
.bell-btn:active{transform:scale(.92);}

/* ============ GOLD CARD ============ */
.gold-card{position:relative;margin:14px 16px 0;border-radius:24px;padding:16px 16px 14px;
  background:var(--gc-card-grad);border:1px solid var(--gc-border);overflow:hidden;
  box-shadow:var(--gc-shadow);
  transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;}
.gold-card>.card-glow{position:absolute;z-index:0;pointer-events:none;
  width:468px;height:444px;left:-142px;top:-54px;border-radius:50%;
  background:var(--glow-bg);filter:blur(40px);}
.gold-card>.card-pattern{position:absolute;inset:0;width:100%;height:100%;
  background:var(--pattern-url) top right / 315px 145px no-repeat;
  opacity:var(--pattern-opacity);pointer-events:none;z-index:0;}
.gold-card>*{position:relative;z-index:1;}

.gc-toprow{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.gc-titlewrap{display:flex;align-items:center;gap:10px;}
.gc-title{font-size:15px;font-weight:500;letter-spacing:.4px;color:var(--gc-title);white-space:nowrap;}
.live-pill{display:inline-flex;align-items:center;gap:5px;background:var(--live-red);
  color:#fff;font-size:13px;font-weight:500;padding:3px 11px 3px 9px;border-radius:999px;white-space:nowrap;}
.live-dot{width:6px;height:6px;border-radius:50%;background:#fff;}
.pure-pill{display:inline-flex;align-items:center;gap:6px;background:var(--pure-bg);
  color:var(--pure-text);font-size:13px;font-weight:600;padding:5px 13px 5px 11px;border-radius:999px;
  border:1px solid var(--pure-border);box-shadow:var(--pure-shadow);white-space:nowrap;
  flex:0 0 auto;width:max-content;min-width:max-content;line-height:1;}
.pure-pill svg{color:var(--pure-text);flex:0 0 auto;width:21px !important;height:21px !important;display:block;}
.pure-pill span{white-space:nowrap;line-height:1;display:flex;align-items:center;}

.gc-amountrow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:10px;}
.gc-grams{font-size:38px;font-weight:700;line-height:.92;color:var(--grams);letter-spacing:.3px;white-space:nowrap;filter:var(--grams-glow);}
.gc-unit{font-size:30px;font-weight:700;}
.gc-myr{font-size:21px;font-weight:600;color:var(--myr);margin-top:5px;letter-spacing:.4px;white-space:nowrap;}
.gc-updated{font-size:11px;font-weight:400;color:var(--updated);max-width:none;text-align:right;white-space:nowrap;
  line-height:1.2;padding-bottom:5px;}

.gc-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.price-card{background:var(--subcard-bg);border:1px solid var(--subcard-border);border-radius:16px;
  padding:10px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;
  box-shadow:var(--subcard-shadow);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.pc-label{font-size:13px;font-weight:500;letter-spacing:.4px;color:var(--pc-label);white-space:nowrap;}
.pc-value{font-size:20px;font-weight:600;white-space:nowrap;}
.pc-change{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:400;}
.tone-green{color:var(--green);}
.tone-red{color:var(--red);}
.tone-blue{color:var(--blue);}

.gc-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px;}
.gc-actions-3{grid-template-columns:repeat(3,1fr);}
.gc-actions-3 .action-btn{padding:13px 4px 11px;gap:8px;}
.action-btn{background:var(--action-bg);border:1px solid var(--action-border);border-radius:14px;
  padding:9px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;
  box-shadow:var(--action-shadow);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  transition:transform .12s;}
.action-btn:active{transform:scale(.95);}
.ab-icon{color:var(--action-icon);display:grid;place-items:center;height:26px;width:26px;margin:0 auto;}
.ab-label{font-size:14px;font-weight:600;color:var(--action-label);white-space:nowrap;}
.gc-actions-3 .ab-label{font-size:13.5px;}

/* ============ PROMO BANNER ============ */
.promo-wrap{margin:16px 16px 0;position:relative;overflow:hidden;}
.promo-track{display:flex;transition:transform .38s cubic-bezier(.4,0,.2,1);}
.promo-card{flex:0 0 100%;border-radius:18px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#1a1509 0%,#2c1e05 60%,#3d2a0a 100%);
  border:1px solid var(--gc-border);padding:16px 16px 14px;
  display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;
  min-height:108px;box-shadow:var(--gc-shadow);}
.promo-card::before{content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse at 80% 20%,rgba(212,175,55,.18) 0%,transparent 65%);pointer-events:none;}
.promo-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.promo-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;flex-shrink:0;
  border-radius:99px;background:rgba(212,175,55,.16);border:1px solid rgba(212,175,55,.32);
  font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.5px;width:fit-content;}
.promo-title{font-size:15px;font-weight:700;color:#fff;letter-spacing:.3px;line-height:1.25;}
.promo-desc{font-size:12.5px;font-weight:400;color:rgba(255,255,255,.6);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:3px 0;}
.promo-cta-lbl{font-size:13px;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:4px;margin-top:2px;}
.promo-dots{display:flex;justify-content:center;gap:6px;margin-top:9px;}
.promo-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);opacity:.35;transition:.25s;cursor:pointer;}
.promo-dot.active{width:18px;border-radius:3px;background:var(--gold);opacity:1;}

/* offer fixed backdrop */
.offer-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  display:flex;align-items:flex-end;animation:fade .2s ease;}
.offer-sheet-inner{background:var(--sheet-bg);border-radius:26px 26px 0 0;
  border-top:1px solid var(--gc-border);padding:0 0 32px;
  width:100%;max-height:88vh;overflow-y:auto;
  box-shadow:0 -18px 40px -16px rgba(0,0,0,0.6);animation:slideup .28s cubic-bezier(.2,.9,.3,1);}
.offer-sheet-hero{width:100%;height:90px;background:linear-gradient(135deg,#1a1509 0%,#2c1e05 55%,#3d2a0a 100%);
  border-radius:26px 26px 0 0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}.offer-sheet-hero::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 65% 30%,rgba(212,175,55,.26) 0%,transparent 70%);}
.offer-hero-ic{width:54px;height:54px;border-radius:50%;background:rgba(212,175,55,.16);
  border:1px solid rgba(212,175,55,.35);display:grid;place-items:center;color:var(--gold);z-index:1;}
.offer-body{padding:14px 20px 0;}
.offer-sheet-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;
  border-radius:99px;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.28);
  font-size:12px;font-weight:600;color:var(--gold);letter-spacing:.4px;margin-bottom:10px;}
.offer-sheet-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:.3px;margin-bottom:8px;}
.offer-sheet-desc{font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.6;margin-bottom:14px;}
.offer-drow{display:flex;align-items:center;justify-content:space-between;padding:9px 0;
  border-bottom:1px solid var(--set-card-border);}
.offer-drow:last-child{border:none;}
.odr-k{font-size:13px;font-weight:400;color:var(--text-muted);}
.odr-v{font-size:13px;font-weight:600;color:var(--text);}
.offer-tnc{font-size:12px;color:var(--text-muted);line-height:1.5;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--set-card-border);}
.offer-sheet-btns{display:flex;flex-direction:column;gap:10px;margin:14px 0 0;padding:0 20px;width:100%;box-sizing:border-box;}

/* offer applied in buy gold */
.offer-applied-card{margin:12px 0 0;padding:12px 14px;border-radius:14px;
  background:rgba(212,175,55,.10);border:1px solid rgba(212,175,55,.25);display:flex;flex-direction:column;gap:6px;}
.oac-head{display:flex;align-items:center;gap:8px;}
.oac-title{font-size:13px;font-weight:600;color:var(--gold);flex:1;}
.oac-name{font-size:12.5px;font-weight:400;color:var(--text-muted);}
.oac-row{display:flex;justify-content:space-between;align-items:center;margin-top:2px;}
.oac-label{font-size:12.5px;color:var(--text-muted);}
.oac-savings{font-size:13px;font-weight:700;color:var(--gold);}

/* ============ GOLD PRICE TREND ============ */
.trend{margin:16px 18px 0;}
.trend-head{display:flex;align-items:center;justify-content:space-between;}
.trend-head h2{margin:0;font-size:20px;font-weight:600;color:var(--text);white-space:nowrap;}
.trend-range{display:inline-flex;align-items:center;font-size:13px;font-weight:500;color:var(--buy-label);background:var(--buy-tabbar-bg);
  border-radius:8px;padding:6px 12px;white-space:nowrap;}
.trend-filter{display:flex;gap:0;background:var(--buy-tabbar-bg);border-radius:11px;padding:3px;}
.trend-tab{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--buy-label);
  transition:color .12s,background .12s;}
.trend-tab.active{background:var(--subcard-bg);color:var(--text);
  box-shadow:var(--subcard-shadow);}
.trend-card{margin-top:14px;background:var(--set-card-bg);border:1px solid var(--set-card-border);
  border-radius:18px;padding:16px;}
.trend-body{display:flex;align-items:center;gap:14px;}
.trend-left{display:flex;flex-direction:column;flex:1 1 56%;min-width:0;}
.trend-pricelabel{font-size:13px;font-weight:400;color:var(--buy-label);}
.trend-pricerow{display:flex;align-items:baseline;gap:10px;margin-top:6px;flex-wrap:wrap;}
.trend-price{font-size:24px;font-weight:700;color:var(--text);white-space:nowrap;letter-spacing:.2px;}
.trend-unit{font-size:15px;font-weight:500;color:var(--text-muted);margin-left:4px;}
.trend-change{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600;white-space:nowrap;}
.trend-updated{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;
  color:var(--text-muted);margin-top:12px;white-space:nowrap;}
.trend-updated svg{color:var(--text-dim);flex:0 0 auto;}
.trend-chartwrap{flex:0 0 44%;height:88px;}
.trend-svg{display:block;width:100%;height:88px;}
.trend-cta{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:14px;
  padding:11px;border-radius:12px;background:transparent;border:1px solid var(--set-card-border);
  color:var(--gold);font-size:14.5px;font-weight:600;white-space:nowrap;transition:transform .12s;}
.trend-cta:active{transform:scale(.98);}

/* ============ RECENT ACTIVITY ============ */
.recent{margin:16px 18px 0;}
.recent-head{display:flex;align-items:baseline;justify-content:space-between;}
.recent-head h2{margin:0;font-size:21px;font-weight:600;color:var(--text);}
.see-all{font-size:15px;font-weight:600;color:var(--see-all);white-space:nowrap;}
.activity-list{display:flex;flex-direction:column;gap:15px;margin-top:14px;}
.activity-row{display:flex;align-items:center;gap:13px;}
.ai{width:46px;height:46px;border-radius:13px;flex:0 0 46px;display:grid;place-items:center;
  background:var(--activity-icon-bg);}
.ai.tone-green{color:var(--green);}
.ai.tone-red{color:var(--red);}
.ai.tone-neutral{color:var(--neutral-icon);}
.ar-mid{display:flex;flex-direction:column;line-height:1.25;flex:1 1 auto;min-width:0;}
.ar-title{font-size:16px;font-weight:500;color:var(--text);white-space:nowrap;}
.ar-time{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:2px;white-space:nowrap;}
.ar-right{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;}
.ar-amt{font-size:16px;font-weight:600;white-space:nowrap;}
.ar-sub{font-size:13px;font-weight:400;color:var(--ar-sub);margin-top:2px;white-space:nowrap;}

/* ============ TAB BAR ============ */
.tabbar{position:relative;z-index:5;flex:0 0 92px;background:var(--tab-bg);
  display:grid;grid-template-columns:repeat(3,1fr);align-items:start;
  padding:14px 8px 0;transition:background .25s ease;}
.tabbar::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--tab-border);}
.tab-item{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--tab-inactive);
  transition:color .15s;}
.tab-item.active{color:var(--tab-active);}
.tab-label{font-size:12px;font-weight:500;letter-spacing:.8px;}
.home-indicator{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  width:134px;height:5px;border-radius:3px;background:var(--indicator);z-index:6;}

/* ============ SETTINGS ============ */
.settings-screen .scroll-area{padding:0 0 24px;}
.settings-screen.has-foot{min-height:100%;display:flex;flex-direction:column;}
.settings-screen.has-foot .scroll-area{flex:1 1 auto;}
.settings-screen.has-foot .bflow-foot{flex:0 0 auto;}
.set-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 18px;}
.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--text);
  background:var(--bell-bg);}
[data-theme="light"] .icon-btn{background:rgba(146,113,33,0.12);}
[data-theme="light"] .bell-btn{background:rgba(146,113,33,0.12);}
[data-theme="light"] .auth-back{background:rgba(146,113,33,0.12);}
[data-theme="light"] .txh-clear{background:rgba(146,113,33,0.12);}
[data-theme="light"] .pk-clear{background:rgba(146,113,33,0.12);}
.set-title{margin:0;font-size:22px;font-weight:600;color:var(--text);}

.set-profilecard{display:flex;align-items:center;gap:14px;margin:8px 20px 4px;}
.avatar-lg{width:58px;height:58px;flex:0 0 58px;font-size:21px;}
.set-profilemeta{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;}
.set-name{font-size:20px;font-weight:500;color:var(--text);}
.set-email{font-size:14px;font-weight:400;color:var(--text-muted);margin-top:1px;}
.kyc-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;
  color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);
  padding:5px 11px;border-radius:999px;}
.kyc-dot{width:7px;height:7px;border-radius:50%;background:var(--green);}

.set-group{margin:20px 20px 0;}
.set-grouplabel{font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:var(--set-group-label);padding-left:4px;}
.set-card{margin-top:10px;background:var(--set-card-bg);border:1px solid var(--set-card-border);
  border-radius:18px;overflow:hidden;}
.set-row{display:flex;align-items:center;justify-content:space-between;padding:16px 16px;gap:16px;}
.set-row.bordered{border-top:1px solid var(--set-row-border);}
.set-row.link{cursor:pointer;transition:background .12s;}
.set-row.link:active{background:var(--set-row-border);}
.set-rowmain{display:flex;align-items:center;gap:13px;flex:1 1 auto;min-width:0;max-width:calc(100% - 58px);}
.set-rowicon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.set-rowtext{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.set-rowtitle{font-size:15.5px;font-weight:600;color:var(--text);letter-spacing:.2px;white-space:nowrap;}
.set-rowsub{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:1px;}
.set-rowmain .set-rowsub{overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;}
.set-chevron{color:var(--text-dim);display:grid;place-items:center;flex:0 0 auto;}
.set-row .kyc-badge{flex:0 0 auto;}
/* price alerts screen */
.pa-hero{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 20px 24px;text-align:center;flex:1;justify-content:center;min-height:60vh;}
.pa-hero-ic{width:64px;height:64px;border-radius:50%;background:var(--set-rowicon-bg);border:1px solid var(--gc-border);
  display:grid;place-items:center;color:var(--gold);}
.pa-hero-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:.3px;}
.pa-hero-sub{font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.55;max-width:280px;}
.pa-current-card{margin:0 16px;border-radius:18px;background:var(--set-card-bg);border:1px solid var(--set-card-border);
  padding:18px 16px;display:flex;flex-direction:column;gap:14px;}
.pac-top{display:flex;align-items:center;gap:12px;}
.pac-ic{width:42px;height:42px;border-radius:13px;background:var(--set-rowicon-bg);display:grid;place-items:center;color:var(--gold);flex-shrink:0;}
.pac-meta{flex:1;min-width:0;}
.pac-price{font-size:20px;font-weight:700;color:var(--text);letter-spacing:.5px;}
.pac-label{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:1px;}
.pac-status{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:99px;
  font-size:12px;font-weight:600;letter-spacing:.3px;}
.pac-status.on{background:rgba(31,157,87,.14);color:#1f9d57;border:1px solid rgba(31,157,87,.25);}
.pac-status.off{background:var(--set-rowicon-bg);color:var(--text-muted);border:1px solid var(--set-card-border);}
.pac-dot{width:7px;height:7px;border-radius:50%;background:currentColor;}
.pac-divider{height:1px;background:var(--set-card-border);}
.pac-row{display:flex;align-items:center;justify-content:space-between;}
.pac-row-k{font-size:13px;color:var(--text-muted);}
.pac-row-v{font-size:13px;font-weight:600;color:var(--text);}
.pa-actions{display:flex;gap:10px;margin:14px 16px 0;}
.pa-del-btn{flex:1;padding:13px;border-radius:14px;font-size:15px;font-weight:600;
  background:rgba(220,53,69,.10);color:#dc3545;border:1px solid rgba(220,53,69,.20);}

/* price-alert stepper */
.bic-stepper{display:flex;flex-direction:column;justify-content:center;padding:0 14px 0 8px;gap:2px;border-left:1px solid var(--buy-inset-border);}
.bic-step{width:26px;height:22px;border-radius:7px;background:var(--buy-inset);display:grid;place-items:center;
  color:var(--text-muted);transition:.12s;}
.bic-step:active{background:var(--gc-border);color:var(--gold);}

/* referral rewards */
.ref-code-card{margin:16px 16px 0;border-radius:18px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#1a1509 0%,#2c1e05 60%,#3d2a0a 100%);
  border:1px solid var(--gc-border);padding:20px 18px;box-shadow:var(--gc-shadow);}
.ref-code-card::before{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 20%,rgba(212,175,55,.18) 0%,transparent 65%);pointer-events:none;}
.ref-code-label{font-size:12px;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;}
.ref-code-value{font-size:26px;font-weight:700;color:var(--gold);letter-spacing:3px;margin-bottom:16px;}
.ref-code-btns{display:flex;gap:10px;position:relative;}
.ref-code-btn{flex:1;padding:11px 0;border-radius:12px;font-size:14px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:7px;transition:.12s;}
.ref-code-btn.copy{background:rgba(212,175,55,.18);color:var(--gold);border:1px solid rgba(212,175,55,.32);}
.ref-code-btn.share{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18);}
.ref-code-btn:active{transform:scale(.97);}
.ref-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 16px 0;}
.ref-stat{background:var(--set-card-bg);border:1px solid var(--set-card-border);border-radius:16px;
  padding:14px 12px;display:flex;flex-direction:column;gap:4px;text-align:center;}
.ref-stat-val{font-size:22px;font-weight:700;color:var(--gold);}
.ref-stat-lbl{font-size:11.5px;font-weight:500;color:var(--text-muted);line-height:1.3;}
.ref-hiw{margin:16px 16px 0;border-radius:16px;background:var(--set-card-bg);
  border:1px solid var(--set-card-border);padding:14px 16px;}
.ref-hiw-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px;}
.ref-hiw-step{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.ref-hiw-step:last-child{margin:0;}
.ref-hiw-num{width:22px;height:22px;border-radius:50%;background:var(--set-rowicon-bg);
  color:var(--gold);font-size:12px;font-weight:700;display:grid;place-items:center;flex-shrink:0;}
.ref-hiw-text{font-size:13px;color:var(--text-muted);line-height:1.45;}
.ref-list-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--set-card-border);}
.ref-list-row:last-child{border:none;}
.ref-list-av{width:36px;height:36px;border-radius:11px;background:var(--set-rowicon-bg);
  color:var(--gold);display:grid;place-items:center;font-size:14px;font-weight:700;flex-shrink:0;}
.ref-list-meta{flex:1;min-width:0;}
.ref-list-name{font-size:14px;font-weight:600;color:var(--text);}
.ref-list-date{font-size:12px;color:var(--text-muted);margin-top:1px;}
.ref-badge.rewarded{background:rgba(31,157,87,.14);color:#1f9d57;border:1px solid rgba(31,157,87,.25);}
.ref-badge.pending{background:rgba(212,175,55,.14);color:var(--gold);border:1px solid rgba(212,175,55,.28);}
.ref-badge{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:99px;}

.logout-btn{width:100%;margin-top:16px;padding:15px;border-radius:16px;font-size:17px;font-weight:600;
  background:var(--logout-bg);color:var(--logout-text);}
.set-version{display:block;text-align:center;margin-top:16px;font-size:13px;font-weight:400;
  color:var(--text-dim);}
.set-profilecard.link{cursor:pointer;}
.kyc-badge.stp-green{color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);}
.kyc-badge.stp-green .kyc-dot{background:var(--green);}
.kyc-badge.stp-gold{color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent);}
.kyc-badge.stp-gold .kyc-dot{background:var(--gold);}
.kyc-badge.stp-red{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent);}
.kyc-badge.stp-red .kyc-dot{background:var(--red);}
.kyc-hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;
  margin:6px 20px 0;padding:28px 20px 22px;border-radius:22px;overflow:hidden;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);}
.kyc-hero.stp-green{--kyc-accent:var(--green);}
.kyc-hero.stp-gold{--kyc-accent:var(--gold);}
.kyc-hero.stp-red{--kyc-accent:var(--red);}
.kyc-herobadge{position:relative;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin-bottom:16px;
  background:var(--set-rowicon-bg);}
.kyc-herobadge::before{content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid color-mix(in srgb, var(--kyc-accent) 45%, transparent);
  animation:kycpulse 2s ease-out infinite;}
@keyframes kycpulse{0%{transform:scale(1);opacity:.6;}70%{transform:scale(1.18);opacity:0;}100%{opacity:0;}}
@media (prefers-reduced-motion:reduce){.kyc-herobadge::before{animation:none;}}
.kyc-herobadge.stp-green{background:var(--gold-grad);color:var(--gold-grad-text);}
.kyc-herobadge.stp-gold{background:color-mix(in srgb, var(--gold) 18%, transparent);color:var(--gold);}
.kyc-herobadge.stp-red{background:color-mix(in srgb, var(--red) 16%, transparent);color:var(--red);}
.kyc-heropill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.4px;
  text-transform:uppercase;padding:4px 12px;border-radius:999px;
  color:var(--kyc-accent);background:color-mix(in srgb, var(--kyc-accent) 14%, transparent);}
.kyc-heropill .kyc-dot{width:6px;height:6px;border-radius:50%;background:var(--kyc-accent);}
.kyc-herostatus{font-size:22px;font-weight:600;color:var(--text);margin-top:2px;}
.kyc-herosub{font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.45;max-width:260px;}
.kyc-doccheck{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green);}
.bank-hero{display:flex;align-items:center;gap:14px;margin:6px 20px 0;padding:16px;border-radius:18px;
  background:radial-gradient(120% 140% at 0% 0%, rgba(255,186,35,0.14) 0%, transparent 60%), var(--set-card-bg);
  border:1px solid var(--gc-border);}
.bank-heroicon{width:52px;height:52px;flex:0 0 52px;border-radius:14px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.bank-herometa{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0;}
.bank-heroname{font-size:18px;font-weight:600;color:var(--text);}
.bank-heroacct{font-size:14px;font-weight:500;color:var(--text-muted);letter-spacing:.5px;}
.bank-status{display:flex;align-items:center;gap:13px;margin:6px 20px 0;padding:14px 16px;border-radius:16px;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);border-left:3px solid var(--gold);}
.bank-status.stp-green{border-left-color:var(--green);}
.bank-status.stp-gold{border-left-color:var(--gold);}
.bank-status.stp-red{border-left-color:var(--red);}
.bank-statusicon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;}
.bank-statusicon.stp-green{background:var(--gold-grad);color:var(--gold-grad-text);}
.bank-statusicon.stp-gold{background:color-mix(in srgb, var(--gold) 18%, transparent);color:var(--gold);}
.bank-statusicon.stp-red{background:color-mix(in srgb, var(--red) 16%, transparent);color:var(--red);}
.bank-statustext{display:flex;flex-direction:column;gap:1px;min-width:0;}
.bank-statuslabel{font-size:16px;font-weight:600;color:var(--text);}
.bank-statussub{font-size:12.5px;font-weight:400;color:var(--text-muted);line-height:1.4;}
.ss-options{display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;}
.ss-options::-webkit-scrollbar{width:0;}
.ss-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;
  padding:14px 16px;border-radius:13px;background:var(--field-grad);border:1px solid var(--buy-inset-border);
  font-size:15px;font-weight:500;color:var(--text);cursor:pointer;transition:border-color .12s;}
.ss-option.on{border-color:var(--gold);color:var(--gold);}
.ss-check{width:20px;height:20px;border-radius:50%;flex:0 0 20px;display:grid;place-items:center;
  background:var(--gold-grad);color:var(--gold-grad-text);}
.legal-body{padding:2px 2px;}
.legal-body p{margin:0 0 12px;font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.6;}
.legal-body p:first-child{color:var(--text-dim);font-size:13px;}

/* sliding sun/moon switch */
.theme-switch{position:relative;width:64px;height:34px;border-radius:999px;flex:0 0 64px;
  background:var(--track-off);transition:background .25s ease;}
.theme-switch.is-dark{background:var(--track-on);}
.ts-icon{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;
  width:18px;height:18px;}
.ts-sun{left:8px;color:#e0a020;opacity:1;}
.ts-moon{right:8px;color:#cdb46a;}
.theme-switch.is-light .ts-sun{opacity:0;}
.theme-switch.is-dark .ts-moon{opacity:0;}
.ts-thumb{position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;
  background:#fff;color:#caa23c;display:grid;place-items:center;
  box-shadow:0 2px 6px rgba(0,0,0,.3);transition:left .25s cubic-bezier(.4,1.3,.5,1);}
.theme-switch.is-dark .ts-thumb{left:33px;background:#1c1c20;color:#ffba23;}

/* notification settings */
.nt-switch{position:relative;width:42px;height:24px;border-radius:999px;flex:0 0 42px;
  background:var(--track-off);transition:background .22s ease;cursor:pointer;}
.nt-switch.on{background:var(--gold-grad);}
.nt-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.3);transition:left .22s cubic-bezier(.4,1.3,.5,1);}
.nt-switch.on .nt-thumb{left:21px;}
.nt-list{display:flex;flex-direction:column;gap:12px;padding:0 18px;}
.nt-cat{background:var(--set-card-bg);border:1px solid var(--set-card-border);border-radius:18px;overflow:hidden;}
.nt-cathead{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:15px 16px;cursor:pointer;}
.nt-cattext{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.3;}
.nt-cattitle{font-size:16px;font-weight:600;color:var(--text);}
.nt-catdesc{font-size:12.5px;font-weight:400;color:var(--text-muted);margin-top:2px;}
.nt-chev{color:var(--text-dim);display:grid;place-items:center;transition:transform .2s;}
.nt-chev.open{transform:rotate(90deg);}
.nt-catbody{padding:0 16px 14px;}
.nt-channels{display:flex;gap:10px;padding:12px 0 4px;border-top:1px solid var(--set-row-border);}
.nt-channel{flex:1 1 0;display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:var(--field-grad);border:1px solid var(--buy-inset-border);border-radius:12px;padding:9px 12px;}
.nt-chlabel{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:var(--text);white-space:nowrap;}
.nt-chlabel svg{color:var(--gold);}
.nt-opts{display:flex;flex-direction:column;margin-top:6px;}
.nt-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;
  border-top:1px solid var(--set-row-border);}
.nt-optlabel{font-size:14.5px;font-weight:500;color:var(--text);}
.nt-toast{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);z-index:50;
  display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;
  background:var(--sheet-bg);border:1px solid var(--gc-border);color:var(--text);
  font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 10px 30px -8px rgba(0,0,0,.5);
  animation:ntpop .25s ease;}
.nt-toastdot{width:20px;height:20px;border-radius:50%;flex:0 0 20px;display:grid;place-items:center;
  background:var(--gold-grad);color:var(--gold-grad-text);}
@keyframes ntpop{from{opacity:0;transform:translate(-50%,8px);}to{opacity:1;transform:translate(-50%,0);}}

/* dashboard KYC status card */
.kyc-dashwrap{margin:16px 18px 0;}
.kyc-dash{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;
  border-radius:16px;border:1px solid var(--set-card-border);transition:transform .12s;
  background:radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--kyc-dash-accent, var(--gold)) 12%, transparent) 0%, transparent 55%), var(--set-card-bg);}
.kyc-dash:active{transform:scale(.99);}
.kyc-dash.stp-red{--kyc-dash-accent:var(--red);}
.kyc-dash.stp-gold{--kyc-dash-accent:var(--gold);}

/* notification center */
.nc-markall{font-size:13px;font-weight:600;color:var(--gold);background:none;font-family:inherit;cursor:pointer;white-space:nowrap;}
.nc-list{display:flex;flex-direction:column;gap:10px;padding:0 18px;}
.nc-item{display:flex;align-items:flex-start;gap:13px;width:100%;text-align:left;padding:14px;
  border-radius:16px;background:var(--set-card-bg);border:1px solid var(--set-card-border);
  transition:transform .12s,background .15s;}
.nc-item:active{transform:scale(.99);}
.nc-item.unread{background:radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--gold) 9%, transparent) 0%, transparent 55%), var(--set-card-bg);
  border-color:color-mix(in srgb, var(--gold) 22%, var(--set-card-border));}
.nc-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);}
.nc-icon.tone-green{color:var(--green);}
.nc-icon.tone-red{color:var(--red);}
.nc-icon.tone-gold{color:var(--gold);}
.nc-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.35;}
.nc-toprow{display:flex;align-items:center;gap:8px;}
.nc-title{font-size:15.5px;font-weight:600;color:var(--text);}
.nc-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:0 0 8px;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 18%, transparent);}
.nc-text{font-size:13.5px;font-weight:400;color:var(--text-muted);margin-top:2px;}
.nc-time{font-size:12px;font-weight:500;color:var(--text-dim);margin-top:6px;}

/* redeem — quantity entry */
.rd-qtyrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;}
.rd-step{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:24px;font-weight:500;
  font-family:inherit;color:var(--gold);background:var(--field-grad);border:1px solid var(--buy-inset-border);cursor:pointer;}
.rd-step:disabled{opacity:.38;cursor:default;}
.rd-qtyval{flex:1 1 auto;text-align:center;font-size:40px;font-weight:700;color:var(--text);line-height:1;}
.rd-qtyval span{font-size:18px;font-weight:600;color:var(--text-muted);margin-left:2px;}
.rd-chiprow{display:flex;gap:8px;margin-top:16px;}
.rd-chip{flex:1 1 0;padding:9px 0;border-radius:11px;font-size:14px;font-weight:500;font-family:inherit;
  color:var(--text-muted);background:var(--field-grad);border:1px solid var(--buy-inset-border);cursor:pointer;transition:.12s;}
.rd-chip.on{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb, var(--gold) 9%, transparent);}
.rd-denomgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.rd-denomgrid .rd-chip{flex:none;padding:13px 0;}
.rd-chip.dis{opacity:.34;cursor:default;}
.rd-qtyhint{font-size:12.5px;font-weight:400;color:var(--text-dim);text-align:center;margin-top:12px;}

/* redeem — denomination */
.rd-availbar{display:flex;align-items:center;justify-content:space-between;margin:4px 0 0;padding:14px 16px;
  border-radius:16px;background:radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--gold) 12%, transparent) 0%, transparent 58%), var(--set-card-bg);
  border:1px solid var(--set-card-border);}
.rd-availlabel{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--text-muted);white-space:nowrap;}
.rd-availlabel svg{color:var(--gold);}
.rd-availval{font-size:18px;font-weight:700;color:var(--gold);white-space:nowrap;}
.rd-targethint{font-size:13.5px;font-weight:400;color:var(--text-muted);margin:14px 2px 8px;}
.rd-targethint strong{color:var(--text);font-weight:600;}
.rd-denomlist{display:flex;flex-direction:column;gap:10px;}
.rd-subhead{font-size:13px;font-weight:600;color:var(--buy-label);letter-spacing:.4px;text-transform:uppercase;margin:0 2px 8px;}
.rd-denomrow{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:14px;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);transition:.12s;}
.rd-denomrow.on{border-color:color-mix(in srgb, var(--gold) 34%, var(--set-card-border));
  background:color-mix(in srgb, var(--gold) 7%, var(--set-card-bg));}
.rd-denomrow.dis{opacity:.4;}
.rd-denomg{font-size:17px;font-weight:600;color:var(--text);white-space:nowrap;}
.rd-stepper{display:flex;align-items:center;gap:14px;}
.rd-stepbtn{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:500;
  font-family:inherit;color:var(--gold);background:var(--field-grad);border:1px solid var(--buy-inset-border);cursor:pointer;}
.rd-stepbtn:disabled{opacity:.34;cursor:default;}
.rd-denomn{min-width:22px;text-align:center;font-size:17px;font-weight:600;color:var(--text);}
.rd-sumcard{margin-top:16px;}
.rd-mismatch{font-size:13px;font-weight:400;color:var(--text-muted);text-align:center;margin-top:12px;}
.rd-denomlist-locked{opacity:.5;pointer-events:none;}
.rd-pickupcard{margin-top:12px;}
.rd-pickuptop{display:flex;align-items:flex-start;gap:13px;padding-bottom:12px;margin-bottom:4px;
  border-bottom:1px solid var(--set-row-border);}
.rd-pickupico{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.rd-pickupmeta{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.4;}
.rd-pickupname{font-size:16px;font-weight:600;color:var(--text);}
.rd-pickupline{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:1px;}

/* redeem — fulfilment method */
.rd-fulfillist{display:flex;flex-direction:column;gap:12px;}
.rd-fulfil{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;padding:16px;border-radius:16px;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);cursor:pointer;transition:.12s;}
.rd-fulfil.on{border-color:color-mix(in srgb, var(--gold) 42%, var(--set-card-border));
  background:radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--gold) 9%, transparent) 0%, transparent 58%), var(--set-card-bg);}
.rd-fulfilico{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.rd-fulfilbody{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.4;}
.rd-fulfiltitle{font-size:16px;font-weight:600;color:var(--text);}
.rd-fulfildesc{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:3px;}
.rd-fulfil .pay-radio{margin-top:2px;flex:0 0 auto;}

/* redeem — pickup location */
.pk-search{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:0 14px;height:50px;
  border-radius:14px;background:var(--field-grad);border:1px solid var(--buy-inset-border);}
.pk-searchico{color:var(--text-dim);display:grid;place-items:center;flex:0 0 auto;}
.pk-searchinput{flex:1 1 auto;background:none;border:none;outline:none;font-family:inherit;
  font-size:15px;font-weight:400;color:var(--text);min-width:0;}
.pk-searchinput::placeholder{color:var(--text-dim);}
.pk-clear{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--bell-bg);color:var(--text-muted);
  font-size:17px;line-height:1;display:grid;place-items:center;cursor:pointer;}
.pk-loc{display:flex;align-items:flex-start;gap:13px;width:100%;text-align:left;padding:15px 16px;border-radius:16px;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);cursor:pointer;transition:.12s;}
.pk-loc.on{border-color:color-mix(in srgb, var(--gold) 42%, var(--set-card-border));
  background:radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--gold) 9%, transparent) 0%, transparent 58%), var(--set-card-bg);}
.pk-loc .pay-radio{margin-top:2px;flex:0 0 auto;}
.pk-locbody{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.4;}
.pk-locname{font-size:15.5px;font-weight:600;color:var(--text);}
.pk-locline{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:1px;}
.pk-locmeta{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:400;color:var(--text-dim);margin-top:5px;}
.pk-locmeta svg{color:var(--gold);flex:0 0 auto;}
.kyc-dashicon{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.kyc-dash.stp-red .kyc-dashicon{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent);}
.kyc-dashtext{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.3;}
.kyc-dashtitle{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;}
.kyc-dashsub{font-size:12.5px;font-weight:400;color:var(--text-muted);margin-top:1px;}
.kyc-dashcta{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:600;color:var(--gold);white-space:nowrap;flex:0 0 auto;}

/* feature-gate sheet */
.gate-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;margin:0 auto;
  background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold);}

/* placeholder screens */
.ph-screen{height:100%;display:flex;align-items:center;justify-content:center;}
.ph-inner{text-align:center;padding:40px;}
.ph-badge{width:74px;height:74px;border-radius:24px;margin:0 auto 18px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.ph-title{margin:0;font-size:26px;font-weight:600;color:var(--text);}
.ph-text{margin:10px 0 0;font-size:15px;font-weight:400;color:var(--text-muted);line-height:1.5;}

/* ============ BUY GOLD SCREEN ============ */
.buy-screen{display:flex;flex-direction:column;min-height:100%;padding:0 16px 14px;}
.buy-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 0 16px;}
.buy-header .icon-btn{justify-self:start;}
.buy-title{margin:0;font-size:20px;font-weight:600;color:var(--text);text-align:center;white-space:nowrap;}
.bh-live{justify-self:end;font-size:15px;padding:5px 13px 5px 11px;}

.buy-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--buy-tabbar-bg);
  border-radius:14px;padding:4px;margin-top:9px;}
.buy-tab{padding:7px 0;border-radius:10px;font-size:16px;font-weight:600;color:var(--buy-label);
  transition:color .12s;}
.buy-tab.active{background:var(--gold-grad);color:var(--gold-grad-text);
  box-shadow:0 5px 14px -5px rgba(255,170,30,0.55);}

.buy-card{background:var(--buy-card);border:1px solid var(--buy-card-border);border-radius:20px;}
/* Light theme — softer borders/dividers across Buy, Sell & Redeem screens */
[data-theme="light"] .buy-screen{
  --buy-card-border:#92712129;
  --buy-divider:#92712129;
  --buy-inset-border:#92712129;
}
.buy-price-card{position:relative;overflow:hidden;margin-top:14px;padding:11px 18px 0;}
[data-theme="dark"] .buy-price-card{border-color:#ffffff12;}
[data-theme="light"] .buy-price-card{border-color:#92712129;}
.buy-price-card>.bpc-pattern{position:absolute;top:0;right:0;width:160px;height:170px;
  background:var(--pattern-url) right top / 160px auto no-repeat;opacity:.16;pointer-events:none;z-index:0;}
.buy-price-card>*{position:relative;z-index:1;}
.bpc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.bpc-label{font-size:16px;font-weight:500;color:var(--text);white-space:nowrap;}
.bpc-change{display:inline-flex;align-items:center;gap:4px;font-size:16px;font-weight:500;}
.bpc-price{font-size:32px;font-weight:700;color:var(--gold);letter-spacing:.3px;margin-top:3px;
  filter:var(--grams-glow);}
.bpc-updated{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400;
  color:var(--buy-label);margin-top:6px;padding-bottom:9px;white-space:nowrap;}
.bpc-updated svg{color:var(--buy-label);flex:0 0 auto;}
.bpc-divider{border-top:1px solid var(--buy-divider);margin:0 -18px;}
[data-theme="dark"] .buy-price-card .bpc-divider{border-top-color:#ffffff12;}
[data-theme="light"] .buy-price-card .bpc-divider{border-top-color:#92712129;}
.bpc-cells{display:grid;grid-template-columns:1fr 1fr;}
.bpc-cell{display:flex;flex-direction:column;gap:5px;padding:9px 0;}
.bpc-cell.bordered{border-left:1px solid var(--buy-divider);padding-left:22px;}
[data-theme="dark"] .buy-price-card .bpc-cell.bordered{border-left-color:#ffffff12;}
[data-theme="light"] .buy-price-card .bpc-cell.bordered{border-left-color:#92712129;}
.cell-label{font-size:15px;font-weight:500;color:var(--buy-label);}
.cell-val{font-size:17px;font-weight:600;color:var(--text);}

.buy-input-card{margin-top:13px;padding:14px;}
.bic-toggle{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.bic-seclabel{display:block;font-size:14px;font-weight:500;color:var(--buy-label);letter-spacing:.2px;}
.bic-seg{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:10px;
  font-size:15.5px;font-weight:500;white-space:nowrap;min-width:0;box-sizing:border-box;}
.bic-seg.active{background:var(--buy-inset);color:var(--text);border:1px solid var(--seg-active-border);
  position:relative;z-index:1;}
.bic-seg:not(.active){background:var(--buy-seg-inactive);color:var(--buy-label);
  border:1px solid transparent;}
.bic-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:0 0 8px;}
.bic-seg:not(.active) .bic-dot{display:none;}
.bic-field{display:flex;align-items:stretch;background:var(--field-grad);
  border:1px solid var(--buy-inset-border);border-radius:18px;margin-top:13px;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);}
.bic-unit{display:flex;align-items:center;padding:0 18px;font-size:22px;font-weight:500;
  color:var(--text);border-right:1px solid var(--buy-inset-border);}
input.bic-input[type=number]::-webkit-inner-spin-button,
input.bic-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
input.bic-input[type=number]{-moz-appearance:textfield;}
.bic-input{flex:1;min-width:0;border:none;background:transparent;text-align:right;
  padding:11px 18px;font-size:24px;font-weight:700;color:var(--gold);font-family:inherit;outline:none;letter-spacing:.5px;}
.bic-balrow{display:flex;justify-content:space-between;margin-top:12px;}
.bic-ballabel{font-size:14px;font-weight:400;color:var(--buy-label);white-space:nowrap;}
.bic-balval{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;}

.buy-spacer{flex:1 1 auto;min-height:6px;}

.buy-summary{padding:18px 16px 16px;}
.sum-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.sum-row:last-child{margin-bottom:0;}
.sum-label{font-size:13px;font-weight:400;color:var(--buy-label);letter-spacing:.2px;white-space:nowrap;}
.sum-val{font-size:13px;font-weight:500;color:var(--text);letter-spacing:.2px;white-space:nowrap;}
.sum-divider{border-top:1px solid var(--buy-divider);margin:3px 0 12px;}
.sum-total{display:flex;justify-content:space-between;align-items:center;}
.sum-total-label{font-size:19px;font-weight:600;color:var(--text);}
.sum-total-val{font-size:19px;font-weight:600;white-space:nowrap;}

/* ============ BUY FLOW (summary / payment / processing / success) ============ */
.bflow-scroll{flex:1 1 auto;overflow-y:auto;padding-top:6px;}
.bflow-scroll::-webkit-scrollbar{width:0;}
.bflow-foot{flex:0 0 auto;padding-top:12px;display:flex;flex-direction:column;gap:11px;}
.bflow-card{padding:18px 16px;margin-top:14px;}
.bflow-cardtitle{font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:var(--buy-label);margin-bottom:14px;}
.bflow-meta{display:flex;align-items:center;gap:7px;justify-content:center;margin-top:16px;
  font-size:13px;font-weight:400;color:var(--text-muted);}
.bflow-meta svg{color:var(--text-dim);}
.tone-gold{color:var(--gold);}

/* quote timer banner */
.quote-banner{display:flex;align-items:center;justify-content:space-between;margin-top:8px;
  padding:11px 15px;border-radius:13px;background:var(--set-rowicon-bg);
  border:1px solid var(--gc-border);}
.qb-left{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--gold);white-space:nowrap;}
.qb-timer{font-size:15px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;}

/* payment amount header */
.pay-amount{display:flex;flex-direction:column;align-items:center;gap:4px;margin:10px 0 4px;}
.pay-amount-label{font-size:13px;font-weight:400;color:var(--buy-label);}
.pay-amount-val{font-size:30px;font-weight:700;color:var(--gold);white-space:nowrap;}

/* payment method list */
.pay-list{display:flex;flex-direction:column;gap:11px;margin-top:18px;}
.pay-method{display:flex;align-items:center;gap:13px;width:100%;text-align:left;
  background:var(--set-card-bg);border:1.5px solid var(--set-card-border);border-radius:16px;
  padding:14px 15px;transition:border-color .15s,background .15s;}
.pay-method.on{border-color:var(--gold);}
.pay-icon{width:42px;height:42px;border-radius:12px;flex:0 0 42px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.pay-text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.3;}
.pay-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text);}
.pay-ext{font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--gold);
  background:var(--set-rowicon-bg);padding:3px 7px;border-radius:6px;white-space:nowrap;}
.pay-sub{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:2px;}
.pay-radio{width:22px;height:22px;border-radius:50%;flex:0 0 22px;border:2px solid var(--buy-inset-border);
  display:grid;place-items:center;transition:border-color .15s;}
.pay-radio.on{border-color:var(--gold);}
.pay-radio-dot{width:11px;height:11px;border-radius:50%;background:var(--gold);}
.pay-notice{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:14px;
  border-radius:14px;background:var(--set-rowicon-bg);border:1px solid var(--gc-border);
  font-size:13px;font-weight:400;color:var(--text-muted);line-height:1.5;}
.rzp-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 20px;gap:10px;}
.rzp-logo{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:var(--gold);
  background:color-mix(in srgb, var(--gold) 12%, transparent);border:1px solid color-mix(in srgb, var(--gold) 28%, transparent);}
.rzp-title{font-size:17px;font-weight:600;color:var(--text);letter-spacing:.3px;}
.rzp-sub{font-size:13.5px;font-weight:400;color:var(--text-muted);line-height:1.55;max-width:280px;}
.pay-notice svg{color:var(--gold);flex:0 0 auto;margin-top:1px;}

/* processing */
.processing{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:0 16px;}
.proc-spinner{width:56px;height:56px;border-radius:50%;border:4px solid var(--buy-inset-border);
  border-top-color:var(--gold);animation:spin .8s linear infinite;}
.proc-loader{width:64px;height:64px;display:grid;place-items:center;margin:0 auto;}
.proc-min-svg{width:64px;height:64px;display:block;}
.proc-min-arc{animation:procSpin 1.1s linear infinite;transform-origin:32px 32px;}
@keyframes procSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.proc-min-arc{animation:none;}}
.proc-title{margin:24px 0 0;font-size:23px;font-weight:600;color:var(--text);white-space:nowrap;}
.proc-sub{margin:8px 0 0;font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.5;}
.proc-steps{display:flex;flex-direction:column;gap:13px;margin-top:30px;width:100%;max-width:280px;text-align:left;}
.proc-step{display:flex;align-items:center;gap:12px;opacity:.45;transition:opacity .25s;}
.proc-step.active,.proc-step.done{opacity:1;}
.proc-dot{width:24px;height:24px;border-radius:50%;flex:0 0 24px;display:grid;place-items:center;
  border:2px solid var(--buy-inset-border);color:var(--gold-grad-text);background:transparent;transition:background .25s,border-color .25s;}
.proc-step.done .proc-dot{background:var(--gold-grad);border-color:transparent;}
.proc-step.active .proc-dot{border-color:var(--gold);}
.proc-label{font-size:15px;font-weight:500;color:var(--text);}

/* success */
.success-scroll{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:24px;}
.success-badge{position:relative;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold-grad);color:var(--gold-grad-text);
  box-shadow:0 14px 34px -10px rgba(255,170,30,0.55);}
.success-badge::before{content:"";position:absolute;inset:-22px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle, color-mix(in srgb, var(--gold) 45%, transparent) 0%, transparent 68%);}
.success-badge::after{content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid color-mix(in srgb, var(--gold) 60%, transparent);}
@media (prefers-reduced-motion:no-preference){
  .success-badge{animation:succPop .55s cubic-bezier(.2,.8,.3,1.45) both;}
  .success-badge::before{animation:succGlow 1.8s ease-out both;}
  .success-badge::after{animation:succRing 1.1s ease-out both;}
  .success-badge svg{animation:succCheck .5s ease-out .22s both;}
}
@keyframes succPop{0%{transform:scale(0);opacity:0;}60%{opacity:1;}100%{transform:scale(1);opacity:1;}}
@keyframes succCheck{0%{transform:scale(0);opacity:0;}100%{transform:scale(1);opacity:1;}}
@keyframes succGlow{0%{opacity:0;}45%{opacity:1;}100%{opacity:.55;}}
@keyframes succRing{0%{transform:scale(1);opacity:.9;}100%{transform:scale(1.7);opacity:0;}}
.success-title{margin:20px 0 0;font-size:26px;font-weight:600;color:var(--text);white-space:nowrap;}
.success-sub{margin:8px 0 0;font-size:14.5px;font-weight:400;color:var(--text-muted);text-wrap:pretty;}
.success-amount{display:flex;flex-direction:column;align-items:center;gap:3px;margin:22px 0 2px;}
.success-amount-val{font-size:38px;font-weight:700;color:var(--gold);letter-spacing:.3px;filter:var(--grams-glow);white-space:nowrap;}
.success-amount-sub{font-size:13px;font-weight:500;color:var(--text-muted);letter-spacing:.4px;}
.success-scroll .bflow-card{width:100%;padding:20px 18px;}
.success-scroll .bflow-card .sum-val{font-weight:600;}

/* transaction details status block */
.txd-status{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:14px;}
.txd-badge{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold-grad);color:var(--gold-grad-text);
  box-shadow:0 10px 26px -10px rgba(255,170,30,0.55);}
.txd-amount{font-size:30px;font-weight:700;color:var(--gold);filter:var(--grams-glow);white-space:nowrap;}
.txd-statuspill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;
  color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);
  padding:5px 12px;border-radius:999px;}
.txd-statusdot{width:7px;height:7px;border-radius:50%;background:var(--green);}

/* sell entry validation + add account */
.sell-error{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:500;
  color:var(--red);}
.sell-error svg{flex:0 0 auto;}
.add-account{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:14px;border-radius:16px;background:transparent;border:1.5px dashed var(--set-card-border);
  color:var(--gold);font-size:15px;font-weight:600;transition:transform .12s,border-color .15s;}
.add-account:active{transform:scale(.98);}
.bank-row{display:flex;align-items:center;gap:13px;}
.quote-banner.expired{background:color-mix(in srgb, var(--red) 12%, transparent);border-color:transparent;}
.quote-banner.expired .qb-left,.quote-banner.expired .qb-timer{color:var(--red);}
.fail-badge{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold);
  transform:rotate(45deg);}
.fail-badge svg{transform:rotate(0deg);}
.fail-badge.is-failed{background:color-mix(in srgb, var(--red) 16%, transparent);color:var(--red);}
.sell-pendbadge{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb, var(--gold) 16%, transparent);color:var(--gold);}

/* status-tinted detail badge + pills */
.txd-badge.tone-badge-green{background:var(--gold-grad);color:var(--gold-grad-text);}
.txd-badge.tone-badge-gold{background:color-mix(in srgb, var(--gold) 18%, transparent);color:var(--gold);box-shadow:none;}
.txd-badge.tone-badge-red{background:color-mix(in srgb, var(--red) 16%, transparent);color:var(--red);transform:rotate(45deg);box-shadow:none;}
.txd-badge.tone-badge-red svg{transform:rotate(0);}
.txd-statuspill.stp-green{color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);}
.txd-statuspill.stp-gold{color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent);}
.txd-statuspill.stp-red{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent);}
.txd-statuspill.stp-gold .txd-statusdot{background:var(--gold);}
.txd-statuspill.stp-red .txd-statusdot{background:var(--red);}

/* ============ REDEEM GOLD ============ */
.rd-balrow{display:flex;gap:12px;}
.rd-bal{flex:1 1 0;display:flex;flex-direction:column;gap:3px;}
.rd-bal-k{font-size:13px;font-weight:400;color:var(--buy-label);}
.rd-bal-v{font-size:18px;font-weight:600;color:var(--text);}
.rd-info{display:flex;align-items:flex-start;gap:11px;margin-top:14px;padding:13px;border-radius:14px;
  background:var(--set-rowicon-bg);border:1px solid var(--gc-border);
  font-size:13px;font-weight:400;color:var(--text-muted);line-height:1.5;}
.rd-info svg{color:var(--gold);flex:0 0 auto;margin-top:1px;}
.rd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.rd-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:18px 12px 14px;border-radius:18px;background:var(--set-card-bg);
  border:1.5px solid var(--set-card-border);cursor:pointer;transition:border-color .15s,transform .12s;}
.rd-card:active{transform:scale(.98);}
.rd-card.on{border-color:var(--gold);}
.rd-card.dis{opacity:.4;cursor:default;}
.rd-art{height:46px;display:grid;place-items:center;margin-bottom:4px;}
.rd-name{font-size:16px;font-weight:600;color:var(--text);white-space:nowrap;line-height:1.2;}
.rd-weight{font-size:14px;font-weight:600;color:var(--gold);white-space:nowrap;line-height:1.2;}
.rd-req{font-size:12px;font-weight:400;color:var(--text-muted);margin-top:2px;white-space:nowrap;}
.rd-tick{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;
  background:var(--gold-grad);color:var(--gold-grad-text);display:grid;place-items:center;}
.rd-hero{display:flex;align-items:center;gap:14px;margin-top:6px;padding:16px;border-radius:18px;
  background:var(--set-rowicon-bg);border:1px solid var(--gc-border);}
.rd-herotext{display:flex;flex-direction:column;gap:2px;}
.rd-heroname{font-size:19px;font-weight:600;color:var(--text);}
.rd-heroweight{font-size:13px;font-weight:500;color:var(--text-muted);}
.rd-addrlist{display:flex;flex-direction:column;gap:11px;margin-top:12px;}
.rd-addr{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:14px;
  border-radius:16px;background:var(--set-card-bg);border:1.5px solid var(--set-card-border);
  cursor:pointer;transition:border-color .15s;}
.rd-addr.on{border-color:var(--gold);}
.rd-addr .pay-radio{margin-top:2px;}
.rd-addrbody{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0;}
.rd-addrtop{display:flex;align-items:center;gap:8px;}
.rd-edit{margin-left:auto;font-size:13px;font-weight:600;color:var(--gold);background:none;
  font-family:inherit;cursor:pointer;padding:2px 4px;}
.rd-confirmhero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin-top:6px;padding-bottom:8px;}
.rd-confirmring{position:relative;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);margin-bottom:12px;
  box-shadow:0 0 0 1px var(--gc-border);}
.rd-confirmpulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);
  animation:rdpulse 1.8s ease-out infinite;}
@keyframes rdpulse{0%{transform:scale(1);opacity:.55;}70%{transform:scale(1.35);opacity:0;}100%{opacity:0;}}
@media (prefers-reduced-motion:reduce){.rd-confirmpulse{animation:none;}}
.rd-confirmtitle{font-size:20px;font-weight:600;color:var(--text);white-space:nowrap;}
.rd-confirmsub{font-size:14px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.rd-addrlabel{font-size:16px;font-weight:600;color:var(--text);}
.rd-addrname{font-size:13px;font-weight:500;color:var(--text-muted);}
.rd-addrline{font-size:13px;font-weight:400;color:var(--text-muted);line-height:1.45;}
.rd-confaddr{font-size:13px;font-weight:400;color:var(--text-muted);line-height:1.45;margin:-2px 0 10px;}
.rd-bighero{display:flex;align-items:center;gap:16px;margin-top:6px;padding:18px;
  border-radius:20px;border:1px solid var(--gc-border);overflow:hidden;
  background:radial-gradient(120% 140% at 0% 0%, rgba(255,186,35,0.16) 0%, rgba(255,186,35,0.03) 38%, transparent 64%), var(--set-card-bg);}
.rd-medallion{width:80px;height:80px;flex:0 0 80px;border-radius:20px;display:grid;place-items:center;
  background:linear-gradient(150deg, rgba(255,216,130,0.22), rgba(255,170,30,0.06));
  border:1px solid var(--gc-border);}
.rd-medallion .rd-art{transform:scale(1.15);}
.rd-herometa{display:flex;flex-direction:column;gap:3px;min-width:0;}
.rd-bigname{font-size:21px;font-weight:600;color:var(--text);white-space:nowrap;}
.rd-bigweight{font-size:14px;font-weight:500;color:var(--gold);white-space:nowrap;}
.rd-certtag{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:11.5px;font-weight:600;
  color:var(--gold);background:var(--set-rowicon-bg);padding:4px 9px;border-radius:999px;width:max-content;}
.rd-feat{display:flex;align-items:center;gap:12px;padding:7px 0;}
.rd-featico{width:34px;height:34px;border-radius:10px;flex:0 0 34px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.rd-feattext{font-size:14.5px;font-weight:500;color:var(--text);}
.rd-redeemable{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0 16px;}
.rd-redeemable .cell-label{white-space:nowrap;}
.rd-redeemable .cell-val{white-space:nowrap;}

/* ============ TRANSACTION HISTORY ============ */
.txh-scroll{padding:0 18px 18px;display:flex;flex-direction:column;min-height:100%;}
.txh-head{padding:8px 0 2px;}
.txh-head h1{margin:0;font-size:24px;font-weight:600;color:var(--text);}
.txh-search{display:flex;align-items:center;gap:10px;margin-top:14px;padding:0 14px;
  background:var(--field-grad);border:1px solid var(--buy-inset-border);border-radius:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);}
.txh-search svg{color:var(--buy-label);flex:0 0 auto;}
.txh-search input{flex:1;min-width:0;border:none;background:transparent;padding:11px 0;
  font-size:15px;font-weight:500;color:var(--text);font-family:inherit;outline:none;}
.txh-search input::placeholder{color:var(--text-dim);font-weight:400;}
.txh-clear{width:24px;height:24px;border-radius:50%;flex:0 0 24px;background:var(--bell-bg);
  color:var(--text-muted);font-size:17px;line-height:1;display:grid;place-items:center;}
.txh-filtergroup{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.txh-chips{display:flex;gap:3px;background:var(--buy-tabbar-bg);border-radius:13px;padding:4px;
  flex:1 1 auto;min-width:0;}
.txh-chips::-webkit-scrollbar{height:0;}
/* filter-sheet pill chips (Status / Date Range) */
.txh-chip{flex:0 0 auto;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:500;
  white-space:nowrap;background:var(--buy-tabbar-bg);color:var(--buy-label);
  border:1px solid transparent;transition:color .12s,background .12s,border-color .12s;cursor:pointer;}
.txh-chip.on{background:var(--set-rowicon-bg);color:var(--gold);border-color:var(--gc-border);}
/* toolbar segmented control (All / Buy / Sell / Redemption) */
.txh-toolbar .txh-chip{flex:1 1 0;min-width:0;padding:8px 2px;border-radius:9px;font-size:13px;font-weight:600;
  background:transparent;color:var(--buy-label);text-align:center;border:none;box-shadow:none;
  overflow:hidden;text-overflow:ellipsis;}
.txh-toolbar .txh-chip.on{background:var(--gold-grad);color:var(--gold-grad-text);
  box-shadow:0 5px 14px -5px rgba(255,170,30,0.55);border:none;}
.txh-toolbar{display:flex;align-items:stretch;gap:10px;margin-top:14px;}
.txh-toolbar .txh-chips{flex:1 1 auto;margin:0;}
.txh-filterbtn{position:relative;width:46px;flex:0 0 46px;border-radius:13px;
  display:grid;place-items:center;background:var(--buy-tabbar-bg);color:var(--text);
  border:1px solid transparent;transition:color .12s,border-color .12s;cursor:pointer;}
.txh-filterbtn.on{color:var(--gold);border-color:var(--gc-border);background:var(--set-rowicon-bg);}
.txh-filterdot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--gold);}

/* filter bottom sheet */
.fs-sheet{padding:10px 24px 26px;animation:none;transform:none;}
.fs-backdrop{z-index:60;}
.fs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.fs-group{margin-top:16px;}
.fs-label{display:block;font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  color:var(--buy-label);margin-bottom:10px;}
.fs-chips{display:flex;flex-wrap:wrap;gap:8px;}
.fs-custom{display:flex;gap:12px;margin-top:14px;}
.fs-custom .field{flex:1 1 0;min-width:0;}
.fs-custom-wrap{margin-top:14px;}

/* calendar */
.cal{margin-top:14px;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.cal-title{font-size:17px;font-weight:600;color:var(--text);}
.cal-nav{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--text);
  background:var(--buy-tabbar-bg);transition:transform .12s;}
.cal-nav:active{transform:scale(.92);}
.cal-navico.fwd{transform:rotate(180deg);display:grid;}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px;}
.cal-dow span{text-align:center;font-size:12px;font-weight:600;color:var(--buy-label);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-cell{aspect-ratio:1;min-height:44px;border:none;background:transparent;border-radius:11px;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--text);cursor:pointer;
  display:grid;place-items:center;transition:background .12s,color .12s;}
.cal-cell.empty{pointer-events:none;}
.cal-cell:not(.empty):not(.dis):active{background:var(--buy-tabbar-bg);}
.cal-cell.today{box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold);}
.cal-cell.rng{background:var(--set-rowicon-bg);border-radius:0;color:var(--gold);}
.cal-cell.sel,.cal-cell.start,.cal-cell.end{background:var(--gold-grad);color:var(--gold-grad-text);
  font-weight:600;box-shadow:none;}
.cal-cell.start{border-radius:11px 0 0 11px;}
.cal-cell.end{border-radius:0 11px 11px 0;}
.cal-cell.dis{color:var(--text-dim);opacity:.4;cursor:default;}
.cal-rangelabels{display:flex;gap:12px;margin-top:14px;}
.cal-rl{flex:1 1 0;display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:12px;
  background:var(--field-grad);border:1px solid var(--buy-inset-border);}
.cal-rl-k{font-size:12px;font-weight:500;color:var(--buy-label);}
.cal-rl-v{font-size:14px;font-weight:600;color:var(--text-dim);white-space:nowrap;}
.cal-rl-v.on{color:var(--text);}
.cal-rangeactions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px;}

.txh-list{display:flex;flex-direction:column;gap:9px;margin-top:18px;}
.txh-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);border-radius:16px;
  padding:11px 14px;transition:transform .12s,border-color .15s;}
.txh-row:active{transform:scale(.99);}
.txh-mid{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.25;}
.txh-titlerow{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.txh-title{font-size:16px;font-weight:500;color:var(--text);white-space:nowrap;}
.txh-ref{font-size:12px;font-weight:500;color:var(--gold);margin-top:2px;white-space:nowrap;}
.txh-date{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:1px;white-space:nowrap;}
.txh-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:0 0 auto;justify-content:center;}
.txh-qty{font-size:16px;font-weight:600;white-space:nowrap;}
.txh-amt{font-size:13px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.txh-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;
  padding:3px 8px;border-radius:999px;white-space:nowrap;}
.txh-statusdot{width:6px;height:6px;border-radius:50%;}
.txh-status.stp-green{color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);}
.txh-status.stp-green .txh-statusdot{background:var(--green);}
.txh-status.stp-gold{color:var(--gold);background:color-mix(in srgb, var(--gold) 16%, transparent);}
.txh-status.stp-gold .txh-statusdot{background:var(--gold);}
.txh-status.stp-red{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent);}
.txh-status.stp-red .txh-statusdot{background:var(--red);}

.txh-loading{display:flex;flex-direction:column;gap:11px;margin-top:18px;}
.txh-skeleton{height:74px;border-radius:16px;background:var(--set-card-bg);border:1px solid var(--set-card-border);
  position:relative;overflow:hidden;}
.txh-skeleton::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 7%, transparent), transparent);
  transform:translateX(-100%);animation:shimmer 1.3s infinite;}
@keyframes shimmer{to{transform:translateX(100%);}}
@media (prefers-reduced-motion:reduce){.txh-skeleton::after{animation:none;}}
.txh-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px;}
.txh-emptytitle{margin:16px 0 0;font-size:19px;font-weight:600;color:var(--text);text-wrap:balance;}
.txh-emptytext{margin:8px 0 0;font-size:14px;font-weight:400;color:var(--text-muted);line-height:1.5;}
.txh-empty-full{padding:40px 24px;}
.txh-emptyart{position:relative;width:120px;height:120px;display:grid;place-items:center;margin-bottom:6px;}
.txh-emptyring{position:absolute;inset:0;border-radius:50%;border:1px solid color-mix(in srgb, var(--gold) 26%, transparent);}
.txh-emptyring.two{inset:18px;border-color:color-mix(in srgb, var(--gold) 16%, transparent);}
.txh-emptyglyph{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb, var(--gold) 15%, transparent);color:var(--gold);}
.txh-empty-center{flex:1 1 auto;justify-content:center;padding-bottom:64px;}
@media (prefers-reduced-motion:no-preference){
  .txh-empty-center .txh-emptyart{animation:txhFloat 3.4s ease-in-out infinite;}
  .txh-empty-center .txh-emptyring{animation:txhPulse 3.4s ease-in-out infinite;}
  .txh-empty-center .txh-emptyring.two{animation-delay:.5s;}
}
@keyframes txhFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes txhPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.08);opacity:.55;}}
.txh-emptyactions{display:flex;flex-direction:column;gap:11px;width:100%;margin-top:26px;}
.txh-emptyactions .primary-btn,.txh-emptyactions .ghost-btn{width:100%;}

.review-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  margin-top:16px;padding:12px;border-radius:13px;background:var(--gold-grad);
  color:var(--gold-grad-text);font-size:15px;font-weight:600;white-space:nowrap;
  box-shadow:0 8px 20px -6px rgba(255,170,30,0.45);transition:transform .12s;}
.review-btn:active{transform:scale(.985);}

/* ============ AUTH MODULE ============ */
.screen:has(> .auth-screen){display:flex;flex-direction:column;}
.auth-screen{min-height:100%;flex:1 1 auto;display:flex;flex-direction:column;padding:0 24px 26px;}
.auth-screen .auth-scroll{flex:1 1 auto;display:flex;flex-direction:column;}
.auth-topbar{display:flex;align-items:center;gap:8px;height:48px;flex:0 0 48px;margin:0 -4px 20px;}
.auth-back{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--text);
  background:var(--bell-bg);transition:transform .12s;}
.auth-back:active{transform:scale(.92);}

/* logo + heads */
.logo-mark{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;
  background:var(--gold-grad);box-shadow:0 12px 30px -10px rgba(255,170,30,0.5),inset 0 1px 0 rgba(255,255,255,0.35);}
.logo-mark.lg{width:104px;height:104px;border-radius:30px;}
.brand-logo{display:block;width:auto;height:58px;object-fit:contain;}
.brand-logo.lg{height:92px;}
[data-theme="light"] .brand-logo{filter:drop-shadow(0 2px 10px rgba(170,130,40,0.22));}
.auth-wordmark{font-size:25px;font-weight:700;color:var(--text);letter-spacing:.3px;margin-top:18px;}
.auth-wordmark .wm-gold{color:var(--gold);}
.auth-tagline{font-size:14px;font-weight:400;color:var(--text-muted);margin-top:5px;letter-spacing:1.5px;text-transform:uppercase;}
.auth-h1{font-size:27px;font-weight:600;color:var(--text);margin:0;line-height:1.15;}
.auth-sub{font-size:14.5px;font-weight:400;color:var(--text-muted);margin:10px 0 0;line-height:1.45;}

/* form fields */
.auth-form{display:flex;flex-direction:column;gap:15px;margin-top:28px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field-label{font-size:13px;font-weight:500;color:var(--buy-label);letter-spacing:.2px;}
.field-label .req{color:var(--red);}
.input-wrap{display:flex;align-items:center;gap:10px;background:var(--field-grad);
  border:1px solid var(--buy-inset-border);border-radius:14px;padding:0 14px;width:100%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);transition:border-color .15s;}
/* read-only auto-filled field */
.ro-wrap{cursor:default;background:var(--field-grad);opacity:.85;overflow:hidden;}
.input-wrap:focus-within{border-color:var(--gold);}
.input-wrap .lead-icon{color:var(--buy-label);display:grid;place-items:center;flex:0 0 auto;}
.input-wrap input,.input-wrap select{flex:1;min-width:0;border:none;background:transparent;
  padding:11px 0;font-size:16px;font-weight:500;color:var(--text);font-family:inherit;outline:none;}
.input-wrap input::placeholder{color:var(--text-dim);font-weight:400;}
.input-wrap select{color:var(--text);appearance:none;cursor:pointer;}
.input-wrap select.placeholder{color:var(--text-dim);font-weight:400;}
.input-wrap .trail-btn{color:var(--buy-label);display:grid;place-items:center;flex:0 0 auto;cursor:pointer;}
.input-wrap .chevron{color:var(--text-dim);flex:0 0 auto;pointer-events:none;}
.field-hint{font-size:12px;font-weight:400;color:var(--text-dim);margin-top:1px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field-row .field{min-width:0;overflow:hidden;}

/* phone country selector */
.phone-wrap{padding-left:6px;}
.phone-cc{display:flex;align-items:center;gap:5px;padding:8px 6px 8px 8px;background:none;border:none;
  cursor:pointer;flex:0 0 auto;}
.phone-flag{font-size:22px;line-height:1;}
.phone-caret{color:var(--text-dim);display:grid;transform:rotate(90deg);}
.phone-sep{width:1px;align-self:stretch;margin:9px 10px 9px 4px;background:var(--buy-inset-border);flex:0 0 auto;}
.phone-wrap input{padding-left:0;}

/* country bottom sheet */
.cs-sheet{padding:10px 20px 20px;}
.cs-list{margin-top:12px;max-height:340px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;gap:2px;}
.cs-list::-webkit-scrollbar{width:0;}
.cs-item{display:flex;align-items:center;gap:13px;width:100%;min-height:50px;padding:11px 12px;
  border-radius:12px;background:transparent;border:none;font-family:inherit;cursor:pointer;
  transition:background .12s;}
.cs-item:active{background:var(--buy-tabbar-bg);}
.cs-item.sel{background:var(--set-rowicon-bg);}
.cs-flag{font-size:24px;line-height:1;flex:0 0 auto;}
.cs-name{flex:1 1 auto;text-align:left;font-size:16px;font-weight:500;color:var(--text);}
.cs-item.sel .cs-name{color:var(--gold);}
.cs-empty{text-align:center;padding:30px;font-size:14px;font-weight:400;color:var(--text-muted);}

/* custom dropdown */
.dd-wrap{position:relative;}
.dd-trigger{width:100%;cursor:pointer;text-align:left;font-family:inherit;}
.dd-value{flex:1;min-width:0;font-size:16px;font-weight:500;color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;padding:11px 0;}
.dd-trigger.placeholder .dd-value{color:var(--text-dim);font-weight:400;}
.field.is-disabled{opacity:.55;}
.field.is-disabled .dd-trigger{cursor:not-allowed;}
/* read-only auto-filled field */
.ro-wrap{cursor:default;opacity:.85;overflow:hidden;}
.ro-value{flex:1 1 auto;font-size:16px;font-weight:500;color:var(--text);padding:11px 0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.ro-placeholder{color:var(--text-dim);font-weight:400;font-size:16px;}
.ro-check{color:var(--gold);display:grid;place-items:center;flex:0 0 auto;}
.field-auto-tag{font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.4px;margin-left:6px;
  background:color-mix(in srgb, var(--gold) 12%, transparent);padding:2px 7px;border-radius:999px;}
.field-err{color:var(--red) !important;}
.input-error{border-color:color-mix(in srgb, var(--red) 50%, var(--buy-inset-border)) !important;}
.dd-wrap.open .dd-trigger{border-color:var(--gold);}
.dd-caret{transition:transform .2s ease;transform:rotate(90deg);}
.dd-wrap.open .dd-caret{transform:rotate(-90deg);}
.dd-menu{position:absolute;top:calc(100% + 6px);left:0;width:100%;z-index:50;
  background:var(--sheet-bg);border:1px solid var(--gc-border);border-radius:14px;
  padding:6px;max-height:232px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  box-shadow:0 16px 36px -12px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.04);
  animation:ddOpen .16s ease;}
.dd-menu::-webkit-scrollbar{width:0;}
@keyframes ddOpen{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.dd-menu{animation:none;}}
.dd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  min-height:46px;padding:11px 13px;border-radius:10px;background:transparent;border:none;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--text);text-align:left;cursor:pointer;
  transition:background .12s;}
.dd-item:active{background:var(--buy-tabbar-bg);}
.dd-item.sel{background:var(--set-rowicon-bg);color:var(--gold);}
.dd-check{display:grid;place-items:center;color:var(--gold);flex:0 0 auto;}

/* checkbox */
.check-row{display:flex;align-items:flex-start;gap:11px;margin-top:3px;cursor:pointer;}
.check-box{width:21px;height:21px;border-radius:6px;border:1.5px solid var(--buy-inset-border);
  background:var(--field-grad);flex:0 0 21px;display:grid;place-items:center;color:var(--gold-grad-text);
  transition:background .15s,border-color .15s;margin-top:1px;}
.check-row.on .check-box{background:var(--gold-grad);border-color:transparent;}
.check-text{font-size:13.5px;font-weight:400;color:var(--text-muted);line-height:1.5;}
.check-text .lnk{color:var(--gold);font-weight:500;}

/* buttons */
.primary-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  padding:12px;border-radius:15px;background:var(--gold-grad);color:var(--gold-grad-text);
  font-size:16px;font-weight:600;white-space:nowrap;box-shadow:0 10px 24px -8px rgba(255,170,30,0.5);
  transition:transform .12s;}
.primary-btn:active{transform:scale(.98);}
.primary-btn:disabled{opacity:.5;box-shadow:none;}
.ghost-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  padding:12px;border-radius:15px;background:transparent;border:1.5px solid var(--gc-border-strong,var(--buy-inset-border));
  color:var(--text);font-size:16px;font-weight:600;white-space:nowrap;transition:transform .12s,background .15s;}
.ghost-btn.gold{border-color:var(--gold);color:var(--gold);}
.ghost-btn:active{transform:scale(.98);}
.text-link{background:none;color:var(--gold);font-size:14.5px;font-weight:600;font-family:inherit;cursor:pointer;}
.auth-foot{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;
  font-size:14px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.auth-spacer{flex:1 1 auto;min-height:18px;}

/* welcome */
.welcome-hero{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:0;position:relative;padding-top:18px;}
.welcome-actions{display:flex;flex-direction:column;gap:12px;}
.guest-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;
  margin:8px auto 0;padding:10px 16px;border-radius:12px;background:transparent;border:none;
  font-family:inherit;font-size:15px;font-weight:600;color:var(--gold);
  white-space:nowrap;cursor:pointer;transition:opacity .12s;}
.guest-btn svg{color:var(--gold);}
.guest-btn:active{opacity:.6;}
.welcome-screen .auth-scroll{padding-bottom:0;}
.welcome-benefits{display:flex;flex-direction:column;gap:11px;margin-top:26px;}
.benefit-row{display:flex;align-items:center;gap:14px;background:var(--set-card-bg);
  border:1px solid var(--set-card-border);border-radius:16px;padding:13px 15px;}
.benefit-icon{width:42px;height:42px;border-radius:12px;flex:0 0 42px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.benefit-text{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.benefit-title{font-size:16px;font-weight:600;color:var(--text);white-space:nowrap;}
.benefit-sub{font-size:13px;font-weight:400;color:var(--text-muted);margin-top:1px;}
.welcome-trust{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:0 6px;
  font-size:13px;font-weight:400;color:var(--text-muted);line-height:1.45;text-align:left;}
.welcome-trust svg{color:var(--gold);flex:0 0 auto;margin-top:1px;}

/* splash */
.splash{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:0;overflow:hidden;}
.splash .splash-glow{position:absolute;width:420px;height:420px;border-radius:50%;
  background:var(--glow-bg);filter:blur(50px);top:18%;left:50%;transform:translateX(-50%);pointer-events:none;}
.splash>*{position:relative;z-index:1;}
.splash-loader{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);
  width:34px;height:34px;border-radius:50%;border:3px solid var(--buy-inset-border);
  border-top-color:var(--gold);animation:spin .8s linear infinite;}
.splash-logo{position:relative;z-index:1;width:68%;max-width:285px;height:auto;opacity:1;
  animation:splashIn 1s cubic-bezier(.2,.8,.3,1) both;}
.splash-hero{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;}
.splash-copy{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:24px;
  animation:splashIn 1.1s cubic-bezier(.2,.8,.3,1) .25s both;}
.splash-tagline1{font-size:16px;font-weight:600;color:var(--text);letter-spacing:.5px;
  white-space:nowrap;}
.splash-tagline2{font-size:16px;font-weight:500;color:var(--text-muted);letter-spacing:.3px;
  white-space:nowrap;text-align:center;}
@keyframes splashIn{from{transform:scale(.94);}to{transform:scale(1);}}
[data-theme="light"] .splash-logo{filter:drop-shadow(0 2px 14px rgba(170,130,40,0.25));}
@media (prefers-reduced-motion:reduce){.splash-logo{animation:none;}}
@keyframes spin{to{transform:translateX(-50%) rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.splash-loader{animation:none;}}

/* ============ GLOBAL TRACKING: medium + bold ============ */

/* ============ TOAST SYSTEM ============ */
.toast-stack{position:absolute;top:60px;left:0;right:0;z-index:100;
  display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 12px;}
.toast-item{display:flex;align-items:center;gap:10px;max-width:360px;width:100%;pointer-events:all;
  padding:11px 14px;border-radius:14px;
  background:var(--sheet-bg);border:1px solid var(--set-card-border);
  box-shadow:0 8px 24px -6px rgba(0,0,0,.5);
  animation:toastIn .28s cubic-bezier(.2,.8,.3,1.2) both;}
.toast-icon{width:24px;height:24px;border-radius:8px;flex:0 0 24px;display:grid;place-items:center;}
.toast-msg{flex:1 1 auto;font-size:14px;font-weight:500;color:var(--text);line-height:1.35;min-width:0;}
.toast-close{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;font-size:18px;
  color:var(--text-dim);cursor:pointer;background:none;border:none;font-family:inherit;border-radius:6px;}
.toast-success .toast-icon{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green);}
.toast-success{border-color:color-mix(in srgb,var(--green) 22%,var(--set-card-border));}
.toast-error .toast-icon{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red);}
.toast-error{border-color:color-mix(in srgb,var(--red) 22%,var(--set-card-border));}
.toast-warning .toast-icon{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#f59e0b;}
.toast-warning{border-color:color-mix(in srgb,#f59e0b 22%,var(--set-card-border));}
.toast-info .toast-icon{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold);}
.toast-info{border-color:color-mix(in srgb,var(--gold) 22%,var(--set-card-border));}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px) scale(.96);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.toast-item{animation:none;}}
.hh-name,.hh-balance-value,.gc-unit,.pc-value,.ab-label,
.trend-head h2,.trend-change,.recent-head h2,.see-all,
.set-title,.kyc-herostatus,.bank-heroname,.bank-statuslabel,
.nt-cattitle,.nc-title,.logout-btn,.pure-pill,
.success-title,.proc-title,.bt-title,.auth-h1,
.txh-qty,.nc-markall,.rd-denomg,.rd-fulfiltitle,.rd-pickupname,
.sum-total-val,.nc-title{letter-spacing:.3px;}
.ar-title,.ar-amt,.set-name,.ss-option,.nt-optlabel,
.nc-time,.pk-locname,.rd-availval{letter-spacing:.2px;}
.primary-btn,.ghost-btn,.buy-tab,.trend-tab,.txh-toolbar .txh-chip{letter-spacing:.3px;}

/* OTP */
.otp-screen{min-height:100%;display:flex;flex-direction:column;padding:0 24px 0;}
.otp-top{flex:0 0 auto;}
.otp-bottom{margin:auto -24px 0;flex:0 0 auto;display:flex;flex-direction:column;gap:18px;
  padding:18px 24px calc(10px + env(safe-area-inset-bottom));
  background:var(--otp-tray);border-top:1px solid var(--buy-inset-border);}
.otp-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.otp-key{height:54px;border-radius:14px;background:var(--field-grad);border:1px solid var(--buy-inset-border);
  font-family:inherit;font-size:24px;font-weight:500;color:var(--text);display:grid;place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);transition:transform .1s,background .12s;cursor:pointer;}
.otp-key:active{transform:scale(.95);background:var(--buy-inset);}
.otp-key.spacer{background:none;border:none;box-shadow:none;cursor:default;}
.otp-key.fn{color:var(--gold);}
.otp-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:26px;}
.otp-cell{width:100%;aspect-ratio:1/1.15;border-radius:13px;background:var(--field-grad);
  border:1px solid var(--buy-inset-border);display:grid;place-items:center;
  font-size:24px;font-weight:600;color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);transition:border-color .15s;}
.otp-cell.filled{border-color:var(--gold);}
.otp-cell.active{border-color:var(--gold);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 0 0 3px color-mix(in srgb, var(--gold) 18%, transparent);}
.otp-timer{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:22px;
  font-size:14px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.otp-timer .t-val{color:var(--gold);font-weight:600;}

/* guest pill in header */
.guest-pill{display:inline-flex;align-items:center;gap:6px;
  background:color-mix(in srgb, var(--gold) 14%, transparent);
  color:var(--gold);font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;
  border:1px solid color-mix(in srgb, var(--gold) 42%, transparent);}
.guest-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent);}
.locked-tab{position:relative;}
.locked-tab::after{content:"";position:absolute;top:7px;right:50%;margin-right:-16px;width:7px;height:7px;
  border-radius:50%;background:var(--text-dim);}

/* auth-required bottom sheet */
.sheet-backdrop{position:absolute;inset:0;z-index:40;background:rgba(0,0,0,0.55);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  display:flex;align-items:flex-end;animation:fade .2s ease;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.auth-sheet{width:100%;background:var(--sheet-bg);border-radius:26px 26px 0 0;
  border-top:1px solid var(--gc-border);padding:10px 24px 28px;
  box-shadow:0 -18px 40px -16px rgba(0,0,0,0.6);animation:slideup .28s cubic-bezier(.2,.9,.3,1);}
@keyframes slideup{from{transform:translateY(100%);}to{transform:translateY(0);}}
.sheet-handle{width:42px;height:5px;border-radius:3px;background:var(--buy-inset-border);margin:0 auto 18px;}
.sheet-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;margin:0 auto;
  background:var(--set-rowicon-bg);color:var(--gold);}
.sheet-title{text-align:center;font-size:21px;font-weight:600;color:var(--text);margin:16px 0 0;}
.sheet-text{text-align:center;font-size:14px;font-weight:400;color:var(--text-muted);
  margin:8px 0 0;line-height:1.5;}
.sheet-actions{display:flex;flex-direction:column;gap:11px;margin-top:22px;}
.auth-sheet.tall{padding-top:14px;padding-bottom:32px;}
.sheet-benefits{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.sheet-benefit{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:13px;
  background:var(--set-card-bg);border:1px solid var(--set-card-border);}
.sheet-benefit-ic{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;
  background:var(--set-rowicon-bg);color:var(--gold);}
.sheet-benefit-tx{font-size:14px;font-weight:500;color:var(--text);line-height:1.3;}

/* profile setup avatar */
.setup-avatar{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:6px;}
.setup-ring{width:84px;height:84px;border-radius:50%;background:var(--gold-grad);display:grid;place-items:center;
  color:var(--gold-grad-text);font-size:30px;font-weight:700;box-shadow:0 0 0 4px var(--avatar-ring,rgba(240,166,41,.25));}
.guest-activity{display:flex;flex-direction:column;align-items:center;padding:14px 8px 0;}
