:root {
  --qihang-blue: #0f69bd;
  --qihang-blue-strong: #0a579f;
  --qihang-navy: #032d52;
  --qihang-navy-soft: #075f9f;
  --qihang-canvas: #f3f7fb;
  --qihang-line: #dce6ef;
  --qihang-text: #172235;
  --qihang-muted: #68788d;
  --qihang-font: "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;
}

body[class*="qihang-"] {
  color: var(--qihang-text);
  font-family: var(--qihang-font) !important;
  -webkit-font-smoothing: antialiased;
}

body[class*="qihang-"] button,
body[class*="qihang-"] input,
body[class*="qihang-"] select,
body[class*="qihang-"] textarea {
  font-family: inherit !important;
}

/* 项目管理版：保持原项目、知识库、AI 与权限功能，只统一品牌色。 */
.qihang-project {
  --blue: #0f69bd;
  --blue2: #1478ce;
  --blue3: #4a98dd;
  --blue-soft: #edf5fc;
  --blue-line: #cfe1f1;
  --ink: #172235;
  --ink2: #35465b;
  --muted: #617188;
  --bg: #f3f7fb;
  --sidebar: #032d52;
  --sidebar2: #021f39;
}

.qihang-project .wxbar {
  background: linear-gradient(90deg, #0b4e89, #0f69bd) !important;
}

.qihang-project .side,
.qihang-project .lgside {
  background: linear-gradient(180deg, #032d52 0%, #064d82 70%, #096bb7 100%) !important;
}

.qihang-project .brand .mark,
.qihang-project .lgside .mk {
  background: linear-gradient(145deg, #50a4e7, #0f69bd) !important;
}

.qihang-project .brand b {
  font-size: 12.5px !important;
  white-space: nowrap;
}

.qihang-project .nav a.on {
  background: linear-gradient(90deg, #1478ce, #1782db) !important;
  box-shadow: 0 4px 12px rgba(0, 34, 73, 0.2) !important;
}

.qihang-project .top {
  height: 56px !important;
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.08);
}

.qihang-project .view {
  background: radial-gradient(circle at 100% 0, rgba(15, 105, 189, 0.05), transparent 28rem), #f3f7fb;
}

.qihang-project .card,
.qihang-project .kpibar {
  border-color: var(--qihang-line) !important;
  border-radius: 7px !important;
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.06) !important;
}

/* 项目管理版审批演示：原生表单与内存数据，不引入额外依赖。 */
.qihang-project .ap-table-wrap { overflow-x: auto; }
.qihang-project .ap-table-wrap table { min-width: 1120px; }
.qihang-project .ap-table-wrap td b,
.qihang-project .ap-table-wrap td small { display: block; }
.qihang-project .ap-table-wrap td small { margin-top: 3px; color: var(--muted); }
.qihang-project .ap-link { padding: 0; border: 0; background: transparent; color: var(--blue); font: inherit; font-weight: 650; cursor: pointer; }
.qihang-project .ap-link:hover { text-decoration: underline; }
.qihang-project .ap-money { color: var(--ink); font-weight: 700; white-space: nowrap; }
.qihang-project .ap-actions { display: flex; gap: 6px; }
.qihang-project .ap-total-kpi { font-size: 22px; }
.qihang-project .ap-modal[hidden] { display: none; }
.qihang-project .ap-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; background: rgba(5, 28, 48, .48); }
.qihang-project .ap-dialog { width: min(820px, 100%); max-height: calc(100vh - 40px); overflow: auto; border-radius: 12px; background: #fff; box-shadow: 0 24px 70px rgba(0, 25, 50, .28); }
.qihang-project .ap-dialog-head { display: flex; align-items: flex-start; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.qihang-project .ap-dialog-head h2 { margin: 0; font-size: 18px; }
.qihang-project .ap-dialog-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.qihang-project .ap-close { margin-left: auto; border: 0; background: transparent; color: var(--muted); font-size: 26px; line-height: 1; cursor: pointer; }
.qihang-project .ap-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 17px 20px; }
.qihang-project .ap-form-grid label,
.qihang-project .ap-line label { display: grid; gap: 5px; color: var(--muted); font-size: 11.5px; }
.qihang-project .ap-form-grid input,
.qihang-project .ap-form-grid select,
.qihang-project .ap-form-grid textarea,
.qihang-project .ap-line input { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; background: #fff; color: var(--ink); font: inherit; }
.qihang-project .ap-form-grid textarea { resize: vertical; }
.qihang-project .ap-form-grid input[readonly] { background: #f3f6f9; color: var(--muted); }
.qihang-project .ap-form-grid input:focus,
.qihang-project .ap-form-grid select:focus,
.qihang-project .ap-form-grid textarea:focus,
.qihang-project .ap-line input:focus { outline: 0; border-color: var(--blue-line); box-shadow: 0 0 0 3px rgba(20, 120, 212, .1); }
.qihang-project .ap-span { grid-column: 1 / -1; }
.qihang-project .ap-upload { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 7px 10px; border: 1px dashed var(--blue-line); border-radius: 7px; background: var(--blue-soft); cursor: pointer; }
.qihang-project .ap-upload input { position: absolute; width: 1px; height: 1px; padding: 0; opacity: 0; pointer-events: none; }
.qihang-project .ap-upload span { padding: 5px 10px; border-radius: 6px; background: var(--blue); color: #fff; font-weight: 650; }
.qihang-project .ap-upload small { color: var(--muted); }
.qihang-project .ap-file-list { display: flex; flex-wrap: wrap; gap: 6px; min-height: 20px; color: var(--muted); }
.qihang-project .ap-file-list span,
.qihang-project .ap-attachments i { display: inline-flex; gap: 5px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 5px; background: #f8fbfe; color: var(--ink2); font-size: 11.5px; font-style: normal; }
.qihang-project .ap-file-list small,
.qihang-project .ap-attachments small { color: var(--muted); font-weight: 400; }
.qihang-project .ap-attachments { display: flex; flex-wrap: wrap; gap: 6px; }
.qihang-project .ap-detail-head { display: flex; align-items: center; padding: 12px 20px; border-top: 1px solid var(--line2); border-bottom: 1px solid var(--line2); background: #f8fbfe; }
.qihang-project .ap-detail-head .btn { margin-left: auto; }
.qihang-project .ap-line { display: grid; grid-template-columns: minmax(180px, 2fr) 90px 130px 110px 48px; gap: 10px; align-items: end; padding: 12px 20px; border-bottom: 1px solid var(--line2); }
.qihang-project .ap-line output { padding-bottom: 8px; color: var(--ink); font-weight: 700; text-align: right; white-space: nowrap; }
.qihang-project .ap-remove { min-height: 34px; border: 0; background: transparent; color: var(--red); cursor: pointer; }
.qihang-project .ap-summary { display: flex; align-items: center; gap: 5px; padding: 12px 20px; color: var(--muted); }
.qihang-project .ap-summary strong { margin-left: auto; color: var(--ink); font-size: 15px; }
.qihang-project .ap-dialog-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 20px; border-top: 1px solid var(--line); background: #fafcfe; }
.qihang-project .ap-detail-info { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 10px 20px; }
.qihang-project .ap-detail-info > div { display: grid; gap: 4px; padding: 10px 0; border-bottom: 1px solid var(--line2); }
.qihang-project .ap-detail-info > div:nth-child(odd) { padding-right: 18px; }
.qihang-project .ap-detail-info span { color: var(--muted); font-size: 11.5px; }
.qihang-project .ap-detail-info b { color: var(--ink); font-size: 13px; }
.qihang-project .ap-detail-info .ap-detail-wide { grid-column: 1 / -1; padding-right: 0; }
.qihang-project .ap-detail-info .tag { width: max-content; }
.qihang-project .ap-detail-table { margin: 4px 20px 18px; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
.qihang-project .ap-detail-table table { min-width: 560px; }
.qihang-project .ap-detail-table tfoot td { background: #f7fafd; font-weight: 700; text-align: right; }
.qihang-project .ap-detail-total { color: var(--blue) !important; font-size: 16px !important; }
.qihang-project .ap-detail-decision { display: flex; align-items: center; gap: 8px; padding: 13px 20px; border-top: 1px solid var(--line); background: #f8fbfe; }
.qihang-project .ap-detail-decision span { margin-right: auto; color: var(--muted); font-size: 11.5px; }
body.ap-modal-open { overflow: hidden; }

@media (max-width: 700px) {
  .qihang-project .ap-form-grid { grid-template-columns: 1fr; }
  .qihang-project .ap-span { grid-column: auto; }
  .qihang-project .ap-line { grid-template-columns: 1fr 1fr; }
  .qihang-project .ap-line label:first-child { grid-column: 1 / -1; }
  .qihang-project .ap-line output { text-align: left; }
  .qihang-project .ap-detail-info { grid-template-columns: 1fr; }
  .qihang-project .ap-detail-info .ap-detail-wide { grid-column: auto; }
  .qihang-project .ap-detail-info > div:nth-child(odd) { padding-right: 0; }
}

/* 订单协同版：把原浅色表格侧栏改为企航罗盘深蓝系统壳。 */
.qihang-orders {
  --wx: #0f69bd;
  --wxd: #0a579f;
  --bg: #f3f7fb;
  --card: #ffffff;
  --t1: #172235;
  --t2: #617188;
  --t3: #8a97a8;
  --line: #dde6ef;
}

.qihang-orders .hd {
  height: 56px !important;
  padding: 0 16px !important;
  border-color: #e4ebf2 !important;
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.08);
}

.qihang-orders .logo {
  min-width: 250px;
  border-right-color: #dfe7ef !important;
  color: #17324f;
  font-weight: 750 !important;
}

.qihang-orders .logo i,
.qihang-orders .roleSw .av {
  background: linear-gradient(145deg, #48a0e7, #0f69bd) !important;
}

.qihang-orders .logo > span,
.qihang-orders .logo small {
  display: block;
  line-height: 1.25;
}

.qihang-orders .logo small {
  margin: 2px 0 0 !important;
}

.qihang-orders .wrap {
  height: calc(100vh - 56px) !important;
}

.qihang-orders .nav {
  width: 220px !important;
  flex: 0 0 220px !important;
  padding: 12px 8px 18px !important;
  color: #d7e7f4 !important;
  background: linear-gradient(180deg, #032d52 0%, #07548d 70%, #0a6bb8 100%) !important;
  border-right: 0 !important;
}

.qihang-orders .nav .ngrp {
  color: #86a9c4 !important;
  letter-spacing: 0.08em;
}

.qihang-orders .nav .ni {
  margin: 1px 0 !important;
  border-radius: 6px !important;
  color: #d6e7f4 !important;
}

.qihang-orders .nav .ni:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.qihang-orders .nav .ni.on {
  color: #fff !important;
  background: linear-gradient(90deg, #1478ce, #1782db) !important;
  box-shadow: 0 4px 12px rgba(0, 35, 75, 0.18);
}

.qihang-orders .nav .ni.on::before {
  background: #8bc8fa !important;
}

.qihang-orders .nav .ngrp,
.qihang-orders .nav .lb2,
.qihang-orders .nav .cc {
  color: #9fbcd2;
}

.qihang-orders .main {
  background: radial-gradient(circle at 100% 0, rgba(15, 105, 189, 0.05), transparent 28rem), #f3f7fb !important;
}

.qihang-orders .dsPage {
  padding: 14px 16px 24px !important;
}

.qihang-orders .dsHero,
.qihang-orders .dsC,
.qihang-orders .mb {
  border-color: #dce6ef !important;
  border-radius: 7px !important;
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.06) !important;
}

/* 工程材料版：保留 Element Plus 页面，只替换设计令牌与侧栏。 */
.qihang-materials {
  --el-color-primary: #0f69bd !important;
  --el-color-primary-light-3: #4a91cf !important;
  --el-color-primary-light-5: #79add8 !important;
  --el-color-primary-light-7: #bad5eb !important;
  --el-color-primary-light-8: #d8e8f5 !important;
  --el-color-primary-light-9: #edf5fc !important;
  --el-bg-color-page: #f3f7fb !important;
  --el-border-color-light: #dfe7ef !important;
  --el-border-radius-base: 6px !important;
}

.qihang-materials .sidebar-container {
  background: linear-gradient(180deg, #032d52 0%, #064f85 70%, #0a6bb8 100%) !important;
}

.qihang-materials .layout-logo-container,
.qihang-materials .sidebar-container .el-menu {
  background: transparent !important;
}

.qihang-materials .layout-logo-container {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.qihang-materials .layout-logo-text .mark {
  background: linear-gradient(145deg, #4ca2e6, #0f69bd) !important;
}

.qihang-materials .sidebar-container .el-menu-item,
.qihang-materials .sidebar-container .el-sub-menu__title {
  color: #d7e7f4 !important;
}

.qihang-materials .sidebar-container .el-menu-item:hover,
.qihang-materials .sidebar-container .el-sub-menu__title:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.qihang-materials .sidebar-container .el-menu-item.is-active {
  color: #fff !important;
  background: linear-gradient(90deg, #1478ce, #1782db) !important;
}

.qihang-materials .navbar,
.qihang-materials .tags-view-container {
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.08) !important;
}

.qihang-materials .app-main {
  background: radial-gradient(circle at 100% 0, rgba(15, 105, 189, 0.05), transparent 28rem), #f3f7fb !important;
}

.qihang-materials .el-card {
  border-color: #dfe7ef !important;
  border-radius: 7px !important;
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.06) !important;
}

/* 物流版：原业务系统已接近目标，只统一名称、主色和圆角密度。 */
.qihang-logistics {
  --primary-color: 15, 105, 189 !important;
  --inverted-bg-color: 3, 45, 82 !important;
  --layout-bg-color: 243, 247, 251 !important;
  --container-bg-color: 255, 255, 255 !important;
  --base-text-color: 23, 34, 53 !important;
}

.qihang-logistics aside [class*="bg-inverted"] {
  background: linear-gradient(180deg, #032d52 0%, #07548d 70%, #0a6bb8 100%) !important;
}

.qihang-logistics aside h2 {
  color: #fff !important;
  font-size: 15px !important;
}

.qihang-logistics .n-menu-item-content--selected,
.qihang-logistics .n-menu-item-content:hover {
  border-radius: 6px !important;
}

.qihang-logistics .n-card,
.qihang-logistics .fnode {
  border-radius: 7px !important;
  box-shadow: 0 1px 2px rgba(0, 21, 41, 0.06) !important;
}

.qihang-logistics [class*="bg-layout"] {
  background-color: #f3f7fb !important;
}

@media (max-width: 760px) {
  .qihang-orders .logo {
    min-width: 0;
  }
}
