@charset "UTF-8";
/* ==================================================================
 * 江西奇峰药业 · ERP 服务中心 —— 统一外壳样式
 * ------------------------------------------------------------------
 * 位置：/erp-center/assets/site.css
 * 说明：本文件在「页面自身 <style>」之后加载，统一接管外壳类名
 *       （site-head / site-nav / site-foot / pagebar / #erp-main），
 *       并统一设计变量，保证 5 个页面看起来是一整站。
 * ================================================================== */
:root{
  --brand:#0e9b8c; --brand-d:#0a7d71; --brand-t:#e9f5f3; --brand-b:#cfe9e5;
  --accent:#f4612e; --accent-d:#db4a1d; --accent-t:#fdeee7;
  --ink:#0f172a; --ink2:#334155; --muted:#64748b; --faint:#9aa8b8;
  --line:#e9eef5; --line2:#f2f6fa;
  --card:#fff; --bg:#f4f7fb;
  --warn:#b3730b; --warn-t:#fff5e6; --warn-b:#ffe9b8;
  --red:#c02a2a; --red-t:#fdeaea;
  --r:16px; --nav-h:64px;
  --sh-s:0 1px 2px rgba(15,23,42,.04), 0 8px 20px -16px rgba(15,23,42,.22);
  --sh-m:0 20px 40px -28px rgba(15,23,42,.42);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;}
body{
  display:flex;flex-direction:column;min-height:100vh;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  background-color:var(--bg);color:var(--ink);font-size:14px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1100px 460px at 6% -12%,rgba(14,155,140,.15),transparent 60%),
    radial-gradient(1000px 440px at 96% -10%,rgba(244,97,46,.12),transparent 58%),
    radial-gradient(900px 520px at 50% 118%,rgba(47,127,224,.11),transparent 64%);
  background-repeat:no-repeat;
  background-attachment:fixed;
}
body.noscroll{overflow:hidden;}

/* 主内容容器：统一宽度与内边距（覆盖各页 .shell 的差异化设置）；
   不使用 flex-grow：内容不足一屏时页脚紧跟内容，避免底部出现大片空白 */
