/* 临沂威特广场租赁管理系统 v15.2.0 */
/* 顶部方案 A：保留品牌蓝，缩小并弱化 Logo 白色卡片，副标题仅显示版本号；使用用户确认的威特广场标准 Logo。 */
header {
  padding: 14px 22px;
  background: linear-gradient(135deg, #1b55a6 0%, #2e78d5 100%);
}
.header-inner {
  min-height: 70px;
  gap: 20px;
}
.brand-block {
  gap: 18px;
}
.header-logo-wrap {
  width: 186px;
  height: 58px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 11px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,247,255,.92));
  box-shadow: 0 4px 14px rgba(7, 36, 83, .16);
  backdrop-filter: blur(4px);
  justify-content: center;
}
.header-logo {
  width: 166px;
  max-width: 100%;
  height: auto;
  max-height: 40px;
  object-fit: contain;
}
header h1 {
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: .01em;
}
header p {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 650;
  opacity: .86;
  letter-spacing: .04em;
}

/* 合同主列表删除“收费周期、下一收费期”两列，并缩短操作区。 */
.contracts-table {
  min-width: 2320px;
}
.contracts-table th:nth-child(23),
.contracts-table td:nth-child(23) {
  position: sticky;
  right: 0;
  min-width: 190px;
  max-width: 230px;
  box-shadow: -8px 0 12px -10px rgba(15,61,119,.65);
}
.contracts-table thead th:nth-child(23) {
  z-index: 6;
  background: #2f75a9;
}
.contracts-table tbody td:nth-child(23) {
  z-index: 3;
  background: #fff;
}
.contracts-table tbody tr:hover td:nth-child(23) {
  background: #f7fbff;
}
.contracts-table tbody tr.series-divider td:nth-child(23) {
  border-top: 3px solid #b9cce6;
}

/* 合同详情中的三类业务提供清楚但不抢眼的跳转入口。 */
.v142-detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.v142-detail-jump {
  border: 1px solid #b8d0ef;
  background: #eef6ff;
  color: #174ea6;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 750;
}
.v142-detail-jump:hover,
.v142-detail-jump:focus-visible {
  background: #dfeeff;
  outline: 2px solid rgba(31,111,235,.16);
}

/* 从合同详情跳转后显示精确合同段筛选，可一键清除。 */
.v142-context-filter {
  flex: 1 0 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid #a9c8ed;
  border-radius: 9px;
  background: #eef6ff;
  color: #174ea6;
  font-size: 12px;
  font-weight: 700;
}
.v142-context-filter.hidden {
  display: none !important;
}
.v142-context-filter button {
  flex: 0 0 auto;
  padding: 5px 9px;
  background: #fff;
  color: #174ea6;
  border: 1px solid #b8d0ef;
}

@media (max-width: 800px) {
  header { padding: 12px 14px; }
  .header-inner { min-height: 60px; }
  .header-logo-wrap { width: 158px; height: 50px; padding: 7px 9px; }
  .header-logo { width: 140px; max-height: 34px; }
  header h1 { font-size: 21px; }
}


/* V14.2.1：修复合同主表横向滚动时固定列透明、重叠或“透底”。
   使用独立层叠上下文、非透明单元格背景和 separate 边框模型，避免 Chromium 在
   border-collapse + sticky 组合下出现合成层空洞。 */
.table-card,
.table-wrap,
.contract-table-wrap {
  background: #fff;
}
.table-wrap {
  isolation: isolate;
}
.contracts-table {
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}
.contracts-table th,
.contracts-table td {
  background-clip: padding-box;
}
.contracts-table thead th {
  background-color: #2f75a9 !important;
  background-image: none !important;
}
.contracts-table tbody td {
  background-color: #fff;
}
.contracts-table tbody tr:hover td {
  background-color: #f7fbff;
}
.contracts-table thead th:nth-child(-n+4),
.contracts-table thead th:nth-child(23) {
  z-index: 12;
  background-color: #2f75a9 !important;
}
.contracts-table tbody td:nth-child(-n+4),
.contracts-table tbody td:nth-child(23) {
  z-index: 8;
  background-color: #fff !important;
  transform: translateZ(0);
}
.contracts-table tbody tr:hover td:nth-child(-n+4),
.contracts-table tbody tr:hover td:nth-child(23) {
  background-color: #f7fbff !important;
}
.contracts-table th:nth-child(4),
.contracts-table td:nth-child(4) {
  box-shadow: 8px 0 12px -10px rgba(15, 61, 119, .72);
}
.contracts-table th:nth-child(23),
.contracts-table td:nth-child(23) {
  box-shadow: -8px 0 12px -10px rgba(15, 61, 119, .72);
}

/* V15.2 基础治理中心 */
.admin-center-dialog{width:min(1450px,97vw)}.admin-center-body{max-height:78vh;background:#f5f8fc}.admin-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.admin-section{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:14px;margin-bottom:14px}.admin-section h3{margin:0 0 12px;color:#174ea6}.admin-cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:12px}.admin-card{border:1px solid #dbe3ef;border-radius:10px;padding:12px;background:#f9fbff}.admin-card span{display:block;color:#64748b;font-size:12px}.admin-card b{display:block;margin-top:6px;color:#174ea6;font-size:16px;word-break:break-word}.admin-create-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr 1.4fr auto;gap:8px;margin-bottom:12px}.admin-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end}.admin-settings-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.admin-table-wrap{overflow:auto;border:1px solid #e1e7ef;border-radius:10px}.admin-table{min-width:980px}.admin-table th{position:sticky;top:0}.admin-table input:not([type=checkbox]),.admin-table select{min-width:110px;width:100%}.admin-agent{max-width:350px;white-space:normal;word-break:break-word;text-align:left}.admin-table .actions{flex-wrap:wrap}.admin-center-dialog .notice{margin:0}.login-screen{background-image:linear-gradient(90deg,rgba(255,255,255,.02) 0%,rgba(10,55,112,.04) 48%,rgba(4,38,88,.38) 100%),url('/login-bg-v15.webp?v=15.2.0')!important}
@media(max-width:900px){.admin-cards{grid-template-columns:repeat(2,1fr)}.admin-create-grid,.admin-settings-grid{grid-template-columns:1fr}}

/* V15.2 数据库结构治理 */
.admin-structure-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.admin-structure-actions button{min-width:190px}
