/* ============================================================
   臻云主题 zhenyun - 用户中心覆盖样式
   参考：suyun 用户中心（黑顶栏48px + #181818侧栏 + #EFF2F7内容区 + 直角白卡）
   加载于 app.min.css 之后，属覆盖层
   ============================================================ */

:root{
  --zy-primary:#175DFF;
  --zy-primary-hover:#0E4FE0;
  --zy-sidebar:#181818;
  --zy-sidebar-hover:rgba(255,255,255,.06);
  --zy-topbar:#000000;
  --zy-body-bg:#EFF2F7;
  --zy-card-shadow:0 0 20px rgba(0,0,0,.06);
  --zy-text:#040F43;
  --zy-border:#E1E6F0;
  --zy-sidebar-w:210px;
}

/* ---------------- 全局底色与文字 ---------------- */
body[data-sidebar="dark"],
body{
  background:var(--zy-body-bg) !important;
  color:var(--zy-text);
}
h1,h2,h3,h4,h5,h6{ color:var(--zy-text); }
a{ color:var(--zy-primary); }
a:hover{ color:var(--zy-primary-hover); }

/* ---------------- 黑色顶栏 ---------------- */
#page-topbar{
  background:var(--zy-topbar) !important;
  box-shadow:none !important;
  height:48px;
}
#page-topbar .navbar-header{ height:48px; }
/* 顶栏48px后侧栏与内容区上边距同步修正（默认70px会留缝） */
.vertical-menu{ top:48px !important; }
.main-content .content{ margin-top:48px !important; }
body.rail .vertical-menu,
body[data-rail="true"] .vertical-menu{ top:48px !important; }
/* logo框与侧栏宽度对齐、高度贴合48px顶栏 */
#page-topbar .navbar-brand-box{
  width:210px; height:48px; display:flex; align-items:center; padding:0 10px;
  background:var(--zy-topbar); overflow:hidden;
}
#page-topbar .navbar-brand-box .logo{ line-height:48px !important; height:48px; display:flex; align-items:center; }
#page-topbar .navbar-brand-box .logo img{ max-height:30px; width:auto; }
#page-topbar .navbar-header{ min-height:48px; overflow:visible; }
#page-topbar .header-item{ color:rgba(255,255,255,.85) !important; }
#page-topbar .header-item:hover{ color:#fff !important; background:rgba(255,255,255,.08) !important; }
#page-topbar .header-item .mdi,
#page-topbar .header-item .bx{ color:rgba(255,255,255,.85); }
#page-topbar .badge{ z-index:2; }

/* logo：黑底上只显示一个logo（隐藏light版本避免双logo），芯片衬底保证可见 */
#page-topbar .navbar-brand-box .logo-light{ display:none !important; }
#page-topbar .navbar-brand-box .logo-dark{ display:flex !important; }
#page-topbar .navbar-brand-box .logo img{
  background:#fff; border-radius:4px; padding:3px; max-height:30px; width:auto;
}
/* 顶栏图标垂直居中 */
#page-topbar .header-item i.bx, #page-topbar .header-item i.mdi{
  margin-top:0 !important; display:flex; align-items:center;
}

/* 顶栏用户头像 */
.user-center_header{
  background:var(--zy-primary) !important; color:#fff; border-radius:6px;
}

