/* ============================================================
   zt-theme-v2.css  正彤智护 · 整体 UI 清爽化（正彤蓝 × 橙）v2ui
   零侵入皮肤补丁：挂在 zt-theme.css 之后，删除挂载即整体回滚。
   设计语言：蓝做骨架（#1539BB 约 70%）+ 橙做点睛（#CC4422 约 10%）+ 中性灰阶（20%）
   色值取自正彤 logo 实测像素，不再自造蓝。
   ============================================================ */

/* ---------- 1. 设计令牌：logo 实测色板（一处改、全站联动） ---------- */
:root{
  /* 品牌蓝（骨架） */
  --zt-primary:#1539BB; --zt-primary-hover:#0e2a8c; --zt-primary-dark:#10305A;
  --zt-primary-soft:#E8F0FA; --zt-primary-softer:#F2F6FC; --zt-primary-line:#B9CCE6;
  /* 品牌橙（点睛） */
  --zt-accent:#CC4422; --zt-accent-hover:#FF9228; --zt-accent-dark:#D66C08;
  --zt-accent-soft:#FFF3E8; --zt-accent-line:#FFD9AE;
  /* 中性灰阶 */
  --zt-bg:#F4F6FA; --zt-card:#FFFFFF;
  --zt-text:#1F2937; --zt-text-sub:#4B5563; --zt-text-dim:#8A94A6;
  --zt-border:#E5E9F0; --zt-divider:#EEF1F6; --zt-input-border:#D5DCE6; --zt-placeholder:#A6B0C0;
  /* 语义色 */
  --zt-success:#16A34A; --zt-success-soft:#E9F8EF;
  --zt-warn:#D97706;    --zt-warn-soft:#FEF6E7;
  --zt-danger:#DC2626;  --zt-danger-soft:#FDECEC;
  /* 阴影 */
  --zt-shadow-sm:0 1px 2px rgba(16,40,80,.05);
  --zt-shadow-md:0 2px 10px rgba(16,40,80,.05);
  --zt-shadow-lg:0 20px 60px rgba(15,35,70,.18),0 2px 8px rgba(15,35,70,.06);
  /* 圆角 */
  --zt-radius-sm:6px; --zt-radius-md:8px; --zt-radius-card:12px; --zt-radius-lg:14px;
  /* 兼容旧变量名（zt-theme.css 引用） */
  --brand:#1539BB; --brand-hover:#0e2a8c; --brand-dark:#10305A;
  --accent:#CC4422; --accent-hover:#FF9228;
  --border-focus:#1539BB;
  --bg-deep:#F4F6FA; --bg-card:#FFFFFF; --bg-card-hover:#F2F6FC;
  --text-primary:#1F2937; --text-secondary:#4B5563; --text-dim:#8A94A6;
  --border:#E5E9F0; --divider:#EEF1F6;
}

