/* ===== 各页面专属样式 ===== */

/* ========== 资产台账页面 ========== */
.asset-page{display:grid;grid-template-columns:240px 1fr;gap:18px;}
.asset-tree-wrap{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:14px;max-height:calc(100vh - 160px);overflow-y:auto;position:sticky;top:80px;}
.asset-tree-tabs{display:flex;border-bottom:1px solid var(--rule);margin-bottom:10px;}
.asset-tree-tabs .tab{padding:6px 12px;font-size:12px;}
.asset-tree-wrap .tree .tree-node .node-wrap{font-size:12px;}
.asset-content{min-width:0;}

/* ========== 智能匹配页面 ========== */
.match-page{display:grid;grid-template-columns:280px 1fr;gap:16px;}
.match-form{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:16px;position:sticky;top:80px;max-height:calc(100vh - 160px);overflow-y:auto;}
.match-result{min-width:0;}
.match-item{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius-md);padding:12px 14px;display:flex;gap:12px;align-items:center;margin-bottom:10px;transition:all .15s;}
.match-item:hover{border-color:var(--accent);box-shadow:var(--shadow-md);}
.match-score{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;}
.match-score.high{background:var(--accent-soft);color:var(--accent);}
.match-score.mid{background:var(--yellow-bg);color:var(--yellow);}
.match-score.low{background:#f1f5f9;color:var(--muted);}
.match-info{flex:1;min-width:0;}
.match-info .mi-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px;display:flex;align-items:center;gap:6px;}
.match-info .mi-desc{font-size:12px;color:var(--muted);}

/* ========== 风险中心 ========== */
.risk-item-list{display:flex;flex-direction:column;gap:8px;}
.risk-item{padding:10px 12px;border-radius:var(--radius-md);border-left:3px solid;display:flex;justify-content:space-between;align-items:center;}
.risk-item.high{background:var(--red-bg);border-color:var(--red);}
.risk-item.mid{background:var(--yellow-bg);border-color:var(--yellow);}
.risk-item.low{background:var(--blue-bg);border-color:var(--blue);}
.risk-item .ri-left{display:flex;align-items:center;gap:8px;min-width:0;}
.risk-item .ri-title{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.risk-item .ri-action{font-size:12px;color:var(--accent);cursor:pointer;font-weight:500;}

/* ========== 工单列表 ========== */
.workorder-card{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius-md);padding:14px;margin-bottom:10px;}
.workorder-card .wc-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;}
.workorder-card .wc-title{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px;}
.workorder-card .wc-meta{font-size:11px;color:var(--muted);display:flex;gap:12px;margin-bottom:8px;}
.workorder-card .wc-desc{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:10px;}
.workorder-card .wc-footer{display:flex;justify-content:space-between;align-items:center;}
.workorder-card .wc-assign{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);}

/* ========== 组织架构树 ========== */
.org-layout{display:grid;grid-template-columns:300px 1fr;gap:18px;}
.org-tree{background:var(--bg2);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:14px;max-height:calc(100vh - 160px);overflow-y:auto;position:sticky;top:80px;}
.org-actions{display:flex;gap:8px;margin-bottom:12px;}

/* ========== 权限矩阵 ========== */
.perm-table{font-size:12px;}
.perm-table th,.perm-table td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);}
.perm-table th:first-child,.perm-table td:first-child{text-align:left;border-right:1px solid var(--rule);position:sticky;left:0;background:var(--bg2);z-index:1;}
.perm-table thead th{background:var(--bg3);font-weight:600;position:sticky;top:0;z-index:2;}
.perm-check{width:16px;height:16px;cursor:pointer;}