/* 顶栏下拉菜单 */
.topbar-dropdown .dropdown-menu,
.dropdown-menu{
  border:1px solid var(--zy-border); border-radius:2px;
  box-shadow:0 8px 24px rgba(4,15,67,.12); color:var(--zy-text);
}
.dropdown-item{ color:var(--zy-text); }
.dropdown-item:hover{ background:#F2F6FF; color:var(--zy-primary); }

/* ---------------- 深色侧栏 ---------------- */
.vertical-menu{
  background:var(--zy-sidebar) !important;
  width:var(--zy-sidebar-w) !important;
}
body[data-sidebar="dark"] .vertical-menu{ background:var(--zy-sidebar) !important; }
#sidebar-menu{ padding:10px 0 20px; }
#sidebar-menu .metismenu li a{
  color:rgba(255,255,255,.78) !important;
  font-size:13.5px; padding:11px 18px; min-height:40px; border-radius:0;
}
#sidebar-menu .metismenu li a i{
  color:rgba(255,255,255,.55); font-size:16px; width:22px; text-align:center; margin-right:8px;
}
#sidebar-menu .metismenu li a:hover{
  color:#fff !important; background:var(--zy-sidebar-hover) !important;
}
#sidebar-menu .metismenu li a:hover i{ color:#fff; }
/* 选中/展开态：整行蓝底白字 */
#sidebar-menu .metismenu li a.active,
#sidebar-menu .metismenu li.mm-active > a,
#sidebar-menu .metismenu li a[aria-expanded="true"]{
  color:#fff !important; background:var(--zy-primary) !important;
}
#sidebar-menu .metismenu li.mm-active > a i,
#sidebar-menu .metismenu li a.active i{ color:#fff !important; }
/* 子菜单 */
#sidebar-menu .metismenu ul.sub-menu{
  background:rgba(0,0,0,.22) !important;
}
#sidebar-menu .metismenu ul.sub-menu li a{
  color:rgba(255,255,255,.62) !important; font-size:13px; padding:9px 18px 9px 48px;
}
#sidebar-menu .metismenu ul.sub-menu li a:hover{ color:#fff !important; background:rgba(255,255,255,.05) !important; }
#sidebar-menu .metismenu ul.sub-menu li a.active{ background:var(--zy-primary) !important; color:#fff !important; }
/* 折叠箭头 */
#sidebar-menu .has-arrow::after{
  border-color:rgba(255,255,255,.4) !important;
}
#sidebar-menu .metismenu li.mm-active > a.has-arrow::after,
#sidebar-menu .metismenu li a[aria-expanded="true"].has-arrow::after{ border-color:#fff !important; }

/* 内容区随侧栏宽度偏移 */
body[data-sidebar="dark"] .main-content{
  margin-left:var(--zy-sidebar-w) !important;
}
@media (max-width:992px){
  body[data-sidebar="dark"] .main-content{ margin-left:0 !important; }
}

