
/* ===== app-ui-final-v3-10-lts6-p7-4.css ===== */
/* =========================================================
   v3.10-LTS6-P9.3 App UI Final
   合并 P2 UI / P3 Layout / P3.1 Hotfix，减少上线补丁层冲突。
   注意：旧 style-12/13/14 文件保留作历史追溯，但 index.html 不再加载。
   ========================================================= */


/* ===== merged from style-12-p2-ui.css ===== */

/* =========================================================
   v3.10-LTS6-P9.3 UI优化版
   目标：不改数据库/权限/保存逻辑，只重构视觉层级、录入体验和表格可读性。
   ========================================================= */
:root{
  --p2-bg:#eef5fb;
  --p2-card:#ffffff;
  --p2-card-soft:#f8fbff;
  --p2-line:#dbe7f3;
  --p2-line-strong:#bfd5ec;
  --p2-text:#0f172a;
  --p2-muted:#64748b;
  --p2-primary:#0ea5a4;
  --p2-primary-strong:#0f766e;
  --p2-blue:#2563eb;
  --p2-danger:#ef4444;
  --p2-shadow:0 14px 36px rgba(15,23,42,.08);
  --p2-radius:18px;
  --sidebar-open-width:236px;
  --sidebar-collapsed-width:72px;
  --sidebar-gap:18px;
}

body.p2-ui{
  background:linear-gradient(135deg,#eef8fb 0%,#f7fbff 52%,#eff6ff 100%)!important;
  color:var(--p2-text)!important;
  font-size:14px!important;
}
body.p2-ui .wrap{
  padding:18px 18px 26px!important;
}
body.p2-ui .card{
  border:1px solid var(--p2-line)!important;
  border-radius:var(--p2-radius)!important;
  padding:18px!important;
  margin-bottom:16px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:var(--p2-shadow)!important;
}
body.p2-ui h1{
  font-size:25px!important;
  letter-spacing:-.03em!important;
  margin:8px 0 14px!important;
}
body.p2-ui h2{
  font-size:20px!important;
  letter-spacing:-.02em!important;
  margin:0 0 4px!important;
}
body.p2-ui .hint{
  color:#64748b!important;
  font-size:12px!important;
}

/* 顶部账号条 */
body.p2-ui #userBox{
  border-radius:20px!important;
  border:1px solid rgba(191,219,254,.9)!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  padding:12px 14px!important;
}
body.p2-ui #userBox b{font-weight:900!important;color:#0f172a!important;}
body.p2-ui .save-status{
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
}

/* 侧边栏更窄、更轻，不再抢主体空间 */
body.p2-ui .sidebar-nav{
  width:var(--sidebar-open-width)!important;
  min-width:var(--sidebar-open-width)!important;
  border-radius:22px!important;
  padding:14px!important;
  background:linear-gradient(180deg,#0f172a 0%,#111827 65%,#0b1220 100%)!important;
  box-shadow:0 20px 45px rgba(15,23,42,.18)!important;
}
body.p2-ui .nav-title{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
  font-size:15px!important;
  border-radius:14px!important;
  background:rgba(30,41,59,.9)!important;
  border:1px solid rgba(148,163,184,.24)!important;
  padding:10px 12px!important;
}
body.p2-ui .nav-page-link{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:44px!important;
  border-radius:14px!important;
  padding:10px 13px!important;
  font-size:15px!important;
  font-weight:900!important;
  color:#dbeafe!important;
  text-decoration:none!important;
  transition:background .12s ease, transform .12s ease, color .12s ease!important;
}
body.p2-ui .nav-page-link.active{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(37,99,235,.25)!important;
}
body.p2-ui .nav-page-link:hover{
  transform:translateX(2px)!important;
  background:rgba(37,99,235,.18)!important;
}

/* 主体顶部标题区 */
body.p2-ui .main-content-flex > h1{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:38px!important;
}
body.p2-ui #v3AlphaBadge{
  background:#dcfce7!important;
  color:#047857!important;
  border:1px solid #bbf7d0!important;
  font-size:12px!important;
  padding:5px 10px!important;
}

/* KPI 卡片：更像管理看板 */
body.p2-ui .summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(150px,1fr))!important;
  gap:12px!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}
body.p2-ui .summary .box{
  position:relative!important;
  overflow:hidden!important;
  min-height:82px!important;
  border-radius:18px!important;
  padding:15px 16px!important;
  background:linear-gradient(135deg,#ecfeff,#f7fffd)!important;
  border:1px solid rgba(45,212,191,.35)!important;
  box-shadow:0 10px 26px rgba(15,118,110,.07)!important;
  font-size:12px!important;
  color:#334155!important;
}
body.p2-ui .summary .box::after{
  content:"";
  position:absolute;right:-26px;top:-26px;
  width:82px;height:82px;border-radius:999px;
  background:rgba(14,165,164,.08);
}
body.p2-ui .summary .box b{
  display:block!important;
  margin:5px 0 2px!important;
  font-size:26px!important;
  line-height:1!important;
  color:#0f766e!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}

/* 页面工具条 */
body.p2-ui .p2-action-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:12px;
  margin:14px 0 14px;
  border:1px solid #bfdbfe;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff,#eff6ff);
}
body.p2-ui .p2-action-title{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-weight:950;color:#0f172a;
}
body.p2-ui .p2-action-title span{
  color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;
  padding:4px 9px;font-size:12px;font-weight:900;
}
body.p2-ui .p2-action-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
body.p2-ui .p2-action-buttons button,
body.p2-ui .tools button,
body.p2-ui button{
  border-radius:12px!important;
  min-height:34px!important;
  padding:8px 12px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
body.p2-ui button:not(.gray):not(.red):not(.small):not(.batch-danger){
  background:linear-gradient(135deg,#14b8a6,#0ea5a4)!important;
}
body.p2-ui button.gray{
  background:#64748b!important;
  color:#fff!important;
}
body.p2-ui button.red,
body.p2-ui button.batch-danger{
  background:#ef4444!important;
  color:#fff!important;
}
body.p2-ui button.p2-light-btn{
  background:#eef6ff!important;
  color:#1e3a8a!important;
  border:1px solid #bfdbfe!important;
}
body.p2-ui button.p2-outline-btn{
  background:#fff!important;
  color:#0f766e!important;
  border:1px solid #99f6e4!important;
}

/* 标题区：主次按钮分层，不再堆成一排 */
body.p2-ui .section-title{
  align-items:flex-start!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #e2e8f0!important;
}
body.p2-ui .section-title > .tools{
  max-width:760px!important;
  justify-content:flex-end!important;
  gap:7px!important;
}
body.p2-ui .section-title > .tools button{
  min-height:32px!important;
  padding:7px 10px!important;
}
body.p2-ui .p2-advanced-tools:not(.p2-expanded) button:nth-of-type(n+5){
  display:none!important;
}
body.p2-ui .p2-tools-more{
  background:#eef6ff!important;
  color:#1e40af!important;
  border:1px solid #bfdbfe!important;
}

/* 录入面板：两行分组、字段更清晰 */
body.p2-ui .quick-panel,
body.p2-ui .filter-panel,
body.p2-ui .audit-filter-panel{
  border:1px solid #bae6fd!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#f0fdfa,#f8fbff)!important;
  padding:16px!important;
  margin-top:14px!important;
  box-shadow:0 8px 24px rgba(14,165,164,.06)!important;
}
body.p2-ui .pill-title{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 12px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 10px 22px rgba(15,23,42,.14)!important;
}
body.p2-ui #quickRechargePanel .quick-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(150px,1fr))!important;
  gap:12px!important;
}
body.p2-ui #quickRechargePanel .quick-field:first-child,
body.p2-ui #quickRechargePanel .quick-field:nth-child(2),
body.p2-ui #quickRechargePanel .quick-field:nth-child(3){
  min-width:0!important;
}
body.p2-ui .quick-field,
body.p2-ui .filter-field,
body.p2-ui .audit-field{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
}
body.p2-ui .quick-field label,
body.p2-ui .filter-field label,
body.p2-ui .audit-field label{
  font-size:12px!important;
  font-weight:950!important;
  color:#334155!important;
  text-align:left!important;
}
body.p2-ui input,
body.p2-ui select{
  min-height:36px!important;
  border-radius:11px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  color:#0f172a!important;
  text-align:left!important;
  padding:8px 10px!important;
  font-size:13px!important;
  transition:border-color .12s ease, box-shadow .12s ease, background .12s ease!important;
}
body.p2-ui select{text-align:center!important;}
body.p2-ui input:focus,
body.p2-ui select:focus{
  outline:none!important;
  border-color:#38bdf8!important;
  box-shadow:0 0 0 3px rgba(56,189,248,.18)!important;
}
body.p2-ui #quickRechargePanel .tools,
body.p2-ui #quickAccountPanel .tools{
  padding-top:10px!important;
  border-top:1px dashed rgba(14,165,164,.25)!important;
}
body.p2-ui .p2-field-actions{
  display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:2px;
}
body.p2-ui .p2-chip-btn{
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#1e40af!important;
  border-radius:999px!important;
  min-height:26px!important;
  padding:4px 9px!important;
  font-size:11px!important;
}
body.p2-ui .p2-field-note{
  min-height:18px;
  color:#0f766e;
  font-size:11px;
  font-weight:800;
  text-align:left;
}

/* 筛选区更轻 */
body.p2-ui .filter-grid,
body.p2-ui .audit-grid,
body.p2-ui .quick-extra-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(130px,1fr))!important;
  gap:10px!important;
}
body.p2-ui .filter-panel:not(.p2-filter-open) .filter-grid,
body.p2-ui .filter-panel:not(.p2-filter-open) .tools{
  display:none!important;
}
body.p2-ui .filter-panel .pill-title{cursor:pointer!important;}

/* 批量操作栏更紧凑 */
body.p2-ui .batch-toolbar{
  border-radius:18px!important;
  padding:10px 12px!important;
  margin:12px 0!important;
  background:linear-gradient(135deg,#f8fbff,#eff6ff)!important;
  box-shadow:none!important;
}
body.p2-ui .batch-count{
  background:#ccfbf1!important;
  color:#0f766e!important;
}

/* 表格：默认“阅读感”，点击时才明显进入编辑态 */
body.p2-ui .scroll{
  border:1px solid var(--p2-line-strong)!important;
  border-radius:18px!important;
  overflow:auto!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
body.p2-ui #fundTable,
body.p2-ui #accountTable,
body.p2-ui #channelSummaryTable,
body.p2-ui #accountChannelSummaryTable,
body.p2-ui #accountOperatorSummaryTable{
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:13px!important;
}
body.p2-ui th,
body.p2-ui td{
  border-color:#e2e8f0!important;
  padding:6px 7px!important;
  min-width:104px!important;
  vertical-align:middle!important;
}
body.p2-ui th{
  background:#f8fafc!important;
  color:#0f172a!important;
  font-weight:950!important;
  height:44px!important;
  border-bottom:1px solid #cbd5e1!important;
}
body.p2-ui #fundTable tbody tr,
body.p2-ui #accountTable tbody tr{
  transition:background .1s ease!important;
}
body.p2-ui #fundTable tbody tr:hover,
body.p2-ui #accountTable tbody tr:hover{
  background:#f8fbff!important;
}
body.p2-ui #fundTable td,
body.p2-ui #accountTable td{
  background:#fff!important;
}
body.p2-ui #fundTable td input,
body.p2-ui #accountTable td input,
body.p2-ui #fundTable td select,
body.p2-ui #accountTable td select{
  min-height:30px!important;
  height:30px!important;
  border-color:transparent!important;
  background:transparent!important;
  border-radius:9px!important;
  padding:5px 8px!important;
  text-align:center!important;
  font-size:13px!important;
  box-shadow:none!important;
}
body.p2-ui #fundTable td:hover input,
body.p2-ui #accountTable td:hover input,
body.p2-ui #fundTable td:hover select,
body.p2-ui #accountTable td:hover select,
body.p2-ui #fundTable td input:focus,
body.p2-ui #accountTable td input:focus,
body.p2-ui #fundTable td select:focus,
body.p2-ui #accountTable td select:focus{
  border-color:#93c5fd!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(147,197,253,.18)!important;
}
body.p2-ui #fundTable input[readonly],
body.p2-ui #accountTable input[readonly]{
  background:#eef2f7!important;
  border-color:#dbe3ee!important;
  font-weight:950!important;
}
body.p2-ui .col-tools{
  display:none!important;
  gap:3px!important;
  margin-bottom:5px!important;
}
body.p2-ui th:hover .col-tools{display:flex!important;justify-content:center!important;}
body.p2-ui button.small{
  min-height:21px!important;
  height:21px!important;
  padding:2px 5px!important;
  border-radius:6px!important;
  font-size:10px!important;
}
body.p2-ui .col-name{
  white-space:nowrap!important;
  line-height:1.25!important;
}
body.p2-ui .serial-col{
  min-width:54px!important;
  width:54px!important;
  max-width:54px!important;
  background:#f8fafc!important;
}
body.p2-ui .serial-col input{
  background:#eef6ff!important;
  border:1px solid #bfdbfe!important;
  color:#1e3a8a!important;
  font-weight:950!important;
}

/* 简洁列模式：隐藏低频字段，保留按钮可恢复 */
body.p2-ui.p2-simple-cols #fundTable .p2-secondary-col{
  display:none!important;
}
body.p2-ui .p2-secondary-col th,
body.p2-ui .p2-secondary-col td{display:none!important;}
body.p2-ui .p2-column-hint{
  display:inline-flex;align-items:center;gap:6px;
  color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;
  padding:5px 9px;font-size:12px;font-weight:900;
}
body.p2-ui .p2-row-edit{
  margin-right:5px!important;
  background:#eef6ff!important;
  color:#1e40af!important;
  border:1px solid #bfdbfe!important;
  min-width:42px!important;
  width:auto!important;
  height:26px!important;
  padding:0 8px!important;
  border-radius:8px!important;
}
body.p2-ui #fundTable td:last-child,
body.p2-ui #accountTable td:last-child{
  min-width:92px!important;
  width:92px!important;
  max-width:92px!important;
}
body.p2-ui #fundTable td:last-child button.red,
body.p2-ui #accountTable td:last-child button.red{
  min-width:32px!important;
  width:32px!important;
  height:26px!important;
  border-radius:8px!important;
}