/* ========== 招商CRM ========== */
.customer-level{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:600;}
.customer-level.A{background:#fef3c7;color:#92400e;}
.customer-level.B{background:#dbeafe;color:#1e40af;}
.customer-level.C{background:#f1f5f9;color:#475569;}

/* ========== 财务应收 ========== */
.aging-tabs .tab{padding:8px 14px;font-size:12px;}

/* ========== 合同状态流转可视化 ========== */
.contract-timeline{display:flex;align-items:center;justify-content:space-between;padding:18px 8px;}
.ct-node{text-align:center;position:relative;flex:1;}
.ct-node::before{content:'';position:absolute;top:16px;left:50%;width:100%;height:2px;background:var(--rule);z-index:0;}
.ct-node:last-child::before{display:none;}
.ct-node.done::before{background:var(--green);}
.ct-node .ct-circle{
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin:0 auto 8px;font-size:13px;font-weight:700;position:relative;z-index:1;
  background:#fff;border:2px solid var(--rule);color:var(--muted);
}
.ct-node.done .ct-circle{background:var(--green);border-color:var(--green);color:#fff;}
.ct-node.current .ct-circle{background:var(--accent);border-color:var(--accent);color:#fff;animation:pulse 1.5s infinite;}
.ct-node .ct-label{font-size:11px;color:var(--muted);}
.ct-node.done .ct-label,.ct-node.current .ct-label{color:var(--ink);font-weight:500;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(30,58,138,.4);}50%{box-shadow:0 0 0 6px rgba(30,58,138,0);}}

/* ========== 仪表盘大屏样式 ========== */
.dashboard-section-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.dashboard-section-title::before{content:'';display:inline-block;width:3px;height:14px;background:var(--accent);border-radius:2px;}

.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;}
.dashboard-grid .col-full{grid-column:1 / -1;}
.dashboard-grid .double-col{grid-column:1 / -1;display:grid;grid-template-columns:1.4fr 1fr;gap:16px;}

/* ========== 资产评估流程条 ========== */
.eval-steps{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 8px;overflow-x:auto;gap:8px;}
.eval-step{text-align:center;min-width:76px;flex:1;position:relative;display:flex;flex-direction:column;align-items:center;}
.eval-step::before{content:'';position:absolute;top:16px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--rule);z-index:0;}
.eval-step:last-child::before{display:none;}
.eval-step.done::before{background:var(--green);}
.eval-step.active::before{background:var(--green);}
.eval-step .es-circle{
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;position:relative;z-index:1;margin-bottom:6px;flex-shrink:0;
  background:#fff;border:2px solid var(--rule);color:var(--muted);
}
.eval-step.done .es-circle{background:var(--green);border-color:var(--green);color:#fff;}
.eval-step.active .es-circle{background:var(--accent);border-color:var(--accent);color:#fff;}
.eval-step .es-label{font-size:11px;color:var(--muted);line-height:1.3;max-width:90px;}
.eval-step.done .es-label,.eval-step.active .es-label{color:var(--ink);font-weight:500;}

/* ========== 角色卡片 ========== */
.role-card{cursor:pointer;transition:all .15s;}
.role-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}

/* ========== 权限树 ========== */
.perm-node{padding:4px 0;}
.perm-node .perm-children{padding-left:20px;}
.perm-node input[type="checkbox"]{margin-right:4px;cursor:pointer;}
.perm-node .tree-toggle{cursor:pointer;user-select:none;font-size:11px;width:14px;display:inline-block;text-align:center;}

/* ========== 头像 ========== */
.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-size:13px;font-weight:600;flex-shrink:0;}

/* ========== 标签Tag ========== */
.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:12px;border-radius:12px;background:var(--accent-soft);color:var(--accent);margin:2px;}
.tag .tag-close{cursor:pointer;font-size:14px;line-height:1;opacity:.6;}
.tag .tag-close:hover{opacity:1;}

/* ========== 搜索结果高亮 ========== */
.search-highlight{background:var(--yellow-bg);padding:0 2px;border-radius:2px;}

/* ========== 审批流程节点 ========== */
.approval-node{display:flex;align-items:flex-start;gap:12px;padding:10px 0;}
.approval-node .an-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0;}
.approval-node .an-info{flex:1;}
.approval-node .an-name{font-size:13px;font-weight:600;color:var(--ink);}
.approval-node .an-status{font-size:11px;color:var(--muted);margin-top:2px;}
.approval-node .an-time{font-size:11px;color:var(--muted);}
.approval-node .an-comment{font-size:12px;color:var(--ink);margin-top:4px;padding:6px 10px;background:var(--bg3);border-radius:var(--radius-md);}

/* ========== 审批按钮组 ========== */
.approval-actions{display:flex;gap:8px;padding:14px 0;border-top:1px solid var(--rule);margin-top:14px;}

/* 响应式覆盖 */
@media(max-width:1280px){
  .asset-page,.match-page,.org-layout{grid-template-columns:1fr;}
  .asset-tree-wrap,.match-form,.org-tree{position:static;max-height:none;}
  .dashboard-grid,.dashboard-grid .double-col{grid-template-columns:1fr;}
}
