/* 轻舟出行 · 三端共享样式 */
:root{
  --blue:#0A84FF; --deep:#0A5BB0; --dark:#0B1220; --bg:#f4f7fb; --card:#fff;
  --text:#1a2433; --muted:#5c6b80; --green:#12b76a; --red:#f04438; --gold:#ffb020;
  --border:#e7ecf3; --orange:#ff6600;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"PingFang SC","Microsoft YaHei",-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none}
input,select{font-family:inherit}
.hidden{display:none!important}

/* 顶部导航 */
.topbar{background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}
.topbar .brand{font-size:19px;font-weight:900;display:flex;align-items:center;gap:8px}
.topbar .brand i{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:900}
.topbar .user{font-size:13px;opacity:.95;padding:5px 13px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);cursor:pointer;transition:.2s}
.topbar .user:hover{background:rgba(255,255,255,.26)}

/* 容器与卡片 */
.wrap{max-width:720px;margin:0 auto;padding:16px}
.card{background:var(--card);border-radius:14px;padding:18px;box-shadow:0 4px 16px rgba(15,40,80,.06);margin-bottom:14px;border:1px solid var(--border)}
.card h3{font-size:15px;margin-bottom:12px;color:var(--deep)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px}
input,select{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;background:#fbfcfe}
input:focus,select:focus{outline:none;border-color:var(--blue)}

/* 按钮 */
.btn{display:block;width:100%;padding:12px;border-radius:12px;font-size:15px;font-weight:800;text-align:center;transition:.2s}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff;box-shadow:0 6px 16px rgba(10,132,255,.3)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-green{background:var(--green);color:#fff}
.btn-ghost{background:#eef3f9;color:var(--deep)}
.btn-red{background:#fdecea;color:var(--red)}
.btn-sm{padding:7px 12px;font-size:12.5px;border-radius:8px;display:inline-block;width:auto}
.btn-orange{background:linear-gradient(135deg,#ff9f1c,var(--orange));color:#fff}

/* 状态标签 */
.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700}
.t-pending{background:#fff4e0;color:#b25e00}
.t-accepted{background:#e8f4ff;color:#0866c2}
.t-ongoing{background:#e6fbee;color:#0a8a4c}
.t-done{background:#eef1f6;color:#5c6b80}
.t-cancel{background:#fdecea;color:#c2402f}

/* 状态筛选（行程 Tab） */
.flt{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px;-webkit-overflow-scrolling:touch}
.flt button{flex-shrink:0;padding:5px 13px;border-radius:999px;background:#f0f4fa;color:var(--muted);font-size:12px;font-weight:700;border:1px solid transparent}
.flt button.on{background:var(--blue);color:#fff}
.flt button:hover{border-color:var(--blue)}

/* 权益卡有效期 */
.benefit-card .bvalid{font-size:10.5px;color:#7c9bc0;margin-top:3px}
.lv1-tip{font-size:11.5px;color:var(--gold);background:#fff7e8;border:1px solid #ffe3b3;border-radius:8px;padding:6px 10px;margin-bottom:10px}

/* 订单条目 */
.ord{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px;background:#fff}
.ord .row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ord .route{font-size:14px;font-weight:700;margin-bottom:4px}
.ord .meta{font-size:12px;color:var(--muted)}
.ord .price{font-size:17px;font-weight:900;color:var(--deep)}
.ord .acts{display:flex;gap:8px;margin-top:10px}

/* 预估面板 */
.est{background:linear-gradient(135deg,#0b1220,#0d2742);color:#fff;border-radius:14px;padding:16px;margin-bottom:14px}
.est .big{font-size:26px;font-weight:900;color:#7cc7ff}
.est .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;font-size:12px;color:#b9cde6}
.est .grid b{display:block;font-size:15px;color:#fff}

/* Tab 导航（主页面） */
.tabs{display:flex;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:58px;z-index:10}
.tabs button{flex:1;padding:13px;background:none;font-size:14.5px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent}
.tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}
.tab-dot{display:inline-block;margin-left:4px;background:var(--red);color:#fff;font-size:10px;font-weight:800;min-width:15px;height:15px;line-height:15px;border-radius:999px;padding:0 4px;vertical-align:1px}

/* 管理端侧栏 */
.admin-shell{display:flex;min-height:100vh}
.aside{width:170px;background:var(--dark);color:#cfe0f5;padding:18px 0;flex-shrink:0}
.aside .logo{padding:0 18px 16px;font-size:17px;font-weight:900;color:#fff}
.aside a{display:block;padding:11px 18px;font-size:13.5px;color:#aebfda;cursor:pointer}
.aside a.on{background:rgba(10,132,255,.22);color:#fff;border-left:3px solid var(--blue)}
.aside a:hover{color:#fff}
.main{flex:1;padding:20px;min-width:0}

/* 用户端/司机端后台外壳（登录后） */
.login-page{padding:16px;background:var(--bg);min-height:calc(100vh - 64px)}
.admin-shell .main .wrap{max-width:960px}
@media(max-width:640px){
  .login-page{min-height:auto}
}
/* 桌面端会员中心限宽居中（避免手机样式铺满） */
@media(min-width:641px){
  .member-page{max-width:520px;left:50%;transform:translateX(-50%);border-left:1px solid var(--border);border-right:1px solid var(--border);box-shadow:0 0 40px rgba(15,40,80,.18)}
  .member-page .mb-tabbar{max-width:520px;left:50%;transform:translateX(-50%)}
}
.stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.stat-card{background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 3px 12px rgba(15,40,80,.06)}
.stat-card b{display:block;font-size:22px;font-weight:900;color:var(--deep)}
.stat-card span{font-size:12px;color:var(--muted)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:13px;box-shadow:0 3px 12px rgba(15,40,80,.06)}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}
th{background:#f5f8fc;color:var(--deep);font-weight:700}
.tbl-scroll{overflow-x:auto;border-radius:12px}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:var(--dark);color:#fff;padding:10px 20px;border-radius:10px;font-size:13.5px;z-index:99;opacity:0;transition:.3s;pointer-events:none}
.toast.show{opacity:1}
.dash{font-family:Consolas,monospace;font-size:12px;color:var(--muted);margin-top:6px;word-break:break-all}
.big-title{font-size:20px;font-weight:900;margin-bottom:14px}
@media(max-width:640px){
  .stats4{grid-template-columns:repeat(2,1fr)}
  .admin-shell{flex-direction:column}
  .aside{width:100%;display:flex;overflow-x:auto;padding:8px;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;position:sticky;top:0;z-index:30}
  .aside a{flex:none;white-space:nowrap;text-align:center;padding:10px 14px;border-left:none;border-bottom:2px solid transparent}
  .aside a.on{border-left:none;border-bottom:2px solid var(--blue)}
  .aside .logo{display:none}
  .admin-shell .main{padding:12px}
  .admin-shell .main .wrap{max-width:100%;padding:0}
}

/* ==================== 会员中心（用户端 / 司机端共用） ==================== */
.member-page{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column}
.mb-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff;flex-shrink:0}
.mb-nav .mb-back{background:none;color:#fff;font-size:22px;font-weight:800;padding:0 6px;line-height:1}
.mb-nav .mb-title{font-size:16px;font-weight:800;flex:1;text-align:center}
.mb-nav .mb-bell{background:none;font-size:19px;color:#fff;position:relative;padding:2px 8px}
.mb-nav .mb-bell .dot{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.mb-body{flex:1;overflow-y:auto;padding:14px 14px 84px}

/* 顶部导航返回占位，保证标题居中 */
.mb-nav .mb-sp{width:34px}

/* 用户信息卡 */
.mb-user{background:linear-gradient(135deg,#0b1220,#0d2742);color:#fff;border-radius:16px;padding:16px 18px;margin-bottom:14px;position:relative;overflow:hidden}
.mb-user .row1{display:flex;align-items:center;gap:12px}
.ava{width:54px;height:54px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;cursor:pointer;box-shadow:0 0 0 3px rgba(255,255,255,.25);object-fit:cover}
.mb-user .uname{font-size:16px;font-weight:800}
.mb-user .uid{font-size:11.5px;color:#b9cde6;display:flex;align-items:center;gap:6px;margin-top:3px}
.copy-btn{background:rgba(255,255,255,.14);color:#fff;font-size:10.5px;padding:2px 8px;border-radius:6px;cursor:pointer}
.growth{margin-top:12px;cursor:pointer}
.growth .grow-top{display:flex;justify-content:space-between;font-size:11.5px;color:#b9cde6;margin-bottom:5px}
.grow-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden}
.grow-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffb020,#ff6600);width:0%;transition:.4s}
.mb-user .sub{display:flex;gap:14px;margin-top:10px;font-size:11.5px;color:#b9cde6}
.rank-meta{margin-top:9px;font-size:11px;color:#cfe0f5;background:rgba(255,255,255,.09);border-radius:8px;padding:6px 10px;line-height:1.5}

/* 等级徽章 V1~V8 */
.lvl{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:800;color:#fff;white-space:nowrap}
.lvl-v1{background:#8d9aa8}
.lvl-v2{background:linear-gradient(135deg,#a3b8c9,#7d93a8)}
.lvl-v3{background:linear-gradient(135deg,#e6b556,#c9862f)}
.lvl-v4{background:linear-gradient(135deg,#9fd0f5,#5c9fd6)}
.lvl-v5{background:linear-gradient(135deg,#7ee0ff,#2ba8d8)}
.lvl-v6{background:linear-gradient(135deg,#b79cff,#7c5ce0)}
.lvl-v7{background:linear-gradient(135deg,#ffd76e,#ff9f1c)}
.lvl-v8{background:linear-gradient(135deg,#ffb86c,#ff5e62)}

/* 资产摘要 */
.mb-assets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.mba-item{background:#fff;border-radius:14px;padding:13px 6px;text-align:center;cursor:pointer;border:1px solid var(--border);box-shadow:0 3px 12px rgba(15,40,80,.05)}
.mba-item .ic{font-size:20px}
.mba-item b{display:block;font-size:19px;font-weight:900;color:var(--deep);margin-top:3px}
.mba-item span{font-size:11.5px;color:var(--muted)}

/* 行程核心入口 */
.mb-trip{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f5f6fa,#eef2f8);border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:14px;cursor:pointer}
.mb-trip .tt{flex:1}
.mb-trip .tt b{font-size:14.5px}
.mb-trip .tt p{font-size:11px;color:var(--muted);margin-top:2px}
.badge-orange{display:inline-block;background:#fff0e0;color:#b25e00;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;margin-left:6px}
.mb-trip .inv-btn{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--muted);padding:7px 10px;background:#fff;border-radius:10px;border:1px solid var(--border);cursor:pointer;flex-shrink:0}
.mb-trip .inv-btn .ic{font-size:18px}

/* 安全与工具 */
.mb-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.mbt-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 4px;text-align:center;cursor:pointer}
.mbt-item .ic{font-size:22px}
.mbt-item span{display:block;font-size:11px;color:var(--muted);margin-top:4px}

/* 通用分区卡片 */
.mb-sec{background:#fff;border-radius:14px;padding:16px;margin-bottom:14px;border:1px solid var(--border)}
.mb-sec .sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mb-sec .sec-head b{font-size:14.5px;color:var(--deep)}
.mb-sec .sec-more{font-size:11.5px;color:var(--muted);cursor:pointer}

/* 会员权益横向滑动 */
.benefit-scroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;margin:0 -2px}
.benefit-card{flex:0 0 70%;scroll-snap-align:start;background:linear-gradient(135deg,#f0f6ff,#e4f0ff);border:1px solid #d8e8fb;border-radius:12px;padding:14px;min-width:0}
.benefit-card .bic{font-size:22px}
.benefit-card .bname{font-size:13.5px;font-weight:800;margin-top:6px}
.benefit-card .bremain{font-size:11.5px;color:var(--muted);margin-top:3px}

/* 福利活动 */
.act-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff7e8,#fff);border:1px solid #ffe3b3;border-radius:12px;padding:12px 14px;margin-bottom:10px}
.act-card .aic{font-size:26px;flex-shrink:0}
.act-card .ainfo{flex:1;min-width:0}
.act-card .ainfo b{font-size:13.5px}
.act-card .ainfo p{font-size:11px;color:var(--muted);margin-top:2px}
.cd{display:inline-block;font-family:Consolas,monospace;font-size:11px;color:#b25e00;background:#fff3e0;padding:2px 7px;border-radius:6px;margin-top:4px}
.cd.end{color:var(--muted);background:#f0f2f6}
.claim-btn{background:linear-gradient(135deg,#ff9f1c,#ff6600);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:800;cursor:pointer;flex-shrink:0}
.claim-btn.done{background:#eef1f6;color:#9aa5b1;cursor:default}

/* 更多服务 */
.mb-more{padding:4px 6px}
.mbm-row{display:flex;align-items:center;gap:10px;padding:13px 4px;border-bottom:1px solid var(--border);cursor:pointer;font-size:13.5px}
.mbm-row:last-child{border-bottom:none}
.mbm-row .ic{font-size:17px}
.mbm-row .arr{margin-left:auto;color:#b9c4d2}

/* 会员中心底部 Tab 栏 */
.mb-tabbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--border);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:42}
.mb-tabbar button{flex:1;padding:9px 0 7px;background:none;font-size:10.5px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px}
.mb-tabbar button .ic{font-size:18px;position:relative;line-height:1.2}
.mb-tabbar button .ic .dot{position:absolute;top:-4px;right:-9px;background:var(--red);color:#fff;font-size:9px;font-weight:800;min-width:14px;height:14px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.mb-tabbar button.on{color:var(--blue);font-weight:800}

/* 开关 */
.switch{width:42px;height:24px;border-radius:999px;background:#d8e0ea;position:relative;cursor:pointer;transition:.2s;flex-shrink:0}
.switch.on{background:var(--green)}
.switch::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.switch.on::after{left:21px}
.set-row{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;border-bottom:1px solid var(--border);font-size:13.5px}
.set-row:last-child{border-bottom:none}

/* 子页面通用 */
.mb-sub-tip{font-size:12px;color:var(--muted);margin-bottom:12px}
.rech-row{display:flex;gap:8px;margin-bottom:14px}
.rech-row button{flex:1;padding:10px;border-radius:10px;border:1.5px solid var(--border);background:#fbfcfe;font-size:13.5px;font-weight:800;color:var(--deep);cursor:pointer}
.rech-row button:hover{border-color:var(--blue)}
.log-item{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px solid var(--border);font-size:13px}
.log-item:last-child{border-bottom:none}
.log-item .amt{font-weight:900}
.amt-in{color:var(--green)}
.amt-out{color:var(--red)}

/* 优惠券 */
.coupon-card{display:flex;background:#fff;border:1px dashed var(--blue);border-radius:12px;overflow:hidden;margin-bottom:10px}
.coupon-card .left{background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff;padding:14px 16px;text-align:center;min-width:86px;display:flex;flex-direction:column;justify-content:center}
.coupon-card .left b{font-size:17px}
.coupon-card .left span{font-size:10px;opacity:.85}
.coupon-card .right{flex:1;padding:10px 14px;font-size:12.5px;display:flex;flex-direction:column;justify-content:center}
.coupon-card .right .btns{margin-top:6px}
.coupon-card .right .btns button{margin-right:8px}

/* 积分商城 */
.mall-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.mall-item .mic{font-size:24px}
.mall-item .minfo{flex:1}
.mall-item .minfo b{font-size:13.5px}
.mall-item .minfo p{font-size:11px;color:var(--muted);margin-top:2px}
.points-pill{display:inline-block;background:#fff4e0;color:#b25e00;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}

/* 邀请 */
.inv-box{background:linear-gradient(135deg,#0b1220,#0d2742);color:#fff;border-radius:14px;padding:20px;text-align:center;margin-bottom:14px}
.inv-box .ic{font-size:36px}
.inv-box b{display:block;font-size:16px;margin-top:8px}
.inv-box p{font-size:12px;color:#b9cde6;margin-top:4px}

/* 消息列表 */
.msg-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:10px;border-left:3px solid transparent}
.msg-item.unread{border-left-color:var(--blue);background:#f6faff}
.msg-item b{font-size:13.5px}
.msg-item p{font-size:12px;color:var(--muted);margin-top:3px}
.msg-item .mt{font-size:11px;color:#b9c4d2;margin-top:5px}

/* 会员中心入口卡（我的 Tab） */
.mc-entry{background:linear-gradient(135deg,#0b1220,#0d2742);color:#fff;border-radius:16px;padding:16px 18px;margin-bottom:14px;cursor:pointer;display:flex;align-items:center;gap:12px}
.mc-entry .ava{width:46px;height:46px;font-size:22px}
.mc-entry .ename{font-size:15px;font-weight:800}
.mc-entry .euid{font-size:11px;color:#b9cde6;margin-top:2px}
.mc-entry .right{text-align:right;margin-left:auto;flex-shrink:0}
.mc-entry .right .go{font-size:11px;color:var(--gold);margin-top:5px}

/* 成长值明细 / 权益明细 */
.grow-item{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px solid var(--border);font-size:13px}
.grow-item:last-child{border-bottom:none}
.grow-item .g{font-weight:900;color:var(--orange)}
.benefit-list .bl-item{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--border)}
.benefit-list .bl-item:last-child{border-bottom:none}
.bl-item .bic{font-size:22px}
.bl-item .binfo{flex:1}
.bl-item .binfo b{font-size:13.5px}
.bl-item .binfo p{font-size:11px;color:var(--muted);margin-top:2px}

/* ==================== 全部工具（参照 999.png 司机端工具页） ==================== */
.qf-banner{background:linear-gradient(135deg,#0b1220,#0d2742);color:#fff;border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.qf-banner b{font-size:14.5px}
.qf-banner span{font-size:11.5px;color:#b9cde6;margin-left:8px}
.tool-sec{margin-bottom:14px}
.sec-tag{display:flex;align-items:baseline;gap:8px;padding:0 2px;margin-bottom:8px}
.sec-tag b{font-size:13.5px;color:var(--deep)}
.sec-tag span{font-size:11px;color:var(--muted)}
.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tool-item{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 2px;text-align:center;cursor:pointer;position:relative;box-shadow:0 2px 8px rgba(15,40,80,.04)}
.tool-item .tic{font-size:22px}
.tool-item .tlabel{display:block;font-size:11px;color:var(--text);margin-top:5px}
.tool-item .tx{position:absolute;top:3px;right:5px;width:16px;height:16px;line-height:14px;border-radius:50%;background:var(--red);color:#fff;font-size:10px;font-weight:800;z-index:2}
.tool-item.edit-anim{animation:shake .4s linear}
@keyframes shake{25%{transform:rotate(-2.5deg)}75%{transform:rotate(2.5deg)}}

/* 热力图 */
#heatMap{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.heat-cell{border-radius:12px;padding:14px 6px;text-align:center;color:#fff}
.heat-cell b{display:block;font-size:13px}
.heat-cell span{font-size:11px;opacity:.92}
.heat-1{background:#c9e7ff}.heat-2{background:#8ec9f7}.heat-3{background:#4fa8e8}.heat-4{background:#e8954f}.heat-5{background:#e04f4f}
.heat-1 b,.heat-2 b{color:var(--deep)}

/* 我的二维码 */
.qr-grid{display:grid;grid-template-columns:repeat(15,1fr);grid-auto-rows:8px;gap:1px;width:150px;margin:14px auto;background:#fff;border:6px solid #fff;box-shadow:0 0 0 1px var(--border)}
.qr-grid span{background:#fff}
.qr-grid .q-on{background:#0b1220}

/* ==================== 路线图 / 分步图 / AI 提示 ==================== */
.ai-tip{display:flex;align-items:flex-start;gap:10px;background:linear-gradient(135deg,#eef6ff,#e3f0ff);border:1px solid #cfe4fb;border-radius:12px;padding:12px 14px}
.ai-tip .ic{font-size:22px;flex-shrink:0}
.ai-tip b{font-size:13px;color:var(--deep);display:block}
.ai-tip span{font-size:11.5px;color:var(--muted);display:block;margin-top:2px}
.rm-flow{display:flex;flex-direction:column;gap:0;margin-bottom:12px}
.rm-step{display:flex;align-items:center;gap:12px;position:relative;padding:9px 2px}
.rm-step::before{content:'';position:absolute;left:25px;top:44px;bottom:-16px;width:2px;background:var(--border)}
.rm-step:last-child::before{display:none}
.rm-step .rm-ic{width:46px;height:46px;border-radius:50%;background:#f0f6ff;border:1.5px solid #d8e8fb;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.rm-step.ai .rm-ic{background:linear-gradient(135deg,#e8f4ff,#d6ecff);border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,132,255,.12)}
.rm-step .rm-tx{flex:1}
.rm-step .rm-tx b{font-size:13.5px}
.rm-step .rm-tx span{font-size:11.5px;color:var(--muted);display:block}
.rm-ai-tag{background:var(--blue);color:#fff;font-size:10px;font-weight:900;padding:2px 8px;border-radius:999px;flex-shrink:0}
.rm-mile{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--border)}
.rm-mile:last-child{border-bottom:none}
.rm-mile .rm-v{width:40px;height:40px;border-radius:10px;background:#eef1f6;color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex-shrink:0}
.rm-mile.done .rm-v{background:linear-gradient(135deg,var(--blue),var(--deep));color:#fff}
.flow-steps{display:flex;flex-direction:column;gap:0}
.flow-step{display:flex;align-items:center;gap:12px;position:relative;padding:9px 2px}
.flow-step::before{content:'';position:absolute;left:25px;top:44px;bottom:-14px;width:2px;background:var(--border)}
.flow-step:last-child::before{display:none}
.flow-step .fs-ic{width:46px;height:46px;border-radius:50%;background:#f0f6ff;border:1.5px solid #d8e8fb;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.flow-step.ai .fs-ic{background:linear-gradient(135deg,#e8f4ff,#d6ecff);border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,132,255,.12)}
.flow-step .fs-tx{flex:1}
.flow-step .fs-tx b{font-size:13.5px}
.flow-step .fs-tx span{font-size:11.5px;color:var(--muted);display:block}
.fs-ai{background:var(--blue);color:#fff;font-size:10px;font-weight:900;padding:2px 8px;border-radius:999px;flex-shrink:0}

/* ==================== 推广红包 ==================== */
.rp-banner-sm{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#7a4500,#ff9f1c 45%,#ffd76e);color:#fff;border-radius:14px;padding:12px 14px;margin-bottom:14px;cursor:pointer;box-shadow:0 8px 20px rgba(255,159,28,.28)}
.rp-banner-sm .ic{font-size:24px;flex-shrink:0}
.rp-banner-sm b{font-size:14px;display:block}
.rp-banner-sm span{font-size:11.5px;color:#fff7e0}
.rp-banner-sm .go{flex-shrink:0;font-size:12px;font-weight:800;background:rgba(255,255,255,.22);padding:4px 10px;border-radius:999px}
.redpack-entry{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fff7e8,#fff);border:1px solid #ffe3b3;border-radius:12px;padding:12px 14px;margin-bottom:12px;cursor:pointer}
.redpack-entry .ic{font-size:22px}
.redpack-entry b{font-size:14px}
.stat-mini{background:#f8fafd;border:1px solid var(--border);border-radius:10px;padding:10px;text-align:center}
.stat-mini b{display:block;font-size:18px;color:var(--deep)}
.stat-mini span{font-size:11px;color:var(--muted)}
.rp-progress{height:8px;border-radius:999px;background:rgba(255,158,26,.18);overflow:hidden;margin-top:10px}
.rp-progress .grow-fill{height:100%;border-radius:999px;width:0%;transition:.4s}

/* ==================== 注册协议弹窗 ==================== */
.agree-mask{position:fixed;inset:0;background:rgba(11,18,32,.55);z-index:98;display:flex;align-items:center;justify-content:center;padding:20px}
.agree-box{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.agree-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}
.agree-head b{font-size:15px;color:var(--deep)}
.agree-head button{background:none;font-size:16px;color:var(--muted);padding:2px 8px}
.agree-body{overflow-y:auto;padding:16px;font-size:13px;line-height:1.9;color:var(--text)}
.agree-body p{margin-bottom:12px}
.agree-foot{padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}