/* 彩色下拉状态：保留原功能，但稍微弱化色块冲击 */
body.p2-ui #fundTable select.colored-select,
body.p2-ui #accountTable select.colored-select{
  border:0!important;
  font-weight:950!important;
  color:var(--select-fg,#fff)!important;
  background:var(--select-bg,#0ea5e9)!important;
}

/* 编辑抽屉 */
body.p2-ui .p2-drawer-mask{
  position:fixed;inset:0;z-index:10000;
  background:rgba(15,23,42,.36);
  display:flex;justify-content:flex-end;align-items:stretch;
}
body.p2-ui .p2-drawer{
  width:min(560px,96vw);
  background:#fff;
  box-shadow:-20px 0 45px rgba(15,23,42,.22);
  padding:18px;
  overflow:auto;
  animation:p2DrawerIn .14s ease-out;
}
@keyframes p2DrawerIn{from{transform:translateX(16px);opacity:.5}to{transform:translateX(0);opacity:1}}
body.p2-ui .p2-drawer-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
  padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #e2e8f0;
}
body.p2-ui .p2-drawer-head h3{margin:0;font-size:20px;}
body.p2-ui .p2-drawer-form{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
body.p2-ui .p2-drawer-field{display:flex;flex-direction:column;gap:6px;}
body.p2-ui .p2-drawer-field label{font-size:12px;font-weight:950;color:#334155;}
body.p2-ui .p2-drawer-actions{
  position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;
  margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0;background:#fff;
}

/* 紧凑密度 */
body.p2-ui.p2-density-compact #fundTable td,
body.p2-ui.p2-density-compact #accountTable td{
  padding:4px 5px!important;
}
body.p2-ui.p2-density-compact #fundTable td input,
body.p2-ui.p2-density-compact #accountTable td input,
body.p2-ui.p2-density-compact #fundTable td select,
body.p2-ui.p2-density-compact #accountTable td select{
  height:27px!important;min-height:27px!important;font-size:12px!important;
}

@media (max-width:1280px){
  body.p2-ui .summary{grid-template-columns:repeat(3,minmax(150px,1fr))!important;}
  body.p2-ui #quickRechargePanel .quick-grid{grid-template-columns:repeat(3,minmax(150px,1fr))!important;}
  body.p2-ui .filter-grid,body.p2-ui .audit-grid,body.p2-ui .quick-extra-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important;}
}
@media (max-width:900px){
  :root{--sidebar-open-width:100%;--sidebar-gap:0;}
  body.p2-ui .sidebar-layout{display:block!important;}
  body.p2-ui .sidebar-nav{width:100%!important;min-width:0!important;position:relative!important;margin-bottom:14px!important;}
  body.p2-ui .main-content-flex{margin-left:0!important;width:100%!important;}
  body.p2-ui #userBox{margin-left:0!important;width:100%!important;}
  body.p2-ui .summary{grid-template-columns:1fr!important;}
  body.p2-ui #quickRechargePanel .quick-grid,
  body.p2-ui .filter-grid,
  body.p2-ui .audit-grid,
  body.p2-ui .quick-extra-grid,
  body.p2-ui .p2-drawer-form{grid-template-columns:1fr!important;}
}


/* =========================================================
   v3.10-LTS6-P9.3 导航收起布局修复
   原因：P2 样式在后加载，覆盖了旧版折叠导航的 width/font-size 规则，
   导致 body.nav-collapsed 时主体向左移动，但侧边栏仍按展开宽度显示，
   菜单文字被挤成竖排并压住页面。
   ========================================================= */
@media (min-width:901px){
  body.p2-ui.nav-collapsed .sidebar-nav{
    width:var(--sidebar-collapsed-width,72px)!important;
    min-width:var(--sidebar-collapsed-width,72px)!important;
    max-width:var(--sidebar-collapsed-width,72px)!important;
    padding:12px 10px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.p2-ui.nav-collapsed .main-content-flex{
    margin-left:calc(var(--sidebar-collapsed-width,72px) + var(--sidebar-gap,18px))!important;
    width:calc(100vw - var(--sidebar-collapsed-width,72px) - var(--sidebar-gap,18px) - 36px)!important;
    box-sizing:border-box!important;
  }
  body.p2-ui.nav-collapsed #userBox{
    margin-left:calc(var(--sidebar-collapsed-width,72px) + var(--sidebar-gap,18px))!important;
    width:calc(100vw - var(--sidebar-collapsed-width,72px) - var(--sidebar-gap,18px) - 36px)!important;
    box-sizing:border-box!important;
  }
  body.p2-ui.nav-collapsed .nav-collapse-btn{
    width:48px!important;
    min-width:48px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    margin:0 auto 14px!important;
    gap:0!important;
  }
  body.p2-ui.nav-collapsed .nav-collapse-text{
    display:none!important;
  }
  body.p2-ui.nav-collapsed .nav-collapse-icon{
    font-size:19px!important;
    transform:rotate(180deg)!important;
  }
  body.p2-ui.nav-collapsed .nav-title{
    width:48px!important;
    min-width:48px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    margin:0 auto 12px!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.p2-ui.nav-collapsed .nav-title span,
  body.p2-ui.nav-collapsed .nav-title .arrow{
    display:none!important;
  }
  body.p2-ui.nav-collapsed .nav-title::before{
    content:"📂";
    font-size:22px!important;
    line-height:1!important;
  }
  body.p2-ui.nav-collapsed .nav-page-link{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    margin:9px auto!important;
    justify-content:center!important;
    align-items:center!important;
    gap:0!important;
    font-size:0!important;
    line-height:1!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  body.p2-ui.nav-collapsed .nav-page-link:hover{
    transform:none!important;
  }
  body.p2-ui.nav-collapsed .nav-page-link .nav-label-text{
    display:none!important;
    width:0!important;
    max-width:0!important;
    overflow:hidden!important;
  }
  body.p2-ui.nav-collapsed .nav-page-link .nav-icon-only{
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
  }
  body.p2-ui.nav-collapsed .nav-page-link::after{
    content:attr(data-label);
    position:absolute!important;
    left:58px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    padding:8px 10px!important;
    border-radius:10px!important;
    background:#0f172a!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.24)!important;
    white-space:nowrap!important;
    font-size:13px!important;
    font-weight:900!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:9999!important;
  }
  body.p2-ui.nav-collapsed .nav-page-link:hover::after{
    opacity:1!important;
  }
}

/* 工具中心展开时改成轻量下拉，避免撑高顶部并遮住主页面。 */
@media (min-width:901px){
  body.p2-ui #v3CompactToolbar{
    position:relative!important;
  }
  body.p2-ui #v3CompactToolbar:not(.v3-collapsed) .v3-toolbar-groups{
    position:absolute!important;
    left:0!important;
    top:calc(100% + 8px)!important;
    width:min(1180px, calc(100vw - 140px))!important;
    max-height:310px!important;
    overflow:auto!important;
    padding:12px!important;
    border:1px solid #bfdbfe!important;
    border-radius:18px!important;
    background:rgba(248,251,255,.98)!important;
    box-shadow:0 20px 45px rgba(15,23,42,.16)!important;
    z-index:260!important;
    box-sizing:border-box!important;
  }
  body.p2-ui #v3CompactToolbar:not(.v3-collapsed) .v3-toolbar-group{
    min-width:180px!important;
  }
}


/* ===== merged from style-13-p3-layout.css ===== */

/* =========================================================
   v3.10-LTS6-P9.3 Layout System
   目标：统一左侧导航、顶部账号栏、工具中心、主体内容、表格区域的布局状态。
   只改前端布局和交互，不改 Supabase / RLS / 保存逻辑。
   ========================================================= */
:root{
  --p3-sidebar-open:240px;
  --p3-sidebar-collapsed:72px;
  --p3-page-gap:18px;
  --p3-page-pad:18px;
  --p3-radius:20px;
  --p3-border:#cfe0f5;
  --p3-bg:#f4f8fc;
  --p3-card:#ffffff;
  --p3-text:#0f172a;
  --p3-muted:#64748b;
  --p3-shadow:0 16px 36px rgba(15,23,42,.09);
  --p3-shadow-strong:0 22px 56px rgba(15,23,42,.16);
}

body.p3-layout{
  margin:0!important;
  background:linear-gradient(180deg,#f8fbff 0%,#edf4fb 100%)!important;
  overflow-x:hidden!important;
  color:var(--p3-text)!important;
}

body.p3-layout .wrap{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

body.p3-layout #loginBox{
  max-width:760px!important;
  margin:28px auto!important;
}

/* App Shell：用网格统一控制侧栏宽度，收起时只改列宽，不再靠 main margin-left。 */
@media (min-width:901px){
  body.p3-layout #appBox:not(.hidden){
    display:block!important;
    width:100%!important;
  }

  body.p3-layout .sidebar-layout{
    display:grid!important;
    grid-template-columns:var(--p3-sidebar-open) minmax(0,1fr)!important;
    gap:var(--p3-page-gap)!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:var(--p3-page-pad)!important;
    box-sizing:border-box!important;
  }

  body.p3-layout.nav-collapsed .sidebar-layout{
    grid-template-columns:var(--p3-sidebar-collapsed) minmax(0,1fr)!important;
  }

  body.p3-layout .sidebar-nav{
    position:sticky!important;
    top:var(--p3-page-pad)!important;
    left:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:calc(100vh - (var(--p3-page-pad) * 2))!important;
    max-height:calc(100vh - (var(--p3-page-pad) * 2))!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    box-sizing:border-box!important;
    z-index:90!important;
    padding:16px 14px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,#0f172a 0%,#111827 100%)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 20px 48px rgba(15,23,42,.22)!important;
  }

  body.p3-layout.nav-collapsed .sidebar-nav{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:12px 10px!important;
  }

  body.p3-layout .main-content-flex{
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  body.p3-layout #userBox{
    margin:0 0 16px 0!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    position:sticky!important;
    top:var(--p3-page-pad)!important;
    z-index:120!important;
  }
}

/* Topbar：用户信息和 v3 工具中心统一放在主内容第一层。 */
body.p3-layout #userBox.p3-topbar{
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--p3-border)!important;
  box-shadow:var(--p3-shadow)!important;
  padding:12px 14px!important;
  gap:9px!important;
  align-items:center!important;
  backdrop-filter:blur(12px)!important;
}
body.p3-layout #userBox.p3-topbar b{
  font-size:18px!important;
  letter-spacing:-.2px!important;
}
body.p3-layout #userBox.p3-topbar button,
body.p3-layout #userBox.p3-topbar .save-status,
body.p3-layout #userBox.p3-topbar .status{
  flex:0 0 auto!important;
}

/* 工具中心：默认作为下拉面板，不再撑高整个顶部。 */
body.p3-layout #v3CompactToolbar{
  position:relative!important;
  flex:0 0 auto!important;
  z-index:160!important;
}
body.p3-layout #v3CompactToolbar .v3-toolbar-toggle{
  height:32px!important;
}
@media (min-width:901px){
  body.p3-layout #v3CompactToolbar:not(.v3-collapsed) .v3-toolbar-groups{
    position:absolute!important;
    left:0!important;
    top:calc(100% + 10px)!important;
    width:min(980px, calc(100vw - var(--p3-sidebar-open) - 64px))!important;
    max-height:min(52vh,420px)!important;
    overflow:auto!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
    gap:10px!important;
    padding:14px!important;
    background:rgba(248,251,255,.98)!important;
    border:1px solid #bfdbfe!important;
    border-radius:18px!important;
    box-shadow:var(--p3-shadow-strong)!important;
    z-index:220!important;
    box-sizing:border-box!important;
  }
  body.p3-layout.nav-collapsed #v3CompactToolbar:not(.v3-collapsed) .v3-toolbar-groups{
    width:min(1060px, calc(100vw - var(--p3-sidebar-collapsed) - 64px))!important;
  }
}

/* 页面标题和概览卡片 */
body.p3-layout .main-content-flex > h1{
  margin:4px 0 16px!important;
  font-size:28px!important;
  line-height:1.18!important;
  letter-spacing:-.45px!important;
}
body.p3-layout .summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(170px,1fr))!important;
  gap:12px!important;
  margin:0 0 14px!important;
  overflow:visible!important;
}
body.p3-layout .summary .box{
  min-height:86px!important;
  border-radius:20px!important;
  padding:18px 20px!important;
  box-shadow:0 12px 28px rgba(13,148,136,.08)!important;
}
body.p3-layout .summary .box b{
  font-size:28px!important;
}

/* 主体卡片统一间距，避免工具栏、录入区、表格互相贴住。 */
body.p3-layout .card{
  box-sizing:border-box!important;
}
body.p3-layout .main-content-flex > .card{
  margin-bottom:14px!important;
  border-radius:22px!important;
}
body.p3-layout .section-title{
  gap:14px!important;
  align-items:flex-start!important;
}
body.p3-layout .section-title .tools{
  align-items:center!important;
}
body.p3-layout .p2-action-bar{
  position:sticky!important;
  top:82px!important;
  z-index:70!important;
  background:rgba(248,251,255,.96)!important;
  backdrop-filter:blur(10px)!important;
}

/* 左侧导航收起状态：只显示图标，文字不再被挤成竖排。 */
@media (min-width:901px){
  body.p3-layout .nav-collapse-btn{
    height:40px!important;
    border-radius:14px!important;
  }
  body.p3-layout.nav-collapsed .nav-collapse-btn{
    width:48px!important;
    min-width:48px!important;
    height:40px!important;
    padding:0!important;
    margin:0 auto 14px!important;
    gap:0!important;
  }
  body.p3-layout.nav-collapsed .nav-collapse-text{
    display:none!important;
  }
  body.p3-layout.nav-collapsed .nav-collapse-icon{
    transform:rotate(180deg)!important;
    font-size:19px!important;
  }
  body.p3-layout.nav-collapsed .nav-title{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    padding:0!important;
    margin:0 auto 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    font-size:0!important;
    border-radius:16px!important;
  }
  body.p3-layout.nav-collapsed .nav-title span,
  body.p3-layout.nav-collapsed .nav-title .arrow{
    display:none!important;
  }
  body.p3-layout.nav-collapsed .nav-title::before{
    content:"📂";
    font-size:22px!important;
    line-height:1!important;
  }
  body.p3-layout.nav-collapsed .nav-page-link{
    position:relative!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    padding:0!important;
    margin:9px auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    font-size:0!important;
    line-height:1!important;
    overflow:visible!important;
    transform:none!important;
    white-space:nowrap!important;
  }
  body.p3-layout.nav-collapsed .nav-page-link:hover{
    transform:none!important;
  }
  body.p3-layout.nav-collapsed .nav-page-link .nav-label-text{
    display:none!important;
    width:0!important;
    max-width:0!important;
    overflow:hidden!important;
  }
  body.p3-layout.nav-collapsed .nav-page-link .nav-icon-only{
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
  }
  body.p3-layout.nav-collapsed .nav-page-link::after{
    content:attr(data-label);
    position:absolute!important;
    left:58px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    padding:8px 10px!important;
    border-radius:10px!important;
    background:#0f172a!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.24)!important;
    white-space:nowrap!important;
    font-size:13px!important;
    font-weight:900!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:9999!important;
  }
  body.p3-layout.nav-collapsed .nav-page-link:hover::after{
    opacity:1!important;
  }
}