#erp-main{
  flex:0 0 auto;position:relative;
  width:1180px;max-width:100%;
  margin:0 auto;padding:28px 22px 20px;
}
/* 各内页首块与首页对齐：去掉首元素额外上边距 */
#erp-main>*:first-child{margin-top:0;}
@media (max-width:880px){#erp-main{padding:18px 14px 16px;}}

/* 首页：快捷操作由右侧悬浮改为底部横排（适配全宽外壳） */
.rail{display:flex;position:static;transform:none;width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;}
.rail-cap{display:none;}
.rail-btn{transform:none;}
.rail-btn:hover{transform:translateY(-2px);}

/* ---------- 顶栏 ---------- */
.site-head{
  position:sticky;top:0;z-index:60;height:var(--nav-h);
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.site-head-in{width:1180px;max-width:100%;height:100%;margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:18px;}
.site-brand{display:flex;align-items:center;gap:11px;min-width:0;flex:0 0 auto;}
.site-brand img{height:32px;width:auto;display:block;}
.site-brand-tx{min-width:0;}
.site-brand-tx b{display:block;font-size:15px;font-weight:700;letter-spacing:.2px;white-space:nowrap;}
.site-brand-tx span{display:block;font-size:11.5px;color:var(--faint);letter-spacing:1.6px;}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:4px;}
.site-nav a{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 15px;border-radius:9px;font-size:13.5px;font-weight:500;color:var(--ink2);
  white-space:nowrap;transition:background .16s,color .16s;cursor:pointer;
}
.site-nav a i{font-size:12.5px;opacity:.9;}
.site-nav a:hover{background:var(--line2);color:var(--brand-d);}
.site-nav a.on{background:var(--brand-t);color:var(--brand-d);font-weight:600;}

/* ---------- 顶栏账户（登录 / 头像菜单） ---------- */
.site-acc{position:relative;flex:0 0 auto;margin-left:4px;}
.acc-btn,.acc-login{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:13.5px;font-weight:500;color:var(--ink2);cursor:pointer;transition:.16s;white-space:nowrap;}
.acc-btn{padding:5px 14px 5px 5px;}
.acc-login{padding:8px 16px;}
.acc-btn:hover,.acc-login:hover{border-color:rgba(14,155,140,.45);color:var(--brand-d);}
.acc-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:#eef2f7;display:inline-flex;}
.acc-avatar img{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block;}
.acc-caret{font-size:10px;color:var(--faint);}
.acc-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:160px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 44px -22px rgba(15,23,42,.5);padding:6px;display:none;z-index:90;}
.acc-menu.is-open{display:block;animation:erpAccPop .16s both;}
.acc-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;color:var(--ink2);}
.acc-menu a:hover{background:var(--line2);color:var(--brand-d);}
@keyframes erpAccPop{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* ---------- 顶部加载进度条 ---------- */
.pagebar{
  position:fixed;left:0;top:0;height:2px;width:0;z-index:200;opacity:0;
  background:linear-gradient(90deg,var(--brand),#4bd0bd);
  transition:width .22s ease,opacity .22s ease;
}
.pagebar.on{opacity:1;}

/* ---------- 视图切换过渡（无跳转感） ---------- */
/* 注意：#erp-main 的进场动画只能改透明度，切勿加 transform——
   否则它会成为固定定位后代的包含块，弹层/浮层会在页面滚动后错位到文档顶部 */
@keyframes erpViewIn{from{opacity:0;}to{opacity:1;}}
.erp-view{animation:erpViewIn .26s ease both;}
@media (prefers-reduced-motion:reduce){.erp-view{animation:none;}}

/* ---------- 统一页脚 ---------- */
.site-foot{margin-top:18px;border-top:1px solid var(--line);background:#fff;}
.site-foot-in{width:1180px;max-width:100%;margin:0 auto;padding:24px 22px 28px;text-align:center;}
.site-foot-cr{font-size:13.5px;font-weight:600;color:var(--ink2);letter-spacing:.2px;}
.site-foot-lic{margin:12px auto 0;max-width:1020px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 28px;font-size:12.5px;line-height:1.7;color:var(--muted);}
/* gap/padding 显式归零：防止各页页内样式里的同名 .lic 规则泄漏进来撑开间距 */
.site-foot-lic .lic{display:inline-flex;align-items:center;gap:0;padding:0;white-space:nowrap;}
.site-foot-lic .lic b{font-weight:600;color:var(--ink2);}
.site-foot-lic a.link{color:var(--muted);text-decoration:underline;text-underline-offset:2px;}
.site-foot-lic a.link:hover{color:var(--brand-d);}
/* 页脚证照行：可点开灯箱的证照（整条可点，悬停高亮） */
.site-foot-lic a.lic-link{cursor:pointer;text-decoration:none;border-radius:6px;padding:1px 7px;margin:0 -7px;transition:background .16s,color .16s;}
.site-foot-lic a.lic-link i{margin-left:5px;font-size:11px;color:var(--faint);transition:color .16s;}
.site-foot-lic a.lic-link:hover{background:var(--brand-t);color:var(--brand-d);}
.site-foot-lic a.lic-link:hover b{color:var(--brand-d);}
.site-foot-lic a.lic-link:hover i{color:var(--brand-d);}
.site-foot-disc{margin:15px auto 0;padding-top:14px;border-top:1px solid var(--line);max-width:1020px;font-size:12.5px;line-height:1.9;color:var(--faint);}

/* ---------- APP 介绍页（app.php） ---------- */
.app-hero{display:flex;align-items:center;gap:26px;padding:30px 30px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-s);}
.app-hero-ico{width:96px;height:96px;flex:0 0 96px;border-radius:24px;background:#f2f8f7;border:1px solid var(--line);padding:10px;display:grid;place-items:center;overflow:hidden;}
.app-hero-ico img{width:100%;height:100%;object-fit:contain;border-radius:18px;}
.app-hero-tx{min-width:0;flex:1;}
.app-hero-tx h1{margin:0;font-size:25px;font-weight:800;color:var(--ink);}
.app-hero-tx .slogan{margin:7px 0 0;font-size:14px;color:var(--muted);}
.app-hero-tx .vers{margin-top:11px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12.5px;color:var(--faint);}
.app-hero-tx .vers b{color:var(--ink2);font-weight:600;}
.app-dl{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.app-dl a{display:inline-flex;align-items:center;gap:9px;padding:12px 24px;border-radius:12px;font-size:14.5px;font-weight:600;color:#fff;background:var(--brand);transition:.18s;}
.app-dl a:hover{background:var(--brand-d);transform:translateY(-1px);}
.app-dl a.ghost{background:#fff;color:var(--brand-d);border:1px solid var(--brand-b);}
.app-dl a.ghost:hover{background:var(--brand-t);}
.app-dl a i{font-size:16px;}
.app-note{margin-top:12px;font-size:12.5px;color:var(--faint);}
.app-hero-qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px;border-radius:16px;background:#f2f8f7;border:1px dashed var(--brand-b);}
.app-qr-img{width:132px;height:132px;background:#fff;border-radius:12px;display:grid;place-items:center;padding:6px;box-shadow:var(--sh-s);}
.app-qr-img img,.app-qr-img canvas,.app-qr-img table{display:block;max-width:100%;}
.app-qr-ph{display:grid;place-items:center;width:100%;height:100%;color:var(--brand-b);font-size:42px;}
.app-hero-qr p{margin:0;font-size:12.5px;color:var(--muted);text-align:center;white-space:nowrap;}
.app-sec{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-s);overflow:hidden;}
.app-sec-hd{display:flex;align-items:center;gap:11px;padding:16px 22px;border-bottom:1px solid var(--line);}
.app-sec-hd h2{margin:0;font-size:16.5px;font-weight:700;color:var(--ink);}
.app-sec-hd .ico{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;background:var(--brand-t);color:var(--brand-d);font-size:14px;}
.app-sec-hd .more{margin-left:auto;font-size:12.5px;color:var(--faint);}
.app-sec-bd{padding:20px 22px;}
.app-shots{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;}
.app-shots::-webkit-scrollbar{height:6px;}
.app-shots::-webkit-scrollbar-thumb{background:#d9e2ec;border-radius:6px;}
.app-shot{flex:0 0 auto;width:180px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#f7fafc;transition:.18s;}
.app-shot:hover{transform:translateY(-3px);box-shadow:var(--sh-s);}
.app-shot img{display:block;width:100%;height:auto;}
.app-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.app-feat-item{display:flex;gap:12px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fbfdfe;}
.app-feat-item .fi{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;font-size:16px;background:var(--brand-t);color:var(--brand-d);}
.app-feat-item b{display:block;font-size:14.5px;color:var(--ink);font-weight:600;}
.app-feat-item p{margin:4px 0 0;font-size:12.5px;line-height:1.7;color:var(--muted);}
.app-desc{font-size:14px;line-height:1.9;color:var(--ink2);}
.app-desc .hl{color:var(--brand-d);font-weight:600;}
.app-sub{margin:20px 0 10px;display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:700;color:var(--ink);}
.app-sub:first-child{margin-top:0;}
.app-sub i{color:var(--brand);}
@media (max-width:880px){
  .app-hero{flex-direction:column;text-align:center;padding:24px 18px;gap:16px;}
  .app-hero-tx .vers{justify-content:center;}
  .app-dl{justify-content:center;}
  .app-feat{grid-template-columns:minmax(0,1fr);}
  .app-hero-qr{margin-top:4px;}
}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .site-head-in{padding:0 16px;gap:12px;}
  .site-nav a{padding:8px 12px;}
}
@media (max-width:880px){
  .site-head-in{padding:0 14px;gap:10px;}
  .site-brand-tx span{display:none;}
  .site-nav{gap:2px;overflow-x:auto;scrollbar-width:none;}
  .site-nav::-webkit-scrollbar{display:none;}
  .site-nav a{padding:7px 11px;font-size:13px;}
  .acc-name{display:none;}
  .acc-btn{padding:4px;}
  .acc-btn .acc-caret{display:none;}
  .site-foot{margin-top:14px;}
  .site-foot-in{padding:20px 16px 22px;}
  .site-foot-lic{gap:6px 18px;font-size:12px;}
  .site-foot-disc{margin-top:13px;padding-top:13px;font-size:12px;}
}
@media (max-width:560px){
  .site-brand-tx{display:none;}
  .site-foot-lic .lic{white-space:normal;}
}

/* ---------- 员工登录弹窗（扫码，全站常驻） ---------- */
.lm{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;padding:20px;}
.lm.is-open{display:flex;}
.lm-mask{position:absolute;inset:0;background:rgba(15,23,42,.52);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lmFade .18s both;}
.lm-panel{position:relative;width:100%;max-width:392px;max-height:92vh;overflow:auto;background:var(--card);border-radius:20px;box-shadow:0 40px 80px -30px rgba(15,23,42,.6);animation:lmPop .22s both;padding:28px 28px 22px;text-align:center;}
.lm-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:10px;background:#f1f4f8;color:var(--muted);font-size:14px;cursor:pointer;display:grid;place-items:center;transition:.16s;z-index:2;}
.lm-close:hover{background:#e6ebf1;color:var(--ink);}
.lm-logo{width:46px;height:46px;margin:0 auto 13px;border-radius:14px;background:var(--brand-t);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.lm-logo img{width:100%;height:100%;object-fit:cover;}
.lm-logo span{font-size:18px;font-weight:800;color:var(--brand);letter-spacing:1px;}
.lm-title{margin:0;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:.3px;}
.lm-sub{margin:6px 0 0;font-size:12.5px;color:var(--muted);}
.lm-qr{position:relative;width:202px;height:202px;margin:22px auto 14px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(14,155,140,.05);overflow:hidden;}
.lm-qr img{width:172px;height:172px;border-radius:8px;display:block;}
.lm-qr img:not([src]),.lm-qr img[src=""]{visibility:hidden;}
.lm-qr-mask{position:absolute;inset:0;background:rgba(255,255,255,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:14px;z-index:3;}
.lm-qr-mask.hidden{display:none;}
.lm-qr-mask-t{font-size:13.5px;font-weight:600;color:var(--ink2);}
.lm-qr-mask-s{font-size:12px;color:var(--faint);line-height:1.6;}
.lm-qr-refresh{margin-top:11px;padding:7px 22px;border:0;border-radius:9px;background:var(--brand);color:#fff;font-size:12.5px;font-weight:600;cursor:pointer;transition:.16s;}
.lm-qr-refresh:hover{background:var(--brand-d);}
.lm-status{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;color:var(--muted);min-height:18px;}
.lm-dot{display:inline-block;width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--brand);}
.lm-dot.pending{animation:lmPulse 1.5s infinite;}
.lm-dot.success{background:#16a34a;}
.lm-msg{display:none;margin-top:12px;padding:8px 12px;border-radius:8px;background:var(--red-t);border:1px solid #ffccc7;color:var(--red);font-size:12.5px;line-height:1.7;text-align:left;}
.lm-tip{margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;color:var(--faint);line-height:1.7;word-break:keep-all;}
.lm-tip b{color:var(--muted);font-weight:600;}
.lm-tip-sub{display:block;margin-top:3px;color:var(--faint);}
@keyframes lmFade{from{opacity:0;}to{opacity:1;}}
@keyframes lmPop{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes lmPulse{0%,100%{opacity:1;}50%{opacity:.25;}}
@media (max-width:420px){
  .lm{padding:14px;}
  .lm-panel{padding:24px 20px 18px;border-radius:16px;}
  .lm-qr{width:184px;height:184px;}
  .lm-qr img{width:158px;height:158px;}
}
@media (prefers-reduced-motion:reduce){.lm-mask,.lm-panel{animation:none;}}
