/* ========== 勇创智造 · 工厂驾驶舱 深蓝科技主题 v1 ========== */
:root{
  --bg:#060d1f;--card:rgba(13,28,58,.82);--text:#dbeafe;--sub:#7d93b8;--line:rgba(56,130,246,.28);
  --green:#22d3a5;--red:#f43f5e;--blue:#38bdf8;--orange:#fbbf24;--radius:14px;
  --shadow:0 0 0 1px rgba(56,189,248,.12),0 10px 30px rgba(2,8,23,.55);
  --glow:0 0 14px rgba(56,189,248,.35);
}
html{background:#060d1f}
body{
  background:
    radial-gradient(1200px 600px at 80% -10%,rgba(37,99,235,.22),transparent 60%),
    radial-gradient(900px 500px at 10% 110%,rgba(14,165,233,.14),transparent 60%),
    linear-gradient(180deg,#081226 0%,#060d1f 55%,#040917 100%);
  color:var(--text);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(56,189,248,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.05) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);
}
body>*{position:relative;z-index:1}

/* ---------- 标题与头部 ---------- */
.header h1,.brand-title,.header .brand-title{color:#e8f4ff;text-shadow:0 0 18px rgba(56,189,248,.5);letter-spacing:1px}
.header h1::before{content:"";display:inline-block;width:5px;height:1.05em;margin-right:10px;vertical-align:-2px;
  background:linear-gradient(180deg,#38bdf8,#1d4ed8);border-radius:3px;box-shadow:0 0 10px rgba(56,189,248,.8)}
.header-right,.home-orgbar{color:var(--sub)}

/* ---------- 卡片/面板 ---------- */
.card,.stat-card,.pr-card,.login-card,.um-stat,.modal,.ledger-item,.chat-item,.chat-conv-head,.chat-side-head,
.table-wrap,.rec-table-head,.month-picker,.inv-grid,.filters,.type-toggle{
  background:linear-gradient(160deg,rgba(16,34,68,.92),rgba(9,20,44,.92));
  border:1px solid rgba(56,130,246,.30);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(125,211,252,.10);
  color:var(--text);
}
.card:hover,.stat-card:hover,.pr-card:hover{border-color:rgba(56,189,248,.55);box-shadow:var(--glow),var(--shadow)}
.stat-card b,.stat-card .num,.card h2,.card h3,.modal h2,.modal h3{color:#e8f4ff}
.card .sub,.stat-card .sub,small,.muted{color:var(--sub)}

/* ---------- 底部导航 ---------- */
#tabBar{background:rgba(8,18,40,.9);border:1px solid rgba(56,189,248,.35);
  box-shadow:0 0 24px rgba(37,99,235,.35),0 10px 30px rgba(2,8,23,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.tabItem{color:#6d84ab}
.tabItem.active,.tabItem.on,.tabItem.sel{color:#38bdf8;text-shadow:0 0 12px rgba(56,189,248,.8)}
.tabItem.active::after{content:"";position:absolute;bottom:4px;width:22px;height:3px;border-radius:2px;
  background:#38bdf8;box-shadow:0 0 8px rgba(56,189,248,.9)}
.tab{color:#9fb2d0}
.tab.active,.tab.on{background:rgba(37,99,235,.25);color:#7dd3fc;border:1px solid rgba(56,189,248,.4)}

/* ---------- 按钮（全部可点击按钮统一科技风） ---------- */
button,.btn,.btn-primary,.btn-gray,.btn-blue,.btn-sm,.btn-xs{
  border-radius:10px;cursor:pointer;transition:all .15s ease;
}
.btn-primary,button.pri{
  background:linear-gradient(180deg,#0ea5e9,#1d4ed8)!important;color:#fff!important;border:1px solid rgba(125,211,252,.6)!important;
  box-shadow:0 0 14px rgba(14,165,233,.5),inset 0 1px 0 rgba(255,255,255,.25);text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.btn-primary:hover,button.pri:hover{box-shadow:0 0 22px rgba(56,189,248,.75);transform:translateY(-1px)}
.btn-gray{
  background:linear-gradient(180deg,rgba(30,50,90,.9),rgba(15,30,62,.9));color:#bfdbfe;
  border:1px solid rgba(56,130,246,.4);box-shadow:0 3px 0 rgba(8,20,45,.9);
}
.btn-gray:hover{border-color:#38bdf8;color:#e0f2fe;box-shadow:0 0 12px rgba(56,189,248,.35)}
.btn-blue{
  background:linear-gradient(180deg,rgba(14,165,233,.25),rgba(29,78,216,.25));color:#7dd3fc;
  border:1px solid rgba(56,189,248,.5);box-shadow:0 3px 0 rgba(29,78,216,.4);
}
.btn-blue:hover{background:rgba(14,165,233,.35);color:#e0f2fe;box-shadow:0 0 14px rgba(56,189,248,.5)}
.btn-sm,.btn-xs{background:rgba(23,44,84,.85);color:#bfdbfe;border:1px solid rgba(56,130,246,.35);box-shadow:none}
.btn-sm:hover,.btn-xs:hover{border-color:#38bdf8;color:#e0f2fe;box-shadow:0 0 10px rgba(56,189,248,.4)}
button:not(.btn-primary):not(.btn-gray):not(.btn-blue):not(.btn-sm):not(.btn-xs):not(.tab):not(.tabItem):not(.pri){
  background:rgba(23,44,84,.85);color:#bfdbfe;border:1px solid rgba(56,130,246,.35);border-radius:10px;
}
button:not(.btn-primary):hover{border-color:rgba(56,189,248,.6)}
/* 危险/强调按钮保留语义色 */
button[style*="ef4444"],button[style*="dc2626"],.btn-red{background:linear-gradient(180deg,#f43f5e,#be123c)!important;color:#fff!important;border-color:rgba(253,164,175,.5)!important}
/* 通过/确认按钮保留绿色语义（防误点） */
button[style*="16a34a"],button[style*="059669"],.btn-green{background:linear-gradient(180deg,#22c55e,#15803d)!important;color:#fff!important;border-color:rgba(134,239,172,.55)!important;box-shadow:0 2px 8px rgba(34,197,94,.35)!important}
.btn-green:hover{border-color:#4ade80!important;box-shadow:0 0 14px rgba(34,197,94,.5)!important}

/* ---------- 表单控件 ---------- */
input,select,textarea,.form-group select,.filters input,.chat-input input{
  background:rgba(6,16,36,.85)!important;color:#e2e8f0!important;
  border:1px solid rgba(56,130,246,.35)!important;border-radius:8px;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:#38bdf8!important;box-shadow:0 0 0 3px rgba(56,189,248,.18)}
input::placeholder,textarea::placeholder{color:#54709a}
select option{background:#0a1730;color:#e2e8f0}
label,.form-group label{color:var(--sub)}

/* ---------- 弹窗 ---------- */
.modal-mask{background:rgba(2,8,23,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal{border:1px solid rgba(56,189,248,.4);box-shadow:0 0 40px rgba(37,99,235,.35),0 24px 60px rgba(2,8,23,.7)}
.modal h2,.modal h3{text-shadow:0 0 12px rgba(56,189,248,.4)}
.modal .close,.modal .x{color:#7d93b8}
.modal .close:hover,.modal .x:hover{color:#38bdf8}

/* ---------- 表格 ---------- */
table{color:var(--text)}
th{background:rgba(29,78,216,.28)!important;color:#93c5fd!important;border-color:rgba(56,130,246,.25)!important}
td{border-color:rgba(56,130,246,.16)!important;color:#c7d7ee}
tr:hover td,tr:hover{background:rgba(37,99,235,.12)}
.table-wrap,.rec-table-head{border-radius:12px}

/* ---------- 登录页 ---------- */
.login-brand h1,.login-brand .t{color:#e8f4ff;text-shadow:0 0 20px rgba(56,189,248,.6)}
.login-card{border-radius:20px}

/* ---------- 徽标/状态色保持 ---------- */
.badge,.tag{border-radius:6px}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:rgba(8,18,40,.6)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#1d4ed8,#0ea5e9);border-radius:6px;box-shadow:inset 0 0 4px rgba(56,189,248,.5)}
::-webkit-scrollbar-thumb:hover{background:#38bdf8}

/* ---------- toast ---------- */
#toast,.toast{background:rgba(8,20,45,.95)!important;color:#e0f2fe!important;border:1px solid rgba(56,189,248,.5)!important;
  box-shadow:0 0 20px rgba(37,99,235,.4)!important}

/* ---------- 常见浅色内联底色修正（白/浅蓝背景块压暗） ---------- */
[style*="background:#fff"],[style*="background: #fff"],[style*="background:white"],[style*="background: white"],
[style*="background:#f9"],[style*="background: #f9"],[style*="background:#eef"],[style*="background: #eef"],
[style*="background:#f0"],[style*="background: #f0"],[style*="background:#e0f"],[style*="background: #e0f"]{
  background:rgba(16,34,68,.75)!important;color:#dbeafe!important;border-color:rgba(56,130,246,.3)!important;
}
[style*="color:#1f2937"],[style*="color: #1f2937"],[style*="color:#111"],[style*="color: #111"],
[style*="color:#374151"],[style*="color: #374151"],[style*="color:#333"],[style*="color: #333"]{color:#dbeafe!important}
[style*="color:#6b7280"],[style*="color: #6b7280"],[style*="color:#98a1b0"],[style*="color: #98a1b0"],
[style*="color:#666"],[style*="color: #666"],[style*="color:#999"],[style*="color: #999"]{color:#8ba3c7!important}

/* ---------- 打印保持原样 ---------- */
@media print{
  body::before{display:none}
  body{background:#fff!important;color:#000!important}
  .card,.stat-card,.modal,.table-wrap{background:#fff!important;color:#000!important;border-color:#ccc!important;box-shadow:none!important}
}

/* ---------- 登录页驾驶舱化 ---------- */
.login-wrap{background:radial-gradient(60% 60% at 82% 8%,rgba(56,189,248,.18),transparent 60%),
  radial-gradient(52% 52% at 8% 92%,rgba(37,99,235,.22),transparent 60%),
  linear-gradient(160deg,#081226 0%,#060d1f 55%,#040917 100%)!important}
.login-shell{border:1px solid rgba(56,189,248,.35);box-shadow:0 0 40px rgba(37,99,235,.30),0 30px 80px rgba(2,6,23,.6)}
.login-brand{background:linear-gradient(150deg,#0b2452,#123a7a 55%,#0c4a6e)!important;color:#dbeafe}
.login-brand::before,.login-brand::after{background:rgba(56,189,248,.10)}
.login-brand h1,.login-brand span,.login-brand p{color:#e8f4ff!important;text-shadow:0 0 16px rgba(56,189,248,.5)}
.login-form{background:linear-gradient(160deg,rgba(13,28,58,.96),rgba(8,18,40,.96))!important}
.login-form h2{color:#e8f4ff!important;text-shadow:0 0 14px rgba(56,189,248,.45)}
.login-form label,.login-form .rmp-label{color:#8ba3c7!important}
.login-form .link,.login-card .link{color:#38bdf8!important}
.login-form .form-group input,.login-card .form-group input{
  background:rgba(6,16,36,.9)!important;border-color:rgba(56,130,246,.4)!important;color:#e2e8f0!important}
.login-form .form-group input:focus{border-color:#38bdf8!important;box-shadow:0 0 0 4px rgba(56,189,248,.18)!important}
.login-brand .pill,.login-brand .feat,.login-brand [class*="item"]{
  background:rgba(56,189,248,.12)!important;border:1px solid rgba(56,189,248,.3);color:#dbeafe!important}
.captcha-img{border:1px solid rgba(56,130,246,.4);border-radius:8px}

/* ---------- v2 框架与残留浅色面 ---------- */
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(37,99,235,.22),transparent 60%),
  radial-gradient(900px 500px at 10% 110%,rgba(14,165,233,.14),transparent 60%),
  linear-gradient(180deg,#081226 0%,#060d1f 55%,#040917 100%)!important;color:#dbeafe!important}
#appView{background:transparent!important;box-shadow:none!important;border:none!important}
.header{background:rgba(8,18,40,.78)!important;border:1px solid rgba(56,130,246,.3);border-radius:14px;padding:10px 14px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(2,8,23,.5)}
.header .brand-title,.header h1,.brand-title{color:#e8f4ff!important;text-shadow:0 0 16px rgba(56,189,248,.55)!important;background:none!important;-webkit-text-fill-color:#e8f4ff!important}
.home-orgbar{background:linear-gradient(180deg,rgba(16,38,78,.9),rgba(10,24,52,.9))!important;border:1px solid rgba(56,189,248,.4)!important;
  color:#7dd3fc!important;box-shadow:0 0 16px rgba(37,99,235,.3)!important}
.home-orgbar svg{color:#38bdf8!important}
.tabs{background:rgba(8,18,40,.85)!important;border:1px solid rgba(56,130,246,.3)!important;box-shadow:0 6px 22px rgba(2,8,23,.5)!important}
.tab{color:#9fb2d0!important}
.tab.active,.tabs .tab.active{background:linear-gradient(180deg,#0ea5e9,#1d4ed8)!important;color:#fff!important;
  box-shadow:0 0 14px rgba(14,165,233,.55)!important;border:none!important}
.tabItem.active{color:#38bdf8!important}
/* 列表行/记录卡 */
.rec-row,.ledger-item,.chat-item{background:linear-gradient(160deg,rgba(16,34,68,.9),rgba(9,20,44,.9))!important;
  border:1px solid rgba(56,130,246,.28)!important;color:#dbeafe!important;box-shadow:0 4px 14px rgba(2,8,23,.4)!important}
.rec-table-head{color:#7d93b8!important;border-bottom-color:rgba(56,130,246,.25)!important}
/* 全屏面板 */
.me-wrap,.disc-wrap,.chat-wrap,.chat-mask,.modal-full,.projd-wrap{background:linear-gradient(180deg,#081226,#060d1f)!important;color:#dbeafe!important}
.chat-mask{background:rgba(2,8,23,.8)!important}
.chat-side,.chat-side-head,.chat-conv-head{background:rgba(10,22,48,.96)!important;color:#dbeafe!important;border-color:rgba(56,130,246,.25)!important}
.chat-side-head *,.chat-conv-head *{color:#dbeafe!important}
.chat-input{background:rgba(8,18,40,.9)!important;border-top:1px solid rgba(56,130,246,.25)!important}
.msg-row .msg-bubble,.msg-bubble{background:rgba(23,44,84,.9)!important;color:#dbeafe!important;border:1px solid rgba(56,130,246,.25)}
.me-row .msg-bubble{background:linear-gradient(180deg,#0ea5e9,#1d4ed8)!important;color:#fff!important}
/* 弹窗细节 */
.pin-menu,.pm-head,.pm-group,.pm-foot,.pm-cap,.pm-att-row,.pm-att-up,.summary-total,.ft,
.pr-att-sec,.pr-sig-head,.pr-sig-up,td.pr-lbl,td.pr-cell,.inv-cust-body,.hidden,.sr-chk{
  background:rgba(13,28,58,.92)!important;color:#c7d7ee!important;border-color:rgba(56,130,246,.28)!important}
.np-sec{background:rgba(29,78,216,.22)!important;color:#7dd3fc!important;border-left-color:#38bdf8!important}
.rec-img-btn,.pr-sig-up,.pm-att-up{background:rgba(14,165,233,.16)!important;color:#7dd3fc!important;border:1px dashed rgba(56,189,248,.5)!important}
.pr-lbl{background:rgba(29,78,216,.25)!important;color:#93c5fd!important}
/* 表格移动卡片化行 */
@media (max-width:760px){
  .table-wrap tbody tr{background:rgba(16,34,68,.9)!important;border:1px solid rgba(56,130,246,.28)!important;box-shadow:0 4px 12px rgba(2,8,23,.4)!important}
}
/* 仪表盘波形/看板文字 */
canvas{filter:saturate(1.1)}
.alert-card,.warn-card{background:rgba(13,28,58,.9)!important;border:1px solid rgba(251,191,36,.4)!important;color:#fde68a!important}
/* 强调数字发光 */
.stat-card b,.cs-num,.um-stat b{text-shadow:0 0 12px rgba(56,189,248,.45)}

/* ---------- v3 补丁 ---------- */
.tab{background:transparent!important}
[style*="background:#f6"],[style*="background: #f6"],[style*="background:#f5"],[style*="background: #f5"],
[style*="background:#fdf"],[style*="background: #fdf"],[style*="background:#fef"],[style*="background: #fef"],
[style*="background:#f0f9"],[style*="background: #f0f9"],[style*="background:#ecfdf"],[style*="background: #ecfdf"],
[style*="background:#f6fe"],[style*="background: #f6fe"]{
  background:rgba(16,34,68,.8)!important;color:#dbeafe!important;border-color:rgba(56,130,246,.3)!important}
[style*="color:#166534"],[style*="color: #166534"],[style*="color:#15803d"],[style*="color: #15803d"],
[style*="color:#16a34a"],[style*="color: #16a34a"]{color:#22d3a5!important}
[style*="color:#b91c1c"],[style*="color: #b91c1c"],[style*="color:#dc2626"],[style*="color: #dc2626"],
[style*="color:#991b1b"],[style*="color: #991b1b"]{color:#ff8b96!important}
[style*="color:#92400e"],[style*="color: #92400e"],[style*="color:#b45309"],[style*="color: #b45309"],
[style*="color:#d97706"],[style*="color: #d97706"]{color:#fbbf24!important}
[style*="color:#1d4ed8"],[style*="color: #1d4ed8"],[style*="color:#2563eb"],[style*="color: #2563eb"],
[style*="color:#1e40af"],[style*="color: #1e40af"],[style*="color:#0b3b8c"],[style*="color: #0b3b8c"]{color:#7dd3fc!important}

/* ---------- v4 内联浅色全面压暗 ---------- */
[style*="background:#f3"],[style*="background: #f3"],[style*="background:#f4"],[style*="background: #f4"],
[style*="background:#f7"],[style*="background: #f7"],[style*="background:#f8"],[style*="background: #f8"],
[style*="background:#fa"],[style*="background: #fa"],[style*="background:#fb"],[style*="background: #fb"],
[style*="background:#fc"],[style*="background: #fc"],[style*="background:#fe"],[style*="background: #fe"],
[style*="background:#fff"],[style*="background: #fff"],[style*="background:white"],[style*="background: white"]{
  background:rgba(16,34,68,.82)!important;color:#dbeafe!important;border-color:rgba(56,130,246,.3)!important}
[style*="color:#2b2f1e"],[style*="color: #2b2f1e"],[style*="color:#555"],[style*="color: #555"],
[style*="color:#0f172a"],[style*="color: #0f172a"],[style*="color:#475569"],[style*="color: #475569"],
[style*="color:#1a1a1a"],[style*="color: #1a1a1a"],[style*="color:#222"],[style*="color: #222"]{color:#dbeafe!important}
[style*="color:#64748b"],[style*="color: #64748b"],[style*="color:#94a3b8"],[style*="color: #94a3b8"],
[style*="color:#8a94a6"],[style*="color: #8a94a6"]{color:#8ba3c7!important}
[style*="b8b08c"]{border-color:rgba(56,130,246,.35)!important}
/* 底部导航图标原色保留，文字提亮 */
.tabItem span{color:inherit}

/* ---------- v5 工作台/我的/战情 发布补丁 ---------- */
#workPanel{background:linear-gradient(180deg,#081226 0%,#060d1f 60%,#040917 100%)!important}
#workPanel b,#workPanel div,#workPanel span,#workPanel summary{color:#dbeafe}
#workPanel [style*="background:#f8f4e6"],#workPanel [style*="background: #f8f4e6"]{
  background:rgba(23,44,84,.9)!important;color:#bfdbfe!important;border-color:rgba(56,130,246,.4)!important}
[style*="color:#354d18"],[style*="color: #354d18"],[style*="color:#2c4413"],[style*="color: #2c4413"],
[style*="color:#3e5c1c"],[style*="color: #3e5c1c"],[style*="color:#4a6b23"],[style*="color: #4a6b23"],
[style*="color:#6d6a50"],[style*="color: #6d6a50"],[style*="color:#6b8a35"],[style*="color: #6b8a35"]{color:#8ba3c7!important}
[style*="4a6b23"],[style*="3e5c1c"],[style*="354d18"]{background:rgba(23,44,84,.9)!important;color:#bfdbfe!important;border-color:rgba(56,130,246,.35)!important}
.me-head,.disc-head{background:rgba(8,18,40,.92)!important;border-bottom:1px solid rgba(56,130,246,.3)!important;color:#e8f4ff!important}
.me-head *,.disc-head *{color:#e8f4ff!important}
.me-wrap .me-row1,.me-wrap [class*="row"]{border-color:rgba(56,130,246,.2)}
/* 战情发布按钮 */
.disc-head .btn-blue,[style*="background:#e0f2fe"],[style*="background: #e0f2fe"],[style*="background:#dbeafe"],[style*="background: #dbeafe"]{
  background:rgba(14,165,233,.22)!important;color:#7dd3fc!important;border:1px solid rgba(56,189,248,.5)!important}

/* ---------- v6 我的页账号行 ---------- */
.me-row{background:rgba(16,34,68,.85)!important;color:#dbeafe!important;border-bottom:1px solid rgba(56,130,246,.2)!important}
.me-row:hover{background:rgba(29,78,216,.3)!important}
.me-row select{background:rgba(6,16,36,.9)!important;color:#e2e8f0!important;border:1px solid rgba(56,130,246,.35)!important}

/* ---------- v7 战情发布补丁 ---------- */
.disc-actions{background:rgba(8,18,40,.92)!important;border-bottom:1px solid rgba(56,130,246,.3)!important}
.disc-card{background:linear-gradient(160deg,rgba(16,34,68,.92),rgba(9,20,44,.92))!important;border:1px solid rgba(56,130,246,.3)!important;color:#dbeafe!important;box-shadow:0 4px 14px rgba(2,8,23,.4)!important}
.disc-card *,.disc-task *{color:#c7d7ee}
.disc-task{background:rgba(29,78,216,.18)!important;border-color:rgba(56,189,248,.4)!important}
#topSearch{background:rgba(6,16,36,.9)!important;border-color:rgba(56,130,246,.4)!important;color:#e2e8f0!important}
#searchDrop{background:rgba(13,28,58,.97)!important;border:1px solid rgba(56,189,248,.4)!important;color:#dbeafe}
.disc-close{color:#7d93b8!important}
.disc-close:hover{color:#38bdf8!important}

/* ---------- v8 关闭按钮 ---------- */
button.close,.modal .close,[class*="close"]{background:rgba(23,44,84,.9)!important;color:#8ba3c7!important;border:1px solid rgba(56,130,246,.35)!important;border-radius:8px}
button.close:hover,.modal .close:hover{color:#e0f2fe!important;border-color:#38bdf8!important;box-shadow:0 0 10px rgba(56,189,248,.4)}

/* ===== v9 手机端登录页优化 ===== */
.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:18px 14px;box-sizing:border-box}
.login-shell{margin:0 auto}
@media (max-width:760px){
  .login-wrap{padding:14px 12px;align-items:flex-start;padding-top:max(20px,env(safe-area-inset-top))}
  .login-shell{width:100%;max-width:420px;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(2,10,30,.55)}
  .login-brand{padding:22px 16px 18px;gap:0}
  .login-logo{width:64px!important;height:64px!important;margin-bottom:10px;border-radius:16px}
  .lb-name{font-size:19px!important;letter-spacing:1px;line-height:1.35}
  .lb-sub{font-size:12px;margin-top:4px;margin-bottom:0}
  .login-form{padding:22px 18px 18px}
  .login-form h2{font-size:20px;margin:0 0 4px;letter-spacing:1px}
  .lf-sub{font-size:12.5px;margin-bottom:16px}
  .login-form .form-group{margin-bottom:14px}
  .login-form .form-group label{font-size:13px;margin-bottom:6px;display:block}
  .login-form input{height:46px;font-size:15px;border-radius:10px;padding:0 14px;box-sizing:border-box;width:100%}
  #aCap{letter-spacing:4px;font-weight:700}
  #aCapImg{width:132px;height:46px;border-radius:10px;flex:none}
  .rmp-row .rmp-label{display:flex;align-items:center;gap:8px;font-size:13px}
  .rmp-row input[type=checkbox]{width:18px;height:18px;accent-color:#0ea5e9}
  #authBtn{height:48px;font-size:16px;letter-spacing:6px;border-radius:12px;margin-top:2px}
  #authErr{font-size:12.5px;margin-top:8px}
}

/* ===== v10 登录品牌区对比度 ===== */
.login-brand .lb-name{color:#eaf4ff!important;text-shadow:0 2px 12px rgba(2,20,50,.6)}
.login-brand .lb-sub{color:#a8cdf0!important;opacity:1}
.rmp-row .rmp-label{color:#a9bdd9}

/* ===== v11 发货专列溢屏修复 ===== */
#shipBoard{display:block;max-width:100%;overflow:hidden}
#shipBoard>*{max-width:100%;min-width:0}
#shipBoard [style*="overflow-x:auto"]{-webkit-overflow-scrolling:touch;scrollbar-width:thin}

/* ===== v12 聊天模块·现代深色座舱风全面改版 ===== */
/* —— 整体骨架 —— */
.chat-wrap{background:#070f24;background-image:radial-gradient(60% 40% at 80% 0%,rgba(14,165,233,.10),transparent 60%),radial-gradient(50% 40% at 10% 100%,rgba(29,78,216,.12),transparent 60%)}
.chat-side{background:rgba(9,20,44,.92);border-right:1px solid rgba(56,130,246,.22)}
.chat-side-head{background:linear-gradient(135deg,rgba(13,28,58,.95),rgba(9,20,44,.95));color:#e8f4ff;border-bottom:1px solid rgba(56,130,246,.25);backdrop-filter:blur(10px)}
.chat-side-head .chat-close{background:rgba(56,130,246,.18);color:#7dd3fc}
.chat-side-head .chat-side-title{color:#e8f4ff;text-shadow:0 0 14px rgba(56,189,248,.35)}
.chat-side-head .cb-logo{background:linear-gradient(135deg,#0ea5e9,#1d4ed8);box-shadow:0 0 10px rgba(14,165,233,.5)}
.side-count{background:rgba(14,165,233,.18)!important;color:#7dd3fc!important;border:1px solid rgba(56,189,248,.35)}
/* —— 搜索与工具条 —— */
.chat-toolbar{background:transparent;border-bottom:1px solid rgba(56,130,246,.18)}
.chat-search{background:rgba(16,34,68,.85)!important;border:1px solid rgba(56,130,246,.3)!important}
.chat-search input{color:#dbeafe!important}
.chat-search input::placeholder{color:#5b7396!important}
.chat-search .cs-ico{color:#5b7396!important}
.tb-btn{background:rgba(16,34,68,.85)!important;border:1px solid rgba(56,130,246,.3)!important;color:#a9bdd9!important}
.tb-btn:hover{background:rgba(29,78,216,.35)!important;color:#7dd3fc!important;border-color:rgba(56,189,248,.5)!important}
/* —— 会话列表 —— */
.chat-side-list{background:transparent;scrollbar-width:thin;scrollbar-color:rgba(56,130,246,.35) transparent}
.chat-side-list::-webkit-scrollbar-thumb{background:rgba(56,130,246,.35)}
.chat-sec-title{color:#5b7396;letter-spacing:2px}
.chat-item{background:transparent;border-bottom:1px solid rgba(56,130,246,.10);transition:background .15s}
.chat-item:hover{background:rgba(29,78,216,.16)}
.chat-item.active{background:rgba(14,165,233,.16);box-shadow:inset 3px 0 0 #0ea5e9}
.chat-item .ctxt .cname{color:#e8f4ff;font-weight:600}
.chat-item .ctxt .cname .time{color:#5b7396}
.chat-item .ctxt .clast{color:#7d93b8}
.chat-item .ca{border-radius:14px;box-shadow:0 2px 8px rgba(2,8,23,.5)}
.chat-unread{background:linear-gradient(135deg,#f43f5e,#e11d48);box-shadow:0 0 8px rgba(244,63,94,.55)}
.chat-empty{color:#5b7396}
.chat-pin-head{color:#7d93b8}
/* —— 聊天主窗 —— */
.chat-main{background:transparent;padding-bottom:92px}
.chat-conv-head{background:linear-gradient(135deg,rgba(13,28,58,.95),rgba(9,20,44,.95));color:#e8f4ff;border-bottom:1px solid rgba(56,130,246,.25);backdrop-filter:blur(10px)}
.chat-conv-head #chatConvHead{color:#e8f4ff;text-shadow:0 0 12px rgba(56,189,248,.3)}
.chat-conv-head .ch-back{background:rgba(56,130,246,.18);color:#7dd3fc}
.chat-conv-head .ch-menu{background:rgba(56,130,246,.18);color:#7dd3fc;border:none}
.chat-announce{background:rgba(90,60,8,.35);color:#fbbf24;border-bottom:1px solid rgba(217,119,6,.35)}
.chat-msgs{background:transparent;scrollbar-width:thin;scrollbar-color:rgba(56,130,246,.3) transparent}
.chat-msgs::-webkit-scrollbar-thumb{background:rgba(56,130,246,.3)}
.msg-time{color:#5b7396;background:rgba(16,34,68,.7);display:inline-block;align-self:center;padding:2px 12px;border-radius:10px;font-size:10.5px}
.msg-bubble{background:rgba(22,36,77,.92);color:#dbeafe;border:1px solid rgba(56,130,246,.28);border-radius:14px;box-shadow:0 2px 8px rgba(2,8,23,.4)}
.msg-row:not(.mine) .msg-bubble{border-top-left-radius:4px}
.msg-row.mine .msg-bubble{background:linear-gradient(135deg,#0ea5e9,#1d4ed8);color:#fff;border:none;border-top-right-radius:4px;box-shadow:0 3px 12px rgba(14,165,233,.35)}
.msg-sender{color:#7dd3fc}
.msg-row .ma{border-radius:12px;box-shadow:0 2px 6px rgba(2,8,23,.5)}
.msg-read{color:#5b7396}
.msg-unread{color:#fbbf24}
.msg-read.msg-rlink{color:#38bdf8}
/* —— 输入区 —— */
.chat-input{background:rgba(9,20,44,.95);border-top:1px solid rgba(56,130,246,.25);backdrop-filter:blur(10px)}
.chat-input textarea{background:rgba(16,34,68,.9);color:#dbeafe;border:1px solid rgba(56,130,246,.3);box-shadow:none}
.chat-input textarea:focus{border-color:rgba(56,189,248,.6);box-shadow:0 0 10px rgba(14,165,233,.2)}
.chat-ico{color:#38bdf8}
.chat-ico:hover{background:rgba(56,130,246,.18)}
.chat-send-btn{background:linear-gradient(135deg,#0ea5e9,#1d4ed8);box-shadow:0 3px 12px rgba(14,165,233,.4)}
.chat-tool{background:rgba(16,34,68,.9);color:#a9bdd9;border:1px solid rgba(56,130,246,.3)}
.chat-voice-hold{background:rgba(16,34,68,.9);color:#dbeafe;border:1px solid rgba(56,130,246,.3);border-radius:18px}
.chat-emoji-bar,.chat-more{background:rgba(9,20,44,.95);border-top:1px solid rgba(56,130,246,.25)}
.chat-ema:hover{background:rgba(56,130,246,.2)}
.emo-grid{border-bottom:1px solid rgba(56,130,246,.2)}
.emo-sec-bar{color:#7d93b8}
.emo-add{color:#38bdf8}
.emo-cus{background:rgba(16,34,68,.85);border-color:rgba(56,130,246,.3)}
.emo-empty{color:#5b7396}
.more-item{background:rgba(16,34,68,.85);border:1px solid rgba(56,130,246,.3);color:#dbeafe;border-radius:12px}
.more-item:hover{background:rgba(29,78,216,.35)}
/* —— 群成员侧栏/弹层 —— */
.chat-members{background:rgba(9,20,44,.96);border-left:1px solid rgba(56,130,246,.25)}
/* —— 付款审批卡片（聊天内） —— */
.pr-card{background:rgba(22,36,77,.92);border:1px solid rgba(56,130,246,.3);color:#dbeafe}
.pr-card .pr-c-head{color:#e8f4ff}
.pr-card .pr-c-row{border-top:1px dashed rgba(56,130,246,.2)}
.pr-card .pr-c-row b{color:#f43f5e}
.pr-card .pr-c-st{color:#7dd3fc}
.pr-card .pr-c-note{background:rgba(90,60,8,.35);color:#fbbf24}
/* —— 桌面端适配 —— */
@media(min-width:961px){
  .chat-mask{background:transparent}
  .chat-wrap{background:rgba(9,20,44,.97);border-left:1px solid rgba(56,130,246,.25);border-right:1px solid rgba(56,130,246,.25)}
  .chat-side{background:rgba(9,20,44,.6)}
  .chat-side-head{background:transparent;color:#e8f4ff;border-bottom:none}
  .chat-side-head .chat-side-title{color:#e8f4ff}
  .chat-toolbar{background:transparent;border-bottom:none}
  .chat-side-list{background:transparent}
  .chat-item.active{background:rgba(14,165,233,.2)}
  .chat-main{background:transparent;padding-bottom:92px}
  .chat-conv-head{background:rgba(13,28,58,.9);border-bottom:1px solid rgba(56,130,246,.25)}
  .chat-conv-head #chatConvHead{color:#e8f4ff}
  .chat-conv-head .ch-menu{background:rgba(56,130,246,.18);border:none;color:#7dd3fc}
  .chat-input{background:rgba(13,28,58,.9)}
}

/* v12b 聊天消息区默认白底(内联样式) → 深色透明 */
.chat-msgs[style*="background: rgb(255, 255, 255)"],.chat-msgs[style*="background:#fff"],.chat-msgs[style*="background: #fff"]{background:transparent!important}
.chat-msgs[style*="background-color: rgb(255, 255, 255)"]{background-color:transparent!important}

/* v12c 桌面聊天窗铺满，避免透出底层页面 */
@media(min-width:961px){.chat-wrap{height:100dvh}}

/* ===== v14 聊天界面柔和化 ===== */
/* 背景提亮半档，过渡更润 */
.chat-wrap{background:#0c1730;background-image:radial-gradient(70% 45% at 75% 0%,rgba(56,189,248,.07),transparent 65%),radial-gradient(60% 45% at 15% 100%,rgba(59,130,246,.08),transparent 65%)}
.chat-side{background:rgba(15,28,56,.75);border-right:1px solid rgba(96,150,220,.14)}
/* 顶栏去硬边，柔光 */
.chat-side-head,.chat-conv-head{background:linear-gradient(135deg,rgba(21,38,74,.85),rgba(15,28,56,.85));border-bottom:1px solid rgba(96,150,220,.14)}
.chat-side-head .chat-side-title,.chat-conv-head #chatConvHead{text-shadow:none;color:#dceaff;font-weight:600}
.chat-side-head .chat-close,.chat-conv-head .ch-back,.chat-conv-head .ch-menu{background:rgba(96,150,220,.14);color:#a8cdf0;border-radius:50%}
.side-count{background:rgba(96,150,220,.14)!important;color:#a8cdf0!important;border:none;font-weight:500}
/* 搜索/工具 */
.chat-toolbar{border-bottom:none}
.chat-search{background:rgba(26,44,84,.6)!important;border:none!important;border-radius:22px}
.tb-btn{background:rgba(26,44,84,.6)!important;border:none!important;border-radius:12px;color:#93a8c8!important}
.tb-btn:hover{background:rgba(56,189,248,.16)!important;color:#bae6fd!important;transform:none}
/* 会话行：圆角卡片化、间距呼吸感 */
.chat-item{border-bottom:none;border-radius:16px;margin:3px 10px;padding:12px 14px}
.chat-item:hover{background:rgba(56,130,246,.10)}
.chat-item.active{background:rgba(56,130,246,.16);box-shadow:none}
.chat-item .ca{border-radius:50%;box-shadow:none;font-weight:600}
.chat-item .ctxt .cname{color:#dceaff;font-weight:500}
.chat-item .ctxt .cname .time{color:#64789b}
.chat-item .ctxt .clast{color:#8298bb}
.chat-unread{background:#fb7185;box-shadow:none;font-weight:600}
.chat-sec-title{color:#64789b;letter-spacing:1.5px;font-weight:600;padding:14px 20px 6px}
/* 气泡：更大圆角、更轻对比、柔阴影 */
.msg-bubble{background:rgba(30,50,96,.72);border:none;border-radius:18px;color:#d5e4fa;box-shadow:0 2px 10px rgba(4,10,26,.35);padding:10px 14px}
.msg-row:not(.mine) .msg-bubble{border-top-left-radius:6px}
.msg-row.mine .msg-bubble{background:linear-gradient(135deg,#38a6f0,#2b6fe3);border-top-right-radius:6px;box-shadow:0 3px 12px rgba(56,150,240,.25)}
.msg-row .ma{border-radius:50%;box-shadow:none}
.msg-sender{color:#8fb8e8;font-weight:500}
.msg-time{color:#64789b;background:rgba(26,44,84,.55);border-radius:12px}
.msg-read{color:#64789b}
.msg-unread{color:#fbbf24}
.msg-read.msg-rlink{color:#7cc7f5}
/* 公告条柔化 */
.chat-announce{background:rgba(120,80,20,.18);color:#e8c87e;border-bottom:none;border-radius:10px;margin:8px 12px 0}
/* 输入区柔化 */
.chat-input{background:rgba(15,28,56,.85);border-top:none;padding:10px 14px}
.chat-input textarea{background:rgba(26,44,84,.6);border:none;border-radius:22px;color:#d5e4fa}
.chat-input textarea:focus{border:none;box-shadow:0 0 0 2px rgba(96,165,250,.35)}
.chat-ico{color:#8fb8e8}
.chat-ico:hover{background:rgba(96,150,220,.14)}
.chat-send-btn{background:linear-gradient(135deg,#38a6f0,#2b6fe3);box-shadow:0 3px 10px rgba(56,150,240,.3)}
.chat-tool{background:rgba(26,44,84,.6);border:none;color:#93a8c8;border-radius:12px}
.chat-voice-hold{background:rgba(26,44,84,.6);border:none;border-radius:22px;color:#d5e4fa}
.chat-emoji-bar,.chat-more{background:rgba(15,28,56,.9);border-top:none}
.more-item{background:rgba(26,44,84,.6);border:none;border-radius:14px;color:#d5e4fa}
.more-item:hover{background:rgba(56,130,246,.18)}
.chat-members{background:rgba(15,28,56,.95);border-left:none}
/* 审批卡片柔化 */
.pr-card{background:rgba(30,50,96,.72);border:none;border-radius:16px;box-shadow:0 2px 10px rgba(4,10,26,.35)}
.pr-card .pr-c-row{border-top:1px dashed rgba(96,150,220,.18)}
.pr-card .pr-c-note{background:rgba(120,80,20,.18);color:#e8c87e}
.pr-card .pr-c-btns .pr-c-btn{border-radius:10px}
/* 桌面端同步 */
@media(min-width:961px){
  .chat-side{background:rgba(15,28,56,.5)}
  .chat-conv-head{background:rgba(21,38,74,.7)}
  .chat-input{background:rgba(15,28,56,.7)}
  .chat-item{margin:3px 10px}
}

/* ===== v15 会话长按菜单（置顶/免打扰）深色玻璃化 ===== */
.pin-menu{background:rgba(21,34,68,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(96,150,220,.28);border-radius:16px;box-shadow:0 12px 36px rgba(2,8,23,.6);padding:6px;min-width:170px}
.pin-menu-item{color:#dceaff;border-radius:10px;padding:11px 14px;font-size:14px}
.pin-menu-item:hover{background:rgba(56,130,246,.16)}
.pin-menu-item .mi-ico,.pin-menu-item svg{color:#8fb8e8;width:17px;height:17px}
.pin-menu-cancel{color:#8298bb;border-top:1px solid rgba(96,150,220,.16);margin-top:4px;justify-content:center}

/* ===== v16 预警看板·高可见性强化 ===== */
@keyframes altPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.55),0 0 14px rgba(239,68,68,.35)}50%{box-shadow:0 0 0 5px rgba(239,68,68,0),0 0 22px rgba(239,68,68,.6)}}
@keyframes altBadgeBlink{0%,100%{opacity:1}50%{opacity:.55}}
.alt-row{border:1.5px solid transparent;transition:transform .12s}
.alt-row:active{transform:scale(.985)}
.alt-lv1{background:linear-gradient(135deg,rgba(127,22,34,.72),rgba(76,12,22,.78))!important;border-color:rgba(248,113,113,.75)!important;border-left:5px solid #ef4444!important;animation:altPulse 2.2s ease-in-out infinite}
.alt-lv1 .alt-badge{background:#ef4444;color:#fff;box-shadow:0 0 10px rgba(239,68,68,.6);animation:altBadgeBlink 1.6s ease-in-out infinite}
.alt-lv2{background:linear-gradient(135deg,rgba(120,68,10,.6),rgba(74,44,8,.65))!important;border-color:rgba(251,191,36,.6)!important;border-left:5px solid #f59e0b!important}
.alt-lv2 .alt-badge{background:#f59e0b;color:#1c1206}
.alt-lv3{background:rgba(16,34,68,.85)!important;border-color:rgba(52,211,153,.4)!important;border-left:5px solid #16a34a!important}
.alt-lv3 .alt-badge{background:#16a34a;color:#fff}

/* v17 作战控制室工具栏弹性布局 + 搜索框停靠右侧 */
#tbCtrl h2{display:flex!important;align-items:center;flex-wrap:wrap;gap:6px;justify-content:flex-start!important}
#tbCtrl h2 .h-search{float:none!important;margin-left:auto!important;flex:none;width:230px}
#tbCtrl h2 .h-search input{width:100%}
@media (max-width:900px){
  #tbCtrl h2 .h-search{width:100%!important;margin-left:0!important;order:99}
}

@media (max-width:1500px) and (min-width:901px){
  #tbCtrl h2 .h-search{width:180px}
}

/* 副标题与下方说明重复，隐藏以腾出工具栏空间 */
#ctrlSub{display:none!important}

/* ---------- v18 手机端首页布局优化 ---------- */
@media (max-width:760px){
  /* 1. 头部瘦身：LOGO+标题紧凑一行，安装APP小按钮，隐藏重复入口 */
  .header{padding:8px 10px!important;border-radius:12px!important;margin-bottom:8px!important}
  .header .hd-top{gap:8px!important;align-items:center!important}
  .brand-title{font-size:16px!important;gap:6px!important;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .brand-logo{width:30px!important;height:30px!important}
  .hd-tools{gap:6px!important;flex:none}
  .hd-tools .h-search{display:none!important}          /* 搜索合并到作战控制室内 */
  .hd-tools .btn-purple{display:none!important}        /* 战情发布底部导航已有 */
  #homeInstallBtn{font-size:12px!important;padding:7px 10px!important;border-radius:10px!important;gap:4px!important}
  #homeInstallBtn svg{width:14px!important;height:14px!important}

  /* 2. 四个页签：均分小胶囊一行 */
  .tabs{display:flex!important;gap:6px!important;padding:6px!important;margin-bottom:8px!important}
  .tabs .tab{flex:1 1 0;min-width:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;padding:7px 2px!important;border-radius:10px!important}
  .tabs .tab .ti svg{width:18px!important;height:18px!important}
  .tabs .tab .tn{font-size:12px!important;white-space:nowrap}

  /* 3. 作战控制室操作区：扫码主按钮整行，其余四个小按钮一行 */
  #tbCtrl h2{gap:6px!important}
  #tbCtrl h2>button{margin-right:0!important;box-shadow:none!important;flex:1 1 21%;font-size:12px!important;padding:7px 4px!important;border-radius:10px!important;white-space:nowrap}
  #tbCtrl h2>button.btn-primary{flex:1 1 100%;order:-1;font-size:14px!important;padding:11px!important;border-radius:12px!important}
  #ctrlTimer{order:-2;margin-left:0!important}

  /* 说明文字折叠为 ⓘ */
  #ctrlDesc{display:none}
  #ctrlDescTg{display:inline-block!important}

  /* 4. 统计卡压缩为一行小条 */
  #ctrlSummary{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:10px!important}
  #ctrlSummary>div{padding:8px 10px!important;border-radius:10px!important}
  #ctrlSummary b,#ctrlSummary .cs-num{font-size:20px!important}
  #ctrlSummary>div *{line-height:1.4}

  /* 5. 底部导航安全留白，最后一屏内容不再被遮挡 */
  .wrap{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
}

/* v18b 标题固定首行 */
@media (max-width:760px){
  #ctrlTitle{order:-3;flex:1 1 60%;font-size:16px!important}
  #ctrlTimer{flex:1 1 auto;text-align:right}
}

/* ---------- v19 手机端首页二次优化 ---------- */
@media (max-width:760px){
  /* 1. 头部压成一条细横条 */
  .header{padding:6px 12px!important;border-radius:10px!important;margin-bottom:6px!important;min-height:0!important}
  .header .hd-top{min-height:0!important}
  .brand-logo{width:26px!important;height:26px!important}
  .brand-title{font-size:15px!important;gap:5px!important}
  /* 公司名横条压缩 */
  .home-orgbar{padding:5px 10px!important;font-size:12px!important;margin-bottom:6px!important;border-radius:10px!important}

  /* 2. 页签：四个等高等宽小胶囊，去掉底部阴影弧线 */
  .tabs{padding:4px!important;gap:5px!important;border-radius:12px!important;margin-bottom:6px!important}
  .tabs .tab{height:46px!important;padding:4px 2px!important;box-shadow:none!important;border-radius:9px!important;gap:1px!important;background:transparent!important}
  .tabs .tab .ti svg{width:16px!important;height:16px!important}
  .tabs .tab .tn{font-size:11px!important}
  .tabs .tab.active{box-shadow:0 0 10px rgba(14,165,233,.45)!important}

  /* 3. 控制室标题区间距收紧 */
  #tbCtrl h2{margin-bottom:6px!important}
  #ctrlDescTg{margin-bottom:4px!important}

  /* 4. 统计卡 3 列迷你版 */
  #ctrlSummary{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin-bottom:8px!important}
  #ctrlSummary>div{padding:7px 4px!important;border-radius:9px!important;text-align:center}
  #ctrlSummary b,#ctrlSummary .cs-num{font-size:17px!important}
  #ctrlSummary>div{font-size:11px!important}
  #ctrlSummary>div a,#ctrlSummary>div span{font-size:10px!important}
}

/* ---------- v20 装配体管理页·手机端 ---------- */
@media (max-width:760px){
  /* 页头压缩一行 */
  #projDetailPanel .projd-wrap>div:first-child{padding:8px 10px!important;gap:8px!important;flex-wrap:nowrap!important;align-items:center!important}
  #projDTitle{font-size:14px!important;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  #projDSum{display:none!important}
  #projDetailPanel .pda-actions{flex:none;gap:6px!important}
  #projDetailPanel .pda-actions .btn{font-size:11px!important;padding:6px 8px!important;white-space:nowrap}
  /* 工具条横向滑动，隐藏被挤竖排的标签 */
  .pdl-toolbar{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:2px}
  .pdl-toolbar .pdl-label{display:none}
  .pdl-toolbar>div[style*="flex:1"]{display:none}
  .pdl-toolbar .btn{flex:none;font-size:11px!important;padding:6px 10px!important;white-space:nowrap;margin:0!important}
  .pdl-toolbar::-webkit-scrollbar{display:none}
  /* 装配页签行横向滑动 */
  #projDAsmList{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  #projDAsmList::-webkit-scrollbar{display:none}
  #projDAsmList>*{flex:none}
  /* 统计卡收紧 */
  #projDPartBox{padding:10px!important}
}

/* v22 生产日报底部合计条换行防挤压 */
@media (max-width:760px){
  #ppFootBar{flex-wrap:wrap}
  #ppFootBar #ppTotals{flex:1 1 100%;order:-1;margin-bottom:2px;font-size:13px;color:#475569}
  #ppFootBar .btn{padding:8px 10px;font-size:12px;white-space:nowrap}
  #ppFootBar .btn-primary{flex:1}
  #ppFootBar>span[style*="flex:1"]{display:none}
}

/* v23 项目卡片更多菜单深色不透底 */
.projMoreMenu{position:absolute;right:0;top:calc(100% + 6px);background:#0d1c3a;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgba(2,8,23,.6);padding:6px;display:flex;flex-direction:column;gap:4px;z-index:80;min-width:110px}
.projMoreMenu .btn{width:100%;justify-content:center;white-space:nowrap}

/* v24 用户管理深色适配 */
#userModal .um-stat{background:rgba(13,28,58,.6);border:1px solid var(--line)}
#userModal .um-stat span{color:var(--sub)}
#userModal .um-stat b{color:#eaf2ff}
#userModal .um-card-mini{background:rgba(13,28,58,.6);border:1px solid var(--line)}
#userModal .um-card-mini:hover{border-color:#38bdf8;box-shadow:0 4px 14px rgba(2,8,23,.5)}
#userModal .um-mini-name{color:#dbeafe}
#userModal .um-mini-role{color:#7d93b8}
#userModal .um-orgbox{border-color:rgba(56,130,246,.35);background:rgba(13,28,58,.45)}
#userModal .um-orghead>span{color:#7db4ff}
#userModal .um-orgcard{background:rgba(21,36,66,.85);border-color:var(--line)}
#userModal .um-orgcard-name{color:#dbeafe}
#userModal .um-orgcard-meta{color:#7d93b8}
#userModal .um-orgadd input,#userModal .um-sel{background:#0b1830;border:1px solid var(--line);color:#dbeafe}
#userModal .um-assign{background:rgba(13,28,58,.5);border-color:var(--line)}
#userModal select{background:#0b1830;color:#dbeafe;border:1px solid var(--line)}
#userModal .empty{color:#7d93b8}


/* ===== 供应商协调推送条 & 推送卡片 & 协调账号锁定 (v25) ===== */
.sup-push-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff7e6;border-top:1px solid #ffd591;flex-wrap:wrap}
.sup-push-bar .spb-title{font-size:11px;color:#d46b08;font-weight:700;flex-shrink:0}
.sup-push-bar .spb-btn{border:1px solid #ffd591;background:#fff;color:#d46b08;border-radius:14px;padding:4px 10px;font-size:12px;cursor:pointer;font-weight:600;transition:all .15s}
.sup-push-bar .spb-btn:active{transform:scale(.95)}
.sup-push-bar .spb-btn:hover{background:#ffe7ba}
.spc-card{border-radius:10px;overflow:hidden;border:1px solid var(--line,#e5e7eb);min-width:210px;max-width:320px;background:#fff;text-align:left}
.spc-card .spc-head{padding:7px 10px;font-size:13px;font-weight:700;color:#fff}
.spc-card.spc-alert .spc-head{background:linear-gradient(90deg,#dc2626,#f59e0b)}
.spc-card.spc-quality .spc-head{background:linear-gradient(90deg,#7c3aed,#a855f7)}
.spc-card.spc-logi .spc-head{background:linear-gradient(90deg,#0369a1,#0ea5e9)}
.spc-card .spc-ttl{padding:8px 10px 2px;font-size:14px;font-weight:700;color:#111827}
.spc-card .spc-row{display:flex;justify-content:space-between;gap:10px;padding:4px 10px;font-size:12px;color:#6b7280;border-top:1px dashed #f3f4f6}
.spc-card .spc-row b{color:#111827;font-weight:600;text-align:right;word-break:break-all}
.spc-card .spc-row.spc-note{background:#fffbeb}
.spc-card .spc-row.spc-note b{color:#92400e}
.spc-card .spc-line{padding:4px 10px;font-size:12px;color:#374151}
/* 供应商协调账号(chat_only)：底部仅保留 指挥部/我的，隐藏顶部业务页签与首页内容 */
body.chat-only #tabBar .tabItem[data-tab="home"],
body.chat-only #tabBar .tabItem[data-tab="discover"],
body.chat-only #tabBar .tabItem[data-tab="work"]{display:none!important}
body.chat-only .tabs,body.chat-only #homeOrgBar,body.chat-only #fabAdd{display:none!important}

/* ---------- 公司暂停使用：总经理只读模式 ---------- */
body.org-ro{padding-top:30px}
body.org-ro .btn,body.org-ro button:not(.tabItem):not(.close),
body.org-ro input,body.org-ro select,body.org-ro textarea{pointer-events:none!important;cursor:not-allowed!important}
body.org-ro .btn,body.org-ro button:not(.tabItem):not(.close){opacity:.55}

/* ---------- 日期选择框优化（清晰可见、整框可点） ---------- */
input[type="date"]{color-scheme:dark;cursor:pointer;min-height:40px}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(0.75) sepia(0.4) saturate(3) hue-rotate(180deg);cursor:pointer;width:20px;height:20px;opacity:.9}

/* ---------- v30 零部件库面板：展开参数在深色卡片上提亮 ---------- */
#tbLibList .lib-kv{border-bottom-color:rgba(148,163,184,.16)!important}
#tbLibList .lib-kv span{color:#8ba3c7!important}
#tbLibList .lib-kv b{color:#dbe6f7!important;font-weight:500}
#tbLibList .lib-card-head b{color:#e8f1ff!important}
#tbLibList .lib-more summary{color:#8ba3c7!important}
#tbLibList span[style*="fef3c7"]{background:rgba(180,83,9,.28)!important;color:#fbbf24!important}
#tbLibList span[style*="dbeafe"]{background:rgba(29,78,216,.32)!important;color:#93c5fd!important}

/* ---------- v31 零部件库弹窗：深色卡片 + 多选 ---------- */
#libraryModal .lib-card{background:rgba(16,34,68,.8);border:1px solid rgba(56,130,246,.3);box-shadow:none}
#libraryModal .lib-card-head b{color:#e8f1ff!important}
#libraryModal .lib-kv{border-bottom-color:rgba(148,163,184,.16)}
#libraryModal .lib-kv span{color:#8ba3c7}
#libraryModal .lib-kv b{color:#dbe6f7;font-weight:500}
#libraryModal .lib-more summary{color:#8ba3c7}
#libraryModal .mb-badge.mb-e{background:rgba(29,78,216,.32);color:#93c5fd}
#libraryModal .mb-badge.mb-f{background:rgba(180,83,9,.28);color:#fbbf24}
#libraryModal .lib-sel{outline:none}

/* ===== v32 微信风格方形头像（聊天/好友列表） ===== */
.chat-item .ca{width:48px!important;height:48px!important;border-radius:8px!important;font-size:17px}
.msg-row .ma{width:40px!important;height:40px!important;border-radius:8px!important}
.mr-cell img,.mr-ur img,.mr-ini{border-radius:8px!important}
.ca,.pa,.fr-row .pa,.cm-item .pa,.gs-member .pa,.pick-row .pa{border-radius:8px!important}
.fr-row .pa{width:40px!important;height:40px!important}
.cuc-avatar,.um-avatar{border-radius:10px!important}
.ca img,.ma img,.pa img,.ca-img{border-radius:8px!important}
.chat-conv-head .ca{width:36px!important;height:36px!important;border-radius:8px!important}

/* ---------- v33 头部优化 + 禁止页面横向滑动 ---------- */
html,body{overflow-x:clip!important}
#ctrlPlans{overflow-x:clip!important}
.wrap{max-width:100vw}
/* 去掉标题旁的小蓝条 */
.header h1::before{display:none!important}
@media (max-width:760px){
  /* 标题栏：合适高度，文字上下居中 */
  .header{padding:6px 14px!important}
  .header .hd-top{min-height:48px!important;display:flex!important;align-items:center!important}
  .brand-title{display:flex!important;align-items:center!important;gap:9px!important;min-width:0}
  .brand-logo{width:36px!important;height:36px!important;border-radius:9px!important;flex-shrink:0}
  .brand-title #appCompanyName{font-size:17px!important;line-height:1.25!important;display:flex!important;align-items:center;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0}
}

/* ---------- v34 军牌式标题栏 + 烽火状态灯 ---------- */
.bt-txt{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.15}
.bt-main{font-size:18px!important;font-weight:800;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-sub{font-size:10px;font-weight:500;letter-spacing:3.5px;color:#7d93b8!important;text-shadow:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.fh-beacon{width:11px;height:11px;border-radius:50%;flex-shrink:0;margin-left:auto;cursor:pointer;position:relative}
.fh-beacon.fh-green{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.9)}
.fh-beacon.fh-red{background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.95);animation:fhPulse 1.1s ease-in-out infinite}
.fh-beacon.fh-red::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(239,68,68,.55);animation:fhRing 1.1s ease-out infinite}
@keyframes fhPulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes fhRing{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
@media (max-width:760px){
  .brand-logo{width:40px!important;height:40px!important;border-radius:10px!important}
  .header .hd-top{min-height:52px!important}
  .brand-title{gap:10px!important}
}

/* ---------- v35 标题栏微调：垂直居中/副标缩进/红绿旗 ---------- */
/* 旗子替代圆点 */
.fh-beacon{width:16px!important;height:20px!important;border-radius:0!important;background:none!important;box-shadow:none!important;position:relative}
.fh-beacon::after{display:none!important}
.fh-beacon.fh-green{color:#22c55e;filter:drop-shadow(0 0 4px rgba(34,197,94,.7))}
.fh-beacon.fh-red{color:#ef4444;filter:drop-shadow(0 0 5px rgba(239,68,68,.85));animation:fhWave 1.2s ease-in-out infinite}
@keyframes fhWave{0%,100%{transform:rotate(0deg);opacity:1}50%{transform:rotate(-6deg);opacity:.65}}
@media (max-width:760px){
  /* 1. 标题内容整体上下居中：去掉空按钮区占位与多余间距 */
  .header{gap:0!important}
  .header .header-right:empty,.header .hd-tools:empty{display:none!important}
  .header .hd-top{display:flex!important;align-items:center!important;min-height:52px!important}
  .brand-title{align-items:center!important;margin:0!important}
  .bt-txt{justify-content:center!important}
  /* 2. 副标右移两个字（对齐"烽"字位） */
  .bt-sub{padding-left:38px;letter-spacing:3px}
}

/* ---------- v36 标题一行居中：LOGO居左·全名居中·令旗居右 ---------- */
@media (max-width:760px){
  .header .hd-top{position:relative!important;justify-content:center!important}
  .brand-title{width:100%;justify-content:center!important}
  .brand-title .brand-logo{position:absolute;left:0;top:50%;transform:translateY(-50%)}
  .bt-txt{flex-direction:row!important;align-items:center!important;max-width:calc(100% - 110px)}
  .bt-main{font-size:17px!important;letter-spacing:.5px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
  .bt-sub{display:none!important}
  .fh-beacon{position:absolute!important;right:0;top:50%;transform:translateY(-50%);margin-left:0!important}
  .fh-beacon.fh-red{animation:fhWave 1.2s ease-in-out infinite}
}

/* ---------- v37 取消标题栏红绿旗 ---------- */
.fh-beacon{display:none!important}
@media (max-width:760px){
  .bt-txt{max-width:calc(100% - 80px)}
}

/* ---------- v38 标题左对齐 ---------- */
@media (max-width:760px){
  .header .hd-top{justify-content:flex-start!important}
  .brand-title{width:100%;justify-content:flex-start!important}
  .brand-title .brand-logo{position:static;transform:none}
  .bt-txt{max-width:calc(100% - 60px);justify-content:flex-start}
  .bt-main{text-align:left}
}

/* ---------- v39 用户详情弹窗重设计 ---------- */
#userDetailModal{padding:18px}
#userDetailModal .ud-modal{
  max-width:520px;max-height:88vh;overflow:hidden!important;padding:0;border-radius:20px;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(11,25,54,.98),rgba(5,12,28,.98));
  border:1px solid rgba(96,165,250,.42);
  box-shadow:0 0 0 1px rgba(56,189,248,.08),0 28px 80px rgba(2,6,23,.72),0 0 42px rgba(37,99,235,.28);
}
#userDetailModal .ud-modal::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,#38bdf8 28%,#f59e0b 50%,#38bdf8 72%,transparent);opacity:.95;z-index:4}
#userDetailModal .ud-close{top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(125,211,252,.28);background:rgba(6,16,36,.68);color:#93c5fd;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#userDetailModal .ud-close:hover{color:#fff;border-color:#38bdf8;box-shadow:0 0 14px rgba(56,189,248,.35)}
#userDetailBox{min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 18px 18px;scrollbar-width:thin;scrollbar-color:#31517f transparent}
#userDetailBox::-webkit-scrollbar{width:6px}
#userDetailBox::-webkit-scrollbar-thumb{background:#31517f;border-radius:4px}
.ud-hero{position:relative;display:flex;align-items:center;gap:15px;margin:0 -18px;padding:30px 18px 18px;overflow:hidden;border-bottom:1px solid rgba(96,165,250,.2);background:radial-gradient(circle at 20% 0%,rgba(14,165,233,.28),transparent 34%),radial-gradient(circle at 82% 12%,rgba(245,158,11,.16),transparent 32%),linear-gradient(135deg,rgba(30,64,175,.30),rgba(8,20,44,.18))}
.ud-hero::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(125,211,252,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.16) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent);-webkit-mask-image:linear-gradient(180deg,#000,transparent)}
.ud-avatar-ring{position:relative;z-index:1;width:72px;height:72px;flex:0 0 72px;padding:3px;border-radius:19px;background:linear-gradient(135deg,#38bdf8,#1d4ed8 58%,#f59e0b);box-shadow:0 0 22px rgba(56,189,248,.32)}
.ud-avatar-ring .um-avatar{width:100%!important;height:100%!important;border-radius:16px!important;font-size:25px;box-shadow:none;border:1px solid rgba(255,255,255,.18)}
.ud-state-dot{position:absolute;right:-2px;bottom:-2px;width:15px;height:15px;border-radius:50%;border:3px solid #081426;box-sizing:content-box}
.ud-state-dot.is-on{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.8)}
.ud-state-dot.is-off{background:#64748b;box-shadow:none}
.ud-head-main{position:relative;z-index:1;flex:1;min-width:0}
.ud-name-row{display:flex;align-items:center;gap:8px;min-width:0}
.ud-name{font-size:22px;line-height:1.15;font-weight:800;letter-spacing:.8px;color:#f8fbff;text-shadow:0 0 16px rgba(56,189,248,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ud-me{flex:0 0 auto;font-size:10px;line-height:1;font-weight:700;color:#7dd3fc;border:1px solid rgba(125,211,252,.38);border-radius:20px;padding:4px 7px;background:rgba(14,165,233,.12)}
.ud-subline{margin-top:4px;font-size:12px;color:#8ba3c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ud-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}
.ud-tag{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid rgba(125,211,252,.25);background:rgba(15,34,68,.72);color:#bfdbfe}
.ud-tag-pos{color:var(--ud-accent,#7dd3fc);border-color:rgba(125,211,252,.35)}
.ud-tag-on{color:#34d399;background:rgba(6,78,59,.34);border-color:rgba(52,211,153,.35)}
.ud-tag-off{color:#cbd5e1;background:rgba(71,85,105,.35);border-color:rgba(148,163,184,.3)}
.ud-tag-chat{color:#fbbf24;background:rgba(120,53,15,.28);border-color:rgba(251,191,36,.35)}
.ud-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.ud-metric{position:relative;overflow:hidden;border:1px solid rgba(96,165,250,.22);border-radius:13px;padding:10px 8px;text-align:center;background:linear-gradient(180deg,rgba(16,34,68,.72),rgba(8,18,40,.58))}
.ud-metric::before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(125,211,252,.75),transparent)}
.ud-metric span{display:block;font-size:10px;color:#7d93b8;letter-spacing:1px}
.ud-metric b{display:block;margin-top:3px;font-size:18px;line-height:1.1;color:#f0f9ff;text-shadow:0 0 12px rgba(56,189,248,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ud-section{margin-top:12px;border:1px solid rgba(96,165,250,.2);border-radius:15px;background:rgba(8,18,40,.52);padding:12px}
.ud-sec-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#dbeafe;font-size:13px;font-weight:800;letter-spacing:.8px}
.ud-sec-title::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#38bdf8,#1d4ed8);box-shadow:0 0 8px rgba(56,189,248,.75)}
.ud-sec-title em{margin-left:auto;font-style:normal;font-size:9px;font-weight:700;letter-spacing:1.6px;color:#47648f}
.ud-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ud-info-item{min-width:0;border:1px solid rgba(96,165,250,.16);border-radius:11px;padding:9px 10px;background:rgba(15,30,62,.48)}
.ud-info-item.ud-wide{grid-column:1/-1}
.ud-info-item>span{display:block;margin-bottom:4px;font-size:10.5px;color:#7d93b8;letter-spacing:.5px}
.ud-info-item>b{display:block;min-height:18px;font-size:13px;line-height:1.35;font-weight:650;color:#e5f2ff;word-break:break-all}
.ud-info-item .ud-sel{width:100%;max-width:none;margin-top:2px}
.ud-admin-panel{border-color:rgba(56,189,248,.3);background:linear-gradient(180deg,rgba(13,34,70,.62),rgba(8,18,40,.48))}
.ud-controls{display:grid;gap:8px}
.ud-control{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;border:1px solid rgba(96,165,250,.16);border-radius:11px;background:rgba(5,14,32,.5);padding:6px 8px}
.ud-control>span{font-size:11px;font-weight:700;color:#7d93b8;text-align:right;letter-spacing:.5px}
.ud-control .ud-sel{width:100%;max-width:none;min-height:34px;padding:7px 9px;border-radius:9px;font-size:13px;background:rgba(6,16,36,.9)}
.ud-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.ud-actions .btn{min-height:38px;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 10px;font-size:12.5px;font-weight:700;white-space:nowrap}
.ud-actions .btn-orange{background:linear-gradient(180deg,rgba(245,158,11,.95),rgba(180,83,9,.95))!important;color:#fff!important;border:1px solid rgba(253,211,77,.45)!important;box-shadow:0 2px 10px rgba(245,158,11,.22)}
.ud-lock-panel{margin-top:12px;padding:18px 14px;text-align:center;border:1px dashed rgba(125,211,252,.28);border-radius:15px;background:rgba(8,18,40,.46)}
.ud-lock-ico{position:relative;width:38px;height:38px;margin:0 auto 9px;border-radius:12px;background:rgba(14,165,233,.12);border:1px solid rgba(125,211,252,.28)}
.ud-lock-ico::before{content:"";position:absolute;left:11px;top:9px;width:12px;height:10px;border:2px solid #7dd3fc;border-bottom:none;border-radius:8px 8px 0 0}
.ud-lock-ico::after{content:"";position:absolute;left:9px;top:18px;width:16px;height:12px;border-radius:4px;background:linear-gradient(180deg,#38bdf8,#1d4ed8);box-shadow:0 0 10px rgba(56,189,248,.35)}
.ud-lock-panel b{display:block;font-size:14px;color:#dbeafe}
.ud-lock-panel span{display:block;margin-top:4px;font-size:12px;color:#7d93b8}
@media (max-width:640px){
  #userDetailModal{padding:0!important;align-items:flex-end!important}
  #userDetailModal.show{display:flex!important}
  #userDetailModal .ud-modal{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:100vw!important;max-height:92vh!important;margin:0!important;border-radius:20px 20px 0 0!important;transform:none!important;animation:udSheet .22s ease}
  #userDetailBox{padding:0 14px 16px}
  .ud-hero{margin:0 -14px;padding:28px 14px 15px}
  .ud-avatar-ring{width:66px;height:66px;flex-basis:66px;border-radius:17px}
  .ud-avatar-ring .um-avatar{border-radius:14px!important;font-size:23px}
  .ud-name{font-size:20px}
  .ud-subline{font-size:11.5px}
  .ud-info-grid{gap:7px}
  .ud-info-item{padding:8px 9px}
  .ud-control{grid-template-columns:66px minmax(0,1fr)}
  .ud-actions .btn{font-size:12px;padding:8px 6px}
}
@media (max-width:360px){
  .ud-info-grid{grid-template-columns:1fr}
  .ud-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .ud-metric b{font-size:16px}
}
@keyframes udSheet{from{transform:translateY(18px);opacity:.4}to{transform:translateY(0);opacity:1}}

/* ---------- v40 战术工作台与文印弹窗全面重构 ---------- */
#workPanel{background:radial-gradient(1100px 480px at 85% -8%,rgba(37,99,235,.22),transparent 60%),linear-gradient(180deg,#081226 0%,#060d1f 60%,#040917 100%)!important}
.wk-wrap{max-width:720px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top,0px)) 14px 120px}
.wk-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px;position:sticky;top:0;z-index:5;background:rgba(6,13,31,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin:0 -14px 16px;padding:10px 14px;border-bottom:1px solid rgba(56,130,246,.18)}
.wk-title{display:flex;align-items:center;gap:10px}
.wk-title-ico{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(160deg,rgba(56,130,246,.28),rgba(14,30,64,.9));border:1px solid rgba(96,165,250,.45);border-radius:11px;box-shadow:0 0 14px rgba(37,99,235,.35)}
.wk-title-m{font-size:18px;font-weight:800;letter-spacing:3px;color:#e8f2ff!important}
.wk-title-s{font-size:9px;letter-spacing:3.5px;color:#5f7ba8!important;margin-top:1px}
.wk-head-btns{display:flex;gap:8px}
.wk-btn{border:1px solid rgba(56,130,246,.4)!important;background:rgba(23,44,84,.85)!important;color:#bfdbfe!important;border-radius:9px;padding:7px 14px;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}
.wk-btn:active{transform:scale(.95)}
.wk-btn:hover{border-color:#38bdf8!important;color:#e0f2fe!important;box-shadow:0 0 10px rgba(56,189,248,.35)}
.wk-loading{text-align:center;padding:60px 0;color:#7d93b8!important;font-size:14px;letter-spacing:2px}
.wk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.wk-stat{background:linear-gradient(180deg,#0e1f42,#0a1732);border:1px solid rgba(74,130,230,.32);border-top:3px solid var(--wc,#60a5fa);border-radius:11px;padding:12px 4px 10px;text-align:center;cursor:pointer;transition:transform .15s,box-shadow .15s}
.wk-stat:active{transform:scale(.94)}
.wk-stat:hover{box-shadow:0 4px 18px rgba(37,99,235,.3)}
.wk-stat-n{font-size:24px;font-weight:800;color:var(--wc,#60a5fa);line-height:1.1;text-shadow:0 0 14px currentColor}
.wk-stat-l{font-size:11px;color:#7d93b8!important;letter-spacing:1px;margin-top:4px}
.wk-relay{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#8ba3c7!important;background:rgba(16,34,68,.5);border:1px solid rgba(74,130,230,.22);border-radius:9px;padding:8px 12px;margin-bottom:14px}
.wk-relay-tx{color:#8ba3c7!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-relay-dot{width:8px;height:8px;border-radius:50%;background:#3a5a8c;flex:none}
.wk-relay-dot.on{background:#38bdf8;box-shadow:0 0 8px #38bdf8;animation:wkPulse 1.8s infinite}
@keyframes wkPulse{0%,100%{opacity:1}50%{opacity:.35}}
.wk-sec{display:flex;align-items:baseline;gap:10px;margin:18px 0 8px;padding-left:2px}
.wk-sec::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#38bdf8,#1d4ed8);align-self:center;flex:none;box-shadow:0 0 8px rgba(56,189,248,.6)}
.wk-sec-cn{font-size:14px;font-weight:800;letter-spacing:4px;color:#cfe4ff!important}
.wk-sec-en{font-size:10px;letter-spacing:3px;color:#54749f!important}
.wk-tool{position:relative;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#0e1f42,#0b1834);border:1px solid rgba(74,130,230,.3);border-left:3px solid #2f6bd8;border-radius:11px;padding:13px 14px;margin-bottom:9px;cursor:pointer;transition:all .15s;overflow:hidden}
.wk-tool::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(96,165,250,.08) 50%,transparent 60%);pointer-events:none}
.wk-tool:hover{border-color:rgba(96,165,250,.55);box-shadow:0 4px 18px rgba(37,99,235,.28);transform:translateX(2px)}
.wk-tool:active{transform:scale(.985)}
.wk-tool-sec{position:absolute;top:5px;right:10px;font-size:9px;letter-spacing:1.5px;color:#4d6a96!important}
.wk-tool-ic{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;font-size:19px;background:rgba(37,99,235,.16);border:1px solid rgba(74,130,230,.3);border-radius:10px}
.wk-tool-tx{flex:1;min-width:0}
.wk-tool-nm{font-weight:700;font-size:14.5px;letter-spacing:1.5px;color:#dbeafe!important;display:flex;align-items:center;gap:7px}
.wk-tool-ds{font-size:11px;color:#7d93b8!important;margin-top:2px;letter-spacing:.5px}
.wk-tool-arw{color:#38bdf8;font-weight:800;font-size:17px;flex:none;text-shadow:0 0 8px rgba(56,189,248,.7)}
.wk-badge{font-style:normal;background:linear-gradient(180deg,#f43f5e,#be123c);color:#fff!important;font-size:10.5px;font-weight:700;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;padding:0 5px;box-shadow:0 0 10px rgba(244,63,94,.55)}
.wk-prev{background:rgba(22,36,77,.55);border:1px dashed rgba(74,130,230,.4);border-radius:10px;padding:6px 12px;margin:-3px 0 10px;font-size:12px}
.wk-prev-row{padding:5px 0;color:#8ba3c7!important;border-bottom:1px dashed rgba(74,130,230,.16);line-height:1.5}
.wk-prev-row:last-child{border-bottom:none}
.wk-pv-tag{color:#38bdf8;margin-right:5px}
.wk-pv-dim{color:#5f7ba8!important}
.wk-prev b{color:#cfe4ff!important}

/* 文印/补给/接收弹窗：统一深色驾驶舱风 */
#custMgr,#svModal,#qcModal,#poModal,#csModal,#raModal{background:rgba(3,8,20,.68)!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#custMgr>div,#svModal>div,#qcModal>div,#poModal>div,#csModal>div,#raModal>div{
  background:linear-gradient(180deg,#0f2145,#0a1730)!important;border:1px solid rgba(74,130,230,.38)!important;border-radius:16px!important;
  color:#dbeafe!important;box-shadow:0 22px 60px rgba(0,0,0,.6),0 0 0 1px rgba(56,189,248,.06) inset}
#custMgr b,#svModal b,#qcModal b,#poModal b,#csModal b,#raModal b{color:#e8f2ff!important}
#custMgr div,#svModal div,#qcModal div,#poModal div,#csModal div,#raModal div,
#custMgr span,#svModal span,#qcModal span,#poModal span,#csModal span,#raModal span{color:#c6d8f2}
#custMgr input,#custMgr select,#svModal input,#svModal select,#qcModal input,#qcModal select,
#poModal input,#poModal select,#csModal input,#csModal select,#raModal input,#raModal select{
  background:rgba(7,17,38,.9)!important;color:#e2ecff!important;border:1px solid rgba(74,130,230,.4)!important;border-radius:9px!important}
#custMgr input:focus,#svModal input:focus,#qcModal input:focus,#poModal input:focus,#csModal input:focus,
#custMgr select:focus,#svModal select:focus,#qcModal select:focus,#poModal select:focus,#csModal select:focus{
  border-color:#38bdf8!important;box-shadow:0 0 0 2px rgba(56,189,248,.2);outline:none}
#custMgr input::placeholder,#svModal input::placeholder,#qcModal input::placeholder,#poModal input::placeholder,#csModal input::placeholder{color:#4d6a96}
#poModal [style*="background:#f9fafb"],#qcModal [style*="background:#f9fafb"],
#svModal [style*="background:#f0f4ff"]{background:rgba(29,78,216,.14)!important;border:1px solid rgba(74,130,230,.32)!important}
#svModal [style*="color:#1d4ed8"]{color:#7dd3fc!important;text-shadow:0 0 12px rgba(56,189,248,.6)}
#poClose,#cmClose,#svClose,#csClose{border:1px solid rgba(74,130,230,.45)!important;background:rgba(23,44,84,.9)!important;color:#bfdbfe!important}
#poModal [style*="border:1px solid #e5e7eb"]{border:1px solid rgba(74,130,230,.28)!important;background:rgba(16,34,68,.45)!important;border-radius:10px}
#poModal [style*="background:#e5e7eb"]{background:rgba(74,130,230,.22)!important}
#poModal [style*="color:#888"],#poModal [style*="color:#999"],#poModal [style*="color:#666"],
#custMgr [style*="color:#888"],#custMgr [style*="color:#999"],#custMgr [style*="color:#666"],
#csModal [style*="color:#888"],#csModal [style*="color:#999"],#csModal [style*="color:#666"]{color:#7d93b8!important}
#poModal .poDel,#custMgr [style*="background:#fee2e2"],#poModal [style*="background:#fee2e2"]{background:rgba(220,38,38,.16)!important;color:#fca5a5!important;border:1px solid rgba(239,68,68,.4)!important}
#poModal [style*="border:1px solid #d1d5db"][style*="background:#fff"]{background:rgba(23,44,84,.9)!important;border:1px solid rgba(74,130,230,.45)!important;color:#bfdbfe!important}
#poAdd,#cmSave,#csGo{box-shadow:0 4px 16px rgba(29,78,216,.45)}
#qcOk{box-shadow:0 4px 16px rgba(22,163,74,.4)}#qcBad{box-shadow:0 4px 16px rgba(220,38,38,.4)}
#svGo{box-shadow:0 4px 14px rgba(29,78,216,.45)}
@media (max-width:640px){
  #custMgr,#svModal,#qcModal,#poModal,#csModal,#raModal{align-items:flex-end!important;padding:0!important}
  #custMgr>div,#svModal>div,#qcModal>div,#poModal>div,#csModal>div,#raModal>div{
    width:100%!important;max-width:100vw!important;border-radius:18px 18px 0 0!important;max-height:92vh!important;
    padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;animation:wkSheet .22s ease}
}
@keyframes wkSheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
/* ---------- v40 结束 ---------- */

/* ---------- v41 用户详情：指标卡部门名 ---------- */
.ud-metric-sm{font-size:13.5px!important;line-height:1.3;letter-spacing:.5px;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ============ v42 零部件实物图缩略图 + 全屏看图 ============ */
.lib-thumb{
  flex:none;width:52px;height:52px;border-radius:10px;overflow:hidden;
  background:linear-gradient(145deg,#17233f,#0d1526);
  border:1px solid rgba(125,211,252,.22);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  cursor:zoom-in;box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.lib-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lib-thumb i{font-style:normal;font-size:20px;opacity:.45;line-height:1}
.lib-thumb-none{cursor:pointer;border-style:dashed;border-color:rgba(251,191,36,.45)}
.lib-thumb-none em{font-style:normal;font-size:9px;color:#fbbf24;margin-top:1px;letter-spacing:1px}
.__imgv{
  position:fixed;inset:0;z-index:99999;background:rgba(2,8,23,.94);
  display:none;align-items:center;justify-content:center;padding:18px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:zoom-out;
}
.__imgv.show{display:flex}
.__imgv img{max-width:100%;max-height:92%;border-radius:12px;box-shadow:0 12px 48px rgba(0,0,0,.6);object-fit:contain}
.__imgv-x{
  position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;
  width:36px;height:36px;border-radius:50%;background:rgba(148,163,184,.18);
  color:#dbeafe;font-size:17px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(148,163,184,.3);
}
#leImgHint{animation:leHintPulse 2.4s ease-in-out infinite}
@keyframes leHintPulse{0%,100%{opacity:1}50%{opacity:.65}}

/* ============ v43 零件库项目标签 ============ */
.lib-tag{
  display:inline-block;vertical-align:1px;margin-left:6px;padding:1px 7px;
  font-size:10px;font-weight:600;line-height:1.5;border-radius:6px;
  color:#2F6BFF;background:rgba(47,107,255,.12);border:1px solid rgba(47,107,255,.28);
  white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;
}

/* ============ v44 项目卡片排序模式 ============ */
.proj-sorting{cursor:grab;border-style:dashed!important;border-color:rgba(47,107,255,.55)!important;transition:transform .15s ease,box-shadow .15s ease}
.proj-sorting:active{cursor:grabbing}

/* ===== v47 发布弹窗深蓝驾驶舱化 ===== */
.disc-pub-box{width:min(560px,100%);background:linear-gradient(160deg,#122036,#0d1830);border:1px solid rgba(88,140,255,.28);border-radius:16px;padding:24px 24px 20px;box-shadow:0 12px 48px rgba(0,10,30,.6),0 0 0 1px rgba(88,140,255,.06) inset}
.disc-pub-box h3{color:#e8f4ff;font-size:18px;letter-spacing:1px}
.disc-pub-box label{color:#8ea6c8!important}
.disc-pub-box input,.disc-pub-box textarea,.disc-pub-box select{background:#0a1428;border:1px solid rgba(88,140,255,.25);color:#e8f4ff;border-radius:10px;padding:10px 12px;font-size:14px;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s}
.disc-pub-box input::placeholder,.disc-pub-box textarea::placeholder{color:#5a6f8f}
.disc-pub-box input:focus,.disc-pub-box textarea:focus,.disc-pub-box select:focus{border-color:#4f8dff;box-shadow:0 0 0 3px rgba(79,141,255,.15)}
.disc-pub-box textarea{resize:vertical;min-height:96px}
.dp-addimg{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:10px;border:1px dashed rgba(88,140,255,.5);color:#7db4ff;font-size:14px;background:rgba(79,141,255,.08);transition:background .15s}
.dp-addimg:hover{background:rgba(79,141,255,.18)}
.dp-btn-pub{background:linear-gradient(180deg,#3b8cff,#2f6bff);color:#fff;border:none;box-shadow:0 3px 12px rgba(47,107,255,.4);padding:10px 28px;font-size:15px;border-radius:10px}
.dp-btn-pub:hover{filter:brightness(1.1)}
.dp-btn-cancel{background:transparent;color:#8ea6c8;border:1px solid rgba(142,166,200,.35);box-shadow:none;padding:10px 22px;font-size:15px;border-radius:10px}
.dp-btn-cancel:hover{border-color:#8ea6c8;color:#c6d6ec}
.disc-pub-box #dpImgList img{border-radius:8px;border:1px solid rgba(88,140,255,.25)}

/* ===== v48 协调推送卡片深蓝化 ===== */
.sup-push-bar{background:rgba(13,24,48,.94);border-top:1px solid rgba(88,140,255,.22)}
.sup-push-bar .spb-title{color:#7db4ff}
.sup-push-bar .spb-btn{border:1px solid rgba(88,140,255,.4);background:rgba(79,141,255,.1);color:#9cc2ff}
.sup-push-bar .spb-btn:hover{background:rgba(79,141,255,.22)}
.spc-card{background:#101d36;border:1px solid rgba(88,140,255,.28);box-shadow:0 6px 20px rgba(0,10,30,.5)}
.spc-card .spc-ttl{color:#e8f4ff}
.spc-card .spc-row{color:#8ea6c8;border-top:1px dashed rgba(88,140,255,.14)}
.spc-card .spc-row b{color:#e8f4ff}
.spc-card .spc-row.spc-cur b{color:#ff6b6b;font-size:16px}
.spc-card .spc-row.spc-urg b{color:#ff5d5d;background:rgba(239,68,68,.16);padding:1px 8px;border-radius:8px}
.spc-card .spc-row.spc-note{background:rgba(234,179,8,.1)}
.spc-card .spc-row.spc-note b{color:#fbbf24}
.spc-card .spc-line{color:#c6d6ec}

/* ===== v49 对账单卡片头部 ===== */
.spc-card.spc-stmt .spc-head{background:linear-gradient(90deg,#b45309,#f59e0b)}


/* ---- 手机端弹窗底部避让导航栏 ---- */
@media (max-width:640px){
  #libEditModal .modal,#newPartModal .modal,#partDetailModal .modal,#invModal .modal,#titleSetModal .modal,#userDetailModal .modal{padding-bottom:82px !important}
}


/* ============ v53 登录页质感升级 ============ */
/* 网格 + 雷达扫光背景 */
.login-wrap{position:relative;overflow:hidden}
.login-wrap::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(56,189,248,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.13) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(85% 85% at 50% 38%,#000 25%,transparent 96%);
  mask-image:radial-gradient(85% 85% at 50% 38%,#000 25%,transparent 96%)}
.login-wrap::after{content:'';position:absolute;width:1500px;height:1500px;left:68%;top:24%;border-radius:50%;pointer-events:none;z-index:3;mix-blend-mode:screen;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(56,189,248,.06) 16deg,rgba(56,189,248,.22) 40deg,rgba(125,211,252,.34) 48deg,rgba(56,189,248,.22) 56deg,rgba(56,189,248,.06) 82deg,transparent 104deg);
  transform:translate(-50%,-50%);animation:lgSweep 6s linear infinite;
  -webkit-mask-image:radial-gradient(closest-side,#000 34%,transparent 80%);
  mask-image:radial-gradient(closest-side,#000 34%,transparent 80%)}
@keyframes lgSweep{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.login-shell{position:relative;z-index:1}
/* LOGO 呼吸光晕 */
.login-logo{animation:logoBreath 3.4s ease-in-out infinite}
@keyframes logoBreath{0%,100%{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 22px 4px rgba(56,189,248,.45),0 0 70px 14px rgba(37,99,235,.25);transform:translateY(0)}50%{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 46px 12px rgba(56,189,248,.85),0 0 110px 30px rgba(37,99,235,.45);transform:translateY(-4px)}}
/* 首屏元素入场动画 */
.login-brand .lb-name{animation:lgUp .7s .08s ease both}
.login-brand .lb-sub{animation:lgUp .7s .26s ease both}
.login-brand .lb-feat{animation:lgUp .7s .42s ease both}
.login-logo{animation:logoBreath 3.4s ease-in-out infinite,lgUp .6s ease both}
.login-form h2{animation:lgUp .6s .12s ease both}
.login-form .lf-sub{animation:lgUp .6s .22s ease both}
@keyframes lgUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* 登录按钮 loading 转圈 */
@keyframes lgSpin{to{transform:rotate(360deg)}}
#authBtn:disabled{opacity:.75;cursor:not-allowed}
/* 记住密码整行好按 */
.login-form .rmp-label{padding:8px 0;font-size:14px!important}
.login-form .rmp-label input{width:17px!important;height:17px!important}
@media (prefers-reduced-motion:reduce){
  .login-wrap::after,.login-logo,.login-brand .lb-name,.login-brand .lb-sub,.login-brand .lb-feat,.login-form h2,.login-form .lf-sub{animation:none!important}
}

/* v53b 加强可见度 */
.login-brand{position:relative}
.login-brand::before{animation:brandPulse 4.5s ease-in-out infinite}
@keyframes brandPulse{0%,100%{opacity:.5}50%{opacity:1}}
.lb-name{animation:lgUp .7s .08s ease both,nameGlow 3.6s ease-in-out 1s infinite}
@keyframes nameGlow{0%,100%{text-shadow:0 0 14px rgba(56,189,248,.35)}50%{text-shadow:0 0 26px rgba(56,189,248,.75),0 0 60px rgba(37,99,235,.4)}}
.login-shell{box-shadow:0 0 0 1px rgba(56,189,248,.28),0 0 46px rgba(37,99,235,.4),0 30px 80px rgba(2,6,23,.6)!important}
.login-form .form-group input:focus{box-shadow:0 0 0 4px rgba(56,189,248,.22),0 0 18px rgba(56,189,248,.25)!important}
#authBtn{position:relative;overflow:hidden}
#authBtn::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);
  animation:btnShine 2.8s ease-in-out infinite}
@keyframes btnShine{0%{left:-60%}55%,100%{left:120%}}

/* v57 雷达靶心 + 冲击波 */
.lg-radar{position:absolute;left:68%;top:24%;width:780px;height:780px;transform:translate(-50%,-50%);z-index:2;pointer-events:none;border-radius:50%;
  background:
    radial-gradient(circle 34px at center,transparent 31px,rgba(125,211,252,.5) 32px 33px,transparent 34px),
    linear-gradient(rgba(56,189,248,.28),rgba(56,189,248,.28)) center/100% 1.5px no-repeat,
    linear-gradient(rgba(56,189,248,.28),rgba(56,189,248,.28)) center/1.5px 100% no-repeat,
    repeating-radial-gradient(circle at center,rgba(56,189,248,.17) 0 1.5px,transparent 1.5px 96px)}
.lg-radar::after{content:'';position:absolute;left:50%;top:50%;width:70px;height:70px;border-radius:50%;
  border:2px solid rgba(125,211,252,.75);transform:translate(-50%,-50%);
  animation:lgRipple 3s cubic-bezier(.2,.6,.35,1) infinite}
@keyframes lgRipple{0%{width:70px;height:70px;opacity:.9;border-width:2.5px}100%{width:560px;height:560px;opacity:0;border-width:1px}}
@media (prefers-reduced-motion:reduce){.lg-radar::after{animation:none!important}}

/* v60 用户名区下移，避开雷达靶心 */
.login-form form>.form-group:first-child{margin-top:4px}

/* v62 品牌副标语加大 */
.lb-sub{font-size:19px!important;letter-spacing:2px;font-weight:600}
@media (max-width:640px){.lb-sub{font-size:16px!important}}

/* v63 品牌区向下延伸，深蓝分界线下移 */
@media (max-width:640px){
  .login-brand{padding-bottom:78px}
}

/* v65 滑块拼图验证 */
.pz-box{user-select:none;-webkit-user-select:none}
.pz-stage{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#0a1a36;border:1px solid rgba(74,130,230,.35)}
.pz-bg{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.pz-piece{position:absolute;pointer-events:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));z-index:2}
.pz-refresh{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  background:rgba(6,16,36,.6);color:#7dd3fc;cursor:pointer;z-index:3}
.pz-refresh:active{transform:rotate(90deg)}
.pz-track{position:relative;margin-top:10px;height:44px;border-radius:10px;background:rgba(7,17,38,.9);border:1px solid rgba(74,130,230,.35);overflow:hidden}
.pz-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(37,99,235,.5),rgba(56,189,248,.5))}
.pz-handle{position:absolute;left:0;top:0;width:46px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#3b82f6,#1d4ed8);color:#fff;cursor:grab;z-index:2;box-shadow:0 2px 10px rgba(29,78,216,.5);touch-action:none}
.pz-handle:active{cursor:grabbing}
.pz-tip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#5f7ba8;pointer-events:none;transition:opacity .2s}

/* v66 登录页 LOGO 增大 50% */
.login-logo{width:183px!important;height:183px!important;border-radius:32px}
@media (max-width:640px){.login-logo{width:96px!important;height:96px!important;border-radius:22px}}


/* v67 拼图矮版 + 即时校验反馈 + 雷达避让表单区 */
.pz-track.pz-ok{border-color:rgba(52,211,153,.7)}
.pz-track.pz-ok .pz-fill{background:linear-gradient(90deg,rgba(16,185,129,.55),rgba(52,211,153,.55))}
.pz-track.pz-ok .pz-handle{background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 2px 10px rgba(5,150,105,.5);cursor:default}
.pz-track.pz-fail{border-color:rgba(248,113,113,.75);animation:pzShake .4s}
.pz-track.pz-fail .pz-handle{background:linear-gradient(180deg,#f87171,#dc2626);box-shadow:0 2px 10px rgba(220,38,38,.5)}
@keyframes pzShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
#aCapRow{margin-bottom:8px}
#aCapRow .pz-track{margin-top:8px;height:40px}
#aCapRow .pz-handle{height:38px}
.login-wrap .lg-radar{-webkit-mask-image:linear-gradient(#000 52%,transparent 82%);mask-image:linear-gradient(#000 52%,transparent 82%)}
.login-foot,.login-foot *{color:#7d95c0!important}
@media (prefers-reduced-motion:reduce){.pz-track.pz-fail{animation:none}}


/* v68 登录页一屏适配（手机端不滚动） */
@media (max-width:640px){
  .login-wrap{height:100dvh;min-height:100dvh;overflow:hidden;align-items:center!important;padding-top:0!important;justify-content:center}
  .login-brand{padding:16px 16px 44px!important}
  .login-logo{width:72px!important;height:72px!important;margin-bottom:8px!important;border-radius:18px}
  .lb-name{font-size:18px!important}
  .lb-sub{font-size:14px!important;margin-top:2px!important}
  .login-form{padding:16px 18px 12px!important}
  .login-form .form-group{margin-bottom:10px}
  .login-form .form-group label{margin-bottom:4px}
  .login-form input{height:42px!important}
  .rmp-row{margin:2px 0 8px!important}
  #aCapRow{margin-bottom:6px}
  #aCapRow .pz-track{height:36px;margin-top:6px}
  #aCapRow .pz-handle{height:34px;width:44px}
  #authBtn{height:44px;margin-top:4px}
  .login-foot{margin-top:10px!important}
}
@media (max-width:640px) and (max-height:720px){
  .login-brand{padding:12px 16px 30px!important}
  .login-logo{width:56px!important;height:56px!important;margin-bottom:6px!important;border-radius:14px}
  .login-form .form-group{margin-bottom:8px}
  .login-form input{height:38px!important}
  #aCapRow .pz-track{height:32px}
  #aCapRow .pz-handle{height:30px}
  #authBtn{height:40px}
  .login-foot{margin-top:6px!important}
}


/* v69 工作台/导航栏兼容与滚动条优化 */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  #tabBar{background:#08122e!important}
  .wk-head{background:#060d1f!important}
}
/* 毛玻璃失效时文字仍会微透，导航栏直接提高不透明度 */
#tabBar{background:rgba(8,18,40,.97)}
.wk-head{background:rgba(6,13,31,.97)}
/* 手机端隐藏工作台及全局粗滚动条 */
@media (max-width:760px){
  ::-webkit-scrollbar{width:0;height:0;display:none}
  #workPanel{scrollbar-width:none}
}
/* 工作台底部多留白，列表不被导航栏裁切 */
#workPanel .wk-wrap{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))!important}
.wk-alert-item{display:flex;align-items:flex-start;gap:10px;width:100%}
.wk-alert-main{flex:1;min-width:0}
.wk-alert-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#dbeafe!important;line-height:1.5}
.wk-alert-title b{color:#dbeafe!important;font-weight:700}
.wk-alert-proj{font-size:11px;color:#5f7ba8!important;margin-top:1px}
.wk-alert-meta{font-size:11.5px;color:#8ba3c7!important;margin-top:4px;letter-spacing:.2px}
.wk-alert-tip{font-size:11.5px;color:#fbbf24!important;margin-top:3px}
.wk-alert-actions{display:flex;flex-direction:column;gap:5px;flex:none;margin-left:auto}
.wk-mini-btn{border:1px solid rgba(251,191,36,.45);background:rgba(251,191,36,.12);color:#fbbf24!important;border-radius:8px;padding:4px 9px;font-size:11px;white-space:nowrap;box-shadow:none}
.wk-mini-blue{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.12);color:#7dd3fc!important}
.wk-mini-gray{border-color:rgba(125,147,184,.35);background:rgba(125,147,184,.08);color:#8ba3c7!important}
.wk-more{margin:-2px 0 10px;text-align:center;color:#7dd3fc!important;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.28);border-radius:9px;padding:8px;font-size:12px;cursor:pointer}
.wk-note{margin:-2px 0 10px;color:#8ba3c7!important;background:rgba(56,189,248,.06);border:1px dashed rgba(56,189,248,.28);border-radius:9px;padding:9px 12px;font-size:12px;line-height:1.7}
@media (max-width:640px){.wk-alert-item{display:block}.wk-alert-actions{flex-direction:row;justify-content:flex-end;margin:7px 0 0}}


/* v70 我的页面整改 */
.me-wrap{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
#mePanel .me-head .disc-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:10px}
#mePanel .me-ava{width:76px!important;height:76px!important;min-width:76px;min-height:76px;margin:24px auto 0}


/* v71 好友弹窗深色化 + 贴边/关闭按钮/自适应高度 */
.friend-box{background:linear-gradient(160deg,#0d1c3a,#0a1830)!important;border:1px solid rgba(56,130,246,.35)!important;border-radius:16px!important;margin:0 14px;max-height:80vh;height:auto!important;color:#dbeafe;box-shadow:0 20px 60px rgba(2,8,23,.6)!important}
.friend-box h3{color:#e8f4ff;font-size:16px}
.friend-box .fr-x{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(56,130,246,.4);color:#9fc4f5;font-size:14px}
.friend-box .fr-x:active{background:rgba(56,130,246,.2)}
.friend-box .note-in{background:#0a1830!important;border:1px solid rgba(56,130,246,.35)!important;color:#dbeafe!important}
.friend-box .note-in::placeholder{color:#5f7ba8}
.friend-box .friend-sec{color:#7d93b8!important;font-weight:600}
.friend-box .fr-row{border-color:rgba(56,130,246,.18)!important}
.friend-box .fr-name{color:#e8f4ff}
.friend-box .fr-sub{color:#7d93b8!important}
.friend-box .fr-note{color:#5f7ba8}
.friend-box .fr-act{background:#1d4ed8!important;color:#fff!important;border:none!important}
.friend-box .fr-act.gray{background:#16244d!important;color:#7d93b8!important}
.friend-box .fr-partner-tag{background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.5);color:#fbbf24}
.friend-box .chat-empty{color:#5f7ba8}

/* ---------- v72 全站红色统一：按钮红 #f43f5e→#be123c，文字红 #f43f5e ---------- */
/* 红色文字统一为按钮主红（覆盖内联 style，含动态生成内容） */
[style*="color:#dc2626"],[style*="color: #dc2626"],
[style*="color:#ef4444"],[style*="color: #ef4444"],
[style*="color:#b91c1c"],[style*="color: #b91c1c"],
[style*="color:#991b1b"],[style*="color: #991b1b"],
[style*="color:#f87171"],[style*="color: #f87171"],
[style*="color:#ff5d6c"],[style*="color: #ff5d6c"],
[style*="color:#e11d48"],[style*="color: #e11d48"],
[style*="color:#be123c"],[style*="color: #be123c"]{color:#f43f5e!important}
/* 红色按钮统一为目标渐变（含浅红底深红字按钮） */
button[style*="dc2626"],button[style*="ef4444"],button[style*="b91c1c"],
button[style*="991b1b"],button[style*="f43f5e"],button[style*="be123c"],button[style*="e11d48"],
.btn-red{background:linear-gradient(180deg,#f43f5e,#be123c)!important;color:#fff!important;border-color:rgba(253,164,175,.5)!important}

/* ---------- v73 我的页面一屏适配 ---------- */
#mePanel .me-wrap{overflow:hidden!important;padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
#mePanel .me-head{height:44px!important;font-size:15px!important}
#mePanel .me-ava{width:54px!important;height:54px!important;min-width:54px;min-height:54px;font-size:21px!important;margin:12px auto 0!important}
#mePanel .me-name{margin-top:6px!important;font-size:15px}
#mePanel .me-rows{margin:10px 14px!important}
#mePanel .me-row{padding:8px 12px!important;font-size:13.5px!important}
#mePanel .me-row .acct-switch{padding:4px 8px!important;font-size:12.5px}
/* 矮屏再压缩 */
@media (max-height:740px){
  #mePanel .me-head{height:38px!important}
  #mePanel .me-ava{width:40px!important;height:40px!important;min-width:40px;min-height:40px;font-size:16px!important;margin:6px auto 0!important}
  #mePanel .me-name{margin-top:2px!important;font-size:13.5px}
  #mePanel .me-rows{margin:6px 12px!important}
  #mePanel .me-row{padding:5px 11px!important;font-size:13px!important}
  #meQrCard img{width:52px!important;height:52px!important}
  #meQrCard{padding:6px 10px!important;margin:4px 12px!important}
  #meQrCard>div>div{font-size:10.5px!important;line-height:1.4!important}
  #mePanel .me-wrap>div:last-child{padding:7px 12px!important;margin:2px 12px 6px!important}
}

/* ---------- v74 我的页面：去标题栏/去工作台卡片，恢复舒适间距 ---------- */
#mePanel .me-head{height:0!important;background:transparent!important;border-bottom:none!important}
#mePanel .me-head .disc-close{top:10px!important;transform:none!important}
#mePanel .me-ava{width:64px!important;height:64px!important;min-width:64px;min-height:64px;font-size:24px!important;margin:26px auto 0!important}
#mePanel .me-name{margin-top:8px!important;font-size:16px}
#mePanel .me-rows{margin:12px 14px!important}
#mePanel .me-row{padding:10px 13px!important;font-size:14px!important}
@media (max-height:740px){
  #mePanel .me-ava{width:50px!important;height:50px!important;min-width:50px;min-height:50px;font-size:19px!important;margin:10px auto 0!important}
  #mePanel .me-name{margin-top:5px!important}
  #mePanel .me-rows{margin:8px 12px!important}
  #mePanel .me-row{padding:7px 12px!important}
  #meQrCard img{width:56px!important;height:56px!important}
  #meQrCard{margin:6px 12px!important}
}

/* ---------- v75 我的页面分组与布局优化 ---------- */
#mePanel .me-body{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;min-height:0}
#mePanel .me-sec{margin:0 18px 5px;font-size:11.5px;color:#5f7ba8;letter-spacing:1px}
#mePanel .me-rows{margin:0 14px 10px!important}
#mePanel .me-row{padding:10px 13px!important;font-size:14px!important}
#mePanel .me-ava{cursor:pointer;margin:22px auto 0!important}
#mePanel .me-ava:active{opacity:.8}
/* 账号下拉框融入行样式 */
#mePanel .acct-switch{background:transparent!important;border:none!important;color:#9db4d8!important;font-size:13px!important;text-align:right;max-width:180px;padding:2px 0!important;outline:none}
#mePanel .acct-switch option{color:#dbeafe;background:#0d1c3a}
/* 二维码折叠 */
#meQrWrap{margin:0 14px}
#meQrWrap #meQrToggle{border-radius:12px}
#meQrWrap #meQrArrow{transition:transform .2s}
/* 版本号 */
#mePanel .me-ver{text-align:center;font-size:11px;color:#3d5578;padding:2px 0}
@media (max-height:740px){
  #mePanel .me-ava{margin:12px auto 0!important}
  #mePanel .me-rows{margin:0 12px 8px!important}
  #mePanel .me-row{padding:8px 12px!important}
  #meQrWrap{margin:0 12px}
}

/* ---------- v76 拼图验证码体验优化 ---------- */
.pz-stage{transition:height .3s ease,opacity .3s ease,margin .3s ease;overflow:hidden}
.pz-track.pz-ok .pz-tip{color:#fff!important;font-weight:600}
.pz-track.pz-fail .pz-tip{color:#fecaca!important;opacity:1!important}
.pz-track.pz-ok .pz-handle{pointer-events:none}
.pz-track.pz-ok .pz-tip{justify-content:flex-start;padding-left:14px}

/* ===== v77 付款申请单优化：签字行/付款状态/导出菜单/收款联想/手写签名板 深色适配 ===== */
.pm-sigrow select,.pm-sel-full{background:rgba(6,16,36,.9)!important;color:#e2e8f0!important;border:1px solid rgba(56,130,246,.35)!important}
.pm-exp-menu,.pm-payee-list{background:#0b1a36!important;border-color:rgba(56,130,246,.35)!important;box-shadow:0 10px 30px rgba(0,0,0,.5)!important}
.pm-exp-menu button{background:transparent!important;color:#dbeafe!important}
.pm-exp-menu button:active{background:rgba(56,130,246,.15)!important}
.pm-payee-item{border-bottom-color:rgba(56,130,246,.15)!important;color:#dbeafe}
.pm-payee-item:active{background:rgba(56,130,246,.15)!important}
.pm-payee-item .pm-payee-sub{color:#7dd3fc!important}
.pm-payee-del{color:#54709a!important}
.pm-req-err{box-shadow:0 0 0 2px #f43f5e!important;background:rgba(244,63,94,.12)!important}
.sigpad{background:#0b1a36!important;border:1px solid rgba(56,130,246,.35)}
.sigpad-title{color:#dbeafe!important}
.sigpad-title span{color:#7dd3fc!important}

/* ---------- v79 付款审批优化 ---------- */
.table-wrap td[data-label="金额"]{background:rgba(16,34,68,.85)!important;color:#7dd3fc!important;border:1px solid rgba(56,130,246,.3)}
.table-wrap td[data-label="金额"]::before{background:rgba(29,78,216,.25)!important;color:#93c5fd!important}
.pr-appr-info{background:rgba(29,78,216,.16)!important;border-color:rgba(56,130,246,.35)!important;color:#dbeafe!important}
.pr-appr-info b{color:#fff!important}
.pr-appr-state{color:#7dd3fc!important}
.pr-hist{background:rgba(13,28,58,.9)!important;border-color:rgba(56,130,246,.28)!important}
.pr-hist-item{color:#c7d7ee!important;border-bottom-color:rgba(56,130,246,.2)!important}
.pr-hist-ts{color:#8ba3c7!important}
.pr-hist-empty{color:#8ba3c7!important}
.pr-mini{color:#8ba3c7}
.pr-m-dot{background:#33507e}
.pr-m-dot.done{background:#22d3a5}
.pr-m-dot.on{background:#38bdf8;box-shadow:0 0 8px rgba(56,189,248,.7)}
.pr-m-line{background:#33507e}
.pr-del{color:#ff8b96!important}
#prApprSelfTip{background:rgba(251,191,36,.14)!important;color:#fde68a!important;border:1px solid rgba(251,191,36,.35)}
