/* ============================================
   会员中心 合并样式表 (member.css)
   自动生成，请勿手动修改源文件中的 style 块
=========================================== */

/* ========== 全局布局 (leftside.php) ========== */
/* ===== 方案C · 专业面板风 全局样式 ===== */
:root{
  --accent:#6366f1; --accent-soft:#eef2ff; --accent-hover:#4f46e5;
  --sidebar:#fff; --sidebar-muted:#64748b; --sidebar-border:#3b82f6;
  --bg:#f4f4f4; --card:#fff; --text:#0f172a; --muted:#64748b;
  --border:#e2e8f0; --border-soft:#f1f5f9;
  --radius:0.75rem;
  --shadow:0 0.0625rem 0.1875rem rgba(15,23,42,.07),0 0.0625rem 0.125rem rgba(15,23,42,.05);
  --ok:#059669; --ok-bg:#ecfdf5; --warn:#b45309; --warn-bg:#fffbeb; --danger:#dc2626; --danger-bg:#fef2f2;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);font-size:0.875rem;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.top1 .topNav dd:first-child>ul{width:7.5rem}
.top1 .topNav dd:first-child>ul img{max-width:none;width:7.5rem;height:7.5rem}
html,body{overflow-x:hidden;}
.topnav{display:none;}
.header .block{height:auto;padding:0.625rem 0.75rem;box-sizing:border-box;}
.header .logo{padding-top:0;float:none;}
.header .logo a{width:11.25rem;height:1.5625rem;background-size:contain;background-position:left center;}
.header .dhmenu{display:none;}
.hymain{margin:0;padding:0;}
.hymain .block{padding:0;width:100%!important;max-width:100%;margin:0;}
/* ===== 布局骨架 ===== */
.app{display:grid;grid-template-columns:15rem minmax(0,1fr);width:75rem;max-width:100%;min-height:100vh;margin:0 auto}
.sidebar{background:var(--sidebar);color:var(--text);display:flex;flex-direction:column;padding:1.25rem 0;min-height:100vh;border:0.125rem solid var(--sidebar-border);border-radius:var(--radius);margin:0}
.sidebar .brand{display:flex;align-items:center;gap:0.5rem;padding:0 1rem 1.25rem;font-size:0.9375rem;font-weight:700;color:var(--text)}
.brand-user .binfo{flex:1;min-width:0}
.brand-user .bname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}
.brand-user .bphone{font-size:0.75rem;color:var(--muted);font-weight:400;margin-top:0.0625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-user .bexit{flex-shrink:0;font-size:0.75rem;color:#dc2626;background:#fef2f2;border:0.0625rem solid #fecaca;border-radius:0.3125rem;padding:0.1875rem 0.5rem;font-weight:500;line-height:1.4;text-decoration:none;transition:.15s}
.brand-user .bexit:hover{color:#b91c1c;background:#fee2e2;border-color:#f87171}
.menu{flex:1}
.menu .group{padding:0 1.25rem 0 1.5rem;font-size:0.8125rem;font-weight:700;letter-spacing:.0.25rem;color:#000;margin:1.125rem 0 0.5rem}
.menu a{display:flex;align-items:center;justify-content:flex-start;gap:0.625rem;padding:0.5625rem 1rem;margin:0.125rem 0.5rem;border-radius:0.5rem;font-size:0.8125rem;color:#000;font-weight:400;transition:.15s;line-height:1;vertical-align:middle}
.menu a:hover{background:var(--accent-soft);color:#000}
.menu a.on{background:var(--accent-soft);color:var(--accent);font-weight:400}
.menu a .ci{width:1.125rem;height:1.125rem;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:#000;font-weight:400;flex-shrink:0;vertical-align:middle}
.sidebar .menu a.on{color:var(--accent);font-weight:400}
.sidebar .menu a.on .ci{color:var(--accent);font-weight:400}

.avatar{border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#818cf8,#6366f1);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}
.avatar.s{width:2rem;height:2rem;font-size:0.75rem}
.avatar.m{width:2.5rem;height:2.5rem;font-size:0.875rem}
.avatar.l{width:4.5rem;height:4.5rem;font-size:1.625rem}
.avatar.xl{width:4.75rem;height:4.75rem;font-size:1.75rem}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.mcontent{min-width:0;padding-top:0}
.main{padding:1.75rem 0 1.75rem 1.75rem;max-width:100%}
.page-title{font-size:1.25rem;font-weight:800;margin-bottom:0.25rem}
.page-sub{color:var(--muted);font-size:0.8125rem;margin-bottom:1.375rem}
.welcome-hero{background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:var(--radius);color:#fff;padding:1.5rem 1.75rem;margin:0 0 1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.welcome-left .welcome-hello{font-size:1.25rem;font-weight:700;margin-bottom:0.25rem}
.welcome-left .welcome-date{font-size:0.8125rem;opacity:.85}
.welcome-right{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.welcome-stats{display:flex;gap:1.5rem}
.ws-item .ws-label{font-size:0.75rem;opacity:.8;margin-bottom:0.125rem}
.ws-item .ws-val{font-size:1.375rem;font-weight:800}
.welcome-btns{display:flex;gap:0.625rem}
.welcome-btns .btn{height:2.25rem;padding:0 1.125rem;font-size:0.8125rem;border-radius:0.375rem}
.welcome-btns .btn-primary{background:#fff;color:#3b82f6;border:none}
.welcome-btns .btn-primary:hover{background:#f1f5f9}
.welcome-btns .btn-ghost{background:rgba(255,255,255,.15);color:#fff;border:0.0625rem solid rgba(255,255,255,.35)}
.welcome-btns .btn-ghost:hover{background:rgba(255,255,255,.25)}
/* ===== 卡片 ===== */
.card{background:var(--card);border-radius:var(--radius);padding:1.375rem;margin-bottom:1.25rem}
.card h3{font-size:0.9375rem;font-weight:700;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}
.card h3 .more{font-size:0.75rem;color:var(--muted);font-weight:400;cursor:pointer}
.card h3 .more:hover{color:var(--accent)}
/* ===== 概览头 ===== */
.overview{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.overview .info .name{font-size:1.25rem;font-weight:700}
.tag{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:0.75rem;padding:0.125rem 0.625rem;border-radius:62.4375rem;margin-top:0.375rem;font-weight:600}
.overview .pts{margin-left:auto;text-align:right}
.overview .pts b{font-size:1.875rem;font-weight:800;color:var(--accent)}
.overview .pts span{font-size:0.8125rem;color:var(--muted);margin-left:0.375rem}
/* ===== 快捷统计 ===== */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}
.q{background:var(--card);border-radius:var(--radius);padding:1.125rem 1.25rem;cursor:pointer;transition:.15s}
.q:hover{transform:translateY(-0.0625rem)}
.q .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.375rem}
.q .top .t{font-size:0.75rem;color:var(--muted);font-weight:500}
.q .top .icon{width:2rem;height:2rem;border-radius:0.5rem;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:0.875rem}
.q .v{font-size:1.5rem;font-weight:800}
/* ===== 表格 ===== */
.table{width:100%;border-collapse:collapse;font-size:0.8125rem}
.table th{text-align:left;padding:0.625rem 0.5rem;color:var(--muted);font-weight:500;border-bottom:0.0625rem solid var(--border-soft);font-size:0.75rem;white-space:nowrap}
.table td{padding:0.875rem 0.5rem;border-bottom:0.0625rem solid #f8fafc;vertical-align:middle}
.table tr:last-child td{border:none}
/* ===== 徽章 ===== */
.badge{font-size:0.75rem;padding:0.1875rem 0.625rem;border-radius:62.4375rem;font-weight:600;white-space:nowrap}
.badge.ok{background:var(--ok-bg);color:var(--ok)}
.badge.wait{background:var(--warn-bg);color:var(--warn)}
.badge.info{background:var(--accent-soft);color:var(--accent-hover)}
.badge.mute{background:#f1f5f9;color:var(--muted)}
.badge.danger{background:var(--danger-bg);color:var(--danger)}
/* ===== 按钮 ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;height:2.5rem;padding:0 1.25rem;border:none;border-radius:0.375rem;background:var(--accent);color:#fff;font-size:0.875rem;font-weight:600;cursor:pointer;transition:.15s}
.btn:hover{background:var(--accent-hover)}
.btn.lg{height:2.875rem;font-size:0.9375rem;width:100%}
.btn.sm{height:1.875rem;padding:0 0.875rem;font-size:0.75rem;border-radius:0.375rem}
.btn.ghost{background:#fff;color:var(--accent);border:0.0625rem solid var(--accent)}
.btn.ghost:hover{background:var(--accent-soft)}
.btn.line{background:#fff;color:var(--text);border:0.0625rem solid var(--border)}
.btn.line:hover{border-color:var(--accent);color:var(--accent)}
.btn.danger-ghost{background:#fff;color:var(--danger);border:0.0625rem solid #fecaca}
.btn.danger-ghost:hover{background:var(--danger-bg)}
/* ===== 表单 ===== */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.125rem 1.5rem}
.form-grid .full{grid-column:1/-1}
.field label{display:block;font-size:0.8125rem;font-weight:600;margin-bottom:0.375rem}
.field label .req{color:var(--danger)}
.field .hint{font-size:0.75rem;color:var(--muted);margin-top:0.3125rem}
.inp,.sel,.ta{width:100%;height:2.625rem;border:0.0625rem solid var(--border);border-radius:0.375rem;padding:0 0.875rem;font-size:0.875rem;outline:none;transition:.15s;background:#fff;font-family:inherit}
.ta{height:auto;padding:0.625rem 0.875rem;resize:vertical;min-height:5.625rem}
.inp:focus,.sel:focus,.ta:focus{border-color:var(--accent);box-shadow:0 0 0 0.1875rem var(--accent-soft)}
.inp[disabled]{background:#f8fafc;color:var(--muted);cursor:not-allowed}
.inp-group{display:flex;gap:0.625rem}
.inp-group .inp{flex:1}
.radio-row{display:flex;gap:1.125rem;align-items:center;height:2.625rem}
.radio-row label{display:flex;align-items:center;gap:0.375rem;font-weight:400;cursor:pointer}
.form-actions{display:flex;gap:0.75rem;margin-top:0.5rem}
.avatar-edit{display:flex;align-items:center;gap:1.125rem}
.avatar-edit .ops .hint{margin-top:0.375rem}
/* 旧版表单控件统一小圆角 */
.main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.main select,.main textarea,.main button{border-radius:0.375rem}
/* ===== 安全/设置行 ===== */
.sec{display:flex;align-items:center;gap:0.875rem;padding:1rem 0;border-bottom:0.0625rem solid var(--border-soft)}
.sec:last-child{border:none}
.sec .status{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:0.875rem;height:0.875rem}
.sec .status.ok{background:none;color:#22c55e}
.sec .status.no{background:none;color:#f59e0b}
.sec .status .iconfont{font-size:1.25rem;line-height:1;background:linear-gradient(45deg,#FDC605,#F2000B);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sec .lbl{flex:1;font-size:0.875rem;font-weight:600}
.sec .lbl span{display:block;color:var(--muted);font-size:0.75rem;font-weight:400;margin-top:0.125rem}
.sec .act{color:var(--accent);font-size:0.8125rem;font-weight:600;cursor:pointer;white-space:nowrap}
.sec .act:hover{text-decoration:underline}
.sec .act.gray{color:var(--muted)}
/* ===== 消息列表 ===== */
.msg{display:flex;gap:0.75rem;padding:1rem 0;border-bottom:0.0625rem solid var(--border-soft);cursor:pointer}
.msg:last-child{border:none}
.msg .dot{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--accent);margin-top:0.5rem;flex-shrink:0}
.msg.read .dot{background:transparent}
.msg .body{flex:1;min-width:0}
.msg .body .t{font-weight:600}
.msg.read .body .t{color:var(--muted);font-weight:400}
.msg .body .preview{font-size:0.8125rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg .time{font-size:0.75rem;color:var(--muted);white-space:nowrap}
/* ===== 收藏网格 ===== */
.fav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.125rem}
.fav{background:var(--card);border-radius:var(--radius);overflow:hidden;border:0.0625rem solid var(--border-soft);box-shadow:var(--shadow);transition:.15s}
.fav:hover{transform:translateY(-0.125rem);box-shadow:0 0.375rem 1rem rgba(15,23,42,.1)}
.fav .pic{height:9.375rem;object-fit:cover;width:100%;display:block}
.fav .bd{padding:0.875rem}
.fav .bd .tt{font-weight:700;font-size:0.875rem;line-height:1.4;height:2.5rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fav .bd .price{color:#f97316;font-weight:800;font-size:1.0625rem;margin-top:0.5rem}
.fav .bd .price span{font-size:0.75rem;color:var(--muted);font-weight:400}
.fav .ft{display:flex;gap:0.625rem;padding:0 0.875rem 0.875rem}
.fav .ft .btn{flex:1}
/* ===== 地址卡片 ===== */
.addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.addr{border:0.0625rem solid var(--border);border-radius:var(--radius);padding:1.125rem;position:relative;background:#fff}
.addr.default{border-color:var(--accent);box-shadow:0 0 0 0.1875rem var(--accent-soft)}
.addr .name{font-weight:700;font-size:0.9375rem}
.addr .name .badge{margin-left:0.5rem}
.addr .phone{color:var(--muted);margin-left:0.625rem;font-weight:400;font-size:0.8125rem}
.addr .detail{color:var(--muted);font-size:0.8125rem;margin-top:0.5rem}
.addr .ops{display:flex;gap:0.875rem;margin-top:0.875rem;font-size:0.8125rem}
.addr .ops a{color:var(--accent);cursor:pointer}
.addr .ops a.gray{color:var(--muted)}
.addr.add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;border-style:dashed;color:var(--muted);cursor:pointer;min-height:9.375rem}
.addr.add:hover{border-color:var(--accent);color:var(--accent)}
.addr.add .plus{font-size:1.75rem}
/* ===== 余额卡 ===== */
.balance-hero{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:var(--radius);color:#fff;padding:1.75rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.balance-hero .item b{font-size:1.875rem;font-weight:800;display:block}
.balance-hero .item span{font-size:0.8125rem;opacity:.85}
.balance-hero .grow{flex:1}
.amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin:0.875rem 0}
.amount{border:0.0625rem solid var(--border);border-radius:0.625rem;padding:0.875rem;text-align:center;cursor:pointer;font-weight:700;font-size:1rem;transition:.15s}
.amount:hover{border-color:var(--accent)}
.amount.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.amount span{display:block;font-size:0.75rem;color:var(--muted);font-weight:400;margin-top:0.125rem}
.pay-row{display:flex;gap:0.75rem;margin:0.875rem 0}
.pay-opt{flex:1;border:0.0625rem solid var(--border);border-radius:0.625rem;padding:0.875rem;display:flex;align-items:center;gap:0.625rem;cursor:pointer;font-weight:600}
.pay-opt.on{border-color:var(--accent);background:var(--accent-soft)}
.pay-opt .ic{width:1.75rem;height:1.75rem;border-radius:0.375rem;display:flex;align-items:center;justify-content:center;font-size:0.8125rem;color:#fff}
.pay-opt .ic.wx{background:#07c160}
.pay-opt .ic.zfb{background:#1677ff}
/* ===== Tab 页签 ===== */
.tabs{display:flex;gap:0.25rem;margin-bottom:1.125rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}
.tabs::-webkit-scrollbar{display:none;width:0;height:0}
.tabs a{position:relative;padding:0.5rem 1rem 0.1875rem;font-size:0.875rem;color:var(--muted);border-bottom:0.125rem solid transparent;margin-bottom:0;white-space:nowrap;cursor:pointer}
.tabs a:hover{color:var(--text)}
.tabs a.on{color:var(--accent);font-weight:600}.tabs a.on::after{content:'';position:absolute;left:1rem;right:1rem;bottom:-0.125rem;height:0.125rem;background:var(--accent);border-radius:0.125rem}
/* ===== 分页 ===== */
.pager{display:flex;gap:0.5rem;justify-content:center;margin-top:1.25rem}
.pager a{min-width:2.125rem;height:2.125rem;padding:0 0.625rem;border:0.0625rem solid var(--border);border-radius:0.375rem;display:flex;align-items:center;justify-content:center;font-size:0.8125rem;color:var(--muted);cursor:pointer;background:#fff}
.pager a.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pager a:hover:not(.on){border-color:var(--accent);color:var(--accent)}
/* ===== 空状态 ===== */
.empty{text-align:center;padding:3.125rem 1.25rem;color:var(--muted)}
.empty .ico{font-size:3.5rem;margin-bottom:0.625rem;opacity:.4}
/* ===== 手机端 ===== */
.mob-nav{display:none}
.mask{display:none}
@media(max-width:860px){
  .app{grid-template-columns:1fr;min-height:auto}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:15rem;z-index:60;transform:translateX(-100%);transition:.25s;height:100vh;border-radius:0;margin:0;border:none;border-right:0.125rem solid var(--sidebar-border)}
  .sidebar.open{transform:none;box-shadow:0 0 2.5rem rgba(0,0,0,.4)}
  .mask.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:55}
  .hamburger{display:flex}
  .mcontent{padding-top:1rem}
  .main{padding:1rem 1rem 0}
  .quick{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}
  .fav-grid{grid-template-columns:1fr 1fr}
  .addr-grid{grid-template-columns:1fr}
  .amount-grid{grid-template-columns:repeat(2,1fr)}
  .overview .pts{margin-left:0;width:100%;text-align:left}
  .welcome-hero{margin:0 1rem 1rem;padding:1.125rem 1.25rem;flex-direction:column;align-items:flex-start}
  .welcome-right{width:100%;justify-content:space-between}
  .welcome-stats{gap:1rem}
  .ws-item .ws-val{font-size:1.125rem}
  .topbar{padding:0 1rem}
  .topbar .r .hide-m{display:none}
  .table .optional{display:none}
  .mob-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:0.0625rem solid var(--border);z-index:50;padding:0.375rem 0 0.5rem}
  .mob-nav a{flex:1;text-align:center;color:var(--muted);font-size:0.6875rem;cursor:pointer}
  .mob-nav a.on{color:var(--accent)}
  .mob-nav .ic{display:block;font-size:1.0625rem;margin-bottom:0.125rem}
}
@media(max-width:520px){
  .fav-grid{grid-template-columns:1fr}
}
/* ===== 头尾环境对齐首页（box-sizing/字号/行高） ===== */
.top1,.top1 *,.top2,.top2 *,.di,.di *{box-sizing:content-box}
.top1,.top2,.di{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:normal;text-align:justify;color:#000}
.app,.mob-nav{text-align:left}

/* ========== cp.php - 会员中心首页 ========== */
.mini-order{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 0;border-bottom:0.0625rem solid #f8fafc;cursor:pointer}
        .mini-order:last-child{border:none}
        .mini-order .mo-pic{align-self:stretch;width:4rem;min-height:3.5rem;border-radius:0.5rem;overflow:hidden;background:#f5f5f5;flex-shrink:0}
        .mini-order .mo-pic img{width:100%;height:100%;object-fit:cover;display:block}
        .mini-order .mo-info{flex:1;min-width:0}
        .mini-order .mo-title{font-size:0.875rem;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .mini-order:hover .mo-title{color:#ff4700}
        .mini-order .mo-meta{font-size:0.75rem;color:#999;margin-top:0.1875rem}
        .mini-order .mo-right{text-align:right;flex-shrink:0}
        .mini-order .mo-price{font-size:1rem;color:#ff4700;font-weight:700}
        .mini-order .mo-badge{font-size:0.75rem;padding:0.125rem 0.5rem;border-radius:62.4375rem;font-weight:600;margin-top:0.25rem;display:inline-block}
        .mini-order .mo-badge.pay-ok{background:#ecfdf5;color:#0a9f50}
        .mini-order .mo-badge.pay-no{background:#fffbeb;color:#b45309}
        .mini-order .mo-badge.pay-cancel{background:#f1f5f9;color:#999}
        .mini-order .mo-badge.pay-refund{background:#eef4ff;color:#1a5fb4}
              
         /* 会员显示块：与个人资料页 ei-profile 一致，按钮位换积分 */
         .ei-profile{display:flex;align-items:center;gap:1.125rem}
         .ei-avatar{width:4.75rem;height:4.75rem;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#818cf8,#6366f1);display:flex;align-items:center;justify-content:center;font-size:1.875rem;font-weight:700;color:#fff;flex-shrink:0;border:0.1875rem solid #fff;box-shadow:0 0.125rem 0.625rem rgba(15,23,42,.1)}
         .ei-avatar img{width:100%;height:100%;object-fit:cover;display:block}
         .ei-identity{flex:1;min-width:0}
         .ei-name{font-size:1.125rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:0.625rem;flex-wrap:wrap}
         .ei-badge{font-size:0.75rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border-radius:62.4375rem;padding:0.1875rem 0.625rem}
         .ei-meta{font-size:0.7813rem;color:var(--muted);margin-top:0.375rem;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
         .ei-meta i{width:0.1875rem;height:0.1875rem;border-radius:50%;background:#cbd5e1;display:inline-block}
         .ei-profile .pts{margin-left:auto;text-align:right;flex-shrink:0}
         .ei-profile .pts b{font-size:1.875rem;font-weight:800;color:var(--accent)}
         .ei-profile .pts span{font-size:0.8125rem;color:var(--muted);margin-left:0.375rem}
         @media(max-width:860px){
         .ei-profile{flex-wrap:wrap;align-items:flex-start;gap:0.75rem 0.875rem}
         .ei-avatar{width:4rem;height:4rem;font-size:1.625rem}
         .ei-identity{width:calc(100% - 5.625rem)}
         .ei-profile .pts{margin-left:0;width:100%;text-align:left}
         }

/* ========== orders.php - 订单列表 ========== */
/* ===== 团期订单中心（参考小程序订单中心样式） ===== */
.welcome-hero{margin-bottom:0.75rem}
.pg-orderdetail .main{padding-top:0}
@media(max-width:860px){.pg-orderdetail .main{padding-top:16px}}
.torder-tip{padding:0.75rem 1rem;border-radius:0.5rem;margin-bottom:1rem;font-size:0.8125rem}
.torder-tip.ok{background:#ecfdf5;color:#059669}
.torder-tip.err{background:#fef2f2;color:#dc2626}
.order-tab{display:flex;background:#fff;border-radius:0.375rem;overflow:hidden;margin-bottom:1.25rem}
.order-tab .tab-item{flex:1;text-align:center;padding:0.875rem 0.25rem;font-size:0.875rem;color:#666;cursor:pointer;position:relative;white-space:nowrap}
.order-tab .tab-item .cnt{font-size:0.75rem;color:#bbb;margin-left:0.125rem}
.order-tab .tab-item.on{color:#1a5fb4;font-weight:600;text-decoration:underline;text-decoration-color:#1a5fb4;text-decoration-thickness:0.1875rem;text-underline-offset:0.4375rem;text-decoration-skip-ink:none}
.order-tab .tab-item.on .cnt{color:#1a5fb4}

.order-list{display:flex;flex-direction:column;gap:0.75rem}
.order-card{background:#fff;border-radius:0.375rem;overflow:hidden}
.order-head{display:flex;align-items:flex-start;padding:0.5rem 1.125rem;border-bottom:0.0625rem solid #f0f0f0}
.order-head-left{flex:1;min-width:0}
.order-ddno{font-size:0.875rem;color:#000;word-break:break-all}
.order-from{font-size:0.75rem;color:#999;background:#f5f5f5;border-radius:0.25rem;padding:0.0625rem 0.375rem;margin-left:0.375rem;white-space:nowrap}
.order-txid{margin-top:0.125rem;font-size:0.875rem;color:#000;word-break:break-all}
.order-status{font-size:0.875rem;font-weight:600;white-space:nowrap;margin-left:0.75rem}
.pay-ok{color:#0a9f50}
.pay-no{color:#ff9600}
.pay-cancel{color:#999}
.pay-refund{color:#1a5fb4}
.order-body{padding:0.625rem 1.125rem;display:flex;align-items:center;cursor:pointer}
.order-pic-box{width:4rem;height:4rem;margin-right:0.75rem;flex-shrink:0;border-radius:0.5rem;overflow:hidden;background:#f5f5f5}
.order-pic-box img{width:100%;height:100%;object-fit:cover;display:block}
.order-info{flex:1;min-width:0}
.order-title{font-size:0.9375rem;color:#333;font-weight:600;line-height:1.45;margin-bottom:0.25rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.order-body:hover .order-title{color:#ff4700}
.order-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.8125rem;color:#999;flex-wrap:wrap;gap:0.25rem}
.order-foot{display:flex;justify-content:space-between;align-items:baseline;padding:0 1.125rem 0.25rem}
.foot-time{font-size:0.75rem;color:#999}
.foot-right{display:flex;align-items:baseline}
.foot-label{font-size:0.75rem;color:#999;margin-right:0.375rem}
.foot-price{font-size:1.25rem;color:#ff4700;font-weight:700}
.order-actions{display:flex;align-items:center;justify-content:space-between;padding:0 1.125rem 0.625rem;gap:0.625rem;flex-wrap:wrap}
.foot-view-btn{font-size:0.8125rem;color:#eb5d2a;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}
.order-actions-btns{display:flex;gap:0.625rem;flex-wrap:wrap}
.action-btn{height:2.125rem;line-height:2rem;padding:0 1rem;border-radius:0.375rem;font-size:0.8125rem;text-align:center;cursor:pointer;background:none;font-family:inherit}
.action-cancel{background:#fff;color:#666;border:0.0625rem solid #e7e6e6}
.action-pay{background:#fa5151;color:#fff;border:0.0625rem solid #fa5151}
.action-refund{background:#f5f5f5;color:#999;border:0.0625rem solid #e7e6e6}
.action-recall{background:#eef4ff;color:#333;border:0.0625rem solid #d6e4ff}
.action-del{background:#f5f5f5;color:#999;border:0.0625rem solid #e7e6e6}
/* 空状态 */
/* 分页 */
.pager{display:flex;align-items:center;justify-content:center;gap:0.375rem;row-gap:0.375rem;margin-top:0.875rem;padding:0.125rem 0;flex-wrap:wrap}
.pager-btn{min-width:1.75rem;height:1.75rem;padding:0 0.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:0.75rem;color:#333;background:#fff;border-radius:0.25rem;cursor:pointer;box-sizing:border-box;user-select:none}
.pager-btn:hover{color:#205aef}
.pager-cur{background:#205aef;color:#fff;cursor:default}
.pager-cur:hover{color:#fff}
.pager-disabled{color:#bbb;background:#f5f5f5;cursor:default}
.pager-disabled:hover{color:#bbb}
.pager-dots{color:#999;font-size:0.75rem}
.pager-total{font-size:0.75rem;color:#999;margin-left:0.125rem}
/* 空状态 */
.torder-empty{background:#fff;border-radius:0.75rem;text-align:center;padding:3.75rem 1.25rem;color:#999}
.torder-empty .ico{font-size:3.5rem;margin-bottom:0.75rem;opacity:.4}
.torder-empty .txt{font-size:0.875rem;margin-bottom:1.125rem}
.torder-empty .go{display:inline-block;padding:0.625rem 2rem;background:var(--accent);color:#fff;border-radius:0.5rem;font-size:0.875rem}
/* 弹层通用 */
.tmask{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:200;align-items:center;justify-content:center;padding:1.25rem}
.tmask.show{display:flex}
.tdialog{background:#fff;border-radius:0.75rem;width:35rem;max-width:100%;max-height:86vh;overflow-y:auto;padding:1.375rem}
.tdialog h4{font-size:1rem;font-weight:700;margin-bottom:0.875rem}
.tdialog .payway{display:flex;align-items:center;gap:0.75rem;border:0.0625rem solid var(--border);border-radius:0.625rem;padding:0.875rem;margin-bottom:0.75rem;cursor:pointer;transition:.15s}
.tdialog .payway:hover{border-color:var(--accent)}
.tdialog .payway .ic{width:2.125rem;height:2.125rem;border-radius:0.375rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}
.tdialog .payway .ic.wx{background:#07c160;font-size:1.25rem}
.tdialog .payway .ic.zfb{background:#1677ff;font-size:1.5rem}
.tdialog .payway .nm{font-size:0.875rem;font-weight:600}
.tdialog .payway .ds{font-size:0.75rem;color:#999}
.tdialog .close-row{text-align:center;margin-top:0.5rem}
.tdialog .close-row button{background:#f5f5f5;border:none;border-radius:0.5rem;height:2.375rem;padding:0 1.625rem;font-size:0.875rem;color:#666;cursor:pointer;font-family:inherit}
/* 详情弹层 */
.detail-row{display:flex;font-size:0.8125rem;padding:0.5rem 0;border-bottom:0.0625rem solid #f8fafc}
.detail-row:last-of-type{border:none}
.detail-row .k{width:5.5rem;color:#999;flex-shrink:0}
.detail-row .v{flex:1;color:#333;word-break:break-all}
@media(max-width:860px){
  .order-pic-box{width:3.5rem;height:3.5rem}
  .foot-price{font-size:1.125rem}
  .order-head{padding:0.375rem 0.875rem}
  .order-body{padding:0.5rem 0.875rem}
  .order-foot{padding:0 0.875rem 0.25rem}
  .order-actions{padding:0 0.875rem 0.5rem}
  .tdialog{width:100%;padding:1.125rem}
}

/* ========== orderdetail.php - 订单详情 ========== */
/* ===== 订单详情页（参考小程序订单详情） ===== */
.pg-orderdetail .welcome-hero{display:none!important}
.torder-tip{padding:0.75rem 1rem;border-radius:0.5rem;margin-bottom:1rem;font-size:0.8125rem}
.torder-tip.ok{background:#ecfdf5;color:#059669}
.torder-tip.err{background:#fef2f2;color:#dc2626}
.back-row{margin-bottom:0.875rem}
.back-link{font-size:0.8125rem;color:#666;text-decoration:none;display:inline-flex;align-items:center;gap:0.25rem;background:#fff;border:0.0625rem solid var(--border);border-radius:0.375rem;padding:0.4375rem 0.875rem;transition:.15s}.back-link .iconfont{font-size:0.75rem;line-height:1;display:inline-flex;align-items:center}
.back-link:hover{color:var(--accent)}
/* 状态头 */
.od-status{border-radius:0.375rem;padding:1.625rem 1.5rem;margin-bottom:0.75rem;color:#fff}
.od-status .t{font-size:1.375rem;font-weight:700}
.od-status .s{font-size:0.8125rem;margin-top:0.375rem;opacity:.9}
.od-paid{background:linear-gradient(135deg,#34c77b,#0a9f50)}
.od-unpaid{background:linear-gradient(135deg,#ffb74d,#ff9600)}
.od-cancel{background:linear-gradient(135deg,#b0b7c3,#8a94a6)}
.od-refund{background:linear-gradient(135deg,#5b8def,#1a5fb4)}
/* 卡片 */
.od-card{background:#fff;border-radius:0.375rem;padding:1.125rem 1.25rem;margin-bottom:0.75rem}
.od-sec{font-size:0.9375rem;font-weight:700;color:#111;margin-bottom:0.75rem;display:flex;align-items:center;gap:0.375rem}
.od-sec .iconfont{color:var(--accent);font-size:1rem;line-height:1;display:inline-flex;align-items:center}
.od-line-box{display:flex;align-items:center;gap:0.75rem;padding-bottom:0.75rem;border-bottom:0.0625rem solid #f5f5f5;margin-bottom:0.25rem}
.od-line-pic{width:4.5rem;height:4.5rem;border-radius:0.5rem;object-fit:cover;flex-shrink:0;background:#f5f5f5;cursor:pointer}
.od-line-title{font-size:0.9375rem;font-weight:600;color:#333;line-height:1.5;cursor:pointer}
.od-line-title:hover{color:#ff4700}
.od-row{display:flex;font-size:0.875rem;padding:0.5rem 0}
.od-row .k{width:5.5rem;color:#999;flex-shrink:0}
.od-row .v{flex:1;color:#333;word-break:break-all}
.od-row .v.price{color:#ff4700;font-weight:700;font-size:1rem}
.od-copy{font-size:0.75rem;color:var(--accent);cursor:pointer;margin-left:0.5rem;white-space:nowrap}
/* 底部操作 */
.od-actions{background:#fff;border-radius:0.375rem;padding:1rem 1.25rem;display:flex;justify-content:flex-end;gap:0.75rem;flex-wrap:wrap}
.od-btn{height:2.5rem;padding:0 1.5rem;border-radius:0.375rem;font-size:0.875rem;cursor:pointer;font-family:inherit;border:0.0625rem solid transparent}
.od-btn-cancel{background:#fff;color:#666;border-color:#e7e6e6}
.od-btn-del{background:#fff;color:#999;border-color:#e7e6e6}
.od-btn-pay{background:#fa5151;color:#fff;border-color:#fa5151}
.od-btn-refund{background:#f5f5f5;color:#666;border-color:#e7e6e6}
.od-btn-recall{background:#eef4ff;color:#333;border-color:#d6e4ff}
.od-btn-kefu{background:#fff;color:var(--accent);border-color:var(--accent)}
/* 支付弹层（与订单列表一致） */
.tmask{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:200;align-items:center;justify-content:center;padding:1.25rem}
.tmask.show{display:flex}
.tdialog{background:#fff;border-radius:0.75rem;width:35rem;max-width:100%;max-height:86vh;overflow-y:auto;padding:1.375rem}
.tdialog h4{font-size:1rem;font-weight:700;margin-bottom:0.875rem}
.tdialog .payway{display:flex;align-items:center;gap:0.75rem;border:0.0625rem solid var(--border);border-radius:0.625rem;padding:0.875rem;margin-bottom:0.75rem;cursor:pointer;transition:.15s}
.tdialog .payway:hover{border-color:var(--accent)}
.tdialog .payway .ic{width:2.125rem;height:2.125rem;border-radius:0.375rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}
.tdialog .payway .ic.wx{background:#07c160;font-size:1.25rem}
.tdialog .payway .ic.zfb{background:#1677ff;font-size:1.5rem}
.tdialog .payway .nm{font-size:0.875rem;font-weight:600}
.tdialog .payway .ds{font-size:0.75rem;color:#999}
.tdialog .close-row{text-align:center;margin-top:0.5rem}
.tdialog .close-row button{background:#f5f5f5;border:none;border-radius:0.5rem;height:2.375rem;padding:0 1.625rem;font-size:0.875rem;color:#666;cursor:pointer;font-family:inherit}
@media(max-width:860px){
  .od-status{padding:1.25rem 1rem}
  .od-card{padding:0.875rem 1rem}
  .od-actions{padding:0.875rem 1rem}
  .od-btn{flex:1;padding:0 0.5rem}
  .tdialog{width:100%;padding:1.125rem}
}

/* ========== EditInfo.php - 个人资料 ========== */
.ei-profile{display:flex;align-items:center;gap:1.125rem;margin-bottom:1.125rem}
      .ei-avatar{width:4.75rem;height:4.75rem;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#818cf8,#6366f1);display:flex;align-items:center;justify-content:center;font-size:1.875rem;font-weight:700;color:#fff;flex-shrink:0;border:0.1875rem solid #fff;box-shadow:0 0.125rem 0.625rem rgba(15,23,42,.1)}
      .ei-avatar img{width:100%;height:100%;object-fit:cover;display:block}
      .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
      .ei-identity{flex:1;min-width:0}
      .ei-name{font-size:1.125rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:0.625rem;flex-wrap:wrap}
      .ei-badge{font-size:0.75rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border-radius:62.4375rem;padding:0.1875rem 0.625rem}
      .ei-meta{font-size:0.7813rem;color:var(--muted);margin-top:0.375rem;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}
      .ei-meta i{width:0.1875rem;height:0.1875rem;border-radius:50%;background:#cbd5e1;display:inline-block}
      .ei-avatar-btn{flex-shrink:0}
      .ei-sec-head h3{margin-bottom:0.25rem}
      .ei-sec-head p{font-size:0.7813rem;color:var(--muted);margin-bottom:1.375rem}
      .ei-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.125rem 1.25rem}
      .ei-field{min-width:0}
      .ei-field label{display:block;font-size:0.8125rem;font-weight:600;color:#334155;margin-bottom:0.4375rem}
      .ei-opt{font-size:0.6875rem;font-weight:400;color:#94a3b8;margin-left:0.25rem}
      .ei-field input{width:100%;height:2.75rem;border:0.0625rem solid var(--border);border-radius:0.375rem;padding:0 0.875rem;font-size:0.875rem;color:var(--text);background:#fff;outline:none;transition:.15s;font-family:inherit}
      .ei-field input::placeholder{color:#b6c0cd}
      .ei-field input:hover{border-color:#cbd5e1}
      .ei-field input:focus{border-color:var(--accent);box-shadow:0 0 0 0.1875rem var(--accent-soft)}
      .ei-hint{font-size:0.75rem;color:#94a3b8;margin-top:0.375rem}
      .ei-actions{display:flex;justify-content:flex-end;gap:0.75rem;margin-top:1.625rem;padding-top:1.25rem;border-top:0.0625rem solid var(--border-soft)}
      .avatar-edit{display:flex;gap:1.75rem;align-items:center}
      .avatar-prev{width:7.5rem;height:7.5rem;border-radius:50%;overflow:hidden;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--accent);flex-shrink:0;border:0.1875rem solid #fff;box-shadow:0 0.125rem 0.625rem rgba(0,0,0,.08)}
      .avatar-prev img{width:100%;height:100%;object-fit:cover;display:block}
      .avatar-ops{flex:1;min-width:0}
      .avatar-drop{border:0.0625rem dashed #d7dce5;border-radius:0.75rem;padding:1.25rem;text-align:center;background:#fafbfc;cursor:pointer;transition:.15s}
      .avatar-drop:hover,.avatar-drop.on{border-color:var(--accent);background:var(--accent-soft)}
      .avatar-drop .big{font-size:0.9375rem;color:#111;margin-bottom:0.375rem}
      .avatar-drop .sm{font-size:0.75rem;color:#94a3b8}
      .avatar-btns{margin-top:0.875rem;display:flex;gap:0.625rem;flex-wrap:wrap}
      .avatar-msg{font-size:0.8125rem;margin-top:0.625rem;color:#94a3b8;min-height:1.125rem}
      .avatar-msg.ok{color:#07c160}
      .avatar-msg.err{color:#e5484d}
      .avatar-tip{font-size:0.75rem;color:#94a3b8;margin-top:0.375rem;line-height:1.7}
      @media(max-width:640px){
        .ei-profile{flex-wrap:wrap;align-items:flex-start;gap:0.75rem 0.875rem}
        .ei-avatar{width:4rem;height:4rem;font-size:1.625rem}
        .ei-identity{width:calc(100% - 4.875rem)}
        .ei-avatar-btn{flex:1 1 100%;height:2.375rem;margin-top:0.125rem;font-size:0.8125rem}
        .ei-grid{grid-template-columns:1fr}
        .ei-actions{flex-direction:column-reverse}
        .ei-actions .btn{width:100%}
        .avatar-edit{flex-direction:column;align-items:stretch;gap:1rem}
        .avatar-ops{width:100%;flex:none}
        .avatar-prev{width:6rem;height:6rem}
      }

/* ========== BindAccount.php - 账号绑定 ========== */
.bind-ic{width:2.5rem;height:2.5rem;border-radius:0.75rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}
.bind-ic.weixin,.bind-ic.gweixin{background:#07c160}
.bind-ic.phone{background:#6366f1;font-size:1.125rem}
.bind-card .sec{gap:0.875rem}
.bind-card .sec .badge{flex-shrink:0;margin-left:auto}
.bind-card .sec .btn{flex-shrink:0;margin-left:0.25rem}
.bind-note{margin-top:0.375rem;font-size:0.75rem;color:#94a3b8;line-height:1.7}
@media(max-width:640px){
  .bind-card .sec{flex-wrap:wrap}
  .bind-card .sec .lbl{min-width:0}
  .bind-card .sec .badge{margin-left:auto}
  .bind-card .sec .btn{width:100%;margin:0.625rem 0 0}
}

/* 公众号绑定弹窗 */
.gzh-mask{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:300;align-items:center;justify-content:center;padding:1.25rem}
.gzh-mask.show{display:flex}
.gzh-dialog{background:#fff;border-radius:0.75rem;width:21.25rem;max-width:100%;padding:1.625rem 1.375rem;text-align:center}
.gzh-dialog h4{font-size:1rem;font-weight:700;margin-bottom:1rem;color:#111}
.gzh-qr{width:13.75rem;height:13.75rem;margin:0 auto;border:0.0625rem solid #f0f0f0;border-radius:0.5rem;padding:0.375rem;position:relative}
.gzh-qr-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;color:#fff;font-size:0.875rem;cursor:pointer;border-radius:0.5rem;text-align:center;line-height:1.6}
.gzh-qr-mask.show{display:flex}
.gzh-qr img{width:100%;height:100%;display:block}
.gzh-tip{font-size:0.8125rem;color:#666;margin-top:0.875rem;line-height:1.8}
.gzh-close{margin-top:1rem;background:#f5f5f5;border:none;border-radius:0.375rem;height:2.375rem;padding:0 1.75rem;font-size:0.875rem;color:#666;cursor:pointer;font-family:inherit}

/* ========== ChangePhone.php - 换绑手机 ========== */
.bind-ic{width:2.5rem;height:2.5rem;border-radius:0.75rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}
.bind-ic.phone{background:#6366f1;font-size:1.125rem}
.bind-ic.phone+.lbl span{color:var(--muted)}
.cp-alert{background:var(--danger-bg);color:var(--danger);border-radius:0.5rem;padding:0.625rem 0.875rem;font-size:0.8125rem;margin-bottom:1rem}
.cp-form{max-width:25rem}
.cp-form .field{margin-bottom:1rem}
#esendphmbt{height:2.625rem;border:none;border-radius:0.375rem;background:var(--accent);color:#fff;padding:0 1rem;font-size:0.875rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit}
#esendphmbt:hover{background:var(--accent-hover)}
#esendphmbt:disabled{background:#cbd5e1;cursor:not-allowed}
@media(max-width:640px){
  .cp-form{max-width:100%}
  .inp-group{flex-wrap:wrap}
  #esendphmbt{width:100%;margin-top:0.5rem}
  .form-actions{flex-direction:column-reverse}
  .form-actions .btn{width:100%}
}

/* ========== EditAvator.php - 头像 ========== */
.avatar-edit{display:flex;gap:1.75rem;align-items:center}
.avatar-prev{width:7.5rem;height:7.5rem;border-radius:50%;overflow:hidden;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--accent);flex-shrink:0;border:0.1875rem solid #fff;box-shadow:0 0.125rem 0.625rem rgba(0,0,0,.08)}
.avatar-prev img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-ops{flex:1;min-width:0}
.avatar-drop{border:0.0625rem dashed #d7dce5;border-radius:0.75rem;padding:1.25rem;text-align:center;background:#fafbfc;cursor:pointer;transition:.15s}
.avatar-drop:hover,.avatar-drop.on{border-color:var(--accent);background:var(--accent-soft)}
.avatar-drop .big{font-size:0.9375rem;color:#111;margin-bottom:0.375rem}
.avatar-drop .sm{font-size:0.75rem;color:#94a3b8}
.avatar-btns{margin-top:0.875rem;display:flex;gap:0.625rem;flex-wrap:wrap}
.avatar-msg{font-size:0.8125rem;margin-top:0.625rem;color:#94a3b8;min-height:1.125rem}
.avatar-msg.ok{color:#07c160}
.avatar-msg.err{color:#e5484d}
.avatar-tip{font-size:0.75rem;color:#94a3b8;margin-top:0.375rem;line-height:1.7}
@media(max-width:640px){.avatar-edit{flex-direction:column;align-items:flex-start}.avatar-prev{width:96px;height:96px}}

/* ========== EditEmail.php - 邮箱 ========== */
.em-form{max-width:25rem}
.em-tip{padding:0.75rem 1rem;border-radius:0.5rem;margin-bottom:1rem;font-size:0.8125rem}
.em-tip.ok{background:#ecfdf5;color:#059669}
.em-tip.err{background:#fef2f2;color:#dc2626}

/* ========== GetPassword.php - 找回密码 ========== */
:root{--accent:#205aef;--accent-hover:#1a4bd0}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:rgb(240,239,242);color:#0f172a;font-size:0.875rem;line-height:1.6}
a{color:inherit;text-decoration:none}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.auth-card{background:#fff;border-radius:1rem;width:100%;max-width:28.75rem;box-shadow:0 0.125rem 0.75rem rgba(0,0,0,.08);overflow:hidden;padding:2.75rem 2.5rem 2rem}
.fp-title{font-size:1.375rem;font-weight:700;margin-bottom:0.5rem}
.fp-sub{font-size:0.8125rem;color:#64748b;margin-bottom:1.75rem;line-height:1.7}
.field{margin-bottom:1rem}
.field .inp{height:3rem;border-radius:0.375rem;background:#f5f7fa;border:none;padding:0 1rem;font-size:0.9375rem;width:100%;outline:none;font-family:inherit}
.field .inp:focus{background:#e9edf3;box-shadow:none;border:none}
.field .inp::placeholder{color:#999}
.code-row{display:flex;gap:0.625rem}
.code-row .inp{flex:1}
.code-row .btn{height:3rem;padding:0 1.125rem;font-size:0.8125rem;white-space:nowrap;flex-shrink:0;border-radius:0.375rem;background:#fff;color:#0f172a;border:0.0625rem solid #e2e8f0;cursor:pointer}
.code-row .btn:hover{border-color:var(--accent);color:var(--accent)}
.code-row .btn:disabled{color:#94a3b8;cursor:not-allowed}
.form-actions{margin-top:1.25rem}
.form-actions .btn{height:3rem;font-size:1rem;border-radius:0.375rem;background:rgb(32,90,239);color:#fff;border:none;width:100%;cursor:pointer;font-weight:600}
.form-actions .btn:hover{background:rgb(26,75,208)}
.form-actions .btn:disabled{background:#94a3b8;cursor:not-allowed}
.form-links{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;font-size:0.8125rem}
.form-links a{color:#64748b}
.form-links a:hover{color:var(--accent)}
.form-links .reg{color:var(--accent)}
/* 修改密码弹窗 */
.fp-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);z-index:10000;display:none;align-items:center;justify-content:center;padding:1.25rem}
.fp-mask.show{display:flex}
.fp-dialog{width:23.75rem;max-width:100%;background:#fff;border-radius:0.75rem;padding:1.625rem 1.5rem 1.375rem;box-shadow:0 0.75rem 2.5rem rgba(0,0,0,.18);position:relative}
.fp-dialog h3{font-size:1.125rem;font-weight:700;text-align:center;margin-bottom:0.375rem}
.fp-dsub{font-size:0.8125rem;color:#64748b;text-align:center;line-height:1.7;margin-bottom:1.25rem}
.fp-close{position:absolute;top:0.75rem;right:0.75rem;width:2rem;height:2rem;border:none;background:#f1f5f9;color:#64748b;border-radius:50%;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fp-close:hover{background:#e2e8f0}
.fp-tip{min-height:1.125rem;font-size:0.75rem;color:#dc2626;text-align:center;margin-top:0.625rem}
@media(max-width:640px){.auth-card{padding:32px 24px 24px}}

/* ========== login.php - 登录 ========== */
:root{--accent:#205aef;--accent-hover:#1a4bd0;--accent-soft:#eef3ff}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:rgb(240, 239, 242);color:#0f172a;font-size:0.875rem;line-height:1.6}
a{color:inherit;text-decoration:none}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0}
.auth-card{background:#fff;border-radius:1rem;width:100%;max-width:47.5rem;box-shadow:0 0.125rem 0.75rem rgba(0,0,0,.08);overflow:hidden}
.login-body{display:flex;min-height:25rem}

/* 左侧扫码 */
.qr-side{width:20rem;padding:2.75rem 2rem;border-right:0.0625rem solid #f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafbfc}
.qr-side h3{font-size:1.125rem;font-weight:700;margin-bottom:1.375rem;color:#0f172a}
.qr-box{width:12.5rem;height:12.5rem;border-radius:0.75rem;border:0.0625rem solid #e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;margin-bottom:1rem;position:relative}
.qr-box iframe{width:100%;height:100%;border:none}
.qr-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;color:#fff;font-size:0.875rem;cursor:pointer;border-radius:inherit;text-align:center;line-height:1.6}
.qr-mask.show{display:flex}
.qr-tip{font-size:0.8125rem;color:#64748b;text-align:center;line-height:1.7}
.qr-tip .refresh{color:var(--accent);cursor:pointer;margin-top:0.5rem;display:inline-block}
.qr-tip .refresh:hover{text-decoration:underline}

/* 右侧表单 */
.form-side{flex:1;padding:2.25rem 2.5rem 2rem;display:flex;flex-direction:column;height:28.75rem}
.login-tabs{display:flex;gap:1.5rem;margin-bottom:1.625rem;padding-bottom:0.4375rem;position:relative}
.login-tabs a{font-size:1rem;font-weight:600;color:#000;cursor:pointer;transition:color .2s}
.login-tabs a:hover{color:#000}
.login-tabs a.on{color:var(--accent)}
.login-tabs .tab-bar{position:absolute;bottom:0;left:0;width:0;height:0.1875rem;background:var(--accent);border-radius:0.125rem;transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}

.field{margin-bottom:1rem}
.field .inp{height:3rem;border-radius:0.375rem;background:#f5f7fa;border:none;padding:0 1rem;font-size:0.9375rem;width:100%;outline:none;font-family:inherit}
.field .inp:focus{background:#e9edf3;box-shadow:none;outline:none;border:none !important}
.field .inp::placeholder{color:#999}
.code-row{display:flex;gap:0.625rem}
.code-row .inp{flex:1}
.code-row .btn{height:3rem;padding:0 1.125rem;font-size:0.8125rem;white-space:nowrap;flex-shrink:0;border-radius:0.375rem;background:#fff;color:#0f172a;border:0.0625rem solid #e2e8f0;cursor:pointer}
.code-row .btn:hover{border-color:var(--accent);color:var(--accent)}
.key-img{flex:0 0 auto;width:auto;height:3rem;border-radius:0.375rem;cursor:pointer;background:#fff}

.form-actions{margin-top:1.25rem}
.form-actions .btn{height:3rem;font-size:1rem;border-radius:0.375rem;background:rgb(32, 90, 239);color:#fff;border:none;width:100%;cursor:pointer;font-weight:600}
.form-actions .btn:hover{background:rgb(26, 75, 208)}

.wx-entry{display:flex;align-items:center;justify-content:center;gap:0.125rem;margin-top:1.5rem;cursor:pointer;color:#64748b;font-size:0.8125rem;font-weight:500}.wx-entry:hover{color:#475569;text-decoration:none}.wx-entry svg{width:1.25rem;height:1.25rem;fill:#07c160}.wx-entry svg:hover{fill:#475569}.form-links{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.5rem;font-size:0.8125rem}
.form-links a{color:#64748b}
.form-links a:hover{color:var(--accent)}
.form-links .reg{color:var(--accent)}.form-links .reg:hover{color:#ff6a00;font-weight:normal}

/* 扫码后绑定手机弹窗 */
.wx-bind-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);z-index:10000;display:none;align-items:center;justify-content:center;padding:1.25rem}
.wx-bind-mask.show{display:flex}
.wx-bind-card{width:22.5rem;max-width:100%;background:#fff;border-radius:0.75rem;padding:1.625rem 1.5rem 1.375rem;box-shadow:0 0.75rem 2.5rem rgba(0,0,0,.18)}
.wx-bind-card h3{font-size:1.125rem;font-weight:700;text-align:center;margin-bottom:0.375rem}
.wx-bind-sub{font-size:0.8125rem;color:#64748b;text-align:center;line-height:1.7;margin-bottom:1.25rem}
.wx-bind-tip{min-height:1.125rem;font-size:0.75rem;color:#dc2626;text-align:center;margin-top:0.625rem}

@media(max-width:640px){
	.login-body{flex-direction:column;min-height:auto}
	.qr-side{width:100%;border-right:none;border-bottom:0.0625rem solid #f1f5f9;padding:2rem 1.5rem}
	.form-side{padding:2rem 1.5rem 1.5rem;height:auto;min-height:28.75rem}
	.login-tabs{gap:1.25rem}
	.login-tabs a{font-size:0.9375rem}
}

/* ========== register.php - 注册 ========== */
:root{--accent:#205aef;--accent-hover:#1a4bd0;--accent-soft:#eef3ff}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:rgb(240, 239, 242);color:#0f172a;font-size:0.875rem;line-height:1.6}
a{color:inherit;text-decoration:none}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0}
.auth-card{background:#fff;border-radius:1rem;width:100%;max-width:47.5rem;box-shadow:0 0.125rem 0.75rem rgba(0,0,0,.08);overflow:hidden}
.login-body{display:flex;min-height:25rem}

/* 左侧扫码 */
.qr-side{width:20rem;padding:2.75rem 2rem;border-right:0.0625rem solid #f1f5f9;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafbfc}
.qr-side h3{font-size:1.125rem;font-weight:700;margin-bottom:1.375rem;color:#0f172a}
.qr-box{width:12.5rem;height:12.5rem;border-radius:0.75rem;border:0.0625rem solid #e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;margin-bottom:1rem;position:relative}
.qr-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;color:#fff;font-size:0.875rem;cursor:pointer;border-radius:inherit;text-align:center;line-height:1.6}
.qr-mask.show{display:flex}
.qr-box iframe{width:100%;height:100%;border:none}
.qr-tip{font-size:0.8125rem;color:#64748b;text-align:center;line-height:1.7}
.qr-tip .refresh{color:var(--accent);cursor:pointer;margin-top:0.5rem;display:inline-block}
.qr-tip .refresh:hover{text-decoration:underline}

/* 右侧表单 */
.reg-head{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:1.625rem;padding-bottom:0.4375rem}

.field{margin-bottom:0.5rem}
.field .inp{height:3rem;border-radius:0.375rem;background:#f5f7fa;border:none;padding:0 1rem;font-size:0.9375rem;width:100%;outline:none;font-family:inherit}
.field .inp:focus{background:#e9edf3;box-shadow:none;outline:none;border:none !important}
.field .inp::placeholder{color:#999}
.pwd-wrap{position:relative}
.pwd-wrap .inp{padding-right:2.75rem}
.pwd-eye{position:absolute;right:0.875rem;top:50%;transform:translateY(-50%);width:1.375rem;height:1.375rem;border:none;background:transparent;cursor:pointer;padding:0;color:#94a3b8;display:flex;align-items:center;justify-content:center}
.pwd-eye:hover{color:#64748b}
.pwd-eye svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pwd-eye.on{color:var(--accent)}
.pwd-eye.on svg path{stroke:currentColor}
.code-row{display:flex;gap:0.625rem}
.code-row .inp{flex:1}
.btn-code{flex:0 0 auto;padding:0 1.125rem;height:3rem;font-size:0.8125rem;white-space:nowrap;border-radius:0.375rem;background:#fff;color:#0f172a;border:0.0625rem solid #e2e8f0;cursor:pointer;font-family:inherit}
.btn-code:hover{border-color:var(--accent);color:var(--accent)}
.btn-code:disabled{color:#94a3b8;cursor:not-allowed;border-color:#e2e8f0}
.key-img{flex:0 0 34%;height:3rem;border-radius:0.375rem;cursor:pointer;object-fit:contain;background:#fff}

.form-actions{margin-top:1rem}
.form-actions .btn{height:3rem;font-size:1rem;border-radius:0.375rem;background:rgb(32, 90, 239);color:#fff;border:none;width:100%;cursor:pointer;font-weight:600}
.form-actions .btn:hover{background:rgb(26, 75, 208)}

.form-links{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.5rem;font-size:0.8125rem}
.form-links a{color:#64748b}
.form-links a:hover{color:var(--accent)}
.form-links .reg{color:var(--accent)}.form-links .reg:hover{color:#ff6a00;font-weight:normal}

/* 扫码后绑定手机弹窗 */
.wx-bind-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);z-index:10000;display:none;align-items:center;justify-content:center;padding:1.25rem}
.wx-bind-mask.show{display:flex}
.wx-bind-card{width:22.5rem;max-width:100%;background:#fff;border-radius:0.75rem;padding:1.625rem 1.5rem 1.375rem;box-shadow:0 0.75rem 2.5rem rgba(0,0,0,.18)}
.wx-bind-card h3{font-size:1.125rem;font-weight:700;text-align:center;margin-bottom:0.375rem}
.wx-bind-sub{font-size:0.8125rem;color:#64748b;text-align:center;line-height:1.7;margin-bottom:1.25rem}
.wx-bind-tip{min-height:1.125rem;font-size:0.75rem;color:#dc2626;text-align:center;margin-top:0.625rem}

@media(max-width:640px){
	.login-body{flex-direction:column;min-height:auto}
	.qr-side{width:100%;border-right:none;border-bottom:0.0625rem solid #f1f5f9;padding:2rem 1.5rem}
	.form-side{padding:2rem 1.5rem 1.5rem;height:auto;min-height:28.75rem}
}
.ph-taken-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.45);z-index:10001;display:none;align-items:center;justify-content:center;padding:1.25rem}
.ph-taken-mask.show{display:flex}
.ph-taken-card{width:20rem;max-width:100%;background:#fff;border-radius:0.75rem;padding:1.75rem 1.5rem 1.25rem;box-shadow:0 0.75rem 2.5rem rgba(0,0,0,.18);text-align:center}
.ph-taken-title{font-size:1.0625rem;font-weight:700;color:#0f172a;margin-bottom:0.5rem}
.ph-taken-sub{font-size:0.8125rem;color:#64748b;margin-bottom:1.25rem;line-height:1.6}
.ph-taken-card .btn{width:100%;height:2.75rem;border-radius:0.375rem;background:rgb(32,90,239);color:#fff;border:none;font-size:0.9375rem;font-weight:600;cursor:pointer;font-family:inherit}
.ph-taken-card .btn:hover{background:rgb(26,75,208)}
.reg-toast{position:fixed;left:50%;top:1.5rem;transform:translateX(-50%) translateY(-0.625rem);background:rgba(15,23,42,.92);color:#fff;font-size:0.8125rem;padding:0.625rem 1.125rem;border-radius:0.5rem;z-index:10002;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:80vw;text-align:center}
.reg-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ========== my.php ========== */
.havejf{ width:<?=$bili?>%;}

/* ========== zp.php - 品牌/积分 ========== */
.havejf{ width:<?=$bili?>%;}

/* 注册页：以登录页为蓝本，选项卡下距微调以适配460卡片高度；body.reg-page 作用域，仅桌面端 */
@media(min-width:641px){
body.reg-page .login-tabs{margin-bottom:1.125rem}
}

/* 登录/注册卡片：680×460固定，内部块（扫码栏+表单栏）铺满卡片、与卡片边缘无间距 */
@media(min-width:641px){
body.auth-2col .auth-card{max-width:43.75rem;height:28.75rem;padding:0}
}


/* 订单列表/详情 支付弹窗图标尺寸 (原 orders.php/orderdetail.php 内联) */
.tdialog .payway .ic.zfb .iconfont{font-size:1.5rem!important}.tdialog .payway .ic.wx .iconfont{font-size:1.25rem!important}