/* ---------------- 页面标题 ---------------- */
.page-title-box{ padding-bottom:12px; position:relative; margin-bottom:8px !important; }
.page-title-box::after{
  content:""; position:absolute; left:0; bottom:0; width:34px; height:3px;
  background:var(--zy-primary); border-radius:2px;
}
.page-title-box h4{ font-size:18px; font-weight:700; color:var(--zy-text); }
.page-title-box .breadcrumb a{ color:var(--zy-text2, #73767D) !important; }
.page-title-box .breadcrumb .active{ color:var(--zy-primary) !important; }

/* ---------------- 卡片 ---------------- */
.card{
  border:none !important; border-radius:2px !important;
  box-shadow:var(--zy-card-shadow) !important;
}
.card .card-title{ font-size:14px; font-weight:700; color:var(--zy-text); }
.card-header{
  background:#fff !important; border-bottom:1px solid var(--zy-border) !important;
  border-radius:2px 2px 0 0 !important; font-weight:600; color:var(--zy-text);
}

/* ---------------- 按钮 ---------------- */
.btn-primary{
  background:var(--zy-primary) !important; border-color:var(--zy-primary) !important;
  border-radius:2px !important;
}
.btn-primary:hover, .btn-primary:focus{ background:var(--zy-primary-hover) !important; border-color:var(--zy-primary-hover) !important; }
.btn-primary.disabled, .btn-primary:disabled{ background:rgba(23,93,255,.5) !important; }
.btn-outline-primary{ color:var(--zy-primary) !important; border-color:var(--zy-primary) !important; border-radius:2px !important; }
.btn-outline-primary:hover{ background:var(--zy-primary) !important; color:#fff !important; }
.btn-light{ border-radius:2px !important; }
.btn-success{ border-radius:2px !important; }

/* ---------------- 表单 ---------------- */
.form-control{
  border:1px solid var(--zy-border) !important; border-radius:2px !important;
  color:var(--zy-text); height:40px; font-size:14px;
}
.form-control:focus{
  border-color:var(--zy-primary) !important; box-shadow:0 0 0 2px rgba(23,93,255,.12) !important;
}
.input-group-text{ border-color:var(--zy-border) !important; border-radius:2px !important; background:#F7F8FA !important; }

/* ---------------- 表格 ---------------- */
.table{ color:var(--zy-text); }
.table thead th{
  background:#fff; color:#333; font-size:12px; font-weight:700;
  border-bottom:1px solid var(--zy-border) !important; white-space:nowrap;
}
.table td{ border-color:var(--zy-border); font-size:13px; vertical-align:middle; }
.table-striped tbody tr:nth-of-type(odd){ background-color:#F7F8FA; }
.table-hover tbody tr:hover{ background-color:#F2F6FF; }
.badge{ border-radius:2px; font-weight:500; }
.badge-success{ background:#52C41A; }
.badge-danger{ background:#FF4D4F; }
.badge-warning{ background:#FAAD14; }
.badge-info{ background:var(--zy-primary); }
.badge-secondary{ background:#8C93A3; }

/* ---------------- 分页 ---------------- */
.pagination .page-link{
  border-radius:2px !important; border-color:var(--zy-border) !important; color:var(--zy-text);
}
.pagination .page-item.active .page-link{
  background:var(--zy-primary) !important; border-color:var(--zy-primary) !important; color:#fff;
}

/* ---------------- 模态框 ---------------- */
.modal-content{ border-radius:2px; border:none; }
.modal-header{ border-bottom:1px solid var(--zy-border); }
.modal-footer{ border-top:1px solid var(--zy-border); }

/* ===== 对标suyun质感优化 ===== */
/* 全局字体：14px 雅黑（中文阅读性） */
body, .main-content, .page-content{
  font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px !important;
}
/* 主色统一：消灭双色混用（周期选中/支付选中/勾选态全部#175DFF） */
.payType.active, .payType:hover,
.addfunds-payment.active,
.checkboxSelect,
.checkboxDiv.checkboxSelect{
  border-color:#175DFF !important;
  background:#F0F4FF !important;
}
.btn-group.btn-group-toggle > .btn.btn-primary.active,
.cart-register .btn.active, .cart-login .btn.active{
  background:#175DFF !important; border-color:#175DFF !important;
}
/* 按钮规格统一：主按钮40px直角 */
.btn{ border-radius:2px !important; }
.btn:not(.btn-sm){ height:40px; padding:0 24px; }
/* 价格层级强化：合计红价大字 */
.font-size-18{ font-size:20px !important; color:#FF2626 !important; font-weight:700 !important; }
strong.font-size-18{ font-size:22px !important; }
/* 状态徽标体系（直角红标，运营角标通用类） */
.badge-sky{
  display:inline-block; background:#FF4D4F; color:#fff; font-size:12px; line-height:1;
  padding:4px 8px; border-radius:0; position:absolute; top:0; right:0; z-index:2;
}
/* 空购物车引导条 */
.zy-empty-guide{
  background:#F0F4FF; border:1px solid #C9DBFF; border-radius:2px;
  padding:14px 18px; margin-bottom:16px; font-size:13px; color:#175DFF;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;
}
.zy-empty-guide a{ color:#175DFF; font-weight:600; }
/* 用户资料卡 */
.user-center_header{
  width:62px; height:62px; font-size:20px;
}
.user-center_name{ font-size:16px; font-weight:700; color:var(--zy-text); margin-right:8px; }
.user-center_safety{
  width:34px; height:34px; border-radius:6px; background:var(--zy-primary) !important; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.user-center_safety i{ color:#fff; }
/* 快捷操作按钮组 */
.zy-quick-links{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.zy-quick-links a{
  display:inline-flex; align-items:center; gap:6px; padding:7px 14px;
  border:1px solid var(--zy-primary); color:var(--zy-primary); background:#fff;
  font-size:12.5px; border-radius:2px; text-decoration:none; transition:all .15s;
}
.zy-quick-links a:hover{ background:var(--zy-primary); color:#fff; }
/* 统计卡 */
.zy-stat-card .zy-stat-num{ font-size:26px; font-weight:700; line-height:1.2; }
.zy-stat-card .zy-stat-label{ font-size:13px; color:#73767D; }
.zy-stat-blue{ color:var(--zy-primary); }
.zy-stat-green{ color:#52C41A; }
.zy-stat-orange{ color:#FAAD14; }
.zy-stat-red{ color:#FF4D4F; }
/* 右栏信息卡 */
.zy-side-card h4{ font-size:14px; font-weight:700; margin-bottom:16px; }
.zy-balance-num{ font-size:28px; font-weight:700; color:var(--zy-primary); }
/* 提醒列表 */
.zy-notice-list{ list-style:none; margin:0; padding:0; }
.zy-notice-list li{
  display:flex; justify-content:space-between; gap:10px; padding:9px 0;
  border-bottom:1px dashed var(--zy-border); font-size:13px;
}
.zy-notice-list li:last-child{ border-bottom:none; }
.zy-notice-list a{ color:var(--zy-text); text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.zy-notice-list a:hover{ color:var(--zy-primary); }
.zy-notice-list time{ flex:none; color:#A0A6B5; font-size:12px; }
/* 快捷入口网格 */
.zy-entry-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.zy-entry-item{
  display:flex; align-items:center; gap:8px; padding:12px 12px;
  background:#F7F9FD; border-radius:2px; color:var(--zy-text); text-decoration:none; font-size:13px;
  transition:all .15s;
}
.zy-entry-item:hover{ background:var(--zy-bg-blue,#F0F4FF); color:var(--zy-primary); }
.zy-entry-item i{ font-size:18px; color:var(--zy-primary); }

/* ---------------- 登录/注册页 ---------------- */
.zy-auth-page{
  min-height:100vh; background:#EFF2F7;
  display:flex; flex-direction:column;
}
.zy-auth-logo{
  padding:26px 40px; display:flex; align-items:center;
}
.zy-auth-logo img{ height:40px; max-width:220px; object-fit:contain; }
.zy-auth-card{
  flex:1; display:flex; align-items:center; justify-content:center; padding:20px 16px 40px;
}
.zy-auth-box{
  width:100%; max-width:960px; background:#fff; border-radius:2px;
  box-shadow:0 8px 32px rgba(4,15,67,.08); display:flex; overflow:hidden;
}
.zy-auth-left{
  flex:0 0 35%; position:relative; color:#fff; padding:40px 30px;
  background:linear-gradient(150deg,#0B41B4 0%,#1565F0 55%,#2E7BFF 100%);
  display:flex; flex-direction:column; justify-content:space-between;
}
.zy-auth-left::before{
  content:""; position:absolute; right:-80px; bottom:-80px; width:260px; height:260px;
  background:radial-gradient(circle, rgba(255,255,255,.18), rgba(255,255,255,0) 65%); border-radius:50%;
}
.zy-auth-left h3{ color:#fff; font-size:22px; font-weight:700; margin-bottom:12px; position:relative; }
.zy-auth-left p{ color:rgba(255,255,255,.75); font-size:13px; line-height:1.9; position:relative; }
.zy-auth-left .zy-auth-feats{ list-style:none; margin:24px 0 0; padding:0; position:relative; }
.zy-auth-left .zy-auth-feats li{
  font-size:13px; color:rgba(255,255,255,.85); padding:6px 0;
}
.zy-auth-left .zy-auth-feats li i{ margin-right:8px; }
.zy-auth-right{ flex:1; padding:44px 46px; }
.zy-auth-tabs{ border-bottom:none !important; margin-bottom:22px; }
.zy-auth-tabs .nav-link{
  border:none !important; font-size:16px; font-weight:700; color:var(--zy-text);
  padding:8px 2px; margin-right:26px; position:relative; background:transparent !important;
}
.zy-auth-tabs .nav-link.active{ color:var(--zy-primary); }
.zy-auth-tabs .nav-link.active::after{
  content:""; position:absolute; left:0; bottom:-2px; width:26px; height:3px;
  background:var(--zy-primary); border-radius:2px;
}
.zy-auth-right label{ font-size:13px; color:#495057; }
.zy-auth-right .form-control{ height:44px; }
.zy-auth-btn{
  height:46px; font-size:15px; font-weight:600; border-radius:2px !important;
}
.zy-auth-foot{
  text-align:center; padding:0 16px 26px; font-size:12px; color:#86909C;
}
.zy-auth-foot a{ color:var(--zy-primary); margin:0 6px; }
@media (max-width:767px){
  .zy-auth-left{ display:none; }
  .zy-auth-right{ padding:32px 22px; }
}

/* ---------------- 响应式微调 ---------------- */
@media (max-width:992px){
  .zy-entry-grid{ grid-template-columns:1fr 1fr; }
}

/* ===== 三端自适应修复 ===== */
/* 窄屏顶栏品牌：logo-lg缩放显示（app.min.css在992以下隐藏了它） */
@media (max-width:992px){
  #page-topbar .navbar-brand-box .logo-lg{ display:flex !important; }
  #page-topbar .navbar-brand-box .logo-lg img{ max-height:26px; }
}
/* 手机端隐藏品牌空盒 */
@media (max-width:380px){
  body[data-sidebar="dark"] #page-topbar .navbar-brand-box{ display:none !important; }
  body #page-topbar .navbar-brand-box{ display:none !important; }
}
/* ===== 登录页logo三端自适应 ===== */
.zy-auth-logo{ padding:20px 40px; }
.zy-auth-logo img{ height:44px; max-width:200px; object-fit:contain; }
@media (max-width:991px){ .zy-auth-logo img{ height:38px; max-width:170px; } }
@media (max-width:767px){ .zy-auth-logo{ padding:16px 20px; } .zy-auth-logo img{ height:34px; max-width:160px; } }
.zy-auth-box .zy-auth-right{ overflow-y:auto; }