/* =====================================================
   千度系统 · 全局样式（青绿 + 金边 · 轻奢深色 · 移动端优先）
   ===================================================== */
:root{
  --bg-main:#06120F;
  --bg-grad:radial-gradient(120% 80% at 50% -10%, #0E2A22 0%, #06120F 60%);
  --bg-card:#0C1F1A;
  --bg-elev:#102A23;
  --color-primary:#0FBF8F;
  --color-primary-2:#13D6A1;
  --color-primary-soft:rgba(15,191,143,.12);
  --color-gold:#D4AF37;
  --color-gold-2:#F1CF6B;
  --color-gold-soft:rgba(212,175,55,.16);
  --text-main:#EAF6F1;
  --text-sub:#8FA8A0;
  --text-dim:#5C746C;
  --danger:#FF6B6B;
  --warn:#F0A35E;
  --radius:18px;
  --radius-sm:11px;
  --shadow:0 10px 30px rgba(0,0,0,.4);
  --gold-border:1px solid rgba(212,175,55,.42);
  --gold-glow:0 0 0 1px rgba(212,175,55,.25), 0 6px 20px rgba(212,175,55,.10);
  --maxw:480px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg-main);
  background-image:var(--bg-grad);
  background-attachment:fixed;
  color:var(--text-main);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:14px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.app{max-width:var(--maxw);margin:0 auto;min-height:100vh;position:relative;
  padding-bottom:74px;/* 给底部导航留位 */}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
input,textarea,select{font-family:inherit;outline:none;}

/* ===== 文字 ===== */
.t-main{color:var(--text-main);}
.t-sub{color:var(--text-sub);}
.t-gold{color:var(--color-gold-2);}
.t-primary{color:var(--color-primary);}
.t-dim{color:var(--text-dim);}
.money{font-weight:700;color:var(--color-gold-2);}
.fz-12{font-size:12px;} .fz-13{font-size:13px;} .fz-15{font-size:15px;}
.fz-18{font-size:18px;} .fz-22{font-size:22px;} .fz-28{font-size:28px;}
.bold{font-weight:700;} .center{text-align:center;}
.mt8{margin-top:8px;} .mt12{margin-top:12px;} .mt16{margin-top:16px;}
.mt20{margin-top:20px;} .mb12{margin-bottom:12px;}

/* ===== 金色标题装饰 ===== */
.gold-title{font-size:17px;font-weight:700;letter-spacing:.5px;position:relative;padding-left:12px;}
.gold-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--color-gold-2),var(--color-gold));}

/* ===== 卡片 ===== */
.card{background:var(--bg-card);border:var(--gold-border);border-radius:var(--radius);
  padding:16px;margin:12px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.card-soft{background:var(--bg-elev);border:1px solid rgba(15,191,143,.18);border-radius:var(--radius-sm);padding:14px;}
.card-gold{background:linear-gradient(135deg,rgba(212,175,55,.10),rgba(15,191,143,.08));
  border:var(--gold-border);}

/* ===== 按钮 ===== */
.btn{display:block;width:100%;border:none;border-radius:999px;padding:14px;
  font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;text-align:center;
  transition:.2s;color:#04130F;}
.btn-primary{background:linear-gradient(135deg,var(--color-primary-2),var(--color-primary));
  box-shadow:0 8px 22px rgba(15,191,143,.35);}
.btn-primary:active{transform:scale(.98);}
.btn-gold{background:linear-gradient(135deg,var(--color-gold-2),var(--color-gold));
  box-shadow:0 8px 22px rgba(212,175,55,.30);color:#1A1405;}
.btn-ghost{background:transparent;border:1px solid rgba(15,191,143,.5);color:var(--color-primary);}
.btn-sm{display:inline-block;width:auto;padding:8px 16px;font-size:13px;border-radius:999px;}
.btn:disabled{opacity:.5;}

/* ===== 表单 ===== */
.field{margin-bottom:14px;}
.field label{display:block;font-size:13px;color:var(--text-sub);margin-bottom:6px;}
.input{width:100%;background:var(--bg-elev);border:1px solid rgba(15,191,143,.22);
  border-radius:var(--radius-sm);padding:13px 14px;color:var(--text-main);font-size:16px;
  transition:.2s;}
.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);}
.input::placeholder{color:var(--text-dim);}

/* ===== 顶部栏 ===== */
.topbar{position:sticky;top:0;z-index:30;height:52px;display:flex;align-items:center;
  justify-content:center;background:rgba(6,18,15,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(212,175,55,.18);}
.topbar .title{font-weight:700;font-size:16px;letter-spacing:.5px;}
.topbar .left,.topbar .right{position:absolute;top:0;height:52px;display:flex;align-items:center;padding:0 14px;color:var(--color-primary);}
.topbar .left{left:0;} .topbar .right{right:0;}

/* ===== 底部导航（固定4菜单） ===== */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0 auto;
  width:100%;max-width:var(--maxw);height:64px;display:flex;background:rgba(6,18,15,.94);
  backdrop-filter:blur(12px);border-top:var(--gold-border);}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--text-dim);font-size:11px;gap:3px;transition:.2s;}
.tabbar a .ic{font-size:20px;line-height:1;}
.tabbar a.active{color:var(--color-gold-2);}
.tabbar a.active .ic{text-shadow:0 0 10px rgba(212,175,55,.6);}

/* ===== 列表 ===== */
.list{background:var(--bg-card);border:1px solid rgba(212,175,55,.15);border-radius:var(--radius);overflow:hidden;margin:12px;}
.list .item{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05);}
.list .item:last-child{border-bottom:none;}
.list .item .l{color:var(--text-sub);font-size:13px;}
.list .item .r{margin-left:auto;font-weight:600;}

