@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');

:root{
  --bg:#0A1230; --bg2:#0A122C; --surface:#101F44; --surface-2:#152652; --border:#F5B833;
  --border-soft:rgba(245,184,51,.35); --border-dim:#22315E;
  --text:#F3F6FF; --muted:#8FA3C8; --faint:#5C6E93;
  --orange:#F5B833; --orange-2:#FFD166; --orange-deep:#C9871A;
  --green:#34D399; --red:#F35B5B; --purple:#8B6CF5; --blue:#4C6FFF;
  --glow: 0 0 0 1px var(--border-soft), 0 10px 26px -14px rgba(245,184,51,.35);
}
*{box-sizing:border-box}
html,body{margin:0; padding:0}
body{
  background:var(--bg); color:var(--text); font-family:'Inter',system-ui,sans-serif;
  min-height:100vh; -webkit-font-smoothing:antialiased;
  font-feature-settings:"zero" 0; font-variant-numeric:normal;
  -webkit-user-select:none; user-select:none; -webkit-tap-highlight-color:transparent;
}
input, textarea{-webkit-user-select:text; user-select:text}
a{text-decoration:none; color:inherit}
svg{display:block; flex-shrink:0}
.app{
  max-width:480px; margin:0 auto; min-height:100vh; position:relative; display:flex; flex-direction:column;
  background:
    linear-gradient(115deg, transparent 47%, rgba(245,184,51,.05) 48%, transparent 49%),
    linear-gradient(115deg, transparent 60%, rgba(245,184,51,.04) 61%, transparent 62%),
    linear-gradient(160deg, #0D1B45 0%, #0A1230 45%, #070C22 100%);
}
.px{padding-left:18px; padding-right:18px}

/* ---- buttons / inputs ---- */
.grad-btn{
  background:linear-gradient(180deg,var(--orange-2),var(--orange-deep));
  color:#1F1400; font-family:'Sora',sans-serif; font-weight:700; text-align:center;
  border-radius:14px; box-shadow:0 8px 20px -8px rgba(245,184,51,.6);
  border:none; width:100%; cursor:pointer; font-size:14.5px; padding:15px 0; display:block;
}
.grad-btn:disabled{opacity:.6; cursor:not-allowed}
.outline-btn{
  border:1px solid var(--border-dim); border-radius:14px; text-align:center; color:var(--text);
  font-family:'Sora',sans-serif; font-weight:700; background:var(--surface); width:100%;
  padding:15px 0; font-size:14.5px; cursor:pointer;
}
.big-btn{margin-bottom:14px}
.foot-note{text-align:center; font-size:11.5px; color:var(--faint)}
.foot-note b, .foot-note a{color:var(--orange-2); font-weight:700}

/* ---- top bar ---- */
.topbar{display:flex; align-items:center; justify-content:center; position:relative; padding:20px 18px 14px}
.back-pill{
  position:absolute; left:16px; top:16px; width:34px; height:34px; border-radius:11px;
  background:linear-gradient(180deg,var(--orange-2),var(--orange-deep)); display:flex; align-items:center; justify-content:center;
  color:#1F1400; font-size:16px; font-weight:700; border:none; cursor:pointer;
  box-shadow:0 6px 16px -8px rgba(245,184,51,.6);
}
.topbar h4{font-family:'Sora',sans-serif; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-2); font-weight:700; margin:0}