/* 表格区域：高度自适应 + 表头固定，横向滚动留在表格内部。 */
body.p3-layout .scroll{
  width:100%!important;
  max-width:100%!important;
  max-height:min(64vh,680px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}
body.p3-layout #fundTable,
body.p3-layout #accountTable,
body.p3-layout #channelSummaryTable,
body.p3-layout #accountChannelSummaryTable,
body.p3-layout #accountOperatorSummaryTable{
  min-width:max-content!important;
  width:100%!important;
}
body.p3-layout table thead th{
  position:sticky!important;
  top:0!important;
  z-index:8!important;
}
body.p3-layout #fundTable td input,
body.p3-layout #fundTable td select,
body.p3-layout #accountTable td input,
body.p3-layout #accountTable td select{
  max-width:100%!important;
}

/* 录入区在 P3 中更像表单，而不是一整条拥挤的 Excel 行。 */
body.p3-layout #quickRechargePanel .quick-grid{
  grid-template-columns:1.15fr 1fr 1fr 1fr .82fr!important;
  gap:12px!important;
}
body.p3-layout #quickRechargePanel .quick-field input,
body.p3-layout #quickRechargePanel .quick-field select,
body.p3-layout #quickAccountPanel .quick-field input,
body.p3-layout #quickAccountPanel .quick-field select{
  height:38px!important;
}
body.p3-layout .tools button,
body.p3-layout .p2-action-buttons button,
body.p3-layout #userBox button{
  white-space:nowrap!important;
}

/* 移动端/窄屏：侧栏变顶部导航，topbar 不 sticky，不遮挡。 */
@media (max-width:1280px){
  body.p3-layout .summary{
    grid-template-columns:repeat(3,minmax(170px,1fr))!important;
  }
  body.p3-layout #quickRechargePanel .quick-grid{
    grid-template-columns:repeat(3,minmax(150px,1fr))!important;
  }
}

@media (max-width:900px){
  body.p3-layout .wrap{
    padding:0!important;
  }
  body.p3-layout .sidebar-layout{
    display:block!important;
    width:100%!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }
  body.p3-layout .sidebar-nav{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    position:relative!important;
    top:auto!important;
    margin:0 0 12px!important;
    padding:12px!important;
    border-radius:20px!important;
  }
  body.p3-layout .nav-collapse-btn{
    display:none!important;
  }
  body.p3-layout .nav-title{
    margin-bottom:8px!important;
  }
  body.p3-layout .nav-items{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }
  body.p3-layout .nav-page-link{
    flex:0 0 auto!important;
    margin:0!important;
    min-width:120px!important;
    justify-content:center!important;
  }
  body.p3-layout .main-content-flex{
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  body.p3-layout #userBox{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    margin:0 0 12px!important;
    padding:12px!important;
  }
  body.p3-layout .main-content-flex > h1{
    font-size:24px!important;
  }
  body.p3-layout .summary,
  body.p3-layout #quickRechargePanel .quick-grid,
  body.p3-layout #quickAccountPanel .quick-grid,
  body.p3-layout .filter-grid,
  body.p3-layout .audit-grid,
  body.p3-layout .quick-extra-grid{
    grid-template-columns:1fr!important;
  }
  body.p3-layout .p2-action-bar{
    position:relative!important;
    top:auto!important;
  }
  body.p3-layout .scroll{
    max-height:58vh!important;
  }
}


/* ===== merged from style-14-p3-1-layout-hotfix.css ===== */

/* =========================================================
   v3.10-LTS6-P9.3 Layout Hotfix
   目标：彻底修复收起导航后主内容错位、顶部栏偏移、导航文字竖排。
   原因：旧版 style-04/style-06/style-07/P2.1 同时存在 fixed sidebar 和 margin-left 规则，
   P3 只靠 CSS 覆盖在个别环境/缓存下仍可能被旧规则影响。
   本文件作为最后加载的强制布局层，配合 p3LayoutHotfix.js 的 runtime inline 修正。
   ========================================================= */
:root{
  --p3-final-sidebar-open:240px;
  --p3-final-sidebar-collapsed:72px;
  --p3-final-gap:18px;
  --p3-final-pad:18px;
}

body.p3-layout,
body.p3-layout.p2-ui{
  margin:0!important;
  overflow-x:hidden!important;
}

body.p3-layout .wrap,
body.p3-layout.p2-ui .wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

@media (min-width:901px){
  body.p3-layout #appBox:not(.hidden),
  body.p3-layout.p2-ui #appBox:not(.hidden){
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.p3-layout #appBox:not(.hidden) > .sidebar-layout,
  body.p3-layout .sidebar-layout,
  body.p3-layout.p2-ui #appBox:not(.hidden) > .sidebar-layout,
  body.p3-layout.p2-ui .sidebar-layout{
    display:grid!important;
    grid-template-columns:var(--p3-final-sidebar-open) minmax(0,1fr)!important;
    gap:var(--p3-final-gap)!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:var(--p3-final-pad)!important;
    box-sizing:border-box!important;
  }

  body.p3-layout.nav-collapsed #appBox:not(.hidden) > .sidebar-layout,
  body.p3-layout.nav-collapsed .sidebar-layout,
  body.p3-layout.p2-ui.nav-collapsed #appBox:not(.hidden) > .sidebar-layout,
  body.p3-layout.p2-ui.nav-collapsed .sidebar-layout{
    grid-template-columns:var(--p3-final-sidebar-collapsed) minmax(0,1fr)!important;
  }

  body.p3-layout .sidebar-nav,
  body.p3-layout.p2-ui .sidebar-nav,
  body.p3-layout.nav-collapsed .sidebar-nav,
  body.p3-layout.p2-ui.nav-collapsed .sidebar-nav{
    grid-column:1!important;
    position:sticky!important;
    left:auto!important;
    right:auto!important;
    top:var(--p3-final-pad)!important;
    bottom:auto!important;
    float:none!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:calc(100vh - (var(--p3-final-pad) * 2))!important;
    max-height:calc(100vh - (var(--p3-final-pad) * 2))!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    z-index:90!important;
  }

  body.p3-layout.nav-collapsed .sidebar-nav,
  body.p3-layout.p2-ui.nav-collapsed .sidebar-nav{
    padding:12px 10px!important;
  }

  body.p3-layout .main-content-flex,
  body.p3-layout.p2-ui .main-content-flex,
  body.p3-layout.nav-collapsed .main-content-flex,
  body.p3-layout.p2-ui.nav-collapsed .main-content-flex{
    grid-column:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    float:none!important;
    transform:none!important;
    margin:0!important;
    margin-left:0!important;
    padding:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  body.p3-layout #userBox,
  body.p3-layout.p2-ui #userBox,
  body.p3-layout.nav-collapsed #userBox,
  body.p3-layout.p2-ui.nav-collapsed #userBox{
    position:sticky!important;
    top:var(--p3-final-pad)!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    margin:0 0 16px 0!important;
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    z-index:140!important;
  }

  body.p3-layout.nav-collapsed .nav-collapse-btn,
  body.p3-layout.p2-ui.nav-collapsed .nav-collapse-btn{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    margin:0 auto 14px!important;
    gap:0!important;
    overflow:hidden!important;
  }

  body.p3-layout.nav-collapsed .nav-collapse-text,
  body.p3-layout.p2-ui.nav-collapsed .nav-collapse-text,
  body.p3-layout.nav-collapsed .nav-label-text,
  body.p3-layout.p2-ui.nav-collapsed .nav-label-text{
    display:none!important;
    width:0!important;
    max-width:0!important;
    overflow:hidden!important;
  }

  body.p3-layout.nav-collapsed .nav-title,
  body.p3-layout.p2-ui.nav-collapsed .nav-title{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    margin:0 auto 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    font-size:0!important;
    line-height:1!important;
    border-radius:16px!important;
  }

  body.p3-layout.nav-collapsed .nav-title span,
  body.p3-layout.p2-ui.nav-collapsed .nav-title span,
  body.p3-layout.nav-collapsed .nav-title .arrow,
  body.p3-layout.p2-ui.nav-collapsed .nav-title .arrow{
    display:none!important;
  }

  body.p3-layout.nav-collapsed .nav-title::before,
  body.p3-layout.p2-ui.nav-collapsed .nav-title::before{
    content:"📂"!important;
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
  }

  body.p3-layout.nav-collapsed .nav-page-link,
  body.p3-layout.p2-ui.nav-collapsed .nav-page-link{
    position:relative!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    margin:9px auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    font-size:0!important;
    line-height:1!important;
    text-indent:0!important;
    writing-mode:horizontal-tb!important;
    word-break:keep-all!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  body.p3-layout.nav-collapsed .nav-page-link .nav-icon-only,
  body.p3-layout.p2-ui.nav-collapsed .nav-page-link .nav-icon-only{
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
  }

  body.p3-layout.nav-collapsed .nav-page-link::after,
  body.p3-layout.p2-ui.nav-collapsed .nav-page-link::after{
    content:attr(data-label)!important;
    position:absolute!important;
    left:58px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    padding:8px 10px!important;
    border-radius:10px!important;
    background:#0f172a!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.24)!important;
    white-space:nowrap!important;
    font-size:13px!important;
    font-weight:900!important;
    opacity:0!important;
    pointer-events:none!important;
    z-index:9999!important;
  }

  body.p3-layout.nav-collapsed .nav-page-link:hover::after,
  body.p3-layout.p2-ui.nav-collapsed .nav-page-link:hover::after{
    opacity:1!important;
  }
}

@media (max-width:900px){
  body.p3-layout .sidebar-layout,
  body.p3-layout.p2-ui .sidebar-layout{
    display:block!important;
    padding:12px!important;
  }
  body.p3-layout .sidebar-nav,
  body.p3-layout.p2-ui .sidebar-nav{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0 0 12px!important;
  }
  body.p3-layout .main-content-flex,
  body.p3-layout.p2-ui .main-content-flex,
  body.p3-layout #userBox,
  body.p3-layout.p2-ui #userBox{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
  }
}



/* ===== P4 launch hardening overrides ===== */
:root{
  --p4-sidebar-open:240px;
  --p4-sidebar-collapsed:72px;
}
html,body{min-height:100%;}
body.p4-launch{overflow-x:hidden!important;}
body.p4-launch #appBox:not(.hidden){width:100%!important;max-width:none!important;}
body.p4-launch .sidebar-layout{box-sizing:border-box!important;}
body.p4-launch .main-content-flex{min-width:0!important;}
body.p4-launch .scroll{max-width:100%!important;}
body.p4-launch table{border-collapse:separate;}
body.p4-launch .p4-launch-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:999px;
  background:#e0f2fe;color:#075985;border:1px solid #bae6fd;
  font-size:12px;font-weight:900;white-space:nowrap;
}
body.p4-launch .p4-check-btn{
  background:#0f766e!important;color:#fff!important;border:0!important;
}
body.p4-launch .p4-check-panel{
  padding:14px;border:1px solid #bfdbfe;border-radius:16px;background:#f8fbff;
}
body.p4-launch .p4-check-panel h3{margin:0 0 10px;font-size:16px;color:#0f172a;}
body.p4-launch .p4-check-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;}
body.p4-launch .p4-check-list li{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:8px 10px;border:1px solid #dbeafe;border-radius:12px;background:#fff;
  font-size:13px;color:#0f172a;
}
body.p4-launch .p4-check-list .ok{color:#047857;font-weight:900;}
body.p4-launch .p4-check-list .warn{color:#b45309;font-weight:900;}
body.p4-launch .p4-check-list .bad{color:#dc2626;font-weight:900;}
body.p4-launch .p4-muted{color:#64748b;font-size:12px;line-height:1.45;}
@media (max-width:900px){
  body.p4-launch .p4-launch-badge{margin-top:6px;}
}


/* =========================================================
   v3.10-LTS6-P9.3 上线验收增强
   ========================================================= */
body.p5-launch #p5LaunchBadge,
.p5-launch-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  border:1px solid #a7f3d0;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.p5-modal-mask{
  position:fixed;
  inset:0;
  z-index:99998;
  background:rgba(15,23,42,.42);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.p5-modal{
  width:min(1080px,96vw);
  max-height:88vh;
  overflow:auto;
  background:#ffffff;
  border-radius:22px;
  box-shadow:0 24px 80px rgba(15,23,42,.28);
  border:1px solid #dbeafe;
}
.p5-modal-header{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,#f8fafc,#eff6ff);
  border-bottom:1px solid #dbeafe;
}
.p5-modal-header h3{margin:0;font-size:20px;color:#0f172a;}
.p5-modal-body{padding:18px 20px 22px;}
.p5-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 16px;}
.p5-result-card{border:1px solid #e2e8f0;border-radius:16px;padding:13px;background:#f8fafc;}
.p5-result-card b{display:block;font-size:20px;margin-top:4px;}
.p5-result-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px;font-size:13px;}
.p5-result-table th,.p5-result-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top;}
.p5-result-table th{background:#f8fafc;color:#334155;font-weight:900;position:sticky;top:62px;z-index:1;}
.p5-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 9px;border-radius:999px;font-weight:900;font-size:12px;}
.p5-status.ok{background:#dcfce7;color:#166534;}
.p5-status.warn{background:#fef3c7;color:#92400e;}
.p5-status.fail{background:#fee2e2;color:#991b1b;}
.p5-status.info{background:#e0f2fe;color:#075985;}
.p5-panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;}
.p5-panel-actions button{border:0;border-radius:12px;padding:9px 13px;font-weight:900;cursor:pointer;background:#64748b;color:#fff;}
.p5-panel-actions button.primary{background:#0ea5a4;}
.p5-panel-actions button.danger{background:#ef4444;}
.p5-manual-list{margin:8px 0 0;padding-left:20px;color:#475569;line-height:1.75;}
.p5-small{font-size:12px;color:#64748b;}
@media(max-width:760px){
  .p5-result-grid{grid-template-columns:1fr 1fr;}
  .p5-modal{width:98vw;max-height:92vh;}
  .p5-result-table th{top:58px;}
}


/* =========================================================
   v3.10-LTS6-P9.3 表格滚动稳定性热修复
   修复：充值明细下滑/回滚时固定行与表头 sticky 叠加，导致表头和数据行错位。
   ========================================================= */
body.p5-2-scroll-fix .scroll.p5-2-stable-scroll,
body.p5-2-scroll-fix .scroll{
  position:relative!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  contain:paint!important;
}

body.p5-2-scroll-fix #fundTable,
body.p5-2-scroll-fix #accountTable{
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
}

body.p5-2-scroll-fix #fundTable thead th,
body.p5-2-scroll-fix #accountTable thead th{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  background:#fde7d5!important;
  box-shadow:0 1px 0 #dbe5f2!important;
  transform:translateZ(0)!important;
}

body.p5-2-scroll-fix #fundTable thead th.serial-col,
body.p5-2-scroll-fix #accountTable thead th.serial-col{
  background:#f8fafc!important;
}

/* 生产版禁用固定前 N 行。旧的 row-sticky-cell 在滚动中会和 sticky 表头叠加，造成用户截图中的错乱。 */
body.p5-2-scroll-fix #fundTable tbody td.row-sticky-cell,
body.p5-2-scroll-fix #accountTable tbody td.row-sticky-cell,
body.p5-2-scroll-fix #fundTable .row-sticky-cell,
body.p5-2-scroll-fix #accountTable .row-sticky-cell{
  position:static!important;
  top:auto!important;
  left:auto!important;
  z-index:auto!important;
  background:inherit!important;
}

/* 固定列保留，但层级必须低于表头，避免纵向滚动时压住表头。 */
body.p5-2-scroll-fix #fundTable tbody td.col-sticky-cell,
body.p5-2-scroll-fix #accountTable tbody td.col-sticky-cell{
  position:sticky!important;
  z-index:20!important;
  background:#fff!important;
}
body.p5-2-scroll-fix #fundTable thead th.col-sticky-cell,
body.p5-2-scroll-fix #accountTable thead th.col-sticky-cell{
  position:sticky!important;
  z-index:120!important;
  background:#fde7d5!important;
}

/* 批量操作栏保持普通文档流，避免和表头共同 sticky 时相互覆盖。 */
body.p5-2-scroll-fix .batch-toolbar{
  position:relative!important;
  top:auto!important;
  z-index:10!important;
}

body.p5-2-scroll-fix .p2-action-bar{
  position:relative!important;
  top:auto!important;
  z-index:20!important;
}

/* =========================================================
   v3.10-LTS6-P9.3 序号列显示修复
   处理：P5.2 修复滚动后，序号列宽度过窄/输入框被截断，16/15 等只显示成 1。
   策略：恢复序号列可读宽度，保留 P5.2 的禁用固定行逻辑。
   ========================================================= */
body.p5-3-serial-fix #fundTable th.serial-col,
body.p5-3-serial-fix #fundTable td.serial-col,
body.p5-3-serial-fix #accountTable th.serial-col,
body.p5-3-serial-fix #accountTable td.serial-col{
  min-width:76px!important;
  width:76px!important;
  max-width:76px!important;
  padding:6px 8px!important;
  overflow:visible!important;
  text-align:center!important;
  white-space:nowrap!important;
  background:#f8fafc!important;
}
body.p5-3-serial-fix #fundTable td.serial-col input,
body.p5-3-serial-fix #accountTable td.serial-col input,
body.p5-3-serial-fix #fundTable .serial-col input,
body.p5-3-serial-fix #accountTable .serial-col input{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  padding:5px 4px!important;
  text-align:center!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-variant-numeric:tabular-nums!important;
}
body.p5-3-serial-fix #fundTable td.serial-col .batch-row-check,
body.p5-3-serial-fix #accountTable td.serial-col .batch-row-check{
  width:16px!important;
  min-width:16px!important;
  margin-right:4px!important;
  vertical-align:middle!important;
}
body.p5-3-serial-fix #fundTable th.serial-col.col-sticky-cell,
body.p5-3-serial-fix #accountTable th.serial-col.col-sticky-cell{
  z-index:130!important;
}
body.p5-3-serial-fix #fundTable td.serial-col.col-sticky-cell,
body.p5-3-serial-fix #accountTable td.serial-col.col-sticky-cell{
  z-index:30!important;
}