/* ===== 徽章/标签 ===== */
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;}
.badge-gold{background:var(--color-gold-soft);color:var(--color-gold-2);border:1px solid rgba(212,175,55,.4);}
.badge-green{background:var(--color-primary-soft);color:var(--color-primary-2);}
.badge-dim{background:rgba(255,255,255,.06);color:var(--text-sub);}
.badge-vip{background:linear-gradient(135deg,var(--color-gold-2),var(--color-gold));color:#1A1405;}

/* ===== 进度条 ===== */
.progress{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;}
.progress > i{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-gold-2));border-radius:999px;}

/* ===== 网格 ===== */
.row{display:flex;gap:12px;}
.row > *{flex:1;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}

/* ===== 金额大卡（业绩/资产） ===== */
.stat{text-align:center;padding:6px;}
.stat .num{font-size:22px;font-weight:800;color:var(--color-gold-2);}
.stat .lab{font-size:12px;color:var(--text-sub);margin-top:2px;}

/* ===== 轮播 ===== */
.swiper{position:relative;width:calc(100% - 24px);margin:14px auto 4px;overflow:visible;}
.swiper-track{position:relative;width:100%;height:0;padding-bottom:41.6667%;border-radius:16px;overflow:hidden;
  background:var(--bg-card);box-shadow:var(--shadow);
  border:1px solid rgba(212,175,55,.22);}
.swiper .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .55s ease;z-index:1;display:flex;align-items:center;justify-content:center;}
.swiper .slide.on{opacity:1;z-index:2;}
.swiper .slide img{width:100%;height:100%;object-fit:cover;display:block;}
.swiper .slide.txt{color:var(--color-gold-2);font-weight:700;font-size:16px;
  background:linear-gradient(135deg,#0E2A22,#06120F);}
.swiper .dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:3;}
.swiper .dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);transition:all .3s;}
.swiper .dots i.on{background:var(--color-gold-2);width:16px;border-radius:3px;}

/* ===== 通用区块间距 ===== */
.section{padding:4px 0;}
.pad{padding:16px;}

/* ===== 加载/Toast ===== */
#toast{position:fixed;left:50%;top:30%;transform:translateX(-50%);z-index:9999;
  background:rgba(0,0,0,.85);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;
  border:1px solid rgba(212,175,55,.4);max-width:80%;text-align:center;display:none;}
#loading{position:fixed;inset:0;z-index:9998;background:rgba(6,18,15,.6);display:none;
  align-items:center;justify-content:center;}
#loading .spin{width:42px;height:42px;border:3px solid rgba(15,191,143,.3);
  border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ===== 弹窗 ===== */
.modal-mask{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.6);display:none;
  align-items:flex-start;justify-content:center;padding:20px 20px 60px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.modal{width:100%;max-height:calc(100vh - 80px);overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--bg-card);border:var(--gold-border);border-radius:var(--radius);
  padding:20px 20px 24px 20px;box-shadow:var(--shadow);margin:auto;}
.modal h3{margin:0 0 14px;font-size:17px;}

/* ===== 空态 ===== */
.empty{text-align:center;color:var(--text-dim);padding:50px 0;font-size:13px;}

/* ===== 角标 ===== */
.corner{position:absolute;top:0;right:0;background:linear-gradient(135deg,var(--color-gold-2),var(--color-gold));
  color:#1A1405;font-size:10px;font-weight:700;padding:3px 8px;border-bottom-left-radius:10px;}

/* ===== 头像 ===== */
.avatar{width:46px;height:46px;border-radius:50%;background:var(--color-primary-soft);
  border:1px solid rgba(15,191,143,.4);display:flex;align-items:center;justify-content:center;
  font-size:18px;color:var(--color-primary-2);overflow:hidden;flex:0 0 auto;cursor:pointer;}
.avatar img{width:100%;height:100%;object-fit:cover;}

/* ===== 升级档位卡 ===== */
.level-card{background:var(--bg-elev);border:1px solid rgba(212,175,55,.22);border-radius:var(--radius-sm);
  padding:16px;position:relative;}
.level-card.hot{border-color:var(--color-gold);box-shadow:var(--gold-glow);}

/* ===== 兼容 App.toast / loading / modal ===== */
.qd-toast{position:fixed;left:50%;top:32%;transform:translateX(-50%);z-index:9999;
  background:rgba(0,0,0,.85);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;
  border:1px solid rgba(212,175,55,.4);max-width:80%;text-align:center;opacity:0;
  transition:.25s;pointer-events:none;}
.qd-toast{opacity:1;}
.qd-loading{position:fixed;inset:0;z-index:9998;background:rgba(6,18,15,.6);
  display:flex;align-items:center;justify-content:center;}
.qd-loading-spin{width:42px;height:42px;border:3px solid rgba(15,191,143,.3);
  border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;}
.qd-modal{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.6);
  display:flex;align-items:center;justify-content:center;padding:24px;}
.qd-modal-box{width:100%;max-width:320px;background:var(--bg-card);border:var(--gold-border);
  border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);}
.qd-modal-header{font-weight:700;font-size:16px;margin-bottom:12px;}
.qd-modal-body{color:var(--text-sub);margin-bottom:18px;font-size:14px;}
.qd-modal-footer{display:flex;gap:12px;}
.qd-modal-footer button{flex:1;padding:11px;border:none;border-radius:999px;font-weight:700;cursor:pointer;}
.qd-modal-footer button:not(.primary){background:var(--bg-elev);color:var(--text-sub);}
.qd-modal-footer button.primary{background:linear-gradient(135deg,var(--color-primary-2),var(--color-primary));color:#04130F;}
