/* 雷驰全站UI可读性补丁 - 2026-06-12
   目标：统一最低字号、表格横向适配、按钮与卡片细节；低侵入，不覆盖业务布局。 */
:root{--lc-blue:#1f5aa6;--lc-navy:#102a55;--lc-cyan:#00a3ff;--lc-bg:#f4f7fb;--lc-border:#e8edf5;--lc-muted:#7b8798}
html{font-size:14px;-webkit-text-size-adjust:100%}
body{font-size:14px;line-height:1.65;text-rendering:optimizeLegibility}
small,.mini,.muted,.label{font-size:max(13px,.86rem)}
button,.btn,input,select,textarea{font-size:14px}
table{font-size:14px;max-width:100%}th{font-weight:900}td{line-height:1.55}
.table-wrap,.table-container,.lc-perm-table-wrap,.project-table-wrapper,.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.card,.panel,.stat-card{backface-visibility:hidden}
.btn,button{touch-action:manipulation}
img{max-width:100%}
@media(max-width:768px){html{font-size:14px}body{overflow-x:hidden}.content,.container,.main-content{max-width:100%;overflow-x:hidden}table{min-width:max-content}.table,.project-table{min-width:720px}}


/* 2026-06-13 LC四大系统公共表格稳定补丁：低侵入，只兜底滚动/隐藏/金额/拖拽 */
.table-container,
.table-wrap,
.project-table,
.project-table-wrap,
.lc-perm-table-wrap {
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges;
}
.table-container table,
.table-wrap table,
.project-table table,
.project-table-wrap table,
.lc-perm-table-wrap table {
  border-collapse: separate;
  border-spacing: 0;
}
/* 隐藏列必须彻底不占位，避免展开/折叠后右侧空白 */
table col.hidden-col,
table th.hidden-col,
table td.hidden-col,
table col.lcui-hidden-col,
table th.lcui-hidden-col,
table td.lcui-hidden-col {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
}
/* 金额/数字类默认一行显示，避免 ¥ 金额被拆行 */
td.money,
td.amount-nowrap,
td.amount-cell,
td.amount-main-cell,
td.amount-split-value,
td[class*="amount"],
td[class*="money"],
th[class*="金额"],
td.num,
td.number {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-variant-numeric: tabular-nums !important;
}
/* 拖拽手柄置顶，避免被 sticky 表头或按钮遮挡 */
.lcui-resize-handle,
th .lcui-resize-handle,
th .col-resizer,
th .resize-handle {
  z-index: 30 !important;
  pointer-events: auto !important;
  touch-action: none !important;
}
@media (max-width: 768px) {
  .table-container,
  .table-wrap,
  .project-table,
  .project-table-wrap,
  .lc-perm-table-wrap {
    max-width: 100vw !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
  }
  .table-container::after,
  .table-wrap::after,
  .project-table::after,
  .project-table-wrap::after {
    content: "左右滑动查看完整表格";
    display: block;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    text-align: center;
    color: rgba(226, 232, 240, .66);
    font-size: 12px;
    letter-spacing: .5px;
  }
}


/* 2026-06-13 LC四大系统移动端公共布局兜底：只作用于 <=768px */
@media (max-width: 768px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body {
    padding-left: env(safe-area-inset-left) !important;
    padding-right: env(safe-area-inset-right) !important;
  }
  .container,
  .content,
  .main-content,
  .main,
  .app,
  .panel,
  .preview-panel,
  .card {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .header,
  .mobile-header,
  .preview-title,
  .card-title,
  .panel-title,
  .toolbar,
  .filter-bar,
  .search-bar,
  .actions,
  .action-bar {
    flex-wrap: wrap !important;
    gap: 8px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .header h1,
  .brand-center h1,
  .preview-title h2,
  .preview-title h3,
  .card-title,
  .panel-title {
    font-size: clamp(18px, 5vw, 24px) !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }
  .brand-center {
    position: static !important;
    transform: none !important;
    margin: 0 auto !important;
    justify-content: center !important;
    max-width: 100% !important;
  }
  .user-info,
  .header .user-info,
  .header-actions,
  .preview-actions,
  .btn-group,
  .modal-btns,
  .modal-footer,
  .confirm-actions {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .btn,
  button,
  .btn-primary,
  .btn-secondary,
  .btn-success,
  .btn-warning,
  .btn-danger,
  .btn-add {
    min-height: 36px !important;
    max-width: 100% !important;
    white-space: nowrap;
  }
  .preview-actions .btn,
  .header-actions .btn,
  .toolbar .btn,
  .actions .btn,
  label.btn {
    flex: 0 1 auto !important;
  }
  .stats-grid,
  .stats-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  input,
  select,
  textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .form-row,
  .form-row-2,
  .form-row-3,
  .form-grid,
  .modal-form,
  .amount-split-row {
    grid-template-columns: 1fr !important;
  }
  .modal-overlay {
    padding: 10px !important;
    align-items: flex-start !important;
    overflow-y: auto !important;
  }
  .modal {
    width: min(100%, 720px) !important;
    max-width: 100% !important;
    max-height: calc(100vh - 24px - env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
  }
  .modal-body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .filter-panel {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(70vh, 520px) !important;
    overflow-y: auto !important;
  }
  .pagination,
  .table-pager,
  .lcgc-table-footer,
  .pager,
  .page-nav {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  }
}
