/* ==========================================================
   宁致销售云 · 设计系统
   主色 青 #008C69 / 浅色底 / 高信息密度但不拥挤
   ========================================================== */
:root{
  --ink:#0E1A17; --ink-2:#2B3A36; --muted:#6C7C78; --muted-2:#93A29E;
  --line:#E2EAE7; --line-2:#EFF4F2;
  --bg:#F5F9F7; --card:#FFFFFF;
  --accent:#008C69; --accent-d:#006F53; --accent-l:#2FAE8C;
  --accent-soft:#E7F4F0; --accent-line:#BFE3D9;
  --warn:#B8741A; --warn-soft:#FDF3E3;
  --danger:#C0392B; --danger-soft:#FBEBE9;
  --blue:#2C6FBB; --blue-soft:#EAF1FA;
  --violet:#6B4FBB; --violet-soft:#F0ECFA;
  --r:14px; --r-sm:9px;
  --sh:0 1px 2px rgba(14,26,23,.05), 0 4px 14px rgba(14,26,23,.04);
  --sh-lg:0 8px 40px rgba(14,26,23,.10);
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:14px; line-height:1.62; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none;}
button{font-family:inherit;}
h1,h2,h3,h4{margin:0; font-weight:650; letter-spacing:-.01em;}
.muted{color:var(--muted);}
.tiny{font-size:12px;}
.mono{font-variant-numeric:tabular-nums; font-feature-settings:"tnum";}
[hidden]{display:none !important;}