body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; background:var(--zt-bg); color:var(--zt-text); }
::selection{ background:rgba(20,64,120,.16); }
::-webkit-scrollbar-thumb{ background:#c2ccdd; border-radius:8px; border:2px solid transparent; background-clip:content-box; }
::-webkit-scrollbar-thumb:hover{ background:#93a3bd; background-clip:content-box; }
a{ color:var(--zt-primary); }
input[type=checkbox],input[type=radio]{ accent-color:var(--zt-primary); }

/* ---------- 2. 按钮四级体系（直接解决「按钮不明显」） ---------- */
/* 主按钮（蓝）：查询/保存/确定/提交 */
.btn-primary, .btn-submit, #app .btn-primary{
  background:linear-gradient(135deg,#0e2a8c,#1539BB)!important; color:#fff!important;
  border:1px solid transparent!important; border-radius:8px!important;
  min-height:36px!important; padding:0 18px!important; font-size:14px!important; font-weight:600!important;
  display:inline-flex!important; align-items:center; justify-content:center; gap:5px;
  box-shadow:0 2px 6px rgba(20,64,120,.25)!important; cursor:pointer; white-space:nowrap; text-shadow:none!important;
}
.btn-primary:hover, .btn-submit:hover, #app .btn-primary:hover{
  background:linear-gradient(135deg,#2a65b0,#0e2a8c)!important; color:#fff!important;
  box-shadow:0 4px 12px rgba(20,64,120,.32)!important;
}
.btn-primary:active, .btn-submit:active{ background:#10305A!important; }
/* 关键主操作（橙，新增/提交审批这类引导动作） */
.btn-add{
  background:linear-gradient(135deg,#1539BB,#2456d8)!important; color:#fff!important;
  border:1px solid transparent!important; border-radius:8px!important;
  min-height:36px!important; padding:0 18px!important; font-size:14px!important; font-weight:600!important;
  display:inline-flex!important; align-items:center; justify-content:center; gap:5px;
  box-shadow:0 2px 6px rgba(21,57,187,.30)!important; cursor:pointer;
}
.btn-add:hover{ background:linear-gradient(135deg,#0e2a8c,#0e2a8c)!important; box-shadow:0 4px 12px rgba(21,57,187,.4)!important; }
.btn-add:active{ background:#10305A!important; }
/* 次按钮（白底蓝边）：取消/导出 */
.btn-cancel, .v99-modal .btn:not(.btn-primary), .modal-box .btn:not(.btn-primary):not(.btn-submit):not(.btn-add){
  background:#fff!important; border:1px solid var(--zt-primary-line)!important; color:var(--zt-primary)!important;
  border-radius:8px!important; min-height:36px!important; padding:0 18px!important; font-size:14px!important; font-weight:500!important;
  display:inline-flex!important; align-items:center; justify-content:center;
}
.btn-cancel:hover, .v99-modal .btn:not(.btn-primary):hover{ background:var(--zt-primary-softer)!important; border-color:var(--zt-primary-line)!important; color:var(--zt-primary)!important; }
/* 危险按钮（红）：删除 */
button:disabled{ opacity:.5; cursor:not-allowed; }

/* ---------- 3. 弹窗（Modal）：圆角 14、柔和投影、深蓝标题 ---------- */
.modal-overlay{ background:rgba(15,35,70,.42)!important; }
.modal-box, .v99-modal>div, body .v99-modal>div{
  border:1px solid var(--zt-border)!important; border-radius:14px!important;
  box-shadow:var(--zt-shadow-lg)!important; padding:22px 24px!important;
}
.modal-box::before{ height:2px!important; border-radius:14px 14px 0 0;
  background:linear-gradient(90deg,#1539BB,#CC4422)!important; }
.modal-box h3, .modal-header h3{ color:var(--zt-text)!important; font-size:16px!important; font-weight:700!important; }
.modal-actions{ border-top:1px solid var(--zt-divider)!important; padding-top:14px!important; gap:10px!important; justify-content:flex-end!important; }

/* ---------- 4. 表单控件：白底、细边、聚焦蓝描边 ---------- */
.form-row input, .form-row select, .form-row textarea,
.modal-box input, .modal-box select, .modal-box textarea,
.v99-modal input, .v99-modal select, .v99-modal textarea{
  background:#fff!important; border:1px solid var(--zt-input-border)!important; border-radius:8px!important;
  min-height:38px!important; padding:8px 12px!important; color:var(--zt-text)!important; font-size:14px!important;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus,
.modal-box input:focus, .modal-box select:focus, .modal-box textarea:focus,
.v99-modal input:focus, .v99-modal select:focus, .v99-modal textarea:focus{
  border-color:var(--zt-primary)!important; box-shadow:0 0 0 3px rgba(20,64,120,.14)!important; outline:none!important;
}
.form-row input::placeholder, .modal-box input::placeholder{ color:var(--zt-placeholder); }

/* ---------- 5. 数据表格：浅蓝灰表头、斑马纹、行 hover ---------- */
.data-table{ border:1px solid var(--zt-border)!important; border-radius:12px!important; overflow:hidden; box-shadow:var(--zt-shadow-sm); }
.data-table th, .data-table thead th{
  background:var(--zt-primary-softer)!important; color:var(--zt-primary)!important; font-weight:600!important;
  border-color:var(--zt-border)!important; height:40px;
}
.data-table td{ border-color:var(--zt-divider)!important; }
.data-table tbody tr:nth-child(even) td{ background:#FAFBFE!important; }
.data-table tbody tr:hover td{ background:var(--zt-primary-softer)!important; }

/* ---------- 6. 统计卡片 / 通用卡片 ---------- */
.statGridRow .stat-card, .stat-card, .stat-item{
  border:1px solid var(--zt-border)!important; border-radius:12px!important; background:#fff!important;
  box-shadow:var(--zt-shadow-md)!important; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.stat-card:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(16,40,80,.10)!important; border-color:var(--zt-primary-line)!important; }
.stat-item .num{ color:var(--zt-primary)!important; }

/* ---------- 7. 侧栏导航：蓝底 + 橙色指示条（品牌双色系最直观体现） ---------- */
.sub-tab-btn:hover, .menu-item:hover, .nav-item:hover{ background:var(--zt-primary-softer)!important; }
.sub-tab-btn.active, .sub-tab-btn.on,
.menu-item.active, .nav-item.active, .side-menu .active, .menu-item.on{
  background:var(--zt-primary-soft)!important; color:var(--zt-primary)!important; font-weight:700!important;
  box-shadow:inset 3px 0 0 var(--zt-accent)!important;
}
.menu-group-head.active{ color:var(--zt-primary)!important; font-weight:700!important; }
/* 联动工作台入口（cockpit-entry）选中态：品牌橙左条，覆盖旧 #CC4420 深橙红 */
.app-sidebar .sub-tab-btn.cockpit-entry{ background:var(--zt-primary-softer)!important; color:var(--zt-primary)!important; border:1px solid var(--zt-primary-line)!important; }
.app-sidebar .sub-tab-btn.cockpit-entry:hover{ background:#DCE6FA!important; }
.app-sidebar .sub-tab-btn.cockpit-entry.active{
  background:var(--zt-primary-soft)!important; color:var(--zt-primary)!important;
  border:1px solid var(--zt-primary-line)!important; border-left:3px solid var(--zt-accent)!important;
}
/* 顶部 mgmt-tab（首页/数据大屏/工程妈妈）选中态：品牌橙左条 */
.mgmt-tab.active, .mgmt-tab.sel{ background:var(--zt-primary-soft)!important; color:var(--zt-primary)!important; border-left:3px solid var(--zt-accent)!important; font-weight:700!important; }
/* 菜单组子项选中态：品牌橙左条（覆盖 style.css 旧 #fff7e6 浅橙底） */
.menu-group .sub-tab-btn.active, .menu-group .sub-tab-btn.sel{ background:var(--zt-primary-soft)!important; color:var(--zt-primary)!important; border-left:3px solid var(--zt-accent)!important; font-weight:700!important; }

/* ---------- 8. 状态徽标：胶囊圆角、语义色浅底深字（不要高饱和大色块） ---------- */
.status-badge{ border-radius:999px!important; font-weight:500!important; padding:2px 10px!important; }

/* ---------- 9. 登录页 ---------- */
.login-btn{ border-radius:10px!important; box-shadow:0 6px 18px rgba(20,64,120,.25)!important; }

/* ---------- 10. 顶部进度条（原 #CC4422 橙 → 品牌橙，保留点睛） ---------- */
#topProgress{ background:linear-gradient(90deg,#CC4422,#FF9228)!important; }

/* ---------- 11. Toast / 浮动提示 ---------- */
#floatingMsg, .floating-msg, .toast{ border-radius:10px!important; box-shadow:0 8px 28px rgba(15,35,70,.16)!important; }

/* ---------- 12. KPI 强调数字用橙（关键指标点睛，克制） ---------- */
.stat-card .num[style*="144078"], .stat-card .num.zt-accent{ color:var(--zt-accent)!important; }

/* ---------- 13. 系统设置（companyView）tab-bar 对比度修复 ---------- */
#companyView .tab-bar .tab-btn{
  background:#fff!important; color:#4B5563!important; border:1px solid var(--zt-border)!important;
  border-radius:6px 6px 0 0!important; font-size:13px!important;
}
#companyView .tab-bar .tab-btn.active{ background:var(--zt-primary)!important; color:#fff!important; border-color:var(--zt-primary)!important; }
#companyView .tab-bar .tab-btn:hover{ color:var(--zt-primary)!important; }
#companyView .tab-bar .tab-btn .mi{ stroke:#4B5563; }
#companyView .tab-bar .tab-btn.active .mi{ stroke:#fff; }
