*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{font-family:"PingFang SC","Microsoft YaHei",-apple-system,sans-serif;background:#F6F6F6;color:#333;line-height:1.5}
input,button{font-family:inherit;font-size:15px}
button{cursor:pointer;border:none}
.muted{color:#999;font-size:13px}
.empty{color:#BBB;text-align:center;padding:28px;font-size:14px}
/* 小程序色板：红涨 #E6432D / 绿跌 #09BB07 / 主绿 #1AAD19 / 背景 #F6F6F6 */

/* 登录 */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(160deg,#e8f5ec,#1AAD19)}
.auth-card{background:#fff;border-radius:20px;padding:36px 30px;width:100%;max-width:380px;box-shadow:0 16px 40px rgba(0,0,0,.12)}
.auth-logo{font-size:48px;text-align:center;margin-bottom:8px}
.auth-card h1{font-size:24px;text-align:center;color:#1AAD19}
.auth-sub{text-align:center;color:#8a9a92;font-size:13px;margin:6px 0 24px}
.auth-tabs{display:flex;background:#f0f4f1;border-radius:10px;overflow:hidden;margin-bottom:20px}
.auth-tab{flex:1;padding:10px;background:transparent;font-weight:600;color:#6b7a72}
.auth-tab.active{background:#1AAD19;color:#fff}
.auth-form input{width:100%;padding:14px;border:1.5px solid #dfe7e2;border-radius:10px;margin-bottom:12px;outline:none}
.auth-form input:focus{border-color:#1AAD19}
.auth-err{color:#e53935;font-size:13px;min-height:18px;margin-bottom:6px}
.btn-primary{width:100%;padding:14px;background:#1AAD19;color:#fff;border-radius:10px;font-weight:700;font-size:16px}
.btn-primary:active{opacity:.85}
.auth-foot{text-align:center;color:#b0bdb5;font-size:12px;margin-top:18px}

/* 顶栏（微信导航栏风格：绿底白字居中标题） */
.topnav{position:fixed;top:0;left:0;right:0;background:#1AAD19;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:11px 16px;height:52px;z-index:100}
.nav-brand{font-weight:700;font-size:16px}
.nav-user{display:flex;align-items:center;gap:8px}
.nav-user span{font-size:13px;opacity:.92}
.nav-btn{background:rgba(255,255,255,.18);color:#fff;padding:6px 12px;border-radius:8px;font-size:13px}
.nav-btn:active{background:rgba(255,255,255,.3)}

.container{max-width:900px;margin:0 auto;padding:64px 16px 72px}
.view{display:none}
.view.active{display:block}

/* 搜索 */
.search-box{display:flex;gap:10px;margin-bottom:16px}
.search-box input{flex:1;padding:13px 15px;border:1.5px solid #dfe7e2;border-radius:10px;outline:none;background:#fff}
.search-box input:focus{border-color:#1AAD19}
.search-box .btn-primary{width:auto;padding:13px 22px;flex-shrink:0}
.search-results{margin-bottom:8px}

.section{margin:20px 0}
.section-head h3{font-size:16px;margin-bottom:10px;color:#2c3b34}
.card-list{display:flex;flex-direction:column;gap:10px}
.fund-card{background:#fff;border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.04);cursor:pointer}
.fund-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.fc-name{font-weight:600;font-size:15px}
.fc-code{color:#8a9a92;font-size:12px;margin-top:2px}
.fc-right{text-align:right}
.fc-nav{font-weight:700;font-size:16px}
/* 涨跌色：红涨绿跌（小程序习惯） */
.fc-rate.up{color:#E6432D}
.fc-rate.down{color:#09BB07}
.fc-rate{font-size:13px;margin-top:2px}

/* 账户卡 */
.account-card{background:linear-gradient(135deg,#0f9d58,#1AAD19);color:#fff;border-radius:16px;padding:22px;margin-bottom:16px}
.account-card.real{background:linear-gradient(135deg,#2c3b34,#3e5a4e)}
.ac-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.ac-row span{font-size:14px;opacity:.85}
.ac-row strong{font-size:26px}
.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.ac-grid div span{display:block;font-size:12px;opacity:.8;margin-bottom:4px}
.ac-grid b{font-size:16px}
.ac-profit.up{color:#ffe08a}
.ac-profit.down{color:#ffb3b3}
.ac-actions{display:flex;gap:8px}
.btn-small{background:rgba(255,255,255,.2);color:#fff;padding:8px 14px;border-radius:8px;font-size:13px}
.btn-block{display:block;width:100%;margin-top:10px}
.btn-ghost{background:#fff;color:#2c3b34;padding:12px 16px;border-radius:10px;font-weight:600;border:1.5px solid #dfe7e2}

/* 弹层 */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:flex-end;justify-content:center}
.modal-box{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #eef2ef}
.modal-head h2{font-size:18px}
.modal-close{background:none;font-size:24px;color:#8a9a92;line-height:1}
.modal-body{padding:18px 20px}
.fm-quote{background:#f0faf2;border-radius:12px;padding:16px;text-align:center;margin-bottom:14px}
.fm-nav{font-size:32px;font-weight:800}
.fm-nav small{font-size:12px;color:#8a9a92;margin-left:6px;font-weight:400}
.fm-rate{font-size:15px;margin-top:4px}
.fm-rate.up{color:#E6432D}.fm-rate.down{color:#09BB07}
.fm-actions{display:flex;gap:8px;margin-bottom:14px}
.fm-actions .btn-primary{flex:1;width:auto}
.fm-actions .btn-ghost{flex:1;text-align:center}
.fm-tabs{display:flex;border-bottom:1.5px solid #eef2ef;margin-bottom:12px}
.fm-tab{flex:1;padding:10px;background:none;color:#6b7a72;font-weight:600;border-bottom:2px solid transparent}
.fm-tab.active{color:#1AAD19;border-bottom-color:#1AAD19}
.fm-pane{font-size:14px}
.mdl-field{margin:10px 0}
.mdl-field label{display:block;font-size:13px;color:#6b7a72;margin-bottom:6px}
.mdl-field input{width:100%;padding:12px;border:1.5px solid #dfe7e2;border-radius:8px;outline:none}
.row2{display:flex;gap:10px}
.row2 input{flex:1}
.trend-chart{height:220px;position:relative}

/* toast */
#toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);background:#2c3b34;color:#fff;padding:11px 22px;border-radius:20px;font-size:14px;opacity:0;transition:opacity .2s;z-index:300;pointer-events:none}
#toast.show{opacity:1}

/* 明细行 */
.mini-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed #eef2ef;font-size:13px}
.mini-row:last-child{border:none}
.hold-row{background:#fff;border-radius:12px;padding:14px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.04)}
/* ===== 手机端自适应 ===== */
@media(max-width:480px){
  .topnav{padding:10px 12px;flex-wrap:wrap;gap:6px}
  .nav-brand{font-size:15px}
  .nav-user{gap:5px}
  .nav-btn{padding:5px 9px;font-size:12px}
  .container{padding:12px}
  .auth-card{padding:28px 22px}
  .fm-nav{font-size:26px}
  .ac-row strong{font-size:22px}
  .account-card{padding:18px}
  .ac-grid{grid-template-columns:1fr 1fr}
  .modal-box{max-height:94vh}
  .fund-card{padding:13px}
}
@media(max-width:360px){
  .ac-grid{grid-template-columns:1fr 1fr;gap:10px}
  .nav-user span{display:none}
}

/* ===== 底部 TabBar（微信小程序风格） ===== */
.tabbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #E6E6E6;display:flex;height:56px;z-index:100;padding-bottom:env(safe-area-inset-bottom)}
.tab-item{flex:1;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#999}
.tab-item.active{color:#1AAD19}
.tab-ico{font-size:20px;line-height:1}
.tab-label{font-size:11px}
