/*
 * 能飞后台深层页面最终收口层
 * 仅负责视觉、排版、触控和长内容可读性；不改变业务状态、权限或表单字段。
 */
body.app-body{
  --nf-dp-bg:#f5f7f8;
  --nf-dp-card:#ffffff;
  --nf-dp-line:#e5eaee;
  --nf-dp-line-soft:#edf1f3;
  --nf-dp-text:#263746;
  --nf-dp-muted:#7f8d99;
  --nf-dp-blue:#1d678b;
  --nf-dp-orange:#d96542;
  --nf-dp-orange-soft:#fff5f0;
  --nf-dp-green:#17835f;
  --nf-dp-radius:16px;
}

/* 旧深层页面仍直接以 panel > h2/h3 开头时，自动提升成统一的卡片标题带。 */
body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h2:first-child,
body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h3:first-child{
  margin:-18px -18px 16px!important;
  padding:15px 18px 13px!important;
  min-height:54px;
  display:flex;align-items:center;box-sizing:border-box;
  border-bottom:1px solid var(--nf-dp-line-soft);
  background:linear-gradient(180deg,#fff 0%,#fdfefe 100%);
  color:#243947!important;font-weight:900!important;line-height:1.35!important;
}
body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h2:first-child{font-size:18px!important}
body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h3:first-child{font-size:16px!important}
body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h2:first-child + .panel-sub,
body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h3:first-child + .panel-sub{
  margin:-6px 0 15px!important;padding:0!important;color:var(--nf-dp-muted)!important;line-height:1.65!important
}

/* 深层页统一卡片节奏和正文留白。 */
body.app-body:not(.raw-route-data_panorama) .page>.panel,
body.app-body:not(.raw-route-data_panorama) .page>.grid>.panel,
body.app-body:not(.raw-route-data_panorama) .page>.grid-2>.panel,
body.app-body:not(.raw-route-data_panorama) .page>.grid-3>.panel{
  border-radius:var(--nf-dp-radius)!important;border-color:var(--nf-dp-line)!important;
}
body.app-body:not(.raw-route-data_panorama) .page .panel>.table-wrap{
  border:1px solid var(--nf-dp-line-soft);border-radius:12px;background:#fff;overflow:auto
}
body.app-body:not(.raw-route-data_panorama) .page .panel>.table-wrap table{margin:0!important}
body.app-body:not(.raw-route-data_panorama) .page .panel>.table-wrap thead th{background:#f6f8f9!important}
body.app-body:not(.raw-route-data_panorama) .page .panel>.table-wrap tbody tr:last-child td{border-bottom:0!important}

/* 复杂表单不再一片白：字段区做轻分组，动作与输入保持安全距离。 */
body.app-body:not(.raw-route-data_panorama) .page .panel>form:not(.inline-form)>.grid,
body.app-body:not(.raw-route-data_panorama) .page .panel>form:not(.inline-form)>.grid-2,
body.app-body:not(.raw-route-data_panorama) .page .panel>form:not(.inline-form)>.grid-3,
body.app-body:not(.raw-route-data_panorama) .page .panel>form:not(.inline-form)>.grid-4{
  gap:14px!important
}
body.app-body:not(.raw-route-data_panorama) .page .panel form p:last-child:has(.btn),
body.app-body:not(.raw-route-data_panorama) .page .panel form .row-actions:last-child{
  margin:16px 0 0!important;padding-top:14px;border-top:1px solid var(--nf-dp-line-soft)
}
body.app-body:not(.raw-route-data_panorama) .page .panel textarea{resize:vertical!important}
body.app-body:not(.raw-route-data_panorama) .page .panel .help{margin-top:5px!important}

/* 高密度详情中的数字、长编号、长地址和链接必须可读，不挤压操作列。 */
body.app-body .page .mono,body.app-body .page code{overflow-wrap:anywhere;word-break:break-word}
body.app-body .page .wrap,body.app-body .page .panel-sub,body.app-body .page td{overflow-wrap:anywhere}
body.app-body .page a:not(.btn){text-underline-offset:2px}
body.app-body .page .empty-state{padding:30px 18px!important;text-align:center;color:#87949f!important;background:#fafbfc!important;border:1px dashed #e1e7ea!important;border-radius:12px!important}

/* 业务卡片中的动作区统一右对齐、允许换行，杜绝按钮黏在字段上。 */
body.app-body .page .table-actions,
body.app-body .page .row-actions,
body.app-body .page .nf-card-actions{
  gap:8px!important;align-items:center!important
}
body.app-body .page td>.btn + .btn,
body.app-body .page td>form + form,
body.app-body .page td>details + details{margin-left:6px!important}
body.app-body .page td>form[style*="display:inline"]{display:inline-flex!important;vertical-align:middle;margin:2px 4px 2px 0!important}
body.app-body .page td>details{vertical-align:middle;margin:2px 4px 2px 0!important}

/* 高风险/关键业务页：让标题、状态、筛选、表格、下一步动作形成同一节奏。 */
body.app-body.raw-route-commercial_center,
body.app-body.raw-route-commercial_products,
body.app-body.raw-route-finance,
body.app-body.raw-route-talent_center,
body.app-body.raw-route-service_governance_v201,
body.app-body.raw-route-equipment_rental,
body.app-body.raw-route-insurance_service_center_v2,
body.app-body.raw-route-customers_view,
body.app-body.raw-route-catalog,
body.app-body.raw-route-enterprise_project_operations{
  background:var(--nf-dp-bg)!important
}

/* 商业交易中心：复杂财务区块重点突出“钱、状态、下一步”，避免像数据库表。 */
body.app-body.raw-route-commercial_center .panel,
body.app-body.raw-route-commercial_products .panel{margin-bottom:14px!important}
body.app-body.raw-route-commercial_center .caption,
body.app-body.raw-route-commercial_products .caption{color:#87949f!important;font-size:12px!important;line-height:1.55!important}
body.app-body.raw-route-commercial_center .nf-commercial-ledger{overflow:hidden!important}
body.app-body.raw-route-commercial_center .nf-readonly-model>div{min-height:72px;display:flex;flex-direction:column;justify-content:center}
body.app-body.raw-route-commercial_products .commercial-product-cell{align-items:center!important;gap:12px!important}
body.app-body.raw-route-commercial_products .commercial-product-thumb{width:56px!important;height:56px!important;border-radius:12px!important;object-fit:cover!important}
body.app-body.raw-route-commercial_products .section-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;padding:0 0 14px!important;margin:0 0 14px!important;border-bottom:1px solid var(--nf-dp-line-soft)!important}

/* 财务中心：金额信息必须一眼可扫，表格与筛选保持紧凑。 */
body.app-body.raw-route-finance .metrics{margin-bottom:14px!important}
body.app-body.raw-route-finance .panel>p b{font-variant-numeric:tabular-nums}
body.app-body.raw-route-finance table td:nth-child(n+3){font-variant-numeric:tabular-nums}

/* 人才中心：旧面板统一视觉，不改变既有任务/顾问逻辑。 */
body.app-body.raw-route-talent_center .talent-task-grid{gap:12px!important}
body.app-body.raw-route-talent_center .talent-task-card{border-radius:14px!important;min-height:126px!important;padding:16px!important}
body.app-body.raw-route-talent_center .talent-task-name{font-size:15px!important;font-weight:900!important;color:#2a3d4b!important}
body.app-body.raw-route-talent_center .talent-task-desc{font-size:12.5px!important;line-height:1.6!important;color:#7f8d99!important}
body.app-body.raw-route-talent_center .talent-task-count{font-size:24px!important;line-height:1!important}
body.app-body.raw-route-talent_center .talent-dashboard-panel,
body.app-body.raw-route-talent_center .talent-quick-panel{border-radius:var(--nf-dp-radius)!important;overflow:hidden!important}

/* 服务信用/风控：长证据、处理动作、状态结果不挤在一行。 */
body.app-body.raw-route-service_governance_v201 .toolbar{gap:8px!important;padding:8px!important;border-radius:10px!important}
body.app-body.raw-route-service_governance_v201 td .toolbar{align-items:center!important;background:#fafbfc!important}
body.app-body.raw-route-service_governance_v201 td .toolbar input{min-width:150px!important}
body.app-body.raw-route-service_governance_v201 .form-shell{border:1px solid var(--nf-dp-line)!important;border-radius:13px!important;background:#fafbfc!important;padding:15px!important}

/* 租赁中心：动作列和凭证类内容统一，避免一列塞十几个按钮。 */
body.app-body.raw-route-equipment_rental .tabs{margin-bottom:14px!important;background:#fff!important;border:1px solid var(--nf-dp-line)!important;border-radius:12px!important;padding:6px 10px!important;overflow-x:auto!important}
body.app-body.raw-route-equipment_rental .tabs .tab{white-space:nowrap!important}
body.app-body.raw-route-equipment_rental td:last-child{min-width:150px}
body.app-body.raw-route-equipment_rental .rental-media-grid{gap:10px!important}
body.app-body.raw-route-equipment_rental .rental-media-item{border-radius:12px!important;border-color:var(--nf-dp-line)!important;overflow:hidden!important}

/* 保险理赔：流程长页面强化阶段识别，但不扩大橙色面积。 */
body.app-body.raw-route-insurance_service_center_v2 .insurance-action-stack{display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:center!important}
body.app-body.raw-route-insurance_service_center_v2 .panel{margin-bottom:14px!important}
body.app-body.raw-route-insurance_service_center_v2 .sticky-action-col .btn{white-space:nowrap!important}

/* 客户360/目录：深层事实卡与账号主档保持母版一致。 */
body.app-body.raw-route-customers_view .panel>h2:first-child,
body.app-body.raw-route-customers_view .panel>h3:first-child{background:linear-gradient(90deg,#fbf7f4 0%,#fff 58%)!important}
body.app-body.raw-route-catalog .chip-checks{gap:8px!important}
body.app-body.raw-route-catalog .chip-checks label{min-height:36px!important}

/* 企业项目经营深页：左右并列卡片等高，操作和表格保持明确边界。 */
body.app-body.raw-route-enterprise_project_operations .grid>.panel{height:100%}
body.app-body.raw-route-enterprise_project_operations .panel-head + .table-wrap{margin-top:0!important}
body.app-body.raw-route-enterprise_project_operations .panel .table-actions{justify-content:flex-end!important}

/* 小屏后台也应可办理，不因按钮和表格失控。 */
@media(max-width:980px){
  body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h2:first-child,
  body.app-body:not(.raw-route-dashboard):not(.raw-route-data_panorama):not(.raw-route-order_view) .page .panel>h3:first-child{
    margin:-14px -14px 14px!important;padding:13px 14px 12px!important;min-height:48px
  }
  body.app-body.raw-route-equipment_rental .tabs{padding:5px 7px!important}
  body.app-body.raw-route-commercial_products .section-head{flex-direction:column!important}
  body.app-body.raw-route-service_governance_v201 td .toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  body.app-body.raw-route-service_governance_v201 td .toolbar .btn{width:100%!important}
}

/* ===== 正式商用母版收口：所有浮层/弹出框内表格统一 =====
   历史页面既有 .popover-panel，也有经统一浮层脚本转换后的 .nf-modal-floating；
   最终层同时覆盖两类容器，避免“外框已母版化、表格仍是旧样式”。 */
body.app-body .nf-modal-floating .table-wrap,
body.app-body .popover-panel .table-wrap{
  margin:14px 0!important;
  border:1px solid var(--nf-dp-line,#e4e9ed)!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:auto!important;
  box-shadow:none!important;
}
body.app-body .nf-modal-floating .table-wrap>table,
body.app-body .popover-panel .table-wrap>table,
body.app-body .nf-modal-floating table.nf-business-table,
body.app-body .popover-panel table.nf-business-table{
  width:100%!important;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  table-layout:auto!important;
}
body.app-body .nf-modal-floating .table-wrap>table thead th,
body.app-body .popover-panel .table-wrap>table thead th,
body.app-body .nf-modal-floating table.nf-business-table thead th,
body.app-body .popover-panel table.nf-business-table thead th{
  padding:11px 12px!important;
  background:#f6f8fa!important;
  color:#5f6f7b!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:800!important;
  white-space:nowrap!important;
  border:0!important;
  border-bottom:1px solid var(--nf-dp-line,#e4e9ed)!important;
  text-align:left!important;
}
body.app-body .nf-modal-floating .table-wrap>table tbody td,
body.app-body .popover-panel .table-wrap>table tbody td,
body.app-body .nf-modal-floating table.nf-business-table tbody td,
body.app-body .popover-panel table.nf-business-table tbody td{
  padding:12px!important;
  color:#314653!important;
  font-size:13px!important;
  line-height:1.55!important;
  vertical-align:middle!important;
  border:0!important;
  border-bottom:1px solid #eef1f3!important;
  background:#fff!important;
}
body.app-body .nf-modal-floating .table-wrap>table tbody tr:last-child td,
body.app-body .popover-panel .table-wrap>table tbody tr:last-child td{border-bottom:0!important}
body.app-body .nf-modal-floating .table-wrap>table tbody tr:hover td,
body.app-body .popover-panel .table-wrap>table tbody tr:hover td{background:#fbfcfd!important}
body.app-body .nf-modal-floating .panel,
body.app-body .popover-panel .panel{
  border-color:var(--nf-dp-line,#e4e9ed)!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
body.app-body .nf-modal-floating .toolbar,
body.app-body .popover-panel .toolbar{gap:8px!important;align-items:flex-end!important}
body.app-body .nf-modal-floating .btn,
body.app-body .popover-panel .btn{min-height:36px!important}
@media(max-width:760px){
  body.app-body .nf-modal-floating .table-wrap,
  body.app-body .popover-panel .table-wrap{max-width:100%!important}
  body.app-body .nf-modal-floating .table-wrap>table,
  body.app-body .popover-panel .table-wrap>table{min-width:680px!important}
}