/* ---- auth tabs ---- */
.auth-tabs{display:flex; gap:8px; background:var(--surface); border-radius:14px; padding:5px; margin:0 18px 22px}
.auth-tab{flex:1; text-align:center; padding:11px 0; border-radius:11px; font-family:'Sora',sans-serif; font-weight:700; font-size:13.5px; color:var(--muted)}
.auth-tab.active{background:linear-gradient(180deg,var(--orange-2),var(--orange-deep)); color:#1F1400}

.brand-mark{display:flex; flex-direction:column; align-items:center; margin-bottom:26px}
.brand-mark .coin{
  width:64px; height:64px; border-radius:20px; background:linear-gradient(150deg,var(--orange-2),var(--orange-deep));
  display:flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:10px;
  box-shadow:0 10px 24px -10px rgba(245,184,51,.6);
}
.brand-mark .name{font-family:'Sora',sans-serif; font-weight:800; font-size:17px; letter-spacing:.02em; color:var(--orange-2)}
.brand-mark .tag{font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-top:2px}

/* ---- form fields ---- */
.field{margin-bottom:16px}
.field label{
  display:block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--faint); margin-bottom:7px;
}
.field-row{display:flex; gap:8px}
.cc{
  width:64px; flex:0 0 auto; background:var(--surface); border:1px solid var(--border-dim); border-radius:12px;
  display:flex; align-items:center; justify-content:center; gap:3px; font-weight:700; color:var(--orange-2); font-size:13px;
}
.input{
  flex:1; width:100%; background:var(--surface); border:1px solid var(--border-dim); border-radius:12px; padding:13px 14px;
  color:var(--text); font-size:13.5px;
}
.input:focus{outline:none; border-color:var(--orange-2)}
.input::placeholder{color:var(--faint)}
.input-wrap{position:relative}
.input-wrap .input{padding-right:42px}
.eye-toggle{
  position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--faint);
  cursor:pointer; font-size:15px; padding:0;
}
.error-text{color:var(--red); font-size:11.5px; margin-top:6px}
.banner{
  border-radius:12px; padding:11px 14px; font-size:12.5px; margin:0 18px 18px;
}
.banner.error{background:rgba(243,91,91,.12); border:1px solid rgba(243,91,91,.35); color:#FFB4B4}
.banner.success{background:rgba(62,210,140,.12); border:1px solid rgba(62,210,140,.35); color:#B7F3D6}

.captcha-row{display:flex; gap:8px; align-items:stretch}
.captcha-box{
  width:110px; flex:0 0 auto; border-radius:12px; overflow:hidden; border:1px solid var(--border-soft); cursor:pointer;
  display:flex; align-items:center; justify-content:center; background:var(--surface-2);
}
.captcha-box img{display:block; width:100%; height:44px}
.refresh{
  width:38px; flex:0 0 auto; border:1px solid var(--border-dim); border-radius:12px; display:flex; align-items:center; justify-content:center;
  color:var(--muted); font-size:14px; background:transparent; cursor:pointer;
}

.link-row{display:flex; justify-content:flex-end; margin:-6px 0 18px}
.link-row a{color:var(--orange-2); font-size:12px; font-weight:600}

.checkbox-row{display:flex; align-items:flex-start; gap:9px; margin:16px 0 22px}
.checkbox-row input{width:16px; height:16px; margin-top:2px; accent-color:var(--orange)}
.checkbox-row p{font-size:11.5px; color:var(--muted); line-height:1.5; margin:0}
.checkbox-row a{color:var(--orange-2); font-weight:600}

/* ---- home header ---- */
.home-header{display:flex; align-items:center; justify-content:space-between; padding:20px 18px 16px}
.greet-block{display:flex; align-items:center; gap:12px}
.avatar{
  width:52px; height:52px; border-radius:16px; background:linear-gradient(150deg,var(--orange-2),var(--orange-deep));
  display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:800; color:#1F1400; font-size:20px;
  box-shadow:0 10px 22px -10px rgba(245,184,51,.65); position:relative;
}
.crown-badge{
  position:absolute; top:-8px; left:-6px; width:22px; height:22px; border-radius:50%; background:#0E1C40;
  border:2px solid var(--bg); display:flex; align-items:center; justify-content:center; color:var(--orange-2);
}
.greet-text .hi{font-family:'Sora',sans-serif; font-weight:800; font-size:19px; display:flex; align-items:center; gap:7px; color:var(--text)}
.greet-text .meta{font-size:11.5px; color:var(--muted); margin-top:4px; display:flex; gap:8px; align-items:center; font-family:'JetBrains Mono',monospace}
.dot-sep{width:3px; height:3px; border-radius:50%; background:var(--faint)}
.bell{
  width:44px; height:44px; border-radius:14px; background:var(--surface); border:1px solid var(--border-soft);
  display:flex; align-items:center; justify-content:center; position:relative; color:var(--orange-2);
  box-shadow:0 8px 18px -10px rgba(245,184,51,.55);
}
.bell.unread::after{content:"";position:absolute; top:8px; right:9px; width:7px; height:7px; border-radius:50%; background:var(--red); border:2px solid var(--surface)}

.assets-card{
  margin:6px 18px 16px; padding:24px; border-radius:22px; position:relative; overflow:hidden;
  background:linear-gradient(150deg,#15305F,#0B1836 70%);
  border:1px solid var(--border); box-shadow:var(--glow);
}
.assets-shine{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg, transparent 55%, rgba(255,255,255,.05) 60%, transparent 66%);
}
.assets-arc{
  position:absolute; right:-40px; bottom:-50px; width:150px; height:150px; border-radius:50%;
  border:2px solid rgba(245,184,51,.35); pointer-events:none;
}
.assets-arc::after{
  content:""; position:absolute; inset:18px; border-radius:50%; border:1px solid rgba(245,184,51,.2);
}
.assets-top{display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1}
.assets-lab{font-size:12.5px; color:var(--muted); margin-bottom:10px; display:flex; align-items:center; gap:8px}
.assets-lab .coin-ic{color:var(--orange-2); display:flex}
.assets-tagline{
  font-family:'Sora',sans-serif; font-weight:700; font-size:12px; color:var(--orange-2);
  display:flex; align-items:center; gap:6px; background:rgba(245,184,51,.12); padding:6px 10px; border-radius:20px;
}
.assets-val{
  font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; font-size:36px; font-weight:700; letter-spacing:-.01em; position:relative; z-index:1;
  background:linear-gradient(120deg,#FFFDF6,var(--orange-2)); -webkit-background-clip:text; background-clip:text; color:transparent;
}

.stat-row{display:flex; gap:10px; margin:0 18px 22px}
.stat-card{
  flex:1; min-width:0; position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  padding:13px 12px; border-radius:16px; background:var(--surface); border:1px solid var(--border-dim);
}
.stat-ic{
  width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.stat-ic.blue{background:rgba(76,111,255,.16); color:var(--blue)}
.stat-ic.green{background:rgba(52,211,153,.16); color:var(--green)}
.stat-ic.gold{background:rgba(245,184,51,.16); color:var(--orange-2)}
.stat-body{width:100%; min-width:0}
.stat-body .v{font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.stat-body .v.pos{color:var(--green)}
.stat-body .l{font-size:9px; color:var(--faint); margin-top:3px; text-transform:uppercase; letter-spacing:.03em; line-height:1.3}
.stat-card .chev{position:absolute; top:13px; right:10px; color:var(--faint)}

.actions-row{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:0 18px 22px}
.action{display:flex; flex-direction:column; align-items:center; gap:9px}
.action .ic{
  width:58px; height:58px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  background:var(--surface); border:1px solid var(--border); color:var(--orange-2); box-shadow:var(--glow);
}
.action .lab{font-size:11.5px; color:var(--text); font-weight:600}

.panel{margin:0 18px 22px; padding:18px 18px 8px; border-radius:20px; background:var(--surface); border:1px solid var(--border); box-shadow:var(--glow)}
.panel-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:4px}
.panel-head-l{display:flex; align-items:center; gap:11px}
.panel-ic{
  width:32px; height:32px; border-radius:10px; background:rgba(245,184,51,.14); color:var(--orange-2);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.panel-head h5{font-family:'Sora',sans-serif; font-size:14.5px; margin:0; font-weight:700}
.panel-sub{font-size:10.5px; color:var(--faint); margin-top:1px}
.panel-head .pill{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:4px 10px; border-radius:20px; font-weight:600;
  display:inline-flex; align-items:center; gap:4px;
}
.pill.pos{background:rgba(62,210,140,.14); color:var(--green)}
.pill.neg{background:rgba(243,91,91,.14); color:var(--red)}
.chart-wrap{margin-top:10px}

.rewards-banner{
  margin:0 18px 22px; padding:15px 17px; border-radius:17px; display:flex; align-items:center; justify-content:space-between;
  background:linear-gradient(120deg,#152C63,#0E1C40); border:1px solid var(--border-soft); box-shadow:var(--glow);
}
.rewards-banner .l{display:flex; align-items:center; gap:12px}
.rewards-banner .ic{width:42px; height:42px; border-radius:12px; background:rgba(255,162,60,.16); color:var(--orange-2); display:flex; align-items:center; justify-content:center}
.rewards-banner .t{font-family:'Sora',sans-serif; font-size:13px; font-weight:700}
.rewards-banner .s{font-size:11px; color:var(--muted); margin-top:2px}
.rewards-banner .go{color:var(--orange-2); font-weight:700; font-size:12.5px; display:flex; align-items:center; gap:3px}

.section-row{display:flex; justify-content:space-between; align-items:center; margin:0 18px 12px}
.section-row h5{font-family:'Sora',sans-serif; font-size:15px; margin:0; font-weight:700}
.section-row .view-all{font-size:11.5px; color:var(--orange-2); font-weight:600; display:flex; align-items:center; gap:2px}

.plan-list{padding:0 18px 18px; display:flex; flex-direction:column; gap:14px}
.plan-card{
  border-radius:18px; background:var(--surface);
  border:1px solid var(--border-soft); position:relative; overflow:hidden; display:block; box-shadow:var(--glow);
}
.plan-photo{
  height:140px; background-size:cover; background-position:center; position:relative;
  background-color:var(--surface-2);
}
.plan-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(11,16,40,.88) 0%, rgba(11,16,40,.05) 55%)}
.plan-photo-top{position:absolute; top:10px; left:10px; right:10px; display:flex; justify-content:space-between; align-items:flex-start; z-index:1}
.plan-card .vip{
  display:inline-flex; align-items:center; gap:5px; font-size:10px; font-weight:700; background:rgba(11,16,40,.65);
  color:var(--orange-2); padding:4px 9px; border-radius:20px;
}
.plan-fixed{
  font-size:9.5px; font-weight:700; background:rgba(52,211,153,.85); color:#04241a; padding:4px 9px; border-radius:20px;
}
.plan-lock-ic{
  width:20px; height:20px; border-radius:50%; background:rgba(11,16,40,.7); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.plan-photo-name{position:absolute; left:12px; right:12px; bottom:10px; z-index:1; font-family:'Sora',sans-serif; font-weight:700; font-size:14.5px; color:#fff}

/* ---- coming soon / sold out overlays on plan photos ---- */
.plan-overlay{
  position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  background:rgba(10,15,35,.72); backdrop-filter:blur(1px);
}
.plan-overlay .tag{font-family:'Sora',sans-serif; font-weight:800; font-size:13px; letter-spacing:.04em; text-transform:uppercase}
.plan-overlay.soon .tag{color:var(--orange-2)}
.plan-overlay.sold .tag{color:var(--red)}
.plan-overlay .countdown{
  font-family:'JetBrains Mono',monospace; font-weight:700; font-size:16px; color:#fff; letter-spacing:.03em;
  background:rgba(0,0,0,.35); padding:5px 12px; border-radius:8px;
}
.plan-card.disabled .buy{opacity:.55; pointer-events:none}
.plan-body{padding:13px 15px 15px}
.plan-card .figs{display:flex; gap:18px; margin-bottom:14px}
.plan-card .fig .v{font-family:'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; font-weight:700; font-size:14px; color:var(--orange-2)}
.plan-card .fig .l{font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; margin-top:2px}
.plan-card .buy{
  display:inline-flex; align-items:center; gap:4px; padding:9px 20px; border-radius:11px; background:linear-gradient(180deg,var(--orange-2),var(--orange-deep));
  color:#1F1400; font-family:'Sora',sans-serif; font-weight:700; font-size:12.5px;
}
.empty-note{margin:0 18px 18px; color:var(--faint); font-size:12.5px}

/* ---- shared: quota progress (products listing) ---- */
.plan-quota{margin-bottom:12px}
.plan-quota-lab{display:flex; justify-content:space-between; font-size:9.5px; color:var(--faint); margin-bottom:5px}
.plan-quota-track{height:5px; border-radius:4px; background:var(--surface-2); overflow:hidden}
.plan-quota-fill{height:100%; background:linear-gradient(90deg,var(--orange),var(--orange-2)); border-radius:4px}

/* ---- shared: category pill tabs (Products page) ---- */
.cat-tabs{display:flex; gap:8px; margin:0 18px 18px; overflow-x:auto; padding-bottom:2px}
.cat-tab{
  flex:0 0 auto; padding:10px 20px; border-radius:20px; font-family:'Sora',sans-serif; font-weight:700; font-size:13px;
  background:var(--surface); border:1px solid var(--border-dim); color:var(--muted); white-space:nowrap;
}
.cat-tab.active{background:linear-gradient(180deg,var(--orange-2),var(--orange-deep)); color:#1F1400; border-color:transparent}
.cat-banner{
  margin:0 18px 18px; padding:16px; border-radius:16px; background:linear-gradient(150deg,#15305F,#0B1836 70%);
  border:1px solid var(--border); box-shadow:var(--glow);
}
.cat-banner .t{font-family:'Sora',sans-serif; font-weight:800; font-size:15px; margin-bottom:3px}
.cat-banner .s{font-size:11.5px; color:var(--muted)}

/* ---- bottom nav ---- */
.bottomnav{
  position:sticky; bottom:0; display:flex; background:#0B1638; border-top:1px solid var(--border-soft); padding:11px 6px 9px; margin-top:auto;
}
.nav-item{flex:1; display:flex; flex-direction:column; align-items:center; gap:5px; font-size:10px; color:var(--faint); font-weight:600}
.nav-item .ic{display:flex}
.nav-item.active{color:var(--orange-2)}

.icon-btn{
  width:38px; height:38px; border-radius:12px; background:var(--surface); border:1px solid var(--border-dim);
  display:flex; align-items:center; justify-content:center; color:var(--text); flex-shrink:0;
}

.stub-wrap{padding:60px 24px; text-align:center; color:var(--muted)}
.stub-wrap .ic{font-size:34px; margin-bottom:14px}
.stub-wrap h3{font-family:'Sora',sans-serif; color:var(--text); margin:0 0 8px}

/* ---- shared: detail-page topbar ---- */
.dtopbar{display:flex; align-items:flex-start; justify-content:space-between; padding:20px 18px 4px; gap:10px}
.dtopbar .l{display:flex; align-items:flex-start; gap:12px}
.dtopbar h2{font-family:'Sora',sans-serif; font-size:16.5px; font-weight:800; margin:0}
.dtopbar p{font-size:11px; color:var(--muted); margin:3px 0 0; line-height:1.5; max-width:280px}
.badge{font-size:10px; font-weight:700; padding:5px 11px; border-radius:20px; flex-shrink:0}
.badge.green{background:rgba(52,211,153,.16); color:var(--green)}
.badge.purple{background:rgba(139,108,245,.16); color:var(--purple); display:flex; align-items:center; gap:4px}

/* ---- shared: sectioned card ---- */
.dcard{margin:16px 18px; padding:16px 17px; border-radius:16px; background:var(--surface); border:1px solid var(--border-dim)}
.dcard.notice{background:rgba(139,108,245,.08); border-color:rgba(139,108,245,.3)}
.dcard.notice-green{background:rgba(52,211,153,.07); border-color:rgba(52,211,153,.28)}
.dcard-head{display:flex; align-items:flex-start; gap:11px}
.dcard-head .ic{width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0}
.dcard-head .t{font-family:'Sora',sans-serif; font-weight:700; font-size:13.5px; margin-bottom:3px}
.dcard-head .s{font-size:11.5px; color:var(--muted); line-height:1.5}

.section-label{margin:20px 18px 10px; font-size:10.5px; color:var(--faint); text-transform:uppercase; letter-spacing:.06em; font-weight:700}
.field-locked{position:relative}
.field-locked .input{padding-right:38px; color:var(--muted)}
.field-locked .lock-ic{position:absolute; right:13px; top:50%; transform:translateY(-50%); color:var(--faint)}
.field-hint{font-size:10.5px; color:var(--faint); margin-top:6px; display:flex; align-items:center; gap:5px}
.req{color:var(--red)}

/* ---- shared: tab switch ---- */
.tab-switch{display:flex; margin:0 18px 16px; border-bottom:1px solid var(--border-dim)}
.tab-switch a, .tab-switch button{
  flex:1; text-align:center; padding:12px 0; font-family:'Sora',sans-serif; font-weight:700; font-size:13px; color:var(--faint);
  background:none; border:none; border-bottom:2px solid transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px;
}
.tab-switch a.active, .tab-switch button.active{color:var(--orange-2); border-color:var(--orange-2)}

/* ---- shared: quick amount grid ---- */
.qty-label{display:flex; justify-content:space-between; font-size:11px; color:var(--muted); margin-bottom:9px}
.qty-label b{color:var(--faint); font-weight:600}
.qty-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-bottom:14px}
.qty-btn{padding:11px 0; text-align:center; border-radius:11px; background:var(--surface-2); border:1px solid var(--border-dim); font-family:'JetBrains Mono',monospace; font-weight:600; font-size:13px; color:var(--text); cursor:pointer}
.qty-btn.active{background:linear-gradient(180deg,var(--orange-2),var(--orange-deep)); color:#1F1400; border-color:transparent}

/* ---- shared: radio row (gateway/network picker) ---- */
.radio-row{display:flex; align-items:center; justify-content:space-between; padding:14px 15px; border-radius:13px; background:var(--surface-2); border:1px solid var(--border-dim); margin-bottom:9px; cursor:pointer}
.radio-row.selected{border-color:var(--orange-2)}
.radio-row .l{display:flex; align-items:center; gap:11px}
.radio-dot{width:18px; height:18px; border-radius:50%; border:2px solid var(--border-dim); flex-shrink:0; display:flex; align-items:center; justify-content:center}
.radio-row.selected .radio-dot{border-color:var(--orange-2)}
.radio-row.selected .radio-dot::after{content:""; width:9px; height:9px; border-radius:50%; background:var(--orange-2)}
.radio-row .name{font-weight:700; font-size:13px}
.radio-row .meta{font-size:10.5px; color:var(--faint); margin-top:2px}

/* ---- shared: instructions list ---- */
.instr-box{margin:0 18px 24px; padding:16px; border-radius:15px; background:rgba(139,108,245,.08); border:1px solid rgba(139,108,245,.28)}
.instr-box .head{display:flex; align-items:center; gap:8px; color:var(--purple); font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px}
.instr-box ol{margin:0; padding-left:18px; font-size:12px; color:var(--muted); line-height:1.7}

/* ---- shared: empty state ---- */
.dempty{padding:56px 24px; text-align:center}
.dempty .ic{width:60px; height:60px; border-radius:16px; background:var(--surface); border:1px solid var(--border-dim); display:flex; align-items:center; justify-content:center; margin:0 auto 15px; color:var(--faint)}
.dempty h4{font-family:'Sora',sans-serif; font-size:14px; margin:0 0 4px}
.dempty p{color:var(--faint); font-size:12px; margin:0}

/* ---- shared: list rows (settings / linked cards / fund records) ---- */
.list-row{display:flex; align-items:center; gap:13px; padding:14px 15px; border-radius:14px; background:var(--surface); border:1px solid var(--border-dim); margin:0 18px 9px}
.list-row .ic{width:36px; height:36px; border-radius:11px; background:var(--surface-2); color:var(--orange-2); display:flex; align-items:center; justify-content:center; flex-shrink:0}
.list-row .body{flex:1; min-width:0}
.list-row .t{font-weight:600; font-size:13px}
.list-row .s{font-size:10.5px; color:var(--faint); margin-top:2px}
.list-row .chev{color:var(--faint); flex-shrink:0}
.list-row .val{color:var(--muted); font-size:12px; flex-shrink:0}
.list-group{margin-bottom:6px}