/* ---------------- 登录 ---------------- */
.login-wrap{min-height:100vh; display:grid; grid-template-columns:1.05fr .95fr;}
.login-side{
  background:
    radial-gradient(900px 500px at 12% 8%, rgba(0,140,105,.16), transparent 62%),
    radial-gradient(700px 420px at 88% 92%, rgba(0,140,105,.10), transparent 60%),
    #08251E;
  color:#EAF6F2; padding:72px 64px; display:flex; flex-direction:column; justify-content:center;
}
.brand-mark{
  width:52px;height:52px;border-radius:14px;background:var(--accent);color:#fff;
  display:grid;place-items:center;font-weight:800;letter-spacing:.5px;font-size:19px;margin-bottom:26px;
  box-shadow:0 6px 24px rgba(0,140,105,.4);
}
.brand-mark.sm{width:34px;height:34px;border-radius:10px;font-size:13px;margin:0;}
.login-side h1{font-size:38px; letter-spacing:-.02em; color:#fff;}
.login-sub{color:#8FC7B7; font-size:15px; margin:8px 0 34px;}
.login-points{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:16px;}
.login-points li{color:#C9E5DC; font-size:14.5px; display:flex; gap:12px; align-items:flex-start;}
.login-points b{
  flex:0 0 auto; width:26px;height:26px;border-radius:8px;background:rgba(0,140,105,.28);
  color:#7FE0C4; display:grid;place-items:center;font-size:13px;
}
.login-foot{margin-top:44px; color:#6E9C8E; font-size:13px;}
.login-box{padding:72px 56px; display:flex; flex-direction:column; justify-content:center; max-width:520px;}
.login-box h2{font-size:26px; margin-bottom:4px;}
#loginForm,#pwdForm{display:flex; flex-direction:column; margin-top:26px;}
/* display:flex 会盖掉 hidden 的默认样式，这里显式兜住 */
#loginForm[hidden],#pwdForm[hidden]{display:none;}
#loginForm label,#pwdForm label{font-size:12.5px; color:var(--muted); margin:14px 0 6px; font-weight:600;}
input,select,textarea{
  width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:var(--r-sm);
  font-size:14px; font-family:inherit; color:var(--ink); background:#fff; outline:none; transition:.16s;
}
input:focus,select:focus,textarea:focus{border-color:var(--accent-l); box-shadow:0 0 0 3px rgba(0,140,105,.12);}
/* 复选框/单选框不能被上面的 width:100% 撑开：撑开之后方框会停在行首、
   文字被挤到右边，整行看起来像"居中错位" */
input[type=checkbox],input[type=radio]{
  width:auto; flex:none; padding:0; border:none; background:none;
  accent-color:var(--accent); box-shadow:none;
}
input[type=checkbox]:focus{box-shadow:none;}
textarea{resize:vertical; min-height:88px; line-height:1.65;}
.btn-block{width:100%; margin-top:22px; justify-content:center;}
.err{color:var(--danger); font-size:13px; margin-top:10px; min-height:18px;}
.login-alt{margin-top:14px; text-align:center;}
.login-sep{color:var(--line); margin:0 7px; font-size:12px;}
.login-alt + .err{margin-top:4px;}
.link-btn{
  background:none; border:none; padding:4px 2px; cursor:pointer; font:inherit;
  font-size:13px; color:var(--brand, #008C69); text-decoration:underline;
  text-underline-offset:3px; transition:.15s;
}
.link-btn:hover{color:var(--ink); }
.demo-accounts{margin-top:28px; border-top:1px dashed var(--line); padding-top:18px;}
.demo-title{font-size:12px; color:var(--muted-2); margin-bottom:10px;}
.chip-btn{
  border:1px solid var(--line); background:#fff; color:var(--ink-2); border-radius:999px;
  padding:6px 12px; font-size:12.5px; margin:0 6px 8px 0; cursor:pointer; transition:.15s;
}
.chip-btn:hover{border-color:var(--accent-line); background:var(--accent-soft); color:var(--accent-d);}
.chip-btn.on{border-color:var(--accent); background:var(--accent); color:#fff;}

/* ---------------- 外壳 ---------------- */
.app{display:grid; grid-template-columns:236px 1fr; min-height:100vh;}
.sidebar{
  background:#fff; border-right:1px solid var(--line); display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh; padding:20px 14px;
}
.side-brand{display:flex; gap:10px; align-items:center; padding:0 6px 20px; border-bottom:1px solid var(--line-2); margin-bottom:14px;}
.side-title{font-weight:700; font-size:14.5px;}
.side-sub{font-size:10.5px; color:var(--muted-2); letter-spacing:.9px; text-transform:uppercase;}
#nav{flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:2px;}
.nav-group{font-size:10.5px; color:var(--muted-2); letter-spacing:1.1px; text-transform:uppercase; padding:16px 10px 6px; font-weight:600;}
.nav-item{
  display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:9px;
  color:var(--ink-2); font-size:13.5px; cursor:pointer; transition:.14s; border:0; background:none; text-align:left; width:100%;
}
.nav-item:hover{background:var(--line-2);}
a.nav-item{text-decoration:none; text-decoration-line:none;}
a.sheet-item{text-decoration:none; text-decoration-line:none;}
.nav-item.active{background:var(--accent-soft); color:var(--accent-d); font-weight:600;}
.nav-item .ic{width:18px; text-align:center; font-size:14px; opacity:.9;}
.side-foot{border-top:1px solid var(--line-2); padding-top:12px;}
.ai-dot{font-size:11.5px; color:var(--muted-2); display:flex; align-items:center; gap:6px; margin-bottom:10px;}
.ai-dot::before{content:""; width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.side-user{display:flex; align-items:center; gap:9px; font-size:13px;}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent-d);display:grid;place-items:center;font-weight:700;font-size:12.5px;}

/* ---------------- ICP 备案号 ----------------
   工信部要求：网站须公示备案号，且必须能链接到 beian.miit.gov.cn。
   三处：登录页左侧（PC）、登录页右侧（小屏兜底）、侧边栏底部（登录后）。 */
.icp{font-size:11px; line-height:1.5; letter-spacing:.2px;}
.icp a{color:inherit; text-decoration:none; border-bottom:1px dotted currentColor; transition:.14s;}
.icp a:hover{opacity:.72;}
.icp-dark{margin-top:14px; color:#7FB3A3;}
/* 右侧这处只在窄屏出现：宽屏左侧品牌区已经有一份，不重复展示 */
.icp-light{display:none; margin-top:26px; color:var(--muted-2); text-align:center;}
.side-foot .icp{
  margin-top:9px; padding-top:9px; border-top:1px dashed var(--line-2);
  color:var(--muted-2); font-size:10.5px; text-align:center; white-space:nowrap;
}

.main{min-width:0; display:flex; flex-direction:column;}
.topbar{
  background:rgba(255,255,255,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
  padding:14px 28px; display:flex; justify-content:space-between; align-items:center;
  position:sticky; top:0; z-index:20;
}
.topbar h2{font-size:18px;}
.crumb{font-size:12px; color:var(--muted-2); margin-top:1px;}
.top-actions{display:flex; gap:8px;}
.view{padding:24px 28px 90px; max-width:1320px; width:100%;}

/* ---------------- 基础组件 ---------------- */
.btn{
  display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:9px;
  border:1px solid var(--line); background:#fff; color:var(--ink-2); font-size:13px; cursor:pointer;
  transition:.15s; white-space:nowrap; font-weight:500;
}
.btn:hover{border-color:var(--accent-line); color:var(--accent-d); background:var(--accent-soft);}
.btn-primary{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600;}
.btn-primary:hover{background:var(--accent-d); border-color:var(--accent-d); color:#fff;}
.btn-ghost{border-color:transparent; background:transparent; color:var(--muted);}
.btn-ghost:hover{background:var(--line-2); color:var(--ink);}
.btn-sm{padding:5px 10px; font-size:12.5px;}
.btn:disabled{opacity:.5; cursor:not-allowed;}
.btn-danger{color:var(--danger); border-color:#F0CFCB;}
.btn-danger:hover{background:var(--danger-soft); border-color:var(--danger); color:var(--danger);}

.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:18px; box-shadow:var(--sh);}
.card.pad0{padding:0; overflow:hidden;}
.card-h{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; gap:12px;}
.card-h h3{font-size:14.5px;}
.card-h .sub{font-size:12px; color:var(--muted-2);}

.grid{display:grid; gap:14px;}
.g2{grid-template-columns:repeat(2,1fr);} .g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);} .g23{grid-template-columns:2fr 1fr;}
.g13{grid-template-columns:1fr 2fr;}

.kpi{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:15px 16px; box-shadow:var(--sh);}
.kpi .k{font-size:12px; color:var(--muted); margin-bottom:6px;}
.kpi .v{font-size:25px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.kpi .d{font-size:11.5px; color:var(--muted-2); margin-top:3px;}
.kpi.accent{background:linear-gradient(160deg,#0A3B2E,#005742); border-color:#005742; color:#fff;}
.kpi.accent .k{color:#8FC7B7;} .kpi.accent .d{color:#7FB3A4;}

.badge{display:inline-block; font-size:11px; font-weight:600; padding:2px 8px; border-radius:999px; line-height:1.6;}
.b-green{background:var(--accent-soft); color:var(--accent-d); border:1px solid var(--accent-line);}
.b-amber{background:var(--warn-soft); color:var(--warn); border:1px solid #F2DCB9;}
.b-red{background:var(--danger-soft); color:var(--danger); border:1px solid #F0CFCB;}
.b-blue{background:var(--blue-soft); color:var(--blue); border:1px solid #CFE0F4;}
.b-violet{background:var(--violet-soft); color:var(--violet); border:1px solid #DED5F5;}
.b-gray{background:var(--line-2); color:var(--muted); border:1px solid var(--line);}

.tier{display:inline-grid; place-items:center; width:22px;height:22px;border-radius:6px;font-size:11.5px;font-weight:800;}
.tier-A{background:#0E4A3A;color:#fff;} .tier-B{background:#C9E6DD;color:#0B5C46;}
.tier-C{background:#EFF1F0;color:#6C7C78;} .tier-D{background:#F3F3F3;color:#AAB4B1;}

.table{width:100%; border-collapse:collapse; font-size:13px;}
.table th{
  text-align:left; font-size:11.5px; color:var(--muted-2); font-weight:600; letter-spacing:.4px;
  padding:9px 14px; border-bottom:1px solid var(--line); background:#FBFDFC; position:sticky; top:0;
}
.table td{padding:11px 14px; border-bottom:1px solid var(--line-2); vertical-align:middle;}
.table tbody tr{cursor:pointer; transition:.12s;}
.table tbody tr:hover{background:#F7FBFA;}
.table tbody tr:last-child td{border-bottom:none;}

.tabs{display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:18px; flex-wrap:wrap;}
.tab{
  padding:9px 14px; font-size:13px; color:var(--muted); cursor:pointer; border:0; background:none;
  border-bottom:2px solid transparent; margin-bottom:-1px; font-weight:500;
}
.tab:hover{color:var(--ink);}
.tab.active{color:var(--accent-d); border-bottom-color:var(--accent); font-weight:650;}

.bar{height:6px; background:var(--line-2); border-radius:999px; overflow:hidden;}
.bar > i{display:block; height:100%; background:var(--accent); border-radius:999px; transition:width .5s ease;}
.bar.amber > i{background:var(--warn);} .bar.red > i{background:var(--danger);}

.empty{text-align:center; padding:48px 20px; color:var(--muted-2);}
.empty .big{font-size:34px; margin-bottom:10px; opacity:.5;}

.tag{display:inline-block; font-size:11.5px; color:var(--muted); background:var(--line-2); border-radius:6px; padding:1px 7px; margin-right:5px;}

/* ---------------- 成长 / 雷达 ---------------- */
.hero-band{
  background:linear-gradient(120deg,#08302A 0%,#0A4437 55%,#0C5140 100%);
  color:#fff; border-radius:var(--r); padding:22px 24px; display:flex; gap:26px; align-items:center;
  box-shadow:0 10px 30px rgba(8,48,42,.18); position:relative; overflow:hidden;
}
.hero-band::after{content:""; position:absolute; right:-60px; top:-80px; width:280px;height:280px;border-radius:50%;background:rgba(47,174,140,.16);}
.hero-band .big-score{font-size:44px; font-weight:800; letter-spacing:-.03em; line-height:1;}
.hero-band .lbl{font-size:12px; color:#8FC7B7;}
.hero-band .divider{width:1px; align-self:stretch; background:rgba(255,255,255,.14);}

.radar{width:100%; max-width:320px;}

/* ---------------- 知识库 / 文章 ---------------- */
.md{font-size:14px; line-height:1.78; color:var(--ink-2);}
.md h2{font-size:17px; margin:24px 0 10px; color:var(--ink); padding-bottom:6px; border-bottom:1px solid var(--line-2);}
.md h2:first-child{margin-top:0;}
.md h3{font-size:14.5px; margin:18px 0 8px; color:var(--accent-d);}
.md p{margin:9px 0;}
.md ul,.md ol{margin:9px 0; padding-left:22px;}
.md li{margin:4px 0;}
.md strong{color:var(--ink); font-weight:650;}
.md code{background:var(--accent-soft); color:var(--accent-d); padding:1px 5px; border-radius:5px; font-size:12.5px;}
.md pre{background:#0C211C; color:#D6F0E8; padding:14px 16px; border-radius:10px; overflow-x:auto; font-size:12.5px; line-height:1.7;}
.md pre code{background:none; color:inherit; padding:0;}
.md blockquote{
  margin:12px 0; padding:10px 16px; background:var(--accent-soft); border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0; color:var(--accent-d); font-size:13.5px;
}
.md blockquote p{margin:3px 0;}
.md table{width:100%; border-collapse:collapse; margin:12px 0; font-size:12.8px;}
.md th{background:#FBFDFC; text-align:left; padding:8px 11px; border:1px solid var(--line); font-weight:600; font-size:12px; color:var(--muted);}
.md td{padding:8px 11px; border:1px solid var(--line-2);}
.md hr{border:0; border-top:1px solid var(--line); margin:18px 0;}

.kb-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:15px 16px; cursor:pointer;
  transition:.16s; display:flex; flex-direction:column; gap:6px; height:100%;
}
.kb-card:hover{border-color:var(--accent-line); box-shadow:var(--sh-lg); transform:translateY(-1px);}
.kb-card .t{font-weight:650; font-size:14px;}
.kb-card .s{font-size:12.5px; color:var(--muted); line-height:1.6; flex:1;}
.kb-card .m{font-size:11.5px; color:var(--muted-2); display:flex; gap:10px;}

/* ---------------- 对话 ---------------- */
.chat{display:flex; flex-direction:column; gap:14px;}
.bubble{max-width:78%; padding:11px 14px; border-radius:12px; font-size:13.5px; line-height:1.72; white-space:pre-wrap; word-break:break-word;}
.bubble.user{align-self:flex-end; background:var(--accent); color:#fff; border-bottom-right-radius:4px;}
.bubble.bot{align-self:flex-start; background:#fff; border:1px solid var(--line); border-bottom-left-radius:4px; box-shadow:var(--sh);}
.bubble.bot .md{font-size:13.5px;}
.cite{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
.cite a{font-size:11.5px; background:var(--accent-soft); color:var(--accent-d); padding:2px 8px; border-radius:999px;}
.chat-input{display:flex; gap:8px; margin-top:14px;}
.chat-input textarea{min-height:46px; max-height:130px;}

/* 陪练 */
.coach-stage{background:#fff; border:1px solid var(--line); border-radius:var(--r); display:flex; flex-direction:column; height:calc(100vh - 250px); min-height:440px;}
.coach-head{padding:14px 18px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:12px;}
.coach-body{flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:12px; background:#FBFDFC;}
.coach-foot{padding:12px 14px; border-top:1px solid var(--line); display:flex; gap:8px; align-items:flex-end;}
.coach-foot textarea{min-height:48px; max-height:120px;}

/* ---------------- 答题 ---------------- */
.opt{
  display:flex; gap:10px; align-items:flex-start; padding:11px 14px; border:1px solid var(--line);
  border-radius:10px; margin-bottom:8px; cursor:pointer; transition:.14s; background:#fff; font-size:13.5px;
}
.opt:hover{border-color:var(--accent-line); background:#FBFDFC;}
.opt.sel{border-color:var(--accent); background:var(--accent-soft);}
.opt.right{border-color:var(--accent); background:#EAF7F2;}
.opt.wrong{border-color:var(--danger); background:var(--danger-soft);}
.opt .k{
  flex:0 0 auto; width:22px;height:22px;border-radius:6px;background:var(--line-2);color:var(--muted);
  display:grid;place-items:center;font-size:12px;font-weight:700;
}
.opt.sel .k{background:var(--accent);color:#fff;}
.opt.right .k{background:var(--accent);color:#fff;}
.opt.wrong .k{background:var(--danger);color:#fff;}
.explain{background:var(--accent-soft); border-left:3px solid var(--accent); border-radius:0 8px 8px 0; padding:11px 14px; font-size:12.8px; color:var(--accent-d); margin-top:10px; line-height:1.7;}

/* ---------------- 漏斗 ---------------- */
.funnel{display:grid; grid-template-columns:repeat(6,1fr); gap:10px;}
.fcol{background:#FBFDFC; border:1px solid var(--line); border-radius:11px; padding:10px; min-height:180px;}
.fcol h4{font-size:12.5px; color:var(--muted); margin-bottom:3px; display:flex; justify-content:space-between;}
.fcol .amt{font-size:12px; color:var(--accent-d); font-weight:700; margin-bottom:8px;}
.ocard{background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 10px; margin-bottom:7px; font-size:12.5px; cursor:grab;}
.ocard:hover{border-color:var(--accent-line);}
.ocard .n{font-weight:600; margin-bottom:2px;}
.ocard .a{font-size:11.5px; color:var(--muted-2);}

/* ---------------- 播放器 ---------------- */
.player{
  position:fixed; right:24px; bottom:22px; z-index:60; background:#0C211C; color:#EAF6F2;
  border-radius:14px; padding:10px 14px; display:flex; align-items:center; gap:12px;
  box-shadow:0 12px 40px rgba(8,33,28,.34); max-width:520px;
}
.player-cover{width:34px;height:34px;border-radius:9px;background:rgba(0,140,105,.3);display:grid;place-items:center;font-size:15px;}
.player-title{font-size:12.5px; font-weight:600; max-width:250px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.player-sub{font-size:11px; color:#7FB3A4;}
.player .btn-ghost{color:#8FC7B7; border-color:rgba(255,255,255,.12); padding:4px 9px;}
.player .btn-ghost:hover{background:rgba(255,255,255,.08); color:#fff;}
.rate{background:none;border:1px solid rgba(255,255,255,.14);color:#8FC7B7;border-radius:6px;font-size:11px;padding:2px 6px;cursor:pointer;margin-left:3px;}
.rate.active{background:var(--accent); color:#fff; border-color:var(--accent);}

/* ---------------- 提示 / 弹层 ---------------- */
.toast{
  position:fixed; top:22px; left:50%; transform:translateX(-50%); z-index:200;
  background:#0E1A17; color:#fff; padding:10px 18px; border-radius:10px; font-size:13px;
  box-shadow:0 10px 30px rgba(0,0,0,.24); animation:pop .2s ease;
}
@keyframes pop{from{opacity:0; transform:translate(-50%,-8px);} to{opacity:1; transform:translate(-50%,0);}}
.modal{position:fixed; inset:0; background:rgba(12,26,22,.42); z-index:150; display:grid; place-items:center; padding:24px; backdrop-filter:blur(2px);}
.modal-box{background:#fff; border-radius:16px; padding:24px; width:100%; max-width:560px; max-height:86vh; overflow-y:auto; box-shadow:var(--sh-lg);}
.modal-box h3{margin-bottom:16px; font-size:17px;}
.modal-box.wide{max-width:820px;}
/* 表单弹窗底部操作栏吸底，长表单不用滚到底才看得见保存 */
.modal-box .form-actions{position:sticky; bottom:-24px; background:#fff; margin-top:14px;
  padding:14px 0 24px; border-top:1px solid var(--line); z-index:2;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:12.5px; color:var(--muted); margin-bottom:6px; font-weight:600;}

/* ---------------- 表格/列表辅助 ---------------- */
.row{display:flex; align-items:center; gap:10px;}
.between{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.wrap{flex-wrap:wrap;}
.stack{display:flex; flex-direction:column; gap:10px;}
.scroll-x{overflow-x:auto;}
.list-item{padding:13px 0; border-bottom:1px solid var(--line-2); display:flex; gap:12px; align-items:flex-start;}
.list-item:last-child{border-bottom:none;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:0 0 auto;margin-top:7px;}
.dot.amber{background:var(--warn);} .dot.red{background:var(--danger);}

/* ---------------- 响应式 ---------------- */
@media(max-width:1180px){ .g4{grid-template-columns:repeat(2,1fr);} .g23,.g13{grid-template-columns:1fr;} .funnel{grid-template-columns:repeat(3,1fr);} }
@media(max-width:860px){
  .app{grid-template-columns:1fr;} .sidebar{display:none;}
  .login-wrap{grid-template-columns:1fr;} .login-side{display:none;}
  /* 左侧品牌区连同备案号一起隐藏了，这里必须补出来（合规） */
  .icp-light{display:block;}
  .view{padding:16px 16px 90px;} .topbar{padding:12px 16px;}
  .g2,.g3,.g4{grid-template-columns:1fr;} .funnel{grid-template-columns:1fr 1fr;}
  .bubble{max-width:92%;}
}

/* ============================================================
   决策层共享组件（客户决策页 + 客户 360 页都要用）
   —— 之前这些样式写在页面内的 <style> 里，跨页就失效了
   ============================================================ */
.src-band{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);
  background:#EEF6F3;border:1px solid #D7E9E3;border-radius:10px;padding:9px 14px;margin-bottom:14px}
.src-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(0,140,105,.15)}

/* 柱状图 */
.bars{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:18px}
.bcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;
  height:100%;position:relative;min-width:0}
.bar-b{width:100%;max-width:38px;background:linear-gradient(180deg,var(--accent),#3FB08C);
  border-radius:5px 5px 2px 2px;transition:.3s}
.bval{font-size:10px;color:var(--muted);margin-bottom:3px;white-space:nowrap}
.blab{font-size:10px;color:var(--muted);margin-top:4px}

/* 机会 / 缺口卡 */
.opp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.opp-card{border:1px solid var(--line);border-radius:10px;padding:11px 13px;cursor:pointer;transition:.15s;min-width:0}
.opp-card:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(0,140,105,.09)}
.gap-line{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.55}
.gap-tag{display:inline-block;background:#E8F5F0;color:var(--accent-d);border-radius:5px;
  padding:1px 7px;font-size:11px;font-weight:600;margin-right:6px}

/* 渠道条形 */
.ch-row{margin-bottom:10px}
.ch-track{height:6px;background:#EDF3F1;border-radius:4px;margin-top:4px;overflow:hidden}
.ch-fill{height:100%;background:linear-gradient(90deg,var(--accent),#57C4A1);border-radius:4px}

/* 热力矩阵 */
.heat{width:100%;border-collapse:separate;border-spacing:3px;font-size:13px;table-layout:fixed}
.heat th{font-weight:600;font-size:12px;color:var(--muted);padding:6px 4px;text-align:center}
.heat .rh{text-align:left;padding-left:8px;color:var(--text);white-space:nowrap;width:78px}
.hc{text-align:center;border-radius:8px;padding:10px 6px;cursor:pointer;transition:transform .12s}
.hc:hover{transform:scale(1.03)}
.hc b{display:block;font-size:16px;line-height:1.2}
.hc-kg{display:block;font-size:10.5px;opacity:.78;margin-top:2px}
.hc-sum{text-align:center;font-size:12.5px;color:var(--muted);padding:8px 4px}

.table-wrap{overflow-x:auto}
.click-row{cursor:pointer}
.click-row:hover{background:#F4FAF7}
.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* flex 长文本不撑破容器 */
.between>*{min-width:0}
.opp-card .between b{overflow-wrap:anywhere}

/* 五维评分：5 列等宽 */
.dims5{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:900px){.dims5{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   客户池（公海 / 领取 / 归属流水）
   ============================================================ */
.pool-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:14px;align-items:start}
@media(max-width:1080px){.pool-grid{grid-template-columns:1fr}}
.pv{font-size:14.5px;line-height:1.75;color:#123;background:#EEF7F3;border-left:3px solid var(--accent);
  border-radius:0 9px 9px 0;padding:12px 16px}
.pv b{color:var(--accent-d)}

.rule-row{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:7px 0;border-bottom:1px dashed var(--line);font-size:12.5px;color:var(--muted)}
.rule-row:last-of-type{border-bottom:0}
.rule-row b{color:var(--ink-2);font-weight:600}

.flow-item{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line)}
.flow-item:last-child{border-bottom:0}

.mini{background:#F8FBFA;border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.mini .k{font-size:11px;color:var(--muted-2)}
.mini .v{font-size:14.5px;font-weight:700;margin-top:2px}

.stage-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
@media(max-width:900px){.stage-strip{grid-template-columns:repeat(4,1fr)}}
.stage-cell{background:#F7FAF9;border:1px solid var(--line);border-radius:9px;padding:9px 4px;text-align:center}
.stage-cell .sc-n{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
.stage-cell .sc-l{font-size:10.5px;color:var(--muted-2);margin-top:1px}
.stage-cell.sum{background:var(--accent-soft);border-color:var(--accent-line)}
.stage-cell.sum .sc-n{color:var(--accent-d)}

.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);cursor:pointer}
.chk input{width:15px;height:15px;accent-color:var(--accent)}

/* 客户 360 · 归属卡 */
.own-card{padding:16px 18px;background:linear-gradient(135deg,#F7FCFA,#fff 55%)}
.own-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:20px}
@media(max-width:900px){.own-grid{grid-template-columns:1fr}}
.own-label{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--muted-2);text-transform:uppercase;margin-bottom:7px}
.own-owner{font-size:15px;font-weight:650;color:var(--ink)}
.own-flow{border-left:1px dashed var(--line);padding-left:18px}
@media(max-width:900px){.own-flow{border-left:0;padding-left:0;border-top:1px dashed var(--line);padding-top:12px}}

/* 表格里的徽章/数字不折行（窄列时折成竖排很难读） */
.table .badge{white-space:nowrap}
.table td.num{white-space:nowrap}

/* 对账表：备注会把行撑高，数值若垂直居中就会掉到指标名下面去。
   统一顶部对齐，让数字和指标名首行在同一条水平线上。 */
.table-recon th{white-space:nowrap}
.table-recon td,.table-recon th{vertical-align:top}
.table-recon td.num,.table-recon td:last-child{padding-top:12px}

/* ============================================================
   新开客户（口径说明 / 销售标注 / 逐月走势 / 依据展开）
   ============================================================ */
.nc-caliber{
  background:#F4FAF7;border:1px solid var(--accent-line);border-radius:10px;
  padding:11px 13px;font-size:12.5px;line-height:1.8;color:var(--muted);margin-bottom:14px;
}
.nc-caliber b{color:var(--ink);font-weight:650}

/* 销售姓名要一眼能认出来——判断归属比看货量更常用 */
.nc-sales{
  display:inline-block;font-weight:650;font-size:12px;white-space:nowrap;
  background:#EEF7F3;border:1px solid var(--accent-line);color:var(--accent-d);
  border-radius:6px;padding:2px 8px;
}

.nc-table td{vertical-align:top}
.nc-table td:first-child{min-width:190px}
.nc-table th{white-space:nowrap}
/* 日期和客龄不许折行 —— 「2026-08-」+「01」断成两行比数字小更影响阅读 */
.nc-table td:nth-child(3){white-space:nowrap}
.nc-table th:nth-child(4){text-align:right}
.nc-spark{display:flex;align-items:flex-end;gap:2px;height:28px}
.nc-spark i{display:block;width:7px;border-radius:2px 2px 0 0;
  background:linear-gradient(180deg,#2F8F6B,#7FC7AE)}
.nc-spark-lab{font-size:10px;letter-spacing:-.2px;white-space:nowrap;color:var(--muted-2);margin-top:3px}

.nc-verdict{font-size:12.5px;line-height:1.65;color:var(--ink)}
.nc-why{
  display:none;margin-top:8px;padding:9px 12px;border-radius:8px;
  background:#FAFCFB;border:1px solid var(--line-2);
  font-size:12px;line-height:1.85;color:var(--muted);
}
.nc-why.on{display:block}
.nc-why ul{margin:0;padding-left:16px}
.nc-why li{margin:2px 0}
.rule-row span{white-space:nowrap}

/* ============================================================
   我的定位（销售看自己的能力×货量位置）
   ============================================================ */
.pos-head{background:linear-gradient(135deg,#EEF7F3,#fff 62%);border:1px solid var(--accent-line);
  border-radius:14px;padding:18px 20px}
.ph-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.3px;
  border-radius:999px;padding:3px 11px;margin-bottom:9px}
.ph-txt{font-size:15px;line-height:1.7;color:var(--ink)}
.ph-txt b{color:var(--accent-d);font-variant-numeric:tabular-nums}
.ph-say{margin-top:9px;padding-top:9px;border-top:1px dashed var(--accent-line);
  font-size:13.5px;line-height:1.75;color:var(--ink-2)}

.gap3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:900px){.gap3{grid-template-columns:1fr}}
.gap-cell{background:#F8FBFA;border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.gc-k{font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--muted-2);text-transform:uppercase}
.gc-v{font-size:20px;font-weight:800;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.gc-v.ok{color:var(--accent-d)}
.gc-v.warn{color:#B8741A}
.gc-d{font-size:11.5px;color:var(--muted);line-height:1.5}

.me-row{background:#EEF7F3!important;box-shadow:inset 3px 0 0 var(--accent)}
.me-row td{font-weight:600}

.act-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.act-list li{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.65;color:var(--ink-2)}
.act-list .an{flex:none;width:19px;height:19px;border-radius:50%;background:var(--accent-soft);
  color:var(--accent-d);font-size:11px;font-weight:800;display:grid;place-items:center;margin-top:2px}

.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:900px){.mini-grid{grid-template-columns:1fr}}
.pos-note{margin-top:12px;background:#F6FAF8;border:1px solid var(--line);border-radius:9px;
  padding:10px 12px;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.pos-note b{color:var(--accent-d)}

/* ============================================================
   AI 策略页
   ============================================================ */
.st-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
@media(max-width:1180px){.st-grid{grid-template-columns:1fr}}
.st-main{min-width:0}
.st-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:84px}
@media(max-width:1180px){.st-side{position:static}}

/* 输入区 */
.st-form textarea{min-height:84px;font-size:14.5px;line-height:1.7}
.st-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.chip2{font-size:12.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--muted);cursor:pointer;transition:.15s}
.chip2:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-d)}
.st-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.st-tip{margin-top:9px}

/* 客户选择 */
.st-pick{position:relative}
.st-pick-lbl{display:block;font-size:11.5px;color:var(--muted-2);margin-bottom:5px;font-weight:600}
.st-pick-box{display:flex;align-items:center;gap:8px}
.st-pick-name{font-size:13px;color:var(--ink-2);max-width:190px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;background:var(--line-2);padding:5px 10px;border-radius:8px}
.st-drop{position:absolute;z-index:40;top:100%;left:0;margin-top:6px;width:420px;max-width:86vw;
  background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);padding:10px}
.st-drop-list{max-height:260px;overflow-y:auto;margin-top:8px}
.st-drop-row{display:flex;align-items:center;gap:8px;padding:8px 6px;border-radius:8px;cursor:pointer;font-size:13px}
.st-drop-row:hover{background:var(--accent-soft)}
.st-drop-row b{font-weight:600}
.st-drop-row .tiny{margin-left:auto;white-space:nowrap}

/* 结果头 */
.st-res{padding:20px}
.st-res-head{display:flex;gap:13px;align-items:flex-start}
.st-icon{font-size:26px;line-height:1;flex:none;width:44px;height:44px;border-radius:12px;
  background:var(--accent-soft);display:grid;place-items:center}
.st-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.st-cust{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap;font-size:13px}
.st-cust-name{font-weight:600;color:var(--accent-d);text-decoration:none}
.st-cust-name:hover{text-decoration:underline}
.st-cause{font-size:13.5px;line-height:1.85;color:var(--ink-2)}

/* 证据 */
.ev-list{display:flex;flex-direction:column;gap:10px}
.ev-item{border-left:2px solid var(--accent-line);padding:2px 0 2px 12px}
.ev-l{font-size:11.5px;color:var(--muted-2);font-weight:600;letter-spacing:.02em}
.ev-v{font-size:14px;font-weight:700;color:var(--ink);margin:2px 0 3px;font-variant-numeric:tabular-nums}
.ev-n{font-size:12.5px;color:var(--muted);line-height:1.65}

/* 动作清单 */
.mv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.mv-item{display:flex;gap:11px;align-items:flex-start}
.mv-n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;
  font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.mv-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.8px}
.mv-when{font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;white-space:nowrap}
.w-now{background:var(--danger-soft);color:var(--danger)}
.w-week{background:var(--warn-soft);color:var(--warn)}
.w-month{background:var(--blue-soft);color:var(--blue)}
.mv-why{font-size:12.5px;color:var(--muted);line-height:1.7;margin-top:4px}

/* 话术 */
.sc-list{display:flex;flex-direction:column;gap:11px}
.sc-card{background:#F7FBF9;border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.sc-line{font-size:13.5px;line-height:1.9;color:var(--ink);margin-top:6px;white-space:pre-wrap}
.kb-link{color:var(--accent-d);text-decoration:none;font-size:12.5px;margin-left:8px}
.kb-link:hover{text-decoration:underline}
.taboo li::before{content:"✕";color:var(--danger);font-weight:700;flex:none;width:19px;text-align:center}

/* 断档分布 */
.gap-bars{display:flex;flex-direction:column;gap:8px}
.gap-row{display:grid;grid-template-columns:84px 1fr auto auto;gap:10px;align-items:center;font-size:12.5px}
.gap-band{color:var(--muted);white-space:nowrap}
.gap-track{height:9px;background:var(--line-2);border-radius:99px;overflow:hidden}
.gap-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#4FC19F);border-radius:99px}
.gap-n{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.gap-r{color:var(--muted-2);white-space:nowrap;min-width:96px;text-align:right}
@media(max-width:700px){.gap-row{grid-template-columns:74px 1fr auto}.gap-r{display:none}}

/* 侧栏历史 */
.hist-list{display:flex;flex-direction:column;gap:2px}
.hist-item{padding:9px 8px;border-radius:9px;cursor:pointer;transition:.14s;border-bottom:1px solid var(--line-2)}
.hist-item:last-child{border-bottom:none}
.hist-item:hover{background:var(--accent-soft)}
.hist-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.hist-p{font-size:12.5px;color:var(--ink-2);line-height:1.6;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 侧栏分布条 */
.bar-row{display:grid;grid-template-columns:78px 1fr 26px;gap:9px;align-items:center;margin-bottom:7px;font-size:12.5px}
.bar-l{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-t{height:8px;background:var(--line-2);border-radius:99px;overflow:hidden}
.bar-t i{display:block;height:100%;background:var(--accent);border-radius:99px}
.bar-n{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}
.st-empty .kpi{background:#F8FBFA;border-style:dashed}
.st-empty .kpi .k{font-size:12.5px;color:var(--accent-d);font-weight:700;margin-bottom:2px}
.st-empty .kpi .d{font-size:12px;color:var(--muted);line-height:1.6}
.sync-tag{font-size:11.5px;color:var(--muted-2);border:1px solid var(--line);border-radius:999px;
  padding:1px 8px;background:#fff;white-space:nowrap}
.sync-tag.stale{color:var(--warn);border-color:#F0DFC0;background:var(--warn-soft)}

/* ============ 客户状态 / 时间线（P0） ============ */
.st-card{margin-top:12px}
.st-track{height:5px;background:#EDF3F1;border-radius:4px;margin-top:10px;overflow:hidden;max-width:420px}
.st-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.st-fill.hot{background:var(--danger)}
.tl{display:flex;flex-direction:column;gap:0}
.tl-item{display:flex;gap:11px;padding:11px 0;border-bottom:1px dashed var(--line)}
.tl-item:last-child{border-bottom:0}
.tl-tag{flex:0 0 auto;align-self:flex-start;font-size:11px;font-weight:700;border-radius:6px;
  padding:3px 8px;white-space:nowrap;background:#EAF2F8;color:#2471A3}
.tl-touch{background:#E6F1FB;color:#185FA5}
.tl-status{background:#EEEDFE;color:#534AB7}
.tl-claim{background:#F1EFE8;color:#5F5E5A}
.st-select{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}

/* ================= 消息中心 ================= */
.msg-num{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;
  border-radius:9px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;line-height:1}
.msg-num[hidden]{display:none}
.nav-item .nav-num{margin-left:auto;display:inline-grid;place-items:center;min-width:16px;height:16px;
  padding:0 5px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:700}
.nav-item .nav-num[hidden]{display:none}
#btnMsg{display:inline-flex;align-items:center;gap:6px}
.msg-item{display:flex;gap:11px;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:.14s}
.msg-item:last-child{border-bottom:0}
.msg-item:hover{background:#F7FAF9}
.msg-item.unread{background:#F3FAF6}
.msg-item .m-dot{width:7px;height:7px;border-radius:50%;background:transparent;margin-top:8px;flex:none}
.msg-item.unread .m-dot{background:var(--accent)}
.msg-item .m-main{flex:1;min-width:0}
.msg-item .m-title{font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.msg-item.unread .m-title{font-weight:650;color:var(--ink)}
.msg-item .m-body{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msg-item .m-side{flex:none;text-align:right;font-size:11.5px;color:var(--muted-2);line-height:1.7}
.msg-rcp{max-height:270px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.msg-rcp .g{font-size:11px;color:var(--muted-2);font-weight:700;letter-spacing:.6px;padding:8px 0 4px}
.msg-rcp label{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px;cursor:pointer}
.msg-rcp label input{width:auto}
.msg-body{white-space:pre-wrap;line-height:1.85;font-size:14px;color:var(--ink-2);
  background:#F8FAF9;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:10px}

/* 播放器音色选择 */
.player-voice{max-width:150px; padding:5px 8px; font-size:12px; border-radius:8px;
  border:1px solid var(--line); background:#fff; color:var(--ink-2)}

/* ============================================================
   手机端导航（≤860px）
   —— 侧边栏在窄屏是 display:none，之前没有任何替代入口，
      手机上登录后只能停在首页。这里补 底部 Tab + 全功能抽屉
   ============================================================ */
.tabbar{display:none;}

.sheet-mask{position:fixed; inset:0; background:rgba(14,26,23,.42); z-index:80;
  opacity:0; transition:opacity .18s; pointer-events:none;}
.sheet-mask.on{opacity:1; pointer-events:auto;}

.sheet{position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--card);
  border-radius:18px 18px 0 0; box-shadow:0 -8px 40px rgba(14,26,23,.20);
  transform:translateY(103%); transition:transform .22s cubic-bezier(.32,.72,0,1);
  max-height:78vh; display:flex; flex-direction:column;}
.sheet.on{transform:translateY(0);}
.sheet-h{display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid var(--line-2); flex:none;}
.sheet-body{padding:12px 16px calc(20px + env(safe-area-inset-bottom)); overflow:auto;
  display:grid; grid-template-columns:repeat(2,1fr); gap:8px;}
.sheet-group{grid-column:1/-1; font-size:11.5px; color:var(--muted-2); font-weight:600;
  letter-spacing:.06em; margin:10px 0 2px;}
.sheet-item{display:flex; align-items:center; gap:8px; padding:11px 12px;
  border:1px solid var(--line); background:var(--card); border-radius:var(--r-sm);
  font-size:13.5px; color:var(--ink); text-align:left; cursor:pointer;}
.sheet-item:active{background:var(--accent-soft); border-color:var(--accent-line);}

@media(max-width:860px){
  .tabbar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:70;
    background:rgba(255,255,255,.97); backdrop-filter:saturate(180%) blur(12px);
    border-top:1px solid var(--line);
    height:calc(56px + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);}
  .tab-item{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:3px; border:0; background:none; color:var(--muted); font-size:11px;
    cursor:pointer; -webkit-tap-highlight-color:transparent;}
  .tab-item .ti{font-size:19px; line-height:1; transition:transform .12s;}
  .tab-item.active{color:var(--accent); font-weight:600;}
  .tab-item.active .ti{transform:translateY(-1px);}
}

/* 桌面端永不出现抽屉 */
@media(min-width:861px){
  .sheet,.sheet-mask{display:none !important;}
}