/* v3.10-LTS6-P9.3：列配置保存入口显性化 */
.p510-save-columns-btn{
  background:#14b8a6 !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 8px 18px rgba(20,184,166,.18);
}
.p510-save-columns-btn:hover{filter:brightness(.96);}
.p510-save-columns-btn:disabled{opacity:.65;cursor:not-allowed;}
.p510-check-columns-btn{white-space:nowrap;}
#userBox .p510-save-columns-btn,
#userBox .p510-check-columns-btn{margin-left:6px;}


/* =========================================================
   v3.10-LTS6-P9.3 字段配置中心 / 下拉选项灵活配置
   ========================================================= */
.p512-field-center-btn{background:#7c3aed!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(124,58,237,.18)!important;}
.p512-field-center-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:99998;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;}
.p512-field-center-modal{width:min(1180px,96vw);max-height:92vh;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.35);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(148,163,184,.35);}
.p512-field-center-head{padding:18px 22px;background:linear-gradient(135deg,#eef2ff,#ecfeff);display:flex;gap:14px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #dbeafe;}
.p512-field-center-head h3{margin:0;font-size:22px;color:#0f172a;line-height:1.2;}
.p512-field-center-head p{margin:7px 0 0;color:#475569;font-size:13px;}
.p512-field-center-close{border:0;background:#0f172a;color:white;border-radius:12px;padding:9px 13px;font-weight:800;cursor:pointer;}
.p512-field-center-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;}
.p512-field-center-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.p512-field-center-tab{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;}
.p512-field-center-tab.active{background:#0f766e;color:#fff;border-color:#0f766e;box-shadow:0 8px 18px rgba(15,118,110,.18);}
.p512-field-center-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.p512-field-center-actions button,.p512-row-actions button{border:0;border-radius:11px;padding:9px 12px;font-weight:800;cursor:pointer;background:#64748b;color:#fff;}
.p512-field-center-actions .primary{background:#14b8a6;}
.p512-field-center-actions .purple{background:#7c3aed;}
.p512-field-center-actions .danger,.p512-row-actions .danger{background:#ef4444;}
.p512-field-center-body{padding:14px 18px 18px;overflow:auto;background:#fff;}
.p512-field-note{background:#f0fdfa;border:1px dashed #5eead4;color:#0f766e;border-radius:14px;padding:10px 12px;font-size:13px;font-weight:700;margin-bottom:12px;}
.p512-field-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:16px;background:#fff;}
.p512-field-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1050px;}
.p512-field-table th{position:sticky;top:0;background:#f8fafc;color:#0f172a;text-align:left;font-size:13px;padding:11px 10px;border-bottom:1px solid #e2e8f0;z-index:1;}
.p512-field-table td{padding:9px 8px;border-bottom:1px solid #eef2f7;vertical-align:top;}
.p512-field-table input,.p512-field-table select,.p512-field-table textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:8px 9px;background:#fff;font-size:13px;outline:none;}
.p512-field-table input:focus,.p512-field-table select:focus,.p512-field-table textarea:focus{border-color:#14b8a6;box-shadow:0 0 0 3px rgba(20,184,166,.14);}
.p512-field-table textarea{min-height:82px;resize:vertical;line-height:1.45;}
.p512-key-pill{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 9px;display:inline-block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.p512-muted{font-size:12px;color:#64748b;margin-top:6px;line-height:1.35;}
.p512-row-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:142px;}
.p512-row-actions button{padding:7px 9px;font-size:12px;background:#64748b;}
.p512-row-actions .mini{background:#e2e8f0;color:#0f172a;}
.p512-field-center-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;}
.p512-save-status{font-size:13px;color:#475569;font-weight:700;}
.p512-field-center-foot .primary{border:0;border-radius:12px;background:#14b8a6;color:#fff;font-weight:900;padding:11px 16px;cursor:pointer;}
.p512-field-center-foot .gray{border:0;border-radius:12px;background:#64748b;color:#fff;font-weight:900;padding:11px 16px;cursor:pointer;}
.p512-select-options-cell{min-width:210px;}
.p512-hidden-col{opacity:.58;}
@media(max-width:900px){.p512-field-center-modal{width:98vw;max-height:94vh;border-radius:16px}.p512-field-center-head{padding:14px}.p512-field-center-toolbar,.p512-field-center-foot{padding:10px}.p512-field-center-body{padding:10px}.p512-field-table{min-width:920px}}

/* =========================================================
   v3.10-LTS6-P9.3 表格空白修复样式
   ========================================================= */
body.p5-13-blank-fix #fundTable,
body.p5-13-blank-fix #accountTable{
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.p5-13-blank-fix #fundTable th,
body.p5-13-blank-fix #fundTable td,
body.p5-13-blank-fix #accountTable th,
body.p5-13-blank-fix #accountTable td{
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.p5-13-blank-fix #fundTable td input,
body.p5-13-blank-fix #fundTable td select,
body.p5-13-blank-fix #accountTable td input,
body.p5-13-blank-fix #accountTable td select{
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.p5-13-blank-fix #fundTable .col-sticky-cell,
body.p5-13-blank-fix #accountTable .col-sticky-cell{
  position:sticky!important;
  background:#fff!important;
  box-shadow:1px 0 0 rgba(203,213,225,.8)!important;
}
body.p5-13-blank-fix #fundTable thead .col-sticky-cell,
body.p5-13-blank-fix #accountTable thead .col-sticky-cell{
  background:#fde7d5!important;
  z-index:130!important;
}
body.p5-13-blank-fix #fundTable tbody .col-sticky-cell,
body.p5-13-blank-fix #accountTable tbody .col-sticky-cell{
  z-index:30!important;
}
body.p5-13-blank-fix #fundTable .row-sticky-cell,
body.p5-13-blank-fix #accountTable .row-sticky-cell{
  position:static!important;
  top:auto!important;
}

/* =========================================================
   v3.10-LTS6-P9.3 表格稳定修复：序号列与固定列兼容
   原因：P5.13 对所有 td/th 设置 overflow:hidden，序号列内的批量勾选框 + input 被裁切。
   策略：序号列改为稳定展示 badge，保留批量选择框，不再依赖 input 宽度。
   ========================================================= */
body.p5-14-table-stable #fundTable th.serial-col,
body.p5-14-table-stable #fundTable td.serial-col,
body.p5-14-table-stable #accountTable th.serial-col,
body.p5-14-table-stable #accountTable td.serial-col{
  min-width:96px!important;
  width:96px!important;
  max-width:96px!important;
  padding:6px 8px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  text-align:center!important;
  background:#f8fafc!important;
  box-sizing:border-box!important;
}
body.p5-14-table-stable #fundTable td.serial-col,
body.p5-14-table-stable #accountTable td.serial-col{
  display:table-cell!important;
  vertical-align:middle!important;
}
body.p5-14-table-stable .p514-serial-wrap{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.p5-14-table-stable .p514-serial-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:42px!important;
  height:30px!important;
  padding:0 8px!important;
  border-radius:10px!important;
  background:#eef6ff!important;
  border:1px solid #bfdbfe!important;
  color:#1e3a8a!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
body.p5-14-table-stable #fundTable td.serial-col input:not(.batch-row-check),
body.p5-14-table-stable #accountTable td.serial-col input:not(.batch-row-check){
  display:none!important;
}
body.p5-14-table-stable #fundTable td.serial-col .batch-row-check,
body.p5-14-table-stable #accountTable td.serial-col .batch-row-check,
body.p5-14-table-stable #fundTable th.serial-col .batch-page-check,
body.p5-14-table-stable #accountTable th.serial-col .batch-page-check{
  flex:0 0 auto!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  margin:0!important;
  display:inline-block!important;
  vertical-align:middle!important;
}
body.p5-14-table-stable #fundTable th.serial-col.col-sticky-cell,
body.p5-14-table-stable #accountTable th.serial-col.col-sticky-cell{
  z-index:150!important;
}
body.p5-14-table-stable #fundTable td.serial-col.col-sticky-cell,
body.p5-14-table-stable #accountTable td.serial-col.col-sticky-cell{
  z-index:45!important;
}

/* =========================================================
   v3.10-LTS6-P9.3 长期稳定表格内核
   目标：统一序号列、固定列、字段宽度、横向滚动、下拉/自定义字段显示，减少热修冲突。
   ========================================================= */
body.p6-table-core {
  --p6-serial-width: 96px;
  --p6-sticky-bg: #ffffff;
  --p6-sticky-head-bg: #fde7d5;
}
body.p6-table-core .table-wrap,
body.p6-table-core .table-scroll,
body.p6-table-core .table-box,
body.p6-table-core .sheet-wrap {
  overflow: auto;
  overscroll-behavior: contain;
}
body.p6-table-core table#fundTable,
body.p6-table-core table#accountTable {
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: max-content !important;
  min-width: 100% !important;
}
body.p6-table-core table#fundTable th,
body.p6-table-core table#fundTable td,
body.p6-table-core table#accountTable th,
body.p6-table-core table#accountTable td {
  box-sizing: border-box !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}
body.p6-table-core table#fundTable th,
body.p6-table-core table#accountTable th {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  background: #fde7d5 !important;
}
body.p6-table-core .col-sticky-cell {
  position: sticky !important;
  background: var(--p6-sticky-bg) !important;
  box-shadow: 1px 0 0 rgba(148, 163, 184, .25) !important;
}
body.p6-table-core th.col-sticky-cell {
  background: var(--p6-sticky-head-bg) !important;
  z-index: 140 !important;
}
body.p6-table-core td.col-sticky-cell {
  z-index: 50 !important;
}
body.p6-table-core .row-sticky-cell {
  position: static !important;
  top: auto !important;
}
body.p6-table-core .serial-col,
body.p6-table-core .p6-serial-cell {
  min-width: var(--p6-serial-width) !important;
  width: var(--p6-serial-width) !important;
  max-width: var(--p6-serial-width) !important;
  overflow: visible !important;
  text-align: center !important;
}
body.p6-table-core .p6-serial-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 76px !important;
}
body.p6-table-core .p6-serial-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  background: #eef4fb !important;
  color: #1e3a8a !important;
  border: 1px solid #d5e2f0 !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
body.p6-table-core .p6-hidden-input-for-serial {
  display: none !important;
}
body.p6-table-core table#fundTable td input,
body.p6-table-core table#fundTable td select,
body.p6-table-core table#accountTable td input,
body.p6-table-core table#accountTable td select {
  max-width: calc(100% - 10px) !important;
}
body.p6-table-core table#fundTable td.p6-serial-cell input:not(.batch-row-check),
body.p6-table-core table#accountTable td.p6-serial-cell input:not(.batch-row-check) {
  display: none !important;
}
body.p6-table-core .p6-top-btn {
  border: 0;
  border-radius: 12px;
  background: #0f766e;
  color: #fff;
  padding: 10px 14px;
  font-weight: 900;
  cursor: pointer;
  margin-left: 8px;
}
body.p6-table-core .p6-top-btn.secondary {
  background: #64748b;
}
body.p6-table-core .p6-status-ok { color: #047857; font-weight: 900; }
body.p6-table-core .p6-status-warn { color: #b45309; font-weight: 900; }
body.p6-table-core .p6-status-fail { color: #dc2626; font-weight: 900; }
body.p6-table-core .p6-diagnose-panel {
  position: fixed;
  inset: 7vh 5vw auto 5vw;
  max-height: 82vh;
  overflow: auto;
  background: #fff;
  border: 1px solid #bfdbfe;
  box-shadow: 0 30px 80px rgba(15, 23, 42, .22);
  border-radius: 24px;
  z-index: 99999;
  padding: 22px;
}
body.p6-table-core .p6-diagnose-panel h3 { margin: 0 0 12px; font-size: 22px; }
body.p6-table-core .p6-diagnose-panel table { width: 100%; border-collapse: collapse; font-size: 13px; }
body.p6-table-core .p6-diagnose-panel th,
body.p6-table-core .p6-diagnose-panel td { border-bottom: 1px solid #e2e8f0; padding: 9px; text-align: left; }
body.p6-table-core .p6-diagnose-panel .close { float: right; }

/* P6.2 长期运维增强样式 */
body.p6-2-ops .p62-modal{max-width:1180px;width:min(1180px,96vw);} 
body.p6-2-ops .p62-issue-modal h4{margin:18px 0 8px;font-size:15px;color:#0f172a;}
body.p6-2-ops .p62-help{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:13px;line-height:1.7;}
body.p6-2-ops .p62-issue-modal code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;}
body.p6-2-ops #p62LaunchCheckBtn,
body.p6-2-ops #p62DataIssueBtn,
body.p6-2-ops #p62BackupBtn{background:#64748b;color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:800;box-shadow:none;}
body.p6-2-ops #p62LaunchCheckBtn{background:#0f766e;}
body.p6-2-ops #p62DataIssueBtn{background:#334155;}
body.p6-2-ops #p62BackupBtn{background:#2563eb;}


/* =========================================================
   v3.10-LTS6-P9.3 系统序号列保护
   序号列只负责“行选择 + 序号显示”，不再显示左插/右插/删列，也不进入字段配置中心。
   ========================================================= */
body.p6-3-system-serial #fundTable th.serial-col .col-tools,
body.p6-3-system-serial #accountTable th.serial-col .col-tools,
body.p6-3-system-serial #fundTable th[data-system-col="serial"] .col-tools,
body.p6-3-system-serial #accountTable th[data-system-col="serial"] .col-tools{
  display:none!important;
}
body.p6-3-system-serial #fundTable th.serial-col,
body.p6-3-system-serial #accountTable th.serial-col{
  overflow:visible!important;
}
body.p6-3-system-serial #fundTable th.serial-col .col-name,
body.p6-3-system-serial #accountTable th.serial-col .col-name{
  cursor:default!important;
  pointer-events:none!important;
  font-weight:900!important;
}
body.p6-3-system-serial #fundTable th.serial-col input[type="checkbox"],
body.p6-3-system-serial #accountTable th.serial-col input[type="checkbox"],
body.p6-3-system-serial #fundTable td.serial-col input.batch-row-check,
body.p6-3-system-serial #accountTable td.serial-col input.batch-row-check{
  pointer-events:auto!important;
  cursor:pointer!important;
  opacity:1!important;
}
body.p6-3-system-serial .p6-serial-badge,
body.p6-3-system-serial .p514-serial-badge{
  pointer-events:none!important;
  user-select:none!important;
}
body.p6-3-system-serial .p6-3-system-serial-row{
  display:none!important;
}
body.p6-3-system-serial .p6-hidden-input-for-serial{
  display:none!important;
}
body.p6-3-system-serial #fundTable td.serial-col,
body.p6-3-system-serial #accountTable td.serial-col{
  overflow:visible!important;
}
body.p6-3-system-serial .p6-serial-wrap,
body.p6-3-system-serial .p514-serial-wrap{
  overflow:visible!important;
}


/* =========================================================
   v3.10-LTS6-P9.3 生产精简与字段配置历史恢复
========================================================= */
body.p7-production #userBox .p7-top-btn,
.p7-top-btn{
  border:0; border-radius:12px; padding:10px 14px; margin:4px 5px; font-weight:800;
  background:#64748b; color:white; cursor:pointer; box-shadow:0 6px 14px rgba(15,23,42,.10);
}
.p7-top-btn.primary{ background:#0f766e; }
.p7-top-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.p7-modal-overlay{ position:fixed; inset:0; z-index:99999; background:rgba(15,23,42,.45); display:flex; align-items:center; justify-content:center; padding:24px; }
.p7-modal{ width:min(1120px,96vw); max-height:88vh; overflow:hidden; background:#fff; border-radius:22px; box-shadow:0 24px 70px rgba(15,23,42,.25); display:flex; flex-direction:column; }
.p7-modal-head{ display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:22px 24px; border-bottom:1px solid #dbeafe; background:linear-gradient(135deg,#ecfeff,#f8fafc); }
.p7-modal-head h3{ margin:0; font-size:22px; color:#0f172a; }
.p7-modal-head p{ margin:8px 0 0; color:#475569; font-size:14px; }
.p7-close,.p7-btn,.p7-mini{ border:0; border-radius:10px; padding:9px 13px; font-weight:800; cursor:pointer; background:#64748b; color:#fff; }
.p7-btn.primary,.p7-mini.primary{ background:#14b8a6; }
.p7-close{ background:#0f172a; }
.p7-modal-actions{ padding:14px 24px; display:flex; gap:10px; border-bottom:1px solid #e2e8f0; }
.p7-table-wrap{ overflow:auto; padding:0 24px 18px; }
.p7-history-table{ width:100%; border-collapse:separate; border-spacing:0; min-width:820px; }
.p7-history-table th{ position:sticky; top:0; background:#fff7ed; color:#0f172a; padding:12px; border-bottom:1px solid #fed7aa; text-align:left; z-index:2; }
.p7-history-table td{ padding:12px; border-bottom:1px solid #e2e8f0; color:#0f172a; }
.p7-history-table tr:hover td{ background:#f8fafc; }
.p7-note{ margin:0 24px 20px; padding:12px 14px; border-radius:14px; background:#eff6ff; color:#1e3a8a; border:1px solid #bfdbfe; }
.p7-empty{ text-align:center; color:#64748b; padding:28px!important; }
.p7-badge{ display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:900; background:#e0f2fe; color:#075985; }
@media(max-width:720px){ .p7-modal{width:98vw;max-height:92vh}.p7-modal-head{padding:16px;}.p7-modal-actions{padding:12px 16px;flex-wrap:wrap}.p7-table-wrap{padding:0 16px 14px}.p7-note{margin:0 16px 16px} }


/* v3.10-LTS6-P9.3: recharge validation */
.p72-invalid{border-color:#ef4444!important; box-shadow:0 0 0 3px rgba(239,68,68,.18)!important;}
.p72-warn{border-color:#f59e0b!important; box-shadow:0 0 0 3px rgba(245,158,11,.16)!important;}
.p72-note{font-size:12px;color:#b45309;font-weight:800;margin-top:6px;}
.p72-panel{max-height:70vh;overflow:auto;}
.p72-table{width:100%;border-collapse:collapse;font-size:13px;}
.p72-table th,.p72-table td{border:1px solid #dbeafe;padding:8px;text-align:left;vertical-align:top;}
.p72-table th{background:#eff6ff;}
.p72-ok{color:#047857;font-weight:900;}
.p72-fail{color:#dc2626;font-weight:900;}
.p72-warn-text{color:#b45309;font-weight:900;}

/* v3.10-LTS6-P9.3 runtime guard UI */
.p74-status-pill{
  display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:7px 12px;border-radius:999px;
  background:#dcfce7;color:#166534;font-weight:800;font-size:13px;border:1px solid #86efac;
}
.p74-validate-btn{
  background:#0f766e!important;color:#fff!important;border-radius:12px!important;font-weight:800!important;
}
.p74-floating-validate{
  position:fixed;right:18px;bottom:18px;z-index:999999;border:0;border-radius:999px;
  background:#0f766e;color:#fff;font-weight:900;padding:12px 18px;box-shadow:0 12px 28px rgba(15,118,110,.28);cursor:pointer;
}
.p74-floating-validate:hover{filter:brightness(1.06);transform:translateY(-1px)}
@media (max-width:900px){.p74-floating-validate{right:12px;bottom:12px;padding:10px 14px;font-size:13px}}

/* ===== app-ui-final-v3-10-lts6-p8.css ===== */
/* v3.10-LTS6-P9.3 操作日志与备份中心版 */
body.p8-ops-center #p8AuditLogBtn,
body.p8-ops-center #p8BackupBtn,
body.p8-ops-center #p8AcceptanceBtn{font-weight:900;border-radius:12px;padding:10px 16px;border:0;box-shadow:0 8px 18px rgba(15,23,42,.08)}
body.p8-ops-center .p8-primary{background:#0f766e!important;color:#fff!important}
body.p8-ops-center .p8-secondary{background:#1d4ed8!important;color:#fff!important}
#p8FloatingOps{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;gap:8px}
#p8FloatingOps button{border:0;border-radius:999px;padding:10px 14px;font-weight:900;background:#0f172a;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.25);cursor:pointer}
.p8-modal-mask{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.p8-modal{width:min(980px,96vw);max-height:88vh;display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden;border:1px solid #dbeafe}
.p8-modal.p8-wide{width:min(1280px,97vw)}
.p8-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;background:linear-gradient(135deg,#eff6ff,#ecfeff);border-bottom:1px solid #dbeafe}
.p8-modal-head h3{margin:0;font-size:22px;color:#0f172a}.p8-modal-head p{margin:6px 0 0;color:#64748b;font-size:13px}
.p8-modal-head button{border:0;border-radius:12px;background:#64748b;color:#fff;font-weight:900;padding:9px 14px;cursor:pointer}
.p8-modal-body{padding:18px;overflow:auto}.p8-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;align-items:center}
.p8-toolbar input,.p8-toolbar select{height:38px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff;min-width:160px}
.p8-toolbar button,.p8-backup-actions button{border:0;border-radius:12px;background:#0f766e;color:#fff;font-weight:900;padding:10px 14px;cursor:pointer}
.p8-backup-actions button.danger{background:#dc2626}.p8-table-wrap{max-height:62vh;overflow:auto;border:1px solid #dbeafe;border-radius:14px;background:#fff}
.p8-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.p8-table th{position:sticky;top:0;background:#f8fafc;color:#0f172a;z-index:2;border-bottom:1px solid #dbeafe;padding:10px;text-align:left;white-space:nowrap}.p8-table td{border-bottom:1px solid #e2e8f0;padding:9px 10px;vertical-align:top}.p8-table pre{margin:0;white-space:pre-wrap;max-width:360px;max-height:72px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px;color:#334155}
.p8-table button{border:0;border-radius:10px;background:#e0f2fe;color:#075985;font-weight:900;padding:7px 10px;cursor:pointer}.p8-badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#ecfeff;color:#0f766e;font-weight:900;border:1px solid #99f6e4}.p8-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:900;border:1px solid #cbd5e1;background:#f8fafc}.p8-status.ok{background:#dcfce7;color:#166534;border-color:#86efac}.p8-status.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.p8-status.fail{background:#fee2e2;color:#991b1b;border-color:#fecaca}.p8-status.info{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}
.p8-loading,.p8-error,.p8-warn{border-radius:14px;padding:14px 16px;margin:10px 0}.p8-loading{background:#eff6ff;color:#1e40af}.p8-error{background:#fee2e2;color:#991b1b}.p8-warn{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.p8-cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:16px}.p8-card{background:#f0fdfa;border:1px solid #99f6e4;border-radius:18px;padding:16px}.p8-card span{display:block;color:#64748b;font-size:13px}.p8-card b{font-size:28px;color:#0f766e}.p8-backup-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.p8-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.p8-detail-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.p8-detail-grid b{color:#64748b}.p8-detail-grid p{margin:5px 0 0;font-weight:900;color:#0f172a}.p8-json{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:14px;overflow:auto;max-height:260px;white-space:pre-wrap}
@media(max-width:760px){#p8FloatingOps{right:10px;bottom:10px}.p8-cards{grid-template-columns:1fr 1fr}.p8-toolbar input,.p8-toolbar select{min-width:100%;width:100%}.p8-detail-grid{grid-template-columns:1fr}.p8-modal-mask{padding:8px}.p8-modal{border-radius:16px}}

/* ===== app-ui-final-v3-10-lts6-p8-1.css ===== */
/* v3.10-LTS6-P9.3 备份恢复中心加强版 */
body.p8-1-restore-center #p81RestoreBtn,
body.p8-1-restore-center #p81AcceptanceBtn{font-weight:900;border-radius:12px;padding:10px 16px;border:0;box-shadow:0 8px 18px rgba(15,23,42,.08)}
body.p8-1-restore-center .p81-primary{background:#7c3aed!important;color:#fff!important}
body.p8-1-restore-center .p81-secondary{background:#0f766e!important;color:#fff!important}
#p81FloatingRestore{position:fixed;right:18px;bottom:72px;z-index:9999;display:flex;gap:8px}
#p81FloatingRestore button{border:0;border-radius:999px;padding:10px 14px;font-weight:900;background:#7c3aed;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.25);cursor:pointer}
.p81-modal-mask{position:fixed;inset:0;z-index:10020;background:rgba(15,23,42,.50);display:flex;align-items:center;justify-content:center;padding:20px}
.p81-modal{width:min(980px,96vw);max-height:88vh;display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden;border:1px solid #ddd6fe}
.p81-modal.p81-wide{width:min(1280px,97vw)}
.p81-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;background:linear-gradient(135deg,#f5f3ff,#ecfeff);border-bottom:1px solid #ddd6fe}
.p81-modal-head h3{margin:0;font-size:22px;color:#0f172a}.p81-modal-head p{margin:6px 0 0;color:#64748b;font-size:13px}
.p81-modal-head button{border:0;border-radius:12px;background:#64748b;color:#fff;font-weight:900;padding:9px 14px;cursor:pointer}
.p81-modal-body{padding:18px;overflow:auto}.p81-restore-layout{display:grid;gap:14px}.p81-upload{border:2px dashed #c4b5fd;background:#faf5ff;border-radius:18px;padding:16px}.p81-upload.drag{background:#ede9fe;border-color:#7c3aed}.p81-upload h4{margin:0 0 6px;color:#3b0764}.p81-upload p{margin:0 0 12px;color:#64748b}.p81-upload input[type=file]{display:block;width:100%;border:1px solid #ddd6fe;border-radius:12px;padding:10px;background:#fff}
.p81-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.p81-actions button,.p81-upload button{border:0;border-radius:12px;background:#0f766e;color:#fff;font-weight:900;padding:10px 14px;cursor:pointer}.p81-actions button:disabled,.p81-upload button:disabled{opacity:.45;cursor:not-allowed}.p81-actions .danger,.p81-upload .danger{background:#dc2626}.p81-safe-note,.p81-loading,.p81-error{border-radius:14px;padding:14px 16px}.p81-safe-note{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.p81-loading{background:#eff6ff;color:#1e40af}.p81-error{background:#fee2e2;color:#991b1b}.p81-cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}.p81-card{background:#f5f3ff;border:1px solid #c4b5fd;border-radius:18px;padding:14px;min-width:0}.p81-card span{display:block;color:#64748b;font-size:13px}.p81-card b{display:block;font-size:24px;color:#6d28d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p81-card em{font-style:normal;color:#64748b;font-size:12px}.p81-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.p81-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px}.p81-box h4{margin:0 0 10px;color:#0f172a}.p81-box ul{margin:0;padding-left:20px}.p81-box p{margin:6px 0;color:#334155}.p81-mini{width:100%;border-collapse:collapse}.p81-mini th,.p81-mini td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left}.p81-delta{font-weight:900;color:#b45309}.p81-table-wrap{max-height:62vh;overflow:auto;border:1px solid #dbeafe;border-radius:14px;background:#fff}.p81-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.p81-table th{position:sticky;top:0;background:#f8fafc;color:#0f172a;z-index:2;border-bottom:1px solid #dbeafe;padding:10px;text-align:left;white-space:nowrap}.p81-table td{border-bottom:1px solid #e2e8f0;padding:9px 10px;vertical-align:top}.p81-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:900;border:1px solid #cbd5e1;background:#f8fafc}.p81-status.ok{background:#dcfce7;color:#166534;border-color:#86efac}.p81-status.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.p81-status.fail{background:#fee2e2;color:#991b1b;border-color:#fecaca}.p81-status.info{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}
@media(max-width:760px){#p81FloatingRestore{right:10px;bottom:62px}.p81-modal-mask{padding:8px}.p81-modal{border-radius:16px}.p81-cards,.p81-grid2{grid-template-columns:1fr}.p81-actions button{width:100%}}

/* ===== app-ui-final-v3-10-lts6-p8-2.css ===== */
/* v3.10-LTS6-P9.3 下拉选项库与权限检测版 */
body.p8-2-option-permission #p82OptionLibraryBtn,
body.p8-2-option-permission #p82PermissionBtn,
body.p8-2-option-permission #p82AcceptanceBtn{font-weight:900;border-radius:12px;padding:10px 16px;border:0;box-shadow:0 8px 18px rgba(15,23,42,.08)}
body.p8-2-option-permission .p82-primary{background:#0891b2!important;color:#fff!important}
body.p8-2-option-permission .p82-secondary{background:#7c3aed!important;color:#fff!important}
#p82FloatingOps{position:fixed;right:18px;bottom:124px;z-index:10000;display:flex;gap:8px;flex-direction:column}
#p82FloatingOps button{border:0;border-radius:999px;padding:10px 14px;font-weight:900;background:#0891b2;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.25);cursor:pointer}
.p82-modal-mask{position:fixed;inset:0;z-index:10030;background:rgba(15,23,42,.52);display:flex;align-items:center;justify-content:center;padding:20px}
.p82-modal{width:min(980px,96vw);max-height:88vh;display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden;border:1px solid #bae6fd}
.p82-modal.p82-wide{width:min(1280px,97vw)}
.p82-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;background:linear-gradient(135deg,#ecfeff,#f5f3ff);border-bottom:1px solid #bae6fd}
.p82-modal-head h3{margin:0;font-size:22px;color:#0f172a}.p82-modal-head p{margin:6px 0 0;color:#64748b;font-size:13px}.p82-modal-head button{border:0;border-radius:12px;background:#64748b;color:#fff;font-weight:900;padding:9px 14px;cursor:pointer}
.p82-modal-body{padding:18px;overflow:auto}.p82-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.p82-panel{border:1px solid #dbeafe;border-radius:18px;background:#f8fafc;padding:14px}.p82-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.p82-panel h4{margin:0 0 12px;color:#0f172a}.p82-note,.p82-tips{color:#475569;line-height:1.7}.p82-group{border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:12px;margin:10px 0}.p82-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:start;margin:8px 0}.p82-row label,.p82-panel label{font-weight:900;color:#334155}.p82-panel input,.p82-panel select,.p82-panel textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:9px 10px;background:#fff;font-size:14px}.p82-panel textarea{font-family:inherit;resize:vertical}.p82-actions,.p82-group-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.p82-actions button,.p82-panel-head button,.p82-group-actions button{border:0;border-radius:12px;background:#0891b2;color:#fff;font-weight:900;padding:10px 14px;cursor:pointer}.p82-group-actions button{background:#ef4444}.p82-result,.p82-ok,.p82-error,.p82-loading{border-radius:14px;padding:12px 14px;margin-top:10px}.p82-ok{background:#dcfce7;color:#166534}.p82-error{background:#fee2e2;color:#991b1b}.p82-loading{background:#eff6ff;color:#1e40af}.p82-cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}.p82-card{background:#ecfeff;border:1px solid #67e8f9;border-radius:18px;padding:14px;min-width:0}.p82-card span{display:block;color:#64748b;font-size:13px}.p82-card b{display:block;font-size:20px;color:#0e7490;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p82-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.p82-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px}.p82-mini{width:100%;border-collapse:collapse}.p82-mini td{border-bottom:1px solid #e2e8f0;padding:8px}.p82-table-wrap{max-height:56vh;overflow:auto;border:1px solid #dbeafe;border-radius:14px;background:#fff}.p82-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.p82-table th{position:sticky;top:0;background:#f8fafc;color:#0f172a;z-index:2;border-bottom:1px solid #dbeafe;padding:10px;text-align:left;white-space:nowrap}.p82-table td{border-bottom:1px solid #e2e8f0;padding:9px 10px;vertical-align:top}.p82-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:900;border:1px solid #cbd5e1;background:#f8fafc}.p82-status.ok{background:#dcfce7;color:#166534;border-color:#86efac}.p82-status.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.p82-status.fail{background:#fee2e2;color:#991b1b;border-color:#fecaca}.p82-status.info{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.p82-pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:16px;padding:14px;max-height:65vh;overflow:auto}
@media(max-width:900px){.p82-layout,.p82-grid2,.p82-cards{grid-template-columns:1fr}.p82-row{grid-template-columns:1fr}.p82-modal-mask{padding:8px}.p82-modal{border-radius:16px}#p82FloatingOps{right:10px;bottom:112px}.p82-actions button{width:100%}}

/* ===== app-ui-final-v3-10-lts6-p8-3.css ===== */
/* v3.10-LTS6-P9.3 运维总览与性能预备版 */
body.p8-3-ops-performance #p83OpsOverviewBtn,
body.p8-3-ops-performance #p83PerformanceBtn,
body.p8-3-ops-performance #p83AcceptanceBtn{font-weight:900;border-radius:12px;padding:10px 16px;border:0;box-shadow:0 8px 18px rgba(15,23,42,.08)}
body.p8-3-ops-performance .p83-primary{background:#0f766e!important;color:#fff!important}
body.p8-3-ops-performance .p83-secondary{background:#9333ea!important;color:#fff!important}
#p83FloatingOps{position:fixed;right:18px;bottom:190px;z-index:10001;display:flex;gap:8px;flex-direction:column}
#p83FloatingOps button{border:0;border-radius:999px;padding:10px 14px;font-weight:900;background:#0f766e;color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.25);cursor:pointer}
.p83-modal-mask{position:fixed;inset:0;z-index:10040;background:rgba(15,23,42,.52);display:flex;align-items:center;justify-content:center;padding:20px}
.p83-modal{width:min(980px,96vw);max-height:88vh;display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden;border:1px solid #99f6e4}
.p83-modal.p83-wide{width:min(1280px,97vw)}
.p83-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;background:linear-gradient(135deg,#ecfdf5,#f5f3ff);border-bottom:1px solid #99f6e4}
.p83-modal-head h3{margin:0;font-size:22px;color:#0f172a}.p83-modal-head p{margin:6px 0 0;color:#64748b;font-size:13px}.p83-modal-head button{border:0;border-radius:12px;background:#64748b;color:#fff;font-weight:900;padding:9px 14px;cursor:pointer}
.p83-modal-body{padding:18px;overflow:auto}.p83-cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin-bottom:14px}.p83-card{background:#ecfdf5;border:1px solid #5eead4;border-radius:18px;padding:14px;min-width:0}.p83-card span{display:block;color:#64748b;font-size:13px}.p83-card b{display:block;font-size:20px;color:#0f766e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p83-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.p83-actions button{border:0;border-radius:12px;background:#0f766e;color:#fff;font-weight:900;padding:10px 14px;cursor:pointer}.p83-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.p83-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;min-width:0}.p83-box h4{margin:0 0 10px;color:#0f172a}.p83-box ol,.p83-box ul{margin:8px 0 0;padding-left:22px;line-height:1.8;color:#334155}.p83-table-wrap{max-height:56vh;overflow:auto;border:1px solid #ccfbf1;border-radius:14px;background:#fff}.p83-table-wrap.small{max-height:260px}.p83-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.p83-table th{position:sticky;top:0;background:#f8fafc;color:#0f172a;z-index:2;border-bottom:1px solid #ccfbf1;padding:10px;text-align:left;white-space:nowrap}.p83-table td{border-bottom:1px solid #e2e8f0;padding:9px 10px;vertical-align:top}.p83-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:900;border:1px solid #cbd5e1;background:#f8fafc}.p83-status.ok{background:#dcfce7;color:#166534;border-color:#86efac}.p83-status.warn{background:#fef3c7;color:#92400e;border-color:#fde68a}.p83-status.fail{background:#fee2e2;color:#991b1b;border-color:#fecaca}.p83-status.info{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.p83-ok,.p83-error,.p83-loading{border-radius:14px;padding:12px 14px;margin-top:10px}.p83-ok{background:#dcfce7;color:#166534}.p83-error{background:#fee2e2;color:#991b1b}.p83-loading{background:#eff6ff;color:#1e40af}.p83-pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:16px;padding:14px;max-height:65vh;overflow:auto}
@media(max-width:900px){.p83-grid2,.p83-cards{grid-template-columns:1fr}.p83-modal-mask{padding:8px}.p83-modal{border-radius:16px}#p83FloatingOps{right:10px;bottom:172px}.p83-actions button{width:100%}}

/* ===== app-ui-final-v3-10-lts6-p8-4.css ===== */
/* v3.10-LTS6-P9.3 运维入口收纳与日常模式 */
:root{--p84-primary:#2563eb;--p84-bg:#f8fafc;--p84-border:#dbe3ef;--p84-text:#0f172a;--p84-muted:#64748b;}
html[data-reserve-p8-4="1"] body{--p84-z:2147481200;}
#p84OpsHubBtn{background:linear-gradient(135deg,#2563eb,#0ea5e9)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 18px rgba(37,99,235,.22)!important;font-weight:700!important;}
#p84DailyModeBtn{background:#eef2ff!important;color:#3730a3!important;border-color:#c7d2fe!important;}
.p84-hidden-old{display:none!important;}
#p8FloatingOps,#p81FloatingRestore,#p82FloatingOps,#p83FloatingOps,#p74FloatingValidateBtn{display:none!important;}
.p84-floating{position:fixed;right:18px;bottom:18px;z-index:var(--p84-z);display:flex;gap:8px;align-items:center;}
.p84-floating button{border:0;border-radius:999px;padding:10px 14px;background:#0f172a;color:#fff;font-size:13px;font-weight:700;box-shadow:0 12px 28px rgba(15,23,42,.28);cursor:pointer;}
.p84-floating button.secondary{background:#fff;color:#334155;border:1px solid #cbd5e1;}
.p84-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:var(--p84-z);display:flex;align-items:flex-start;justify-content:center;padding:58px 18px 24px;overflow:auto;}
.p84-modal{width:min(1180px,96vw);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.28);border:1px solid rgba(148,163,184,.35);overflow:hidden;}
.p84-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--p84-border);background:linear-gradient(180deg,#ffffff,#f8fafc);}
.p84-modal-head h3{margin:0;font-size:18px;color:var(--p84-text);}.p84-modal-head p{margin:4px 0 0;color:var(--p84-muted);font-size:13px;}
.p84-modal-close{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 12px;cursor:pointer;}
.p84-modal-body{padding:18px;background:var(--p84-bg);}
.p84-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.p84-section{background:#fff;border:1px solid var(--p84-border);border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.p84-section h4{margin:0 0 8px;color:var(--p84-text);font-size:15px;}.p84-section p{margin:0 0 10px;color:var(--p84-muted);font-size:12px;line-height:1.5;}
.p84-action-list{display:grid;gap:8px;}.p84-action-list button{width:100%;text-align:left;border:1px solid #dbe3ef;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;color:#0f172a;}
.p84-action-list button:hover{background:#eff6ff;border-color:#93c5fd;}.p84-action-list button.primary{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:700;}.p84-action-list button.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c;}
.p84-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;}.p84-status.ok{background:#dcfce7;color:#166534}.p84-status.warn{background:#fef3c7;color:#92400e}.p84-status.fail{background:#fee2e2;color:#991b1b}.p84-status.info{background:#e0f2fe;color:#075985}
.p84-table-wrap{overflow:auto;border:1px solid var(--p84-border);border-radius:14px;background:#fff;}.p84-table{width:100%;border-collapse:collapse;font-size:13px;}.p84-table th,.p84-table td{border-bottom:1px solid #e2e8f0;padding:9px 10px;text-align:left;vertical-align:top;}.p84-table th{background:#f8fafc;color:#334155;position:sticky;top:0;}
.p84-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;}.p84-card{background:#fff;border:1px solid var(--p84-border);border-radius:14px;padding:12px;}.p84-card span{font-size:12px;color:#64748b}.p84-card b{display:block;font-size:20px;margin-top:4px;color:#0f172a}.p84-card em{font-style:normal;color:#94a3b8;font-size:12px;}
.p84-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.p84-toolbar button{border:1px solid #cbd5e1;background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer}.p84-toolbar button.primary{background:#2563eb;color:#fff;border-color:#2563eb}.p84-toolbar button.warn{background:#fffbeb;color:#92400e;border-color:#fde68a}
.p84-note{padding:10px 12px;border-radius:12px;background:#f0f9ff;border:1px solid #bae6fd;color:#075985;font-size:13px;line-height:1.5;margin-bottom:12px}.p84-muted{color:#64748b;font-size:12px;line-height:1.5}.p84-loading{padding:18px;color:#64748b}.p84-error{padding:12px;background:#fee2e2;color:#991b1b;border-radius:12px;border:1px solid #fecaca;}
body.p84-daily-mode #userBox button.p84-auto-hidden{display:none!important;}
body.p84-daily-mode .p84-floating .secondary{display:none!important;}
body.p84-daily-mode #p84DailyModeBtn{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important;}
@media(max-width:900px){.p84-grid{grid-template-columns:1fr}.p84-cards{grid-template-columns:1fr 1fr}.p84-modal-mask{padding-top:20px}.p84-floating{right:12px;bottom:12px}.p84-floating button{padding:9px 12px}}

/* ===== app-ui-final-v3-10-lts6-p8-5.css ===== */
/* v3.10-LTS6-P9.3 选项库保存约束修复 */
html[data-reserve-p8-5="1"] body{--p85-z:2147481300;}
#p85OptionConstraintBtn,#p85AcceptanceBtn{background:linear-gradient(135deg,#0f766e,#14b8a6)!important;color:#fff!important;border-color:transparent!important;font-weight:900!important;border-radius:12px!important;padding:10px 16px!important;box-shadow:0 8px 18px rgba(20,184,166,.22)!important;}
#p85AcceptanceBtn{background:linear-gradient(135deg,#1d4ed8,#0ea5e9)!important;}
.p85-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:var(--p85-z);display:flex;justify-content:center;align-items:flex-start;padding:60px 18px 24px;overflow:auto;}
.p85-modal{width:min(1060px,96vw);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.28);border:1px solid #99f6e4;overflow:hidden;}
.p85-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid #ccfbf1;background:linear-gradient(180deg,#f0fdfa,#fff);}
.p85-modal-head h3{margin:0;font-size:18px;color:#0f172a}.p85-modal-head p{margin:4px 0 0;color:#64748b;font-size:13px}.p85-modal-head button{border:1px solid #99f6e4;background:#fff;color:#0f766e;border-radius:10px;padding:8px 12px;font-weight:800;cursor:pointer;}
.p85-modal-body{padding:18px;background:#f8fafc}.p85-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.p85-toolbar button{border:0;border-radius:10px;background:#0f766e;color:#fff;font-weight:900;padding:10px 14px;cursor:pointer}.p85-toolbar button.secondary{background:#64748b}.p85-note{background:#ecfeff;border:1px solid #67e8f9;color:#155e75;border-radius:12px;padding:12px;margin:12px 0;line-height:1.6}.p85-warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:12px;margin:12px 0;line-height:1.6}.p85-ok{background:#dcfce7;border:1px solid #86efac;color:#166534;border-radius:12px;padding:12px;margin:12px 0;line-height:1.6}.p85-error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:12px;margin:12px 0;line-height:1.6}.p85-pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:14px;padding:14px;overflow:auto;max-height:60vh}.p85-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.p85-table th,.p85-table td{border-bottom:1px solid #e2e8f0;padding:10px;text-align:left}.p85-table th{background:#f1f5f9;color:#334155}.p85-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:900;font-size:12px}.p85-badge.ok{background:#dcfce7;color:#166534}.p85-badge.fail{background:#fee2e2;color:#991b1b}.p85-badge.warn{background:#fef3c7;color:#92400e}.p85-badge.info{background:#dbeafe;color:#1e40af}

/* ===== app-ui-final-v3-10-lts6-p8-6.css ===== */
/* v3.10-LTS6-P9.3 选项库入口修复 */
.p86-btn{background:#10b981!important;color:#fff!important;border:0!important;border-radius:12px!important;font-weight:800!important;box-shadow:0 8px 18px rgba(16,185,129,.18)!important}
.p86-btn.secondary{background:#64748b!important}
.p86-floating{position:fixed;right:18px;bottom:86px;z-index:9998;display:flex;gap:8px;align-items:center}
.p86-floating button{border:0;border-radius:14px;padding:10px 14px;font-weight:800;background:#10b981;color:white;box-shadow:0 10px 22px rgba(15,23,42,.18);cursor:pointer}
.p86-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:10020;display:flex;align-items:center;justify-content:center;padding:20px}
.p86-modal{width:min(900px,96vw);max-height:86vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.28);border:1px solid rgba(148,163,184,.35)}
.p86-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#ecfeff,#f8fafc)}
.p86-modal-head h3{margin:0;font-size:20px;color:#0f172a}.p86-modal-head p{margin:4px 0 0;color:#64748b;font-size:13px}.p86-modal-head button{border:0;background:#64748b;color:#fff;border-radius:12px;padding:9px 13px;font-weight:800;cursor:pointer}
.p86-modal-body{padding:18px 22px}.p86-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px;padding:12px 14px;margin-bottom:12px}.p86-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:14px;padding:14px;margin:12px 0}.p86-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:14px;padding:14px;margin:12px 0}.p86-warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:14px;margin:12px 0}
.p86-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.p86-toolbar button,.p86-hub-btn{border:0;border-radius:12px;background:#10b981;color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}.p86-toolbar button.secondary{background:#64748b}.p86-pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:14px;padding:14px;overflow:auto;max-height:260px}.p86-table{width:100%;border-collapse:collapse;font-size:13px}.p86-table th,.p86-table td{border:1px solid #e2e8f0;padding:9px;text-align:left}.p86-table th{background:#f8fafc}.p86-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-weight:800}.p86-status.ok{background:#dcfce7;color:#166534}.p86-status.fail{background:#fee2e2;color:#991b1b}.p86-status.warn{background:#fef3c7;color:#92400e}.p86-status.info{background:#e0f2fe;color:#075985}
@media(max-width:720px){.p86-floating{right:10px;bottom:76px}.p86-floating button{padding:8px 10px}.p86-modal{width:98vw}.p86-modal-head{padding:14px}.p86-modal-body{padding:14px}}

/* ===== app-ui-final-v3-10-lts6-p8-7.css ===== */
/* v3.10-LTS6-P9.3 选项库联动巡检与清爽模式 */
.p87-btn{background:#0f766e!important;color:#fff!important;border:0!important;border-radius:12px!important;font-weight:800!important;padding:10px 14px!important;box-shadow:0 8px 18px rgba(15,118,110,.12)!important}
.p87-btn.secondary{background:#64748b!important}
.p87-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:99998;display:flex;align-items:center;justify-content:center;padding:20px}.p87-modal{width:min(980px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.25);border:1px solid rgba(148,163,184,.35)}.p87-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#ecfeff,#f8fafc)}.p87-modal-head h3{margin:0;font-size:22px;color:#0f172a}.p87-modal-head p{margin:6px 0 0;color:#64748b}.p87-modal-head button,.p87-toolbar button{border:0;border-radius:12px;padding:10px 14px;font-weight:800;background:#0f766e;color:white;cursor:pointer}.p87-modal-head button{background:#0f172a}.p87-toolbar button.secondary{background:#64748b}.p87-modal-body{padding:20px 22px}.p87-table{width:100%;border-collapse:separate;border-spacing:0;margin:8px 0 16px;border:1px solid #dbeafe;border-radius:14px;overflow:hidden}.p87-table th,.p87-table td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.p87-table th{background:#eff6ff;color:#0f172a}.p87-table tr:last-child td{border-bottom:0}.p87-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:900;font-size:12px}.p87-status.ok{background:#dcfce7;color:#166534}.p87-status.warn{background:#fef3c7;color:#92400e}.p87-status.fail{background:#fee2e2;color:#991b1b}.p87-status.info{background:#e0f2fe;color:#075985}.p87-note{background:#f0fdfa;border:1px solid #99f6e4;border-radius:14px;padding:14px;color:#115e59}.p87-error{background:#fee2e2;border:1px solid #fecaca;border-radius:14px;padding:14px;color:#991b1b}.p87-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.p87-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.p87-group{border:1px solid #dbeafe;border-radius:14px;padding:12px;background:#f8fafc;display:flex;justify-content:space-between;gap:10px}.p87-group span{font-weight:800;color:#0f766e}.p87-empty{color:#64748b;background:#f8fafc;border-radius:12px;padding:12px}.p87-floating{position:fixed;right:18px;bottom:86px;z-index:9990;display:flex;gap:8px}.p87-floating button{border:0;border-radius:999px;background:#0f766e;color:white;padding:11px 14px;font-weight:900;box-shadow:0 12px 30px rgba(15,118,110,.22)}.p87-hub-card{border:1px solid #99f6e4;background:#f0fdfa;border-radius:16px;padding:14px;margin:0 0 14px}.p87-hub-card h4{margin:0 0 10px;color:#115e59}.p87-clean-mode #userBox,.p87-clean-mode .user-box{box-shadow:0 10px 32px rgba(15,23,42,.08)!important}.p87-clean-mode .p86-floating,.p87-clean-mode .p84-floating,.p87-clean-mode #p86Floating{display:none!important}

/* ===== app-ui-final-v3-10-lts6-p8-8.css ===== */
/* v3.10-LTS6-P9.3 快捷登记字段配置版 */
body.p8-8-quick-form .quick-panel .p88-quick-tools{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
body.p8-8-quick-form .quick-panel .p88-quick-config-btn,
.p88-btn{border:0;border-radius:12px;background:#0f766e;color:#fff;font-weight:900;padding:8px 12px;cursor:pointer;box-shadow:0 8px 18px rgba(15,118,110,.12)}
body.p8-8-quick-form .quick-panel .p88-quick-config-btn.secondary,
.p88-btn.secondary{background:#64748b}
body.p8-8-quick-form #quickRechargePanel .pill-title{display:inline-flex;align-items:center;gap:10px;max-width:max-content}
body.p8-8-quick-form #quickRechargePanel .p88-quick-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
body.p8-8-quick-form #quickRechargePanel .quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 18px;align-items:end}
body.p8-8-quick-form #quickRechargePanel .quick-field.p88-hidden-core{display:none!important}
.p88-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.p88-modal{width:min(1040px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(15,23,42,.28);border:1px solid #dbeafe}
.p88-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e5edf8;background:linear-gradient(135deg,#f0fdfa,#eff6ff)}
.p88-modal-head h3{margin:0;font-size:22px;color:#0f172a}.p88-modal-head p{margin:5px 0 0;color:#64748b;font-weight:700}.p88-modal-head button{background:#64748b;color:#fff;border:0;border-radius:12px;padding:8px 14px;font-weight:900;cursor:pointer}
.p88-modal-body{padding:18px 20px}.p88-note{background:#ecfeff;border:1px solid #a5f3fc;border-radius:14px;padding:12px 14px;color:#0f766e;font-weight:800;margin-bottom:14px;line-height:1.55}.p88-warn{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.p88-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dbeafe;border-radius:16px;overflow:hidden}.p88-table th,.p88-table td{padding:10px;border-bottom:1px solid #e5edf8;text-align:left;font-size:14px}.p88-table th{background:#f8fafc;color:#0f172a;font-weight:900}.p88-table tr:last-child td{border-bottom:0}.p88-table input[type="number"]{width:86px;border:1px solid #cbd5e1;border-radius:10px;padding:7px 8px}.p88-table input[type="checkbox"]{width:18px;height:18px}.p88-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;background:#dbeafe;color:#1d4ed8}.p88-chip.custom{background:#fef3c7;color:#92400e}.p88-chip.core{background:#dcfce7;color:#166534}.p88-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.p88-actions button{border:0;border-radius:12px;padding:10px 14px;font-weight:900;background:#0f766e;color:white;cursor:pointer}.p88-actions button.secondary{background:#64748b}.p88-actions button.danger{background:#ef4444}.p88-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;text-align:center}.p88-status{display:inline-flex;border-radius:999px;padding:4px 10px;font-weight:900;font-size:12px}.p88-status.ok{background:#dcfce7;color:#166534}.p88-status.warn{background:#fef3c7;color:#92400e}.p88-status.fail{background:#fee2e2;color:#991b1b}.p88-mini{font-size:12px;color:#64748b;font-weight:700}.p88-field-label{display:flex;flex-direction:column;gap:2px}.p88-field-key{font-size:11px;color:#94a3b8;font-weight:700}
@media(max-width:760px){.p88-modal{width:98vw}.p88-table{font-size:12px}.p88-table th,.p88-table td{padding:8px}.p88-modal-head{padding:14px}.p88-modal-body{padding:14px}}

/* ===== app-ui-final-v3-10-lts6-p8-9.css ===== */
/* v3.10-LTS6-P9.3 快捷登记时间与账户匹配修复 */
.p89-time-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.p89-chip{border:0;border-radius:999px;background:#13b8a6;color:#fff;font-weight:800;padding:6px 12px;cursor:pointer;box-shadow:0 6px 14px rgba(19,184,166,.18)}
.p89-chip:hover{filter:brightness(.96)}
.p89-note{font-size:12px;line-height:1.55;color:#04756f;font-weight:700;margin-top:6px}
.p89-account-note[data-status="ok"]{color:#047857}
.p89-account-note[data-status="warn"]{color:#b45309}
.p89-account-note[data-status="loading"]{color:#2563eb}
.p89-keep{background:#0f766e!important;color:#fff!important}
.quick-field.p88-hidden-core{display:none!important}

/* ===== app-ui-final-v3-10-lts6-p8-10.css ===== */
/* v3.10-LTS6-P9.3 快捷登记计算与保存链路修复版 */
.p810-note{font-size:12px;color:#047857;margin-top:6px;line-height:1.45;font-weight:700}.p810-note[data-state="warn"]{color:#dc2626}.p810-note[data-state="loading"]{color:#2563eb}.p8-10-quick-save-fix [data-p88-key="actual_payment"]{background:#eef2f7!important;font-weight:800}.p8-10-quick-save-fix #p810CheckBtn{background:#0f766e!important;color:#fff!important}

/* ===== app-ui-final-v3-10-lts6-p8-11.css ===== */
/* v3.10-LTS6-P9.3 快捷登记计算与保存链路修复版 */
.p810-note{font-size:12px;color:#047857;margin-top:6px;line-height:1.45;font-weight:700}.p810-note[data-state="warn"]{color:#dc2626}.p810-note[data-state="loading"]{color:#2563eb}.p8-10-quick-save-fix [data-p88-key="actual_payment"]{background:#eef2f7!important;font-weight:800}.p8-10-quick-save-fix #p810CheckBtn{background:#0f766e!important;color:#fff!important}

/* ===== app-ui-final-v3-10-lts6-p8-12.css ===== */
/* v3.10-LTS6-P9.3 保存内核收敛修复版 */
.p8-12-save-kernel .p812-note{font-size:12px;color:#047857;margin-top:6px;font-weight:700;line-height:1.4}
.p8-12-save-kernel #p812CheckBtn{background:#0f766e!important;color:#fff!important}
.p8-12-save-kernel input[data-p88-key="actual_payment"],
.p8-12-save-kernel input[readonly]{background:#eef3f8}

/* ===== app-ui-final-v3-10-lts6-p8-13.css ===== */
/* v3.10-LTS6-P9.3 表格编辑事件接管与自动计算修复版 */
html[data-reserve-p8-13="1"] #fundTable input:focus,
html[data-reserve-p8-13="1"] #fundTable select:focus{ outline:2px solid rgba(20,184,166,.35); border-color:#14b8a6!important; }
.p813-note{ margin-top:6px; color:#047857; font-weight:700; font-size:12px; }
#p813CheckBtn{ background:#0f766e!important; color:white!important; }

/* ===== app-ui-final-v3-10-lts6-p8-14.css ===== */
/* v3.10-LTS6-P9.3 表格编辑/删除持久化收敛修复版 */
body.p8-14-edit-delete-core #p814CheckBtn{background:#0f766e;color:#fff;border-radius:10px;font-weight:900;}
body.p8-14-edit-delete-core #fundTable input:focus,
body.p8-14-edit-delete-core #fundTable select:focus{outline:2px solid rgba(20,184,166,.35);box-shadow:0 0 0 3px rgba(20,184,166,.12);}

/* ===== app-ui-final-v3-10-lts6-p8-15.css ===== */
/* P8.15 保存/删除/计算强接管样式 */
html[data-reserve-p8-15="1"] #fundTable{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;}
html[data-reserve-p8-15="1"] #fundTable th,
html[data-reserve-p8-15="1"] #fundTable td{box-sizing:border-box;white-space:nowrap;}
html[data-reserve-p8-15="1"] #fundTable input[readonly]{background:#eef2f7;font-weight:800;text-align:center;}
#p815CheckBtn{background:#0f766e!important;color:#fff!important;}


/* ===== v3.10-LTS6-P9.3 production core final guards ===== */
:root{--p9-serial-width:96px;--p9-date-width:132px;}
html[data-reserve-version="v3.10-LTS6-P9.3"] body{--app-version:"v3.10-LTS6-P9.3";}
body.p9-production-core .p9-hidden-old-entry{display:none!important;}
body.p9-production-core #fundTable,
body.p9-production-core #accountTable{width:max-content!important;min-width:100%!important;border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;}
body.p9-production-core #fundTable th,
body.p9-production-core #fundTable td,
body.p9-production-core #accountTable th,
body.p9-production-core #accountTable td{box-sizing:border-box!important;white-space:nowrap!important;vertical-align:middle!important;overflow:visible!important;}
body.p9-production-core #fundTable th:first-child,
body.p9-production-core #fundTable td:first-child{min-width:var(--p9-serial-width)!important;width:var(--p9-serial-width)!important;max-width:var(--p9-serial-width)!important;text-align:center!important;overflow:visible!important;}
body.p9-production-core #bodyRows tr td:first-child .row-serial,
body.p9-production-core #bodyRows tr td:first-child input:not([type="checkbox"]){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:48px!important;max-width:64px!important;height:28px!important;border-radius:10px!important;font-weight:800!important;color:#123b7a!important;background:#eef6ff!important;border:1px solid #cfe0f5!important;overflow:visible!important;}
body.p9-production-core #fundTable input:not([type="checkbox"]),
body.p9-production-core #fundTable select,
body.p9-production-core #fundTable textarea{min-width:80px;max-width:100%;box-sizing:border-box;}
body.p9-production-core #fundTable .readonly,
body.p9-production-core #fundTable input[readonly]{background:#e9eef5!important;color:#0f172a!important;font-weight:800!important;text-align:center!important;}
body.p9-production-core .p9-top-btn{background:#0f766e!important;color:white!important;border:0!important;border-radius:12px!important;padding:9px 13px!important;font-weight:800!important;box-shadow:0 6px 16px rgba(15,118,110,.14)!important;}
body.p9-production-core .p9-warn-btn{background:#f59e0b!important;color:#111827!important;}
body.p9-production-core .p9-danger-btn{background:#ef4444!important;color:white!important;}
body.p9-production-core .p9-status-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:800;margin:3px 6px 3px 0;}
body.p9-production-core .p9-table-wrap{overflow:auto!important;max-width:100%!important;}
body.p9-production-core .batch-toolbar, body.p9-production-core .p84-floating-actions{z-index:20!important;}
body.p9-production-core .p9-prod-banner{display:inline-flex;align-items:center;border-radius:999px;background:#dbeafe;color:#1e40af;font-weight:800;padding:7px 10px;margin-left:8px;}


/* P9.2 runtime guard */
.p9-hidden-old-entry{display:none!important}
.p9-top-btn{border:0;border-radius:12px;padding:9px 14px;margin:4px 6px 4px 0;background:#0f766e;color:#fff;font-weight:800;box-shadow:0 6px 16px rgba(15,118,110,.14);cursor:pointer}
.p9-warn-btn{background:#2563eb}
.p9-prod-banner{display:inline-flex;margin-left:12px;padding:6px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-size:13px;font-weight:800}
body.p9-2-version-lock .p9-hidden-old-entry{display:none!important}

/* P9.3 authority kernel marker */
.p9-3-authority-kernel #fundTable input[readonly]{background:#e9eef5;font-weight:800;}
.p9-3-authority-kernel .p9-top-btn{margin:4px 6px 4px 0;}


/* P9.6 快捷登记配置中心 */
.p96-modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;}
.p96-modal{width:min(760px,94vw);max-height:86vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(15,23,42,.28);padding:20px;border:1px solid #c7d2fe;}
.p96-modal-head{display:flex;align-items:center;justify-content:space-between;font-size:20px;margin-bottom:10px;}
.p96-modal-head button{border:0;background:#e2e8f0;border-radius:10px;font-size:24px;width:38px;height:38px;cursor:pointer;}
.p96-note{font-size:13px;color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:10px 12px;margin:8px 0 14px;}
.p96-config-list{display:grid;grid-template-columns:1fr;gap:8px;}
.p96-field-config-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid #dbeafe;border-radius:12px;padding:10px;background:#f8fbff;}
.p96-field-config-row label{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;}
.p96-field-config-row small{color:#64748b;margin-left:8px;font-weight:400;}
.p96-field-config-row button,.p96-modal-actions button{border:0;border-radius:10px;padding:8px 12px;background:#64748b;color:#fff;font-weight:700;cursor:pointer;}
.p96-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0;}
.p96-modal-actions button:first-child{background:#14b8a6;}
.p96-custom-quick-field select,.p96-custom-quick-field input{width:100%;}
#quickRechargePanel .quick-grid .quick-field[data-p96-hidden-core="1"]{display:none!important;}
.p96-quick-btn{background:#14b8a6!important;color:#fff!important;}

/* P9.7 快捷登记配置稳定弹窗 */
.p97-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px}
.p97-modal{width:min(880px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.35);padding:18px;color:#0f172a}
.p97-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:10px;font-size:18px}
.p97-modal-head button{border:0;background:#e2e8f0;border-radius:10px;padding:6px 12px;font-weight:800;cursor:pointer}
.p97-note{font-size:13px;color:#475569;margin:8px 0 12px}
.p97-list{display:flex;flex-direction:column;gap:8px}
.p97-row{display:grid;grid-template-columns:1fr auto auto auto auto;gap:8px;align-items:center;border:1px solid #dbeafe;background:#f8fbff;border-radius:12px;padding:8px}
.p97-row label{display:flex;gap:8px;align-items:center;min-width:0}
.p97-row b{min-width:88px}.p97-row small{color:#64748b;font-size:12px;word-break:break-all}
.p97-row button,.p97-actions button{border:0;background:#64748b;color:white;border-radius:10px;padding:7px 10px;font-weight:800;cursor:pointer;white-space:nowrap}
.p97-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px}
.p97-actions #p97SaveQuick{background:#14b8a6}
#p97AccountMatchHint{line-height:1.5}

/* =========================================================
   v3.10-LTS6-P9.8 快捷登记配置收敛样式
   目标：隐藏旧 P9.6/P9.7 配置入口，使用统一 P9.8 配置中心。
   ========================================================= */
#p97QuickConfigBtn,#p97QuickCheckBtn,#p97QuickConfigBtn2,#p97QuickConfigLocalBtn,#p97QuickCheckLocalBtn,#p97AccountRepairBtn,#p97CheckBtn{display:none!important;}
.p98-mask{position:fixed;inset:0;background:rgba(15,23,42,.46);z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;}
.p98-modal{width:min(1040px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.32);padding:18px;color:#0f172a;}
.p98-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:12px;margin-bottom:12px;}
.p98-head b{font-size:20px;font-weight:950;}
.p98-close{border:0;background:#e2e8f0;color:#64748b;border-radius:12px;width:42px;height:42px;font-size:22px;font-weight:900;cursor:pointer;}
.p98-note{font-size:13px;color:#475569;margin:8px 0 12px;line-height:1.6;}
.p98-list{display:flex;flex-direction:column;gap:8px;}
.p98-row{display:grid;grid-template-columns:48px minmax(170px,1.3fr) minmax(150px,1fr) 72px 72px 72px 72px;gap:8px;align-items:center;border:1px solid #dbeafe;background:#f8fbff;border-radius:12px;padding:9px 10px;}
.p98-row input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;accent-color:#0ea5e9;justify-self:center;margin:0!important;}
.p98-row .p98-name{font-weight:950;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.p98-row .p98-key{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}
.p98-row .p98-required{font-size:11px;color:#047857;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;padding:3px 8px;margin-left:6px;font-weight:900;}
.p98-row button,.p98-actions button{border:0;background:#64748b;color:#fff;border-radius:10px;padding:8px 10px;font-weight:900;cursor:pointer;white-space:nowrap;}
.p98-row button:hover,.p98-actions button:hover{filter:brightness(.96);}
.p98-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px;flex-wrap:wrap;}
.p98-actions .primary{background:#14b8a6!important;}
.p98-actions .danger{background:#ef4444!important;}
.p98-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 12px;}
.p98-toolbar button{border:0;background:#0ea5a4;color:#fff;border-radius:10px;padding:8px 10px;font-weight:900;cursor:pointer;}
#quickRechargePanel .p98-custom-field input,#quickRechargePanel .p98-custom-field select{width:100%;}
#quickRechargePanel .quick-field[data-p98-hidden-core="1"]{display:none!important;}
.p98-match-hint,.p98-time-hint{font-size:12px;color:#047857;font-weight:800;margin-top:6px;line-height:1.45;}
@media(max-width:820px){.p98-row{grid-template-columns:40px 1fr;}.p98-row .p98-key{grid-column:2;}.p98-row button{min-width:90px;}.p98-actions{justify-content:flex-start;}}

/* P9.9 quick form standardization */
.p99-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px}
.p99-modal{width:min(1180px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 24px 80px rgba(15,23,42,.25)}
.p99-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbeafe;padding-bottom:12px;margin-bottom:14px}.p99-head b{font-size:22px}.p99-head button{border:0;background:#e2e8f0;border-radius:14px;padding:10px 16px;font-weight:800}.p99-note{color:#475569;margin:10px 0 16px}.p99-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.p99-actions button,.p99-row button{border:0;border-radius:14px;padding:10px 16px;background:#64748b;color:#fff;font-weight:800}.p99-actions .primary{background:#14b8a6}.p99-actions .danger{background:#ef4444}.p99-list{display:grid;gap:10px}.p99-row{display:grid;grid-template-columns:56px minmax(180px,1fr) minmax(120px,180px) repeat(4,80px);gap:8px;align-items:center;border:1px solid #bfdbfe;border-radius:16px;background:#f8fafc;padding:10px}.p99-row input{width:24px;height:24px}.p99-name{font-size:18px;font-weight:900;color:#0f172a}.p99-key{font-size:13px;color:#64748b;word-break:break-all}.p9-9-quick-standard #quickRechargePanel .quick-grid{align-items:end}.p9-9-quick-standard #quickRechargePanel .quick-field label{font-weight:800;color:#0f172a}.p9-9-quick-standard #quickRechargePanel .p99-custom-field{display:block}
@media(max-width:900px){.p99-row{grid-template-columns:44px 1fr;}.p99-key{grid-column:2}.p99-row button{width:100%}}

/* P9.10 flexible quick form config */
.p910-mask{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.45);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:36px 16px}.p910-modal{width:min(1180px,96vw);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.25);padding:24px;color:#0f172a}.p910-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbeafe;padding-bottom:14px;margin-bottom:12px}.p910-head b{font-size:22px}.p910-head button{width:42px;height:42px;border:0;border-radius:14px;background:#e2e8f0;color:#fff;font-size:22px;font-weight:900}.p910-note{margin:8px 0 16px;color:#475569;font-size:15px}.p910-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.p910-actions button,.p910-row button,.p910-btn{border:0;border-radius:12px;background:#64748b;color:#fff;font-weight:800;padding:10px 14px;cursor:pointer}.p910-actions .primary,#p910Save{background:#14b8a6!important}.p910-actions .danger,#p910Cancel{background:#ef4444!important}.p910-list{display:flex;flex-direction:column;gap:10px;max-height:64vh;overflow:auto}.p910-row{display:grid;grid-template-columns:48px minmax(190px,1fr) minmax(150px,.7fr) repeat(4,90px);gap:8px;align-items:center;border:1px solid #bfdbfe;background:#f8fbff;border-radius:14px;padding:10px}.p910-row input[type="checkbox"]{width:24px;height:24px;justify-self:center}.p910-name{font-size:18px;font-weight:900}.p910-key{color:#64748b;word-break:break-all}.p910-custom-field label{font-weight:800}.p910-custom-field input,.p910-custom-field select{width:100%}@media(max-width:900px){.p910-row{grid-template-columns:44px 1fr;}.p910-row button{padding:8px}.p910-key{font-size:12px}}
