.login-brand h1 {
  line-height: 1.24;
}

:root {
  --green: #c7a35d;
  --green-dark: #8f6a2d;
  --green-soft: #f7f0e2;
  --ink: #121b2c;
  --muted: #6f7785;
  --line: #e2e5eb;
  --bg: #f3f5f8;
}

.login-view {
  background: linear-gradient(130deg, #eef1f6 0%, #ffffff 52%, #e8edf5 100%);
}

.employee-login-view {
  grid-template-columns: minmax(0, 460px);
  justify-content: center;
  padding: 24px;
}

.employee-login-view .login-card {
  padding: 32px;
  border-radius: 8px;
}

.employee-login-view .login-network-notice {
  justify-content: center;
  margin: 0 0 18px;
  text-align: center;
  font-weight: 700;
}

.employee-login-view .error {
  margin: 12px 0 0;
}

.employee-login-view .error:empty {
  display: none;
}

@media (max-width: 900px) {
  body {
    min-width: 0;
  }

  .employee-login-view {
    padding: 16px;
  }

  .employee-login-view .login-card {
    padding: 24px 20px;
  }

  .app-shell {
    min-width: 1100px;
  }
}

.brand-mark {
  background: #0b3b2e;
  color: #d4b06a;
  box-shadow: 0 22px 45px rgba(17,27,45,.22);
}

.sidebar {
  background: #0b3b2e;
}

.side-brand > span {
  background: #d4b06a;
  color: #0b3b2e;
}

.salary-hero {
  background: linear-gradient(135deg, #0b3b2e, #17654f);
}
.salary-hero .salary-hero-person-name{margin:8px 0 0;color:#fff;font-size:18px;font-weight:900;line-height:1.25;letter-spacing:.4px;opacity:1}

.boss-income-viewer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
  padding: 15px 18px;
  border: 1px solid #d8e4df;
  background: linear-gradient(135deg, #f7fbf9, #fffaf0);
}

.boss-income-viewer-copy {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.boss-income-viewer-copy > span {
  flex: none;
  padding: 6px 10px;
  border-radius: 999px;
  background: #0b3b2e;
  color: #f2ddb2;
  font-size: 11px;
  font-weight: 800;
}

.boss-income-viewer-copy h3,
.boss-income-viewer-copy p {
  margin: 0;
}

.boss-income-viewer-copy p {
  margin-top: 3px;
  color: #68766f;
  font-size: 12px;
}

.boss-income-person-select {
  display: grid;
  grid-template-columns: auto minmax(220px, 310px) auto;
  align-items: center;
  gap: 8px;
  flex: none;
  color: #24483b;
  font-size: 13px;
  font-weight: 900;
}

.boss-income-person-select select {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #c9d8d2;
  border-radius: 10px;
  background: #fff;
  color: #173f31;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}

.boss-income-person-select small {
  color: #566b61;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.boss-income-viewer-controls{display:flex;align-items:center;gap:14px;flex:none;min-width:0}
.boss-income-period-select{display:grid;grid-template-columns:auto minmax(145px,190px) auto;align-items:center;gap:8px;color:#24483b;font-size:13px;font-weight:900}
.boss-income-period-select select{width:100%;height:40px;padding:0 12px;border:1px solid #c9d8d2;border-radius:10px;background:#fff;color:#173f31;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;font-weight:900;line-height:1.4}
.boss-income-period-select small{color:#566b61;font-size:12px;font-weight:800;white-space:nowrap}
.boss-income-period-select select option,
.boss-income-person-select select option{background:#fff;color:#173f31;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;font-weight:700}

@media (max-width: 900px) {
  .boss-income-viewer {
    align-items: stretch;
    flex-direction: column;
  }

  .boss-income-person-select {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .boss-income-viewer-controls{align-items:stretch;flex-direction:column;gap:9px}
  .boss-income-period-select{grid-template-columns:auto minmax(0,1fr) auto}
}

.primary {
  background: #b88c3f;
}

.primary:hover {
  background: #9c7332;
}

.nav-btn.active,
.nav-btn:hover {
  background: rgba(212,176,106,.16);
  color: #f2ddb2;
}
.sidebar nav{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(212,176,106,.3) transparent}.nav-btn.nav-month-start{border:1px solid rgba(70,190,139,.34);background:rgba(11,143,99,.16);color:#d9f4e8;font-weight:900}.nav-btn.nav-month-start:hover,.nav-btn.nav-month-start:focus-visible{border-color:rgba(106,216,168,.62);background:rgba(11,143,99,.28);color:#fff;outline:none}.nav-btn.nav-month-start span{color:#6ed2a7;font-size:18px;font-weight:900}

.performance-head,
.calc-head,
.calc-cell {
  background: #f7f0e2;
  color: #735323;
}

.adjust-head {
  background: #fff1e8;
  color: #a24d1d;
}

.adjustment-toggle {
  color: #76807b;
  border-color: #dfe5e2;
  background: #f7f9f8;
  font-weight: 600;
}

.adjustment-toggle:hover,
.adjustment-toggle.active {
  color: #76531d;
  border-color: #d8c49d;
  background: #fbf8f1;
}

.adjustment-toggle span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 5px;
  padding: 0 5px;
  border-radius: 9px;
  background: #a95c4d;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
}

.performance-toolbar {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.performance-import-btn {
  height: 44px;
  padding: 0 17px;
  border-radius: 11px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 7px 18px rgba(20, 57, 44, .15);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.performance-import-btn span {
  display: inline-block;
  margin-right: 7px;
  font-size: 16px;
}

.performance-import-icon {
  width: 27px;
  height: 27px;
  margin-right: 8px;
  flex: 0 0 auto;
  border-radius: 7px;
  object-fit: contain;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .14));
}

.performance-import-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.performance-import-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(20, 57, 44, .22);
  filter: brightness(1.04);
}

.aplus-import {
  background: linear-gradient(135deg, #0b4a38, #087a55);
}

.newhouse-import {
  background: linear-gradient(135deg, #0c7658, #18a878);
  color: #fff;
  box-shadow: 0 7px 18px rgba(12, 118, 88, .22);
}

.newhouse-table-import {
  background: linear-gradient(135deg, #0b4a38, #087a55);
  color: #fff;
  box-shadow: 0 7px 18px rgba(8, 90, 64, .24);
}
.newhouse-table-import .performance-import-label{margin-right:6px}
.newhouse-table-import-entry{display:flex;align-items:stretch;min-width:210px}
.newhouse-table-import-entry .newhouse-table-import{width:100%}
.newhouse-table-import-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 6px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:10px;font-weight:900;line-height:1.2;white-space:nowrap}
.newhouse-import-reminder{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:10px 13px;border:1px solid #b9cfe6;border-left:4px solid #2f5f98;border-radius:10px;background:#f2f7fc;color:#244c70;font-size:12px;line-height:1.4}
.newhouse-import-reminder b{color:#1f4f84;font-size:13px;font-weight:900}
.newhouse-import-reminder span{font-weight:800}
.newhouse-table-confirm-dialog{width:min(920px,94vw);max-height:92vh}
.newhouse-table-confirm-dialog .newhouse-confirm-layout{grid-template-columns:1fr;margin-top:14px}
.newhouse-table-confirm-dialog .newhouse-confirm-items{max-height:56vh}
.newhouse-table-confirm-dialog .newhouse-confirm-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.newhouse-table-date-field{margin-top:9px;max-width:210px}
.newhouse-same-amount-warning{display:grid;gap:5px;padding:11px 13px;border:1px solid #e2b35d;border-left:4px solid #bd7b18;border-radius:10px;background:#fff8e8;color:#5e431c;font-size:12px;line-height:1.45}
.newhouse-same-amount-warning b{color:#784d0e;font-size:13px}
.newhouse-same-amount-warning>span{font-weight:700}
.newhouse-same-amount-warning label{display:flex;align-items:center;gap:5px;color:#5e431c;font-weight:900}
.newhouse-same-amount-warning input{width:16px;height:16px;margin:0;accent-color:#b27a22}
.newhouse-address-duplicate-warning{display:grid;gap:4px;padding:10px 13px;border:1px solid #e3b9ae;border-left:4px solid #b75a43;border-radius:10px;background:#fff5f2;color:#713b30;font-size:12px;line-height:1.45}
.newhouse-address-duplicate-warning b{color:#873b2b;font-size:13px}
.newhouse-address-duplicate-warning span{font-weight:700}
.newhouse-identity-duplicate-warning{display:grid;gap:4px;padding:10px 13px;border:1px solid #9bc6b3;border-left:4px solid #087553;border-radius:10px;background:#effaf4;color:#164c3b;font-size:12px;line-height:1.45}
.newhouse-identity-duplicate-warning b{color:#075c42;font-size:13px}
.newhouse-identity-duplicate-warning span{font-weight:700}
.newhouse-identity-duplicate-warning small{color:#356b57;font-size:11px;font-weight:800}
.newhouse-boundary-warning{display:grid;gap:4px;padding:10px 13px;border:1px solid #e2b35d;border-left:4px solid #bd7b18;border-radius:10px;background:#fff8e8;color:#5e431c;font-size:12px;line-height:1.45}
.newhouse-boundary-warning b{color:#784d0e;font-size:13px}
.newhouse-boundary-warning span{font-weight:700}
.newhouse-boundary-warning label{display:flex;align-items:center;gap:5px;color:#5e431c;font-weight:900}
.newhouse-boundary-warning input{width:16px;height:16px;margin:0;accent-color:#b27a22}
.newhouse-period-note{display:grid;gap:4px;padding:10px 13px;border:1px solid #b7d2ea;border-left:4px solid #397bb2;border-radius:10px;background:#f1f7fc;color:#244c70;font-size:12px;line-height:1.45}
.newhouse-period-note b{color:#1f5f91;font-size:13px}
.newhouse-period-note span{font-weight:700}
.newhouse-table-message{position:fixed;left:50%;top:18px;z-index:1600;max-width:min(620px,calc(100vw - 32px));padding:12px 18px;border:1px solid #b9d8c8;border-left:4px solid #087553;border-radius:10px;background:#f5fcf8;color:#154b39;font-size:13px;font-weight:800;line-height:1.45;box-shadow:0 12px 30px rgba(15,69,50,.2);transform:translateX(-50%);}
@media(max-width:760px){.newhouse-table-confirm-dialog .newhouse-confirm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

.adjustment-note-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(18, 35, 29, .42);
  backdrop-filter: blur(3px);
}

.adjustment-note-dialog {
  width: min(560px, 94vw);
  padding: 22px;
  border: 1px solid #e2e8e5;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 65px rgba(20, 48, 38, .2);
}

.adjustment-note-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.adjustment-note-title b { font-size: 18px; color: #183e31; }
.adjustment-note-title p { margin: 6px 0 0; color: #7a8580; font-size: 13px; }
.dialog-close { border: 0; background: transparent; color: #88918d; font-size: 25px; cursor: pointer; }
.address-suggestion-label { margin: 20px 0 9px; color: #53615b; font-size: 13px; font-weight: 700; }
.address-suggestions { display: flex; flex-wrap: wrap; gap: 8px; max-height: 126px; overflow-y: auto; }
.address-suggestions button { padding: 7px 11px; border: 1px solid #d9e3de; border-radius: 9px; background: #f5f8f6; color: #315c4a; cursor: pointer; text-align: left; }
.address-suggestions button:hover { border-color: #c4a667; background: #fbf7ed; color: #735323; }
.no-address-suggestion { padding: 9px 0; color: #9aa39f; font-size: 13px; }
.adjustment-note-field { display: block; margin-top: 18px; color: #53615b; font-size: 13px; font-weight: 700; }
.adjustment-note-field input { box-sizing: border-box; width: 100%; height: 42px; margin-top: 8px; padding: 0 12px; border: 1px solid #d9e1dd; border-radius: 9px; font: inherit; font-weight: 400; outline: none; }
.adjustment-note-field input:focus { border-color: #b99a5d; box-shadow: 0 0 0 3px rgba(185, 154, 93, .12); }
.adjustment-note-example { margin-top: 8px; color: #9a7460; font-size: 12px; }
.adjustment-note-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }

.newcomer-settings-overlay .adjustment-note-dialog {
  display: flex;
  flex-direction: column;
  width: min(900px, 94vw);
  max-height: calc(100vh - 48px);
  overflow: hidden;
}

.newcomer-settings-overlay .adjustment-note-title,
.newcomer-settings-overlay .adjustment-note-actions {
  flex: 0 0 auto;
}

.newcomer-settings-list {
  display: grid;
  gap: 2px;
  min-height: 0;
  margin-top: 18px;
  padding-right: 8px;
  overflow-y: auto;
}

.newcomer-settings-list label {
  display: grid;
  grid-template-columns: 22px minmax(60px, 80px) 100px 100px 24px 140px 64px 34px minmax(48px, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 5px 8px;
  border-bottom: 1px solid #edf1ef;
  color: #2f4a40;
  font-size: 13px;
  font-weight: 700;
}

.newcomer-settings-list label:last-child { border-bottom: 0; }
.newcomer-settings-list .cell-input { width: 100%; min-width: 0; }

.adjustment-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 156px;
}

.adjustment-entry {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 128px;
  min-height: 42px;
  margin: 0 auto;
  padding: 6px 8px;
  border: 1px dashed #d8c1aa;
  border-radius: 7px;
  background: #fffaf5;
  color: #8a5a32;
}

.adjustment-entry-tooltip {
  position: absolute;
  pointer-events: none;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 40;
  display: none;
  width: max-content;
  max-width: min(360px, calc(100vw - 24px));
  min-width: 0;
  box-sizing: border-box;
  padding: 8px 10px;
  transform: translateX(-50%);
  border: 1px solid #d8e3dd;
  border-radius: 8px;
  background: #fff;
  color: #365349;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.7;
  text-align: center;
  overflow-wrap: anywhere;
  white-space: normal;
  max-height: 50vh;
  overflow: auto;
  box-shadow: 0 10px 26px rgba(31,62,49,.16);
}

.adjustment-entry-tooltip .tooltip-line,
.new-house-tooltip .tooltip-line,
.app-hover-tooltip .tooltip-line{display:block;white-space:nowrap;overflow-wrap:normal;line-height:1.6;text-align:center}

.adjustment-entry:hover .adjustment-entry-tooltip,
.adjustment-entry:focus .adjustment-entry-tooltip {
  display: block;
}

.employee-readonly-adjustment .adjustment-entry-tooltip {
  position: fixed;
  left: 0;
  top: 0;
  bottom: auto;
  max-width: calc(100vw - 24px);
  overflow-y: auto;
  transform: none;
  z-index: 10000;
}

.adjustment-entry:hover {
  border-style: solid;
  border-color: #bd8c5d;
  background: #fff5e9;
}

.adjustment-entry span {
  font-size: 12px;
  font-weight: 900;
}

.adjustment-entry small {
  display: block;
  max-width: 112px;
  overflow: hidden;
  color: #8b7765;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adjustment-entry.negative-adjust {
  border-color: #dda699;
  background: #fff7f4;
  color: #ad3828;
}

.adjustment-entry.positive-adjust {
  border-color: #9acdb6;
  background: #f4fbf7;
  color: #0b7251;
}

.adjustment-entry.empty-adjustment {
  width: 34px;
  min-height: 34px;
  padding: 0;
  border-color: #d7e2dc;
  background: #f8fbf9;
  color: #7f9188;
}

.adjustment-entry.empty-adjustment span:first-child {
  font-size: 17px;
  font-weight: 500;
}

.adjustment-editor-dialog {
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow: auto;
}

.adjustment-editor-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 18px;
}

.adjustment-editor-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #4d6259;
  font-size: 13px;
  font-weight: 800;
}

.adjustment-editor-field input,
.adjustment-service-fee input {
  box-sizing: border-box;
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #d6e2dc;
  border-radius: 8px;
  color: #244b3b;
  font-size: 13px;
  outline: none;
}

.adjustment-editor-field input:focus,
.adjustment-service-fee input:focus {
  border-color: #0b8f63;
  box-shadow: 0 0 0 3px rgba(11,143,99,.12);
}

.adjustment-segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border: 1px solid #dbe5e0;
  border-radius: 9px;
  background: #f4f7f5;
}

.adjustment-segmented button {
  height: 34px;
  border-radius: 6px;
  background: transparent;
  color: #62736b;
  font-size: 12px;
  font-weight: 800;
}

.adjustment-segmented button.active {
  background: #fff;
  color: #087553;
  box-shadow: 0 1px 4px rgba(35,73,57,.14);
}

.adjustment-editor-address {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #e1e9e5;
  border-radius: 9px;
  background: #fbfdfc;
}

.adjustment-payment-section {
  display: grid;
  grid-template-columns: 110px minmax(260px,1fr) minmax(200px,.8fr);
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 13px 14px;
  border: 1px solid #dce8e2;
  border-radius: 9px;
  background: #f5faf7;
}

.adjustment-payment-section>span,
.adjustment-service-fee span {
  color: #38574a;
  font-size: 12px;
  font-weight: 900;
}

.adjustment-service-fee {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.adjustment-payment-section.hidden,
.adjustment-service-fee.hidden {
  display: none;
}

.adjustment-multi-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 36px);
  overflow: auto;
}

.adjustment-multi-source {
  margin-top: 16px;
  padding: 13px 14px;
  border: 1px solid #dfe9e4;
  border-radius: 9px;
  background: #fbfdfc;
}

.adjustment-multi-source .adjustment-order-list {
  max-height: 150px;
}

.adjustment-ledger-source {
  margin-top: 10px;
  padding: 11px 12px;
  border: 1px solid #cfe3da;
  border-radius: 8px;
  background: #f5faf7;
}

.adjustment-ledger-source-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: #315a4b;
}

.adjustment-ledger-source-head b {
  font-size: 12px;
}

.adjustment-ledger-source-head span {
  color: #71827a;
  font-size: 9px;
}

.adjustment-ledger-options {
  display: grid;
  gap: 6px;
  max-height: 132px;
  margin-top: 8px;
  overflow-y: auto;
}

.adjustment-ledger-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  padding: 7px 9px;
  border: 1px solid #d7e7df;
  border-radius: 7px;
  background: #fff;
  color: #315448;
  text-align: left;
  cursor: pointer;
}

.adjustment-ledger-option:hover {
  border-color: #79b69d;
  background: #eef8f3;
}

.adjustment-ledger-option span,
.adjustment-ledger-option b,
.adjustment-ledger-option small {
  display: block;
  min-width: 0;
}

.adjustment-ledger-option b {
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adjustment-ledger-option small {
  margin-top: 2px;
  overflow: hidden;
  color: #7a8a82;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.adjustment-ledger-option strong {
  color: #087553;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.adjustment-ledger-option strong.negative {
  color: #b04a3b;
}

.adjustment-ledger-option em {
  color: #087553;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.adjustment-ledger-empty {
  padding: 10px;
  color: #829088;
  font-size: 10px;
  text-align: center;
}

.adjustment-multi-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-top: 16px;
  color: #294b3e;
}

.adjustment-multi-head b {
  font-size: 14px;
}

.adjustment-multi-head span {
  color: #7b8982;
  font-size: 11px;
}

.adjustment-detail-list {
  display: grid;
  gap: 9px;
  max-height: 330px;
  margin-top: 9px;
  overflow: auto;
  padding-right: 3px;
}

.adjustment-detail-item {
  padding: 11px 12px;
  border: 1px solid #dce7e1;
  border-radius: 8px;
  background: #fff;
}

.adjustment-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.adjustment-detail-head b,
.adjustment-detail-head small {
  display: block;
}

.adjustment-detail-head b {
  color: #174b38;
  font-size: 12px;
}

.adjustment-detail-head small {
  margin-top: 2px;
  color: #7a8982;
  font-size: 10px;
}

.adjustment-detail-remove {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: #fff1ed;
  color: #a84230;
  font-size: 16px;
}

/* 20261011-1353：未结件挂账明细的「确认本月扣」按钮与已确认标记（老板拍板方案A） */
.adjustment-detail-force-btn {
  border: 1px solid #b3261e;
  border-radius: 999px;
  background: #fdecea;
  color: #b3261e;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 10px;
  cursor: pointer;
  white-space: nowrap;
}

.adjustment-detail-force-btn:hover {
  background: #b3261e;
  color: #fff;
}

.adjustment-detail-forced-tag {
  border-radius: 999px;
  background: #e8f3ec;
  color: #0e7a46;
  font-size: 10px;
  font-weight: 700;
  font-style: normal;
  padding: 3px 10px;
  white-space: nowrap;
}

.adjustment-detail-grid {
  display: grid;
  grid-template-columns: 110px 120px minmax(180px,1fr) 170px 150px;
  gap: 8px;
  margin-top: 9px;
}

.adjustment-detail-grid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #60736a;
  font-size: 10px;
  font-weight: 800;
}

.adjustment-detail-grid input,
.adjustment-detail-grid select {
  box-sizing: border-box;
  width: 100%;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #d9e4de;
  border-radius: 6px;
  background: #fff;
  color: #294b3e;
  font-size: 11px;
  outline: none;
}

.adjustment-detail-grid input:focus,
.adjustment-detail-grid select:focus {
  border-color: #0b8f63;
  box-shadow: 0 0 0 2px rgba(11,143,99,.1);
}

.adjustment-detail-empty {
  padding: 24px;
  border: 1px dashed #d4dfda;
  border-radius: 8px;
  color: #839189;
  font-size: 12px;
  text-align: center;
}

.adjustment-multi-totals {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
}

.adjustment-multi-totals span {
  min-width: 190px;
  padding: 9px 12px;
  border: 1px solid #dbe8e1;
  border-radius: 8px;
  background: #f3faf6;
  color: #536b60;
  font-size: 11px;
}

.adjustment-multi-totals b {
  float: right;
  color: #087553;
  font-size: 14px;
}

.adjustment-category-dialog {
  width: min(620px, calc(100vw - 32px));
}

.adjustment-category-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin-top: 20px;
}

.adjustment-category-grid button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-height: 108px;
  padding: 14px;
  border: 1px solid #d9e5df;
  border-radius: 8px;
  background: #f8fbf9;
  color: #234b3a;
  text-align: left;
}

.adjustment-category-grid button:hover {
  border-color: #0b8f63;
  background: #f0faf5;
  box-shadow: 0 4px 12px rgba(25,92,66,.1);
}

.adjustment-category-grid span {
  font-size: 15px;
  font-weight: 900;
}

.adjustment-category-grid b {
  color: #087553;
  font-size: 13px;
}

.adjustment-category-grid small {
  color: #7b8982;
  font-size: 10px;
}

.adjustment-main {
  display: grid;
  grid-template-columns: 28px 72px 42px;
  align-items: center;
  gap: 4px;
}

.adjustment-cell input {
  width: 72px;
  height: 34px;
  padding: 0 6px;
  border: 1px solid #e1c7b4;
  border-radius: 7px;
  background: #fffaf6;
  text-align: center;
  outline: none;
  appearance: textfield;
  -moz-appearance: textfield;
}

.adjustment-cell input::-webkit-inner-spin-button,
.adjustment-cell input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.adjustment-type {
  width: 136px;
  height: 27px;
  padding: 0 5px;
  border: 1px solid #e1c7b4;
  border-radius: 6px;
  background: #fffaf6;
  color: #76502d;
  font-size: 11px;
  font-weight: 700;
  outline: none;
}

.adjustment-payout {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #0b7251;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.adjustment-payout input {
  width: 68px;
  height: 26px;
  border-color: #9acdb6;
  background: #f5fcf8;
  color: #0b7251;
}

.adjust-mode,
.adjust-note {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: #f5e3d5;
  color: #9c4f22;
  font-weight: 900;
}

.adjust-note {
  width: 42px;
  padding: 0 3px;
  font-size: 11px;
}

.adjustment-order-dialog {
  width: min(620px, calc(100vw - 32px));
}

.adjustment-order-search,
.adjustment-order-search-input {
  display: block;
}

.adjustment-order-search {
  margin-top: 18px;
  color: #53615b;
  font-size: 13px;
  font-weight: 800;
}

.adjustment-order-search-input,
.adjustment-reason-input {
  box-sizing: border-box;
  width: 100%;
  height: 42px;
  margin-top: 8px;
  padding: 0 12px;
  border: 1px solid #d9e1dd;
  border-radius: 9px;
  color: #29443a;
  font: inherit;
  font-weight: 400;
  outline: none;
}

.adjustment-order-search-input:focus,
.adjustment-reason-input:focus {
  border-color: #0b8f63;
  box-shadow: 0 0 0 3px rgba(11,143,99,.12);
}

.adjustment-order-list {
  display: grid;
  gap: 7px;
  max-height: 225px;
  margin-top: 10px;
  overflow: auto;
  padding-right: 3px;
}

.adjustment-order-option {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #dce7e1;
  border-radius: 8px;
  background: #f8fbf9;
  color: #234b3a;
  text-align: left;
}

.adjustment-order-option:hover {
  border-color: #b99a5d;
  background: #fffaf0;
}

.adjustment-order-option span {
  font-size: 13px;
  font-weight: 800;
}

.adjustment-order-option small {
  color: #728078;
  font-size: 11px;
}

.adjustment-order-empty {
  padding: 16px 10px;
  color: #8a9790;
  font-size: 12px;
  text-align: center;
}

.adjustment-manual-toggle {
  justify-self: start;
  margin-top: 8px;
  padding: 6px 10px;
  border: 1px dashed #c8a76a;
  border-radius: 7px;
  background: #fffaf0;
  color: #806024;
  font-size: 11px;
  font-weight: 800;
}

.adjustment-manual-toggle:hover {
  border-color: #a9823d;
  background: #fff4dc;
}

.adjustment-selected-order {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px dashed #cfdcd4;
  border-radius: 8px;
  color: #75837b;
  font-size: 12px;
}

.adjustment-selected-order.selected {
  border-color: #9acdb6;
  background: #f2fbf6;
  color: #0b7251;
}

.adjustment-selected-order.manual {
  border-color: #c8a76a;
  background: #fffaf0;
  color: #806024;
  font-weight: 800;
}

.performance-compact .performance-check-table.adjustments-open {
  min-width: 1520px !important;
}

.adjustment-selected-order b {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
}

.adjustment-selected-order small {
  margin-right: 12px;
  color: #648175;
}

.positive-adjust .adjust-mode {
  background: #e5f3eb;
  color: #177251;
}

.negative-adjust input {
  border-color: #df9b8c;
  color: #ad3828;
  font-weight: 800;
}

.positive-adjust input {
  border-color: #91c8ad;
  color: #16704f;
  font-weight: 800;
}

.adjustment-tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  z-index: 25;
  display: none;
  width: max-content;
  max-width: min(360px, calc(100vw - 24px));
  min-width: 0;
  box-sizing: border-box;
  padding: 8px 10px;
  transform: translateX(-50%);
  border: 1px solid #e0bda4;
  border-radius: 11px;
  background: #fffdfb;
  color: #68402d;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
  white-space: normal;
  max-height: 50vh;
  overflow: auto;
  box-shadow: 0 12px 30px rgba(60,35,20,.16);
}

.adjustment-tooltip b {
  display: block;
  margin-bottom: 4px;
  color: #a24d1d;
}

.adjustment-cell:hover .adjustment-tooltip,
.adjustment-cell:focus-within .adjustment-tooltip {
  display: block;
}

.other-adjustment-cell {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.other-adjustment-cell small {
  color: #0b7251;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.login-brand h1 span {
  color: #29443a;
  font-size: 30px;
  font-weight: 700;
}

.refresh-btn {
  height: 38px;
  padding: 0 14px;
  border: 1px solid #cfe3da;
  border-radius: 10px;
  background: #ffffff;
  color: #076849;
  font-weight: 700;
}

.refresh-btn:hover {
  border-color: #0b8f63;
  background: #eaf8f2;
}

/* 年月统一业务草稿：年份与月份共同决定数据容器。 */
.business-month-control{position:relative;display:grid;grid-template-columns:auto 112px;grid-template-rows:24px;align-items:center;column-gap:9px;min-width:246px;height:40px;padding:6px 10px;border:1px solid #d7e5de;border-radius:8px;background:#f7fbf9;color:#23483a}
.business-month-control>span{font-size:12px;font-weight:900;white-space:nowrap}
.business-month-control input{width:112px;height:28px;padding:0 5px;border:1px solid #a8cdbd;border-radius:6px;background:#fff;color:#0b5f45;font-size:13px;font-weight:900;outline:none;font-variant-numeric:tabular-nums}
.business-month-control input:focus{border-color:#087553;box-shadow:0 0 0 2px rgba(8,117,83,.12)}
.business-month-control input:disabled{border-color:#d7e3dd;background:#eef3f0;color:#476157;cursor:default;opacity:1}
.business-month-control small{grid-column:1/-1;color:#4d6d60;font-size:11px;font-weight:800;line-height:16px;white-space:nowrap}
.business-month-control i{position:absolute;right:0;top:45px;z-index:30;display:none;min-width:190px;padding:8px 10px;border:1px solid #94c9b2;border-radius:7px;background:#eef9f4;color:#075f43;box-shadow:0 8px 22px rgba(25,68,51,.14);font-size:12px;font-style:normal;font-weight:900;text-align:center;white-space:nowrap}
 .month-start-button{height:40px;padding:0 13px;border:1px solid #087553;border-radius:8px;background:#087553;color:#fff;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 3px 8px rgba(8,117,83,.16)}.month-start-button:hover,.month-start-button:focus-visible{border-color:#075f43;background:#075f43;outline:none}.month-start-button:disabled{border-color:#b7c9c0;background:#dbe5e0;color:#60766c;box-shadow:none;cursor:not-allowed}
 .salary-month-start-trigger{min-width:148px}
.history-start-button{height:40px;padding:0 12px;border:1px solid #b8872f;border-radius:8px;background:#fffaf0;color:#7b5b1f;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.history-start-button:hover,.history-start-button:focus-visible{border-color:#9b6d1e;background:#fff4dc;outline:none}.history-start-button:disabled{border-color:#d7e1dc;background:#eef3f0;color:#778981;cursor:not-allowed}
 .business-month-popover{position:fixed;z-index:1200;width:min(330px,calc(100vw - 24px));padding:14px;border:1px solid #b9d9cb;border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(17,55,40,.2);color:#23483a}.business-month-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.business-month-popover-head b{display:block;color:#153f31;font-size:14px;font-weight:900}.business-month-popover-head small{display:block;margin-top:4px;color:#557166;font-size:11px;font-weight:800;line-height:1.4}.business-month-popover-close{width:26px;height:26px;padding:0;border-radius:6px;background:#f1f5f3;color:#557166;font-size:18px;line-height:1}.business-month-popover-close:hover{background:#e4eee9;color:#153f31}.business-month-popover-field{display:grid;gap:6px;margin-top:14px;color:#315c4d;font-size:12px;font-weight:900}.business-month-popover-field input{width:100%;height:36px;padding:0 8px;border:1px solid #a8cdbd;border-radius:7px;background:#fff;color:#0b5f45;font-size:14px;font-weight:900;outline:none;box-sizing:border-box}.business-month-popover-field input:focus{border-color:#087553;box-shadow:0 0 0 2px rgba(8,117,83,.12)}.business-month-popover-current{display:block;margin-top:3px;color:#557166;font-size:11px;font-weight:800;line-height:1.35}.business-month-popover-current.invalid{color:#a24d1d}.business-month-popover-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.business-month-popover-actions button{height:34px;padding:0 12px;border-radius:7px;font-size:12px;font-weight:900}
.salary-history-popover{position:fixed;z-index:1200;width:min(340px,calc(100vw - 24px));padding:14px;border:1px solid #d7b76f;border-radius:10px;background:#fffdf7;box-shadow:0 16px 38px rgba(86,60,17,.2);color:#513d1f}.salary-history-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.salary-history-popover-head b{display:block;color:#5b421c;font-size:14px;font-weight:900}.salary-history-popover-head small{display:block;margin-top:4px;color:#7d6743;font-size:11px;font-weight:800;line-height:1.4}.salary-history-popover-close{width:26px;height:26px;padding:0;border-radius:6px;background:#f7ecd5;color:#7b643d;font-size:18px;line-height:1}.salary-history-popover-list{display:grid;gap:7px;margin-top:13px;max-height:300px;overflow:auto}.salary-history-month-option{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 9px;padding:9px 10px;border:1px solid #ead9b9;border-radius:7px;background:#fff;color:#5b421c;text-align:left;cursor:pointer}.salary-history-month-option:hover,.salary-history-month-option:focus-visible{border-color:#c39a4d;background:#fff7e8;outline:none}.salary-history-month-option span{font-size:13px;font-weight:900}.salary-history-month-option small{color:#806b49;font-size:10px;font-weight:800}.salary-history-month-option b{grid-column:2;grid-row:1 / span 2;align-self:center;color:#a67720;font-size:12px;font-weight:900}
.salary-income-compact{min-width:0!important;overflow-x:hidden}.salary-income-compact .app-shell{grid-template-columns:252px minmax(0,1fr);min-width:0}.salary-income-compact .main,.salary-income-compact .content{min-width:0;overflow-x:hidden}.salary-income-compact .topbar{min-width:0}.salary-income-compact .top-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.salary-income-compact .topbar{height:auto;min-height:72px;align-items:flex-start;flex-wrap:wrap;gap:8px;padding:10px 14px}.salary-income-compact .topbar>div:first-child{flex:1 1 150px;min-width:0}.salary-income-compact .top-actions{flex:1 1 100%;width:100%;justify-content:flex-start;gap:6px}.salary-income-compact .month-start-button,.salary-income-compact .history-start-button{flex:0 0 auto;padding-left:9px;padding-right:9px;font-size:11px}.salary-income-compact .business-month-control{flex:1 1 190px;min-width:190px}}
.business-month-control i.show{display:block}
.performance-undo-import-btn{display:grid!important;grid-template-rows:auto auto;align-content:center;min-width:112px!important;padding:3px 10px!important;border:1px solid #d1a65c!important;background:#fffaf0!important;color:#785318!important;box-shadow:none!important}
.performance-undo-import-btn span{font-size:11px;font-weight:900;line-height:15px}
.performance-undo-import-btn small{font-size:9px;font-weight:800;line-height:12px;white-space:nowrap}
.performance-undo-import-btn:hover{border-color:#b7812b!important;background:#fff4dc!important}
@media(max-width:1280px){.top-actions{gap:8px}.business-month-control{min-width:224px;grid-template-columns:auto 104px;padding-left:8px;padding-right:8px}.business-month-control input{width:104px}.performance-compact .performance-import-actions{flex-wrap:wrap}.performance-compact .performance-import-actions>span{display:none}}
.employee-income-mode .business-month-control{min-width:218px;grid-template-columns:auto 104px;height:50px}.employee-income-mode .business-month-control input{width:104px}

.table-action {
  margin-right: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #eaf8f2;
  color: #076849;
  font-weight: 700;
}

.danger-action {
  background: #fff0f0;
  color: #b63d3d;
}

.salary-sheet-wrap {
  max-height: 64vh;
}

.performance-check-table thead th,
.wage-calc-table thead th {
  position: sticky;
  top: 0;
  z-index: 8;
  box-shadow: 0 1px 0 #d6e3dd, 0 5px 10px rgba(20, 66, 49, .06);
}

.performance-check-table thead th:nth-child(n+3) {
  text-align: center;
  vertical-align: middle;
}

.cell-input {
  width: 92px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #dce8e2;
  border-radius: 8px;
  background: #fbfdfc;
  outline: none;
}

.cell-input:focus {
  border-color: #0b8f63;
  box-shadow: 0 0 0 2px #eaf8f2;
}

.cell-input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.cell-input[type="number"]::-webkit-inner-spin-button,
.cell-input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.rate-input {
  width: 70px;
  color: #076849;
  font-weight: 700;
}

.rate-box {
  display: flex;
  align-items: center;
  gap: 6px;
}

.special-rate {
  padding: 4px 6px;
  border-radius: 7px;
  background: #eaf8f2;
  color: #076849;
  font-weight: 700;
  white-space: nowrap;
}

.special-rate-box {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.wage-calc-table .special-rate-box {
  min-width: 118px;
  align-items: stretch;
  gap: 4px;
}

.wage-calc-table .special-rate-box .special-rate {
  display: block;
  padding: 3px 4px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.wage-calc-table .special-rate-other {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #245744;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.wage-calc-table .special-rate-other .rate-input {
  width: 58px !important;
}

.fixed-rate {
  display: inline-block;
  padding: 7px 9px;
  border-radius: 8px;
  background: #eaf8f2;
  color: #076849;
  font-weight: 800;
  white-space: nowrap;
}

.store-total-row td {
  background: #eef8f3;
  color: #075d43;
  font-weight: 800;
}

.person-name-cell {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.company-performance-name {
  text-align: center !important;
  vertical-align: middle;
  font-weight: 700;
  color: #174b3a;
  letter-spacing: .3px;
}

.wage-calc-table .company-performance-payroll-row .company-performance-value {
  color: #087553;
  font-size: 13px;
  font-weight: 900;
  background: #f1f9f5;
}

.wage-calc-table .company-performance-payroll-row .company-performance-spacer {
  padding: 0;
  background: #fff;
}

.wage-calc-table .company-performance-payroll-row:hover .company-performance-spacer {
  background: #fff;
}

.bp-payroll-row td {
  background: #fafbf9;
}

.owner-note {
  color: #b46914;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.full-payroll-table {
  min-width: 3400px;
}

.performance-check-table {
  min-width: 1380px;
}

.performance-compact .app-shell{grid-template-columns:205px 1fr}
.performance-compact .sidebar{padding:18px 12px 14px}
.performance-compact .side-brand{padding:0 6px 18px}
.performance-compact .nav-btn{height:39px;padding:0 10px;font-size:13px}
.performance-compact .topbar{height:76px;padding:0 20px}
.performance-compact .topbar h2{font-size:21px}
.performance-compact .content{max-width:none;padding:10px 16px 18px}
.performance-compact .notice{margin-bottom:8px;padding:9px 12px;font-size:11px}
.performance-compact .panel{margin-top:8px;padding:10px 12px;border-radius:12px}
.performance-compact .panel-head{margin-bottom:9px;gap:10px}
.performance-compact .panel-head h3{font-size:15px}
.performance-compact .small-note{font-size:10px;line-height:1.45}
.performance-compact .performance-toolbar{gap:6px;flex-wrap:nowrap}
.performance-compact .performance-toolbar button{height:34px;padding:0 9px;font-size:10px;border-radius:8px}
.performance-compact .filter-select{height:34px;max-width:112px;padding:0 7px;font-size:10px}
.performance-compact .salary-sheet-wrap{max-height:calc(100vh - 185px)}
.performance-compact .performance-check-table{min-width:1080px;table-layout:fixed;font-size:11px}
.performance-compact .performance-check-table th,.performance-compact .performance-check-table td{padding:7px 4px;text-align:center}
.performance-compact .performance-check-table th{white-space:normal;line-height:1.25}
.performance-compact .performance-check-table th:first-child,.performance-compact .performance-check-table td:first-child{width:86px}
.performance-compact .performance-check-table th:nth-child(2),.performance-compact .performance-check-table td:nth-child(2){width:76px}
.performance-compact .performance-check-table th:last-child,.performance-compact .performance-check-table td:last-child{width:86px}
.performance-compact .performance-check-table .cell-input{width:76px;height:29px;padding:0 4px;font-size:11px;border-radius:6px}
.performance-compact .other-performance-cell{min-width:76px}
.performance-compact .owner-note{font-size:8px}
.performance-compact .performance-total-row td{padding:8px 4px!important;font-size:11px!important}
.performance-compact .performance-check-table.adjustments-open{min-width:1250px}

.new-house-cell {
  position: relative;
  display: inline-block;
}

.new-house-tooltip {
  position: fixed;
  left: 0;
  top: 0;
  bottom: auto;
  z-index: 10000;
  display: none;
  width: max-content;
  max-width: min(620px, calc(100vw - 24px));
  min-width: 0;
  box-sizing: border-box;
  max-height: min(70vh, calc(100vh - 24px));
  overflow: auto;
  padding: 9px 11px;
  transform: none;
  border: 1px solid #badbcd;
  border-radius: 12px;
  background: #ffffff;
  color: #29443a;
  line-height: 1.7;
  text-align: center;
  overflow-wrap: anywhere;
  white-space: normal;
  box-shadow: 0 14px 35px rgba(20,35,29,.18);
}

.new-house-tooltip b {
  display: block;
  margin-bottom: 5px;
  color: #076849;
}

.new-house-cell:hover .new-house-tooltip,
.new-house-cell:focus-within .new-house-tooltip {
  display: block;
}

.new-house-cell.missing-detail .cell-input {
  border-color: #d78735;
  background: #fff8ee;
}

.new-house-cell.missing-detail .new-house-tooltip {
  color: #a85d15;
  border-color: #e7bb88;
}

@media (max-width: 520px) {
  .new-house-tooltip {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 8px 10px;
  }

  .new-house-tooltip .tooltip-line {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.55;
  }
}

.other-performance-cell{display:inline-block;min-width:96px}
.other-performance-cell .cell-input{cursor:pointer}
.other-performance-cell.unclassified-other .cell-input{border-color:#d79a21!important;background:#fff4bf!important;color:#865a00!important;font-weight:800}
.other-performance-tooltip{width:max-content;max-width:min(340px,calc(100vw - 24px));text-align:center}
.other-performance-tooltip div{line-height:1.9}
.app-hover-tooltip{position:fixed;left:0;top:0;z-index:12000;display:block;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100vw - 24px));min-width:0;max-height:50vh;overflow:auto;padding:6px 8px;border:1px solid #b8d4c5;border-radius:6px;background:#fff;color:#29443a;font-size:11px;font-weight:700;line-height:1.45;text-align:center;white-space:normal;overflow-wrap:anywhere;box-shadow:0 10px 22px rgba(20,45,33,.16);pointer-events:none}
.app-hover-tooltip div+div{margin-top:3px;padding-top:3px;border-top:1px solid #e4eee8}
.employee-other-performance span{display:flex;flex-direction:column;gap:4px}
.employee-other-performance small{max-width:420px;color:#718078;font-weight:400;line-height:1.5}
.employee-prior-settlement-income{cursor:pointer;background:#f2f7fb;box-shadow:inset 3px 0 0 #6794b5;transition:background .16s ease,box-shadow .16s ease}
.employee-prior-settlement-income span{display:flex;flex-direction:column;gap:4px;min-width:0}
.employee-prior-settlement-income small{color:#718078;font-size:11px;font-weight:500;line-height:1.45}
.employee-prior-settlement-income>b{color:#366e94;font-variant-numeric:tabular-nums}
.employee-prior-settlement-income:hover,.employee-prior-settlement-income:focus-visible{background:#e8f2f8;box-shadow:inset 3px 0 0 #397ca8;outline:none}
.employee-prior-settlement-income.empty-prior-settlement-income{cursor:default;background:transparent;box-shadow:none}
.employee-prior-settlement-income.empty-prior-settlement-income:hover,.employee-prior-settlement-income.empty-prior-settlement-income:focus-visible{background:transparent;box-shadow:none;outline:none}
.employee-prior-settlement-table td:first-child b,.employee-prior-settlement-table td:first-child small{display:block}
.employee-prior-settlement-table td:first-child small{margin-top:4px;color:#718078;font-size:10px}
.detail-row.employee-prior-settlement-entry{width:100%;border:0;color:inherit;text-align:left}
.employee-prior-settlement-entry[aria-expanded="true"]{background:#e8f2f8;box-shadow:inset 3px 0 0 #397ca8}
.employee-prior-settlement-panel{grid-column:1/-1;align-self:start;box-sizing:border-box;width:100%;height:max-content;min-width:0;margin:0!important}
.employee-prior-settlement-panel[hidden]{display:none}
.employee-prior-settlement-panel .prior-settlement-inline-table-wrap th,.employee-prior-settlement-panel .prior-settlement-inline-table-wrap td{font-size:12px}
.employee-prior-settlement-panel .prior-settlement-inline-table-wrap .ledger-address{text-align:center!important}
.employee-prior-settlement-panel .prior-settlement-inline-table-wrap .ledger-address b,.employee-prior-settlement-panel .prior-settlement-inline-table-wrap .ledger-address small{text-align:center}
.promotion-transfer-income-row span{display:flex;flex-direction:column;gap:4px}
.promotion-transfer-income-row small{color:#718078;font-size:11px;font-weight:500;line-height:1.45}
.promotion-transfer-income-row b{font-variant-numeric:tabular-nums}
.promotion-transfer-income-row.increase{background:#eef9f3;box-shadow:inset 3px 0 0 #19875f}
.promotion-transfer-income-row.increase>b{color:#087a55}
.promotion-transfer-income-row.decrease{background:#fff4f1;box-shadow:inset 3px 0 0 #d06a57}
.promotion-transfer-income-row.decrease>b{color:#a33b2e}
.promotion-transfer-income-note{display:block;margin-top:5px;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:0;color:#315c4d}
.promotion-transfer-income-note.increase{color:#087a55}
.promotion-transfer-income-note.decrease{color:#a33b2e}
.employee-income-performance span,.employee-unpaid-income span,.employee-other-income span,.manager-commission-income-row>span,.employee-gross-promotion span,.employee-tax-promotion span{display:flex;flex-direction:column;gap:4px;min-width:0}
.employee-income-performance small,.employee-unpaid-income small,.employee-other-income small,.manager-commission-income-row small,.employee-tax-promotion small{max-width:460px;color:#718078;font-size:11px;font-weight:500;line-height:1.45;white-space:normal}
.employee-income-performance-link{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
.employee-income-performance-link:hover,.employee-income-performance-link:focus-visible{background:#eef7f3;box-shadow:inset 3px 0 0 #19875f;outline:none}
.detail-row.employee-income-performance-entry{width:100%;border:0;color:inherit;text-align:left;cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
.employee-income-performance-entry:hover,.employee-income-performance-entry:focus-visible,.employee-income-performance-entry[aria-expanded="true"]{background:#eef7f3;box-shadow:inset 3px 0 0 #19875f;outline:none}
.employee-income-performance-entry>b{color:#087553;font-variant-numeric:tabular-nums}
.employee-performance-check-panel{grid-column:1/-1;align-self:start;box-sizing:border-box;width:100%;height:max-content;min-width:0;margin:0;border:1px solid #b9d9ca;border-left:4px solid #19875f;border-radius:9px;background:#fbfefc;box-shadow:0 5px 16px rgba(25,81,57,.08);overflow:hidden}
.employee-performance-check-panel[hidden]{display:none}
.employee-performance-check-head{display:flex;align-items:center;gap:16px;padding:11px 14px;border-bottom:1px solid #dcebe3;background:#fbfefc}
.employee-performance-check-head>div:first-child{display:flex;min-width:210px;flex:1 1 auto;flex-direction:column;gap:2px}
.employee-performance-check-head>div:first-child>span{color:#658477;font-size:10px;font-weight:800}
.employee-performance-check-head>div:first-child>b{color:#195a42;font-size:16px;font-weight:900}
.employee-performance-check-head>div:first-child>small{color:#728a80;font-size:11px;font-weight:700}
.employee-performance-check-total{display:flex;min-width:126px;flex:0 0 auto;flex-direction:column;gap:2px;padding-left:14px;border-left:1px solid #dcebe3;color:#668277;font-size:10px;font-weight:800}
.employee-performance-check-total strong{color:#087553;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.employee-performance-check-close{flex:0 0 auto;height:30px;padding:0 10px;border:1px solid #b7d9ca;border-radius:7px;background:#fff;color:#0b7655;font-size:11px;font-weight:900;cursor:pointer}
.employee-performance-check-close:hover,.employee-performance-check-close:focus-visible{border-color:#0b8f63;background:#e5f5ed;outline:none}
.employee-performance-check-table-wrap{max-width:100%;overflow:auto}
.employee-performance-check-panel .employee-income-performance-table{width:100%;min-width:900px;table-layout:fixed;border-collapse:collapse;font-size:12px}
.employee-performance-check-panel .employee-income-performance-table.with-adjustment{min-width:990px}
.employee-performance-check-panel .employee-income-performance-table th,.employee-performance-check-panel .employee-income-performance-table td{height:auto;padding:9px 7px;text-align:center!important;vertical-align:middle;font-size:12px;white-space:normal}
.employee-performance-check-panel .employee-income-performance-table th{position:static;background:#eef7f3;color:#315f4d;font-weight:900}
.employee-performance-check-panel .employee-income-performance-table tbody td{background:#fff;color:#29443a}
.employee-performance-check-panel .employee-income-performance-table tbody td:last-child{background:#eaf7f1!important;color:#078157!important;font-size:14px!important;font-weight:900!important}
@media(max-width:760px){.employee-performance-check-head{align-items:stretch;flex-direction:column;gap:9px}.employee-performance-check-head>div:first-child{min-width:0}.employee-performance-check-total{padding:0;border-left:0}.employee-performance-check-close{align-self:flex-start}}
.employee-unpaid-income{background:#edf8f2;box-shadow:inset 3px 0 0 #2a9a70}
.employee-unpaid-income>b{color:#176d50}
.employee-unpaid-income-link{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
.employee-unpaid-income-link:hover,.employee-unpaid-income-link:focus-visible{background:#e2f4ea;box-shadow:inset 3px 0 0 #16805a;outline:none}
.detail-row.employee-unpaid-income-entry{width:100%;color:inherit;text-align:left;cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
.detail-row.employee-unpaid-income-entry:hover,.detail-row.employee-unpaid-income-entry:focus-visible{background:#e2f4ea;box-shadow:inset 0 0 0 1px #86bea6;outline:none}
.employee-unpaid-income-entry[aria-expanded="true"]{background:#e2f4ea;box-shadow:inset 3px 0 0 #16805a}
.employee-unpaid-income-panel{grid-column:1/-1;display:grid;gap:9px;padding:12px 14px;border:1px solid #bad9ca;border-radius:8px;background:#f7fcf9;min-width:0}
.employee-unpaid-income-panel[hidden]{display:none}
.employee-unpaid-income-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#174d3a;font-size:12px;font-weight:900}
.employee-unpaid-income-panel-head b{color:#176d50;font-variant-numeric:tabular-nums}
.employee-unpaid-income-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #cfe2d8;border-radius:7px;background:#fff}
.employee-unpaid-income-table{width:100%;min-width:1160px;table-layout:fixed;font-size:12px}
.employee-unpaid-income-table th,.employee-unpaid-income-table td{padding:9px 7px;text-align:center;vertical-align:middle;white-space:normal;line-height:1.4}
.employee-unpaid-income-table th{background:#edf8f2;color:#254f40;font-size:12px;font-weight:900}
.employee-unpaid-income-table th:nth-child(1){width:220px;text-align:left}.employee-unpaid-income-table th:nth-child(2){width:90px}.employee-unpaid-income-table th:nth-child(3){width:85px}.employee-unpaid-income-table th:nth-child(4){width:125px}.employee-unpaid-income-table th:nth-child(5){width:100px}.employee-unpaid-income-table th:nth-child(6){width:100px}.employee-unpaid-income-table th:nth-child(7){width:80px}.employee-unpaid-income-table th:nth-child(8){width:110px}.employee-unpaid-income-table th:nth-child(9){width:130px}
.employee-unpaid-income-table .case-address{text-align:left}.employee-unpaid-income-table .case-address span,.employee-unpaid-income-table .case-address small{display:block}.employee-unpaid-income-table .case-address small{margin-top:4px;color:#786b55}
.employee-unpaid-number{color:#176d50;font-weight:900;font-variant-numeric:tabular-nums}.employee-unpaid-commission-number{color:#0b7553;font-weight:900;font-variant-numeric:tabular-nums}
.employee-unpaid-income-table .employee-settlement-method{display:flex;flex-direction:column;align-items:center;gap:4px}.employee-unpaid-income-table .employee-settlement-method small{color:#214f3e;font-size:12px;font-weight:800;line-height:1.35}.employee-unpaid-income-table .settlement-review{display:block;margin-top:5px;font-size:12px}.employee-unpaid-income-table .table-action{font-size:12px}
.employee-unpaid-income-table .evidence-submit-action{min-width:92px;height:34px;padding:0 12px;border:2px solid #0b4f85!important;border-radius:7px;background:#166ca8!important;color:#fff!important;font-size:12px!important;font-weight:900!important;box-shadow:0 4px 10px rgba(11,79,133,.24)}
.employee-unpaid-income-table .evidence-submit-action:hover,.employee-unpaid-income-table .evidence-submit-action:focus-visible{border-color:#073d68!important;background:#0f5689!important;box-shadow:0 0 0 3px rgba(22,108,168,.18),0 5px 12px rgba(11,79,133,.28);outline:none}
.employee-unpaid-income-table .employee-settlement-preview-action{display:inline-flex;align-items:center;justify-content:center;cursor:default;pointer-events:none;opacity:.78}
.employee-unpaid-income-material-tip{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border-radius:7px;background:#e6f5ed;color:#254f40;font-size:12px;font-weight:800;line-height:1.55}
.employee-unpaid-income-material-tip b{flex:0 0 auto;color:#176d50}
.employee-unpaid-income-material-tip span{min-width:0}
.unpaid-ledger-case .unpaid-ledger-reason{display:block;margin-top:6px;color:#5b3905;font-size:12px;font-weight:800;line-height:1.55;white-space:normal}
.employee-other-income{background:#f6f9f7}
.detail-row.employee-other-income-entry{width:100%;color:inherit;text-align:left;cursor:pointer;transition:background .16s ease,box-shadow .16s ease}
.detail-row.employee-other-income-entry:hover,.detail-row.employee-other-income-entry:focus-visible{background:#edf7f2;box-shadow:inset 0 0 0 1px #b9d9ca;outline:none}
.employee-other-income-entry[aria-expanded="true"]{background:#edf7f2;box-shadow:inset 3px 0 0 #19875f}
.employee-other-income-panel{align-self:start;min-width:0;display:grid;gap:9px;padding:12px 14px;border:1px solid #c8e0d4;border-radius:8px;background:#fbfdfc;box-shadow:inset 3px 0 0 #19875f}
.employee-other-income-panel[hidden]{display:none}
.employee-other-income-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#2f5145;font-size:12px;font-weight:900}
.employee-other-income-panel-head b{color:#087a55;font-variant-numeric:tabular-nums}
.employee-other-income-details{display:grid;gap:0;color:#38594d;font-size:12px;font-weight:700;line-height:1.55}
.employee-other-income-detail-line{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:start;padding:8px 0;border-top:1px solid #e0ebe5;text-align:left;white-space:normal;overflow-wrap:anywhere}
.employee-other-income-detail-line:first-child{border-top:0}
.employee-other-income-detail-line i{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#deeee6;color:#17694d;font-size:10px;font-style:normal;font-weight:900;line-height:1}
.detail-row.manager-commission-income-entry{width:100%;border:1px solid transparent;background:#f5f8f7;color:inherit;text-align:left;cursor:pointer;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease}
.detail-row.manager-commission-income-entry:hover,.detail-row.manager-commission-income-entry:focus-visible{border-color:#b9d9ca;background:#edf7f2;box-shadow:inset 0 0 0 1px #d6e9df;outline:none}
.manager-commission-income-entry[aria-expanded="true"]{border-color:#b9d9ca;background:#edf7f2;box-shadow:inset 3px 0 0 #19875f}
.manager-commission-income-panel{align-self:start;min-width:0;display:grid;gap:9px;padding:12px 14px;border:1px solid #c8e0d4;border-radius:8px;background:#fbfdfc;box-shadow:inset 3px 0 0 #19875f}
.manager-commission-income-panel[hidden]{display:none}
.manager-commission-income-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#2f5145;font-size:12px;font-weight:900}
.manager-commission-income-panel-head b{color:#087a55;font-variant-numeric:tabular-nums}
.manager-commission-income-table-wrap{min-width:0;overflow-x:auto;border:1px solid #e0ebe5;border-radius:7px;background:#fff}
.manager-commission-income-table-wrap table{width:100%;min-width:430px;border-collapse:collapse;table-layout:fixed}
.manager-commission-income-table-wrap col:nth-child(1){width:31%}
.manager-commission-income-table-wrap col:nth-child(2){width:25%}
.manager-commission-income-table-wrap col:nth-child(3){width:19%}
.manager-commission-income-table-wrap col:nth-child(4){width:25%}
.manager-commission-income-table-wrap th,.manager-commission-income-table-wrap td{padding:8px 7px;border-bottom:1px solid #e7efeb;color:#38594d;font-size:12px;line-height:1.35;text-align:center;vertical-align:middle;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.manager-commission-income-table-wrap th{background:#f1f8f4;color:#315f4d;font-weight:900;white-space:nowrap}
.manager-commission-income-table-wrap td{font-weight:800}
.manager-commission-income-table-wrap td:first-child{text-align:center}
.manager-commission-income-table-wrap tr:last-child td{border-bottom:0}
.manager-commission-income-table-wrap td.minus,.manager-commission-income-table-wrap .manager-refund-reversal td{color:#b93b3b}
.manager-commission-income-summary{display:grid;grid-template-columns:31% 25% 19% 25%;align-items:center;min-height:38px;border:1px solid #cfe4da;border-radius:7px;background:#edf7f2;color:#315f4d;font-size:12px;font-weight:900}
.manager-commission-income-summary span{grid-column:1/4;padding:8px 7px;text-align:center}
.manager-commission-income-summary b{grid-column:4;padding:8px 7px;color:#087a55;font-size:16px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}
.employee-gross-promotion{background:#f0f7f4;box-shadow:inset 3px 0 0 #6ca58e}
.employee-gross-promotion.transfer-in{background:#eef9f3;box-shadow:inset 3px 0 0 #19875f}
.employee-gross-promotion.transfer-out{background:#fff4f1;box-shadow:inset 3px 0 0 #d06a57}
.employee-tax-promotion{background:#e9f7f1;box-shadow:inset 3px 0 0 #087a55}
.employee-tax-promotion>b{color:#087a55;font-size:18px;font-variant-numeric:tabular-nums}
.employee-history-transfer{position:relative}
.employee-history-transfer small{display:block;color:#718078;font-size:10px;font-weight:500}
.employee-history-transfer.increase b{color:#087a55}
.employee-history-transfer.decrease b{color:#a33b2e}
.other-breakdown-dialog{width:min(520px,calc(100vw - 32px))}
.other-breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.other-breakdown-grid label{display:flex;flex-direction:column;gap:7px;color:#385047;font-size:13px;font-weight:700}
.other-breakdown-grid input{height:42px;padding:0 12px;border:1px solid #dce7e1;border-radius:9px;outline:none}
.other-breakdown-grid input:focus{border-color:#0b8f63;box-shadow:0 0 0 3px #eaf8f2}
.other-breakdown-grid .other-category-field{grid-column:1 / -1}
.other-breakdown-grid select{height:42px;padding:0 12px;border:1px solid #dce7e1;border-radius:9px;background:#fff;outline:none;color:#29443a}
.other-breakdown-grid select:focus{border-color:#0b8f63;box-shadow:0 0 0 3px #eaf8f2}

.performance-check-table tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 3;
}

.performance-total-row td {
  padding: 11px;
  background: #dff3e9 !important;
  color: #075d43 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-top: 2px solid #78bea0;
}

.performance-total-row .performance-total-label {
  text-align: center !important;
  vertical-align: middle;
  letter-spacing: .3px;
  font-weight: 800;
}

.performance-total-row td:not(.performance-total-label) {
  text-align: center !important;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.performance-check-table tbody td {
  text-align: center;
  vertical-align: middle;
}

.performance-check-table tbody td:first-child,
.performance-check-table tbody td:nth-child(2) {
  text-align: left;
}

.performance-check-table tbody .cell-input {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.accounts-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  color: #29493d;
  font-size: 12px;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.accounts-panel{display:flex;flex-direction:column;min-height:0;border-radius:8px}.accounts-panel .panel-head{margin-bottom:14px}.accounts-panel .panel-head h3{color:#163d30;font-size:18px}.accounts-panel .panel-head p{margin:5px 0 0;color:#64786f;font-size:12px;line-height:1.5}.accounts-panel .panel-head>.muted{color:#50675d;font-size:12px;font-weight:700}.accounts-table-wrap{max-height:calc(100vh - 250px);overflow-x:hidden;overflow-y:auto;border:1px solid #dce9e3;border-radius:7px}.accounts-table th{position:sticky;top:0;z-index:2;height:40px;padding:8px 6px;border-bottom:1px solid #cbded5;background:#edf6f2;color:#315c4d;text-align:center;font-size:11px;font-weight:900}.accounts-table td{height:48px;padding:7px 6px;text-align:center;vertical-align:middle}.accounts-table tbody tr:nth-child(even) td{background:#fbfdfc}.accounts-table th:nth-child(1){width:72px}.accounts-table th:nth-child(2){width:70px}.accounts-table th:nth-child(3){width:88px}.accounts-table th:nth-child(4){width:72px}.accounts-table th:nth-child(5){width:58px}.accounts-table th:nth-child(6){width:76px}.accounts-table th:nth-child(7){width:118px}.accounts-table th:nth-child(8){width:218px}.accounts-table td:nth-child(2){color:#48695c;font-weight:700}.accounts-table td:nth-child(3){color:#214c3d}.accounts-table td:nth-child(4){color:#687970}.accounts-table td:nth-child(5){font-weight:900}.account-name{color:#123e2f;font-size:13px;font-weight:900}.account-last-login{color:#3e5f52;font-weight:700;font-variant-numeric:tabular-nums}.account-actions{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.account-actions .table-action{height:31px;margin:0;padding:0 8px;border:1px solid #d4e2db;border-radius:6px;background:#fff;color:#415f53;font-size:11px;font-weight:800}.account-actions .table-action:hover{border-color:#aacabb;background:#f4faf7}.account-actions .danger-action{border-color:#edd4cf;color:#a24d41}.account-actions .danger-action:hover{border-color:#d9aaa1;background:#fff5f3}.login-record-action{border-color:#b9d9ca!important;color:#087553!important}.account-login-count{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:29px;padding:0 8px;border:1px solid #d5e5dd;border-radius:6px;background:#f5f8f7;color:#71827a;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.account-login-count.has-login{border-color:#9ecfb9;background:#e7f6ee;color:#087553}.account-history-error{margin:10px 0 0;color:#a9542c;font-size:12px}.account-loading{min-height:220px}.login-history-dialog{width:min(540px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 32px));border-radius:8px}.login-history-dialog .adjustment-note-title b{font-size:17px}.login-history-dialog .adjustment-note-title p{font-size:12px;line-height:1.5}.login-history-list{display:grid;gap:8px;max-height:430px;padding:14px 18px;overflow:auto}.login-history-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:11px;padding:11px 12px;border:1px solid #dce9e3;border-radius:7px;background:#fbfdfc}.login-history-item>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#e5f4ec;color:#087553;font-size:12px;font-weight:900}.login-history-item div{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-history-item b{color:#234c3d;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}.login-history-item small{color:#667b72;font-size:11px}.login-history-empty{padding:34px 16px}.login-history-empty h3{font-size:16px}.login-history-empty p{font-size:12px}.login-history-dialog .adjustment-note-actions{padding-top:10px}.login-history-dialog .dialog-done{height:38px;font-size:12px}.account-notice{margin-bottom:12px;color:#185540;font-size:13px;font-weight:700;line-height:1.55}

@media(max-width:1050px){.accounts-table th:nth-child(8){width:198px}.account-actions .table-action{padding:0 5px}.accounts-table th:nth-child(7){width:102px}}

.accounts-table th:nth-child(8){width:278px}.account-enter-action{border-color:#087553!important;background:#087553!important;color:#fff!important}.account-enter-action:hover{border-color:#075f45!important;background:#075f45!important}.admin-employee-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-2px 0 14px;padding:11px 14px;border-top:1px solid #b9d7ca;border-bottom:1px solid #b9d7ca;background:#eef8f3;color:#254f40}.admin-employee-preview-bar>div{display:flex;align-items:center;gap:10px;min-width:0}.admin-employee-preview-bar span{flex:0 0 auto;padding:4px 7px;border-radius:5px;background:#d9efe5;color:#087553;font-size:11px;font-weight:900}.admin-employee-preview-bar b{font-size:14px;font-weight:900}.admin-employee-preview-bar small{color:#657c72;font-size:11px}.admin-employee-preview-bar button{flex:0 0 auto;height:34px;padding:0 13px;border:1px solid #8ebda8;border-radius:6px;background:#fff;color:#087553;font-size:12px;font-weight:900}.admin-employee-preview-bar button:hover{background:#e4f3eb}@media(max-width:1050px){.accounts-table th:nth-child(8){width:256px}.admin-employee-preview-bar small{display:none}}

.password-panel {
  width: min(460px,100%);
  margin: 20px auto;
}

.password-panel label {
  display: block;
  margin: 15px 0 7px;
  font-size: 13px;
  font-weight: 700;
}

.password-panel input {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #dce8e2;
  border-radius: 10px;
}

.password-panel .primary {
  width: 100%;
  margin-top: 22px;
}

.attendance-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
}

.attendance-self-stack { display: grid; gap: 16px; min-width: 0; max-width: 100%; }
.attendance-self-stack > * { min-width: 0; max-width: 100%; }
.attendance-self-stack .attendance-quick-panel,
.attendance-self-stack .attendance-month-panel,
.attendance-self-stack .panel { width: 100%; box-sizing: border-box; }
.attendance-month-panel { margin-top: 0; }
.attendance-person-month-trigger { padding: 4px 0; border: 0; background: transparent; color: #176847; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.attendance-person-month-trigger:hover { color: #0d4931; }
.attendance-person-month-trigger:focus-visible { outline: 2px solid #176847; outline-offset: 3px; }
.attendance-person-month-dialog { box-sizing: border-box; width: min(980px,calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 20px; border: 1px solid #cfdbd4; border-radius: 8px; background: #fff; color: #263e32; overflow: auto; }
.attendance-person-month-dialog::backdrop { background: rgba(18,33,26,.38); }
.attendance-person-month-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.attendance-person-month-head h3 { margin: 0; font-size: 18px; }
.attendance-person-month-head .dialog-close { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; }
.attendance-person-month-nav { display: flex; align-items: center; gap: 8px; margin: 16px 0; }
.attendance-person-month-nav button { min-width: 38px; min-height: 38px; padding: 0 12px; border: 1px solid #cedcd3; border-radius: 6px; background: #f6f9f7; color: #254c37; cursor: pointer; }
.attendance-person-month-nav input { width: 172px; min-height: 38px; padding: 0 10px; border: 1px solid #cedcd3; border-radius: 6px; font: inherit; }
.attendance-person-month-tabs { display: flex; gap: 6px; margin: 0 0 14px; border-bottom: 1px solid #dce7e1; }
.attendance-person-month-tabs button { padding: 9px 16px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #668076; font: inherit; font-weight: 700; cursor: pointer; }
.attendance-person-month-tabs button.active { border-bottom-color: #157c59; color: #157c59; }
.attendance-mobile-preview { margin: 0; padding: 0; border: 0; box-shadow: none; }
.attendance-mobile-preview .panel-head { margin-bottom: 14px; }
.attendance-mobile-preview-calendar { overflow-x: auto; }
.attendance-mobile-preview-grid { display: grid; grid-template-columns: repeat(7,minmax(100px,1fr)); gap: 7px; min-width: 730px; }
.attendance-mobile-preview-day { min-height: 82px; padding: 8px; border: 1px solid #dce8e1; border-radius: 7px; background: #fff; display: flex; flex-direction: column; gap: 3px; color: #3f5f50; font-size: 12px; }
.attendance-mobile-preview-day b { color: #73867d; }
.attendance-mobile-preview-day strong { color: #2c563f; font-size: 13px; }
.attendance-mobile-preview-day span { color: #61796c; }
.attendance-mobile-preview-day.tone-normal { background: #edf8f0; border-color: #c7e4cf; }
.attendance-mobile-preview-day.tone-rest { background: #eef6fc; border-color: #c9dfef; }
.attendance-mobile-preview-day.tone-attention { background: #fff0eb; border-color: #f0c9bd; }
.attendance-mobile-preview-day.is-today { box-shadow: 0 0 0 2px rgba(20,130,89,.15); }
.attendance-mobile-preview-day.is-future,.attendance-mobile-preview-day.is-placeholder { background: #fafbfa; border-color: #e8eeeb; color: #a0ada7; }
.attendance-person-month-dialog .attendance-month-panel { margin: 0; padding: 0; border: 0; box-shadow: none; }
.attendance-person-month-dialog .attendance-calendar-day { min-height: 94px; padding: 6px 7px; border-radius: 6px; gap: 3px; }
@media(max-width:600px) {
  .attendance-person-month-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 12px; }
  .attendance-person-month-dialog .attendance-month-calendar { overflow-x: auto; }
  .attendance-person-month-dialog .attendance-calendar-weekdays,.attendance-person-month-dialog .attendance-calendar-grid { min-width: 560px; }
}
.attendance-month-head { align-items: flex-start; gap: 16px; }
.attendance-month-switch { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; padding: 4px; border: 1px solid #d8e5df; border-radius: 10px; background: #f5f8f6; }
.attendance-month-switch button { min-height: 32px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: #587166; font-size: 12px; font-weight: 900; cursor: pointer; }
.attendance-month-switch button.active { background: #157c59; color: #fff; box-shadow: 0 3px 8px rgba(21,124,89,.16); }
.attendance-long-leave-list { display: grid; gap: 6px; margin: 2px 0 10px; }
.attendance-long-leave-item { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid #d7e4ee; border-radius: 9px; background: #f3f8fc; color: #48675b; font-size: 12px; }
.attendance-long-leave-item span { min-width: 0; }
.attendance-long-leave-item span b { margin-right: 8px; color: #326c96; }
.attendance-long-leave-item strong { color: #244f6d; font-size: 12px; white-space: nowrap; }
.attendance-long-leave-item em { padding: 3px 7px; border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 900; white-space: nowrap; }
.attendance-long-leave-item em.request-approved { background: #dff1e7; color: #14724f; }
.attendance-long-leave-item em.request-pending { background: #fff0d8; color: #99611b; }
.attendance-month-calendar { display: grid; gap: 8px; margin-top: 4px; }
.attendance-calendar-weekdays,
.attendance-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 7px; }
.attendance-calendar-weekdays span { padding: 4px 2px; color: #47634f; font-size: 13px; font-weight: 900; text-align: center; }
.attendance-calendar-weekdays span:nth-last-child(-n+2) { color: #8a7049; }
.attendance-calendar-day { box-sizing: border-box; position: relative; display: flex; min-width: 0; min-height: 98px; padding: 9px 9px 8px; border: 1px solid #dfe9e4; border-radius: 11px; background: #fff; color: #446156; flex-direction: column; gap: 5px; overflow: hidden; }
.attendance-calendar-day.is-placeholder { border-color: transparent; background: transparent; }
.attendance-calendar-day.is-weekend:not(.is-placeholder):not(.is-rest):not(.is-leave):not(.is-exception) { background: #e8f5ee; }
.attendance-calendar-day.is-empty { background: #fbfcfb; }
.attendance-calendar-day.is-rest { border-color: #d3dde8; background: #eef2f7; }
.attendance-calendar-day.is-leave { border-color: #f1dcc3; background: #fdf1e3; }
.attendance-calendar-day.is-complete { border-color: #c8e4d3; background: #ebf7ef; }
.attendance-calendar-day.is-working { border-color: #c8e4d3; background: #ebf7ef; }
.attendance-calendar-day.is-exception { border-color: #f0c9bd; background: #fff0eb; }
.attendance-calendar-day.is-future { border-color: #e8eeeb; background: #fafbfa; color: #8d9b95; }
.attendance-calendar-day.is-today { border-color: #148259; box-shadow: 0 0 0 2px rgba(20,130,89,.13); }
.attendance-calendar-date { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; color: #1c4636; font-size: 15px; font-weight: 900; font-variant-numeric: tabular-nums; }
.attendance-calendar-day.is-today .attendance-calendar-date { border-radius: 999px; background: #148259; color: #fff; }
.attendance-calendar-day.is-future .attendance-calendar-date { color: #87948e; }
.attendance-calendar-status { min-width: 0; color: #315c4d; font-size: 13px; font-weight: 900; line-height: 1.25; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.attendance-calendar-day.is-exception .attendance-calendar-status { color: #b14730; }
.attendance-calendar-day.is-leave .attendance-calendar-date { color: #7a4b12; }
.attendance-calendar-day.is-leave .attendance-calendar-status { color: #8a5a20; }
.attendance-calendar-day.is-leave .attendance-calendar-times { color: #8a5a20; }
.attendance-calendar-day.is-rest .attendance-calendar-date { color: #46596f; }
.attendance-calendar-day.is-rest .attendance-calendar-status { color: #55657a; }
.attendance-calendar-day.is-rest .attendance-calendar-times { color: #5a6b80; }
.attendance-calendar-times { display: grid; gap: 1px; margin-top: auto; color: #4f665c; font-size: 11.5px; font-weight: 800; line-height: 1.25; font-variant-numeric: tabular-nums; }
.attendance-calendar-times span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.attendance-card,
.annual-card {
  margin-top: 0;
}

.clock-status {
  padding: 20px;
  border-radius: 14px;
  background: var(--green-soft);
  text-align: center;
}

.clock-status strong {
  font-size: 24px;
  color: var(--green-dark);
}

.clock-status p {
  margin: 10px 0 0;
  color: var(--muted);
}

.attendance-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.attendance-actions button {
  height: 44px;
}

.attendance-actions button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.annual-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.annual-card p {
  margin: 0;
  color: var(--muted);
}

.annual-card strong {
  color: var(--green-dark);
  font-size: 58px;
  line-height: 1.1;
}

.annual-card span {
  font-weight: 800;
}

.annual-card small {
  margin-top: 12px;
  color: var(--muted);
  line-height: 1.6;
}

.annual-card-subtle { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; min-height: 38px; margin: 0; padding: 8px 12px; border: 0; border-radius: 6px; background: transparent; text-align: left; opacity: .7; }
.annual-card-subtle span { color: #6d8178; font-size: 11px; font-weight: 700; }
.annual-card-subtle b { color: #526c60; font-size: 13px; font-weight: 800; }
.annual-card-subtle small { margin: 0; color: #82938b; font-size: 11px; line-height: 1.3; }

.attendance-leave-balance { display: grid; grid-template-columns: auto auto; align-items: baseline; justify-content: end; gap: 2px 8px; max-width: 430px; text-align: right; }
.attendance-leave-balance span { color: #6d8178; font-size: 11px; font-weight: 800; }
.attendance-leave-balance b { color: #234c3d; font-size: 18px; font-weight: 900; }
.attendance-leave-balance small { grid-column: 1 / -1; color: #82938b; font-size: 11px; line-height: 1.35; }
.attendance-annual-zero { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 12px; border: 1px solid #d5ded9; border-radius: 999px; background: #f4f7f5; color: #60736a; font-size: 12px; font-weight: 900; white-space: nowrap; }

.leave-form {
  display: grid;
  grid-template-columns: 110px minmax(0, 1.05fr) minmax(0, 1.05fr) minmax(0, 1fr) minmax(96px, auto);
  gap: 10px;
  min-width: 0;
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
}

.leave-form select,
.leave-form input {
  height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}

.leave-form-message { display: block; min-height: 18px; margin-top: 7px; color: #a2571e; font-size: 12px; font-weight: 800; line-height: 1.45; }
.attendance-leave-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;min-width:0}
.attendance-leave-title h3{margin:0}
.attendance-leave-title .small-note{margin:0;min-width:0}
.annual-leave-summary,.attendance-request-status { font-size: 12px; font-weight: 900; white-space: nowrap; }
.attendance-approval-tabs{display:inline-flex;align-items:center;gap:4px;margin:0 0 10px;padding:3px;border:1px solid #d7e5dd;border-radius:7px;background:#f5faf7}
.attendance-approval-tabs button{min-height:30px;padding:0 12px;border:0;border-radius:5px;background:transparent;color:#668075;font:800 12px/1 inherit;cursor:pointer}
.attendance-approval-tabs button.active{background:#087553;color:#fff;box-shadow:0 2px 5px rgba(8,117,83,.18)}
.attendance-approval-tabs button b{margin-left:3px;font-variant-numeric:tabular-nums}
.attendance-approval-panel .empty{padding:16px 20px;min-height:0}
.attendance-approval-panel [data-attendance-approval-content]{min-height:0}
.attendance-approval-panel .panel-head{margin-bottom:10px}
.attendance-approval-panel.is-empty{padding-bottom:9px}
.attendance-approval-panel.is-empty .panel-head{margin-bottom:6px}
.attendance-approval-panel.is-empty .attendance-approval-tabs{margin-bottom:4px}
.attendance-approval-panel.is-empty .empty{padding:7px 12px}
.attendance-bp-assist-panel{padding:0;overflow:visible;border-color:#c7ddd2;background:#fbfefc}
.attendance-bp-assist-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none;user-select:none}
.attendance-bp-assist-panel>summary::-webkit-details-marker{display:none}
.attendance-bp-assist-panel>summary h3{margin:0;color:#183f32;font-size:17px}
.attendance-bp-assist-panel>summary .small-note{margin:5px 0 0}
.attendance-bp-assist-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:92px;min-height:34px;padding:0 12px;border:1px solid #bcd6ca;border-radius:7px;background:#f4faf7;color:#087553;font-size:12px;font-weight:900;white-space:nowrap}
.attendance-bp-assist-toggle i{box-sizing:border-box;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.attendance-bp-assist-toggle .close-label{display:none}
.attendance-bp-assist-panel[open]>summary{border-bottom:1px solid #dce9e2}
.attendance-bp-assist-panel[open] .attendance-bp-assist-toggle .open-label{display:none}
.attendance-bp-assist-panel[open] .attendance-bp-assist-toggle .close-label{display:inline}
.attendance-bp-assist-panel[open] .attendance-bp-assist-toggle i{transform:rotate(225deg) translate(-1px,-1px)}
.attendance-bp-assist-body{padding:16px 18px 18px}
.attendance-bp-assist-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}
.attendance-bp-assist-form label{display:grid;gap:6px;min-width:0}
.attendance-bp-assist-form label[hidden]{display:none!important}
.attendance-bp-assist-form label>span{color:#5f746c;font-size:12px;font-weight:800}
.attendance-bp-assist-form input,.attendance-bp-assist-form select{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1px solid #cbdcd4;border-radius:6px;background:#fff;color:#183f32;font:700 13px/1 inherit}
.attendance-bp-assist-note{grid-column:span 5}
.attendance-bp-assist-form .primary{height:38px;margin:0;white-space:nowrap}
.attendance-bp-assist-message{display:block;min-height:18px;margin-top:8px;color:#a2571e;font-size:12px;font-weight:800}
.attendance-bp-assist-history{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:8px;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid #e0ebe5}
.attendance-bp-assist-history>b{color:#45665a;font-size:12px}
.attendance-bp-assist-history>span{display:grid;gap:2px;min-width:0;padding:8px 10px;border:1px solid #e0e9e5;border-radius:6px;background:#fff}
.attendance-bp-assist-history strong,.attendance-bp-assist-history i,.attendance-bp-assist-history small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-bp-assist-history strong{color:#173f35;font-size:13px}.attendance-bp-assist-history i{color:#516b62;font-size:11px;font-style:normal}.attendance-bp-assist-history small{color:#7a8e87;font-size:10px}

.request-list {
  margin-top: 15px;
  border-top: 1px solid var(--line);
}

.request-list > div {
  display: flex;
  justify-content: space-between;
  padding: 12px 4px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.request-pending { color: #a66a0a; }
.request-approved { color: #13805b; }
.request-rejected { color: #b63d3d; }

.attendance-stats {
  margin-bottom: 16px;
}
.attendance-leave-stat{position:relative;outline:none}
.attendance-leave-stat:focus-visible{border-color:#78ad96;box-shadow:0 0 0 3px rgba(8,117,83,.1)}
.attendance-leave-popover{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:12;display:block;width:min(360px,calc(100vw - 32px));min-width:300px;padding:14px 16px;border:1px solid #b8d3c6;border-radius:8px;background:#fff;color:#21483b;box-shadow:0 10px 26px rgba(22,67,51,.18);opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease;pointer-events:none}
.attendance-leave-stat:hover .attendance-leave-popover,.attendance-leave-stat:focus .attendance-leave-popover{opacity:1;visibility:visible;transform:translate(-50%,0)}
.attendance-leave-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e1ece5}
.attendance-leave-popover-head>div{min-width:0}
.attendance-leave-popover-head b{display:block;color:#173f35;font-size:14px;font-weight:900;line-height:1.25}
.attendance-leave-popover-head small{display:block;margin-top:3px;color:#789087;font-size:11px;font-weight:700}
.attendance-leave-popover-head>strong{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:#e4f1eb;color:#087553;font-size:12px;font-weight:900;white-space:nowrap}
.attendance-leave-popover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:11px}
.attendance-leave-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 9px;border:1px solid #e3eee8;border-radius:6px;background:#f8fcfa}
.attendance-leave-detail b{min-width:0;overflow:hidden;color:#21483b;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.attendance-leave-detail em{color:#3f735e;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}
.attendance-mobile-today-panel { display: none; }

.attendance-daily-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex: 0 0 auto; }
.attendance-daily-view-switch { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid #cfe0d7; border-radius: 7px; background: #f3f8f5; }
.attendance-daily-view-switch button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 5px; background: transparent; color: #4e6b60; font-size: 12px; font-weight: 900; white-space: nowrap; cursor: pointer; }
.attendance-daily-view-switch button:hover { background: #e7f2ed; color: #176b50; }
.attendance-daily-view-switch button.active { background: #087553; color: #fff; box-shadow: 0 2px 5px rgba(8,117,83,.18); }
.attendance-daily-view-switch button:disabled { cursor: not-allowed; color: #a3b7ad; background: transparent; }
.attendance-daily-view-switch button:disabled:hover { background: transparent; color: #a3b7ad; }
.attendance-daily-tools .filter-select { min-width: 136px; height: 40px; }

.attendance-exception-summary { margin-bottom: 16px; padding: 14px 16px; border: 1px solid #e7dcc2; border-radius: 8px; background: #fffaf0; }
.attendance-exception-title { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.attendance-exception-title b { color: #5d4818; font-size: 15px; font-weight: 900; }
.attendance-exception-title small { color: #866f3e; font-size: 12px; font-weight: 700; }
.attendance-exception-items { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.attendance-exception-items > span { display: grid; gap: 3px; padding: 9px 11px; border-radius: 6px; background: #f5f0df; color: #6f603b; font-size: 12px; font-weight: 800; }
.attendance-exception-items > span.has-exception { border: 1px solid #e2b36b; background: #fff1d8; color: #95551b; }
.attendance-exception-items > span.report.has-exception { border-color: #a8cbe0; background: #eef7fc; color: #356a86; }
.attendance-exception-items b { font-size: 16px; }
.attendance-exception-items small { color: inherit; font-size: 11px; font-weight: 700; line-height: 1.45; }
.attendance-daily-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 15px;padding:14px 0 0;border-top:1px solid #e2ece7}
.attendance-daily-roster-block{min-width:0;padding:12px 14px;border:1px solid #d7e5de;border-radius:8px;background:#fbfefc}
.attendance-daily-roster-block.rest{border-color:#cadbe7;background:#f7fbfd}
.attendance-daily-roster-block.workday{border-color:#d6d8b8;background:#fffef5}
.attendance-daily-roster-block.duty{border-color:#bcdcca;background:#f4fbf7}
.attendance-daily-roster-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.attendance-daily-roster-head>div{min-width:0}
.attendance-daily-roster-head b{display:block}
.attendance-daily-roster-head b{color:#315c4d;font-size:15px;font-weight:900;line-height:1.25}
.attendance-daily-roster-block.rest .attendance-daily-roster-head b{color:#3c6079}
.attendance-daily-roster-block.workday .attendance-daily-roster-head b{color:#6d641f}
.attendance-daily-roster-block.duty .attendance-daily-roster-head b{color:#196342}
.attendance-daily-roster-head b small{display:inline;margin-left:6px;margin-top:0;color:#71857c;font-size:11px;font-weight:700;line-height:1.4}
.attendance-daily-roster-head>strong{flex:0 0 auto;min-width:42px;padding:4px 8px;border-radius:999px;background:#e4f1eb;color:#087553;font-size:12px;font-weight:900;text-align:center;white-space:nowrap}
.attendance-daily-roster-block.rest .attendance-daily-roster-head>strong{background:#e6f0f6;color:#3c6079}
.attendance-daily-roster-block.workday .attendance-daily-roster-head>strong{background:#f0efcf;color:#6d641f}
.attendance-daily-roster-people{display:flex;flex-wrap:wrap;gap:7px 8px;margin-top:11px}
.attendance-daily-roster-person{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border:1px solid #d4e4dc;border-radius:999px;background:#fff;color:#315c4d;font-size:12px;font-weight:900;white-space:nowrap}
.attendance-daily-roster-block.rest .attendance-daily-roster-person{border-color:#d1e0eb;color:#3c6079}
.attendance-daily-roster-block.workday .attendance-daily-roster-person{border-color:#e6e3b8;color:#6d641f}
.attendance-daily-roster-block.duty .attendance-daily-roster-person{border-color:#c7dfd1;color:#196342}
.attendance-daily-roster-empty{color:#87988f;font-size:12px;font-weight:800}
@media(max-width:760px){.attendance-daily-roster{grid-template-columns:1fr;gap:10px}.attendance-daily-roster-block{padding:11px 12px}.attendance-daily-roster-head b{font-size:14px}.attendance-leave-popover{min-width:0;width:min(330px,calc(100vw - 24px));padding:12px}.attendance-leave-popover-grid{grid-template-columns:1fr}}
.attendance-wifi-anomaly-panel { border-color: #e3b8ad; background: #fff8f6; }
.attendance-wifi-anomaly-panel .panel-head h3 { color: #8e352d; }
.attendance-wifi-anomaly-panel .table-wrap { border: 1px solid #efd1ca; border-radius: 6px; background: #fff; }
.attendance-wifi-anomaly-panel th { background: #fff1ee; color: #71332d; }
.attendance-wifi-anomaly-action { color: #9a3f34; font-weight: 900; }
.attendance-late-row td { background: #fff8eb!important; }
.attendance-late-row td:nth-child(1),.attendance-late-row td:nth-child(5) { color: #a2571e; font-weight: 900; }
.attendance-report-row td { background: #f3f9fc!important; }
.attendance-forgot-row td { background: #fff1ed!important; }
.attendance-forgot-row td:nth-child(1),.attendance-forgot-row td:nth-child(5) { color: #b24e3b; font-weight: 900; }
.attendance-report-row td:nth-child(1),.attendance-report-row td:nth-child(5) { color: #356a86; font-weight: 900; }

.attendance-time-panel,
.attendance-settings-panel { margin-bottom: 16px; border-color: #cfe2d8; background: #fbfefc; }
.attendance-time-panel { padding-top: 16px; padding-bottom: 16px; }
.attendance-time-panel .panel-head { margin-bottom: 10px; }
.attendance-current-time-panel{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,4.3fr);align-items:center;gap:26px;min-height:108px;padding:20px 28px;border:1px solid #a9d0bb;border-left:5px solid #087553;background:#f2faf5;box-shadow:0 3px 10px rgba(19,84,57,.08)}
.attendance-current-time-panel.attendance-winter-time-panel{border-color:#8dbfa5;border-left-color:#056b4b;background:#edf8f1}
.attendance-current-time-title{min-width:0;padding-right:24px;border-right:1px solid #c9e0d2}
.attendance-current-time-title span{display:block;color:#55796a;font-size:13px;font-weight:900}
.attendance-current-time-title h3{margin:5px 0 0;color:#0b5f43;font-size:27px;line-height:1.15;font-weight:900;letter-spacing:0}
.attendance-current-time-badge{display:inline-block;margin-top:10px;padding:5px 11px;border-radius:999px;background:#087553;color:#fff;font-size:12px;line-height:1;font-weight:900;white-space:nowrap}
.attendance-current-time-values{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(3,minmax(82px,1fr)) minmax(145px,1.1fr);align-items:center;gap:16px 14px}
.attendance-current-time-values span{min-width:0;padding:10px 8px;text-align:center}
.attendance-current-time-values small,.attendance-current-time-values b{display:block}
.attendance-current-time-values small{color:#527466;font-size:13px;font-weight:900;line-height:1.2;letter-spacing:.02em;white-space:nowrap}
.attendance-current-time-values em{display:block;margin-top:5px;color:#087553;font-size:20px;font-style:normal;font-weight:900;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}
.attendance-current-time-values b{margin-top:6px;color:#173f35;font-size:20px;font-weight:900;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.attendance-current-time-now b{color:#087553}
@media(min-width:761px){.attendance-current-time-values span+span{border-left:1px solid #d8e8df}.attendance-current-time-values b,.attendance-current-time-now em{font-size:21px}.attendance-current-time-now em,.attendance-current-time-now b{display:inline-block;vertical-align:baseline;margin-top:5px}.attendance-current-time-now em{margin-right:12px}}
.attendance-annual-setting { display: grid; grid-template-columns: minmax(240px,1fr) auto auto; align-items: center; gap: 12px; margin: 13px 0 0; padding: 12px 13px; border: 1px solid #d8e5de; border-radius: 8px; background: #fff; }
.attendance-annual-setting b,.attendance-annual-setting small { display: block; }
.attendance-annual-setting b { color: #234c3d; font-size: 14px; font-weight: 900; }
.attendance-annual-setting small { margin-top: 3px; color: #668075; font-size: 12px; font-weight: 700; line-height: 1.45; }
.attendance-annual-setting label { display: flex; align-items: center; gap: 6px; color: #48695c; font-size: 12px; font-weight: 900; white-space: nowrap; }
.attendance-annual-setting input { width: 82px; height: 36px; box-sizing: border-box; padding: 0 9px; border: 1px solid #cfe0d7; border-radius: 6px; color: #234c3d; font: inherit; text-align: center; }
.attendance-annual-setting button { min-height: 36px; border-color: #087553; color: #087553; font-size: 12px; font-weight: 900; white-space: nowrap; }
.attendance-season-badge { padding: 5px 9px; border-radius: 999px; background: #e4f3eb; color: #087553; font-size: 12px; font-weight: 900; white-space: nowrap; }
.attendance-season-switch { display: inline-flex; gap: 7px; margin: 2px 0 12px; padding: 4px; border: 1px solid #d3e4dc; border-radius: 8px; background: #f1f7f4; }
.attendance-season-switch button { min-height: 36px; padding: 0 15px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #527066; font-size: 13px; font-weight: 900; cursor: pointer; }
.attendance-season-switch button.active { border-color: #087553; background: #087553; color: #fff; box-shadow: 0 2px 5px rgba(8,117,83,.16); }
.attendance-season-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.attendance-season-card { display: grid; grid-template-columns: auto repeat(4,minmax(0,1fr)); align-items: center; gap: 10px 18px; padding: 11px 13px; border: 1px solid #e0ece6; border-radius: 7px; background: #fff; color: #48695c; font-size: 12px; font-weight: 700; }
.attendance-season-card b { color: #234c3d; font-size: 13px; }
.attendance-season-card strong { margin-left: 4px; color: #173f35; font-weight: 900; }
.attendance-season-card span { white-space: nowrap; }
.attendance-season-setting{margin:0 0 13px;padding:13px;border:1px solid #cfe0d7;border-radius:8px;background:#f8fbf9}
.attendance-season-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px}
.attendance-season-setting .attendance-season-switch{flex:0 0 auto;margin:0}
.attendance-season-setting-times{display:flex;align-items:center;justify-content:flex-end;gap:12px 20px;min-width:0;color:#5c746a;font-size:12px;font-weight:800}
.attendance-season-setting-times span{white-space:nowrap}
.attendance-season-setting-times strong{margin-left:3px;color:#173f35;font-weight:900}
.attendance-duty-note { display: flex; align-items: baseline; gap: 10px; margin-top: 10px; color: #6a8177; font-size: 12px; line-height: 1.5; }
.attendance-duty-note b { color: #315c4d; }
.attendance-duty-editor { margin-top: 12px; padding: 12px; border: 1px solid #dbe9e1; border-radius: 8px; background: #fff; }
.attendance-duty-editor-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.attendance-duty-editor-head b { display: block; color: #234c3d; font-size: 14px; font-weight: 900; }
.attendance-duty-editor-head small { display: block; margin-top: 3px; color: #668075; font-size: 12px; font-weight: 700; line-height: 1.45; }
.attendance-duty-editor-head label { display: grid; gap: 4px; color: #547166; font-size: 12px; font-weight: 800; white-space: nowrap; }
.attendance-duty-editor-head input { height: 34px; padding: 0 8px; border: 1px solid #cfe0d7; border-radius: 6px; color: #234c3d; font: inherit; font-variant-numeric: tabular-nums; }
.attendance-duty-people { display: flex; flex-wrap: wrap; gap: 7px 9px; margin-top: 11px; }
.attendance-duty-people label { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 9px; border: 1px solid #d8e6de; border-radius: 6px; color: #315c4d; font-size: 12px; font-weight: 800; cursor: pointer; }
.attendance-duty-people input { width: 15px; height: 15px; accent-color: #087553; }
.attendance-duty-empty { color: #71857b; font-size: 12px; font-weight: 700; }
.attendance-duty-editor-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; padding-top: 10px; border-top: 1px dashed #dce8e1; color: #668075; font-size: 12px; font-weight: 800; }
.attendance-duty-editor-foot button { min-height: 36px; border-color: #087553; color: #087553; font-size: 12px; font-weight: 900; }
.attendance-weekly-duty-editor { margin-top: 14px; padding: 13px; border: 1px solid #d6e4dc; border-radius: 8px; background: #fbfefc; }
.attendance-weekly-duty-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.attendance-weekly-duty-head b { display: block; color: #234c3d; font-size: 15px; font-weight: 900; }
.attendance-weekly-duty-head small { display: block; margin-top: 4px; color: #668075; font-size: 12px; font-weight: 700; line-height: 1.45; }
.attendance-weekly-duty-status { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; background: #e8f3ed; color: #087553; font-size: 11px; font-weight: 900; white-space: nowrap; }
.attendance-weekly-duty-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.attendance-weekly-duty-day { min-width: 0; padding: 9px; border: 1px solid #e0ebe5; border-radius: 7px; background: #fff; }
.attendance-weekly-duty-day > b { display: block; color: #315c4d; font-size: 13px; font-weight: 900; }
.attendance-weekly-duty-day .attendance-duty-people { max-height: 150px; margin-top: 8px; overflow-y: auto; }
.attendance-weekly-duty-day .attendance-duty-people label { width: 100%; box-sizing: border-box; }
.attendance-weekly-duty-day .attendance-duty-people label[hidden],
.attendance-weekly-duty-day .attendance-duty-people label.attendance-person-unavailable { display: none !important; }
.attendance-participant-setting { margin-bottom: 13px; padding: 13px; border: 1px solid #d6e4dc; border-radius: 8px; background: #fff; }
.attendance-participant-count { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: #e8f3ed; color: #087553; font-size: 11px; font-weight: 900; white-space: nowrap; }
.attendance-participant-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(108px,1fr)); gap: 7px; margin-top: 12px; }
.attendance-participant-item { display: flex; align-items: center; gap: 7px; min-width: 0; min-height: 34px; padding: 0 9px; border: 1px solid #dce8e2; border-radius: 6px; background: #f8fbf9; color: #315c4d; font-size: 12px; font-weight: 800; }
.attendance-participant-item:has(input:checked) { border-color: #c9dfd4; background: #f2f8f5; }
.attendance-participant-grid input { flex: 0 0 auto; width: 17px; height: 17px; accent-color: #087553; cursor: pointer; }
.attendance-participant-grid span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attendance-role-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 54px; min-height: 25px; padding: 0 8px; border-radius: 999px; background: #eef3f0; color: #52665d; font-size: 11px; font-weight: 900; white-space: nowrap; }
.attendance-role-badge.manager { background: #e6f2ec; color: #087553; }
.attendance-role-badge.finance { background: #fff1d8; color: #8a5a13; }
.attendance-not-managed { text-align: center; }
.attendance-not-managed h3 { margin: 0 0 7px; color: #234c3d; }
.attendance-not-managed p { margin: 0; color: #668075; font-size: 13px; font-weight: 700; }
.attendance-late-checkin { background: #ae651c; border-color: #ae651c; }
.attendance-late-checkin:hover { background: #8d5014; border-color: #8d5014; }
.attendance-late-checkin-note { display: block; margin-top: 9px; color: #8d5014; font-size: 12px; font-weight: 800; line-height: 1.5; }
.late-attendance-entry { margin-top: 9px; }
.late-attendance-form { display: grid; grid-template-columns: 170px minmax(180px,1fr) auto; align-items: end; gap: 9px; margin-top: 9px; padding: 11px; border: 1px solid #e4c98d; border-radius: 8px; background: #fff8e8; }
.late-attendance-form label { display: grid; gap: 4px; color: #765713; font-size: 12px; font-weight: 800; }
.late-attendance-form input { width: 100%; min-width: 0; height: 38px; box-sizing: border-box; padding: 0 9px; border: 1px solid #dfc27f; border-radius: 7px; background: #fff; color: #3d3524; font: inherit; font-variant-numeric: tabular-nums; }
.late-attendance-form button { min-height: 38px; white-space: nowrap; }
.attendance-checkout-note { display: block; margin-top: 9px; color: #946a24; font-size: 12px; font-weight: 800; }
.attendance-check-message { display: block; min-height: 18px; margin-top: 6px; color: #a2571e; font-size: 12px; font-weight: 800; }
.attendance-approval-message { display: block; margin-top: 6px; color: #a2571e; font-size: 12px; font-weight: 800; line-height: 1.45; }

.attendance-table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
}
.attendance-table th,
.attendance-table td { box-sizing: border-box; text-align: center; vertical-align: middle; white-space: normal; line-height: 1.45; }
.attendance-table.has-annual-column .attendance-col-name { width: 14%; }
.attendance-table.has-annual-column .attendance-col-role { width: 14%; }
.attendance-table.has-annual-column .attendance-col-time { width: 15%; }
.attendance-table.has-annual-column .attendance-col-status { width: 17%; }
.attendance-table.has-annual-column .attendance-col-pending { width: 10%; }
.attendance-table.has-annual-column .attendance-col-annual { width: 15%; }
.attendance-daily-panel:has([data-attendance-inline-plan-form]) .table-wrap { max-height: none; overflow: visible; }
.attendance-table.no-annual-column .attendance-col-name { width: 16%; }
.attendance-table.no-annual-column .attendance-col-role { width: 16%; }
.attendance-table.no-annual-column .attendance-col-time { width: 17%; }
.attendance-table.no-annual-column .attendance-col-status { width: 24%; }
.attendance-table.no-annual-column .attendance-col-pending { width: 10%; }

.attendance-time-stack { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 42px; line-height: 1.2; }
.attendance-time-stack-value { display: inline-flex; align-items: center; justify-content: center; }
.attendance-time-stack-missing { color: #a73324; font-weight: 900; white-space: nowrap; }
.attendance-cell-missing { display: inline-flex; align-items: center; justify-content: center; min-height: 19px; padding: 0 7px; border: 1px solid #f1b8ae; border-radius: 999px; background: #ffe4df; color: #a73324; font-size: 10px; font-weight: 900; line-height: 1; white-space: nowrap; }
.attendance-duty-pending-time { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 42px; color: inherit; line-height: 1.2; }
.attendance-duty-pending-time > span { font-variant-numeric: tabular-nums; }
.attendance-duty-pending-time > small { display: inline-flex; align-items: center; justify-content: center; min-height: 18px; padding: 0 7px; border: 1px solid #b8dcca; border-radius: 999px; background: #eaf6f0; color: #087553; font-size: 10px; font-weight: 900; line-height: 1; white-space: nowrap; }
.attendance-real-checkout-time { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 42px; color: #173f35; line-height: 1.2; white-space: nowrap; }
.attendance-real-checkout-time > span { font-variant-numeric: tabular-nums; font-weight: 900; }
.attendance-real-checkout-time > small { display: inline-flex; align-items: center; justify-content: center; min-height: 20px; padding: 0 7px; border: 1px solid #b8dcca; border-radius: 999px; background: #eaf6f0; color: #087553; font-size: 10px; font-weight: 900; line-height: 1; white-space: nowrap; }
.attendance-real-checkout-time.is-missing > span { color: #a73324; }
.attendance-status-cell { display: grid; justify-items: center; gap: 7px; }
.attendance-inline-plan-actions { display: flex; justify-content: center; }
.attendance-inline-plan-actions-edit { align-items: center; gap: 8px; flex-wrap: wrap; }
.attendance-incomplete-edit-trigger { min-height: 28px; padding: 0 7px; border: 0; border-radius: 6px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.attendance-person-batch-trigger{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:transparent;color:#173f35;font:inherit;font-weight:900;text-align:left;cursor:pointer}
.attendance-person-batch-trigger small{color:#a2571e;font-size:10px;font-weight:800}
.attendance-pending-cell{display:flex;justify-content:center;align-items:center;min-height:28px}
.attendance-pending-batch-trigger{min-height:28px;padding:4px 9px;border:1px solid #e3b08b;border-radius:999px;background:#fff7ef;color:#a2571e;font:inherit;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.attendance-pending-batch-trigger:hover{border-color:#c78351;background:#fff0df;color:#874313}
.attendance-pending-empty{color:#b6c2bd;font-size:12px;font-weight:700}
.attendance-employee-batch-row td{padding:0!important;border-top:0!important;background:#f8fcfa!important}
.attendance-employee-batch-form{display:grid;grid-template-columns:1fr;gap:12px;padding:15px 17px 17px;border:1px solid #bcd7ca;border-top:0;border-radius:0 0 9px 9px;background:#f8fcfa;text-align:left}
.attendance-employee-batch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #dce9e2}
.attendance-employee-batch-head b{color:#173f35;font-size:15px}.attendance-employee-batch-head small{display:block;margin-top:3px;color:#6f817a;font-size:11px;font-weight:700}
.attendance-employee-batch-head button{min-height:31px;padding:0 11px;border:1px solid #cad9d2;border-radius:6px;background:#fff;color:#5d7169;font-size:11px;font-weight:900}
.attendance-employee-batch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.attendance-employee-batch-item{display:grid;gap:10px;padding:12px;border:1px solid #d5e4dc;border-radius:7px;background:#fff;color:#31564c;font-size:11px;font-weight:800}
.attendance-employee-batch-date{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-employee-batch-date span{display:grid;gap:1px;min-width:0}.attendance-employee-batch-date strong{color:#173f35;font-size:14px}.attendance-employee-batch-date small{color:#73867e;font-size:10px;font-weight:700}.attendance-batch-confirm-date{flex:0 0 auto;min-height:30px;padding:0 12px;border:1px solid #9fcbb6;border-radius:6px;background:#eefaf3;color:#087553;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.attendance-batch-confirm-date:hover{border-color:#087553;background:#dff3e8}
.attendance-employee-batch-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-employee-batch-check{display:grid;align-content:start;gap:6px;min-width:0;padding:9px;border:1px solid #dce8e2;border-radius:6px;background:#f8fbfa}.attendance-employee-batch-check.is-missing{border-color:#efc4bb;background:#fff5f2}.attendance-employee-batch-check-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.attendance-employee-batch-check-head span{color:#63776f;font-size:10px;font-weight:800}.attendance-employee-batch-check-head strong{color:#173f35;font-size:14px;font-variant-numeric:tabular-nums}.attendance-employee-batch-check.is-missing .attendance-employee-batch-check-head strong{color:#b23e2d}.attendance-employee-batch-check>small{min-height:30px;color:#71837c;font-size:10px;font-weight:700;line-height:1.45}.attendance-employee-batch-check.is-missing>small{color:#9b4d40}.attendance-employee-batch-check label{display:grid;grid-template-columns:auto minmax(88px,1fr);align-items:center;gap:7px;margin-top:1px}.attendance-employee-batch-check label span{color:#657970;font-size:10px;white-space:nowrap}.attendance-employee-batch-check input[type=time]{box-sizing:border-box;width:100%;height:29px;padding:0 6px;border:1px solid #d5e4dc;border-radius:5px;background:#fff;color:#173f35;font:700 11px/1 inherit}
.attendance-employee-batch-no-edit{display:inline-flex;align-items:center;min-height:27px;padding:0 8px;border:1px solid #dce8e2;border-radius:5px;background:#f7fbf9;color:#6c8178;font-size:10px;font-style:normal;font-weight:800}
.attendance-employee-batch-foot{display:flex;align-items:center;justify-content:flex-start;gap:12px}.attendance-employee-batch-foot p{flex:1;min-height:18px;margin:0;color:#6f817a;font-size:12px;font-weight:800}
.attendance-exception-editor .attendance-employee-batch-list{grid-template-columns:1fr}
.attendance-exception-segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.attendance-exception-segment{display:grid;gap:9px;padding:11px;border:1px solid #e2c7bd;border-radius:7px;background:#fffaf8}
.attendance-batch-confirm-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:1px;padding-top:9px;border-top:1px solid #f0ddd7}
.attendance-batch-confirm-bar p{flex:1;min-width:0;margin:0;color:#8e6258;font-size:10px;font-weight:800;line-height:1.4}
.attendance-batch-confirm-bar .attendance-batch-confirm-date{min-width:104px}
.attendance-batch-confirm-bar .system-inline-confirm{width:min(220px,100%);min-width:150px}
.attendance-batch-confirm-bar .system-inline-confirm button{min-height:31px}
.attendance-exception-segment-head{display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:end;gap:12px;padding-bottom:8px;border-bottom:1px solid #f0ddd7}
.attendance-exception-segment-head b,.attendance-exception-segment-head small{display:block}.attendance-exception-segment-head b{color:#6d2d22;font-size:13px;font-weight:900}.attendance-exception-segment-head small{margin-top:3px;color:#9a655b;font-size:10px;font-weight:800;line-height:1.45}
.attendance-exception-segment-head label,.attendance-batch-fields label{display:grid;gap:5px;min-width:0}.attendance-exception-segment-head label>span,.attendance-batch-fields label>span{color:#6b756f;font-size:10px;font-weight:800}.attendance-exception-segment-head select,.attendance-batch-fields input,.attendance-batch-fields select{box-sizing:border-box;width:100%;height:32px;padding:0 8px;border:1px solid #d8c9c4;border-radius:5px;background:#fff;color:#40332f;font:700 12px/1 inherit}
.attendance-batch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-batch-fields[data-batch-fields="field"]{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-batch-fields[hidden]{display:none!important}
@media(max-width:900px){.attendance-exception-segments{grid-template-columns:1fr}.attendance-batch-fields[data-batch-fields="field"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.attendance-exception-segment-head{grid-template-columns:1fr}.attendance-batch-fields,.attendance-batch-fields[data-batch-fields="field"]{grid-template-columns:1fr}}
@media(max-width:480px){.attendance-batch-confirm-bar{align-items:stretch;flex-direction:column;gap:7px}.attendance-batch-confirm-bar p{flex:none}.attendance-batch-confirm-bar .attendance-batch-confirm-date,.attendance-batch-confirm-bar .system-inline-confirm{width:100%;min-width:0}}
@media(max-width:900px){.attendance-employee-batch-list{grid-template-columns:1fr}}
@media(max-width:480px){.attendance-employee-batch-checks{grid-template-columns:1fr}.attendance-employee-batch-foot{align-items:stretch;flex-direction:column}.attendance-employee-batch-foot .primary{width:100%}}
.attendance-inline-plan-toggle { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 0 12px; border: 1px solid #a9c9bb; border-radius: 7px; background: #f2faf6; color: #087553; font-size: 11px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.attendance-status-cell.is-plan-edit { display: grid; place-items: center; width: 100%; gap: 0; }
.attendance-status-edit-trigger { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0 7px; border: 0; border-radius: 6px; background: transparent; color: inherit; font: inherit; line-height: 1; cursor: pointer; white-space: nowrap; }
.attendance-status-edit-trigger::after { content: '✎'; margin-left: 5px; color: #4e8f78; font-size: 10px; font-weight: 900; opacity: .78; }
.attendance-status-edit-trigger:hover { background: #f0f7f4; color: #087553; }
.attendance-status-edit-trigger:hover::after { opacity: 1; }
.attendance-status-edit-trigger:focus-visible { outline: 2px solid #4a9f80; outline-offset: 2px; }
.attendance-missing-row td { background: #fff0ed!important; }
.attendance-missing-row td:nth-child(1),.attendance-missing-row td:nth-child(5) { color: #b23e2d; font-weight: 900; }
.attendance-missing-row .attendance-status-cell > span { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 10px; border-radius: 999px; background: #ffe0d9; color: #a73324; font-weight: 900; }
.attendance-inline-plan-row td { padding: 0!important; border-top: 0!important; background: #f8fcfa!important; }
.attendance-inline-plan-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; padding: 15px 17px 17px; border: 1px solid #bcd7ca; border-top: 0; border-radius: 0 0 9px 9px; background: #f8fcfa; text-align: left; }
.attendance-inline-plan-head { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #dce9e2; }
.attendance-inline-plan-head div,.attendance-inline-plan-head b,.attendance-inline-plan-head small { display: block; }
.attendance-inline-plan-head b { color: #173f35; font-size: 15px; font-weight: 900; }
.attendance-inline-plan-head small { margin-top: 3px; color: #6f817a; font-size: 11px; font-weight: 700; }
.attendance-inline-plan-head button { min-height: 31px; padding: 0 11px; border: 1px solid #cad9d2; border-radius: 6px; background: #fff; color: #5d7169; font-size: 11px; font-weight: 900; }
.attendance-inline-plan-kind { grid-column: 1/-1; display: inline-flex; width: max-content; padding: 3px; border: 1px solid #cbded4; border-radius: 7px; background: #eef6f2; }
.attendance-inline-plan-kind button { min-width: 66px; min-height: 29px; border: 0; border-radius: 5px; font-size: 12px; font-weight: 900; }
.attendance-inline-kind-rest { background: #f1f4f5; color: #52646b; }
.attendance-inline-kind-leave { background: #fff2ef; color: #9a4b3e; }
.attendance-inline-kind-field { background: #edf8f3; color: #087553; }
.attendance-inline-kind-work { background: #eef4ff; color: #315d93; }
.attendance-inline-kind-late { background: #fff6e5; color: #96690f; }
.attendance-inline-kind-rest.active { background: #586b72; color: #fff; box-shadow: 0 2px 5px rgba(82,100,107,.2); }
.attendance-inline-kind-leave.active { background: #a65447; color: #fff; box-shadow: 0 2px 5px rgba(166,84,71,.2); }
.attendance-inline-kind-field.active { background: #087553; color: #fff; box-shadow: 0 2px 5px rgba(8,117,83,.18); }
.attendance-inline-kind-work.active { background: #315d93; color: #fff; box-shadow: 0 2px 5px rgba(49,93,147,.18); }
.attendance-inline-kind-late.active { background: #b07d10; color: #fff; box-shadow: 0 2px 5px rgba(176,125,16,.2); }
.attendance-inline-late-hint { grid-column: 1/-1; margin: 0; padding: 7px 11px; border: 1px solid #e3cea0; border-radius: 7px; background: #fff9ec; color: #8a6410; font-size: 12px; font-weight: 800; }
.attendance-inline-plan-editing-label { grid-column: 1/-1; width: max-content; padding: 7px 11px; border: 1px solid #b8d4c7; border-radius: 7px; background: #edf8f3; color: #087553; font-size: 12px; font-weight: 900; }
.attendance-inline-plan-form label { display: grid; gap: 6px; min-width: 0; }
.attendance-inline-plan-form label[hidden] { display: none!important; }
.attendance-inline-plan-form label>span { color: #5f746c; font-size: 12px; font-weight: 800; }
.attendance-inline-plan-form input,.attendance-inline-plan-form select { box-sizing: border-box; width: 100%; height: 38px; padding: 0 10px; border: 1px solid #cbdcd4; border-radius: 6px; background: #fff; color: #183f32; font: 700 13px/1 inherit; outline: none; }
.attendance-inline-plan-form input:focus,.attendance-inline-plan-form select:focus { border-color: #087553; box-shadow: 0 0 0 3px rgba(8,117,83,.1); }
.attendance-inline-plan-reason { grid-column: span 2; }
.attendance-inline-plan-foot { grid-column: 1/-1; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.attendance-inline-plan-foot p { flex: 1 1 auto; min-height: 18px; margin: 0; color: #a2571e; font-size: 12px; font-weight: 800; text-align: left; }
.attendance-inline-plan-foot .primary { min-width: 104px; height: 38px; margin: 0; }

.employee-home-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 16px;
}

.employee-home-header h3 {
  margin: 4px 0 6px;
  font-size: 24px;
}

.employee-home-header span:not(.month-pill) {
  color: var(--muted);
}

.attendance-quick-panel {
  margin-top: 0;
}

.attendance-quick-status {
  color: var(--green-dark);
  font-size: 14px;
}

.quick-clock-times {
  display: flex;
  gap: 28px;
  padding: 13px 16px;
  border-radius: 10px;
  background: var(--green-soft);
  color: var(--muted);
}

.quick-clock-times b {
  margin-left: 7px;
  color: var(--ink);
  font-size: 18px;
}

.attendance-duty-reminder {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #d8b766;
  border-left: 4px solid #b27a1e;
  border-radius: 8px;
  background: #fff8e6;
  color: #5f4819;
  line-height: 1.5;
}

.attendance-duty-reminder b {
  flex: 0 0 auto;
  color: #865a11;
  font-size: 13px;
  font-weight: 900;
}

.attendance-duty-reminder span {
  min-width: 0;
  color: #674f22;
  font-size: 12px;
  font-weight: 800;
}

.mobile-attendance-actions button {
  min-height: 48px;
  font-size: 14px;
  font-weight: 800;
}

.external-attendance-box {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #eadfbe;
  border-radius: 12px;
  background: #fffaf0;
}

.external-attendance-heading,
.external-attendance-pending > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.external-attendance-heading b {
  display: block;
  color: #6f5316;
  font-size: 15px;
}

.external-attendance-heading small,
.external-attendance-heading > span,
.external-attendance-form small {
  color: #8a7650;
  font-size: 12px;
}

.external-attendance-form {
  display: grid;
  grid-template-columns: 100px 1fr 1fr;
  gap: 9px;
  margin-top: 12px;
}

.external-attendance-form select,
.external-attendance-form input {
  min-width: 0;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #e5d6ae;
  border-radius: 8px;
  background: #fff;
}

.external-attendance-actions {
  display: flex;
  grid-column: 1 / -1;
  gap: 9px;
}

.external-attendance-actions button {
  min-height: 40px;
  border-color: #cba94f;
  color: #765713;
}

.external-attendance-message {
  display: block;
  grid-column: 1 / -1;
  min-height: 17px;
  color: #a15f12;
}

.forgot-attendance-entry { margin-top: 10px; }
.forgot-attendance-entry button { min-height: 36px; color: #765713; border-color: #d9c27c; }
.forgot-attendance-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #e5d6ae; }
.forgot-attendance-form select,
.forgot-attendance-form input { min-width: 0; height: 40px; padding: 0 10px; border: 1px solid #e5d6ae; border-radius: 8px; background: #fff; }
.forgot-attendance-form input[type="time"] { font-variant-numeric: tabular-nums; }
.forgot-attendance-form input[placeholder] { grid-column: 1 / -1; }
.forgot-attendance-form button { grid-column: 1 / -1; min-height: 40px; border-color: #cba94f; color: #765713; }

.external-attendance-pending {
  margin-top: 11px;
  border-top: 1px solid #eee2c3;
}

.external-attendance-pending > div {
  padding-top: 9px;
  color: #735d2b;
  font-size: 12px;
}

.external-attendance-pending b {
  color: #a15f12;
}

.employee-home-links {
  margin-top: 16px;
}

.employee-home-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.employee-home-link-grid button {
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  gap: 2px 8px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  text-align: left;
}

.employee-home-link-grid button:hover {
  border-color: var(--green);
  background: var(--green-soft);
}

.employee-home-link-grid span {
  grid-row: 1 / 3;
  color: var(--green-dark);
  font-size: 20px;
}

.employee-home-link-grid small {
  color: var(--muted);
}

.employee-workbench {
  display: grid;
  gap: 14px;
}

.employee-workbench-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.employee-workbench-header h3 {
  margin: 4px 0 5px;
  color: var(--ink);
  font-size: 24px;
}

.employee-workbench-header > div > span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.employee-workbench-summary {
  display: grid;
  grid-template-columns: minmax(250px, 1.28fr) repeat(3, minmax(155px, 1fr));
  overflow: hidden;
  border: 1px solid #d9e3df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(24, 48, 42, .06);
}

.employee-workbench-summary button {
  position: relative;
  min-width: 0;
  min-height: 128px;
  padding: 20px;
  border: 0;
  border-left: 1px solid #e2e9e6;
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.employee-workbench-summary button:first-child { border-left: 0; }

.employee-workbench-summary button:hover,
.employee-workbench-summary button:focus-visible {
  z-index: 1;
  outline: 2px solid #c69a42;
  outline-offset: -2px;
}

.employee-summary-primary {
  background: #0d493b !important;
  color: #fff !important;
}

.employee-workbench-summary button > span,
.employee-workbench-summary button > strong,
.employee-workbench-summary button > small { display: block; }

.employee-workbench-summary button > span {
  color: #64736e;
  font-size: 13px;
  font-weight: 800;
}

.employee-summary-primary > span,
.employee-summary-primary > small { color: #d9e9e2 !important; }

.employee-workbench-summary button > strong {
  margin-top: 9px;
  color: #173e35;
  font-size: 28px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.employee-summary-primary > strong {
  color: #fff !important;
  font-size: 32px !important;
}

.employee-workbench-summary button > strong em {
  margin-left: 3px;
  font-size: 14px;
  font-style: normal;
}

.employee-workbench-summary button > small {
  margin-top: 9px;
  color: #7a8783;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.employee-summary-metric::before {
  position: absolute;
  top: 0;
  right: 20px;
  left: 20px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: #6e879f;
  content: "";
}

.employee-summary-metric.unpaid::before { background: #c38431; }
.employee-summary-metric.cases::before { background: #7a6788; }

.employee-workbench-main {
  display: grid;
  grid-template-columns: minmax(300px, .92fr) minmax(460px, 1.45fr);
  gap: 14px;
}

.employee-task-board {
  min-width: 0;
  min-height: 170px;
  padding: 18px 20px;
  border: 1px solid #dbe4e1;
  border-left: 4px solid #3f7969;
  border-radius: 8px;
  background: #fff;
}

.employee-task-board.warning { border-left-color: #b96139; background: #fffaf6; }
.employee-task-board.pending { border-left-color: #b58a35; background: #fffcf4; }
.employee-task-board.action { border-left-color: #657d99; background: #f8fafc; }
.employee-task-board.clear { border-left-color: #3f7969; background: #f7fbf9; }

.employee-task-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.employee-task-heading span {
  color: #65736f;
  font-size: 12px;
  font-weight: 900;
}

.employee-task-heading b {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(13, 73, 59, .08);
  color: #174f42;
  font-size: 12px;
}

.employee-task-board h4 {
  margin: 14px 0 7px;
  color: #173e35;
  font-size: 17px;
}

.employee-task-board p {
  min-height: 38px;
  margin: 0;
  color: #66726e;
  font-size: 13px;
  line-height: 1.55;
}

.employee-task-board > button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  margin-top: 13px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0d5a47;
  font-size: 13px;
  font-weight: 900;
}

.employee-task-board > button span {
  font-size: 20px;
  line-height: 1;
}

.employee-quick-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.employee-quick-nav button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-width: 0;
  min-height: 80px;
  padding: 13px 15px;
  border: 1px solid #dce4e1;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.employee-quick-nav button:hover,
.employee-quick-nav button:focus-visible {
  border-color: #7ba093;
  outline: 0;
  box-shadow: 0 6px 16px rgba(24, 61, 51, .08);
}

.employee-quick-nav button > span {
  display: grid;
  grid-row: 1 / 3;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  background: #e8f1ed;
  color: #145443;
  font-size: 17px;
  font-weight: 900;
}

.employee-quick-nav button:nth-child(2) > span { background: #edf2f7; color: #536d87; }
.employee-quick-nav button:nth-child(3) > span { background: #f8efe1; color: #94601c; }
.employee-quick-nav button:nth-child(4) > span { background: #f0edf4; color: #6f5a7d; }

.employee-quick-nav b {
  min-width: 0;
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-quick-nav small {
  min-width: 0;
  overflow: hidden;
  color: #7c8784;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-attendance-strip {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) 120px 120px auto;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  padding: 10px 12px 10px 16px;
  border: 1px solid #dce4e1;
  border-radius: 8px;
  background: #fff;
}

.employee-attendance-strip.needs-attention {
  border-color: #e8d4ad;
  background: #fffdf8;
}

.employee-attendance-status {
  display: flex;
  align-items: center;
  gap: 11px;
}

.employee-attendance-status > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #edf3f0;
  color: #205f50;
  font-size: 18px;
}

.employee-attendance-status small,
.employee-attendance-status strong,
.employee-attendance-time span,
.employee-attendance-time b { display: block; }

.employee-attendance-status small,
.employee-attendance-time span {
  color: #7a8783;
  font-size: 11px;
  font-weight: 800;
}

.employee-attendance-status strong {
  margin-top: 2px;
  color: #173e35;
  font-size: 14px;
}

.employee-attendance-time {
  padding-left: 16px;
  border-left: 1px solid #e4e9e7;
}

.employee-attendance-time b {
  margin-top: 2px;
  color: #263b36;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.employee-attendance-strip > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #8eb0a5;
  border-radius: 7px;
  background: #fff;
  color: #0d5947;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.employee-attendance-strip > button span { font-size: 19px; }

@media(max-width:1100px) and (min-width:761px) {
  .employee-workbench-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .employee-workbench-summary button:nth-child(3) { border-top: 1px solid #e2e9e6; border-left: 0; }
  .employee-workbench-summary button:nth-child(4) { border-top: 1px solid #e2e9e6; }
  .employee-workbench-main { grid-template-columns: 1fr; }
  .employee-quick-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .employee-quick-nav button { grid-template-columns: 32px minmax(0, 1fr); padding: 11px; }
  .leave-form { grid-template-columns: 92px minmax(0, 1fr) minmax(0, 1fr); }
  .leave-form #leaveReason { grid-column: 1 / -1; }
  .leave-form .primary { grid-column: 1 / -1; justify-self: stretch; }
}

.annual-input {
  width: 74px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: center;
}

.employee-mode {
  min-width: 0;
}

@media(max-width:760px){
  body.attendance-admin-mode{min-width:0}
  .attendance-admin-mode .app-shell{display:block;min-width:0;min-height:100vh;height:auto}
  .attendance-admin-mode .sidebar{position:fixed;left:0;right:0;bottom:0;z-index:50;width:auto;height:72px;padding:7px 10px;display:flex;flex-direction:row;align-items:center}
  .attendance-admin-mode .side-brand{display:none}
  .attendance-admin-mode .sidebar nav{display:flex;flex:1;flex-direction:row;justify-content:flex-start;gap:3px;overflow-x:auto;scrollbar-width:none}
  .attendance-admin-mode .sidebar nav::-webkit-scrollbar{display:none}
  .attendance-admin-mode .nav-btn{height:56px;min-width:58px;flex:0 0 58px;padding:4px 3px;text-align:center;font-size:11px}
  .attendance-admin-mode .nav-btn span{display:block;width:auto;margin-bottom:3px;font-size:17px}
  .attendance-admin-mode .side-user{width:48px;margin:0;padding:0;border:0;display:block;text-align:center}
  .attendance-admin-mode .side-user .avatar,.attendance-admin-mode .side-user div:nth-child(2){display:none}
  .attendance-admin-mode .side-user button{font-size:24px}
  .attendance-admin-mode .main{padding:16px 12px 92px;overflow:visible}
  .attendance-admin-mode .topbar{height:72px;padding:0 16px}
  .attendance-admin-mode .topbar h2{font-size:21px}
  .attendance-admin-mode .topbar .eyebrow{display:none}
  .attendance-admin-mode .top-actions{min-width:0}
  .attendance-admin-mode .top-actions .business-month-control,
  .attendance-admin-mode .top-actions .badge,
  .attendance-admin-mode .refresh-btn{display:none}
  .attendance-admin-mode .content{padding:16px;max-width:none}
  .attendance-admin-mode .attendance-mobile-today-panel{display:block;padding:0;overflow:hidden;border-color:#cfe0d7;background:#fff}
  .attendance-admin-mode .attendance-mobile-today-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 12px;border-bottom:1px solid #dce8e2;background:#f4faf7}
  .attendance-admin-mode .attendance-mobile-today-head h3{margin:0;color:#173f35;font-size:17px;font-weight:900}
  .attendance-admin-mode .attendance-mobile-today-head p{margin:4px 0 0;color:#6c8178;font-size:11px;font-weight:700}
  .attendance-admin-mode .attendance-mobile-today-head>span{flex:0 0 auto;padding:5px 8px;border-radius:6px;background:#e2f2ea;color:#087553;font-size:11px;font-weight:900;white-space:nowrap}
  .attendance-admin-mode .attendance-mobile-today-list{display:grid}
  .attendance-admin-mode .attendance-mobile-today-row{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(76px,.9fr);align-items:center;gap:9px;min-width:0;padding:10px 13px;border-bottom:1px solid #edf2ef}
  .attendance-admin-mode .attendance-mobile-today-row:last-child{border-bottom:0}
  .attendance-admin-mode .attendance-mobile-today-person{min-width:0}
  .attendance-admin-mode .attendance-mobile-today-person b,.attendance-admin-mode .attendance-mobile-today-person small{display:block;white-space:nowrap}
  .attendance-admin-mode .attendance-mobile-today-person b{color:#203f35;font-size:14px;font-weight:900}
  .attendance-admin-mode .attendance-mobile-today-person small{margin-top:3px;color:#72867d;font-size:10px;font-weight:800}
  .attendance-admin-mode .attendance-mobile-today-times{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0}
  .attendance-admin-mode .attendance-mobile-today-times span{min-width:0}
  .attendance-admin-mode .attendance-mobile-today-times small,.attendance-admin-mode .attendance-mobile-today-times b{display:block}
  .attendance-admin-mode .attendance-mobile-today-times small{color:#819088;font-size:10px;font-weight:800}
  .attendance-admin-mode .attendance-mobile-today-times b{margin-top:2px;overflow-wrap:anywhere;color:#29483e;font-size:12px;font-weight:900;line-height:1.35}
  .attendance-admin-mode .attendance-mobile-today-row>strong{min-width:0;color:#315c4d;font-size:11px;font-weight:900;line-height:1.4;text-align:right;overflow-wrap:anywhere}
  .attendance-admin-mode .attendance-mobile-today-row.is-alert{background:#fff5ec}
  .attendance-admin-mode .attendance-mobile-today-row.is-alert>strong{color:#a4561e}
  .attendance-admin-mode .attendance-mobile-today-row.is-missing{background:#fffafa}
  .attendance-admin-mode .attendance-mobile-today-row.is-missing>strong{color:#a34141}
  .attendance-admin-mode .attendance-mobile-today-row.is-rest{background:#f5faf7}
  .attendance-admin-mode .attendance-exception-title{align-items:flex-start;flex-direction:column;gap:5px}
  .attendance-admin-mode .attendance-exception-items{grid-template-columns:1fr}
  .attendance-admin-mode .attendance-daily-panel .panel-head{align-items:flex-start;flex-direction:column;gap:10px}
  .attendance-admin-mode .attendance-daily-tools{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .attendance-admin-mode .attendance-daily-view-switch{width:100%}
  .attendance-admin-mode .attendance-daily-view-switch button{flex:1 1 0}
  .attendance-admin-mode .attendance-daily-tools .filter-select{width:100%;min-width:0}
  .attendance-admin-mode .attendance-time-panel .panel-head,.attendance-admin-mode .attendance-settings-panel .panel-head{align-items:flex-start;flex-direction:column;gap:8px}
  .attendance-admin-mode .attendance-annual-setting{grid-template-columns:1fr;align-items:stretch}
  .attendance-admin-mode .attendance-annual-setting label{justify-content:flex-start}
  .attendance-admin-mode .attendance-season-grid{grid-template-columns:1fr}
  .attendance-admin-mode .attendance-season-card{grid-template-columns:1fr 1fr}
  .attendance-admin-mode .attendance-season-card b{grid-column:1/-1}
  .attendance-admin-mode .attendance-season-card span{white-space:normal}
  .attendance-admin-mode .attendance-weekly-duty-head{align-items:flex-start;flex-direction:column;gap:8px}
  .attendance-admin-mode .attendance-weekly-duty-grid{grid-template-columns:1fr}
  .attendance-admin-mode .attendance-duty-note{align-items:flex-start;flex-direction:column;gap:2px}
  .attendance-admin-mode .attendance-duty-editor-head,.attendance-admin-mode .attendance-duty-editor-foot{align-items:flex-start;flex-direction:column}
  .attendance-admin-mode .attendance-duty-editor-head label{width:100%}
  .attendance-admin-mode .attendance-duty-editor-head input{width:100%;box-sizing:border-box}
  .attendance-admin-mode .attendance-duty-editor-foot{gap:8px}
  .attendance-admin-mode .table-wrap{overflow:visible}
  .attendance-admin-mode .attendance-table,
  .attendance-admin-mode .external-approval-panel table,
  .attendance-admin-mode .leave-approval-panel table{display:block;width:100%;min-width:0;border-collapse:separate}
  .attendance-admin-mode .attendance-table thead,
  .attendance-admin-mode .external-approval-panel table thead,
  .attendance-admin-mode .leave-approval-panel table thead{display:none}
  .attendance-admin-mode .attendance-table tbody,
  .attendance-admin-mode .external-approval-panel table tbody,
  .attendance-admin-mode .leave-approval-panel table tbody{display:grid;gap:10px}
  .attendance-admin-mode .attendance-table tr,
  .attendance-admin-mode .external-approval-panel table tr,
  .attendance-admin-mode .leave-approval-panel table tr{display:block;padding:10px 12px;border:1px solid #e3ebe6;border-radius:9px;background:#fff}
  .attendance-admin-mode .attendance-table td,
  .attendance-admin-mode .external-approval-panel table td,
  .attendance-admin-mode .leave-approval-panel table td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:6px 0;border:0;text-align:right;line-height:1.4}
  .attendance-admin-mode .attendance-table td::before,
  .attendance-admin-mode .external-approval-panel table td::before,
  .attendance-admin-mode .leave-approval-panel table td::before{content:attr(data-label);flex:0 0 auto;color:#688077;font-size:12px;font-weight:800;text-align:left}
  .attendance-admin-mode .attendance-table td b{font-size:14px}
  .attendance-admin-mode .attendance-time-stack{align-items:flex-end}
  .attendance-admin-mode .attendance-duty-pending-time{justify-content:flex-end}
  .attendance-admin-mode .attendance-table .annual-input{width:78px;height:30px}
  .attendance-admin-mode .attendance-inline-plan-row{padding:0;border-color:#bcd7ca;background:#f8fcfa}
  .attendance-admin-mode .attendance-inline-plan-row td{display:block;padding:0!important;text-align:left}
  .attendance-admin-mode .attendance-inline-plan-row td::before{display:none}
  .attendance-admin-mode .attendance-inline-plan-form{grid-template-columns:1fr 1fr;padding:14px;border:0;border-radius:9px}
  .attendance-admin-mode .attendance-inline-plan-kind,.attendance-admin-mode .attendance-inline-plan-editing-label,.attendance-admin-mode .attendance-inline-plan-head,.attendance-admin-mode .attendance-inline-plan-foot{grid-column:1/-1}
  .attendance-admin-mode .attendance-inline-plan-reason{grid-column:1/-1}
  .attendance-admin-mode .external-approval-panel table td[data-label="操作"]{justify-content:flex-end;flex-wrap:wrap}
  .attendance-admin-mode .external-approval-panel table td[data-label="操作"]::before{margin-right:auto}
  .attendance-admin-mode .attendance-late-row td,
  .attendance-admin-mode .attendance-report-row td,
  .attendance-admin-mode .attendance-forgot-row td{background:transparent!important}
  .employee-mode .app-shell{display:block;min-width:0;min-height:100vh;height:auto}
  .employee-mode .sidebar{position:fixed;left:0;right:0;bottom:0;z-index:50;width:auto;height:72px;padding:7px 10px;display:flex;flex-direction:row;align-items:center}
  .employee-mode .side-brand{display:none}
  .employee-mode .sidebar nav{display:flex;flex:1;flex-direction:row;justify-content:flex-start;gap:3px;overflow-x:auto;scrollbar-width:none}
  .employee-mode .sidebar nav::-webkit-scrollbar{display:none}
  .employee-mode .nav-btn{height:56px;min-width:58px;flex:0 0 58px;padding:4px 3px;text-align:center;font-size:11px}
  .employee-mode .nav-btn span{display:block;width:auto;margin-bottom:3px;font-size:17px}
  .employee-mode .side-user{width:48px;margin:0;padding:0;border:0;display:block;text-align:center}
  .employee-mode .side-user .avatar,.employee-mode .side-user div:nth-child(2){display:none}
  .employee-mode .side-user button{font-size:24px}
  .employee-mode .main{padding:16px 12px 92px}
  .employee-mode .employee-home-header,.employee-mode .employee-workbench-header{align-items:flex-start;flex-direction:column;gap:8px}
  .employee-mode .employee-home-header h3,.employee-mode .employee-workbench-header h3{font-size:21px}
  .employee-mode .quick-clock-times{justify-content:space-between;gap:8px}
  .employee-mode .attendance-duty-reminder,.manager-mode .attendance-duty-reminder{align-items:flex-start;flex-direction:column;gap:2px}
  .employee-mode .mobile-attendance-actions{grid-template-columns:1fr}
  .employee-mode .nav-btn[data-page="dashboard"],.employee-mode .nav-btn[data-page="salary"],.employee-mode .nav-btn[data-page="performancecheck"],.employee-mode .nav-btn[data-page="performanceorders"],.employee-mode .nav-btn[data-page="unsettledledger"],.employee-mode .nav-btn[data-page="history"]{display:none}
  .employee-mode .top-actions .business-month-control,.employee-mode .top-actions .history-start-button{display:none}
  .employee-mode .external-attendance-form{grid-template-columns:1fr 1fr}
  .employee-mode .external-attendance-form select{grid-column:1/-1}
  .employee-mode .external-attendance-form input{grid-column:1/-1}
  .employee-mode .external-attendance-actions{display:grid;grid-template-columns:1fr 1fr}
  .employee-mode .late-attendance-form{grid-template-columns:1fr}
  .employee-mode .late-attendance-form button{width:100%}
  .employee-mode .forgot-attendance-form,.manager-mode .forgot-attendance-form{grid-template-columns:1fr}
  .employee-mode .forgot-attendance-form input[placeholder],.manager-mode .forgot-attendance-form input[placeholder],.employee-mode .forgot-attendance-form button,.manager-mode .forgot-attendance-form button{grid-column:1/-1}
  .employee-mode .employee-home-link-grid,.employee-mode .employee-workbench-summary,.employee-mode .employee-workbench-main,.employee-mode .employee-quick-nav,.employee-mode .employee-attendance-strip{grid-template-columns:1fr}
  .employee-mode .employee-workbench-summary button{min-height:108px;border-top:1px solid #e2e9e6;border-left:0}
  .employee-mode .employee-workbench-summary button:first-child{border-top:0}
  .employee-mode .employee-attendance-strip{gap:10px;padding:14px}
  .employee-mode .employee-attendance-time{padding:8px 0 0;border-top:1px solid #e4e9e7;border-left:0}
  .employee-mode .employee-attendance-strip>button{width:100%}
  .employee-mode .main{padding-bottom:78px;overflow:visible}
  .employee-mode .topbar{height:72px;padding:0 16px}
  .employee-mode .topbar h2{font-size:21px}
  .employee-mode .topbar .eyebrow{display:none}
  .employee-mode .top-actions .badge{display:none}
  .employee-mode .month-pill{font-size:12px;padding:7px 9px}
  .employee-mode .refresh-btn{display:none}
  .employee-mode .content{padding:16px;max-width:none}
  .employee-mode .salary-hero{padding:24px 20px;border-radius:18px}
  .employee-mode .salary-hero strong{font-size:36px}
  .employee-mode .salary-detail{grid-template-columns:1fr}
  .employee-mode .panel{padding:17px}
  .employee-mode .notice{font-size:12px}
  .employee-mode .attendance-grid{grid-template-columns:1fr}
  .employee-mode .annual-card-subtle{padding:6px 2px;gap:8px}
  .employee-mode .attendance-leave-balance{justify-content:start;max-width:none;text-align:left}
  .employee-mode .panel-head:has(.attendance-leave-balance){align-items:flex-start;gap:10px;flex-direction:column}
  .employee-mode .leave-form{grid-template-columns:1fr 1fr}
  .employee-mode .leave-form .leave-date-field,.manager-mode .leave-form .leave-date-field{grid-template-columns:auto minmax(0,1fr);height:46px;min-width:0}
  .employee-mode .leave-form #leaveReason,.employee-mode .leave-form .primary{grid-column:1/-1}
  .employee-mode .annual-card strong{font-size:48px}
  .manager-mode .app-shell{display:block;min-width:0;min-height:100vh;height:auto}
  .manager-mode .sidebar{position:fixed;left:0;right:0;bottom:0;z-index:50;width:auto;height:72px;padding:7px 10px;display:flex;flex-direction:row;align-items:center}
  .manager-mode .side-brand{display:none}
  .manager-mode .sidebar nav{display:flex;flex:1;flex-direction:row;justify-content:flex-start;gap:3px;overflow-x:auto;scrollbar-width:none}
  .manager-mode .sidebar nav::-webkit-scrollbar{display:none}
  .manager-mode .nav-btn{height:56px;min-width:58px;flex:0 0 58px;padding:4px 3px;text-align:center;font-size:11px}
  .manager-mode .nav-btn span{display:block;width:auto;margin-bottom:3px;font-size:17px}
  .manager-mode .side-user{width:48px;margin:0;padding:0;border:0;display:block;text-align:center}
  .manager-mode .side-user .avatar,.manager-mode .side-user div:nth-child(2){display:none}
  .manager-mode .side-user button{font-size:24px}
  .manager-mode .main{padding:16px 12px 92px;overflow:visible}
  .manager-mode .topbar{height:72px;padding:0 16px}
  .manager-mode .topbar h2{font-size:21px}
  .manager-mode .topbar .eyebrow{display:none}
  .manager-mode .top-actions .business-month-control,.manager-mode .top-actions .history-start-button,.manager-mode .top-actions .badge,.manager-mode .refresh-btn{display:none}
  .manager-mode .content{padding:16px;max-width:none}
  .manager-mode .attendance-grid{grid-template-columns:1fr}
  .manager-mode .quick-clock-times{justify-content:space-between;gap:8px}
  .manager-mode .mobile-attendance-actions{grid-template-columns:1fr}
  .manager-mode .external-attendance-form{grid-template-columns:1fr 1fr}
  .manager-mode .external-attendance-form select,.manager-mode .external-attendance-form input{grid-column:1/-1}
  .manager-mode .external-attendance-actions{display:grid;grid-template-columns:1fr 1fr}
  .manager-mode .late-attendance-form{grid-template-columns:1fr}
  .manager-mode .late-attendance-form button{width:100%}
  .manager-mode .main{padding-bottom:78px;overflow:visible}
  .manager-mode .panel{padding:17px}
  .manager-mode .annual-card-subtle{padding:6px 2px;gap:8px}
  .manager-mode .attendance-leave-balance{justify-content:start;max-width:none;text-align:left}
  .manager-mode .panel-head:has(.attendance-leave-balance){align-items:flex-start;gap:10px;flex-direction:column}
  .manager-mode .leave-form{grid-template-columns:1fr 1fr}
  .manager-mode .leave-form .leave-date-field{grid-template-columns:auto minmax(0,1fr);height:46px;min-width:0}
  .manager-mode .leave-form #leaveReason,.manager-mode .leave-form .primary{grid-column:1/-1}
}

.wage-calc-table {
  width: 100%;
  min-width: 1180px;
  table-layout: fixed;
}

.deduction-detail-cell {
  width: 92px;
  min-height: 34px;
  padding: 4px 7px;
  border: 1px solid #efd5bb;
  border-radius: 8px;
  background: #fff8f1;
  color: #a65b1c;
  line-height: 1.15;
}

.deduction-detail-cell b,
.deduction-detail-cell small {
  display: block;
}

.deduction-detail-cell b { font-size: 12px; }
.deduction-detail-cell small { margin-top: 3px; color: #b48761; font-size: 9px; }
.deduction-detail-cell:hover { border-color: #d99a61; background: #fff2e6; }

.unpaid-promotion-cell {
  width: 92px;
  min-height: 34px;
  padding: 4px 7px;
  border: 1px solid #e7c9c9;
  border-radius: 8px;
  background: #fff7f7;
  color: #a34747;
  line-height: 1.15;
}
.unpaid-promotion-cell b,.unpaid-promotion-cell small{display:block}
.unpaid-promotion-cell b{font-size:12px}
.unpaid-promotion-cell small{margin-top:3px;color:#aa7777;font-size:9px}
.unpaid-promotion-cell:hover{border-color:#cf8d8d;background:#fff0f0}
.unpaid-promotion-cell.missing-address{border-color:#d76c4b;background:#fff1eb}

.unpaid-promotion-dialog{width:min(620px,94vw)}
.unpaid-promotion-form{display:grid;gap:14px;margin-top:20px}
.unpaid-promotion-form label{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:10px;color:#59645f;font-size:13px;font-weight:700}
.unpaid-promotion-form input[type="number"],.unpaid-promotion-form input[type="text"]{box-sizing:border-box;width:100%;height:40px;padding:0 11px;border:1px solid #dce4e0;border-radius:8px;outline:none}
.unpaid-promotion-form input:focus{border-color:#b76767;box-shadow:0 0 0 3px rgba(183,103,103,.11)}
.unpaid-upload{grid-template-columns:86px auto 1fr!important}
.unpaid-upload input{display:none}
.unpaid-upload em{color:#929b97;font-size:12px;font-style:normal;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.unpaid-upload-actions{display:flex;gap:7px;align-items:center}
.unpaid-upload-actions button{height:36px;white-space:nowrap}
.unpaid-paste-tip{margin:10px 0 -5px 96px;padding:8px 10px;border-radius:8px;background:#eef8f3;color:#247055;font-size:12px}
.unpaid-image-preview{display:grid;place-items:center;min-height:92px;margin-top:16px;border:1px dashed #d6dfdb;border-radius:11px;background:#f8faf9;color:#9aa29e;font-size:13px}
.unpaid-image-preview.has-image{grid-template-columns:110px 1fr;justify-items:start;gap:15px;padding:10px}
.unpaid-image-preview img{width:110px;height:76px;border-radius:8px;object-fit:cover;border:1px solid #dbe4e0}
.unpaid-image-preview div{display:flex;gap:8px;align-items:center}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.unsettled-stats{margin-bottom:16px}
.unsettled-panel{margin-top:0}
.unsettled-table-wrap{max-height:58vh}
.unsettled-table{min-width:1180px}
.unsettled-table th{position:sticky;top:0;z-index:5}
.unsettled-table th,.unsettled-table td{text-align:center;vertical-align:middle}
.unsettled-table .case-address{text-align:left;white-space:normal;min-width:210px;line-height:1.45}
.unsettled-table td:first-child b,.unsettled-table td:first-child small{display:block}
.unsettled-table td:first-child small{margin-top:4px;color:#87918c;font-size:10px}
.case-allocations{text-align:left!important;line-height:1.55;white-space:normal;min-width:235px}
.case-allocations small{display:block;margin-top:5px;color:#8b948f}
.case-status{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}
.case-status.pending{background:#fff1df;color:#a6650a}
.case-status.settled{background:#e7f6ef;color:#137553}
.case-settle-action{background:#e7f6ef!important;color:#137553!important}
.unsettled-screenshot-btn{height:40px;padding:0 16px;background:linear-gradient(135deg,#0b5f46,#15966d);box-shadow:0 7px 16px rgba(11,95,70,.16)}
.unsettled-simple-table{min-width:850px;table-layout:fixed}
.unsettled-simple-table th:first-child,.unsettled-simple-table td:first-child{width:210px!important;min-width:210px!important;max-width:210px!important}
.unsettled-simple-table th:nth-child(2),.unsettled-simple-table td:nth-child(2){width:72px}.unsettled-simple-table th:nth-child(3),.unsettled-simple-table td:nth-child(3){width:118px}.unsettled-simple-table th:nth-child(4),.unsettled-simple-table td:nth-child(4){width:112px}
.unsettled-simple-table .case-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;color:#21483a}
.unsettled-simple-table .case-address span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unsettled-simple-table .case-address small{display:block;margin-top:2px;overflow:hidden;color:#91a098;font-size:8px;font-weight:700;text-overflow:ellipsis}.awaiting-performance{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff4d8;color:#a86a00;font-size:9px;font-weight:900}.contract-status-note{display:block;margin-top:3px;color:#6e8178;font-size:8px;line-height:1.2}
.unsettled-simple-table tr.auto-settled-deal td{background:#f1faf6}.unsettled-simple-table tr.auto-settled-deal:hover td{background:#e8f6ef}.unsettled-simple-table tr.auto-settled-deal td:first-child{box-shadow:inset 3px 0 0 #84c9aa}.unsettled-ledger-summary-link{height:34px;padding:0 11px;border:1px solid #b7d9ca;border-radius:8px;background:#f1faf5;color:#0b7655;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.unsettled-ledger-summary-link:hover,.unsettled-ledger-summary-link:focus-visible{border-color:#16805a;background:#e5f5ed;outline:none}.unsettled-ledger-summary-dialog{width:min(1080px,94vw)}.unsettled-ledger-summary-dialog .unsettled-commission-total{grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);align-items:center}.unsettled-ledger-summary-dialog .unsettled-commission-total small{grid-column:2;color:#60776b;font-size:11px;line-height:1.4}.unsettled-ledger-summary-dialog .unsettled-commission-table-wrap{max-height:58vh}.unsettled-ledger-summary-dialog table{min-width:760px}.unsettled-ledger-summary-dialog th,.unsettled-ledger-summary-dialog td{text-align:center;vertical-align:middle}.unsettled-ledger-summary-dialog .ledger-address{text-align:left;min-width:270px;line-height:1.35}.unsettled-ledger-summary-dialog .ledger-address b,.unsettled-ledger-summary-dialog .ledger-address small{display:block}.unsettled-ledger-summary-dialog .ledger-address small{margin-top:3px;color:#7d8e85;font-size:10px}
.deal-customer{display:flex;min-width:0;flex-direction:column;gap:2px}.deal-customer b{overflow:hidden;color:#254a3d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.deal-customer small{overflow:hidden;color:#8b9992;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.deal-signed-at{color:#60736a;font-size:9px;line-height:1.25;white-space:normal}
.unsettled-ledger-summary-link{height:34px;padding:0 11px;border:1px solid #b7d9ca;border-radius:8px;background:#f1faf5;color:#0b7655;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.unsettled-ledger-summary-link:hover,.unsettled-ledger-summary-link:focus-visible{border-color:#16805a;background:#e5f5ed;outline:none}.unsettled-ledger-summary-dialog{width:min(1080px,94vw)}.unsettled-ledger-summary-dialog .unsettled-commission-total{grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);align-items:center}.unsettled-ledger-summary-dialog .unsettled-commission-total small{grid-column:2;color:#60776b;font-size:11px;line-height:1.4}.unsettled-ledger-summary-dialog .unsettled-commission-table-wrap{max-height:58vh}.unsettled-ledger-summary-dialog table{min-width:760px}.unsettled-ledger-summary-dialog th,.unsettled-ledger-summary-dialog td{text-align:center;vertical-align:middle}.unsettled-ledger-summary-dialog .ledger-address{text-align:left;min-width:270px;line-height:1.35}.unsettled-ledger-summary-dialog .ledger-address b,.unsettled-ledger-summary-dialog .ledger-address small{display:block}.unsettled-ledger-summary-dialog .ledger-address small{margin-top:3px;color:#7d8e85;font-size:10px}.deal-incomplete-note{display:block;margin-top:3px;color:#b36a08;font-size:8px;font-weight:800;line-height:1.15}
.unsettled-broker-name{color:#174b3a;font-size:13px;font-weight:900}
.prior-settlement-access-button{display:inline-flex;align-items:center;gap:6px;border-color:#70b893;background:#eaf8f0;color:#086e4f}.prior-settlement-access-button span{font-size:10px;font-weight:900}.prior-settlement-access-button b{font-size:12px;font-variant-numeric:tabular-nums}.prior-settlement-access-button small{color:#4f7c69;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.prior-settlement-access-button:hover,.prior-settlement-access-button:focus-visible{border-color:#0b8f63;background:#ddf2e7}.unsettled-ledger-summary-link:disabled{opacity:.58;cursor:not-allowed;background:#f7fbf8;color:#709487}
.unsettled-performance-value{color:#087553;font-size:15px;font-weight:900}
.prior-settlement-inline-panel{margin:12px 0 16px;border:1px solid #b9d9c8;border-left:4px solid #16805a;border-radius:10px;background:#fbfefc;box-shadow:0 5px 16px rgba(25,81,57,.08);overflow:hidden}.prior-settlement-inline-head{display:flex;align-items:center;gap:18px;padding:12px 15px;border-bottom:1px solid #dcebe3}.prior-settlement-inline-copy{display:flex;min-width:220px;flex:1 1 auto;flex-direction:column;gap:2px}.prior-settlement-inline-copy>span{color:#658477;font-size:10px;font-weight:800}.prior-settlement-inline-copy>b{color:#195a42;font-size:16px;font-weight:900}.prior-settlement-inline-copy>small{color:#728a80;font-size:10px;font-weight:700}.prior-settlement-inline-totals{display:flex;align-items:stretch;gap:0;flex:0 0 auto}.prior-settlement-inline-totals>span{display:flex;min-width:118px;flex-direction:column;gap:3px;padding:0 14px;border-left:1px solid #dcebe3;color:#668277;font-size:10px;font-weight:800}.prior-settlement-inline-totals strong{color:#0b7655;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.prior-settlement-inline-close{flex:0 0 auto;height:30px;padding:0 10px;border:1px solid #b7d9ca;border-radius:7px;background:#fff;color:#0b7655;font-size:11px;font-weight:900;cursor:pointer}.prior-settlement-inline-close:hover,.prior-settlement-inline-close:focus-visible{border-color:#0b8f63;background:#e5f5ed;outline:none}.prior-settlement-inline-table-wrap{max-height:260px;overflow:auto}.prior-settlement-inline-table-wrap table{width:100%;min-width:840px;border-collapse:collapse}.prior-settlement-inline-table-wrap th,.prior-settlement-inline-table-wrap td{padding:8px 9px;border-bottom:1px solid #e8f0ec;text-align:center;vertical-align:middle;color:#405f52;font-size:11px}.prior-settlement-inline-table-wrap th{position:sticky;top:0;background:#f1f8f4;color:#315f4d;font-size:10px;font-weight:900;z-index:1}.prior-settlement-inline-table-wrap .ledger-address{text-align:left;min-width:250px}.prior-settlement-inline-table-wrap .ledger-address b,.prior-settlement-inline-table-wrap .ledger-address small{display:block}.prior-settlement-inline-table-wrap .ledger-address b{color:#205b45;font-weight:900}.prior-settlement-inline-table-wrap .ledger-address small{margin-top:2px;color:#82968d;font-size:9px}.prior-settlement-order-commission{display:block;color:#0b7655;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.prior-settlement-commission-breakdown{display:block;margin-top:2px;color:#728b80;font-size:9px;line-height:1.35;white-space:normal}.prior-settlement-inline-empty{padding:18px!important;color:#789087!important;text-align:center!important}@media(max-width:760px){.prior-settlement-inline-head{align-items:stretch;flex-direction:column;gap:10px}.prior-settlement-inline-copy{min-width:0}.prior-settlement-inline-totals{width:100%}.prior-settlement-inline-totals>span{min-width:0;flex:1;padding:0 8px}.prior-settlement-inline-totals strong{font-size:14px}.prior-settlement-inline-close{align-self:flex-start}.prior-settlement-inline-table-wrap{max-height:360px}}
.unsettled-month-value{color:#6f7f78;font-size:12px;font-weight:800}
.unsettled-filter-toolbar .filter-select{min-width:112px;height:40px}.unsettled-filter-toolbar .filter-select:nth-child(2){min-width:120px}
.unsettled-confirm-dialog{box-sizing:border-box;width:min(1120px,95vw);max-height:90vh;padding:22px;border:1px solid #dce8e2;border-radius:20px;background:#fff;box-shadow:0 24px 75px rgba(17,47,37,.25);overflow:auto}.unsettled-confirm-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:20px;margin-top:18px}.unsettled-confirm-image{position:relative;display:flex;align-items:center;justify-content:center;min-height:480px;padding:12px;border:1px solid #dce7e1;border-radius:14px;background:#f3f7f5;overflow:hidden}.unsettled-confirm-image img{display:block;max-width:100%;max-height:62vh;object-fit:contain}.unsettled-confirm-image .unsettled-view-original{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.94)}.unsettled-confirm-form{display:flex;flex-direction:column;gap:14px}.unsettled-confirm-form label,.unsettled-recognized-person,.unsettled-confirm-month{display:flex;flex-direction:column;gap:7px;padding:13px 14px;border:1px solid #dfe9e4;border-radius:12px;background:#fbfdfc}.unsettled-confirm-form label>span,.unsettled-recognized-person span,.unsettled-confirm-month span{color:#607169;font-size:11px;font-weight:800}.unsettled-confirm-form input{box-sizing:border-box;width:100%;height:43px;padding:0 12px;border:1px solid #cddfd6;border-radius:9px;background:#fff;color:#193e31;font-size:14px;font-weight:800;outline:none;appearance:textfield;-moz-appearance:textfield}.unsettled-confirm-form input:focus{border-color:#0b8f63;box-shadow:0 0 0 3px rgba(11,143,99,.12)}.unsettled-recognized-person b,.unsettled-confirm-month b{color:#087553;font-size:18px}.unsettled-recognized-person small,.unsettled-confirm-month small{color:#92a099;font-size:10px}.unsettled-confirm-tip{padding:11px 13px;border-radius:10px;background:#fff8e8;color:#85611e;font-size:11px;line-height:1.6}.unsettled-confirm-dialog>.adjustment-note-actions{margin-top:18px;padding-top:16px;border-top:1px solid #e7eeea}.unsettled-confirm-save{min-width:128px}
.unsettled-confirm-form .unsettled-field-warning{border-color:#e3a330;background:#fff9eb;box-shadow:0 0 0 2px rgba(227,163,48,.08)}.unsettled-performance-check small{color:#bd2f2f;font-size:11px;font-weight:800}.unsettled-confirm-form .unsettled-accuracy-confirm{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:9px;padding:11px 13px;border-color:#f0cf85;background:#fffaf0;cursor:pointer}.unsettled-confirm-form .unsettled-accuracy-confirm input{width:18px;height:18px;margin:0;accent-color:#0b8f63}.unsettled-confirm-form .unsettled-accuracy-confirm span{color:#754f0d;font-size:11px;line-height:1.45}
@media(max-width:900px){.unsettled-confirm-dialog{max-height:94vh}.unsettled-confirm-layout{grid-template-columns:1fr}.unsettled-confirm-image{min-height:280px}.unsettled-confirm-image img{max-height:42vh}}
.monthly-deal-progress{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;background:rgba(12,31,25,.48);backdrop-filter:blur(3px)}.monthly-deal-progress>div{min-width:310px;padding:24px 30px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 25px 70px rgba(0,0,0,.24)}.monthly-deal-progress b{color:#174b3a;font-size:17px}.monthly-deal-progress p{margin:12px 0 6px;color:#0b8f63;font-size:13px;font-weight:900}.monthly-deal-progress small{color:#8b9992;font-size:10px}
.monthly-deal-confirm-dialog{box-sizing:border-box;width:min(1240px,96vw);max-height:93vh;padding:20px;border:1px solid #d9e7e0;border-radius:20px;background:#fff;box-shadow:0 25px 80px rgba(15,46,35,.28);overflow:hidden}.monthly-deal-confirm-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(470px,.85fr);gap:18px;height:min(70vh,700px);margin-top:15px}.monthly-deal-image-panel{position:relative;display:flex;min-width:0;align-items:center;justify-content:center;padding:42px 10px 10px;border:1px solid #dce8e2;border-radius:14px;background:#f2f6f4;overflow:hidden}.monthly-deal-image-panel>img{display:block;max-width:100%;max-height:100%;object-fit:contain}.monthly-deal-image-tabs{position:absolute;z-index:2;left:10px;top:9px;display:flex;gap:5px}.monthly-deal-image-tabs button{height:26px;padding:0 9px;border:1px solid #cfddd6;border-radius:7px;background:#fff;color:#687a71;font-size:9px;font-weight:800;cursor:pointer}.monthly-deal-image-tabs button.active{border-color:#0b8f63;background:#e8f7f1;color:#087553}.monthly-deal-view-original{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.95)}.monthly-deal-confirm-form{display:flex;min-height:0;flex-direction:column;gap:10px}.monthly-deal-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.monthly-deal-summary span{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid #dce8e2;border-radius:10px;background:#f6faf8;color:#718179;font-size:9px}.monthly-deal-summary b{color:#087553;font-size:16px}.monthly-deal-rows{display:grid;min-height:0;gap:8px;overflow:auto;padding-right:3px}.monthly-deal-row{padding:10px;border:1px solid #dce7e1;border-radius:11px;background:#fbfdfc;cursor:pointer}.monthly-deal-row.can-settle{border-color:#a9ddc7;background:#f2fbf7}.monthly-deal-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.monthly-deal-row-head b{color:#21483a;font-size:11px}.monthly-deal-row-head span{padding:3px 7px;border-radius:999px;background:#fff0d6;color:#9c6205;font-size:8px;font-weight:900}.monthly-deal-row.can-settle .monthly-deal-row-head span{background:#dff5eb;color:#087553}.monthly-deal-row label{display:flex;flex-direction:column;gap:4px}.monthly-deal-row label>span{color:#728179;font-size:8px;font-weight:800}.monthly-deal-row input,.monthly-deal-row select{box-sizing:border-box;width:100%;height:31px;padding:0 8px;border:1px solid #ceded6;border-radius:7px;background:#fff;color:#24473b;font-size:10px;font-weight:800;outline:none}.monthly-deal-row input:focus,.monthly-deal-row select:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.1)}.monthly-deal-row-grid{display:grid;grid-template-columns:.8fr .75fr 1.15fr;gap:6px;margin-top:6px}.monthly-deal-accuracy{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:8px;padding:9px 11px;border:1px solid #edcf87;border-radius:9px;background:#fff9e9;color:#795510;font-size:10px;font-weight:800}.monthly-deal-accuracy input{width:17px;height:17px;margin:0;accent-color:#0b8f63}.monthly-deal-confirm-dialog>.adjustment-note-actions{margin-top:13px;padding-top:12px;border-top:1px solid #e6eee9}.monthly-deal-save{min-width:170px;background:#0b8f63}
@media(max-width:980px){.monthly-deal-confirm-dialog{max-height:96vh;overflow:auto}.monthly-deal-confirm-layout{grid-template-columns:1fr;height:auto}.monthly-deal-image-panel{min-height:300px;max-height:42vh}.monthly-deal-rows{max-height:52vh}}
.auto-unpaid-promotion{border-color:#d9a8a4!important;background:#fbe9e8!important;color:#8f2f2a!important}.auto-unpaid-promotion:hover{border-color:#c0564f!important;background:#f6d8d5!important;color:#75231f!important}.auto-unpaid-promotion small{color:#b06e68!important}
.unpaid-ledger-dialog{width:min(680px,92vw)}.unpaid-ledger-formula{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;padding:16px;border:1px solid #d7e9df;border-radius:12px;background:#f5fbf8}.unpaid-ledger-formula span{display:flex;flex-direction:column;gap:5px;color:#708179;font-size:11px;text-align:center}.unpaid-ledger-formula b{color:#087553;font-size:18px}.unpaid-ledger-formula i{color:#8b9b94;font-style:normal;font-size:18px;font-weight:900}.unpaid-ledger-list{display:grid;gap:8px;max-height:300px;margin-top:14px;overflow:auto}.unpaid-ledger-case{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e1ebe6;border-radius:10px;background:#fff}.unpaid-ledger-case b,.unpaid-ledger-case span{display:block}.unpaid-ledger-case b{color:#23483b;font-size:12px}.unpaid-ledger-case span{display:inline-block;margin-top:5px;padding:4px 8px;border:1px solid #efc66f;border-radius:999px;background:#fff4d8;color:#8a5205;font-size:12px;font-weight:900;line-height:1.25;letter-spacing:.1px}.unpaid-ledger-note{margin-top:12px;padding:10px 12px;border-radius:9px;background:#fff8e8;color:#8b641d;font-size:11px}
.employee-mode .unsettled-stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.unsettled-simple-table{min-width:620px}.employee-mode .unsettled-stats{grid-template-columns:1fr}.unsettled-panel .panel-head{align-items:flex-start;gap:12px}.unsettled-filter-toolbar{flex-wrap:wrap}.unsettled-filter-toolbar .filter-select{min-width:104px}}

/* 未结件台账16:9单屏布局：页面不滚动，明细表内部滚动 */
.unsettled-compact .main{height:100vh;overflow:hidden}
.unsettled-compact .topbar{height:76px;padding:0 26px}
.unsettled-compact .content{box-sizing:border-box;height:calc(100vh - 76px);max-width:none;padding:10px 14px 12px;overflow:hidden;display:flex;flex-direction:column}
.unsettled-compact .content>.notice{flex:0 0 auto;margin:0 0 8px;padding:9px 13px;font-size:11px;line-height:1.4}
.unsettled-compact .unsettled-stats{flex:0 0 auto;gap:10px;margin:0 0 8px}
.unsettled-compact .unsettled-stats .stat-card{padding:11px 14px;border-radius:12px}
.unsettled-compact .unsettled-stats .stat-card p{margin-bottom:5px;font-size:11px}
.unsettled-compact .unsettled-stats .stat-card strong{font-size:24px;line-height:1.05}
.unsettled-compact .unsettled-stats .stat-card small{margin-top:4px;font-size:9px}
.unsettled-compact .unsettled-panel{flex:1 1 auto;min-height:0;margin:0;padding:12px 14px;display:flex;flex-direction:column;overflow:hidden}
.unsettled-compact .unsettled-panel .panel-head{flex:0 0 auto;gap:12px;margin-bottom:9px;align-items:center}
.unsettled-compact .unsettled-panel .panel-head h3{margin:0;font-size:17px}
.unsettled-compact .unsettled-panel .small-note{margin-top:3px;font-size:10px;line-height:1.35}
.unsettled-compact .unsettled-filter-toolbar{gap:7px;justify-content:flex-end;flex-wrap:wrap}
.unsettled-compact .unsettled-filter-toolbar .filter-select{height:34px;min-width:104px;padding:0 25px 0 9px;font-size:10px;border-radius:8px}
.unsettled-compact .unsettled-filter-toolbar button{height:34px;padding:0 11px;font-size:10px;white-space:nowrap}
.unsettled-compact .unsettled-table-wrap{flex:1 1 auto;min-height:0;max-height:none;margin:0;overflow:auto;border:1px solid #e3ece7;border-radius:10px}
.unsettled-compact .unsettled-simple-table{min-width:820px}
.unsettled-compact .unsettled-simple-table th{height:38px;padding:7px 6px;font-size:10px}
.unsettled-compact .unsettled-simple-table td{height:38px;padding:6px;font-size:10px}
.unsettled-compact .unsettled-simple-table .case-address{font-size:11px}
.unsettled-compact .unsettled-performance-value{font-size:13px}
.unsettled-compact .unsettled-table-wrap{overflow-x:hidden;overflow-y:auto}
.unsettled-compact .unsettled-simple-table{width:100%!important;min-width:0!important;max-width:100%!important}
.unsettled-compact .unsettled-simple-table th:first-child,.unsettled-compact .unsettled-simple-table td:first-child{width:210px!important;min-width:210px!important;max-width:210px!important}.unsettled-compact .unsettled-simple-table th:nth-child(2),.unsettled-compact .unsettled-simple-table td:nth-child(2){width:68px!important}.unsettled-compact .unsettled-simple-table th:nth-child(3),.unsettled-compact .unsettled-simple-table td:nth-child(3){width:115px!important}.unsettled-compact .unsettled-simple-table th:nth-child(4),.unsettled-compact .unsettled-simple-table td:nth-child(4){width:108px!important}.unsettled-compact .unsettled-simple-table th:nth-child(5),.unsettled-compact .unsettled-simple-table td:nth-child(5){width:82px!important}.unsettled-compact .unsettled-simple-table th:nth-child(6),.unsettled-compact .unsettled-simple-table td:nth-child(6){width:74px!important}.unsettled-compact .unsettled-simple-table th:nth-child(7),.unsettled-compact .unsettled-simple-table td:nth-child(7){width:58px!important}.unsettled-compact .unsettled-simple-table th:nth-child(8),.unsettled-compact .unsettled-simple-table td:nth-child(8){width:66px!important}
.unsettled-compact .unsettled-simple-table td:last-child{white-space:normal;line-height:1.2}
.unsettled-compact .unsettled-simple-table th:nth-child(9),.unsettled-compact .unsettled-simple-table td:nth-child(9){width:112px!important;min-width:112px!important}
.unsettled-compact .unsettled-simple-table td:last-child .table-action{height:27px;margin:2px 1px;padding:0 6px;font-size:9px;white-space:nowrap}
.employee-settlement-method{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.employee-settlement-method small{display:block;color:#214f3e;font-size:12px;font-weight:900;line-height:1.35;white-space:normal}
@media(max-width:1200px){.unsettled-compact .unsettled-panel .panel-head{align-items:flex-start}.unsettled-compact .unsettled-filter-toolbar{max-width:650px}.unsettled-compact .unsettled-stats .stat-card strong{font-size:21px}}

/* 新房回款截图：左图右侧逐套核对 */
.newhouse-confirm-dialog{box-sizing:border-box;width:min(1180px,95vw);max-height:92vh;padding:22px;border:1px solid #dce8e2;border-radius:20px;background:#fff;box-shadow:0 24px 75px rgba(17,47,37,.25);overflow:auto}.newhouse-confirm-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.85fr);gap:20px;margin-top:18px}.newhouse-confirm-image{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px;padding:12px;border:1px solid #dce7e1;border-radius:14px;background:#f3f7f5;overflow:hidden}.newhouse-confirm-image img{display:block;max-width:100%;max-height:66vh;object-fit:contain}.newhouse-confirm-image .newhouse-view-original{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.95)}.newhouse-confirm-form{display:flex;min-height:0;flex-direction:column;gap:12px}.newhouse-confirm-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.newhouse-confirm-summary span{display:flex;flex-direction:column;gap:5px;padding:11px 13px;border:1px solid #dbe9e2;border-radius:11px;background:#f6fbf8;color:#6f8178;font-size:10px}.newhouse-confirm-summary b{color:#087553;font-size:17px}.newhouse-confirm-items{display:grid;gap:12px;max-height:54vh;overflow:auto;padding-right:3px}.newhouse-confirm-item{padding:13px;border:1px solid #dce8e2;border-radius:13px;background:#fbfdfc}.newhouse-confirm-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.newhouse-confirm-item-head b{color:#174b3a;font-size:13px}.newhouse-confirm-item-head span{padding:4px 8px;border-radius:999px;background:#e9f7f1;color:#087553;font-size:9px;font-weight:800}.newhouse-confirm-item label{position:relative;display:flex;flex-direction:column;gap:5px}.newhouse-confirm-item label>span{color:#687970;font-size:10px;font-weight:800}.newhouse-confirm-item input{box-sizing:border-box;width:100%;height:36px;padding:0 9px;border:1px solid #cfdfd7;border-radius:8px;background:#fff;color:#24483b;font-size:11px;font-weight:800;outline:none}.newhouse-confirm-item input:focus{border-color:#0b8f63;box-shadow:0 0 0 3px rgba(11,143,99,.1)}.newhouse-identity-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.newhouse-identity-fields label{min-width:0}.newhouse-identity-fields input{font-size:11px}.newhouse-allocation-list{display:grid;gap:8px;margin-top:10px}.newhouse-allocation-row{display:grid;grid-template-columns:1.15fr .65fr 1fr;gap:7px;padding:9px;border-radius:10px;background:#f1f7f4}.newhouse-allocation-row label:nth-child(2) input{padding-right:24px}.newhouse-allocation-row em{position:absolute;right:8px;bottom:10px;color:#829089;font-size:10px;font-style:normal}.newhouse-confirm-tip{padding:10px 12px;border-radius:9px;background:#fff8e8;color:#84601d;font-size:10px;line-height:1.55}.newhouse-confirm-dialog>.adjustment-note-actions{margin-top:18px;padding-top:16px;border-top:1px solid #e7eeea}.newhouse-confirm-save{min-width:128px;background:#0b8f63}.newhouse-address-field input{font-size:12px}
.newhouse-confirm-item-head>div{display:flex;align-items:center;gap:7px}.newhouse-remove-item{height:24px;padding:0 7px;border:1px solid #e0b4ad;border-radius:6px;background:#fff5f3;color:#a94b3d;font-size:9px;font-weight:800;cursor:pointer}.newhouse-allocation-row{grid-template-columns:1.15fr .65fr 1fr 27px;align-items:end}.newhouse-remove-allocation{width:27px;height:36px;padding:0;border:1px solid #e1bbb4;border-radius:7px;background:#fff7f5;color:#ad4c3d;font-size:17px;font-weight:700;cursor:pointer}.newhouse-add-allocation{width:100%;height:32px;margin-top:8px;border:1px dashed #77b59a;border-radius:8px;background:#f4fbf7;color:#087553;font-size:11px;font-weight:900;cursor:pointer}.newhouse-add-allocation:hover{background:#e9f7f0}.newhouse-remove-item:hover,.newhouse-remove-allocation:hover{background:#ffebe7}
.newhouse-allocation-total{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.newhouse-allocation-total span{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid #cfe2d8;border-radius:8px;background:#f4faf7;color:#61766c;font-size:10px;font-weight:800}.newhouse-allocation-total b{color:#087553;font-size:14px;font-variant-numeric:tabular-nums}
@media(max-width:950px){.newhouse-confirm-dialog{max-height:95vh}.newhouse-confirm-layout{grid-template-columns:1fr}.newhouse-confirm-image{min-height:300px}.newhouse-confirm-image img{max-height:42vh}.newhouse-confirm-items{max-height:none}}

.deduction-editor-dialog { width: min(590px, 94vw); }
.deduction-editor-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; margin-top: 20px; }
.deduction-editor-grid label { display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 8px; color: #5e6863; font-size: 13px; font-weight: 700; }
.deduction-editor-grid label>span small { display: block; margin-top: 3px; color: #8a633c; font-size: 11px; font-weight: 800; line-height: 1.3; }
.deduction-editor-grid input { box-sizing: border-box; width: 100%; height: 38px; padding: 0 10px; border: 1px solid #dce4e0; border-radius: 8px; text-align: center; outline: none; }
.deduction-editor-grid input:focus { border-color: #c88a52; box-shadow: 0 0 0 3px rgba(200, 138, 82, .12); }
.deduction-total-preview { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; padding: 12px 14px; border-radius: 10px; background: #fff5eb; color: #94541e; }
.deduction-total-preview b { font-size: 18px; }

.deduction-batch-dialog{box-sizing:border-box;display:flex;flex-direction:column;width:min(1180px,96vw);max-height:min(92vh,760px);padding:20px;overflow:hidden;border-radius:14px}
.deduction-batch-dialog .adjustment-note-title{flex:0 0 auto}
.deduction-batch-dialog .adjustment-note-title b{font-size:17px}
.deduction-batch-dialog .adjustment-note-title p{max-width:820px;font-size:12px;line-height:1.5}
.deduction-batch-toolbar{display:flex;align-items:center;gap:12px;min-height:42px;margin-top:14px;padding:8px 10px;border:1px solid #dce9e3;border-radius:8px;background:#f5faf7;color:#315c4d}
.deduction-batch-toolbar>span{display:flex;align-items:baseline;gap:4px;white-space:nowrap;font-size:12px;font-weight:900}
.deduction-batch-toolbar>span b{color:#087553;font-size:18px;font-variant-numeric:tabular-nums}
.deduction-batch-toolbar>small{min-width:0;flex:1;color:#64786f;font-size:11px;font-weight:700;line-height:1.4}
.deduction-batch-toolbar .outline{height:32px;padding:0 10px;white-space:nowrap;font-size:11px}
.deduction-batch-table-wrap{min-height:0;flex:1;margin-top:12px;overflow:auto;border:1px solid #dce9e3;border-bottom:0;border-radius:8px 8px 0 0}
.deduction-batch-table{width:100%;min-width:1000px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:11px}
.deduction-batch-table th,.deduction-batch-table td{padding:7px 6px;border-bottom:1px solid #e7efeb;text-align:center;vertical-align:middle}
.deduction-batch-table thead th{position:sticky;top:0;z-index:2;height:36px;background:#edf6f2;color:#315c4d;font-size:11px;font-weight:900}
.deduction-batch-table thead th:first-child{width:138px}
.deduction-batch-table thead th:last-child{width:105px}
.deduction-batch-table tbody tr:nth-child(even) td,.deduction-batch-table tbody tr:nth-child(even) th{background:#fbfdfc}
.deduction-batch-table tbody th{background:#fff;color:#173f31;font-size:12px;font-weight:900;text-align:center}
.deduction-batch-table tbody th b,.deduction-batch-table tbody th small{display:block}
.deduction-batch-table tbody th small{margin-top:2px;color:#899891;font-size:9px;font-weight:700}
.deduction-batch-table td label{display:flex;flex-direction:column;gap:3px;align-items:stretch}
.deduction-batch-table td label>span{display:none;color:#6d7f76;font-size:10px;font-weight:900}
.deduction-batch-table td label>span em{margin-left:3px;color:#a06a2a;font-size:8px;font-style:normal;font-weight:900}
.deduction-batch-table input{box-sizing:border-box;width:100%;height:31px;padding:0 6px;border:1px solid #d4e3dc;border-radius:6px;background:#fff;color:#21493b;font-size:11px;font-weight:800;text-align:center;outline:none;font-variant-numeric:tabular-nums}
.deduction-batch-table input:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.12)}
.deduction-batch-table input[data-batch-field="insurance"],.deduction-batch-table input[data-batch-field="housingFund"]{border-color:#d8cba8;background:#fffdf6}
.deduction-batch-row-total{color:#a15a28;font-weight:900;white-space:nowrap}
.deduction-batch-row-total span,.deduction-batch-row-total b{display:block}
.deduction-batch-row-total span{color:#8b7a63;font-size:9px}
.deduction-batch-row-total b{margin-top:2px;font-size:12px;font-variant-numeric:tabular-nums}
.deduction-batch-summary-wrap{flex:0 0 auto;overflow:hidden;border:1px solid #b9dbc9;border-top:0;border-radius:0 0 8px 8px;background:#f1faf5;box-shadow:0 -6px 14px rgba(24,88,64,.08)}
.deduction-batch-summary-table th:first-child{width:138px}
.deduction-batch-summary-table td:last-child{width:105px}
.deduction-batch-summary-row th,.deduction-batch-summary-row td{background:#f1faf5;border-top:2px solid #b9dbc9;border-bottom:0;color:#1d5b45;font-weight:900}
.deduction-batch-summary-row th{text-align:left}
.deduction-batch-summary-row th span,.deduction-batch-summary-row th small,.deduction-batch-summary-row td span,.deduction-batch-summary-row td b{display:block}
.deduction-batch-summary-row th span{font-size:12px}
.deduction-batch-summary-row th small{margin-top:2px;color:#6d8178;font-size:9px}
.deduction-batch-summary-row td span{color:#5d7569;font-size:9px}
.deduction-batch-summary-row td .deduction-insured-count{display:block;margin-top:2px;color:#087553;font-size:11px;font-weight:900;line-height:1.2;white-space:nowrap}
.deduction-batch-summary-row td b{margin-top:2px;font-size:12px;font-variant-numeric:tabular-nums}
.deduction-batch-summary-row .deduction-batch-grand-total{color:#a15a28}
.deduction-batch-summary-row .deduction-batch-grand-total span{color:#8b7a63}
.deduction-batch-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;margin-top:10px;padding-top:10px;border-top:1px solid #e4ece8}
.deduction-batch-foot>span{color:#687b72;font-size:10px;font-weight:700;line-height:1.4}
.deduction-batch-foot .adjustment-note-actions{margin-top:0}
.deduction-batch-foot .adjustment-note-actions button{height:34px;font-size:11px}

@media(max-width:700px){
  .deduction-editor-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .deduction-batch-dialog{width:calc(100vw - 18px);max-height:94vh;padding:14px}
  .deduction-batch-toolbar{align-items:stretch;flex-direction:column;gap:6px}
  .deduction-batch-toolbar .outline{width:100%}
  .deduction-batch-table-wrap{overflow-x:hidden}
  .deduction-batch-table{display:block;min-width:0}
  .deduction-batch-table thead{display:none}
  .deduction-batch-table tbody,.deduction-batch-table tr{display:block}
  .deduction-batch-table tr{padding:9px 9px 8px;border-bottom:1px solid #dfeae5}
  .deduction-batch-table tbody tr:nth-child(even) td,.deduction-batch-table tbody tr:nth-child(even) th{background:transparent}
  .deduction-batch-table tbody th{display:flex;align-items:baseline;justify-content:center;padding:0 0 7px;background:transparent;text-align:center}
  .deduction-batch-table tbody th small{margin-top:0}
  .deduction-batch-table td{display:inline-block;box-sizing:border-box;width:50%;padding:4px 4px;border:0;text-align:left}
  .deduction-batch-table td label{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:5px}
  .deduction-batch-table td label>span{display:block}
  .deduction-batch-table .deduction-batch-row-total{display:block;width:100%;padding:6px 4px 0;text-align:right}
  .deduction-batch-table .deduction-batch-row-total span,.deduction-batch-table .deduction-batch-row-total b{display:inline}
  .deduction-batch-table .deduction-batch-row-total b{margin-left:5px}
  .deduction-batch-summary-wrap{max-height:190px;overflow-y:auto}
  .deduction-batch-summary-table,.deduction-batch-summary-table tbody,.deduction-batch-summary-table tr{display:block;min-width:0}
  .deduction-batch-summary-table tr{padding:10px 9px 8px;border-top:2px solid #b9dbc9;background:#f1faf5}
  .deduction-batch-summary-table th{display:flex;align-items:baseline;justify-content:space-between;width:auto!important;padding:0 0 6px;background:transparent;border:0;text-align:left}
  .deduction-batch-summary-table th span{font-size:12px}
  .deduction-batch-summary-table th small{font-size:9px;color:#6d8178}
  .deduction-batch-summary-table td{display:inline-flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:50%;padding:4px;border:0;text-align:left}
  .deduction-batch-summary-table td span{display:none}
  .deduction-batch-summary-table td[data-total-field="insurance"]{flex-wrap:wrap}
  .deduction-batch-summary-table td .deduction-insured-count{order:3;flex:0 0 100%;width:100%;margin-top:3px;text-align:right}
  .deduction-batch-summary-table td::before{content:attr(data-label);color:#5d7569;font-size:10px;font-weight:900}
  .deduction-batch-summary-table td b{font-size:12px}
  .deduction-batch-summary-table .deduction-batch-grand-total{display:flex;width:100%!important;padding-top:7px;border-top:1px solid #d4e8dc}
  .deduction-batch-summary-table .deduction-batch-grand-total::before{content:'全部扣款'}
  .deduction-batch-foot{align-items:stretch;flex-direction:column;gap:7px}
  .deduction-batch-foot .adjustment-note-actions{justify-content:stretch}
  .deduction-batch-foot .adjustment-note-actions button{flex:1}
}

.detail-row.employee-deduction-entry{width:100%;color:inherit;text-align:left;cursor:pointer}
.employee-deduction-entry span small{display:block;margin-top:3px;color:#9b6c3d;font-size:10px;font-weight:800}
.detail-row.employee-deduction-entry:hover{box-shadow:inset 0 0 0 1px #e2bd94;background:#fff8ef}
.employee-deduction-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-height:90vh;border-radius:8px;overflow:auto}
.employee-create-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 36px);padding:18px 20px 14px;border-radius:12px;overflow:auto}
.employee-create-dialog .adjustment-note-title{align-items:center;gap:12px}
.employee-create-dialog .adjustment-note-title b{font-size:17px}
.employee-create-dialog .adjustment-note-title p{margin-top:4px;font-size:11px}
.employee-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;margin-top:15px}
.employee-create-field{display:flex;min-width:0;flex-direction:column;gap:6px;color:#52655d;font-size:13px;font-weight:800}
.employee-create-field-wide{grid-column:1/-1}
.employee-create-field>span{line-height:1.2}
.employee-create-field input,.employee-create-field select{box-sizing:border-box;width:100%;height:40px;padding:0 10px;border:1px solid #d4e1da;border-radius:7px;background:#fff;color:#29483d;font:inherit;font-size:13px;font-weight:700;outline:none}
.employee-create-field input:focus,.employee-create-field select:focus{border-color:#0b8f63;box-shadow:0 0 0 3px rgba(11,143,99,.1)}
.employee-create-field input:disabled{background:#f3f6f4;color:#9aa7a1;cursor:not-allowed}
.employee-create-percent-input{position:relative}
.employee-create-percent-input input{padding-right:26px}
.employee-create-percent-input em{position:absolute;right:10px;top:9px;color:#7a8a82;font-size:11px;font-style:normal;font-weight:800}
.employee-create-hint{margin-top:12px;padding:9px 11px;border:1px solid #e1eee7;border-radius:7px;background:#f4faf7;color:#597168;font-size:10px;line-height:1.45}
.employee-create-dialog .adjustment-note-actions{margin-top:13px;padding-top:12px;border-top:1px solid #e8efeb}.employee-create-dialog .adjustment-note-actions button{font-size:13px}
@media(max-width:620px){.employee-create-grid{grid-template-columns:1fr;gap:10px}.employee-create-dialog{padding:16px}.employee-create-dialog .adjustment-note-actions{position:sticky;bottom:-14px;padding-bottom:3px;background:#fff}}
.employee-deduction-list{display:grid;margin-top:18px;border-top:1px solid #e4e9e6}
.employee-deduction-list>div{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid #e4e9e6;color:#53625b;font-size:13px}
.employee-deduction-list>div b{color:#b24f45;font-variant-numeric:tabular-nums}
.employee-deduction-empty{margin:18px 0;text-align:center;color:#8a9690;font-size:13px}
.employee-deduction-total{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:12px 14px;border-radius:8px;background:#fff4ea;color:#8e4d1d;font-weight:800}
.employee-deduction-total b{font-size:18px;font-variant-numeric:tabular-nums}
.employee-history-detail>.employee-history-deduction{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border:0;background:#fff;color:#7b8982;text-align:left;cursor:pointer}
.employee-history-detail>.employee-history-deduction>span{display:block;padding:0;background:transparent;color:#7b8982;font-size:10px}
.employee-history-detail>.employee-history-deduction>b{color:#29483d;font-size:13px}
.employee-history-detail>.employee-history-deduction:hover{background:#fff8ef}

.payroll-compact .app-shell {
  grid-template-columns: 188px 1fr;
}

.payroll-compact .sidebar {
  padding: 20px 12px 16px;
}

.payroll-compact .side-brand {
  padding-bottom: 20px;
}

.payroll-compact .topbar {
  height: 82px;
  padding: 0 22px;
}

.payroll-compact .content {
  padding: 14px 18px 22px;
  max-width: none;
}

.payroll-compact .notice {
  margin-bottom: 10px;
  padding: 9px 12px;
}

.wage-panel {
  margin-top: 10px;
  padding: 14px;
}

.wage-panel .panel-head {
  margin-bottom: 10px;
}

.wage-panel .panel-head h3 {
  font-size: 16px;
}

.wage-panel .small-note {
  margin: 3px 0 0;
  line-height: 1.4;
}

.wage-panel .toolbar {
  gap: 6px;
}

.wage-panel .filter-select {
  min-width: 105px;
  height: 34px;
  font-size: 12px;
}

.wage-panel .outline {
  height: 34px;
  padding: 0 11px;
  font-size: 12px;
}

.prior-settlement-month-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px 16px;margin:0 0 10px;padding:10px 12px;border:1px solid #c9d9ee;border-left:4px solid #467db0;border-radius:7px;background:#f4f8fd;color:#315d83;box-sizing:border-box}.prior-settlement-month-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:2px}.prior-settlement-month-copy>span{color:#6a8299;font-size:11px;font-weight:800;line-height:1.2}.prior-settlement-month-copy>b{color:#214f78;font-size:15px;font-weight:900;line-height:1.25}.prior-settlement-month-copy>small{color:#6c8091;font-size:11px;font-weight:700;line-height:1.25}.prior-settlement-month-count{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px;padding-left:16px;border-left:1px solid #cad9e8}.prior-settlement-month-count strong{color:#215f91;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.15}.prior-settlement-month-count small{color:#6b7d8d;font-size:11px;font-weight:800;white-space:nowrap}.prior-settlement-month-button{flex:0 0 auto;height:32px!important;border-color:#6c9bc2!important;background:#fff!important;color:#276395!important;font-size:12px!important;font-weight:900!important}.prior-settlement-month-button:disabled{opacity:.55;cursor:not-allowed}.prior-settlement-month-items{display:grid;grid-column:1/-1;gap:5px;max-height:172px;overflow-y:auto;padding-top:8px;border-top:1px solid #d8e4ef}.prior-settlement-month-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:7px 8px;border:1px solid #dce7f1;border-radius:6px;background:#fff}.prior-settlement-month-item>div{min-width:0}.prior-settlement-month-item b{display:block;overflow-wrap:anywhere;color:#234f78;font-size:12px;font-weight:900;line-height:1.35}.prior-settlement-month-item small{display:block;margin-top:2px;color:#6c8091;font-size:10px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.prior-settlement-month-item>strong{flex:0 0 auto;color:#215f91;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}.prior-settlement-month-empty{padding:8px 4px;color:#71869a;font-size:11px;font-weight:800;text-align:center}
@media(max-width:760px){.prior-settlement-month-summary{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px}.prior-settlement-month-button{grid-column:1/-1;justify-self:start}.prior-settlement-month-count{padding-left:10px}.prior-settlement-month-items{max-height:220px}}

.wage-calc-table th,
.wage-calc-table td {
  padding: 6px 4px;
  font-size: 11px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wage-calc-table th {
  height: 38px;
  white-space: normal;
  line-height: 1.25;
}

.wage-calc-table tbody tr:nth-child(even) td {
  background-color: #fafcfb;
}

.wage-calc-table tbody tr:hover td {
  background-color: #eef8f3;
}

.wage-calc-table .wage-total-row td {
  position: sticky;
  bottom: 0;
  z-index: 4;
  height: 42px;
  padding: 8px 4px;
  border-top: 2px solid #8fc5ac;
  background: #eaf6f0 !important;
  color: #075f43;
  font-size: 11px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.wage-calc-table .wage-total-row td:first-child {
  color: #064a36;
  font-size: 12px;
  letter-spacing: .04em;
}

.wage-calc-table .wage-total-row .wage-total-empty {
  color: transparent;
}

/* Only enlarge the numeric totals in the bottom summary row. */
.payroll-compact .wage-calc-table .wage-total-row td:nth-child(n+4) {
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
}

.wage-calc-table .cell-input {
  width: 64px;
  height: 28px;
  padding: 0 5px;
  border-radius: 6px;
  font-size: 11px;
  text-align: center;
}

.wage-calc-table .rate-input {
  width: 58px;
}

.wage-calc-table .note-input {
  width: 118px;
  text-align: left;
}

.wage-calc-table th:nth-child(1),
.wage-calc-table td:nth-child(1) { width: 72px; }
.wage-calc-table th:nth-child(2),
.wage-calc-table td:nth-child(2) { width: 78px; }
.wage-calc-table th:nth-child(3),
.wage-calc-table td:nth-child(3) { width: 82px; }
.wage-calc-table th:nth-child(4),
.wage-calc-table td:nth-child(4) { width: 68px; }
.wage-calc-table th:nth-child(5),
.wage-calc-table td:nth-child(5) { width: 80px; }
.wage-calc-table th:last-child,
.wage-calc-table td:last-child { width: 130px; }

.wage-calc-table .fixed-rate {
  padding: 5px 6px;
  font-size: 10px;
  white-space: normal;
}

/* 20261011-1383：提成点锁定态——纯文字展示，防止下拉框误碰改变提成点 */
.wage-calc-table .rate-locked {
  display: inline-block;
  padding: 3px 10px;
  border: 1px dashed #bcd4c9;
  border-radius: 6px;
  background: #f4faf7;
  color: #245642;
  font-size: 12px;
  font-weight: 600;
}

.payroll-compact .salary-sheet-wrap {
  max-height: calc(100vh - 205px);
  border: 1px solid #e3ece7;
  border-radius: 10px;
}

.full-payroll-table th,
.full-payroll-table td {
  padding: 9px 8px;
}

.full-payroll-table th {
  position: sticky;
  top: 0;
  z-index: 3;
}

.performance-head {
  background: #eaf8f2;
  color: #076849;
}

.deduct-head {
  background: #eef7f3;
  color: #245642;
}

.calc-head,
.calc-cell {
  background: #f1f7f4;
  font-weight: 800;
}

.note-input {
  width: 260px;
}

.sticky-col {
  position: sticky;
  z-index: 2;
  background: #ffffff;
}

.group-col {
  left: 0;
  min-width: 82px;
}

.name-col {
  left: 82px;
  min-width: 90px;
  box-shadow: 7px 0 10px rgba(20,35,29,.05);
}

.image-reference {
  display: grid;
  grid-template-columns: 1fr auto 190px;
  align-items: center;
  gap: 18px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid #dce8e2;
  border-radius: 13px;
  background: #f8fcfa;
}

.image-reference img {
  width: 190px;
  height: 92px;
  border-radius: 9px;
  object-fit: cover;
  border: 1px solid #dce8e2;
}

.image-actions {
  display: flex;
  gap: 8px;
}

.filter-select {
  height: 38px;
  min-width: 120px;
  padding: 0 30px 0 10px;
  border: 1px solid #dce8e2;
  border-radius: 10px;
  background: #ffffff;
  color: #29443a;
  font-weight: 700;
  outline: none;
}

.filter-select:focus {
  border-color: #0b8f63;
}

.performance-check-table th:nth-child(-n+2),
.performance-check-table td:nth-child(-n+2),
.wage-calc-table th:nth-child(-n+2),
.wage-calc-table td:nth-child(-n+2),
.people-table th:nth-child(-n+2),
.people-table td:nth-child(-n+2) {
  background: #f0f8f4;
  color: #103d2f;
  font-size: 14px;
  font-weight: 800;
}

.performance-check-table th:first-child,
.wage-calc-table th:first-child,
.people-table th:first-child {
  color: #076849;
}

/* 业绩核对16:9全屏最终覆盖：放在文件末尾，避免被通用表格样式覆盖 */
.performance-compact .app-shell{grid-template-columns:195px 1fr}
.performance-compact .performance-check-table{width:1000px!important;min-width:1000px!important;max-width:none!important;margin:0 auto;font-size:10px!important}
.performance-compact .performance-check-table.adjustments-open{width:1200px!important;min-width:1200px!important}
.performance-compact .performance-check-table th,.performance-compact .performance-check-table td{padding:6px 3px!important;font-size:10px!important}
.performance-compact .performance-check-table th:first-child,.performance-compact .performance-check-table td:first-child{width:78px!important}
.performance-compact .performance-check-table th:nth-child(2),.performance-compact .performance-check-table td:nth-child(2){width:70px!important}
.performance-compact .performance-check-table th:last-child,.performance-compact .performance-check-table td:last-child{width:78px!important}
.performance-compact .performance-check-table .cell-input{width:68px!important;height:28px!important;font-size:10px!important}
.performance-compact .other-performance-cell{min-width:68px!important}
.performance-compact .performance-total-row td{font-size:10px!important;padding:7px 3px!important}

/* Payroll names: keep the two identity columns crisp and fully readable. */
.payroll-compact .wage-calc-table th:nth-child(1),
.payroll-compact .wage-calc-table td:nth-child(1){width:90px!important}
.payroll-compact .wage-calc-table th:nth-child(2),
.payroll-compact .wage-calc-table td:nth-child(2){width:100px!important}
.payroll-compact .wage-calc-table th:nth-child(-n+2),
.payroll-compact .wage-calc-table td:nth-child(-n+2){font-size:15px!important;font-weight:900!important;color:#103d2f!important;letter-spacing:0;white-space:nowrap;overflow:visible;text-overflow:clip;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}

.payroll-compact .wage-calc-table thead th:nth-child(1) .wage-header-filter select{width:110px!important;height:30px!important;font-size:13px!important;font-weight:900!important;color:#173f32!important}
.payroll-compact .wage-calc-table thead th:nth-child(2) .wage-header-filter select{width:132px!important;height:30px!important;font-size:13px!important;font-weight:900!important;color:#173f32!important}
.payroll-compact .wage-calc-table thead .wage-header-filter>span{font-size:13px!important;font-weight:900!important;color:#075f43!important}
.payroll-compact .wage-calc-table th:nth-child(1),
.payroll-compact .wage-calc-table td:nth-child(1){width:120px!important}
.payroll-compact .wage-calc-table th:nth-child(2),
.payroll-compact .wage-calc-table td:nth-child(2){width:145px!important}

/* 总业绩列重点显示 */
.performance-check-table thead th:last-child{background:#d8f1e5!important;color:#056b49!important;font-weight:900!important;border-left:2px solid #8bc8ad}
.performance-check-table tbody td:last-child{background:#eaf7f1!important;color:#078157!important;font-size:12px!important;font-weight:900!important;border-left:2px solid #b4decb;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.performance-compact .performance-check-table tbody td:last-child{font-size:12px!important}

/* 业绩核对协调版布局 */
.performance-compact .app-shell{grid-template-columns:212px 1fr}
.performance-compact .sidebar{padding:22px 15px 16px}
.performance-compact .side-brand{padding:0 7px 22px}
.performance-compact .nav-btn{height:42px;padding:0 12px;font-size:13px}
.performance-compact .topbar{height:82px;padding:0 28px}
.performance-compact .topbar h2{font-size:23px}
.performance-compact .content{max-width:1540px;padding:14px 24px 24px}
.performance-flow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 15px;border:1px solid #dbeae3;border-radius:12px;background:linear-gradient(90deg,#eef8f3,#f9fcfa);color:#315347}
.performance-flow>div{display:flex;align-items:center;gap:16px}
.performance-flow b{color:#087553;font-size:13px}
.performance-flow span{color:#6d7f77;font-size:11px}
.performance-flow small{padding:5px 10px;border-radius:999px;background:#fff;color:#087553;font-weight:800}
.performance-compact .performance-panel{margin-top:10px;padding:0;overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(20,52,40,.06)}
.performance-page-head{display:grid;grid-template-columns:minmax(260px,1fr) minmax(650px,auto);gap:22px;align-items:center;padding:16px 18px;border-bottom:1px solid #e3ece7;background:#fff}
.performance-title-block .eyebrow{margin-bottom:4px;font-size:9px;letter-spacing:1.6px}
.performance-title-block h3{margin:0;color:#173c30;font-size:19px}
.performance-title-block>p:last-child{margin:5px 0 0;color:#75857e;font-size:10px;line-height:1.5}
.performance-title-block .performance-filter-group{justify-content:flex-start;margin-top:12px}
.performance-control-area{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.performance-filter-group,.performance-action-group{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.performance-filter-group>span{color:#7b8b84;font-size:10px;font-weight:800}
.performance-compact .performance-filter-group .filter-select{height:34px;min-width:106px;max-width:130px;padding:0 25px 0 9px;border-radius:8px;font-size:11px}
.performance-compact .performance-import-actions .adjustment-toggle{height:36px;padding:0 11px;border-radius:9px;font-size:10px;white-space:nowrap}
.performance-import-actions .adjustment-toggle i{display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:5px;padding:0 4px;border-radius:999px;background:#d98930;color:#fff;font-size:9px;font-style:normal}
.performance-action-group{width:100%;justify-content:space-between!important;gap:20px!important}
.performance-import-actions,.performance-next-action{display:flex;align-items:center;gap:7px}
.performance-import-actions{padding:5px 7px;border:1px solid #dce9e3;border-radius:12px;background:#f6faf8}
.performance-import-actions>span,.performance-next-action>span{color:#7d8d86;font-size:9px;font-weight:800;white-space:nowrap}
.performance-next-action{margin-left:auto;padding-left:20px;border-left:1px solid #cdded6}
.performance-compact .performance-action-group button{height:37px;padding:0 12px;border-radius:9px;font-size:10px;white-space:nowrap}
.performance-compact .performance-action-group .performance-confirm-btn{background:#087553;box-shadow:0 5px 12px rgba(8,117,83,.18)}
.performance-compact .image-reference{margin:12px 16px 0;padding:9px 12px;grid-template-columns:1fr auto 130px;gap:12px;border-radius:10px}
.performance-compact .image-reference img{width:130px;height:62px}
.performance-table-caption{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-top:1px solid #edf2ef;border-bottom:1px solid #dfe9e4;background:#f8fbf9}
.performance-table-caption>div{display:flex;align-items:center;gap:10px}
.performance-table-caption b{color:#23493b;font-size:13px}
.performance-table-caption span{color:#819089;font-size:10px}
.performance-table-caption .performance-hover-hint{padding:4px 9px;border:1px solid #cde4d9;border-radius:999px;background:#edf8f3;color:#167052;font-weight:700}
.performance-table-caption strong{color:#087553;font-size:12px}
.performance-compact .performance-table-shell{max-height:calc(100vh - 245px);padding:0 12px 12px;background:#fff}
.performance-compact .performance-check-table{width:1120px!important;min-width:1120px!important;margin:0 auto;font-size:11px!important;table-layout:fixed;border-collapse:separate;border-spacing:0}
.performance-compact .performance-check-table.adjustments-open{width:1320px!important;min-width:1320px!important}
.performance-compact .performance-check-table thead th{height:44px;padding:7px 5px!important;background:#eef7f3;color:#316052;font-size:11px!important;font-weight:800;line-height:1.3;border-bottom:1px solid #cfe1d8}
.performance-compact .performance-check-table tbody td{height:42px;padding:6px 5px!important;background:#fff;color:#29443a;font-size:11px!important;border-bottom:1px solid #edf2ef}
.performance-compact .performance-check-table tbody tr:nth-child(even) td{background:#fbfdfc}
.performance-compact .performance-check-table tbody tr:hover td{background:#f1f8f5}
.performance-compact .performance-check-table th:first-child,.performance-compact .performance-check-table td:first-child{width:94px!important}
.performance-compact .performance-check-table th:nth-child(2),.performance-compact .performance-check-table td:nth-child(2){width:86px!important}
.performance-compact .performance-check-table th:last-child,.performance-compact .performance-check-table td:last-child{width:100px!important}
.performance-compact .performance-check-table .cell-input{width:80px!important;height:30px!important;padding:0 6px!important;background:#fbfdfc;font-size:11px!important;border-color:#d9e6e0;border-radius:7px}
.performance-compact .performance-check-table .cell-input:focus{background:#fff}
.performance-compact .other-performance-cell{min-width:80px!important}
.performance-compact .performance-total-row td{height:40px!important;padding:8px 5px!important;font-size:11px!important;background:#dff3e9!important}
.performance-compact .performance-check-table thead th:last-child{background:#d7efe3!important;color:#056b49!important}
.performance-compact .performance-check-table tbody td:last-child{background:#eaf7f1!important;color:#078157!important;font-size:12px!important}
@media(max-width:1450px){.performance-page-head{grid-template-columns:1fr}.performance-control-area{align-items:stretch}.performance-title-block .performance-filter-group{justify-content:flex-start;flex-wrap:wrap}.performance-action-group{justify-content:space-between!important;flex-wrap:wrap}.performance-next-action{margin-left:auto}.performance-compact .performance-table-shell{max-height:calc(100vh - 300px)}}

/* 业绩核对整体放大版：保持16:9单屏，明细仅在表格内部滚动 */
.performance-compact .content{height:calc(100vh - 82px);overflow:hidden;display:flex;flex-direction:column;padding:12px 14px 16px}
.performance-compact .performance-flow{flex:0 0 auto;padding:11px 16px}
.performance-compact .performance-flow b{font-size:14px}
.performance-compact .performance-flow span{font-size:12px}
.performance-compact .performance-flow small{font-size:12px;padding:6px 11px}
.performance-compact .performance-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.performance-compact .performance-page-head{flex:0 0 auto;padding:17px 20px}
.performance-compact .performance-title-block .eyebrow{font-size:10px}
.performance-compact .performance-title-block h3{font-size:21px}
.performance-compact .performance-title-block>p:last-child{font-size:12px}
.performance-compact .performance-filter-group>span{font-size:11px}
.performance-compact .performance-filter-group .filter-select{height:38px;min-width:126px;max-width:148px;padding:0 28px 0 11px;font-size:12px}
.performance-compact .performance-import-actions{padding:6px 8px;gap:8px}
.performance-compact .performance-import-actions>span,.performance-compact .performance-next-action>span{font-size:10px}
.performance-compact .performance-action-group button,.performance-compact .performance-import-actions .adjustment-toggle{height:40px;padding:0 14px;font-size:11px}
.performance-compact .performance-table-caption{flex:0 0 auto;padding:11px 19px}
.performance-compact .performance-table-caption b{font-size:14px}
.performance-compact .performance-table-caption span{font-size:11px}
.performance-compact .performance-table-caption strong{font-size:14px}
.performance-compact .performance-table-shell{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto;padding:0 4px 8px}
.performance-compact .performance-check-table{width:100%!important;min-width:1120px!important;font-size:12px!important;margin:0!important}
.performance-compact .performance-check-table.adjustments-open{width:100%!important;min-width:1320px!important}
.performance-compact .performance-check-table thead th{height:48px;padding:8px 5px!important;font-size:12px!important}
.performance-compact .performance-check-table tbody td{height:46px;padding:6px 5px!important;font-size:12px!important}
.performance-compact .performance-check-table th:first-child,.performance-compact .performance-check-table td:first-child{width:98px!important}
.performance-compact .performance-check-table th:nth-child(2),.performance-compact .performance-check-table td:nth-child(2){width:90px!important}
.performance-compact .performance-check-table th:last-child,.performance-compact .performance-check-table td:last-child{width:132px!important}
.performance-compact .performance-check-table .cell-input{width:84px!important;height:34px!important;padding:0 7px!important;font-size:12px!important;border-radius:8px}
.performance-compact .other-performance-cell{min-width:84px!important}
.performance-compact .performance-total-row td{height:44px!important;padding:9px 5px!important;font-size:12px!important}
.performance-compact .performance-check-table thead th:last-child{font-size:13px!important}
.performance-compact .performance-check-table tbody td:last-child{font-size:14px!important;padding-left:8px!important;padding-right:8px!important}
.performance-compact .performance-check-table thead th:nth-child(-n+2),
.performance-compact .performance-check-table tbody td:nth-child(-n+2){text-align:center!important;vertical-align:middle!important;padding-left:5px!important;padding-right:5px!important}

/* 底部汇总栏：轻量显示分项，只突出最终总业绩 */
.performance-compact .performance-check-table tfoot td{height:50px!important;padding:9px 6px!important;background:#f8fbf9!important;color:#31584a!important;font-size:12px!important;font-weight:800!important;border-top:1px solid #bdd9cc!important;box-shadow:0 -5px 12px rgba(20,66,49,.06)}
.performance-compact .performance-total-row .performance-total-label{background:#eef6f2!important;color:#176247!important;font-size:12px!important;letter-spacing:0!important;border-right:1px solid #d6e7df}
.performance-compact .performance-total-row td:not(.performance-total-label):not(:last-child){color:#31584a!important;font-variant-numeric:tabular-nums}
.performance-compact .performance-total-row td:last-child{background:#d8f1e5!important;color:#057650!important;font-size:14px!important;font-weight:900!important;border-left:2px solid #8bc8ad!important}
.performance-compact .performance-next-action{align-items:flex-start}
.performance-compact .performance-next-action>span{margin-top:14px}
.performance-confirm-stack{display:flex;flex-direction:column;align-items:center;gap:8px}
.next-performance-total{display:flex;align-items:baseline;gap:6px;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}
.next-performance-total span{color:#4d7566;font-size:12px;font-weight:800}
.next-performance-total b{color:#00734d;font-size:16px;font-weight:900;letter-spacing:.2px}
.performance-compact .performance-table-caption{justify-content:space-between}
.performance-caption-actions{display:flex!important;align-items:center;gap:6px;padding:4px;border:1px solid #d3e1db;border-radius:9px;background:#fff;box-shadow:0 3px 10px rgba(31,72,53,.08);flex:0 0 auto}
.performance-caption-actions button{box-sizing:border-box;height:32px;padding:0 11px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:900;line-height:1;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.performance-caption-actions button:hover,.performance-caption-actions button:focus-visible{transform:translateY(-1px);outline:none}
.performance-abnormal-add-action{border:1px solid #a87525;background:#b8872f;color:#fff;box-shadow:0 3px 8px rgba(184,135,47,.2)}
.performance-abnormal-add-action:hover,.performance-abnormal-add-action:focus-visible{border-color:#946a1f;background:#9f7222;box-shadow:0 0 0 2px rgba(184,135,47,.16)}
.performance-ledger-action{border:1px solid #8b70bb;background:#f4effb;color:#60408f}
.performance-ledger-action:hover,.performance-ledger-action:focus-visible{border-color:#7354a8;background:#e9def8;color:#4b2f78;box-shadow:0 0 0 2px rgba(115,84,168,.14)}
.performance-orders-entry{border:1px solid #85bda6;background:#edf8f3;color:#176247}
.performance-orders-entry:hover,.performance-orders-entry:focus-visible{border-color:#4c9b7c;background:#dff2e9;color:#075f42;box-shadow:0 0 0 2px rgba(8,117,83,.1)}
@media(max-width:760px){.performance-table-caption{align-items:flex-start;flex-wrap:wrap;gap:8px}.performance-table-caption>div:first-child{min-width:0;flex:1 1 100%}.performance-caption-actions{width:100%;flex-wrap:wrap}.performance-caption-actions button{flex:1 1 auto;min-width:0;padding-left:9px;padding-right:9px}}

/* 业绩核对入口：新增异常业绩与完整台账同框，全部订单明细独立显示。 */
.newhouse-archive-panel{min-height:0}
.newhouse-archive-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.newhouse-archive-summary span{display:flex;flex-direction:column;gap:5px;padding:11px 14px;border:1px solid #d7e7df;border-radius:10px;background:#f5faf7;color:#60766b;font-size:11px;font-weight:800}
.newhouse-archive-summary b{color:#087553;font-size:18px;font-variant-numeric:tabular-nums}
.newhouse-archive-table-wrap{max-height:calc(100vh - 250px);overflow:auto}
.newhouse-archive-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.newhouse-archive-table th,.newhouse-archive-table td{padding:10px 9px;border-bottom:1px solid #e5eee9;vertical-align:top;text-align:left}
.newhouse-archive-table th{position:sticky;top:0;z-index:1;background:#eef7f3;color:#316052;font-size:12px;font-weight:900}
.newhouse-archive-table td{background:#fff;color:#29443a;font-size:12px}
.newhouse-archive-table tbody tr:nth-child(even) td{background:#fbfdfc}
.newhouse-archive-table tbody tr:hover td{background:#f1f8f5}
.newhouse-archive-table th:first-child,.newhouse-archive-table td:first-child{width:30%}
.newhouse-archive-table th:nth-child(2),.newhouse-archive-table td:nth-child(2){width:11%}
.newhouse-archive-table th:nth-child(3),.newhouse-archive-table td:nth-child(3){width:15%}
.newhouse-archive-table th:nth-child(4),.newhouse-archive-table td:nth-child(4){width:11%;text-align:right}
.newhouse-archive-table th:nth-child(5),.newhouse-archive-table td:nth-child(5){width:15%;text-align:right}
.newhouse-archive-table th:nth-child(6),.newhouse-archive-table td:nth-child(6){width:8%;text-align:center}
.newhouse-archive-table th:last-child,.newhouse-archive-table td:last-child{width:10%;text-align:right}
.newhouse-archive-table td:first-child b{display:block;color:#174b3a;font-size:13px;line-height:1.45}
.newhouse-archive-table td:first-child small{display:block;margin-top:4px;color:#71847a;font-size:11px;line-height:1.45}.newhouse-archive-table td:first-child .newhouse-archive-deal-label{color:#087553;font-weight:900}
.newhouse-archive-person{display:flex;align-items:center;min-height:27px;padding:3px 0;border-bottom:1px dashed #e3eee8;line-height:1.35}
.newhouse-archive-person:last-child{border-bottom:0}
.newhouse-archive-person b{color:#245744}.newhouse-deal-person-badge{display:inline-flex;align-items:center;margin-left:5px;padding:2px 5px;border-radius:999px;background:#e0f4e9;color:#087553;font-size:9px;font-style:normal;font-weight:900;line-height:1.1;vertical-align:1px}
.newhouse-archive-person span{color:#087553;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.newhouse-archive-people-cell .newhouse-archive-person b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.newhouse-archive-percent-cell .newhouse-archive-person,.newhouse-archive-performance-cell .newhouse-archive-person{justify-content:flex-end}
.newhouse-archive-percent-cell,.newhouse-archive-performance-cell{font-variant-numeric:tabular-nums}
.newhouse-archive-performance-cell .newhouse-archive-person span{color:#245744}
.newhouse-archive-ratio{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;background:#e8f6ee;color:#087553;font-weight:900;white-space:nowrap}
.newhouse-archive-ratio.ratio-overflow{background:#fff0e7;color:#b54716;border:1px solid #edb48c}
.newhouse-archive-ratio-cell{vertical-align:middle!important}
.newhouse-allocation-total.ratio-overflow{border-color:#edb48c!important;background:#fff5ee!important;color:#a64618!important}
.newhouse-allocation-total.ratio-overflow b{color:#b54716!important}
@media(max-width:760px){.newhouse-archive-summary{grid-template-columns:1fr}.newhouse-archive-table-wrap{max-height:none}.newhouse-archive-table{min-width:760px}}
.performance-caption-actions{padding:0;border:0;background:transparent;box-shadow:none;gap:8px}
.performance-caption-primary-group{display:flex!important;align-items:center;gap:6px;padding:4px;border:1px solid #d3e1db;border-radius:9px;background:#fff;box-shadow:0 3px 10px rgba(31,72,53,.08);flex:0 0 auto}
.performance-caption-primary-group button{flex:0 0 auto}
@media(max-width:760px){.performance-caption-actions{width:100%;gap:8px}.performance-caption-primary-group{flex:1 1 auto;min-width:0;flex-wrap:wrap}.performance-caption-primary-group button{flex:1 1 auto;min-width:0}.performance-caption-actions>.performance-orders-entry{flex:0 0 auto}}

/* 下一步区域改为上下排列，工资核算使用金色主按钮 */
.performance-compact .performance-next-action{flex-direction:column;align-items:center;justify-content:center;gap:6px;padding-left:22px}
.performance-compact .performance-next-action>span{margin:0;font-size:10px;line-height:1;color:#8b7752}
.performance-compact .performance-confirm-stack{gap:7px}
.performance-compact .performance-action-group .performance-confirm-btn{background:#b8872f!important;border-color:#b8872f!important;color:#fff!important;box-shadow:0 6px 14px rgba(184,135,47,.25)}
.performance-compact .performance-action-group .performance-confirm-btn:hover{background:#9f7222!important;border-color:#9f7222!important;transform:translateY(-1px)}
.performance-compact .performance-next-action{gap:8px}
.performance-confirm-row{display:flex;align-items:center;justify-content:center;gap:8px}
.performance-confirm-row>span{color:#8b7752;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}
.wage-calc-table .unpaid-promotion-column-focus{background:#fff0c8!important;color:#67420a!important;box-shadow:inset 2px 0 0 #c58a21,inset -2px 0 0 #c58a21}
.wage-calc-table thead .unpaid-promotion-column-focus{background:#f2d17f!important;color:#553600!important}
.wage-calc-table .unpaid-promotion-column-focus .unpaid-promotion-cell{border-color:#c58a21;background:#fff9e8;box-shadow:0 0 0 2px rgba(197,138,33,.12)}
.wage-calc-table .reconcile-purple-focus,.performance-check-table .reconcile-purple-focus{background:#f1eaff!important;color:#5d2c8e!important;box-shadow:inset 2px 0 0 #8a5bc2,inset -2px 0 0 #8a5bc2}
.wage-calc-table thead .reconcile-purple-focus,.performance-check-table thead .reconcile-purple-focus{background:#dfc9f6!important;color:#4a2275!important;box-shadow:inset 2px 0 0 #7440a6,inset -2px 0 0 #7440a6}
.wage-calc-table .reconcile-purple-focus .unpaid-promotion-cell{border-color:#8a5bc2;background:#f7f0ff;box-shadow:0 0 0 2px rgba(138,91,194,.2)}

/* A+其他实收业绩四项分配确认 */
.other-breakdown-dialog{width:min(680px,calc(100vw - 32px))}
.a-plus-allocation-panel{margin-top:10px;padding:15px;border:1px solid #d8e7e0;border-radius:12px;background:#f7fbf9}
.a-plus-source-total{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 14px;margin-bottom:12px;padding:12px 14px;border:1px solid #bcd9cc;border-left:4px solid #087553;border-radius:10px;background:#fff;color:#31584a;font-size:12px;font-weight:800}
.a-plus-source-total b{color:#087553;font-size:20px;font-weight:900;font-variant-numeric:tabular-nums}
.a-plus-source-total small{grid-column:1 / -1;color:#89978f;font-size:10px;font-weight:600}
.a-plus-allocation-progress{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px;padding-top:12px;border-top:1px dashed #cbded5}
.a-plus-allocation-progress>span{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #dce9e3;border-radius:9px;background:#fff;color:#718179;font-size:11px;font-weight:700}
.a-plus-allocation-progress b{color:#1f4e3d;font-size:15px;font-variant-numeric:tabular-nums}
.a-plus-allocation-progress .allocation-difference{background:#fff7e8;border-color:#e8c98f;color:#98702e}
.a-plus-allocation-progress .allocation-difference b{color:#a86613}
.a-plus-allocation-progress .allocation-difference.matched{background:#edf8f2;border-color:#b9ddcb;color:#35735a}
.a-plus-allocation-progress .allocation-difference.matched b{color:#087553}
.a-plus-allocation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.a-plus-allocation-grid::before{content:'点击空白分项会自动填入当前剩余金额，可直接确认或覆盖输入实际金额';grid-column:1 / -1;padding:8px 10px;border-radius:8px;background:#edf6f2;color:#4f7567;font-size:11px;font-weight:700;line-height:1.45}
.a-plus-allocation-grid label{display:flex;flex-direction:column;gap:6px;color:#355449;font-size:12px;font-weight:800}
.a-plus-allocation-grid input{height:40px;padding:0 11px;border:1px solid #d6e5de;border-radius:9px;background:#fff;text-align:center;font-size:13px;outline:none}
.a-plus-allocation-grid input:focus{border-color:#0b8f63;box-shadow:0 0 0 3px #eaf8f2}
.a-plus-allocation-grid input.auto-filled{background:#f0f8f4;color:#087553;font-weight:900}
.allocation-hint{margin:11px 0 0;color:#a86613;font-size:11px;font-weight:800;text-align:right}
.allocation-hint.matched{color:#087553}
@media(max-width:720px){.a-plus-allocation-progress{grid-template-columns:1fr}.a-plus-allocation-grid{grid-template-columns:1fr}}

/* 每月工资归档与历史收入 */
.history-month-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px;padding:18px}
.history-month-card{display:block;width:100%;padding:18px;border:1px solid #dce8e2;border-radius:14px;background:linear-gradient(145deg,#fff,#f5faf7);color:#29443a;text-align:left;cursor:pointer;box-shadow:0 7px 18px rgba(20,66,49,.05);transition:.18s ease}
.history-month-card:hover{transform:translateY(-2px);border-color:#9fcbb8;box-shadow:0 11px 24px rgba(20,66,49,.1)}
.history-month-card.empty-month{cursor:default;background:#fafcfb;border-style:dashed;box-shadow:none;opacity:.72}.history-month-card.empty-month:hover{transform:none;border-color:#dce8e2;box-shadow:none}.history-month-card.empty-month>span{background:#f0f2f1;color:#929c97}.history-month-card.empty-month h4{color:#7e8c85}.history-month-card.empty-month p{margin-bottom:25px}
.history-month-card>span{float:right;padding:4px 8px;border-radius:999px;background:#e5f4ec;color:#087553;font-size:10px;font-weight:800}
.history-month-card h4{margin:0 0 10px;color:#174b3a;font-size:20px}.history-month-card p{margin:0 0 15px;color:#74847c;font-size:12px}.history-month-card>div{display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #e5eee9}.history-month-card b{color:#416257;font-size:12px}.history-month-card strong{color:#087553;font-size:14px}.history-month-card small{display:block;margin-top:12px;color:#96a29c;font-size:10px}
.history-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 18px;background:#f6faf8;border-bottom:1px solid #e0ebe5}.history-summary-grid>div{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:12px 14px;border-radius:10px;background:#fff;color:#718078;white-space:nowrap}.history-summary-grid>div span{font-size:12px}.history-summary-grid b{color:#087553;font-size:18px}.history-payroll-table{max-height:calc(100vh - 310px)}
.history-payroll-table th.history-sortable-th{white-space:nowrap}.history-sortable-th>span:first-child{vertical-align:middle}.history-sort-arrows{display:inline-flex;align-items:center;gap:2px;vertical-align:middle;margin-left:6px;padding:2px;border:1px solid #d5e5dd;border-radius:8px;background:#f4faf7;box-shadow:inset 0 1px 1px rgba(31,83,64,.04)}.history-sort-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0;padding:0;border:0;border-radius:5px;background:transparent;color:#7c998d;font-family:inherit;font-size:10px;font-weight:900;line-height:1;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s,transform .15s}.history-sort-arrow:hover{background:#dff1e8;color:#087553;transform:translateY(-1px)}.history-sort-arrow.is-active{background:linear-gradient(145deg,#0a9468,#087553);color:#fff;box-shadow:0 2px 5px rgba(8,117,83,.24)}
.history-year-tools{display:flex;align-items:center;gap:10px}.history-year-tools .filter-select{min-width:116px;height:38px}
.employee-history-list{display:grid;gap:13px;padding:18px}.employee-history-card{overflow:hidden;border:1px solid #dce8e2;border-radius:14px;background:#fff}.employee-history-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:linear-gradient(90deg,#eef8f3,#fff)}.employee-history-head span{display:block;color:#1d4c3b;font-size:17px;font-weight:900}.employee-history-head small{display:block;margin-top:4px;color:#8b9992;font-size:10px}.employee-history-head strong{color:#087553;font-size:24px}.employee-history-detail{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e5eee9}.employee-history-detail span{display:flex;flex-direction:column;gap:5px;padding:12px 14px;background:#fff;color:#7b8982;font-size:10px}.employee-history-detail b{color:#29483d;font-size:13px}
@media(max-width:1100px){.history-month-grid{grid-template-columns:repeat(2,1fr)}.employee-history-detail{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.history-month-grid{grid-template-columns:1fr;padding:12px}.history-summary-grid{grid-template-columns:1fr}.employee-history-detail{grid-template-columns:repeat(2,1fr)}}

.wage-calc-table .base-salary-input::placeholder{color:#9aa7a1;font-size:10px}.wage-calc-table .base-salary-input{font-weight:700}

/* 工资核算表头内置筛选 */
.wage-calc-table thead th:nth-child(-n+2){height:58px!important;padding:5px!important;overflow:visible}.wage-calc-table th:nth-child(1),.wage-calc-table td:nth-child(1){width:92px}.wage-calc-table th:nth-child(2),.wage-calc-table td:nth-child(2){width:100px}.wage-header-filter{display:flex;flex-direction:column;align-items:center;gap:4px}.wage-header-filter>span{color:#0a684a;font-size:11px;font-weight:900;white-space:nowrap}.wage-header-filter select{width:82px;height:24px;padding:0 20px 0 6px;border:1px solid #c6dcd1;border-radius:6px;background:#fff;color:#38594d;font-size:9px;font-weight:700;outline:none;cursor:pointer}.wage-header-filter select:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.12)}
.wage-calc-table .store-total-name,.wage-calc-table .special-position-name{color:#087553;font-weight:900;text-align:center;white-space:nowrap}

/* 二手未结件顶部：统计卡单行显示，并提高结件方式文字清晰度 */
.employee-income-mode.unsettled-compact .unsettled-stats{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.employee-income-mode.unsettled-compact .unsettled-stats.unsettled-stats-without-commission{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.employee-income-mode.unsettled-compact .settlement-method>span{
  min-width:48px;
  height:28px;
  flex-basis:48px;
  font-size:11px!important;
}
.employee-income-mode.unsettled-compact .settlement-method>b{
  color:#123d30!important;
  font-size:14px!important;
  font-weight:900;
}
.employee-income-mode.unsettled-compact .settlement-method>small{
  color:#435f55!important;
  font-size:11px!important;
  font-weight:600;
}
.employee-income-mode.unsettled-compact .settlement-upload-guide{
  height:28px;
  font-size:11px!important;
}
.unsettled-compact .unsettled-scope-switch{padding:2px;gap:2px}
.unsettled-compact .unsettled-scope-button{height:30px;padding:0 9px;font-size:10px}
.secondhand-filter-link{
  width:100%;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.secondhand-filter-link:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(25,94,69,.11);
}
.secondhand-total-card.secondhand-filter-link:hover,
.secondhand-total-card.secondhand-filter-link.active{border-color:#4d8dc8!important;box-shadow:inset 0 0 0 1px #4d8dc8}
.secondhand-settled-card.secondhand-filter-link:hover,
.secondhand-settled-card.secondhand-filter-link.active{border-color:#329568!important;box-shadow:inset 0 0 0 1px #329568}
.secondhand-pending-card.secondhand-filter-link:hover,
.secondhand-pending-card.secondhand-filter-link.active{
  border-color:#d69730!important;
  box-shadow:inset 0 0 0 1px #d69730;
}
.unsettled-scope-switch{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid #cfe1d8;
  border-radius:9px;
  background:#f4faf7;
  white-space:nowrap;
}
.unsettled-scope-button{
  height:30px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#47665a;
  font-family:inherit;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.unsettled-scope-button:hover,.unsettled-scope-button:focus-visible{
  border-color:#a9cbb9;
  background:#e9f6ef;
  outline:none;
}
.unsettled-scope-button.active{
  border-color:#087553;
  background:#087553;
  color:#fff;
  box-shadow:0 2px 5px rgba(8,117,83,.16);
}
.secondhand-all-pending-card{
  width:100%;
  border-color:#9673c6!important;
  background:#faf7ff!important;
  color:#493467;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.secondhand-all-pending-card:hover,.secondhand-all-pending-card.active{
  border-color:#7952ad!important;
  background:#f3ecff!important;
  box-shadow:inset 0 0 0 1px #7952ad,0 8px 18px rgba(93,61,137,.12);
  transform:translateY(-1px);
}
.secondhand-all-pending-card p{color:#5b3e82!important}
.secondhand-all-pending-card strong{color:#7046a4!important}
.secondhand-all-pending-card small{color:#806c99!important}

/* Unsettled ledger: keep the broker next to the address and reserve space for settlement controls. */
.unsettled-compact .unsettled-priority-table th:first-child,
.unsettled-compact .unsettled-priority-table td:first-child{width:26%!important;min-width:0!important;max-width:none!important;text-align:left!important}
.unsettled-compact .unsettled-priority-table th:nth-child(2),
.unsettled-compact .unsettled-priority-table td:nth-child(2){width:8%!important;min-width:0!important;max-width:none!important;text-align:left!important}
.unsettled-compact .unsettled-priority-table th:nth-child(3),
.unsettled-compact .unsettled-priority-table td:nth-child(3){width:9%!important;min-width:0!important;max-width:none!important}
.unsettled-compact .unsettled-priority-table th:nth-child(4),
.unsettled-compact .unsettled-priority-table td:nth-child(4){width:12%!important;min-width:0!important;max-width:none!important}
.unsettled-compact .unsettled-priority-table th:nth-child(5),
.unsettled-compact .unsettled-priority-table td:nth-child(5){width:9%!important;min-width:0!important;max-width:none!important}
.unsettled-compact .unsettled-priority-table th:nth-child(6),
.unsettled-compact .unsettled-priority-table td:nth-child(6){width:15%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.unsettled-compact .unsettled-priority-table th:nth-child(7),
.unsettled-compact .unsettled-priority-table td:nth-child(7){width:21%!important;min-width:0!important;max-width:none!important;text-align:center!important}

/* 异常业绩台账：日常登记、确认和工资同步在一页完成。 */
.abnormal-ledger-compact .topbar{height:82px;padding:0 28px}
.abnormal-ledger-compact .topbar h2{font-size:23px}
.abnormal-ledger-compact .content{height:calc(100vh - 82px);overflow:hidden;padding:14px 16px 16px}
.abnormal-ledger-shell{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce9e3;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(21,70,52,.06)}
.abnormal-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px 13px;border-bottom:1px solid #e4eee9;background:#fbfdfc}
.abnormal-ledger-head .eyebrow{margin:0 0 3px;color:#9b8147;font-size:9px;font-weight:900}
.abnormal-ledger-head h3{margin:0;color:#153f31;font-size:21px;letter-spacing:0}
.abnormal-ledger-head>div>span{display:block;margin-top:4px;color:#74857d;font-size:11px}
.abnormal-ledger-head-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.abnormal-ledger-head-actions button{height:38px;padding:0 14px;border-radius:8px;font-size:11px;font-weight:800}
.abnormal-ledger-summary{display:grid;grid-template-columns:repeat(3,minmax(100px,.75fr)) repeat(2,minmax(170px,1.2fr));gap:1px;background:#dfeae5;border-bottom:1px solid #dfeae5}
.abnormal-ledger-summary>div{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:12px 17px;background:#f7faf8;color:#72827a;font-size:11px;font-weight:700}
.abnormal-ledger-summary b{color:#264f40;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.abnormal-ledger-summary .adjustment-total{background:#eef7f3;color:#416d5d}
.abnormal-ledger-summary .adjustment-total b{color:#087553}
.abnormal-ledger-summary .service-total{background:#fff8e9;color:#887043}
.abnormal-ledger-summary .service-total b{color:#9b6c17}
.abnormal-ledger-period-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;border-bottom:1px solid #d7e9e1;background:#edf8f3;color:#315c4d}
.abnormal-ledger-period-banner span{display:flex;align-items:baseline;gap:10px;min-width:0}.abnormal-ledger-period-banner b{color:#087553;font-size:13px;font-weight:900;white-space:nowrap}.abnormal-ledger-period-banner small{color:#526d61;font-size:12px;font-weight:800}.abnormal-ledger-period-banner button{height:30px;padding:0 12px;border:1px solid #94c8b2;border-radius:7px;background:#fff;color:#087553;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}
.abnormal-ledger-toolbar{display:flex;align-items:flex-end;gap:8px;padding:10px 14px;border-bottom:1px solid #e3ece7;background:#fff}
.abnormal-ledger-toolbar label{display:flex;flex-direction:column;gap:4px;color:#76867e;font-size:9px;font-weight:800}
.abnormal-ledger-toolbar select{height:33px;min-width:114px;padding:0 28px 0 9px;border:1px solid #d2e1da;border-radius:7px;background:#fff;color:#2e5345;font-size:10px;font-weight:700;outline:none}
.abnormal-ledger-toolbar select:focus{border-color:#0a8a60;box-shadow:0 0 0 2px rgba(10,138,96,.1)}
.abnormal-ledger-toolbar>button{height:33px;padding:0 11px;border-radius:7px;font-size:10px;font-weight:800;white-space:nowrap}
.abnormal-ledger-toolbar .ledger-sync-button{margin-left:auto;border:1px solid #a47a29;background:#b8872f;color:#fff;box-shadow:0 4px 10px rgba(184,135,47,.18);cursor:pointer}
.abnormal-ledger-toolbar .ledger-sync-button:hover{background:#9f7222}
.abnormal-ledger-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;background:#fff}
@media(min-width:761px){.abnormal-ledger-toolbar{display:grid;grid-template-columns:270px repeat(4,132px) auto;align-items:end;gap:8px}.abnormal-ledger-toolbar label{box-sizing:border-box;width:132px;min-width:0}.abnormal-ledger-toolbar label.abnormal-ledger-range-filter{width:270px}.abnormal-ledger-toolbar label select{box-sizing:border-box;width:100%;min-width:0}}
.abnormal-ledger-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:11px}
.abnormal-ledger-table th{position:sticky;top:0;z-index:2;height:42px;padding:7px 8px;border-bottom:1px solid #cfdfd7;background:#edf6f2;color:#315c4d;font-size:10px;font-weight:900;text-align:center;white-space:nowrap}
.abnormal-ledger-table td{height:44px;padding:7px 8px;border-bottom:1px solid #eaf0ed;color:#37564a;text-align:center;vertical-align:middle}
.abnormal-ledger-table tbody tr:nth-child(even) td{background:#fbfdfc}
.abnormal-ledger-table tbody tr:hover td{background:#f1f8f5}
.abnormal-ledger-table th:nth-child(1){width:86px}.abnormal-ledger-table th:nth-child(2){width:92px}.abnormal-ledger-table th:nth-child(3){width:76px}.abnormal-ledger-table th:nth-child(4){width:60px}.abnormal-ledger-table th:nth-child(5){width:210px}.abnormal-ledger-table th:nth-child(6){width:90px}.abnormal-ledger-table th:nth-child(7){width:150px}.abnormal-ledger-table th:nth-child(8){width:88px}.abnormal-ledger-table th:nth-child(9){width:105px}.abnormal-ledger-table th:nth-child(10){width:150px}
.abnormal-ledger-table .ledger-employee{color:#153f31;font-weight:900}
.ledger-category{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 7px;border-radius:6px;background:#e6f2fb;color:#2870a4;font-weight:900}.ledger-category.new-house{background:#e8f6ee;color:#087553}.ledger-category.lease{background:#f1edfb;color:#6954a1}.ledger-category.other{background:#f3f4f4;color:#66746e}
.ledger-address,.ledger-reason{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left!important}.ledger-address{color:#234c3d!important;font-weight:700}.ledger-amount{font-weight:900;font-variant-numeric:tabular-nums}.ledger-amount.negative{color:#b44b42}.ledger-amount.positive{color:#087553}
.ledger-status{display:inline-flex;align-items:center;justify-content:center;min-width:78px;height:24px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:900}.ledger-status.pending{background:#fff3dd;color:#9a6918}.ledger-status.confirmed{background:#e7f1fb;color:#28689a}.ledger-status.included{background:#e5f5ec;color:#087553}
.ledger-actions{white-space:nowrap}.ledger-actions .table-action{margin:0 2px;padding:4px 6px;font-size:9px}.ledger-confirm-action{color:#087553!important}.ledger-readonly{color:#9aa59f;font-size:9px;font-weight:700}
.abnormal-ledger-empty{padding:42px 20px}
.abnormal-ledger-dialog{width:min(760px,calc(100vw - 32px))}
.abnormal-ledger-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:15px 18px 8px}
.abnormal-ledger-form label{display:flex;flex-direction:column;gap:5px;min-width:0;color:#405f54;font-size:10px;font-weight:800}
.abnormal-ledger-form label.wide{grid-column:span 2}
.abnormal-ledger-form input,.abnormal-ledger-form select{width:100%;height:39px;padding:0 10px;border:1px solid #d3e2db;border-radius:8px;background:#fff;color:#29483d;font-family:inherit;font-size:11px;outline:none;box-sizing:border-box}
.abnormal-ledger-form input:focus,.abnormal-ledger-form select:focus{border-color:#0b8f63;box-shadow:0 0 0 3px #eaf8f2}
.abnormal-ledger-form .hidden{display:none}
.abnormal-ledger-form-note{margin:6px 18px 4px;padding:9px 11px;border-radius:8px;background:#f2f7f4;color:#718078;font-size:10px}
.abnormal-ledger-form-note.month-advanced{display:grid;gap:3px;background:#fff7e8;color:#695628;font-size:12px;line-height:1.5}
.abnormal-ledger-form-note.month-advanced b{color:#8a5a0a;font-size:12px}
@media(max-width:1200px){.abnormal-ledger-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.abnormal-ledger-summary>div{padding:10px}.abnormal-ledger-toolbar{flex-wrap:wrap}.abnormal-ledger-toolbar .ledger-sync-button{margin-left:0}.abnormal-ledger-table{min-width:1120px}}
@media(max-width:760px){.abnormal-ledger-compact .content{height:auto;overflow:auto;padding:8px}.abnormal-ledger-shell{height:auto;min-height:calc(100vh - 90px)}.abnormal-ledger-head{align-items:flex-start;flex-direction:column}.abnormal-ledger-period-banner{align-items:flex-start;flex-direction:column}.abnormal-ledger-period-banner span{align-items:flex-start;flex-direction:column;gap:2px}.abnormal-ledger-summary{grid-template-columns:repeat(2,1fr)}.abnormal-ledger-summary .service-total{grid-column:1 / -1}.abnormal-ledger-toolbar label{flex:1 1 42%}.abnormal-ledger-toolbar select{width:100%}.abnormal-ledger-toolbar .ledger-sync-button{flex:1 1 100%}.abnormal-ledger-form{grid-template-columns:repeat(2,minmax(0,1fr))}.abnormal-ledger-form label.wide{grid-column:1 / -1}}

/* 四账户实发拆分：每个人和总额必须同时对平。 */
.disbursement-compact .topbar{height:82px;padding:0 28px}.disbursement-compact .topbar h2{font-size:23px}.disbursement-compact .content{height:calc(100vh - 82px);overflow:hidden;padding:14px 16px 16px}
.disbursement-shell{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce9e3;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(21,70,52,.06)}
.disbursement-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px 12px;border-bottom:1px solid #e2ece7;background:#fbfdfc}.disbursement-head .eyebrow{margin:0 0 3px;color:#a47b2c;font-size:9px;font-weight:900}.disbursement-head h3{margin:0;color:#153f31;font-size:20px;letter-spacing:0}.disbursement-head>div>span{display:block;margin-top:4px;color:#718179;font-size:11px}.disbursement-actions{display:flex;gap:8px;flex:0 0 auto}.disbursement-actions button{height:37px;padding:0 13px;border-radius:7px;font-size:10px;font-weight:900}.disbursement-actions button.disabled{cursor:not-allowed;opacity:.42}
.disbursement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dfe9e4;border-bottom:1px solid #dfe9e4}.disbursement-summary>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#f7faf8;color:#6d7f77;font-size:10px;font-weight:800}.disbursement-summary b{color:#214b3c;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}.disbursement-summary .matched{background:#edf8f2}.disbursement-summary .matched b{color:#087553}.disbursement-summary .unmatched{background:#fff0ee}.disbursement-summary .unmatched b{color:#b4453e}.disbursement-confirmed{padding:8px 16px;border-bottom:1px solid #cfe5d9;background:#edf8f2;color:#087553;font-size:10px;font-weight:800}
.disbursement-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(220px,1fr) minmax(210px,.9fr);flex:1 1 auto;min-height:0;overflow:hidden}.disbursement-table-wrap{min-height:0;max-height:none;overflow:auto}.disbursement-table{width:100%;min-width:840px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:10px}.disbursement-table th{position:sticky;top:0;z-index:3;height:40px;padding:6px;border-bottom:1px solid #cbddd4;background:#edf6f2;color:#315c4d;font-size:9px;font-weight:900;text-align:center;white-space:nowrap}.disbursement-table td{height:42px;padding:5px 6px;border-bottom:1px solid #e8efeb;color:#36564a;text-align:center;vertical-align:middle}.disbursement-table tbody tr:nth-child(even) td{background:#fbfdfc}.disbursement-table tbody tr:hover td{background:#f1f8f5}.disbursement-table th:nth-child(1){width:82px}.disbursement-table th:nth-child(2){width:96px}.disbursement-table th:nth-child(n+3):nth-child(-n+6){width:100px}.disbursement-table th:nth-child(7){width:96px}.disbursement-table th:nth-child(8){width:76px}.disbursement-table th:nth-child(9){width:98px}.disbursement-name,.disbursement-actual,.disbursement-total{color:#173f31!important;font-weight:900;font-variant-numeric:tabular-nums}.disbursement-input{width:100%;height:30px;padding:0 6px;border:1px solid #d2e1da;border-radius:6px;background:#fff;color:#234c3d;font-family:inherit;font-size:10px;font-weight:800;text-align:right;outline:none;box-sizing:border-box}.disbursement-input:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.11)}.disbursement-difference{font-weight:900;font-variant-numeric:tabular-nums}.disbursement-difference.matched{color:#087553}.disbursement-difference.unmatched{color:#b4453e}.disbursement-status{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:23px;padding:0 7px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.disbursement-status.matched{background:#e5f5ec;color:#087553}.disbursement-status.unmatched{background:#fff0ee;color:#b4453e}.disbursement-mismatch td{background:#fff5f4!important}.disbursement-table tfoot td{position:sticky;bottom:0;z-index:2;height:41px;border-top:1px solid #bad4c8;border-bottom:0;background:#eaf5f0;color:#1d4e3c;font-weight:900;font-variant-numeric:tabular-nums}.disbursement-table tfoot .unmatched{color:#b4453e}.disbursement-table tfoot .matched{color:#087553}
.individual-household-panel{display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;border:0;border-top:1px solid #dce9e3;overflow:hidden;background:#fff}.individual-household-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid #dfeae5;background:#f7faf8}.individual-household-head h4{margin:0;color:#1b4a39;font-size:14px}.individual-household-head span{display:block;margin-top:3px;color:#75867e;font-size:9px}.individual-household-head>div:last-child{display:flex;align-items:center;gap:16px;color:#637970;font-size:10px;white-space:nowrap}.individual-household-head strong{color:#087553;font-size:15px}.individual-household-table-wrap{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}.individual-household-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;font-size:10px}.individual-household-table th{position:sticky;top:0;z-index:2;height:31px;padding:5px 8px;background:#edf6f2;color:#315c4d;font-size:9px;font-weight:900;text-align:center}.individual-household-table td{height:34px;padding:5px 8px;border-top:1px solid #e9f0ec;color:#36564a;text-align:center}.individual-household-table th:nth-child(1){width:88px}.individual-household-table th:nth-child(2){width:118px}.individual-household-table th:nth-child(n+3){width:105px}.individual-household-table td:nth-child(2){text-align:left;color:#718179}.individual-household-table .transfer-total{color:#087553;font-weight:900;font-variant-numeric:tabular-nums}.individual-household-table tfoot td{position:sticky;bottom:0;z-index:2;background:#eaf5f0;color:#1d4e3c;font-weight:900}.individual-household-table tfoot .transfer-total{color:#087553}.household-social-input{width:92px;height:28px;padding:0 7px;border:1px solid #d3e2db;border-radius:6px;background:#fff9e9;color:#7b5b1f;font-family:inherit;font-size:10px;font-weight:900;text-align:right;outline:none;box-sizing:border-box}.household-social-input:focus{border-color:#b8872f;box-shadow:0 0 0 2px rgba(184,135,47,.13)}
@media(max-width:900px){.disbursement-compact .content{height:auto;min-height:calc(100vh - 82px);overflow:auto;padding:8px}.disbursement-shell{height:auto;min-height:calc(100vh - 98px)}.disbursement-head{align-items:flex-start;flex-direction:column}.disbursement-summary{grid-template-columns:repeat(2,1fr)}.disbursement-actions{width:100%}.disbursement-actions button{flex:1}.disbursement-table-wrap{max-height:70vh}}
.disbursement-compact .disbursement-table-wrap{height:auto;min-height:0;max-height:none}
 .wage-person-name{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.payment-account-mark{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 5px;border-radius:5px;font-size:8px;font-weight:900;line-height:1}.payment-account-mark.zhiyuan{background:#e7efff;color:#2858a9;border:1px solid #bfd0f3}.manual-tax-cell{padding:4px!important;min-width:0}.manual-tax-input{display:block;width:100%;max-width:100%;height:28px;padding:0 2px;border:1px solid #a7c0ec;border-radius:6px;background:#f7faff;color:#244d9a;font-family:inherit;font-size:11px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0;outline:none;box-sizing:border-box}.manual-tax-input:focus{border-color:#356bc2;box-shadow:0 0 0 2px rgba(53,107,194,.12)}.manual-tax-cell small{display:block;margin-top:2px;color:#5271a6;font-size:8px;font-weight:800;white-space:nowrap}.manual-tax-cell .manual-tax-difference{color:#a15a28;font-size:10px;font-weight:900;line-height:1.2;white-space:normal}.manual-tax-cell .manual-tax-status{color:#5271a6;font-size:8px;font-weight:800;white-space:nowrap}.manual-tax-cell.pending{background:#f5f8ff!important}.manual-tax-cell.pending .manual-tax-input{border-style:dashed}.zhiyuan-payroll-row td:nth-child(2){background:#f8faff!important}.disbursement-name .payment-account-mark{margin-left:4px}.disbursement-actual.pending-tax{color:#5271a6!important;font-size:9px}
.payroll-compact .wage-person-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;min-height:30px;padding:3px 7px;border:1px solid #b8d7c7;border-radius:6px;background:#f3faf6;color:#174d3a;font:inherit;font-size:14px;font-weight:900;line-height:1.2;white-space:nowrap;cursor:pointer;box-sizing:border-box}
.payroll-compact .wage-person-link::after{content:'↗';color:#4d8c70;font-size:11px;font-weight:900}
.payroll-compact .wage-person-link:hover,.payroll-compact .wage-person-link:focus-visible{border-color:#75b494;background:#e5f5ec;color:#0b6b4c;outline:none;box-shadow:0 0 0 2px rgba(11,143,99,.12)}
.payroll-compact .wage-person-link .payment-account-mark{flex:0 0 auto}
.payroll-compact .wage-calc-table thead th:nth-child(-n+2){height:50px!important;padding:4px!important}
.payroll-compact .wage-calc-table thead th:nth-child(-n+2) .wage-header-filter{gap:2px}
.payroll-compact .wage-calc-table thead th:nth-child(-n+2) .wage-header-filter>span{font-size:12px!important;line-height:1.15}
.payroll-compact .wage-calc-table thead th:nth-child(1) .wage-header-filter select{width:102px!important;height:26px!important;font-size:11px!important;padding-left:6px;padding-right:18px}
.payroll-compact .wage-calc-table thead th:nth-child(2) .wage-header-filter select{width:124px!important;height:26px!important;font-size:11px!important;padding-left:6px;padding-right:18px}
.payroll-compact .wage-calc-table tbody td:nth-child(-n+2){font-size:13px!important;font-weight:800!important}
.payroll-compact .wage-calc-table tbody td:first-child{color:#4c6c5d!important}
.payroll-compact .wage-person-link{min-height:26px;padding:2px 5px;gap:4px;font-size:13px}
.payroll-compact .wage-person-link::after{font-size:10px}
.payroll-compact .wage-person-link .payment-account-mark{height:16px;padding:0 4px;font-size:8px}
 .promotion-transfer-audit{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-height:32px;padding:0 14px;border-top:1px solid #dfe9e3;border-bottom:1px solid #dfe9e3;background:#f6faf8;color:#678077;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.promotion-transfer-audit span{margin-right:auto;color:#315c4d}.promotion-transfer-audit b{color:#315c4d}.promotion-transfer-audit strong{color:#087553}.promotion-transfer-audit.unbalanced{background:#fff3f1;border-color:#efc7c1}.promotion-transfer-audit.unbalanced strong{color:#b4453e}.zhiyuan-tax-difference-summary{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(125px,.7fr) minmax(340px,2fr);align-items:center;gap:14px;min-height:54px;padding:7px 14px;border-bottom:1px solid #d7e5de;background:#fff9ec;color:#755721}.zhiyuan-tax-summary-title b{display:block;color:#6c4d12;font-size:12px;font-weight:900}.zhiyuan-tax-summary-title small{display:block;margin-top:3px;color:#927a4d;font-size:10px;font-weight:800}.zhiyuan-tax-summary-total{display:flex;align-items:baseline;gap:8px;padding-left:14px;border-left:1px solid #ead9b3}.zhiyuan-tax-summary-total span{color:#896d37;font-size:11px;font-weight:900;white-space:nowrap}.zhiyuan-tax-summary-total strong{color:#a15a28;font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.zhiyuan-tax-summary-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.zhiyuan-tax-summary-people span{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 7px;border:1px solid #ecdcb8;border-radius:5px;background:#fffdf7}.zhiyuan-tax-summary-people b{color:#6c4d12;font-size:10px;font-weight:900;white-space:nowrap}.zhiyuan-tax-summary-people strong{color:#a15a28;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.wage-calc-table th:nth-child(11),.wage-calc-table td:nth-child(11){width:182px!important}.promotion-transfer-cell{padding:4px!important;background:#f8fbfa!important}.promotion-transfer-cell.adjustable{background:#f5f9ff!important}.promotion-transfer-cell.counterpart{background:#f8fbfa!important}.promotion-transfer-cell b{display:block;color:#214b3c;font-size:11px;font-variant-numeric:tabular-nums}.promotion-transfer-edit{display:flex;align-items:center;justify-content:center;gap:4px}.promotion-transfer-input{flex:0 0 82px;width:82px;height:27px;padding:0 6px;border:1px solid #9bb9df;border-radius:6px;background:#fff;color:#244d9a;font-family:inherit;font-size:11px;font-weight:900;text-align:right;font-variant-numeric:tabular-nums;outline:none;box-sizing:border-box}.promotion-transfer-input:focus{border-color:#356bc2;box-shadow:0 0 0 2px rgba(53,107,194,.12)}.promotion-transfer-edit button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:27px;padding:0;border:0;border-radius:6px;background:#356bc2;color:#fff;font-size:14px;font-weight:900;cursor:pointer}.promotion-transfer-edit button:hover{background:#2858a9}.promotion-transfer-edit .promotion-transfer-withdraw{border:1px solid #dbb6aa;background:#fff5f2;color:#a34d37}.promotion-transfer-edit .promotion-transfer-withdraw:hover{background:#fbe5df}.promotion-transfer-cell small,.promotion-transfer-cell em,.promotion-transfer-cell i{display:block;margin-top:2px;line-height:1.25;font-size:8px;font-style:normal;white-space:normal}.promotion-transfer-cell small{color:#5271a6;font-weight:800}.promotion-transfer-cell .promotion-transfer-original{color:#a15a28}.promotion-transfer-cell.counterpart small{color:#5d776b}.promotion-transfer-cell em{color:#876626}.promotion-transfer-cell i{color:#8c9b94}
 @media(max-width:900px){.zhiyuan-tax-difference-summary{grid-template-columns:1fr 1fr}.zhiyuan-tax-summary-people{grid-column:1/-1}}

/* Keep the tax reminder compact and directly above the related payroll columns. */
.zhiyuan-tax-difference-summary{display:block;width:min(100%,460px);min-height:0;margin:0 14px 0 auto;padding:11px 12px 12px;border:1px solid #e2c98f;border-bottom-color:#d7bd82;border-radius:5px 5px 0 0;background:#fff9ec;color:#755721;box-sizing:border-box}
.zhiyuan-tax-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.zhiyuan-tax-summary-title b{font-size:14px}.zhiyuan-tax-summary-title small{margin-top:4px;font-size:12px;line-height:1.4}
.zhiyuan-tax-summary-total{display:flex;flex:0 0 auto;align-items:baseline;gap:8px;padding:5px 9px;border:1px solid #e2c98f;border-radius:5px;background:#fffdf7}
.zhiyuan-tax-summary-total span{font-size:12px}.zhiyuan-tax-summary-total strong{font-size:20px}
.zhiyuan-tax-summary-people{display:grid;grid-template-columns:1fr;gap:4px;margin-top:9px}
.zhiyuan-tax-summary-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 9px;border:1px solid #ecdcb8;border-radius:5px;background:#fffdf7}
.zhiyuan-tax-summary-person b{color:#6c4d12;font-size:13px;font-weight:900;white-space:nowrap}.zhiyuan-tax-summary-person strong{color:#a15a28;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:900px){.zhiyuan-tax-difference-summary{width:calc(100% - 28px)}.zhiyuan-tax-summary-head{flex-wrap:wrap}.zhiyuan-tax-summary-total{width:max-content}}

/* The reminder belongs only above the two payroll columns it explains. */
.wage-calc-table thead .zhiyuan-tax-summary-row{height:auto}
.wage-calc-table thead .zhiyuan-tax-summary-row>th{position:static!important;top:auto!important;padding:0!important;border:0!important;background:transparent!important;vertical-align:bottom}
.wage-calc-table thead .zhiyuan-tax-summary-row>th:nth-child(2){padding:0 4px 4px!important}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-difference-summary{display:block;width:auto;min-width:0;min-height:0;margin:0;padding:7px 7px 8px;border:1px solid #e2c98f;border-radius:5px;background:#fff9ec;box-sizing:border-box}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-head{display:block}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-title b{font-size:11px;line-height:1.2;white-space:nowrap}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-title small{margin-top:2px;font-size:9px;line-height:1.2;white-space:nowrap}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-total{justify-content:space-between;margin-top:5px;padding:3px 5px;border:1px solid #e2c98f}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-total span{font-size:10px}.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-total strong{font-size:14px}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-people{display:grid;grid-template-columns:1fr;gap:2px;margin-top:5px}
.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-person{padding:2px 5px;border-radius:3px}.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-person b{font-size:10px}.wage-calc-table thead .zhiyuan-tax-summary-row .zhiyuan-tax-summary-person strong{font-size:11px}

/* A reminder only; the original payroll table remains unchanged. */
.zhiyuan-tax-total-hint{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:30px;margin:0 0 6px;padding:4px 10px;border:1px solid #e2c98f;border-radius:5px;background:#fff9ec;color:#755721;font-size:12px;font-weight:900;line-height:1.2;box-sizing:border-box}.zhiyuan-tax-total-hint strong{color:#a15a28;font-size:16px;font-variant-numeric:tabular-nums}

/* Two totals float above their matching bottom summary columns without changing the table. */
.payroll-compact .wage-table-stage{position:relative}
.wage-tax-hint-layer{position:relative;z-index:8;flex:0 0 48px;width:100%;height:48px;overflow:hidden;border-bottom:1px solid #dce9e3;background:#fbfdfc;pointer-events:none}
.wage-tax-hint-track{display:grid;width:1353px;min-width:1353px;height:48px;grid-template-columns:110px 135px 92px 92px 92px 78px 78px 84px 88px 88px 182px 96px 138px;align-items:center;transform:translate3d(0,0,0);transform-origin:left center}
.wage-tax-total-hint{grid-column:11/13;align-self:center;display:flex;align-items:center;justify-content:center;gap:8px;height:30px;margin:0 4px;padding:0 8px;border:1px solid #e2c98f;border-radius:5px;background:#fff9ec;color:#755721;font-size:10px;font-weight:900;line-height:1.2;white-space:nowrap;box-sizing:border-box;box-shadow:0 3px 8px rgba(117,87,33,.1);pointer-events:auto}
.wage-tax-total-hint span{display:flex;align-items:baseline;gap:4px}.wage-tax-total-hint strong{color:#a15a28;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}.wage-tax-total-hint i{width:1px;height:14px;background:#e2c98f}
.promotion-withdraw-inline{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(480px,2fr) auto;align-items:center;gap:14px;margin:0;border:1px solid #dfc7a1;border-left:4px solid #ad722e;padding:10px 12px;background:#fffaf0;box-shadow:0 5px 16px rgba(99,69,24,.08)}.promotion-withdraw-inline-title{display:grid;gap:3px}.promotion-withdraw-inline-title b{color:#694617;font-size:13px}.promotion-withdraw-inline-title small{color:#9a7c51;font-size:9px}.promotion-withdraw-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.promotion-withdraw-comparison>div{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:7px;padding:7px 9px;border:1px solid #ead9bd;border-radius:7px;background:#fff}.promotion-withdraw-comparison strong{color:#244a3c;font-size:11px;white-space:nowrap}.promotion-withdraw-comparison span{display:grid;gap:2px;color:#78847e;font-size:8px}.promotion-withdraw-comparison span b{color:#244a3c;font-size:12px;font-variant-numeric:tabular-nums}.promotion-withdraw-comparison span.before b{color:#a25a25}.promotion-withdraw-comparison i{color:#ad722e;font-size:14px;font-style:normal}.promotion-withdraw-inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.promotion-withdraw-inline-actions button{min-width:84px;height:34px;padding:0 12px}.promotion-withdraw-inline .promotion-withdraw-confirm{background:#a7513d!important}.promotion-withdraw-inline .promotion-withdraw-confirm:hover{background:#8f402f!important}@media(max-width:1100px){.promotion-withdraw-inline{grid-template-columns:1fr auto}.promotion-withdraw-inline-title{grid-column:1/-1}.promotion-withdraw-comparison{grid-template-columns:1fr}.promotion-withdraw-inline-actions{grid-column:2;grid-row:2}}
@media(min-width:1180px){.disbursement-workspace{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:minmax(0,1fr)}.individual-household-panel{border-top:0;border-left:1px solid #dce9e3}}@media(max-width:900px){.disbursement-shell{height:auto;min-height:calc(100vh - 98px);overflow:auto}.disbursement-workspace{display:block;overflow:visible}.disbursement-compact .disbursement-table-wrap{height:58vh;min-height:360px;max-height:70vh}.individual-household-panel{min-height:360px}.individual-household-head{align-items:flex-start;flex-direction:column}.individual-household-head>div:last-child{width:100%;justify-content:space-between;gap:8px}}
.individual-household-table .household-group-start td{border-top:2px solid #b8d5c8}.individual-household-table .household-group-name{background:#e8f5ee;color:#087553;font-size:11px;font-weight:900;text-align:center!important;vertical-align:middle;border-right:1px solid #cfe4da}.individual-household-table .household-member-name{color:#284f41;font-weight:800;text-align:center!important}.individual-household-table .household-member-amount{color:#173f31!important;font-weight:900;font-variant-numeric:tabular-nums}.individual-household-table .household-group-total,.individual-household-table .household-social-cell,.individual-household-table .transfer-total{background:#fbfdfc;vertical-align:middle;border-left:1px solid #e0ebe5}.individual-household-table .household-group-total{color:#1f4d3d;font-weight:900;font-variant-numeric:tabular-nums}.individual-household-table .household-social-cell{text-align:center!important}.individual-household-table tbody tr:hover .household-member-name,.individual-household-table tbody tr:hover .household-member-amount{background:#f4faf7}
.household-transfer-check{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#284f41;font-size:12px;font-weight:900;line-height:1.2;white-space:nowrap;cursor:pointer}.household-transfer-check input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#087553;cursor:pointer}.household-transfer-check input:disabled{opacity:1;cursor:default}.individual-household-table .household-group-transferred .household-member-name,.individual-household-table .household-group-transferred .household-member-amount{background:#f0f9f4}.individual-household-table .household-group-name:has(.is-transferred){background:#dff3e8}.individual-household-table .household-group-transferred .household-group-total{background:#dff3e8!important;color:#087553!important;box-shadow:inset 0 0 0 1px #8fc8ab;font-size:12px}.household-transfer-check.is-transferred span{color:#087553}.household-total-review{display:flex;width:100%;min-height:30px;align-items:center;justify-content:center;padding:0 7px;border:1px solid transparent;border-radius:5px;background:transparent;color:#1f4d3d;font-family:inherit;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;cursor:pointer}.household-total-review:hover,.household-total-review:focus-visible{border-color:#8fc8ab;background:#eef8f3;outline:none}.household-total-review.is-reviewed{border-color:#73b493;background:#dff3e8;color:#087553;box-shadow:0 0 0 2px rgba(8,117,83,.08)}
.disbursement-compact .app-shell{grid-template-columns:252px minmax(0,1fr);min-width:0}.disbursement-compact .main,.disbursement-compact .content,.disbursement-compact .disbursement-shell,.disbursement-compact .disbursement-workspace{min-width:0}.disbursement-compact .content{overflow-x:hidden}.disbursement-compact .disbursement-table-wrap,.disbursement-compact .individual-household-table-wrap{max-width:100%;overflow-x:auto;overflow-y:auto}

/* Keep every item in the same navigation level typographically identical. */
.app-shell{grid-template-columns:252px 1fr}
.nav-btn{font-size:16px;letter-spacing:0}
.payroll-compact .nav-btn{padding:0 4px;font-size:13px;letter-spacing:0}
.individual-household-table th:nth-child(n+3){padding-right:18px;text-align:right}.individual-household-table .household-member-amount,.individual-household-table .household-group-total,.individual-household-table .transfer-total{padding-right:18px!important;text-align:right!important;font-variant-numeric:tabular-nums}.individual-household-table .household-social-cell{padding-right:18px!important;text-align:right!important}.individual-household-table .household-social-input{display:block;margin-left:auto;font-variant-numeric:tabular-nums}.individual-household-table tfoot td:nth-child(n+2){padding-right:18px;text-align:right;font-variant-numeric:tabular-nums}
.bank-account-cell{min-width:126px}.bank-account-cell b,.bank-account-cell small{display:block}.bank-account-cell b{color:#24483b;font-size:11px}.bank-account-cell small{margin-top:3px;color:#7f8f87;font-size:9px}.bank-account-missing{color:#a06a23;font-size:10px;font-weight:800}.bank-account-action{color:#087553!important}.bank-account-dialog{width:min(560px,calc(100vw - 32px))}.bank-account-dialog .adjustment-note-title b{font-size:19px}.bank-account-form{display:grid;gap:14px;margin-top:16px}.bank-account-form label{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px}.bank-account-form label>span{color:#536b61;font-size:13px;font-weight:900}.bank-account-form .cell-input{width:100%;height:42px;box-sizing:border-box;font-size:14px}.bank-account-form p{margin:0;padding:11px 13px;border-radius:9px;background:#f4f8f6;color:#687a71;font-size:12px;line-height:1.6}.bank-account-dialog .adjustment-note-actions button{font-size:13px}
.bank-account-cell{padding:5px 6px!important}.bank-account-summary-button{display:block;width:100%;min-height:38px;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;text-align:center;cursor:pointer}.bank-account-summary-button:hover,.bank-account-summary-button:focus-visible{border-color:#b7d8c9;background:#eef8f3;outline:none}.bank-account-summary-button:focus-visible{box-shadow:0 0 0 2px rgba(11,143,99,.14)}
.groups-mode .people-table th,.groups-mode .people-table td{box-sizing:border-box;text-align:center!important;vertical-align:middle!important}.groups-mode .people-table th{font-weight:900}.groups-mode .people-table td:first-child,.groups-mode .people-table td:nth-child(2){font-weight:800}.groups-mode .people-table .employee-position-cell{padding-left:5px!important;padding-right:5px!important}.groups-mode .people-table .employee-actions-cell{text-align:center!important;white-space:nowrap}.groups-mode .people-table .employee-actions-cell .table-action{margin-left:1px;margin-right:1px}.employee-position-select{display:block;width:100%;max-width:152px;min-width:126px;height:32px;margin:0 auto;padding:0 24px 0 8px;border:1px solid #cfe1d8;border-radius:5px;background:#f7fbf9;color:#284f41;font:inherit;font-size:11px;font-weight:800;text-align:center;text-align-last:center;white-space:nowrap;cursor:pointer}.employee-position-select option{text-align:center}.employee-position-select:focus{border-color:#16805a;outline:2px solid rgba(22,128,90,.16)}.employee-position-select:disabled{border-color:#d8e4de;background:#f1f5f3;color:#31594a;opacity:1;cursor:default}
.groups-mode .people-table .employee-row-editing td{background:#f2faf6!important}.employee-inline-edit-cell{position:relative;padding:6px!important}.employee-inline-input,.employee-inline-select{display:block;box-sizing:border-box;width:100%;height:34px;margin:0;border:1px solid #9fcab7;border-radius:6px;background:#fff;color:#173f31;font-family:inherit;font-size:12px;font-weight:800;text-align:center;outline:none}.employee-inline-select{padding:0 22px 0 6px;text-align-last:center;cursor:pointer}.employee-inline-input:focus,.employee-inline-select:focus{border-color:#087553;box-shadow:0 0 0 3px rgba(8,117,83,.12)}.employee-inline-error{position:absolute;z-index:2;left:6px;right:6px;top:calc(100% - 4px);min-height:0;padding:0 5px;border-radius:0 0 5px 5px;background:#fff1ee;color:#ac493b;font-size:9px;font-weight:900;line-height:18px}.employee-inline-error:empty{display:none}.employee-inline-actions{white-space:nowrap}.employee-inline-save{border-color:#087553!important;background:#087553!important;color:#fff!important}.employee-inline-save:hover,.employee-inline-save:focus-visible{border-color:#055d43!important;background:#055d43!important}
.employee-position-display{display:inline-flex;min-height:28px;align-items:center;justify-content:center;padding:0 8px;border:1px solid #d8e6df;border-radius:6px;background:#f4f8f6;color:#31594a;font-size:11px;font-weight:900;line-height:1.25;text-align:center}
.bank-account-form [data-position-type]{min-height:38px}
.bank-account-dialog .birth-date-selector,.employee-create-dialog .birth-date-selector{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:8px;min-width:0}.bank-account-dialog .birth-date-selector select,.employee-create-dialog .birth-date-selector select{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:0 26px 0 9px;border:1px solid #d4e1da;border-radius:7px;background:#fff;color:#29483d;font-family:inherit;font-size:13px;font-weight:800;outline:none}.bank-account-dialog .birth-date-selector select:focus,.employee-create-dialog .birth-date-selector select:focus{border-color:#0b8f63;box-shadow:0 0 0 3px rgba(11,143,99,.1)}
.employee-remove-popover{position:fixed;z-index:1400;box-sizing:border-box;width:min(310px,calc(100vw - 24px));padding:14px;border:1px solid #e3c3bd;border-left:4px solid #b84f43;border-radius:8px;background:#fff;box-shadow:0 14px 36px rgba(36,39,37,.2);color:#29483d}.employee-remove-title{display:flex;align-items:center;gap:10px}.employee-remove-title>span{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#fff0ed;color:#b3483d;font-size:15px;font-weight:900}.employee-remove-title>div{display:flex;min-width:0;flex-direction:column;gap:2px}.employee-remove-title b{font-size:15px;font-weight:900}.employee-remove-title small{color:#788981;font-size:11px}.employee-remove-popover>p{margin:11px 0 13px;color:#60746b;font-size:12px;line-height:1.55}.employee-remove-actions{display:flex;justify-content:flex-end;gap:8px}.employee-remove-actions button{height:34px;padding:0 12px;border-radius:6px;font-size:12px;font-weight:900}.employee-remove-cancel{border:1px solid #d5e1db;background:#fff;color:#496158}.employee-remove-cancel:hover,.employee-remove-cancel:focus-visible{border-color:#adc8bc;background:#f3f8f5;outline:none}.employee-remove-confirm{border:1px solid #b84f43;background:#b84f43;color:#fff}.employee-remove-confirm:hover,.employee-remove-confirm:focus-visible{border-color:#993e35;background:#993e35;outline:none}
.employee-birth-date{color:#405f54;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.employee-birth-missing{color:#a06a23;font-size:10px;font-weight:800}
.unsettled-manager-scope{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px;border:1px solid #cfe1d8;border-radius:8px;background:#f4faf7;white-space:nowrap}.unsettled-manager-scope>span{padding:0 5px;color:#638076;font-size:10px;font-weight:800}.unsettled-manager-scope button{height:30px;padding:0 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#4c675d;font-family:inherit;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}.unsettled-manager-scope button:hover,.unsettled-manager-scope button:focus-visible{border-color:#a9cbb9;background:#e9f6ef;outline:none}.unsettled-manager-scope button.active{border-color:#16805a;background:#16805a;color:#fff;box-shadow:0 1px 2px rgba(13,92,64,.16)}
@media(max-width:1180px){.unsettled-manager-scope{order:-1;width:100%;justify-content:flex-start}.unsettled-manager-scope button{flex:1}}
@media(max-width:640px){.unsettled-manager-scope{flex-wrap:wrap;white-space:normal}.unsettled-manager-scope>span{flex-basis:100%;padding:2px 4px}.unsettled-manager-scope button{min-width:0}}
.employee-income-mode.unsettled-compact .unsettled-panel .panel-head{justify-content:flex-start;gap:14px}
.employee-income-mode.unsettled-compact .unsettled-panel .panel-head>div:first-child{min-width:0;flex:0 1 auto}
.employee-income-mode.unsettled-compact .unsettled-panel .panel-head>.toolbar{min-width:0;flex:0 1 auto;margin-left:0}
.employee-income-mode.unsettled-compact .settlement-methods{gap:8px;margin:0 0 8px}
.employee-income-mode.unsettled-compact .settlement-method{min-height:48px;padding:8px 11px;gap:9px;border-width:1.5px}
.employee-income-mode.unsettled-compact .settlement-method>span{min-width:52px;height:32px;flex:0 0 52px;font-size:11px;font-weight:900}
.employee-income-mode.unsettled-compact .settlement-method>b{font-size:15px!important;font-weight:900;line-height:1.3}
.employee-income-mode.unsettled-compact .settlement-method>small{font-size:12px!important;font-weight:700;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip}
.employee-income-mode.unsettled-compact .settlement-upload-guide{height:30px;padding:0 11px;font-size:11px!important;font-weight:900}
@media(max-width:900px){.employee-income-mode.unsettled-compact .unsettled-panel .panel-head{gap:10px}}
@media(min-width:1180px) and (max-width:1499px){
  .disbursement-workspace{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .disbursement-table-wrap,.individual-household-table-wrap{overflow-x:hidden;overflow-y:auto}
  .disbursement-table,.individual-household-table{width:100%;min-width:100%}
  .disbursement-table{font-size:8px}
  .disbursement-table th{padding:4px 2px;font-size:8px;line-height:1.15;white-space:normal}
  .disbursement-table td{padding:4px 2px;font-size:8px}
  .disbursement-table th:nth-child(1){width:11%}
  .disbursement-table th:nth-child(2){width:12%}
  .disbursement-table th:nth-child(n+3):nth-child(-n+6){width:11%}
  .disbursement-table th:nth-child(7){width:12%}
  .disbursement-table th:nth-child(8){width:7%}
  .disbursement-table th:nth-child(9){width:14%}
  .disbursement-input{height:27px;padding:0 2px;font-size:8px}
  .disbursement-status{width:100%;min-width:0;padding:0 2px;font-size:7px}
  .disbursement-table tfoot td{height:auto;min-height:41px;line-height:1.2;white-space:normal}
  .individual-household-head{gap:8px;padding:10px}
  .individual-household-head h4{font-size:12px}
  .individual-household-head span{font-size:8px}
  .individual-household-head>div:last-child{gap:8px;font-size:8px}
  .individual-household-head strong{font-size:12px}
  .individual-household-table{font-size:8px}
  .individual-household-table th{padding:4px 2px!important;font-size:8px;line-height:1.15;white-space:normal}
  .individual-household-table td{padding:4px 2px!important;font-size:8px}
  .individual-household-table th:nth-child(1){width:14%}
  .individual-household-table th:nth-child(2){width:18%}
  .individual-household-table th:nth-child(n+3){width:17%}
  .individual-household-table .household-member-amount,.individual-household-table .household-group-total,.individual-household-table .transfer-total,.individual-household-table .household-social-cell,.individual-household-table tfoot td:nth-child(n+2){padding-right:4px!important}
  .individual-household-table .household-social-input{width:100%;height:26px;padding:0 2px;font-size:8px}
}
@media(min-width:1500px){
  .disbursement-table-wrap,.individual-household-table-wrap{overflow-x:hidden;overflow-y:auto}
  .disbursement-table,.individual-household-table{width:100%;min-width:100%}
  .disbursement-table th,.disbursement-table td,.individual-household-table th,.individual-household-table td{box-sizing:border-box}
  .disbursement-table tfoot td:last-child{height:auto;white-space:normal;overflow-wrap:anywhere;word-break:break-all}
  .disbursement-table th:nth-child(1){width:11%}
  .disbursement-table th:nth-child(2){width:12%}
  .disbursement-table th:nth-child(n+3):nth-child(-n+6){width:11%}
  .disbursement-table th:nth-child(7){width:12%}
  .disbursement-table th:nth-child(8){width:7%}
  .disbursement-table th:nth-child(9){width:14%}
  .individual-household-table th:nth-child(1){width:14%}
  .individual-household-table th:nth-child(2){width:18%}
  .individual-household-table th:nth-child(n+3){width:17%}
  .individual-household-table .household-social-input{width:100%;box-sizing:border-box}
}

/* Readability pass: preserve the existing two-column geometry and scrolling. */
.disbursement-head .eyebrow{font-size:10px}
.disbursement-head h3{font-size:22px}
.disbursement-head>div>span{font-size:12px}
.disbursement-actions button{font-size:11px}
.disbursement-summary>div{font-size:11px}
.disbursement-summary b{font-size:18px}
.disbursement-confirmed{font-size:11px}
.disbursement-table{font-size:11px}
.disbursement-table th{font-size:10px}
.disbursement-table td{font-size:11px}
.disbursement-input{font-size:11px}
.disbursement-status{font-size:9px}
.disbursement-table tfoot td{font-size:10px}
.individual-household-head h4{font-size:16px}
.individual-household-head span{font-size:10px}
.individual-household-head>div:last-child{font-size:11px}
.individual-household-head strong{font-size:16px}
.individual-household-table{font-size:11px}
.individual-household-table th{font-size:10px}
.individual-household-table td{font-size:11px}
.individual-household-table .household-group-name{font-size:12px}
.household-social-input{font-size:11px}

@media(min-width:1180px) and (max-width:1499px){
  .disbursement-table{font-size:10px}
  .disbursement-table th{font-size:9px}
  .disbursement-table td{font-size:10px}
  .disbursement-input{font-size:10px}
  .disbursement-status{font-size:8px}
  .disbursement-table tfoot td{font-size:9px}
  .individual-household-head h4{font-size:14px}
  .individual-household-head span{font-size:9px}
  .individual-household-head>div:last-child{font-size:9px}
  .individual-household-head strong{font-size:14px}
  .individual-household-table{font-size:10px}
  .individual-household-table th{font-size:9px}
  .individual-household-table td{font-size:10px}
  .individual-household-table .household-group-name{font-size:12px}
  .individual-household-table .household-social-input{font-size:9px}
}
.employee-tax-promotion small{display:none!important}
.accounts-table th:nth-child(8){width:340px!important}
.accounts-table td:last-child{min-width:340px}
.account-actions{flex-wrap:wrap}
.account-delete-action{border-color:#d9aaa1!important;color:#a24d41!important}
.account-delete-action:hover{border-color:#c88378!important;background:#fff1ef!important}
@media(max-width:1050px){.accounts-table th:nth-child(8){width:300px!important}.accounts-table td:last-child{min-width:300px}}

/* One anchored confirmation surface for all system actions. */
.system-confirm-popover{position:fixed;z-index:1600;box-sizing:border-box;width:min(370px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:15px;border:1px solid #dfc88f;border-left:4px solid #c38b21;border-radius:8px;overflow:auto;overscroll-behavior:contain;background:#fff;box-shadow:0 14px 38px rgba(31,43,38,.22);color:#29483d}.system-confirm-title{display:flex;align-items:center;gap:10px}.system-confirm-title>span{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#fff5db;color:#956210;font-size:16px;font-weight:900}.system-confirm-title>div{display:flex;min-width:0;flex-direction:column;gap:2px}.system-confirm-title b{color:#284b3e;font-size:15px;font-weight:900;line-height:1.4}.system-confirm-title small{color:#7a897f;font-size:11px;font-weight:700;line-height:1.4}.system-confirm-popover>p{margin:11px 0 13px;color:#5d7067;font-size:12px;font-weight:600;line-height:1.65;white-space:normal;overflow-wrap:anywhere}.system-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.system-confirm-actions button{height:35px;padding:0 13px;border-radius:6px;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer}.system-confirm-cancel{border:1px solid #d5e1db;background:#fff;color:#496158}.system-confirm-cancel:hover,.system-confirm-cancel:focus-visible{border-color:#adc8bc;background:#f3f8f5;outline:none}.system-confirm-submit{border:1px solid #bd851c;background:#bd851c;color:#fff}.system-confirm-submit:hover,.system-confirm-submit:focus-visible{border-color:#9d6b10;background:#9d6b10;outline:none}.system-confirm-submit:disabled{border-color:#d8ddd9;background:#d8ddd9;color:#8a9690;cursor:not-allowed}.system-confirm-popover.danger{border-color:#e3c3bd;border-left-color:#b84f43}.system-confirm-popover.danger .system-confirm-title>span{background:#fff0ed;color:#b3483d}.system-confirm-popover.danger .system-confirm-submit{border-color:#b84f43;background:#b84f43}.system-confirm-popover.danger .system-confirm-submit:hover,.system-confirm-popover.danger .system-confirm-submit:focus-visible{border-color:#993e35;background:#993e35}.system-confirm-popover.success{border-color:#b9d9ca;border-left-color:#0b8f63}.system-confirm-popover.success .system-confirm-title>span{background:#e6f6ee;color:#087553}.system-confirm-popover.success .system-confirm-submit{border-color:#087d59;background:#087d59}.system-confirm-popover.success .system-confirm-submit:hover,.system-confirm-popover.success .system-confirm-submit:focus-visible{border-color:#056849;background:#056849}.system-confirm-verify{display:grid;gap:6px;margin:0 0 13px;padding:10px 11px;border:1px solid #ead9b2;border-radius:7px;background:#fffaf0}.system-confirm-verify span{color:#6e5730;font-size:11px;font-weight:800;line-height:1.45}.system-confirm-verify input{box-sizing:border-box;width:100%;height:36px;padding:0 10px;border:1px solid #d8c38f;border-radius:6px;background:#fff;color:#29483d;font-family:inherit;font-size:13px;font-weight:800;outline:none}.system-confirm-verify input:focus{border-color:#b67b17;box-shadow:0 0 0 2px rgba(182,123,23,.12)}@media(max-width:640px){.system-confirm-popover{width:min(340px,calc(100vw - 20px));padding:13px}.system-confirm-title b{font-size:14px}.system-confirm-popover>p{font-size:12px}}

/* Manager income attention: shared by every manager account. */
.system-inline-confirm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;min-width:64px}.system-inline-confirm button{box-sizing:border-box;height:30px!important;min-width:0!important;margin:0!important;padding:0 4px!important;border-radius:5px!important;font-family:inherit;font-size:12px!important;font-weight:900!important;line-height:1!important;letter-spacing:0;cursor:pointer;white-space:nowrap}.system-inline-confirm-cancel{border:1px solid #cad8d1!important;background:#fff!important;color:#476157!important}.system-inline-confirm-cancel:hover,.system-inline-confirm-cancel:focus-visible{border-color:#91b5a6!important;background:#f3f8f5!important;outline:none;box-shadow:0 0 0 2px rgba(23,95,70,.11)}.system-inline-confirm-submit{border:1px solid #b77b15!important;background:#b77b15!important;color:#fff!important}.system-inline-confirm-submit:hover,.system-inline-confirm-submit:focus-visible{border-color:#915d08!important;background:#915d08!important;outline:none;box-shadow:0 0 0 2px rgba(183,123,21,.15)}.system-inline-confirm.success .system-inline-confirm-submit{border-color:#087d59!important;background:#087d59!important}.system-inline-confirm.success .system-inline-confirm-submit:hover,.system-inline-confirm.success .system-inline-confirm-submit:focus-visible{border-color:#056849!important;background:#056849!important}.system-inline-confirm.danger .system-inline-confirm-submit{border-color:#b84f43!important;background:#b84f43!important}.system-inline-confirm.danger .system-inline-confirm-submit:hover,.system-inline-confirm.danger .system-inline-confirm-submit:focus-visible{border-color:#993e35!important;background:#993e35!important}.system-row-confirming>td{transition:background-color .12s ease,box-shadow .12s ease}.system-row-confirming.warning>td{background:#fff8e8!important}.system-row-confirming.success>td{background:#edf8f3!important}.system-row-confirming.danger>td{background:#fff1ef!important}.system-row-confirming>td:first-child{box-shadow:inset 3px 0 0 #c38b21}.system-row-confirming.success>td:first-child{box-shadow:inset 3px 0 0 #087d59}.system-row-confirming.danger>td:first-child{box-shadow:inset 3px 0 0 #b84f43}.unsettled-admin-tools .system-inline-confirm{margin:0;padding:0;border:0}.unsettled-admin-tools .system-inline-confirm button{height:28px!important;font-size:12px!important}.unsettled-compact .unsettled-actions .system-inline-confirm button{height:30px!important;padding:0 3px!important;font-size:12px!important}

/* Manager income attention: shared by every manager account. */
.manager-income-notice{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:22px;margin:0 0 14px;padding:14px 18px;border:1px solid #ecd29d;border-left:4px solid #d49628;border-radius:8px;background:#fffaf0;color:#553d17}.manager-income-notice-title{display:flex;flex-direction:column;gap:5px}.manager-income-notice-title span{color:#9a6815;font-size:12px;font-weight:900}.manager-income-notice-title strong{color:#594117;font-size:15px;line-height:1.4}.manager-income-notice-body{min-width:0;padding-left:20px;border-left:1px solid #eadab9}.manager-income-notice-body p{margin:0;color:#654d25;font-size:13px;font-weight:700;line-height:1.55}.manager-income-notice-body small{display:block;margin-top:5px;color:#806029;font-size:12px}.manager-income-notice-body b{color:#7b4e08;font-weight:900}.manager-income-panel{margin-top:0;border-radius:8px}.manager-income-panel .panel-head{margin-bottom:12px}.manager-income-panel .panel-head h3{color:#173f31;font-size:18px}.manager-income-panel .small-note{margin:4px 0 0;font-size:12px}.manager-income-table-wrap{max-height:calc(100vh - 265px);overflow-x:hidden;overflow-y:auto;border:1px solid #dce9e3;border-radius:7px}.manager-income-table{width:100%;table-layout:fixed;font-size:13px}.manager-income-table th,.manager-income-table td{height:46px;padding:9px 14px;text-align:center}.manager-income-table th{position:sticky;top:0;z-index:2;background:#edf6f2;color:#315c4d;font-size:12px;font-weight:900}.manager-income-table th:nth-child(1){width:110px}.manager-income-table th:nth-child(2){width:180px}.manager-income-table th:nth-child(3),.manager-income-table th:nth-child(4){width:220px}.manager-income-table th:nth-child(5){width:150px}.manager-income-table tbody tr:nth-child(even) td{background:#fbfdfc}.manager-income-table tbody tr.manager-income-focus-row td{background:#fff8eb}.manager-income-table tbody tr.manager-income-focus-row:hover td{background:#fff3dc}.manager-income-rank{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;color:#335a4c;font-weight:900;font-variant-numeric:tabular-nums}.manager-income-table td:nth-child(2){color:#173f31;font-size:14px}.manager-income-table .money{color:#087553;font-size:14px;font-variant-numeric:tabular-nums}.manager-income-focus-badge{display:inline-flex;align-items:center;justify-content:center;height:27px;padding:0 10px;border:1px solid #e5bd69;border-radius:999px;background:#fff3d8;color:#915d08;font-size:11px;font-weight:900;white-space:nowrap}.manager-income-normal{color:#a4afa9}.manager-income-empty{height:150px!important;padding:40px!important;color:#72837b;font-size:13px}@media(max-width:900px){.manager-income-notice{grid-template-columns:1fr;gap:10px}.manager-income-notice-body{padding:10px 0 0;border-top:1px solid #eadab9;border-left:0}.manager-income-table-wrap{overflow-x:auto}.manager-income-table{min-width:720px}}

/* M-manager overview and member ranking share one workspace. */
.manager-team-workspace{display:flex;min-height:0;flex-direction:column;gap:14px}.manager-team-overview{padding:17px 18px;border:1px solid #dbe8e2;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(20,35,29,.035)}.manager-team-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #e5ede9}.manager-team-overview-head .eyebrow{margin:0 0 4px;color:#11815f;font-size:10px;font-weight:900}.manager-team-overview-head h3{margin:0;color:#173f31;font-size:19px;letter-spacing:0}.manager-team-overview-head span{display:block;margin-top:4px;color:#718078;font-size:12px}.manager-team-month{display:flex;align-items:center;justify-content:center;min-width:104px;height:34px;padding:0 12px;border:1px solid #cfe1d8;border-radius:6px;background:#f3f8f5;color:#235844;font-size:12px;font-weight:900;white-space:nowrap}.manager-team-overview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:stretch;gap:14px;padding-top:13px}.manager-team-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.manager-team-metrics>div,.manager-team-metrics>button{min-width:0;padding:11px 13px;border:1px solid #deebe5;border-radius:7px;background:#f8fbf9}.manager-team-metrics>button{appearance:none;width:100%;font:inherit;text-align:left}.manager-team-metrics>.manager-own-income{cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.manager-team-metrics>.manager-own-income:hover,.manager-team-metrics>.manager-own-income:focus-visible{border-color:#79bba4;background:#f0f8f4;box-shadow:0 5px 14px rgba(19,105,76,.12);outline:none;transform:translateY(-1px)}.manager-team-metrics>.manager-own-income:active{transform:translateY(0)}.manager-team-metrics span{display:block;color:#687a72;font-size:11px;font-weight:700}.manager-team-metrics b{display:block;margin-top:5px;overflow:hidden;color:#164a38;font-size:20px;font-weight:900;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.manager-team-metrics small{display:block;margin-top:3px;color:#8a9791;font-size:10px}.manager-team-overview .manager-income-notice{grid-template-columns:1fr;align-content:center;gap:8px;margin:0;padding:12px 14px}.manager-team-overview .manager-income-notice-body{padding:8px 0 0;border-top:1px solid #eadab9;border-left:0}.manager-team-overview .manager-income-notice-title strong{font-size:14px}.manager-team-overview .manager-income-notice-body p{font-size:12px;line-height:1.5}.manager-team-overview .manager-income-notice-body small{font-size:11px}.manager-dashboard-ranking{min-height:0;padding:17px 18px}.manager-dashboard-ranking .panel-head{flex:0 0 auto}.manager-ranking-count{display:flex;align-items:baseline;gap:4px;color:#61736a}.manager-ranking-count b{color:#087553;font-size:20px;font-weight:900}.manager-ranking-count span{font-size:11px;font-weight:700}.manager-dashboard-ranking .manager-income-table-wrap{max-height:calc(100vh - 400px)}@media(max-width:1100px){.manager-team-overview-grid{grid-template-columns:1fr}.manager-team-overview .manager-income-notice{grid-template-columns:230px minmax(0,1fr)}.manager-team-overview .manager-income-notice-body{padding:0 0 0 16px;border-top:0;border-left:1px solid #eadab9}.manager-dashboard-ranking .manager-income-table-wrap{max-height:46vh}}@media(max-width:760px){.manager-team-overview-head{align-items:flex-start}.manager-team-overview-grid{grid-template-columns:1fr}.manager-team-overview .manager-income-notice{grid-template-columns:1fr}.manager-team-overview .manager-income-notice-body{padding:8px 0 0;border-top:1px solid #eadab9;border-left:0}.manager-team-metrics{grid-template-columns:1fr 1fr}.manager-team-metrics b{font-size:17px}.manager-dashboard-ranking{padding:13px}.manager-dashboard-ranking .manager-income-table-wrap{max-height:58vh}}
.manager-team-metrics>.manager-average-compare{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:7px;border:2px solid #d3a33a;border-radius:9px;background:#fffdfa;box-shadow:0 5px 16px rgba(170,120,28,.16),inset 0 0 0 1px rgba(255,225,156,.45)}.manager-average-compare>div{min-width:0;padding:11px 13px;border:1px solid #deebe5;border-radius:7px;background:#f8fbf9}.manager-average-compare>.manager-store-average{border-color:#b9cdeb;background:#eef5ff}.manager-average-compare>.manager-store-average span{color:#496b98}.manager-average-compare>.manager-store-average b{color:#285c9d}.manager-average-compare>.manager-store-average small{color:#6c7f98}@media(max-width:560px){.manager-team-metrics>.manager-average-compare{grid-template-columns:1fr}}
.manager-average-compare>.manager-team-average.manager-average-below{border-color:#e0aaa3;background:#fff0ee;box-shadow:inset 4px 0 0 #b84339}.manager-average-compare>.manager-team-average.manager-average-below span,.manager-average-compare>.manager-team-average.manager-average-below small{color:#8f3c35}.manager-average-compare>.manager-team-average.manager-average-below b{color:#b43b32}.manager-average-compare>.manager-team-average.manager-average-above{border-color:#9ac9b2;background:#eaf7f0;box-shadow:inset 4px 0 0 #16805a}.manager-average-compare>.manager-team-average.manager-average-above span,.manager-average-compare>.manager-team-average.manager-average-above small{color:#276d52}.manager-average-compare>.manager-team-average.manager-average-above b{color:#087553}.manager-average-compare>.manager-team-average.manager-average-equal{border-color:#c9d9d1;background:#f5f8f6}

@media(min-width:1101px){.manager-team-workspace{gap:10px}.manager-team-overview{padding:12px 14px}.manager-team-overview-head{padding-bottom:8px}.manager-team-overview-head .eyebrow{margin-bottom:3px;line-height:1}.manager-team-overview-head h3{font-size:18px;line-height:1.2}.manager-team-overview-head span{margin-top:2px;line-height:1.3}.manager-team-month{height:32px}.manager-team-overview-grid{gap:12px;padding-top:9px}.manager-team-metrics{gap:7px}.manager-team-metrics>div,.manager-team-metrics>button{padding:8px 10px}.manager-team-metrics span{line-height:1.25}.manager-team-metrics b{margin-top:3px;font-size:18px;line-height:1.2}.manager-team-metrics small{margin-top:1px;line-height:1.3}.manager-team-overview .manager-income-notice{gap:5px;padding:10px 12px}.manager-team-overview .manager-income-notice-title{gap:3px}.manager-team-overview .manager-income-notice-title strong{font-size:13px;line-height:1.35}.manager-team-overview .manager-income-notice-body{padding-top:6px}.manager-team-overview .manager-income-notice-body p{font-size:12px;line-height:1.4}.manager-team-overview .manager-income-notice-body small{margin-top:3px;font-size:11px}.manager-dashboard-ranking{padding:13px}.manager-dashboard-ranking .panel-head{margin-bottom:7px}.manager-dashboard-ranking .manager-income-table th,.manager-dashboard-ranking .manager-income-table td{height:37px;padding:5px 12px}.manager-dashboard-ranking .manager-income-table-wrap{max-height:calc(100vh - 335px)}}

.manager-management-motto{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:17px 20px;border:1px solid #cfe3d9;border-left:4px solid #0b8f63;border-radius:8px;background:#f5faf7}.manager-management-motto>span{color:#14805f;font-size:11px;font-weight:900;line-height:1.3}.manager-management-motto blockquote{margin:9px 0 0;color:#214d3d;font-size:16px;font-weight:900;line-height:1.75;letter-spacing:0}.manager-management-motto blockquote::first-line{color:#173f31}@media(max-width:1100px){.manager-management-motto{padding:14px 16px}.manager-management-motto blockquote{font-size:15px;line-height:1.65}}@media(max-width:640px){.manager-management-motto blockquote{font-size:14px;line-height:1.65}}

.admin-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.admin-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.admin-dashboard-stats{grid-template-columns:1fr}}

/* High-contrast warning label: never place pale yellow text on a pale yellow surface. */
.manager-income-focus-badge{height:29px;border-color:#be7d0d;background:#ffe5a0;color:#553100;font-size:12px;font-weight:900;line-height:1;box-shadow:inset 0 0 0 1px rgba(120,72,0,.06)}
.unsettled-compact .unsettled-stats .stat-card small{color:#60431a!important;font-size:11px!important;font-weight:800;line-height:1.35}

/* Employee-facing settlement guidance must read as a primary action. */
.employee-income-mode.unsettled-compact .evidence-method{min-height:54px;padding:9px 12px;border:2px solid #83b5d8;border-left:5px solid #286f9f;background:#edf7ff;box-shadow:0 5px 14px rgba(35,103,150,.09)}
.employee-income-mode.unsettled-compact .evidence-method>b{color:#113f5f!important;font-size:17px!important;font-weight:900;line-height:1.3}
.employee-income-mode.unsettled-compact .evidence-method>small{color:#294f64!important;font-size:13px!important;font-weight:800;line-height:1.35}
.employee-income-mode.unsettled-compact .evidence-method>.settlement-upload-guide{height:32px;padding:0 12px;font-size:12px!important;font-weight:900}

/* Manager dashboard metrics use high-contrast text at a readable size. */
.manager-team-metrics span,.manager-team-metrics small{color:#2f5145;font-size:13px;font-weight:900;line-height:1.35;letter-spacing:0}.manager-team-metrics b{margin-top:4px;color:#103e2f;font-size:23px;font-weight:900;line-height:1.25;letter-spacing:0}.manager-team-metrics small{margin-top:4px}.manager-average-compare>.manager-store-average span,.manager-average-compare>.manager-store-average small{color:#3d6595}.manager-average-compare>.manager-store-average b{color:#245991}

/* Shared readability rules for every M-manager and broker account. */
.employee-income-mode .topbar h2{color:#153f31;font-size:22px;font-weight:900;letter-spacing:0}.employee-income-mode .panel-head h3{color:#153f31;font-size:18px;font-weight:900;letter-spacing:0}.employee-income-mode .small-note,.employee-income-mode .muted{color:#4c675d;font-size:13px;font-weight:800;line-height:1.55;letter-spacing:0}.employee-income-mode .notice{color:#214c3c;font-size:13px;font-weight:800;line-height:1.55;letter-spacing:0}.employee-income-mode .stat-card p,.employee-income-mode .detail-row>span{color:#2f5145;font-size:13px;font-weight:900;line-height:1.4;letter-spacing:0}.employee-income-mode .stat-card strong{color:#123f31;font-size:28px;font-weight:900;letter-spacing:0}.employee-income-mode .stat-card small,.employee-income-mode .detail-row small{color:#516b60;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:0}.employee-income-mode .detail-row>b{color:#123f31;font-size:15px;font-weight:900;letter-spacing:0}.employee-income-mode table{font-size:13px}.employee-income-mode th{color:#35594c;font-size:13px;font-weight:900;letter-spacing:0}.employee-income-mode td{color:#243f36;font-size:13px;font-weight:700;letter-spacing:0}.employee-income-mode button{font-weight:900;letter-spacing:0}

/* Every manager and broker gets a prominent settlement action and readable pending status. */
.employee-income-mode.unsettled-compact .unsettled-actions .evidence-submit-action{min-width:122px;height:36px!important;padding:0 14px!important;border:2px solid #175f91!important;border-radius:7px!important;background:#1e6f9f!important;color:#fff!important;font-size:13px!important;font-weight:900!important;line-height:1;box-shadow:0 4px 10px rgba(23,95,145,.24)}
.employee-income-mode.unsettled-compact .unsettled-actions .evidence-submit-action:hover,.employee-income-mode.unsettled-compact .unsettled-actions .evidence-submit-action:focus-visible{border-color:#104d76!important;background:#155c88!important;box-shadow:0 0 0 3px rgba(30,111,159,.18),0 5px 12px rgba(23,95,145,.26);outline:none}
.employee-income-mode.unsettled-compact .case-status.pending{min-width:66px;padding:6px 10px;border:1px solid #d48716;background:#ffe3b8;color:#714100;font-size:13px!important;font-weight:900;line-height:1.2}
.employee-income-mode.unsettled-compact .settlement-review{margin-top:6px;color:#365f50;font-size:12px!important;font-weight:900;line-height:1.4;white-space:normal}
.employee-income-mode.unsettled-compact .settlement-review.pending-review{color:#7a4a00}
.employee-income-mode.unsettled-compact .settlement-review.rejected-review{color:#95362f}
.employee-income-mode.unsettled-compact .settlement-review.no-review{color:#365f50}

/* 异常业绩台账清晰汇总与待计入状态。 */
.abnormal-ledger-head .eyebrow{color:#806522;font-size:11px}
.abnormal-ledger-head>div>span{color:#526d61;font-size:12px;font-weight:700}
.abnormal-ledger-head-actions button{font-size:12px;font-weight:900}
.abnormal-ledger-status-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dfeae5;border-bottom:1px solid #dfeae5}
.abnormal-ledger-status-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.abnormal-ledger-status-summary>div{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:10px 17px;background:#f7faf8;color:#526d61;font-size:12px;font-weight:800}
.abnormal-ledger-status-summary b{color:#264f40;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.abnormal-ledger-summary{grid-template-columns:repeat(4,minmax(100px,.7fr)) repeat(2,minmax(230px,1.55fr))}
.abnormal-ledger-summary>div{padding:11px 14px;color:#526d61;font-size:12px;font-weight:800}
.abnormal-ledger-summary .adjustment-total{color:#315c4d}
.abnormal-ledger-summary .service-total{color:#73551f}
.abnormal-ledger-toolbar label{color:#526d61;font-size:11px;font-weight:900}
.abnormal-ledger-toolbar select{color:#2e5345;font-size:12px;font-weight:800}
.abnormal-ledger-toolbar>button{font-size:12px;font-weight:900}
.abnormal-ledger-toolbar .ledger-sync-button:disabled{border-color:#c7d4ce;background:#dce5e0;color:#7b8d84;box-shadow:none;cursor:not-allowed}
.abnormal-ledger-table{font-size:12px}
.abnormal-ledger-table th{font-size:12px}
.abnormal-ledger-table .ledger-reason{text-align:center!important}
.ledger-status{height:26px;font-size:11px}
.ledger-actions .table-action{padding:5px 7px;font-size:11px;font-weight:900}
.unsettled-compact .settlement-action-stack .evidence-review-action{min-width:84px;height:35px!important;padding:0 10px!important;border:1px solid #a85f00!important;border-radius:7px!important;background:#c97908!important;color:#fff!important;font-size:13px!important;font-weight:900!important;line-height:1!important;box-shadow:0 3px 8px rgba(168,95,0,.24)}
.unsettled-compact .settlement-action-stack .evidence-review-action:hover,.unsettled-compact .settlement-action-stack .evidence-review-action:focus-visible{border-color:#844900!important;background:#a85f00!important;outline:none;box-shadow:0 0 0 3px rgba(201,121,8,.18),0 4px 10px rgba(132,73,0,.26)}
.ledger-readonly{color:#71847a;font-size:11px;font-weight:800}
@media(max-width:1200px){.abnormal-ledger-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
.abnormal-ledger-summary .adjustment-total,.abnormal-ledger-summary .service-total{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
.abnormal-ledger-summary .summary-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 9px;border:1px solid currentColor;border-radius:6px;background:rgba(255,255,255,.72);color:inherit;font-size:11px;font-weight:900;line-height:1;cursor:pointer;white-space:nowrap}
.abnormal-ledger-summary .summary-reconcile-reminder{box-sizing:border-box;display:grid;width:100%;min-height:50px;padding:6px 8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left;white-space:normal}
.abnormal-ledger-summary .summary-reminder-badge{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 7px;border-radius:5px;color:#fff;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}
.abnormal-ledger-summary .summary-reminder-copy{display:block;min-width:0}
.abnormal-ledger-summary .summary-reminder-copy b{display:block;color:inherit!important;font-size:12px!important;font-weight:900;line-height:1.3;white-space:nowrap}
.abnormal-ledger-summary .summary-reminder-copy small{display:block;margin-top:2px;color:inherit;font-size:12px;font-weight:800;line-height:1.3;white-space:normal}
.abnormal-ledger-summary .summary-reconcile-reminder i{font-size:17px;font-style:normal;font-weight:900;line-height:1}
.abnormal-ledger-summary .adjustment-total .summary-reconcile-reminder{border-color:#8fc6ae;background:#f8fcfa;color:#245c48}
.abnormal-ledger-summary .adjustment-total .summary-reminder-badge{background:#087553}
.abnormal-ledger-summary .service-total .summary-reconcile-reminder{border-color:#d7b76f;background:#fffdf7;color:#73551f}
.abnormal-ledger-summary .service-total .summary-reminder-badge{background:#a67720}
.abnormal-ledger-summary .summary-link-button:hover{background:#fff;filter:brightness(.94)}
@media(max-width:760px){.abnormal-ledger-summary .adjustment-total,.abnormal-ledger-summary .service-total{grid-column:1 / -1}}
.return-abnormal-ledger-button{white-space:nowrap;font-weight:900}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:8px!important}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .stat-card{box-sizing:border-box;height:82px;min-height:82px!important;padding:8px 10px!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;align-content:center;align-items:start}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .stat-card p{grid-column:1;grid-row:1;margin:0!important;color:#34564c;font-size:12px!important;font-weight:900;line-height:1.25;white-space:nowrap}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .stat-card strong{grid-column:1!important;grid-row:2!important;justify-self:start!important;max-width:100%;margin:4px 0 3px!important;overflow:hidden;font-size:18px!important;line-height:1.15!important;text-overflow:ellipsis;white-space:nowrap}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .stat-card small{grid-column:1;grid-row:3;max-width:100%;margin:0!important;overflow:hidden;color:#5f4a24!important;font-size:11px!important;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .secondhand-reconciliation-card{grid-column:span 2;display:grid;height:82px;min-height:82px!important;padding:0!important;grid-template-columns:minmax(108px,.66fr) minmax(0,1.34fr)!important;grid-template-rows:minmax(0,1fr)!important;align-content:stretch;align-items:stretch;border-color:#c9ddd4;background:#fff8e9;box-shadow:0 3px 10px rgba(94,77,34,.08);overflow:hidden}
.secondhand-commission-summary-action{box-sizing:border-box;display:grid;width:100%;height:100%;min-width:0;padding:7px 10px;border:0;border-right:1px solid #c9ddd4;background:#eef7f3;color:inherit;font-family:inherit;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px;text-align:left;cursor:default}
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action p{grid-column:auto;grid-row:auto;margin:0!important;color:#315c4d;font-size:12px!important;font-weight:900;line-height:1.25}
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action small{display:block;grid-column:auto;grid-row:auto;margin-top:5px!important;color:#557469!important;font-size:11px!important;font-weight:800;line-height:1.25}
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action strong{grid-column:auto!important;grid-row:auto!important;justify-self:end!important;margin:0!important;color:#087a55;font-size:18px!important;line-height:1.15!important;white-space:nowrap}
.secondhand-unpaid-reminder{box-sizing:border-box;display:grid;width:calc(100% - 8px);height:calc(100% - 8px);min-width:0;margin:4px;padding:4px 8px;border:1px solid #d7b76f;border-radius:6px;background:#fffdf7;color:#73551f;font-family:inherit;font-size:11px;font-weight:900;line-height:1;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:3px 7px;text-align:left;cursor:pointer}
.secondhand-unpaid-reminder>span{grid-column:1;grid-row:1;display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 7px;border-radius:5px;background:#a67720;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}
.secondhand-unpaid-reminder>b{grid-column:2;grid-row:1;min-width:0;font-size:12px;font-weight:900;line-height:1.3;white-space:normal}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .secondhand-reconciliation-card .secondhand-unpaid-reminder>small{grid-column:1 / -1!important;grid-row:2!important;display:block;min-width:0;max-width:none!important;margin:0!important;overflow:visible!important;color:#73551f!important;font-size:12px!important;font-weight:800;line-height:1.3;white-space:normal!important;text-overflow:clip!important}
.secondhand-unpaid-reminder>i{grid-column:3;grid-row:1;font-size:17px;font-style:normal;font-weight:900;line-height:1}
.secondhand-unpaid-reminder:hover,.secondhand-unpaid-reminder:focus-visible{background:#fff8e9;color:#684b18;outline:none;box-shadow:0 0 0 2px rgba(166,119,32,.12)}

/* 二手未结件顶部只保留统计，移除未结佣金卡内重复的跳转提醒。 */
body:not(.employee-income-mode).unsettled-compact .unsettled-stats{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .secondhand-reconciliation-card{grid-column:auto;display:block;height:82px;min-height:82px!important;padding:0!important;overflow:hidden}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .secondhand-reconciliation-card .secondhand-commission-summary-action{height:100%;border-right:0}
body:not(.employee-income-mode).unsettled-compact .unsettled-stats .secondhand-reconciliation-card .secondhand-unpaid-reminder{display:none!important}

/* Wage calculation numbers: clearer rhythm and consistent accounting alignment. */
.payroll-compact .wage-calc-table{min-width:1350px}
.payroll-compact .wage-calc-table thead th{padding:9px 6px;font-size:11px;line-height:1.35;letter-spacing:0}
.payroll-compact .wage-calc-table tbody td{padding:9px 7px;vertical-align:middle;line-height:1.35;letter-spacing:0}
.payroll-compact .wage-calc-table tbody tr{height:64px}
.payroll-compact .wage-calc-table tbody td.calc-cell{padding-left:7px;padding-right:7px;color:#183f32;font-size:12px;font-weight:800;text-align:center!important;font-variant-numeric:tabular-nums;letter-spacing:0}
.payroll-compact .wage-calc-table tbody td:nth-child(n+3):not(:nth-child(4)){font-variant-numeric:tabular-nums;letter-spacing:0}
.payroll-compact .wage-calc-table .cell-input{height:31px;padding:0 7px;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:0}
.payroll-compact .wage-calc-table .deduction-detail-cell,.payroll-compact .wage-calc-table .unpaid-promotion-cell{min-height:40px;padding:6px 8px;line-height:1.25}
.payroll-compact .wage-calc-table .deduction-detail-cell b,.payroll-compact .wage-calc-table .unpaid-promotion-cell b,.payroll-compact .wage-calc-table .prior-settlement-cell b{font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:0}
.payroll-compact .wage-calc-table .deduction-detail-cell small,.payroll-compact .wage-calc-table .unpaid-promotion-cell small,.payroll-compact .wage-calc-table .prior-settlement-cell small{margin-top:4px;line-height:1.25}
.payroll-compact .wage-calc-table .promotion-transfer-cell,.payroll-compact .wage-calc-table .manual-tax-cell{padding:6px!important}
.payroll-compact .wage-calc-table .promotion-transfer-input,.payroll-compact .wage-calc-table .manual-tax-input{height:30px;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:0}
.negative-promotion-amount{color:#c62828!important;font-weight:900!important}
.payroll-compact .wage-calc-table th:nth-child(3),.payroll-compact .wage-calc-table td:nth-child(3){width:92px!important}
.payroll-compact .wage-calc-table th:nth-child(4),.payroll-compact .wage-calc-table td:nth-child(4){width:92px!important;padding-left:5px!important;padding-right:5px!important}
.payroll-compact .wage-calc-table th:nth-child(5),.payroll-compact .wage-calc-table td:nth-child(5){width:92px!important}
.payroll-compact .wage-calc-table th:nth-child(6),.payroll-compact .wage-calc-table td:nth-child(6){width:78px!important}
.payroll-compact .wage-calc-table th:nth-child(7),.payroll-compact .wage-calc-table td:nth-child(7){width:78px!important}
.payroll-compact .wage-calc-table th:nth-child(8),.payroll-compact .wage-calc-table td:nth-child(8){width:84px!important}
.payroll-compact .wage-calc-table th:nth-child(9),.payroll-compact .wage-calc-table td:nth-child(9){width:88px!important}
.payroll-compact .wage-calc-table th:nth-child(10),.payroll-compact .wage-calc-table td:nth-child(10){width:88px!important}
.payroll-compact .wage-calc-table th:nth-child(12),.payroll-compact .wage-calc-table td:nth-child(12){width:96px!important}
.payroll-compact .wage-calc-table th:nth-child(13),.payroll-compact .wage-calc-table td:nth-child(13){width:138px!important}
.payroll-compact .wage-calc-table td.commission-with-refund{padding-top:6px!important;padding-bottom:6px!important}
.commission-primary-amount{display:block;line-height:1.25;white-space:nowrap}
.refund-commission-note{display:block;margin-top:3px;color:#8a5b19;font-size:9px;font-weight:800;line-height:1.3;text-align:right;white-space:normal}
.refund-commission-note span,.refund-commission-note b{display:block;font-size:inherit;font-weight:inherit;line-height:inherit;white-space:nowrap}
.payroll-compact .wage-calc-table th:nth-child(1),.payroll-compact .wage-calc-table td:nth-child(1){width:110px!important}
.payroll-compact .wage-calc-table th:nth-child(2),.payroll-compact .wage-calc-table td:nth-child(2){width:135px!important}
.payroll-compact .wage-calc-table td:nth-child(4) .rate-box{width:100%;justify-content:center}
.payroll-compact .wage-calc-table td:nth-child(4) .rate-input{width:76px!important;min-width:76px!important;text-align:center!important}

/* Keep the payroll totals visible while the employee rows scroll. */
.payroll-compact .app-shell{height:100vh;min-height:0;overflow:hidden}
.payroll-compact .main{height:100vh;min-height:0;overflow:hidden}
.payroll-compact .sidebar{height:100vh;min-height:0;overflow-y:auto}
.payroll-compact .content{box-sizing:border-box;height:calc(100vh - 82px);overflow:hidden;display:flex;flex-direction:column;padding-bottom:14px}
.payroll-compact .content>.notice{flex:0 0 auto}
.payroll-compact .wage-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.payroll-compact .wage-panel>.panel-head,.payroll-compact .wage-panel>.promotion-transfer-audit{flex:0 0 auto}
.payroll-compact .wage-table-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce9e3;border-radius:8px;background:#fff}
.payroll-compact .wage-table-stage .salary-sheet-wrap{flex:1 1 auto;min-height:0;max-height:none!important;border:0!important;border-radius:0!important}
.payroll-compact .wage-total-dock{position:sticky;bottom:0;z-index:4;flex:0 0 50px;height:50px;overflow:hidden;border-top:1px solid #bdd9cc;background:#f8fbf9;box-shadow:0 -5px 12px rgba(20,66,49,.06)}
.payroll-compact .wage-total-track{display:grid;width:1353px;min-width:1353px;height:50px;grid-template-columns:110px 135px 92px 92px 92px 78px 78px 84px 88px 88px 182px 96px 138px;transform:translate3d(0,0,0);transform-origin:left center}
.payroll-compact .wage-total-track>*{box-sizing:border-box;display:flex;min-width:0;align-items:center;justify-content:center;padding:9px 6px;border-right:1px solid #e2ebe7;color:#31584a;font-size:14px;font-weight:900;line-height:1.2;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payroll-compact .wage-total-track .wage-total-label{grid-column:span 2;background:#eef6f2;color:#176247;font-size:12px;border-right:1px solid #d6e7df}
.payroll-compact .wage-total-track .wage-total-empty{color:transparent}
.payroll-compact .wage-total-track .wage-total-value[data-col="12"]{border-left:2px solid #8bc8ad;background:#d8f1e5;color:#057650}
.payroll-compact .wage-total-dock .reconcile-purple-focus{background:#f1eaff!important;color:#5d2c8e!important;box-shadow:inset 2px 0 0 #8a5bc2,inset -2px 0 0 #8a5bc2}

/* 店面月度收支 */
.cashflow-mode .top-actions .business-month-control,.cashflow-mode .top-actions .history-start-button,.cashflow-mode .top-actions .badge{display:none}
.cashflow-mode .content{padding-top:22px;overflow-x:hidden}.cashflow-shell{display:grid;gap:14px;min-width:0}.cashflow-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 2px 14px;border-bottom:1px solid #d9e7e0}.cashflow-header p{margin:0 0 4px;color:#0b8f63;font-size:11px;font-weight:900;letter-spacing:1.6px}.cashflow-header h3{margin:0;color:#173f31;font-size:24px;letter-spacing:0}.cashflow-header>div>span{display:block;margin-top:6px;color:#60766c;font-size:12px;font-weight:700}.cashflow-header label{display:grid;gap:5px;min-width:170px;color:#49675b;font-size:11px;font-weight:900}.cashflow-header input{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1px solid #a8cdbd;border-radius:7px;background:#fff;color:#0b5f45;font-size:14px;font-weight:900;outline:none}.cashflow-header input:focus{border-color:#087553;box-shadow:0 0 0 2px rgba(8,117,83,.12)}
.cashflow-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d9e7e0;border-radius:8px;background:#fff;overflow:hidden}.cashflow-summary>div{min-width:0;padding:14px 17px;border-right:1px solid #e1ebe6}.cashflow-summary>div:last-child{border-right:0}.cashflow-summary span,.cashflow-summary small{display:block;color:#647a70;font-size:11px;font-weight:800}.cashflow-summary strong{display:block;margin:7px 0 4px;color:#214c3c;font-size:22px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.cashflow-summary .income strong{color:#087553}.cashflow-summary .expense strong{color:#b24e3b}.cashflow-summary .balance strong{color:#236a88}.cashflow-summary .balance.negative strong{color:#b24e3b}
.cashflow-entry-panel,.cashflow-ledger{border:1px solid #d9e7e0;border-radius:8px;background:#fff}.cashflow-entry-panel{padding:15px 17px}.cashflow-entry-head,.cashflow-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.cashflow-entry-head h3,.cashflow-ledger-head h3{margin:0;color:#1d4939;font-size:16px;letter-spacing:0}.cashflow-entry-head p,.cashflow-ledger-head p{margin:3px 0 0;color:#70827a;font-size:11px;font-weight:700}.cashflow-entry-form{display:grid;grid-template-columns:118px 92px 132px minmax(160px,1.3fr) 120px 120px;gap:9px;align-items:end;margin-top:13px}.cashflow-entry-form label{display:grid;min-width:0;gap:5px;color:#49675b;font-size:11px;font-weight:900}.cashflow-entry-form input,.cashflow-entry-form select{box-sizing:border-box;width:100%;min-width:0;height:38px;padding:0 9px;border:1px solid #cbded5;border-radius:6px;background:#fff;color:#24483b;font-family:inherit;font-size:12px;font-weight:800;outline:none}.cashflow-entry-form input:focus,.cashflow-entry-form select:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.1)}.cashflow-note-field{grid-column:1/-2}.cashflow-save{grid-column:-2/-1;height:38px;border-radius:7px;font-size:12px}.cashflow-form-message{grid-column:1/-1;min-height:15px;margin:0;color:#aa4d3b;font-size:11px;font-weight:800}
.cashflow-readonly-notice{display:flex;align-items:center;gap:14px;padding:11px 15px;border:1px solid #b9d9ca;border-left:4px solid #0b8f63;border-radius:7px;background:#f0f9f5}.cashflow-readonly-notice span{flex:0 0 auto;color:#087553;font-size:13px;font-weight:900}.cashflow-readonly-notice p{margin:0;color:#315c4d;font-size:12px;font-weight:700;line-height:1.5}.cashflow-ledger{min-width:0;overflow:hidden}.cashflow-ledger-head{padding:14px 17px;border-bottom:1px solid #e2ece7}.cashflow-type-filter{display:flex;gap:5px;padding:3px;border:1px solid #d5e4dd;border-radius:7px;background:#f3f7f5}.cashflow-type-filter button{height:29px;padding:0 12px;border-radius:5px;background:transparent;color:#62776d;font-family:inherit;font-size:11px;font-weight:900}.cashflow-type-filter button.active{background:#fff;color:#087553;box-shadow:0 1px 4px rgba(30,75,58,.12)}
.cashflow-table-wrap{max-height:calc(100vh - 430px);min-height:170px;overflow-y:auto;overflow-x:hidden}.cashflow-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px}.cashflow-table th,.cashflow-table td{box-sizing:border-box;padding:9px 7px;border-bottom:1px solid #e5ede9;text-align:center;vertical-align:middle;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.cashflow-table th{position:sticky;top:0;z-index:3;background:#eef6f2;color:#3f6255;font-size:11px;font-weight:900;white-space:nowrap}.cashflow-table th:nth-child(1){width:78px}.cashflow-table th:nth-child(2){width:82px}.cashflow-table th:nth-child(3){width:140px}.cashflow-table th:nth-child(4),.cashflow-table th:nth-child(5){width:96px}.cashflow-table th:nth-child(6){width:84px}.cashflow-table th:nth-child(7){width:105px}.cashflow-table th.cashflow-recorder-column{width:102px}.cashflow-table th.cashflow-actions-column{width:92px}.cashflow-table tbody tr:hover td{background:#f8fbf9}.cashflow-table tbody tr.income{box-shadow:inset 3px 0 #0b8f63}.cashflow-table tbody tr.expense{box-shadow:inset 3px 0 #cc6959}.cashflow-item-cell{text-align:left!important}.cashflow-item-cell b{color:#21483a;font-size:12px;font-weight:900}.cashflow-income-column,.cashflow-income-amount{background:#f1faf6!important;color:#087553!important}.cashflow-expense-column,.cashflow-expense-amount{background:#fff5f2!important;color:#b24e3b!important}.cashflow-income-amount,.cashflow-expense-amount{font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.cashflow-note-cell{color:#64776e;text-align:left!important;white-space:nowrap}.cashflow-recorder-cell span,.cashflow-recorder-cell small{display:block}.cashflow-recorder-cell small{margin-top:2px;color:#677b72;font-size:10px;font-weight:700;white-space:nowrap}.cashflow-row-actions{display:flex;justify-content:center;gap:4px}.cashflow-row-actions button{height:26px;padding:0 7px;border:1px solid #c8ddd3;border-radius:5px;background:#fff;color:#087553;font-size:10px;font-weight:900}.cashflow-row-actions button.danger{border-color:#ead0ca;color:#a54b3e}.cashflow-table tfoot td{position:sticky;bottom:0;background:#f4f8f6;color:#345c4e;font-weight:900}.cashflow-empty{display:grid;place-items:center;gap:6px;min-height:180px;color:#667b71}.cashflow-empty b{font-size:14px}.cashflow-empty span{font-size:11px}.cashflow-loading{min-height:260px}.cashflow-loading .empty{padding:80px 20px}
@media(max-width:1050px){.cashflow-entry-form{grid-template-columns:repeat(4,minmax(0,1fr))}.cashflow-item-field{grid-column:span 2}.cashflow-note-field{grid-column:1/-2}}
@media(max-width:760px){.cashflow-mode{min-width:0}.cashflow-mode .app-shell{display:block;min-height:100vh;height:auto}.cashflow-mode .main{padding-bottom:24px}.cashflow-mode .content{padding:14px}.cashflow-header{align-items:flex-start;flex-direction:column}.cashflow-header label{width:100%}.cashflow-summary{grid-template-columns:1fr 1fr}.cashflow-summary>div:nth-child(2){border-right:0}.cashflow-summary>div:nth-child(-n+2){border-bottom:1px solid #e1ebe6}.cashflow-entry-form{grid-template-columns:1fr 1fr}.cashflow-entry-form label,.cashflow-item-field,.cashflow-note-field,.cashflow-save{grid-column:1/-1}.cashflow-table-wrap{max-height:none;overflow:visible}.cashflow-table{display:block}.cashflow-table thead,.cashflow-table tfoot{display:none}.cashflow-table tbody{display:grid;gap:9px;padding:10px}.cashflow-table tr{display:grid;grid-template-columns:1fr 1fr;padding:10px;border:1px solid #dce9e3;border-radius:7px}.cashflow-table td{display:grid;width:auto!important;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:5px 7px;border:0;text-align:left}.cashflow-table td::before{content:attr(data-label);color:#687d73;font-size:10px;font-weight:900}.cashflow-table td:empty{display:none}.cashflow-table td.cashflow-item-cell,.cashflow-table td.cashflow-note-cell,.cashflow-table td.cashflow-recorder-cell,.cashflow-table td:last-child{grid-column:1/-1}.cashflow-table .cashflow-note-cell{white-space:normal;overflow-wrap:anywhere}.cashflow-row-actions{justify-content:flex-start}.cashflow-ledger-head{align-items:flex-start;flex-direction:column}.cashflow-type-filter{width:100%}.cashflow-type-filter button{flex:1}}
@media(max-width:760px){.cashflow-mode .app-shell{min-width:0!important}.cashflow-mode .sidebar{position:fixed;left:0;right:0;bottom:0;z-index:50;width:auto;height:72px;padding:7px 10px;display:flex;flex-direction:row;align-items:center}.cashflow-mode .side-brand{display:none}.cashflow-mode .sidebar nav{display:flex;flex:1;flex-direction:row;justify-content:flex-start;gap:3px;overflow-x:auto;scrollbar-width:none}.cashflow-mode .sidebar nav::-webkit-scrollbar{display:none}.cashflow-mode .nav-btn{height:56px;min-width:58px;flex:0 0 58px;padding:4px 3px;text-align:center;font-size:11px}.cashflow-mode .nav-btn span{display:block;width:auto;margin-bottom:3px;font-size:17px}.cashflow-mode .side-user{width:48px;margin:0;padding:0;border:0;display:block;text-align:center}.cashflow-mode .side-user .avatar,.cashflow-mode .side-user div:nth-child(2){display:none}.cashflow-mode .side-user button{font-size:24px}.cashflow-mode .main{padding:0 0 84px;overflow:visible}.cashflow-mode .topbar{height:72px;padding:0 16px}.cashflow-mode .topbar h2{font-size:21px}.cashflow-mode .topbar .eyebrow,.cashflow-mode .refresh-btn{display:none}.cashflow-mode .top-actions .business-month-control,.cashflow-mode .top-actions .history-start-button,.cashflow-mode .top-actions .badge{display:none}.cashflow-mode .content{max-width:none}}

/* 店面收支左右双账栏 */
.cashflow-split-ledger{overflow:hidden}.cashflow-dual-ledger{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:14px;background:#f5f8f6}.cashflow-ledger-column{min-width:0;border:1px solid #d9e7e0;border-radius:7px;background:#fff;overflow:hidden}.cashflow-ledger-column>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #dce9e3}.cashflow-ledger-column>header div{display:flex;align-items:center;gap:8px}.cashflow-ledger-column>header span{font-size:16px;font-weight:900}.cashflow-ledger-column>header small{padding:2px 7px;border-radius:999px;font-size:10px;font-weight:900}.cashflow-ledger-column>header strong{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.cashflow-ledger-column.income>header{background:#edf8f3}.cashflow-ledger-column.income>header span,.cashflow-ledger-column.income>header strong{color:#087553}.cashflow-ledger-column.income>header small{background:#d8eee4;color:#09694c}.cashflow-ledger-column.expense>header{background:#fff2ef}.cashflow-ledger-column.expense>header span,.cashflow-ledger-column.expense>header strong{color:#ad4f3d}.cashflow-ledger-column.expense>header small{background:#f4dcd6;color:#954333}.cashflow-side-table-wrap{max-height:calc(100vh - 485px);min-height:170px;overflow-y:auto;overflow-x:hidden}.cashflow-side-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px}.cashflow-side-table th,.cashflow-side-table td{box-sizing:border-box;padding:9px 7px;border-bottom:1px solid #e6eeea;text-align:center;vertical-align:top;line-height:1.4}.cashflow-side-table th{position:sticky;top:0;z-index:2;background:#f7faf8;color:#456457;font-size:11px;font-weight:900;white-space:nowrap}.cashflow-side-table th:first-child{width:78px}.cashflow-side-table th:nth-child(3){width:100px}.cashflow-side-table th:last-child:not(:nth-child(3)){width:82px}.cashflow-side-table tbody tr:hover td{background:#fafcfb}.cashflow-side-detail{text-align:left!important;overflow:hidden}.cashflow-side-detail b,.cashflow-side-detail small,.cashflow-side-detail p,.cashflow-side-detail em{display:block;min-width:0}.cashflow-side-detail b{color:#21483a;font-size:12px;font-weight:900}.cashflow-side-detail small{margin-top:2px;color:#567064;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cashflow-side-detail p{margin:4px 0 0;color:#6d7f77;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cashflow-side-detail em{margin-top:3px;color:#7b8c84;font-size:10px;font-style:normal;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cashflow-side-amount{font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.cashflow-ledger-column.income .cashflow-side-amount{color:#087553}.cashflow-ledger-column.expense .cashflow-side-amount{color:#b24e3b}.cashflow-side-table tfoot td{position:sticky;bottom:0;background:#f3f7f5;color:#31594b;font-size:11px;font-weight:900;vertical-align:middle}.cashflow-side-table .cashflow-row-actions{flex-wrap:wrap;gap:3px}.cashflow-side-table .cashflow-row-actions button{height:25px;min-width:31px;padding:0 5px}.cashflow-side-empty{display:grid;place-items:center;min-height:170px;color:#71837b;font-size:12px;font-weight:800}
@media(min-width:761px){.cashflow-side-table tbody td{vertical-align:middle}.cashflow-side-detail{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;white-space:nowrap}.cashflow-side-main{justify-self:start;width:100%;min-width:0;overflow:hidden;text-align:left}.cashflow-side-detail b,.cashflow-side-detail small,.cashflow-side-detail p,.cashflow-side-detail em{display:block;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cashflow-side-detail b,.cashflow-side-detail p{width:100%}.cashflow-side-detail small{box-sizing:border-box;justify-self:center;max-width:112px;padding:2px 6px;border:1px solid #d4e2db;border-radius:999px;background:#eef5f1;color:#426458;line-height:1.2}.cashflow-side-detail em{justify-self:end;max-width:100%;text-align:right}}
@media(min-width:761px){.cashflow-side-table{font-size:12px}.cashflow-side-table th{font-size:12px}.cashflow-side-detail b{font-size:13px}.cashflow-side-detail small{font-size:11px;font-weight:850}.cashflow-side-detail p{font-size:11px}.cashflow-side-detail em{font-size:11px;font-weight:750}.cashflow-side-amount{font-size:13px}.cashflow-side-table tfoot td{font-size:12px}}
@media(min-width:761px){.cashflow-side-table th.cashflow-side-detail-column,.cashflow-side-table td.cashflow-side-detail{padding-right:14px}.cashflow-side-detail-heading,.cashflow-side-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr)}.cashflow-side-detail-heading{display:grid;align-items:center;gap:8px;min-width:0}.cashflow-side-detail-heading span,.cashflow-side-detail-heading b,.cashflow-side-detail-heading em{display:flex;min-width:0;margin:0;align-items:center;justify-content:center;overflow:hidden;color:#456457;font-size:11px;font-style:normal;font-weight:900;line-height:1.15;text-align:center;text-overflow:ellipsis}.cashflow-side-detail-heading span,.cashflow-side-detail-heading b{white-space:nowrap}.cashflow-side-detail-heading em{line-height:1;overflow:visible;white-space:normal}.cashflow-side-main{display:flex;justify-self:stretch;align-items:center;justify-content:center;flex-direction:column;text-align:center}.cashflow-side-detail small{display:flex;width:100%;max-width:112px;justify-self:center;align-items:center;justify-content:center;margin-right:0;text-align:center}.cashflow-side-detail>em{display:flex;justify-self:stretch;align-items:center;justify-content:center;margin-right:0;text-align:center}.cashflow-side-amount{padding-left:13px!important;border-left:1px solid #e2ebe7}.cashflow-side-table th:nth-child(3){padding-left:13px;border-left:1px solid #dce7e2}}
@media(min-width:761px) and (max-width:1199px){.cashflow-side-detail-heading,.cashflow-side-detail{grid-template-columns:minmax(0,.6fr) minmax(0,1.85fr) minmax(0,1fr);gap:6px}.cashflow-side-detail small{padding-left:2px;padding-right:2px}}
@media(max-width:560px){.cashflow-dual-ledger{grid-template-columns:1fr;padding:10px}.cashflow-side-table-wrap{max-height:none}.cashflow-side-table th:first-child{width:76px}.cashflow-side-table th:nth-child(3){width:94px}}
@media(max-width:760px){.cashflow-side-table-wrap{max-height:none;overflow:visible}.cashflow-side-table,.cashflow-side-table tbody{display:block}.cashflow-side-table thead,.cashflow-side-table tfoot{display:none}.cashflow-side-table tbody{padding:6px}.cashflow-side-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date amount" "detail amount" "actions actions";gap:2px 8px;padding:8px 7px;border-bottom:1px solid #e3ece7}.cashflow-side-table tbody td{display:block;width:auto!important;padding:2px 3px;border:0;min-width:0}.cashflow-side-table tbody td:nth-child(1){grid-area:date;color:#61766c;font-size:10px;font-weight:800;text-align:left}.cashflow-side-table tbody td:nth-child(2){grid-area:detail}.cashflow-side-table tbody td:nth-child(3){grid-area:amount;align-self:center;text-align:right}.cashflow-side-table tbody td:nth-child(4){grid-area:actions}.cashflow-side-table .cashflow-row-actions{justify-content:flex-start;margin-top:3px}.cashflow-side-detail b{white-space:normal}.cashflow-side-detail small,.cashflow-side-detail p,.cashflow-side-detail em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* Company profit workspace */
.company-profit-mode .main,.company-profit-mode .content{min-width:0;overflow-x:hidden}
.company-profit-mode .content{padding-bottom:28px}
.company-profit-shell{width:100%;max-width:1360px;min-width:0;margin:0 auto;overflow-x:hidden}
.company-profit-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.company-profit-header h3{margin:2px 0 5px;font-size:24px;color:#16324f}
.company-profit-header span{color:#64748b;font-size:13px}
.company-profit-header label{display:flex;align-items:center;gap:9px;color:#475569;font-size:12px;font-weight:700}
.company-profit-header select{min-width:132px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;padding:9px 10px;color:#1f2937;font-weight:700}
.company-profit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.company-profit-kpis>div{border:1px solid #dbe5ef;border-radius:8px;background:#fff;padding:14px 16px;box-shadow:0 2px 8px rgba(22,50,79,.05)}
.company-profit-kpis span{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:5px}
.company-profit-kpis b{display:block;color:#16324f;font-size:22px;line-height:1.2;letter-spacing:.2px}
.company-profit-kpis .profit-kpi-net{background:#edf8f0;border-color:#b9ddc2}
.company-profit-kpis .profit-kpi-net b{color:#176b39}
.company-profit-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.8fr);gap:16px;align-items:stretch;min-width:0}
.company-profit-table-panel,.company-profit-side>.panel{min-width:0;border:1px solid #dbe5ef;box-shadow:0 2px 8px rgba(22,50,79,.04)}
.company-profit-table-panel{display:flex;min-height:0;flex-direction:column}
.company-profit-side{display:flex;min-width:0;min-height:100%;flex-direction:column;gap:16px}
.company-profit-side>.company-profit-records{display:flex;flex:1 1 auto;min-width:0;min-height:260px;flex-direction:column}
.company-profit-table-wrap{min-width:0;max-width:100%;max-height:calc(100vh - 390px);overflow-x:hidden;overflow-y:auto}
.company-profit-table{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed}
.company-profit-table th,.company-profit-table td{box-sizing:border-box;border-bottom:1px solid #e5ebf1;padding:10px 12px;vertical-align:middle;overflow-wrap:anywhere}
.company-profit-table tbody td:nth-child(3){white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.55}
.company-profit-table thead th{background:#eaf2fb;color:#16324f;font-size:12px;text-align:left}
.company-profit-table thead th:nth-child(1){width:26%}.company-profit-table thead th:nth-child(2){width:28%;text-align:right}.company-profit-table thead th:nth-child(3){width:46%}
.company-profit-table tbody th{color:#1f2937;font-size:13px;text-align:left}.company-profit-table tbody td{color:#334155;font-size:13px}.company-profit-table tbody td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums;color:#16324f;font-weight:700}.company-profit-table tbody tr:nth-child(even){background:#fbfdff}
.company-profit-table .profit-net-row{background:#edf8f0}.company-profit-table .profit-net-row th,.company-profit-table .profit-net-row td{border-top:2px solid #82bf91;border-bottom:0}.company-profit-table .profit-net-row th,.company-profit-table .profit-net-row td:nth-child(2){color:#176b39;font-size:14px;font-weight:800}
.company-profit-table .profit-rate-row{background:#f3f7fb}.company-profit-table .profit-rate-row th,.company-profit-table .profit-rate-row td:nth-child(2){color:#16324f;font-size:14px;font-weight:800}
.company-profit-manual-row{background:#fffaf0!important}.company-profit-manual-input{width:100%;box-sizing:border-box;border:1px solid #e6b85c;border-radius:5px;padding:6px 7px;text-align:right;color:#16324f;font-size:13px;font-weight:700;background:#fffdf7}.company-profit-manual-input:focus{outline:2px solid rgba(230,184,92,.35);border-color:#c78b18}
.company-profit-note-editor{display:flex;min-width:0;flex-direction:column;gap:3px}.company-profit-note-editor[hidden]{display:none}.company-profit-note-editor input{box-sizing:border-box;width:100%;height:32px;min-width:0;padding:5px 8px;border:1px solid #cbd8d2;border-radius:5px;background:#fff;color:#334155;font-size:12px;font-weight:700;outline:none}.company-profit-note-editor input::placeholder{color:#96a59e;font-size:11px;font-weight:700}.company-profit-note-editor input:focus{border-color:#6f91b5;box-shadow:0 0 0 2px rgba(111,145,181,.14)}.company-profit-note-editor small{color:#a15a28;font-size:10px;font-weight:800;line-height:1.35}.company-profit-saved-note{display:block;color:#475569;font-size:12px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.company-profit-insurance-editor{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;padding:1px 0 2px;white-space:nowrap}.company-profit-insurance-editor .company-profit-manual-input{width:66px;min-width:0;padding:6px 7px;font-size:12px}.company-profit-insurance-editor .company-profit-insurance-amount{width:96px}.company-profit-insurance-editor>b{color:#a15a28;font-size:13px;line-height:1;text-align:center}.company-profit-insurance-editor>small{color:#6b7d75;font-size:10px;font-weight:800;white-space:nowrap}.company-profit-insurance-label{color:#8b6b3f;font-size:11px;font-weight:900;white-space:nowrap}.company-profit-manual-input.is-required{border:2px solid #dc5d46;background:#fff3ef;box-shadow:0 0 0 3px rgba(220,93,70,.1)}.company-profit-manual-input.is-optional{border-color:#cbd8d2;background:#fff}.company-profit-manual-input.is-optional::placeholder{color:#96a59e;font-size:11px;font-weight:700}.publish-manual-check{background:#fffaf0;border-color:#e6c57a}.publish-manual-check .badge.draft{background:#fff0cf;color:#8a5b12}.publish-feedback{min-height:18px;margin:3px 0 0;color:#b4453e;font-size:12px;font-weight:800}

/* 审核发布缺项强提醒与财务全局待办 */
.finance-profit-reminder{box-sizing:border-box;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;margin:0 0 16px;padding:14px 16px;border:2px solid #e36a4e;border-radius:14px;background:linear-gradient(105deg,#fff1ec 0,#fff9f2 100%);box-shadow:0 9px 24px rgba(174,62,37,.13);color:#6f281c;flex:0 0 auto}.finance-profit-reminder-icon,.publish-blocking-alert-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d94f36;color:#fff;font-size:23px;font-weight:1000;box-shadow:0 5px 13px rgba(183,62,39,.24)}.finance-profit-reminder-copy{min-width:0}.finance-profit-reminder-copy>span{display:block;margin-bottom:3px;color:#b43d27;font-size:11px;font-weight:1000;letter-spacing:.6px}.finance-profit-reminder-copy>b{display:block;color:#7b2d20;font-size:16px;line-height:1.35}.finance-profit-reminder-copy p{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 3px}.finance-profit-reminder-copy em,.publish-missing-items span{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid #efb3a4;border-radius:999px;background:#fff;color:#a43d2a;font-size:11px;font-style:normal;font-weight:900}.finance-profit-reminder-copy small{color:#8a5c51;font-size:11px;font-weight:750}.finance-profit-reminder>button,.publish-blocking-alert>button{height:40px;padding:0 16px;border-radius:9px;background:#c7432c;color:#fff;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 5px 12px rgba(155,49,31,.2)}.finance-profit-reminder>button:hover,.publish-blocking-alert>button:hover{background:#a93422}
.publish-manual-check.is-blocked{border:2px solid #e47655;background:linear-gradient(110deg,#fff1eb,#fffaf4);box-shadow:0 8px 20px rgba(190,75,43,.1)}.publish-manual-check.is-complete{background:#f4fbf7;border-color:#a8d7bd}.publish-manual-copy>b{color:#7a2b1d;font-size:17px}.publish-manual-check.is-complete .publish-manual-copy>b{color:#176944}.publish-missing-items{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.publish-manual-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.publish-profit-link{height:40px;border-color:#cf5138;background:#fff;color:#a83c28}.publish-profit-link:hover{background:#fff2ed}.publish-manual-check .badge.draft{background:#d94f36;color:#fff;box-shadow:0 4px 10px rgba(164,53,33,.18)}.publish-blocking-alert{display:none;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;margin:14px 0 0;padding:15px 17px;border:2px solid #ca3e2b;border-radius:14px;background:#ffe9e3;color:#70261b;box-shadow:0 10px 24px rgba(170,48,28,.16)}.publish-blocking-alert.is-visible{display:grid}.publish-blocking-alert b{display:block;font-size:17px;line-height:1.35}.publish-blocking-alert p{margin:5px 0 0;color:#8e4133;font-size:12px;font-weight:800;line-height:1.6}.publish-blocking-alert:focus{outline:3px solid rgba(202,62,43,.2);outline-offset:2px}.publish-blocking-alert.is-shaking{animation:publish-alert-shake .42s ease-in-out}.publish-action-button.is-blocked{background:#c48f32}.publish-action-button.is-blocked:hover{background:#ac761d}.publish-action-box{border-style:solid}@keyframes publish-alert-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
@media(max-width:760px){.finance-profit-reminder,.publish-blocking-alert{grid-template-columns:36px minmax(0,1fr);padding:12px}.finance-profit-reminder-icon,.publish-blocking-alert-icon{width:32px;height:32px;font-size:19px}.finance-profit-reminder>button,.publish-blocking-alert>button{grid-column:1/-1;width:100%}.publish-manual-check{grid-template-columns:1fr}.publish-manual-actions{justify-content:flex-start}.publish-manual-actions .publish-profit-link{flex:1}.publish-action-box{grid-template-columns:1fr}.publish-action-button{width:100%}}
.company-profit-ledger-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0 14px 15px}.company-profit-ledger-summary>div{background:#fff7f4;border:1px solid #f0c8bd;border-radius:7px;padding:12px}.company-profit-ledger-summary span,.company-profit-ledger-summary small{display:block;color:#64748b;font-size:11px}.company-profit-ledger-summary b{display:block;margin:3px 0;color:#16324f;font-size:18px}.company-profit-ledger-summary .expense-text{color:#b4533f}
.company-profit-expense-summary{box-sizing:border-box;padding:0 14px 10px}
.company-profit-expense-summary .panel-head{margin-bottom:7px;min-height:32px}
.company-profit-expense-summary .panel-head h3{color:#7f4035;font-size:15px;font-weight:900}
.company-profit-expense-summary .panel-head .ghost{height:30px;padding:0 11px;border:1px solid #e2b6ab;border-radius:6px;background:#fff7f4;color:#934536;font-size:11px;font-weight:900;white-space:nowrap}
.company-profit-expense-summary .panel-head .ghost:hover{border-color:#c98a7d;background:#fff0ec}
.company-profit-expense-total{box-sizing:border-box;display:flex;align-items:baseline;justify-content:space-between;min-width:0;gap:12px;padding-top:7px;border-top:1px solid #f0d8d1}
.company-profit-expense-total>div{display:flex;align-items:baseline;min-width:0;gap:9px}
.company-profit-expense-total span{color:#8b6b65;font-size:11px;font-weight:700}
.company-profit-expense-total b{color:#b24e3b;font-size:19px;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.company-profit-expense-total small{flex:0 0 auto;color:#8b6b65;font-size:11px;font-weight:700;white-space:nowrap}
.company-profit-records ul{list-style:none;flex:1;min-width:0;min-height:180px;margin:0 14px 16px;padding:0;max-height:none;overflow-x:hidden;overflow-y:auto;border:1px solid #e2e8f0;border-radius:7px}.company-profit-records li{display:flex;min-width:0;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid #edf1f5;color:#475569;font-size:12px}.company-profit-records li:last-child{border-bottom:0}.company-profit-records li span{min-width:0;overflow-wrap:anywhere}.company-profit-records li b{flex:0 0 auto;white-space:nowrap;color:#16324f}.company-profit-records li.empty{display:block;color:#94a3b8;text-align:center}.company-profit-source{margin:14px 2px 0;color:#64748b;font-size:11px;line-height:1.5}
@media (max-width:900px){.company-profit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.company-profit-grid{grid-template-columns:1fr}.company-profit-side{min-height:0}.company-profit-side>.company-profit-records{min-height:260px}.company-profit-table-wrap{max-height:none;overflow:visible}.company-profit-header{align-items:flex-start;flex-direction:column;gap:10px}}
@media (max-width:520px){.company-profit-kpis{grid-template-columns:1fr}.company-profit-header h3{font-size:21px}.company-profit-table th,.company-profit-table td{padding:8px 7px}.company-profit-table thead th:nth-child(3){width:38%}.company-profit-table thead th:nth-child(2){width:31%}}
@media (max-width:900px){.company-profit-expense-summary{padding:12px 14px}.company-profit-expense-summary .panel-head{margin-bottom:9px}.company-profit-expense-total{padding-top:8px}}

/* 公司利润页：三项核心指标、年度汇总和入口按钮保持紧凑清晰。 */
.company-profit-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.company-profit-kpis>div{padding:12px 14px}
.company-profit-kpis b{font-size:21px}
.company-profit-detail-head{margin-top:2px;margin-bottom:8px;min-height:36px}
.company-profit-detail-head .toolbar{display:flex;align-items:center;gap:9px}
.company-profit-save-status{display:inline-flex;align-items:center;height:28px;padding:0 9px;border-radius:999px;background:#eef7f1;color:#28734a;font-size:11px;font-weight:800;white-space:nowrap}
.company-profit-year-summary{flex:0 0 auto;margin:10px 0 0;border:1px solid #dbe5ef;border-radius:8px;background:#f8fbff;overflow:hidden}
.company-profit-year-summary-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;background:#eef5fc;border-bottom:1px solid #dbe5ef}
.company-profit-year-summary-head h3{margin:0;color:#16324f;font-size:16px}
.company-profit-year-summary-head p{margin:4px 0 0;color:#64748b;font-size:12px}
.company-profit-year-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;max-width:62%}
.company-profit-year-summary-actions>span{color:#315b84;font-size:12px;font-weight:900;line-height:1.45;text-align:right;white-space:normal}
.company-profit-year-export{flex:0 0 auto;height:32px;padding:0 13px;border:1px solid #5d85b5;border-radius:7px;background:#edf5ff;color:#245789;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.company-profit-year-export:hover{background:#dfeeff;border-color:#3f6f9f;transform:translateY(-1px)}
.company-profit-year-table-wrap{max-height:132px;overflow-y:auto;overflow-x:hidden}
.company-profit-year-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}
.company-profit-year-table th,.company-profit-year-table td{padding:7px 11px;border-bottom:1px solid #e5ebf1;text-align:right;font-variant-numeric:tabular-nums}
.company-profit-year-table th:first-child,.company-profit-year-table td:first-child{text-align:left;width:18%}
.company-profit-year-table thead th{position:sticky;top:0;z-index:2;background:#f4f8fd;color:#506b88;font-size:12px}
.company-profit-year-table tbody th{color:#334155;font-weight:800}
.company-profit-year-table tbody td{color:#16324f;font-weight:700}
.company-profit-year-month-row{cursor:pointer;transition:background .15s,box-shadow .15s}
.company-profit-year-month-row:hover th,.company-profit-year-month-row:hover td{background:#e8f2fc;color:#174f80}
.company-profit-year-month-row:focus{outline:none;box-shadow:inset 0 0 0 2px #6f91b5}
.company-profit-year-month-row:focus th,.company-profit-year-month-row:focus td{background:#e8f2fc;color:#174f80}
.company-profit-year-month-row.is-current-month th,.company-profit-year-month-row.is-current-month td{background:#fff4d8;color:#7a4b08;box-shadow:inset 0 1px #e9bd62,inset 0 -1px #e9bd62}
.company-profit-year-month-row.is-current-month th:first-child{box-shadow:inset 4px 0 #d6961f,inset 0 1px #e9bd62,inset 0 -1px #e9bd62}
.company-profit-year-month-row th small{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;background:#d6961f;color:#fff;font-size:10px;font-weight:900;vertical-align:1px;white-space:nowrap}
.company-profit-year-table .is-empty th,.company-profit-year-table .is-empty td{color:#a1adba;font-weight:500}
.company-profit-year-table .year-total-row th,.company-profit-year-table .year-total-row td{position:sticky;bottom:0;background:#e9f6ed;color:#176b39;font-weight:900;border-top:2px solid #82bf91;border-bottom:0}
.company-profit-full-ledger-button{height:30px;padding:0 12px;border:1px solid #8b6ad9;border-radius:7px;background:#f2edff;color:#6042a3;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.company-profit-full-ledger-button:hover{background:#e8ddff;border-color:#6d4bc2;transform:translateY(-1px)}
.company-profit-expense-summary .panel-head h3{margin:0}
.company-profit-year-details{flex:0 0 auto;margin-top:10px;scroll-margin-top:18px;border:1px solid #cdbcf5;border-radius:8px;background:#fbf9ff;box-shadow:0 2px 8px rgba(96,66,163,.08)}
.company-profit-year-details>summary{padding:12px 15px;color:#4d347e;font-size:15px;font-weight:900;cursor:pointer;list-style:none;letter-spacing:.1px}
.company-profit-year-details>summary{display:flex;align-items:center;gap:14px;min-width:0}
.company-profit-year-details>summary>span:first-child{flex:0 0 auto}
.company-profit-year-reference{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0;margin-left:auto;color:#4d347e;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.company-profit-year-reference b{padding:3px 7px;border-radius:999px;background:#ddceff;color:#4d2e8b;font-size:11px;white-space:nowrap}
.company-profit-year-reference i{font-style:normal;white-space:nowrap}
.company-profit-year-details>summary::-webkit-details-marker{display:none}
.company-profit-year-details>summary::before{content:'＋';display:inline-grid;place-items:center;width:19px;height:19px;margin-right:7px;border-radius:50%;background:#e6dcff;color:#5b3b9b;font-size:15px;font-weight:900;vertical-align:-3px}
.company-profit-year-details[open]>summary{color:#43286f;border-bottom:1px solid #cdbcf5;background:#f4efff}
.company-profit-year-details[open]>summary::before{content:'−';background:#ddceff;color:#4d2e8b}
.company-profit-year-details .company-profit-year-summary{margin:0;border:0;border-radius:0}
.company-profit-year-details .company-profit-year-summary-head{border-radius:0}
.company-profit-year-details[open] .company-profit-year-table-wrap{max-height:none!important;overflow:visible}
.company-profit-header-title{display:flex;align-items:center;gap:10px;min-width:0}
.company-profit-header-title>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff1cc;color:#7a4b08;font-size:11px;font-weight:900;white-space:nowrap}
.company-profit-annual-reconcile{border:1px solid #cdbcf5;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(76,52,126,.1);overflow:hidden}
.company-profit-annual-reconcile-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;background:#f4efff;border-bottom:1px solid #cdbcf5}
.company-profit-annual-reconcile-head>div{min-width:0}
.company-profit-annual-reconcile-head span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#5d3c9a;color:#fff;font-size:10px;font-weight:900;vertical-align:2px}
.company-profit-annual-reconcile-head h3{display:inline;margin:0 0 0 8px;color:#43286f;font-size:18px;font-weight:900}
.company-profit-annual-reconcile-head p{margin:5px 0 0;color:#6b5b83;font-size:12px;font-weight:700}
.company-profit-annual-reconcile-head button{flex:0 0 auto;height:31px;padding:0 11px;border:1px solid #9275c9;border-radius:7px;background:#fff;color:#513484;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.company-profit-annual-reconcile-head button:hover{background:#ebe2ff}
.company-profit-annual-reconcile-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:14px;background:#fbf9ff}
.company-profit-annual-reconcile-year,.company-profit-annual-reconcile-detail{min-width:0}
.company-profit-annual-reconcile-year .company-profit-year-summary{height:100%;margin:0}
.company-profit-annual-reconcile-detail .company-profit-table-panel{height:100%;padding:18px;margin:0}
.company-profit-annual-reconcile-detail .company-profit-kpis{gap:9px;margin-bottom:12px}
.company-profit-annual-reconcile-detail .company-profit-kpis>div{padding:10px 11px}
.company-profit-annual-reconcile-detail .company-profit-kpis b{font-size:18px}
.company-profit-annual-reconcile-detail .company-profit-detail-head{margin-bottom:9px}
.company-profit-annual-reconcile-detail .company-profit-table-wrap{max-height:520px;overflow-y:auto}
.company-profit-compare-panel{min-width:0;height:100%;overflow:hidden;border:1px solid #cdbcf5;border-radius:9px;background:#fff;box-shadow:0 3px 12px rgba(76,52,126,.1);display:flex;flex-direction:column}
.company-profit-compare-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:#f4efff;border-bottom:1px solid #cdbcf5}
.company-profit-compare-head>div{display:flex;align-items:center;gap:8px;min-width:0}
.company-profit-compare-head span{padding:3px 7px;border-radius:999px;background:#5d3c9a;color:#fff;font-size:10px;font-weight:900;white-space:nowrap}
.company-profit-compare-head b{color:#43286f;font-size:14px;white-space:nowrap}
.company-profit-compare-head button{height:29px;padding:0 10px;border:1px solid #9275c9;border-radius:7px;background:#fff;color:#513484;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.company-profit-compare-head button:hover{background:#ebe2ff}
.company-profit-compare-panel .company-profit-year-summary{flex:1 1 auto;min-height:0;margin:0;border:0;border-radius:0;display:flex;flex-direction:column}
.company-profit-compare-panel .company-profit-year-summary-head{flex:0 0 auto;display:block;padding:11px 13px}
.company-profit-compare-panel .company-profit-year-summary-head h3{font-size:15px}
.company-profit-compare-panel .company-profit-year-summary-head p{font-size:11px}
.company-profit-compare-panel .company-profit-year-summary-actions{width:100%;max-width:none;margin-top:8px;justify-content:space-between}
.company-profit-compare-panel .company-profit-year-summary-actions>span{text-align:left;font-size:11px}
.company-profit-compare-panel .company-profit-year-export{height:29px;padding:0 9px;font-size:11px}
.company-profit-compare-panel .company-profit-year-table-wrap{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden}
.company-profit-compare-panel .company-profit-year-table th,.company-profit-compare-panel .company-profit-year-table td{padding:7px 8px;font-size:12px}

@media (max-width:900px){
  .company-profit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .company-profit-year-summary-head{align-items:flex-start;flex-direction:column}
  .company-profit-year-summary-actions{width:100%;max-width:none;justify-content:flex-start}
  .company-profit-year-summary-actions>span{flex:1;text-align:left;white-space:normal}
  .company-profit-year-table-wrap{max-height:190px}
  .company-profit-header-title{align-items:flex-start;flex-direction:column;gap:6px}
  .company-profit-year-details>summary{align-items:flex-start;flex-direction:column;gap:7px}
  .company-profit-year-reference{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap;gap:6px 12px}
}
@media (max-width:520px){
  .company-profit-kpis{grid-template-columns:1fr}
  .company-profit-detail-head{align-items:flex-start;flex-direction:column;gap:8px}
  .company-profit-detail-head .toolbar{width:100%;justify-content:space-between}
}
/* Remove native number-field up/down steppers across the system. */
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type="number"]{-moz-appearance:textfield}

/* Company profit: fixed desktop workspace with aligned inner scroll areas. */
@media (min-width:901px){
  .company-profit-mode .app-shell{height:100vh;min-height:0;overflow:hidden}
  .company-profit-mode .main{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
  .company-profit-mode .content{box-sizing:border-box;height:calc(100vh - 104px);min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:20px 38px 24px}
  .company-profit-mode .company-profit-shell{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
  .company-profit-mode .company-profit-header,.company-profit-mode .company-profit-kpis{flex:0 0 auto}
  .company-profit-mode .company-profit-grid{display:grid;flex:1 1 auto;min-height:0;overflow:hidden;align-items:stretch}
  .company-profit-mode .company-profit-table-panel,
  .company-profit-mode .company-profit-side>.panel{margin-top:0}
  .company-profit-mode .company-profit-table-panel{height:100%;overflow:hidden}
  .company-profit-mode .company-profit-table-panel>.panel-head,
  .company-profit-mode .company-profit-records>.panel-head{flex:0 0 auto}
  .company-profit-mode .company-profit-table-wrap{flex:1 1 auto;min-height:0;height:auto;max-height:none!important;overflow-x:hidden;overflow-y:auto}
  .company-profit-mode .company-profit-table thead th{position:sticky;top:0;z-index:3;box-shadow:0 1px 0 #dbe5ef}
  .company-profit-mode .company-profit-table tbody tr:nth-last-child(2) th,
  .company-profit-mode .company-profit-table tbody tr:nth-last-child(2) td{position:sticky;bottom:42px;z-index:2;background:#edf8f0}
  .company-profit-mode .company-profit-table tbody tr:nth-last-child(1) th,
  .company-profit-mode .company-profit-table tbody tr:nth-last-child(1) td{position:sticky;bottom:0;z-index:2;background:#f3f7fb}
  .company-profit-mode .company-profit-side{height:100%;min-height:0;overflow:hidden;gap:12px}
  .company-profit-mode .company-profit-side>.company-profit-expense-summary{order:1;flex:0 0 auto;margin-top:0;border-top:2px solid #d58a78}
  .company-profit-mode .company-profit-side>.company-profit-records{order:2;flex:1 1 auto;min-height:0}
  .company-profit-mode .company-profit-side>.company-profit-expense-summary .panel-head{margin-bottom:7px}
  .company-profit-mode .company-profit-side>.company-profit-records{min-height:0}
  .company-profit-mode .company-profit-records{min-height:0;overflow:hidden}
  .company-profit-mode .company-profit-records ul{min-height:0;overflow-x:hidden;overflow-y:auto}
  .company-profit-mode .company-profit-records>.panel-head{position:sticky;top:0;z-index:3;background:#fff}
.company-profit-mode .company-profit-source{flex:0 0 auto}

  .company-profit-mode.company-profit-year-expanded .app-shell{height:100vh;min-height:0;overflow:hidden}
  .company-profit-mode.company-profit-year-expanded .main{height:100vh;min-height:0;overflow:hidden}
  .company-profit-mode.company-profit-year-expanded .content{height:calc(100vh - 76px);min-height:0;overflow-x:hidden;overflow-y:auto;display:block}
  .company-profit-mode.company-profit-year-expanded .company-profit-shell{display:block;overflow:visible}
  .company-profit-mode.company-profit-year-expanded .company-profit-grid{flex:none;overflow:visible}
  .company-profit-mode.company-profit-year-expanded .company-profit-table-panel,
  .company-profit-mode.company-profit-year-expanded .company-profit-side>.panel{height:auto;overflow:visible}
}

/* 公司利润页：页面级标题保留当前查看月份，顶部仅保留刷新与发布状态。 */
.company-profit-mode .topbar{height:76px;padding:0 28px}
.company-profit-mode .topbar>div:first-child,
.company-profit-mode .top-actions .history-start-button,
.company-profit-mode .top-actions .business-month-control{display:none}
.company-profit-mode .top-actions{margin-left:auto}
.company-profit-mode .content{height:calc(100vh - 76px);padding:24px 38px 26px}
.company-profit-mode .company-profit-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:0 2px}
.company-profit-mode .company-profit-header h3{margin:0;color:#16324f;font-size:25px;font-weight:900;letter-spacing:.2px}
.company-profit-mode .company-profit-header label{display:flex;align-items:center;gap:9px;color:#475569;font-size:12px;font-weight:900;white-space:nowrap}
.company-profit-mode .company-profit-header select{min-width:156px;height:36px;padding:0 10px;border:1px solid #b7c9dc;border-radius:7px;background:#fff;color:#1f2937;font-size:12px;font-weight:800;outline:none}
.company-profit-mode .company-profit-header select:focus{border-color:#6f91b5;box-shadow:0 0 0 2px rgba(111,145,181,.16)}
  .company-profit-mode .company-profit-grid{gap:22px}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-grid{grid-template-columns:minmax(0,1.25fr) minmax(390px,.9fr);gap:16px}
  .company-profit-mode.company-profit-reconcile-mode .content{height:calc(100vh - 76px);overflow-x:hidden;overflow-y:auto;display:block}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-shell{display:block;overflow:visible}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-annual-reconcile-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.company-profit-mode .company-profit-side{gap:18px}
.company-profit-mode .company-profit-table-panel,
.company-profit-mode .company-profit-side>.panel{padding:24px}
.company-profit-mode .company-profit-kpis{gap:14px;margin-bottom:18px}
.company-profit-mode .company-profit-kpis>div{padding:15px 16px}
.company-profit-mode .company-profit-detail-head{margin-bottom:12px}
.company-profit-mode .company-profit-records ul{margin-left:0;margin-right:0;margin-bottom:0}
  .company-profit-mode .company-profit-year-details{margin-top:18px}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-table-panel{padding:18px}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-kpis{gap:9px;margin-bottom:12px}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-kpis>div{padding:11px 12px}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-kpis b{font-size:18px}
@media(max-width:900px){
  .company-profit-mode .topbar{height:72px;padding:0 16px}
  .company-profit-mode .content{height:auto;min-height:calc(100vh - 72px);padding:18px 16px 24px;overflow:auto}
  .company-profit-mode .company-profit-header{align-items:flex-start;flex-direction:column;gap:10px}
  .company-profit-mode .company-profit-header label{width:100%;justify-content:space-between}
  .company-profit-mode .company-profit-header select{flex:1;min-width:0;max-width:260px}
  .company-profit-mode .company-profit-table-panel,
  .company-profit-mode .company-profit-side>.panel{padding:18px}
  .company-profit-mode .company-profit-grid{gap:16px}
  .company-profit-mode.company-profit-reconcile-mode .company-profit-grid{grid-template-columns:1fr}
  .company-profit-compare-panel{max-height:620px}
  .company-profit-annual-reconcile-grid{grid-template-columns:1fr}
  .company-profit-annual-reconcile-detail .company-profit-table-panel{height:auto}
}
@media(max-width:520px){
  .company-profit-mode .company-profit-header select{max-width:none}
}

/* 管理端收入与账号页面：固定外层视口，滚动只留在实际内容容器。 */
@media (min-width:901px){
  .groups-mode .content{
    box-sizing:border-box;
    height:calc(100vh - 76px);
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    padding:14px 28px 18px;
  }
  .groups-mode .content>.notice{
    flex:0 0 auto;
    margin-bottom:10px;
    padding:8px 12px;
    font-size:11px;
    line-height:1.4;
  }
  .groups-mode .content>.panel{
    margin-top:0;
    min-width:0;
  }
  .groups-mode .content>.panel:not(:last-child){
    flex:0 0 auto;
  }
  .groups-mode .content>.panel:last-child{
    flex:1 1 auto;
    min-height:0;
    margin-top:12px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .groups-mode .content>.panel:last-child>.panel-head{
    flex:0 0 auto;
    margin-bottom:10px;
  }
  .groups-mode .content>.panel:last-child>.table-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-x:auto;
    overflow-y:auto;
  }
  .groups-mode .group-grid{gap:10px}
  .groups-mode .group-card{padding:12px 14px}
  .groups-mode .group-card h4{font-size:14px}
  .groups-mode .people-table{min-width:0;table-layout:fixed}
  .groups-mode .people-table th,.groups-mode .people-table td{padding:8px 7px}
}

@media (max-width:900px){
  .groups-mode .content{overflow:auto}
}

@media (min-width:901px){
  .accounts-mode .content,
  .salary-income-compact .content{
    box-sizing:border-box;
    height:calc(100vh - 76px);
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .accounts-mode .content>.notice{
    flex:0 0 auto;
    margin-bottom:12px;
  }
  .accounts-mode .content>.accounts-panel{
    flex:1 1 auto;
    min-height:0;
    margin-top:0;
    overflow:hidden;
  }
  .accounts-mode .accounts-table-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .salary-income-compact .content{
    padding:14px 28px 18px;
  }
  .salary-income-compact .content>*{
    flex:0 0 auto;
    min-width:0;
  }
  .salary-income-compact .content>.notice{
    margin-bottom:10px;
    padding:8px 11px;
    font-size:11px;
    line-height:1.35;
  }
  .salary-income-compact .boss-income-viewer{
    gap:12px;
    margin-bottom:10px;
    padding:10px 14px;
    border-radius:8px;
  }
  .salary-income-compact .boss-income-viewer-copy{gap:8px}
  .salary-income-compact .boss-income-viewer-copy>span{padding:4px 7px;font-size:10px}
  .salary-income-compact .boss-income-viewer-copy h3{font-size:16px}
  .salary-income-compact .boss-income-viewer-copy p{font-size:10px}
  .salary-income-compact .boss-income-viewer-controls{gap:8px}
  .salary-income-compact .boss-income-period-select,
  .salary-income-compact .boss-income-person-select{font-size:13px}
  .salary-income-compact .boss-income-period-select select,
  .salary-income-compact .boss-income-person-select select{height:38px;font-size:14px}
  .salary-income-compact .boss-income-period-select small,
  .salary-income-compact .boss-income-person-select small{font-size:12px}
  .salary-income-compact .content>.salary-hero{
    margin-bottom:12px;
    padding:16px 18px;
    border-radius:10px;
  }
  .salary-income-compact .salary-hero p{margin:0 0 4px;font-size:11px}
  .salary-income-compact .salary-hero strong{font-size:30px}
  .salary-income-compact .salary-hero .salary-hero-person-name{margin:6px 0 0;font-size:16px;font-weight:900}
  .salary-income-compact .content>.panel:last-child{
    padding:14px;
  }
  .salary-income-compact .content>.panel:last-child>.panel-head{
    margin-bottom:8px;
  }
  .salary-income-compact .content>.panel:last-child>.panel-head h3{
    font-size:16px;
  }
  .salary-income-compact .salary-detail{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:8px;
  }
  .salary-income-compact .salary-detail .detail-row{
    padding:9px 11px;
    border-radius:8px;
  }
  .salary-income-compact .content>.panel:last-child{
    flex:1 1 auto;
    min-height:0;
    margin-top:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .salary-income-compact .content>.panel:last-child>.salary-detail,
  .salary-income-compact .content>.panel:last-child>.employee-history-list{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    align-content:start;
  }
}

/* 未结件明细与表头保持固定八列，避免动态删列造成上下错位。 */
.unsettled-compact .unsettled-priority-table{width:100%!important;min-width:980px!important;table-layout:fixed!important}
.unsettled-compact .unsettled-priority-table th:nth-child(1),.unsettled-compact .unsettled-priority-table td:nth-child(1){width:27%!important;min-width:0!important;max-width:none!important;text-align:left!important}
.unsettled-compact .unsettled-priority-table th:nth-child(2),.unsettled-compact .unsettled-priority-table td:nth-child(2){width:10%!important;min-width:0!important;max-width:none!important;text-align:left!important}
.unsettled-compact .unsettled-priority-table th:nth-child(3),.unsettled-compact .unsettled-priority-table td:nth-child(3){width:10%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.unsettled-compact .unsettled-priority-table th:nth-child(4),.unsettled-compact .unsettled-priority-table td:nth-child(4){width:14%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.unsettled-compact .unsettled-priority-table th:nth-child(5),.unsettled-compact .unsettled-priority-table td:nth-child(5){width:11%!important;min-width:0!important;max-width:none!important;text-align:right!important}
.unsettled-compact .unsettled-priority-table th:nth-child(6),.unsettled-compact .unsettled-priority-table td:nth-child(6){width:9%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.unsettled-compact .unsettled-priority-table th:nth-child(7),.unsettled-compact .unsettled-priority-table td:nth-child(7){width:10%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.unsettled-compact .unsettled-priority-table th:nth-child(8),.unsettled-compact .unsettled-priority-table td:nth-child(8){width:9%!important;min-width:0!important;max-width:none!important;text-align:center!important}
.unsettled-compact .unsettled-panel{padding:14px 16px 15px}
.unsettled-compact .unsettled-panel .panel-head{gap:16px;margin-bottom:11px;align-items:flex-start}
.unsettled-compact .unsettled-panel .panel-head>div:first-child{min-width:0;padding-top:2px}
.unsettled-compact .unsettled-panel .panel-head h3{line-height:1.3}
.unsettled-compact .unsettled-panel .small-note{margin-top:5px;line-height:1.4}
.unsettled-compact .unsettled-filter-toolbar{column-gap:9px;row-gap:8px;align-content:center}
.unsettled-compact .unsettled-filter-toolbar .filter-select,.unsettled-compact .unsettled-filter-toolbar button{box-sizing:border-box}
.unsettled-compact .unsettled-table-wrap{border-radius:8px}
.unsettled-compact .unsettled-priority-table{min-width:0!important;width:100%!important}
.unsettled-compact .unsettled-priority-table th,.unsettled-compact .unsettled-priority-table td{padding:8px 8px;line-height:1.4}
.unsettled-compact .unsettled-priority-table th{height:38px;font-size:11px;font-weight:900;line-height:1.3;white-space:normal}
.unsettled-compact .unsettled-priority-table td{font-size:12px}
.unsettled-compact .unsettled-priority-table td:first-child{line-height:1.45}
.unsettled-compact .unsettled-priority-table td:first-child b{line-height:1.45}
.unsettled-compact .unsettled-priority-table tbody tr:hover td{background:#f8fcfa}
.unsettled-compact .unsettled-priority-table .unsettled-actions{padding-left:7px;padding-right:7px}
.unsettled-compact .unsettled-priority-table .settlement-action-stack{gap:6px}

/* 往期结件：表头是唯一明细入口，表内金额只负责对齐显示。20261011-1381：改蓝色系，与员工收入页往期结件行（#366e94）统一 */
.wage-calc-table .prior-settlement-header-link{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;min-height:25px;margin:0;padding:2px 7px;border:1px solid #397ca8;border-radius:5px;background:#e3eef7;color:#1d5e86;font-family:inherit;font-size:13px;font-weight:900;line-height:1.25;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.wage-calc-table .prior-settlement-header-link:hover,.wage-calc-table .prior-settlement-header-link:focus-visible{border-color:#1d5e86;background:#cfe2f0;color:#14496a;box-shadow:0 0 0 2px rgba(29,94,134,.18);outline:none}
.wage-calc-table .prior-settlement-cell-wrap{display:block;width:100%;min-width:0}
.wage-calc-table .prior-settlement-cell{display:flex;box-sizing:border-box;width:100%;min-width:0;min-height:28px;align-items:center;justify-content:center;margin:0;padding:3px 4px;border:1px solid #a8c4d8;border-left:3px solid #5d92b8;border-radius:5px;background:#f2f8fc;color:#1d5e86;font-family:inherit;text-align:center;cursor:default;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.wage-calc-table .prior-settlement-cell b{display:block;color:#1d5e86;font-size:12px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:0}
 .payroll-compact .wage-calc-table .prior-settlement-cell{min-height:28px;padding:3px 4px}
.payroll-compact .wage-calc-table .prior-settlement-cell b{font-size:12px!important;font-weight:800!important;color:#1d5e86!important}
.wage-calc-table th.prior-settlement-column-head{background:#e6f0f8;color:#085a8c;font-size:13px;font-weight:900}
/* 未发推广费：表头按钮砖红（老板 2026-10-11 拍板方案A），欠款警示感最强，与蓝往期结件一眼分开 */
.wage-calc-table .unpaid-promotion-header-link{border-color:#c0564f;background:#fbe4e2;color:#8f2f2a}
.wage-calc-table .unpaid-promotion-header-link:hover,.wage-calc-table .unpaid-promotion-header-link:focus-visible{border-color:#a03f39;background:#f6d2ce;color:#75231f;box-shadow:0 0 0 2px rgba(192,86,79,.2)}

/* 工作台统一为固定视口；页面外层不滚动，内容在工作区内滚动。 */
@media (min-width:901px){
  html,body{height:100%;overflow:hidden}
  body{min-height:100vh}
  .app-shell{height:100vh;min-height:0;overflow:hidden}
  .sidebar{min-height:0}
  .sidebar nav{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden}
  .sidebar nav .nav-btn{flex:0 0 44px}
  .main{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
  .topbar{flex:0 0 auto}
  body:not(.employee-mode):not(.manager-mode) .topbar{height:76px;padding:0 28px}
  body:not(.employee-mode):not(.manager-mode) .topbar>div:first-child{display:none}
  body:not(.employee-mode):not(.manager-mode) .top-actions{margin-left:auto}
  .content{flex:1 1 auto;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c5d5cd transparent}
  .content::-webkit-scrollbar{width:8px;height:8px}
  .content::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#c5d5cd;background-clip:padding-box}
  .content::-webkit-scrollbar-track{background:transparent}
  .top-actions .history-start-button{display:none!important}
  .admin-dashboard-stats{margin-bottom:16px}
  .admin-dashboard-stats .stat-card{padding:17px 18px}
  .admin-dashboard-stats .stat-card strong{margin:9px 0 4px}
  .admin-dashboard-stats .stat-card small{color:#697a72}
  .admin-dashboard-stats .stat-card:last-child small{color:#697a72}
  .dashboard .group-card{min-height:0}
}

/* 历史工资从左侧入口进入，顶栏不重复占位。 */
.top-actions .history-start-button{display:none!important}
.dashboard-month-start-action{min-width:154px;white-space:nowrap}
@media(max-width:760px){.dashboard-month-start-action{width:100%;min-width:0}}
/* Routine status feedback stays in the page instead of interrupting with a browser dialog. */
.app-inline-feedback{position:fixed;left:50%;top:18px;right:auto;bottom:auto;z-index:1600;box-sizing:border-box;max-width:min(460px,calc(100vw - 44px));padding:10px 14px;border:1px solid #b8d4c5;border-left:4px solid #16805a;border-radius:7px;background:#f5fbf7;color:#245c48;font-size:12px;font-weight:800;line-height:1.45;white-space:pre-line;box-shadow:0 7px 22px rgba(24,66,48,.16);opacity:0;transform:translate(-50%,-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.app-inline-feedback.is-visible{opacity:1;transform:translate(-50%,0)}
.app-inline-feedback[data-tone=warning]{border-color:#d9c58f;border-left-color:#a67720;background:#fffdf5;color:#73551f}
.app-inline-feedback[data-tone=error]{border-color:#e5bdb4;border-left-color:#b24e3b;background:#fff7f5;color:#8d3f32}
@media(max-width:760px){.app-inline-feedback{left:12px;right:12px;top:12px;bottom:auto;max-width:calc(100vw - 24px);transform:translateY(-8px)}.app-inline-feedback.is-visible{transform:translateY(0)}}

/* Pending ledger entries remain visible in performance reconciliation without entering payroll yet. */
.adjustment-entry.has-pending-ledger{border-color:#c2a05e;background:#fffaf0;color:#8a641b}
.adjustment-entry.has-pending-ledger:hover{border-color:#a47a29;background:#fff5dc}
.adjustment-entry .adjustment-pending-summary{max-width:118px;color:#9a6d16;font-size:10px;font-weight:900;line-height:1.35;white-space:normal}
.adjustment-entry.has-adjustment .adjustment-pending-summary{border-top:1px solid rgba(164,122,41,.22);padding-top:2px}
.performance-pending-ledger-notice{box-sizing:border-box;display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:9px 0 2px;padding:9px 10px 9px 12px;border:1px solid #d69a31;border-radius:9px;background:#fff5dc;color:#684706!important;box-shadow:0 4px 12px rgba(166,113,24,.12);font-style:normal;line-height:1.35}
.performance-pending-ledger-notice span{display:grid;gap:2px;min-width:0}.performance-pending-ledger-notice b{color:#7b4e00;font-size:13px;font-weight:900}.performance-pending-ledger-notice small{color:#705a2c;font-size:11px;font-weight:800}.performance-pending-ledger-notice button{flex:0 0 auto;height:31px;padding:0 11px;border:1px solid #a96905;border-radius:7px;background:#bd7608;color:#fff;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 3px 8px rgba(169,105,5,.22)}
.performance-pending-ledger-notice button:hover,.performance-pending-ledger-notice button:focus-visible{background:#9d5e00;outline:none;box-shadow:0 0 0 3px rgba(189,118,8,.16)}
.performance-month-start-notice{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin:10px 0 0;padding:12px 14px;border:1px solid #a9d2bd;border-left:4px solid #087553;border-radius:10px;background:#eef9f3;color:#204d3c;box-shadow:0 4px 12px rgba(31,91,65,.1)}
.performance-month-start-notice>div{display:grid;gap:3px;min-width:0}.performance-month-start-notice b{color:#075f43;font-size:14px;font-weight:900}.performance-month-start-notice small{color:#527466;font-size:11px;font-weight:800;line-height:1.45}.performance-month-start-notice button{flex:0 0 auto;height:36px;padding:0 14px;border:1px solid #075f43;border-radius:8px;background:#087553;color:#fff;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 4px 10px rgba(8,117,83,.2)}
.performance-month-start-notice button:hover,.performance-month-start-notice button:focus-visible{background:#065b41;outline:none;box-shadow:0 0 0 3px rgba(8,117,83,.16)}
@media(max-width:760px){.performance-pending-ledger-notice{align-items:stretch;flex-direction:column;margin:5px 0 0;white-space:normal}.performance-pending-ledger-notice button{width:100%}.performance-flow>div{align-items:flex-start;flex-wrap:wrap;gap:7px}}

/* 异常台账同时显示录入月份与最终计入工资月。 */
.abnormal-ledger-table{min-width:1260px}
.abnormal-ledger-table th:nth-child(1){width:80px}.abnormal-ledger-table th:nth-child(2){width:88px}.abnormal-ledger-table th:nth-child(3){width:90px}.abnormal-ledger-table th:nth-child(4){width:72px}.abnormal-ledger-table th:nth-child(5){width:58px}.abnormal-ledger-table th:nth-child(6){width:196px}.abnormal-ledger-table th:nth-child(7){width:86px}.abnormal-ledger-table th:nth-child(8){width:142px}.abnormal-ledger-table th:nth-child(9){width:82px}.abnormal-ledger-table th:nth-child(10){width:86px}.abnormal-ledger-table th:nth-child(11){width:176px}
.ledger-month-pending{color:#99610b!important;font-weight:900}.abnormal-ledger-form input:disabled{border-color:#dce7e1;background:#f2f6f4;color:#49675b;font-weight:800;opacity:1}

.performance-inline-ledger{margin:12px 0;border:1px solid #dbe8e2;border-radius:10px;background:#fff;box-shadow:0 5px 16px rgba(31,72,53,.06);overflow:hidden}
.performance-inline-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px 10px;background:#f7fbf9;border-bottom:1px solid #e4eee9}
.performance-inline-ledger-head .eyebrow{margin:0 0 3px;color:#8a6c28;font-size:9px;font-weight:900;letter-spacing:1.2px}
.performance-inline-ledger-head h3{margin:0;color:#173f31;font-size:17px;font-weight:900}
.performance-inline-ledger-head p{margin:4px 0 0;color:#708178;font-size:11px;line-height:1.4}
.performance-inline-ledger-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.performance-inline-ledger-actions button{height:32px;padding:0 11px;border-radius:7px;font-size:11px;font-weight:900;white-space:nowrap}
.performance-inline-ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e0ebe5;border-bottom:1px solid #e0ebe5}
.performance-inline-ledger-summary span{display:flex;align-items:center;justify-content:space-between;padding:8px 13px;background:#fbfdfc;color:#61766b;font-size:11px;font-weight:800}
.performance-inline-ledger-summary b{color:#285746;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.performance-inline-ledger-table-wrap{max-height:220px;overflow:auto}
.performance-inline-ledger-table{width:100%;min-width:880px;border-collapse:collapse;table-layout:fixed;font-size:11px}
.performance-inline-ledger-table th{position:sticky;top:0;z-index:1;height:34px;padding:6px 8px;border-bottom:1px solid #d9e8e0;background:#edf6f2;color:#315c4d;font-size:10px;font-weight:900;text-align:center;white-space:nowrap}
.performance-inline-ledger-table td{height:36px;padding:6px 8px;border-bottom:1px solid #edf2ef;color:#385a4b;text-align:center;vertical-align:middle}
.performance-inline-ledger-table tbody tr:nth-child(even) td{background:#fcfefd}
.performance-inline-ledger-table tbody tr:hover td{background:#f3faf6}
.performance-inline-ledger-table th:nth-child(1){width:80px}.performance-inline-ledger-table th:nth-child(2){width:58px}.performance-inline-ledger-table th:nth-child(3){width:220px}.performance-inline-ledger-table th:nth-child(4){width:90px}.performance-inline-ledger-table th:nth-child(5){width:160px}.performance-inline-ledger-table th:nth-child(6){width:86px}.performance-inline-ledger-table th:nth-child(7){width:100px}.performance-inline-ledger-table th:nth-child(8){width:150px}
.performance-inline-ledger-table .inline-ledger-employee{color:#173f31;font-weight:900}.performance-inline-ledger-table .inline-ledger-address{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performance-inline-ledger-table .positive{color:#087553;font-weight:900}.performance-inline-ledger-table .negative{color:#b24e3b;font-weight:900}.performance-inline-ledger-actions{white-space:nowrap}.performance-inline-ledger-actions .table-action{height:26px;padding:0 7px;font-size:10px}.performance-inline-ledger-empty{padding:22px;text-align:center;color:#829189;font-size:11px}
@media(max-width:760px){.performance-inline-ledger-head{align-items:flex-start;flex-direction:column;gap:9px}.performance-inline-ledger-actions{width:100%}.performance-inline-ledger-actions button{flex:1}.performance-inline-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-inline-ledger-table-wrap{max-height:260px}}

/* 新房档案：成交人／合作人分列，并把筛选做成独立的轻量工具面板。 */
.newhouse-archive-filters{margin:12px 0 15px;padding:15px 16px 16px;border:1px solid #d7e7df;border-radius:13px;background:linear-gradient(135deg,#f8fcfa 0%,#f4f8f6 100%);box-shadow:0 5px 16px rgba(22,70,51,.06)}
.newhouse-archive-filter-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid #e2eee8}
.newhouse-archive-filter-head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 10px;min-width:0}
.newhouse-archive-filter-eyebrow{color:#8f6a2d;font-size:10px;font-weight:900;letter-spacing:1.4px}
.newhouse-archive-filter-head b{color:#193f31;font-size:14px;font-weight:900}
.newhouse-archive-filter-head small{color:#71847a;font-size:11px;font-weight:700}
.newhouse-archive-clear-filter{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border:1px solid #bfd9cc;border-radius:8px;background:#fff;color:#176247;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.newhouse-archive-clear-filter span{font-size:16px;line-height:1}
.newhouse-archive-clear-filter:hover:not(:disabled),.newhouse-archive-clear-filter:focus-visible:not(:disabled){border-color:#71a991;background:#edf8f3;outline:none;box-shadow:0 0 0 2px rgba(23,98,71,.1)}
.newhouse-archive-clear-filter:disabled{cursor:default;opacity:.48}
.newhouse-archive-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,1.4fr);gap:11px}
.newhouse-archive-filter-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.newhouse-archive-filter-grid label>span{color:#486b5c;font-size:11px;font-weight:900}
.newhouse-archive-filter-grid select,.newhouse-archive-filter-grid input{box-sizing:border-box;width:100%;height:38px;border:1px solid #cedfd6;border-radius:8px;background:#fff;color:#1d4435;font-family:inherit;font-size:12px;font-weight:700;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.newhouse-archive-filter-grid select{padding:0 28px 0 10px;cursor:pointer}
.newhouse-archive-filter-grid input{padding:0 10px}
.newhouse-archive-filter-grid select:focus,.newhouse-archive-filter-grid input:focus{border-color:#7eae98;background:#fff;box-shadow:0 0 0 3px rgba(126,174,152,.16)}
.newhouse-archive-search-wrap{position:relative}
.newhouse-archive-search-wrap>span{position:absolute;left:10px;top:50%;z-index:1;color:#8f6a2d;font-size:17px;line-height:1;transform:translateY(-52%);pointer-events:none}
.newhouse-archive-search-wrap input{padding-left:30px}
.newhouse-archive-table-wrap{max-height:calc(100vh - 300px);border:1px solid #dceae3;border-radius:10px;background:#fff}
.newhouse-archive-table{min-width:1200px}
.newhouse-archive-table th,.newhouse-archive-table td{padding:10px 10px}
.newhouse-archive-table th{background:#edf6f2;color:#315c4d;font-size:11px;text-align:left;white-space:nowrap}
.newhouse-archive-table td{font-size:12px}

/* 业绩核对顶部：异常提醒保持紧凑，导入、下一步和确认工资核算保持同一操作层。 */
@media(min-width:1100px){
  .performance-compact .performance-page-head{display:block;padding:13px 16px}
  .performance-title-block,.performance-top-tools,.performance-left-tools,.performance-control-area{min-width:0}
  /* 顶部两组操作恢复为同宽窄列，避免右侧导入／汇总框横向撑满。 */
  .performance-top-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(676px,100%);align-items:start;gap:12px;margin-top:9px}
  .performance-control-area{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;padding-top:0}
  .performance-left-tools{display:grid;align-content:start;gap:7px}
  .performance-title-block .performance-filter-group,.performance-left-tools .performance-filter-group{margin-top:0}
  .performance-action-group{width:100%;min-width:0;display:block!important;flex-direction:column;flex-wrap:nowrap!important;align-items:stretch;justify-content:flex-start!important;gap:8px!important}
  .performance-import-actions{box-sizing:border-box;width:100%;min-width:0;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:4px 6px}
  .performance-action-group{align-items:center}
  .performance-compact .performance-import-actions .performance-import-btn{height:34px!important;padding:0 10px!important;font-size:10px!important}
  .performance-compact .performance-import-actions .performance-import-btn span{font-size:14px!important}
  .performance-import-actions .newhouse-table-import-entry{min-width:0;flex:0 1 auto}
  .performance-import-actions .newhouse-table-import-badge{margin-left:5px;padding-left:5px;padding-right:5px;font-size:9px}
  .performance-compact .performance-import-actions .performance-undo-import-btn{height:34px!important;min-width:104px!important;padding:2px 7px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn span{font-size:10px!important;line-height:13px}
  .performance-compact .performance-import-actions .performance-undo-import-btn small{font-size:8px;line-height:9px}
  .performance-compact .performance-next-action{box-sizing:border-box;width:100%;flex:0 0 auto;min-width:0;margin-left:0;padding:8px 0 0!important;border-left:0;border-top:1px solid #cdded6;justify-content:flex-end!important;gap:8px;flex-direction:row!important;align-items:center!important}
  .performance-next-action>strong{flex:0 0 auto}
  .performance-next-action .performance-confirm-row{flex:0 0 auto;gap:6px}
  .performance-next-action .performance-confirm-row>span{font-size:10px}
  .performance-next-action .performance-confirm-btn{height:34px!important;padding:0 10px!important;font-size:10px!important}
  /* 左侧提醒只保留文字和按钮所需宽度，避免空白横跨整列。 */
  .performance-pending-ledger-notice{box-sizing:border-box;width:max-content;max-width:100%;min-width:0;min-height:0;align-self:flex-start;justify-self:start;margin:0 0 1px;padding:5px 6px 5px 8px;gap:5px}
  .performance-pending-ledger-notice b{font-size:10px}
  .performance-pending-ledger-notice small{display:none}
  .performance-pending-ledger-notice button{height:26px;padding:0 6px;font-size:9px}
}

/* 业绩核对：筛选与操作统一放在右列，汇总和核算入口贴右对齐。 */
@media(min-width:1100px){
  .performance-compact .performance-control-area{justify-self:stretch;align-items:stretch}
  .performance-compact .performance-control-area>.performance-filter-group{justify-content:flex-end;min-height:38px}
  .performance-compact .performance-control-area>.performance-action-group{display:block!important;align-items:stretch;gap:8px!important}
  .performance-compact .performance-control-area .performance-import-actions{min-width:0}
  .performance-compact .performance-control-area .performance-import-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}
  .performance-compact .performance-control-area .performance-import-actions>span{display:inline!important}
  .performance-compact .performance-control-area .performance-import-actions{border-radius:12px 12px 0 0}
  .performance-compact .performance-control-area .performance-next-action{box-sizing:border-box;width:100%;margin:-1px 0 0;justify-self:stretch;justify-content:flex-end!important;padding:8px 12px!important;border:1px solid #dce9e3;border-top:0;border-radius:0 0 12px 12px;background:#fff}
}

/* 桌面端筛选行与下方业绩表第一列保持同一左基线。 */
@media(min-width:1100px){
  .performance-compact .performance-left-tools>.performance-filter-group{
    justify-content:flex-start!important;
    margin-left:0;
    padding-left:0;
  }
  .performance-compact .performance-left-tools{
    margin-left:-12px;
    width:calc(100% + 12px);
  }
}

/* 业绩核对桌面端：顶部所有操作统一纵向一列，筛选放在操作区最下方。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{
    grid-template-columns:max-content minmax(0,1fr)!important;
    width:100%!important;
    gap:12px!important;
    align-items:center!important;
  }
  .performance-compact .performance-left-tools{
    display:block!important;
    width:max-content!important;
    margin-left:0!important;
  }
  .performance-compact .performance-control-area{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding-top:0!important;
  }
  .performance-compact .performance-action-group{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    align-items:center!important;
    gap:10px!important;
  }
  /* 覆盖旧版桌面规则，确保导入业绩与本月业绩总计同一横向操作行。 */
  .performance-compact .performance-control-area>.performance-action-group{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    align-items:center!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
  }
  .performance-compact .performance-import-actions{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:5px!important;
    padding:4px 6px!important;
  }
  .performance-compact .performance-import-actions>span{font-size:10px!important}
  .performance-compact .performance-import-actions .performance-import-btn{
    min-width:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:10px!important;
  }
  .performance-compact .performance-import-actions .aplus-import{width:76px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-entry{width:86px!important;min-width:86px!important}
  .performance-compact .performance-import-actions .newhouse-import{width:76px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn{min-width:96px!important}
  .performance-compact .performance-next-action{
    flex:0 0 auto!important;
    width:max-content!important;
    min-width:285px!important;
    margin:0!important;
    padding:8px 10px!important;
    border-left:1px solid #cdded6!important;
    border-top:0!important;
    justify-content:flex-end!important;
  }
  .performance-compact .performance-control-area>.performance-filter-group{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    min-height:38px;
    margin-top:0!important;
    padding:8px 0 0!important;
    border-top:1px solid #dce9e3;
  }
}

/* 桌面端最终横向操作带：四项同一行，筛选独立占下一行。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{
    display:grid!important;
    grid-template-columns:131px minmax(0,404px) minmax(0,1fr)!important;
    width:100%!important;
    gap:12px!important;
    align-items:center!important;
  }
  .performance-compact .performance-control-area,
  .performance-compact .performance-control-area>.performance-action-group{
    display:contents!important;
  }
  .performance-compact .performance-left-tools{grid-column:1;grid-row:1;width:131px!important}
  .performance-compact .performance-import-actions{
    grid-column:2;grid-row:1;box-sizing:border-box;width:100%!important;min-width:0!important;
    height:44px;flex:none!important;gap:3px!important;padding:4px 5px!important;overflow:hidden;
  }
  .performance-compact .performance-import-actions>span{flex:0 0 36px;font-size:9px!important;line-height:1.1;white-space:normal}
  .performance-compact .performance-import-actions .performance-import-btn{
    box-sizing:border-box;min-width:0!important;height:34px!important;padding:2px 4px!important;
    font-size:8px!important;line-height:1.15;white-space:normal!important;overflow:hidden;
  }
  .performance-compact .performance-import-actions .performance-import-btn span{margin-right:2px;font-size:12px!important}
  .performance-compact .performance-import-actions .performance-import-icon{width:14px;height:14px;margin-right:2px;border-radius:3px}
  .performance-compact .performance-import-actions .aplus-import{width:76px!important;flex:0 0 76px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-entry{width:86px!important;min-width:86px!important;flex:0 0 86px!important}
  .performance-compact .performance-import-actions .newhouse-import{width:76px!important;flex:0 0 76px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-badge{margin-left:2px;padding:1px 3px;font-size:7px;line-height:1}
  .performance-compact .performance-import-actions .performance-undo-import-btn{width:90px!important;min-width:90px!important;flex:0 0 90px!important;height:34px!important;padding:2px 3px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn span{font-size:8px!important;line-height:11px}
  .performance-compact .performance-import-actions .performance-undo-import-btn small{font-size:7px;line-height:9px}
  .performance-compact .performance-next-action{
    grid-column:3;grid-row:1;box-sizing:border-box;width:100%!important;min-width:0!important;height:51px;
    margin:0!important;padding:8px 8px!important;justify-content:flex-end!important;gap:6px!important;
    border-left:1px solid #cdded6!important;border-top:0!important;overflow:hidden;
  }
  .performance-compact .performance-next-action .next-performance-total span{font-size:10px}
  .performance-compact .performance-next-action .next-performance-total b{font-size:14px}
  .performance-compact .performance-next-action .performance-confirm-row{gap:5px}
  .performance-compact .performance-next-action .performance-confirm-row>span{font-size:9px}
  .performance-compact .performance-next-action .performance-confirm-btn{height:34px!important;padding:0 8px!important;font-size:9px!important}
  .performance-compact .performance-control-area>.performance-filter-group{
    grid-column:1/-1;grid-row:2;width:100%!important;min-height:38px;margin:0!important;padding:8px 0 0!important;
    justify-content:flex-start!important;border-top:1px solid #dce9e3;
  }
}

/* 桌面端平衡四格宽度，让异常提醒填满左侧空白区域。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{grid-template-columns:200px 340px minmax(0,1fr)!important}
  .performance-compact .performance-pending-ledger-notice{width:200px!important;max-width:200px!important;padding-left:10px;padding-right:8px;gap:7px}
  .performance-compact .performance-pending-ledger-notice b{font-size:11px;white-space:nowrap}
  .performance-compact .performance-import-actions .aplus-import{width:64px!important;flex-basis:64px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-entry{width:76px!important;min-width:76px!important;flex-basis:76px!important}
  .performance-compact .performance-import-actions .newhouse-import{width:64px!important;flex-basis:64px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn{width:82px!important;min-width:82px!important;flex-basis:82px!important}
  .performance-compact .performance-next-action{padding-left:5px!important;padding-right:5px!important;gap:4px!important}
  .performance-compact .performance-next-action .next-performance-total span{font-size:9px}
  .performance-compact .performance-next-action .next-performance-total b{font-size:13px}
  .performance-compact .performance-next-action .performance-confirm-row{gap:3px}
  .performance-compact .performance-next-action .performance-confirm-row>span{font-size:8px}
  .performance-compact .performance-next-action .performance-confirm-btn{padding-left:5px!important;padding-right:5px!important;font-size:8px!important}
  .performance-compact .performance-top-tools>.performance-filter-group{
    grid-column:1/-1;grid-row:2;width:100%!important;min-height:38px;margin:0!important;padding:8px 0 0!important;
    justify-content:flex-start!important;border-top:1px solid #dce9e3;
  }
}
.newhouse-archive-table th:nth-child(1),.newhouse-archive-table td:nth-child(1){width:10%;text-align:center}
.newhouse-archive-table th:nth-child(2),.newhouse-archive-table td:nth-child(2){width:25%}
.newhouse-archive-table th:nth-child(3),.newhouse-archive-table td:nth-child(3){width:14%}
.newhouse-archive-table th:nth-child(4),.newhouse-archive-table td:nth-child(4){width:14%}
.newhouse-archive-table th:nth-child(5),.newhouse-archive-table td:nth-child(5){width:10%;text-align:right}
.newhouse-archive-table th:nth-child(6),.newhouse-archive-table td:nth-child(6){width:14%;text-align:right}
.newhouse-archive-table th:nth-child(7),.newhouse-archive-table td:nth-child(7){width:9%;text-align:center}
.newhouse-archive-table th:nth-child(8),.newhouse-archive-table td:nth-child(8){width:14%;text-align:right}
.newhouse-archive-table td:first-child b,.newhouse-archive-table td:first-child small{display:block}
.newhouse-archive-address-cell b{color:#174b3a;font-size:13px;line-height:1.45}
.newhouse-archive-address-cell small{margin-top:4px;color:#71847a;font-size:10px;line-height:1.45;white-space:normal;word-break:break-all}
.newhouse-archive-month-cell{vertical-align:middle!important}
.newhouse-archive-month-tag{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;padding:6px;border:1px solid #cbd8e6;border-radius:7px;background:#f4f8fc;color:#385775;font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.newhouse-archive-deal-cell,.newhouse-archive-cooperator-cell{vertical-align:top}
.newhouse-archive-deal-cell .newhouse-archive-person b{color:#087553;font-weight:900}
.newhouse-archive-cooperator-cell .newhouse-archive-person b{color:#526a60;font-weight:800}
.newhouse-archive-empty{display:inline-flex;align-items:center;min-height:27px;color:#9aa9a1;font-size:11px;font-style:normal}
.newhouse-archive-table tbody tr:hover .newhouse-archive-month-tag{border-color:#aebfd2;background:#edf3f9}
@media(max-width:1050px){.newhouse-archive-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.newhouse-archive-filter-head{align-items:flex-start;flex-direction:column;gap:10px}.newhouse-archive-clear-filter{width:100%;justify-content:center}.newhouse-archive-filter-grid{grid-template-columns:1fr}.newhouse-archive-table-wrap{max-height:none}.newhouse-archive-table{min-width:1200px}}

/* 新房档案列对应：成交人和合作人分别紧邻自己的比例，所有名单按比例降序。 */
.newhouse-archive-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.newhouse-archive-table{min-width:1280px}
.newhouse-archive-table th:nth-child(1),.newhouse-archive-table td:nth-child(1){width:9%;text-align:center}
.newhouse-archive-table th:nth-child(2),.newhouse-archive-table td:nth-child(2){width:25%;text-align:left}
.newhouse-archive-table th:nth-child(3),.newhouse-archive-table td:nth-child(3){width:12%;text-align:left}
.newhouse-archive-table th:nth-child(4),.newhouse-archive-table td:nth-child(4){width:9%;text-align:right}
.newhouse-archive-table th:nth-child(5),.newhouse-archive-table td:nth-child(5){width:12%;text-align:left}
.newhouse-archive-table th:nth-child(6),.newhouse-archive-table td:nth-child(6){width:9%;text-align:right}
.newhouse-archive-table th:nth-child(7),.newhouse-archive-table td:nth-child(7){width:14%;text-align:right}
.newhouse-archive-table th:nth-child(8),.newhouse-archive-table td:nth-child(8){width:8%;text-align:center}
.newhouse-archive-table th:nth-child(9),.newhouse-archive-table td:nth-child(9){width:12%;text-align:right}
.newhouse-archive-table th:nth-child(4),.newhouse-archive-table th:nth-child(6){color:#6f5420;background:#f7f1e4}
.newhouse-archive-deal-ratio-cell,.newhouse-archive-cooperator-ratio-cell{vertical-align:top!important;font-variant-numeric:tabular-nums}
.newhouse-archive-deal-ratio-cell .newhouse-archive-person span{color:#087553;font-weight:900}
.newhouse-archive-cooperator-ratio-cell .newhouse-archive-person span{color:#526a60;font-weight:800}
.newhouse-archive-deal-cell .newhouse-archive-person,.newhouse-archive-deal-ratio-cell .newhouse-archive-person,.newhouse-archive-cooperator-cell .newhouse-archive-person,.newhouse-archive-cooperator-ratio-cell .newhouse-archive-person{min-height:27px}
.newhouse-archive-person .newhouse-archive-empty{display:block;min-height:0;line-height:1.35}
@media(max-width:760px){.newhouse-archive-summary{grid-template-columns:1fr}.newhouse-archive-table{min-width:1280px}}

/* 新房档案默认聚焦当前工资月份，筛选与统计在同一内容轴线上居中。 */
.newhouse-archive-panel{width:100%;box-sizing:border-box}
.newhouse-archive-panel>.panel-head{align-items:center}
.newhouse-archive-filter-head{position:relative;justify-content:center}
.newhouse-archive-filter-head>div{justify-content:center;text-align:center}
.newhouse-archive-clear-filter{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.newhouse-archive-filter-grid{grid-template-columns:repeat(3,minmax(180px,280px));justify-content:center;gap:14px}
.newhouse-archive-summary{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:14px 0}
.newhouse-archive-summary span{align-items:center;justify-content:center;min-height:62px;text-align:center}
.newhouse-archive-summary b{margin-top:2px}
@media(max-width:1050px){.newhouse-archive-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.newhouse-archive-filter-head{align-items:flex-start;justify-content:flex-start}.newhouse-archive-filter-head>div{justify-content:flex-start;text-align:left}.newhouse-archive-clear-filter{position:static;transform:none}.newhouse-archive-filter-grid{grid-template-columns:1fr}.newhouse-archive-summary{grid-template-columns:1fr}}

/* 新房档案顶部五项信息同排：月份、套数、业绩、成交人、成交楼盘。 */
.newhouse-archive-overview{display:grid;grid-template-columns:1.08fr .86fr 1.16fr 1.08fr 1.42fr;gap:10px;width:100%;margin:14px 0 16px;align-items:stretch}
.newhouse-archive-overview-item{box-sizing:border-box;min-width:0;min-height:76px;padding:11px 12px;border:1px solid #d7e7df;border-radius:10px;background:#f7fbf9;display:flex;flex-direction:column;justify-content:center;gap:7px}
.newhouse-archive-overview-item>span{color:#486b5c;font-size:11px;font-weight:900;line-height:1.25;white-space:nowrap}
.newhouse-archive-overview-item select{box-sizing:border-box;width:100%;height:34px;min-width:0;padding:0 24px 0 9px;border:1px solid #cedfd6;border-radius:7px;background:#fff;color:#1d4435;font-family:inherit;font-size:12px;font-weight:700;outline:none;cursor:pointer}
.newhouse-archive-overview-item select:focus{border-color:#7eae98;box-shadow:0 0 0 3px rgba(126,174,152,.16)}
.newhouse-archive-overview-stat{background:linear-gradient(135deg,#f7f1e4,#fffaf0);border-color:#ead9b4}
.newhouse-archive-overview-stat>span{color:#7b612a}
.newhouse-archive-overview-stat b{display:block;color:#8f6a2d;font-size:20px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.newhouse-archive-overview-filter:nth-child(1){background:#f5faf7}
.newhouse-archive-overview-filter:nth-child(5){background:#f2f8f5}
.newhouse-archive-head-clear{height:34px;padding:0 11px;border:1px solid #bfd9cc;background:#f5faf7;color:#176247;font-size:11px}
@media(max-width:1050px){.newhouse-archive-overview{grid-template-columns:1fr .9fr 1.15fr 1fr 1.35fr;gap:7px}.newhouse-archive-overview-item{padding-left:8px;padding-right:8px}}
@media(max-width:760px){.newhouse-archive-overview{grid-template-columns:1fr;gap:8px}.newhouse-archive-overview-item{min-height:66px}.newhouse-archive-overview-stat{min-height:62px}}

/* 新房档案：成交人＋成交比例、合作人＋合作比例各自合并为一个居中对齐框。 */
.newhouse-archive-table{min-width:1120px}
.newhouse-archive-table th:nth-child(1),.newhouse-archive-table td:nth-child(1){width:9%;text-align:center}
.newhouse-archive-table th:nth-child(2),.newhouse-archive-table td:nth-child(2){width:26%;text-align:center!important}
.newhouse-archive-table th:nth-child(3),.newhouse-archive-table td:nth-child(3){width:10%;text-align:right}
.newhouse-archive-table th:nth-child(4),.newhouse-archive-table td:nth-child(4){width:18%;text-align:center!important}
.newhouse-archive-table th:nth-child(5),.newhouse-archive-table td:nth-child(5){width:18%;text-align:center!important}
.newhouse-archive-table th:nth-child(6),.newhouse-archive-table td:nth-child(6){width:12%;text-align:right}
.newhouse-archive-table th:nth-child(7),.newhouse-archive-table td:nth-child(7){width:7%;text-align:center}
.newhouse-archive-people-head{color:#6f5420!important;background:#f7f1e4!important;white-space:nowrap}
.newhouse-archive-people-head>span{display:inline-block;vertical-align:middle;text-align:center}
.newhouse-archive-people-head>span:first-child{width:calc(100% - 68px)}
.newhouse-archive-people-head>span:last-child{width:64px}
.newhouse-archive-deal-cell,.newhouse-archive-cooperator-cell{vertical-align:top!important;text-align:center!important}
.newhouse-archive-deal-cell .newhouse-archive-person,.newhouse-archive-cooperator-cell .newhouse-archive-person{justify-content:center;min-height:30px}
.newhouse-archive-person-pair{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:6px;width:100%;min-width:0}
.newhouse-archive-person-pair b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.newhouse-archive-person-pair span{display:block;text-align:center;font-variant-numeric:tabular-nums;font-weight:900;white-space:nowrap}
.newhouse-archive-deal-cell .newhouse-archive-person-pair b{color:#087553}
.newhouse-archive-deal-cell .newhouse-archive-person-pair span{color:#087553}
.newhouse-archive-cooperator-cell .newhouse-archive-person-pair b{color:#526a60}
.newhouse-archive-cooperator-cell .newhouse-archive-person-pair span{color:#526a60}
.newhouse-archive-table td:nth-child(3),.newhouse-archive-table td:nth-child(4){padding-left:12px;padding-right:12px}
@media(max-width:760px){.newhouse-archive-table{min-width:1120px}}

/* 新房档案：成交人与成交比例、合作人与合作比例分别使用不同颜色外框。 */
.newhouse-archive-deal-head{color:#2f6954!important;background:#f7fbf8!important;box-shadow:inset 0 1px #b8d9c4}
.newhouse-archive-cooperator-head{color:#655a8b!important;background:#faf9fe!important;box-shadow:inset 0 1px #d3cceb}
.newhouse-archive-participant-box{box-sizing:border-box;width:100%;min-height:34px;padding:3px 6px;border:1px solid;border-radius:6px}
.newhouse-archive-deal-box{border-color:#c8e0d1;background:#fbfefc;box-shadow:none}
.newhouse-archive-cooperator-box{border-color:#dbd5ed;background:#fdfcff;box-shadow:none}
.newhouse-archive-participant-box .newhouse-archive-person{min-height:28px;padding:3px 2px;border-bottom-style:dashed}
.newhouse-archive-participant-box .newhouse-archive-person:last-child{border-bottom:0}
.newhouse-archive-deal-box .newhouse-archive-person-pair b,.newhouse-archive-deal-box .newhouse-archive-person-pair span{color:#087553}
.newhouse-archive-cooperator-box .newhouse-archive-person-pair b,.newhouse-archive-cooperator-box .newhouse-archive-person-pair span{color:#5b4d92}
.newhouse-archive-participant-box .newhouse-archive-empty{justify-content:center;width:100%;color:#8f8aa8}
.newhouse-archive-table th:nth-child(2) b,.newhouse-archive-table td:nth-child(2) b{display:block;text-align:center}
.newhouse-archive-deal-total-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
.newhouse-archive-people-head{border:1px solid!important;border-radius:8px!important;padding:7px 9px!important}
.newhouse-archive-deal-head{border-color:#b8d9c4!important}
.newhouse-archive-cooperator-head{border-color:#d3cceb!important}

/* 新房档案：顶部筛选统计按下方表格列轴对齐。 */
.newhouse-archive-scroll-area{width:100%;max-height:calc(100vh - 300px);overflow:auto;min-width:0}
.newhouse-archive-scroll-area .newhouse-archive-overview{min-width:1120px;grid-template-columns:9fr 26fr 10fr 18fr 18fr 12fr 7fr;gap:0;align-items:stretch}
.newhouse-archive-overview-item{margin-right:0;min-height:86px;padding:10px 11px}
.newhouse-archive-overview-month{grid-column:1}
.newhouse-archive-overview-project{grid-column:2}
.newhouse-archive-overview-total{grid-column:3}
.newhouse-archive-overview-people{grid-column:4 / span 2}
.newhouse-archive-overview-substat{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#667a70;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.newhouse-archive-scroll-area .newhouse-archive-table-wrap{max-height:none;overflow:visible;border:0;background:transparent}
.newhouse-archive-overview-substat b{color:#315c4d;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}
.newhouse-archive-project-line{display:flex;align-items:center;gap:8px;min-width:0;width:100%}
.newhouse-archive-project-line select{flex:1 1 auto;width:auto}
.newhouse-archive-project-count{flex:0 0 auto;color:#315c4d;font-size:18px;font-weight:900;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.newhouse-archive-total-line{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;white-space:nowrap}
.newhouse-archive-total-line b{order:1;display:block;color:#8f6a2d;font-size:20px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}
.newhouse-archive-total-line span{order:2;color:#7b612a;font-size:11px;font-weight:900;line-height:1.25}
@media(max-width:1050px){.newhouse-archive-overview{grid-template-columns:1.05fr 2.45fr 1.1fr 3fr;gap:8px}.newhouse-archive-overview-item{grid-column:auto;margin-right:0}.newhouse-archive-overview-people{grid-column:auto}.newhouse-archive-scroll-area .newhouse-archive-overview{min-width:0}.newhouse-archive-scroll-area .newhouse-archive-table-wrap{overflow:visible}}
@media(max-width:760px){.newhouse-archive-scroll-area{max-height:none;overflow:visible}.newhouse-archive-overview{grid-template-columns:1fr;gap:8px}.newhouse-archive-overview-item{min-height:74px;margin-right:0}.newhouse-archive-overview-item{grid-column:auto}.newhouse-archive-scroll-area .newhouse-archive-overview{min-width:0}}

/* 异常业绩逐笔明细：与新房回款提示保持同样的清晰度和定位方式。 */
.adjustment-entry-tooltip{
  position:fixed!important;
  left:0;
  top:0;
  bottom:auto!important;
  z-index:10000;
  display:none;
  width:max-content;
  max-width:min(620px,calc(100vw - 24px));
  min-width:0;
  max-height:min(70vh,calc(100vh - 24px));
  box-sizing:border-box;
  padding:9px 11px;
  transform:none!important;
  border:1px solid #badbcd;
  border-radius:12px;
  background:#fff;
  color:#29443a;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
  text-align:left;
  overflow:auto;
  overflow-wrap:anywhere;
  white-space:normal;
  box-shadow:0 14px 35px rgba(20,35,29,.18);
}
.adjustment-entry-tooltip .tooltip-line{
  display:block;
  max-width:100%;
  padding:5px 8px;
  border-bottom:1px solid #e5efe9;
  color:#29443a;
  font-size:13px;
  font-weight:700;
  line-height:1.55;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}
.adjustment-entry-tooltip .tooltip-line:last-child{border-bottom:0}
@media(max-width:520px){
  .adjustment-entry-tooltip{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:8px 10px}
  .adjustment-entry-tooltip .tooltip-line{padding:5px 6px;font-size:12px;line-height:1.5}
}

/* 往期结件展开时，滚动限制在当前业务面板内，避免被固定高度的外层裁掉。 */
.unsettled-compact .unsettled-panel.has-prior-settlement-inline,.payroll-compact .wage-panel.has-prior-settlement-inline{overflow-y:auto;overflow-x:hidden}
.unsettled-compact .unsettled-panel.has-prior-settlement-inline>.prior-settlement-inline-panel,.payroll-compact .wage-panel.has-prior-settlement-inline>.prior-settlement-inline-panel{flex:0 0 auto;height:auto;min-height:0}
.unsettled-compact .unsettled-panel.has-prior-settlement-inline .unsettled-table-wrap,.payroll-compact .wage-panel.has-prior-settlement-inline .wage-table-stage{flex:0 0 auto}

/* 新房档案整体页面：标题、筛选统计和明细收进同一块业务面板。 */
.newhouse-archive-head-clear{display:none!important}
.newhouse-archive-unified-panel{overflow:hidden;border:1px solid #dbe8e1;background:#fff;box-shadow:0 12px 30px rgba(24,72,52,.08)}
.newhouse-archive-unified-panel>.panel-head{box-sizing:border-box;margin:0;padding:17px 20px 14px;border-bottom:1px solid #e2eee8;background:#fbfdfc}
.newhouse-archive-unified-panel>.panel-head h3{color:#173f31;font-size:18px;letter-spacing:.1px}
.newhouse-archive-unified-panel>.panel-head .small-note{color:#63796e;font-size:11px;font-weight:700}
.newhouse-archive-unified-panel>.panel-head .toolbar{gap:8px}
.newhouse-archive-unified-panel .newhouse-archive-scroll-area{box-sizing:border-box;max-height:calc(100vh - 255px);padding:0 18px 18px;background:#fff}
.newhouse-archive-unified-overview{box-sizing:border-box;margin:0!important;min-width:1120px!important;border:0;border-bottom:1px solid #dfeae4;border-radius:0 0 8px 8px;background:#f7faf8;box-shadow:none;gap:0!important}
.newhouse-archive-unified-overview .newhouse-archive-overview-item{box-sizing:border-box;min-height:76px;margin:0;padding:12px 14px;border:0;border-right:1px solid #deebe4;border-radius:0;background:transparent!important;box-shadow:none}
.newhouse-archive-unified-overview .newhouse-archive-overview-item:last-child{border-right:0}
.newhouse-archive-unified-overview .newhouse-archive-overview-stat{background:#fbf8ef!important}
.newhouse-archive-unified-overview .newhouse-archive-overview-item>span{color:#45695a;font-size:11px;font-weight:900}
.newhouse-archive-unified-overview .newhouse-archive-overview-item select{height:32px;border-color:#cbded4;border-radius:6px;background:#fff;font-size:12px}
.newhouse-archive-unified-overview .newhouse-archive-project-count{font-size:16px}
.newhouse-archive-unified-overview .newhouse-archive-total-line b{font-size:19px}
.newhouse-archive-unified-panel .newhouse-archive-table-wrap{box-sizing:border-box;border:1px solid #dfeae4!important;border-top:0!important;border-radius:0 0 9px 9px;background:#fff}
.newhouse-archive-unified-panel .newhouse-archive-table{background:#fff}
.newhouse-archive-unified-panel .newhouse-archive-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 #d9e8e0}
.newhouse-archive-unified-panel .newhouse-archive-table tbody tr:last-child td{border-bottom:0}
@media(max-width:760px){.newhouse-archive-unified-panel>.panel-head{padding:14px 14px 12px}.newhouse-archive-unified-panel .newhouse-archive-scroll-area{padding:0 10px 12px}.newhouse-archive-unified-overview{min-width:0!important}.newhouse-archive-unified-overview .newhouse-archive-overview-item{border-right:0;border-bottom:1px solid #deebe4}.newhouse-archive-unified-overview .newhouse-archive-overview-item:last-child{border-bottom:0}.newhouse-archive-unified-panel .newhouse-archive-table-wrap{border-radius:0 0 8px 8px}}

/* 新房档案最终简洁布局：取消强制宽度，避免月份和右侧内容被横向裁切。 */
.newhouse-archive-unified-panel{width:100%;max-width:none;margin:0;border:1px solid #dbe7e1;border-radius:14px;background:#fff;box-shadow:0 10px 24px rgba(26,70,52,.07)}
.newhouse-archive-unified-panel>.panel-head{padding:16px 20px 13px;background:#fff;border-bottom:1px solid #e4eee9}
.newhouse-archive-unified-panel>.panel-head h3{font-size:18px;line-height:1.25;color:#163f30}
.newhouse-archive-unified-panel>.panel-head .small-note{max-width:680px;margin-top:5px;color:#6a7e74;font-size:11px;line-height:1.45}
.newhouse-archive-unified-panel .newhouse-archive-scroll-area{max-height:calc(100vh - 245px);padding:0 16px 16px;overflow-x:hidden;overflow-y:auto;background:#fff}
.newhouse-archive-unified-overview{display:grid!important;grid-template-columns:1.05fr .72fr 1.18fr 1.18fr 1.75fr!important;gap:10px!important;width:100%!important;min-width:0!important;margin:0 0 14px!important;padding:15px 0 14px;border:0;border-bottom:1px solid #e4eee9;border-radius:0;background:#fff;box-shadow:none}
.newhouse-archive-unified-overview .newhouse-archive-overview-item{display:flex;box-sizing:border-box;min-width:0;min-height:72px;margin:0;padding:11px 12px;border:1px solid #dce9e2;border-radius:10px;background:#fbfdfc!important;box-shadow:none;gap:7px;justify-content:center;align-items:center;text-align:center}
.newhouse-archive-unified-overview .newhouse-archive-overview-item>span{display:block;width:100%;overflow:hidden;color:#316052;font-size:12px;font-weight:800;line-height:1.3;text-align:center;white-space:nowrap;text-overflow:ellipsis}
.newhouse-archive-unified-overview .newhouse-archive-overview-item select{width:100%;min-width:0;height:34px;padding:0 24px 0 9px;border:1px solid #cfe0d6;border-radius:7px;background:#fff;color:#234b3b;font-size:12px;font-weight:800;text-align:center;text-align-last:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.newhouse-archive-unified-overview .newhouse-archive-overview-count,.newhouse-archive-unified-overview .newhouse-archive-overview-total{align-items:center;text-align:center}
.newhouse-archive-unified-overview .newhouse-archive-overview-count strong{color:#1d6b50;font-size:21px;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}
.newhouse-archive-unified-overview .newhouse-archive-overview-count small,.newhouse-archive-unified-overview .newhouse-archive-overview-total small{display:block;overflow:hidden;color:#7a8b83;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}
.newhouse-archive-unified-overview .newhouse-archive-overview-total{background:#fbfdfc!important;border-color:#dce9e2}
.newhouse-archive-unified-overview .newhouse-archive-overview-total strong{color:#1d6b50;font-size:21px;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}
.newhouse-archive-unified-panel .newhouse-archive-table-wrap{width:100%;max-height:none;overflow:visible;border:1px solid #dfeae4!important;border-radius:11px;background:#fff}
.newhouse-archive-unified-panel .newhouse-archive-table{--newhouse-person-ratio-width:46px;--newhouse-person-column-gap:5px;width:100%;min-width:0!important;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff}
.newhouse-archive-unified-panel .newhouse-archive-table th,.newhouse-archive-unified-panel .newhouse-archive-table td{box-sizing:border-box;padding:9px 8px;word-break:break-word}
.newhouse-archive-unified-panel .newhouse-archive-table th{font-size:11px;line-height:1.2;white-space:nowrap;background:#f5faf7;color:#315d4d}
.newhouse-archive-unified-panel .newhouse-archive-table td{font-size:12px;line-height:1.35;background:#fff}
.newhouse-archive-unified-panel .newhouse-archive-table tbody tr:nth-child(even) td{background:#fcfefd}
.newhouse-archive-unified-panel .newhouse-archive-table tbody tr:hover td{background:#f3faf6}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(1),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(1){width:9%;text-align:center}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(2),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(2){width:25%;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(3),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(3){width:14%;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(4),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(4){width:18%;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(5),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(5){width:18%;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(6),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(6){width:10%;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-table th:nth-child(7),.newhouse-archive-unified-panel .newhouse-archive-table td:nth-child(7){width:6%;text-align:center}
.newhouse-archive-unified-panel .newhouse-archive-month-tag{display:inline-flex;box-sizing:border-box;max-width:100%;min-width:0;padding:5px 6px;overflow:visible;border:0;background:transparent;color:#3e5f51;font-size:12px;font-weight:900;white-space:nowrap;text-overflow:clip}
.newhouse-archive-unified-panel .newhouse-archive-address-cell b{display:block;color:#184b39;font-size:13px;line-height:1.35;white-space:normal;word-break:break-word}
.newhouse-archive-unified-panel .newhouse-archive-participant-box{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.newhouse-archive-unified-panel .newhouse-archive-participant-box .newhouse-archive-person{min-height:25px;padding:3px 0}
.newhouse-archive-unified-panel .newhouse-archive-person-pair{grid-template-columns:minmax(0,1fr) var(--newhouse-person-ratio-width);gap:var(--newhouse-person-column-gap)}
.newhouse-archive-unified-panel .newhouse-archive-person-pair b{font-size:13px}
.newhouse-archive-unified-panel .newhouse-archive-person-pair-empty .newhouse-archive-empty{grid-column:1;box-sizing:border-box;width:100%;justify-content:center;text-align:center}
.newhouse-archive-unified-panel .newhouse-archive-person-pair-empty .newhouse-archive-empty-slot{grid-column:2;width:100%;min-width:0}
.newhouse-archive-unified-panel .newhouse-archive-people-head{padding:0!important;vertical-align:middle!important;border:0!important;border-radius:0!important;background:#f5faf7!important;box-shadow:inset 0 -2px #c8e0d1}
.newhouse-archive-unified-panel .newhouse-archive-people-head-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--newhouse-person-ratio-width);align-items:center;gap:var(--newhouse-person-column-gap);width:100%;padding:8px;box-sizing:border-box}
.newhouse-archive-unified-panel .newhouse-archive-people-head-grid>span{width:auto!important;text-align:center}
.newhouse-archive-unified-panel .newhouse-archive-cooperator-head{background:#faf9fe!important;box-shadow:inset 0 -2px #d5cee9}
.newhouse-archive-unified-panel .newhouse-archive-ratio{padding:4px 7px;border-radius:6px;background:#eef8f2;color:#147354;font-size:11px}
@media(max-width:900px){.newhouse-archive-unified-overview{grid-template-columns:repeat(3,minmax(0,1fr))!important}.newhouse-archive-unified-overview .newhouse-archive-overview-project{grid-column:span 2}}
@media(max-width:760px){.newhouse-archive-unified-panel>.panel-head{padding:14px 14px 12px}.newhouse-archive-unified-panel .newhouse-archive-scroll-area{padding:0 10px 12px}.newhouse-archive-unified-overview{grid-template-columns:1fr!important}.newhouse-archive-unified-overview .newhouse-archive-overview-project{grid-column:auto}}
.newhouse-archive-unified-overview .newhouse-archive-overview-item{grid-column:auto!important;grid-row:auto!important}

/* 新房档案桌面端只保留明细区域滚动，去掉右侧重复的内容区滚动条。 */
@media (min-width:901px){
  body.newhouse-archive-compact .content{box-sizing:border-box;height:calc(100vh - 76px);min-height:0;overflow:hidden;padding:14px 28px 10px}
  body.newhouse-archive-compact .newhouse-archive-unified-panel{min-height:0;max-height:100%;margin:0}
  body.newhouse-archive-compact .newhouse-archive-unified-panel .newhouse-archive-scroll-area{max-height:calc(100vh - 245px)}
}

/* M店经理新房档案：本人与本组范围明确分开，默认聚焦本人。 */
.newhouse-archive-manager-scope{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 10px;padding:12px 14px;border:1px solid #d7e7df;border-radius:8px;background:#f7faf8}
.newhouse-archive-manager-scope-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.newhouse-archive-manager-scope-copy b{color:#173f31;font-size:13px;font-weight:900}
.newhouse-archive-manager-scope-copy span{color:#61786d;font-size:11px;font-weight:700;line-height:1.4}
.newhouse-archive-manager-scope-options{display:inline-flex;flex:0 0 auto;align-items:center;padding:3px;border:1px solid #c9ddd3;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(24,72,52,.06)}
.newhouse-archive-manager-scope-options button{box-sizing:border-box;height:34px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:#4f695e;font-family:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.newhouse-archive-manager-scope-options button:hover,.newhouse-archive-manager-scope-options button:focus-visible{background:#edf5f1;color:#176247;outline:none}
.newhouse-archive-manager-scope-options button.active{background:#176247;color:#fff;box-shadow:0 2px 7px rgba(23,98,71,.2)}
@media(max-width:900px){.newhouse-archive-manager-scope{align-items:flex-start;flex-direction:column;gap:9px}.newhouse-archive-manager-scope-options{width:100%;box-sizing:border-box}.newhouse-archive-manager-scope-options button{flex:1 1 50%;padding-left:8px;padding-right:8px}}
@media(max-width:560px){.newhouse-archive-manager-scope-options{flex-direction:column}.newhouse-archive-manager-scope-options button{width:100%;flex-basis:auto}}

/* 新房档案顶部与明细列一一对齐：成交楼盘正对楼盘地址。 */
@media(min-width:901px){
  .newhouse-archive-unified-overview{grid-template-columns:9fr 25fr 14fr 18fr 18fr 10fr 6fr!important;gap:0!important;border:1px solid #dfeae4;border-radius:9px}
  .newhouse-archive-unified-overview .newhouse-archive-overview-item{border:0;border-right:1px solid #deebe4;border-radius:0}
  .newhouse-archive-unified-overview .newhouse-archive-overview-item:first-child{border-radius:8px 0 0 8px}
  .newhouse-archive-unified-overview .newhouse-archive-overview-item:last-child{border-right:0;border-radius:0 8px 8px 0}
  .newhouse-archive-unified-overview .newhouse-archive-overview-month{grid-column:1!important}
  .newhouse-archive-unified-overview .newhouse-archive-overview-project{grid-column:2!important}
  .newhouse-archive-unified-overview .newhouse-archive-overview-total{grid-column:3!important}
  .newhouse-archive-unified-overview .newhouse-archive-overview-people{grid-column:4 / span 2!important}
  .newhouse-archive-unified-overview .newhouse-archive-overview-count{grid-column:6 / span 2!important}
}
.newhouse-archive-role-count{display:flex;align-items:center;justify-content:center;gap:7px;color:#1d6b50!important;font-size:14px!important;line-height:1.2!important;white-space:nowrap}
.newhouse-archive-role-count span{font-weight:900}
.newhouse-archive-role-count i{color:#9aaba3;font-size:11px;font-style:normal}

/* M经理本人视图：一单一行，只突出真实成交人与本人新房业绩。 */
.newhouse-archive-unified-panel .newhouse-archive-personal-table th:nth-child(1),.newhouse-archive-unified-panel .newhouse-archive-personal-table td:nth-child(1){width:9%!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-personal-table th:nth-child(2),.newhouse-archive-unified-panel .newhouse-archive-personal-table td:nth-child(2){width:31%!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-personal-table th:nth-child(3),.newhouse-archive-unified-panel .newhouse-archive-personal-table td:nth-child(3){width:17%!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-personal-table th:nth-child(4),.newhouse-archive-unified-panel .newhouse-archive-personal-table td:nth-child(4){width:13%!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-personal-table th:nth-child(5),.newhouse-archive-unified-panel .newhouse-archive-personal-table td:nth-child(5){width:12%!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-personal-table th:nth-child(6),.newhouse-archive-unified-panel .newhouse-archive-personal-table td:nth-child(6){width:18%!important;text-align:center!important}
.newhouse-archive-personal-deal-person b{color:#184b39;font-size:13px;font-weight:900}
.newhouse-archive-personal-role{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:900;line-height:1.2}
.newhouse-archive-personal-role.deal{background:#eaf6ef;color:#147354}
.newhouse-archive-personal-role.cooperate{background:#f2eff9;color:#644890}
.newhouse-archive-personal-ratio{color:#506b60;font-size:13px!important;font-weight:900;font-variant-numeric:tabular-nums}
.newhouse-archive-personal-performance{color:#8d6a2b!important;font-size:14px!important;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(min-width:901px){
  .newhouse-archive-personal-overview{grid-template-columns:9fr 31fr 17fr 13fr 12fr 18fr!important}
  .newhouse-archive-personal-overview .newhouse-archive-overview-month{grid-column:1!important}
  .newhouse-archive-personal-overview .newhouse-archive-overview-project{grid-column:2!important}
  .newhouse-archive-personal-overview .newhouse-archive-overview-people{grid-column:3!important}
  .newhouse-archive-personal-overview .newhouse-archive-overview-count{grid-column:4 / span 2!important}
  .newhouse-archive-personal-overview .newhouse-archive-overview-total{grid-column:6!important}
}

/* 成交楼盘筛选内容与下方物业地址列的中心轴保持一致。 */
.newhouse-archive-unified-overview .newhouse-archive-overview-project{align-items:center;text-align:center}
.newhouse-archive-unified-overview .newhouse-archive-overview-project>span{width:100%;text-align:center}
.newhouse-archive-unified-overview .newhouse-archive-overview-project select{text-align:center;text-align-last:center}
.newhouse-archive-unified-panel .newhouse-archive-table .newhouse-archive-month-cell,
.newhouse-archive-unified-panel .newhouse-archive-table .newhouse-archive-address-cell,
.newhouse-archive-unified-panel .newhouse-archive-table .newhouse-archive-deal-total-cell,
.newhouse-archive-unified-panel .newhouse-archive-table .newhouse-archive-personal-performance{vertical-align:middle!important;text-align:center!important}
/* 分配业绩的表头、单元格和逐笔金额共用同一条中心轴。 */
.newhouse-archive-unified-panel .newhouse-archive-performance-head,
.newhouse-archive-unified-panel .newhouse-archive-performance-cell{padding-left:8px!important;padding-right:8px!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-performance-head .newhouse-archive-column-axis,
.newhouse-archive-unified-panel .newhouse-archive-performance-cell .newhouse-archive-person{box-sizing:border-box;display:grid;width:100%;margin:0;place-items:center;justify-content:stretch}
.newhouse-archive-unified-panel .newhouse-archive-performance-cell .newhouse-archive-performance-value{box-sizing:border-box;display:block;width:100%;text-align:center}
@media(min-width:901px){
  .newhouse-archive-unified-overview .newhouse-archive-overview-item{grid-row:1!important}
  .newhouse-archive-unified-overview .newhouse-archive-overview-month{padding-left:6px;padding-right:6px}
  .newhouse-archive-unified-overview .newhouse-archive-overview-month select{padding-left:5px;padding-right:18px;font-size:11px}
}

/* 经纪人新房档案：保留真实成交人，不显示成交人比例；本人成交时不显示合作区。 */
.newhouse-archive-unified-panel .newhouse-archive-agent-deal-head,
.newhouse-archive-unified-panel .newhouse-archive-agent-deal-person{vertical-align:middle!important;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-agent-deal-head{color:#2f6954;background:#f7fbf8;box-shadow:inset 0 -2px #c8e0d1}
.newhouse-archive-unified-panel .newhouse-archive-agent-deal-person b{color:#087553;font-size:13px;font-weight:900}
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation th:nth-child(1),
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation td:nth-child(1){width:9%}
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation th:nth-child(2),
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation td:nth-child(2){width:30%}
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation th:nth-child(3),
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation td:nth-child(3){width:14%}
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation th:nth-child(4),
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation td:nth-child(4){width:21%}
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation th:nth-child(5),
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation td:nth-child(5){width:16%;text-align:center!important}
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation th:nth-child(6),
.newhouse-archive-unified-panel .newhouse-archive-agent-table.no-cooperation td:nth-child(6){width:10%;text-align:center!important}
@media(min-width:901px){
  .newhouse-archive-agent-no-cooperation-panel .newhouse-archive-unified-overview{grid-template-columns:9fr 30fr 14fr 21fr 16fr 10fr!important}
  .newhouse-archive-agent-no-cooperation-panel .newhouse-archive-overview-month{grid-column:1!important}
  .newhouse-archive-agent-no-cooperation-panel .newhouse-archive-overview-project{grid-column:2!important}
  .newhouse-archive-agent-no-cooperation-panel .newhouse-archive-overview-total{grid-column:3!important}
  .newhouse-archive-agent-no-cooperation-panel .newhouse-archive-overview-people{grid-column:4!important}
  .newhouse-archive-agent-no-cooperation-panel .newhouse-archive-overview-count{grid-column:5 / span 2!important}
}

/* The manager's own income is a primary navigation action, not a passive metric. */
.manager-team-metrics>.manager-own-income{position:relative;border-color:#78bca4;background:#eef8f3;box-shadow:inset 3px 0 0 #14815d,0 4px 12px rgba(20,129,93,.09)}
.manager-team-metrics>.manager-own-income::after{content:'\2192';position:absolute;top:9px;right:10px;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#117b58;color:#fff;font-size:17px;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(17,123,88,.24)}
.manager-team-metrics>.manager-own-income span{padding-right:36px;color:#0e694b}
.manager-team-metrics>.manager-own-income b{color:#075c42}
.manager-team-metrics>.manager-own-income small{color:#39715e}
.manager-team-metrics>.manager-own-income:hover,.manager-team-metrics>.manager-own-income:focus-visible{border-color:#2d9874;background:#e5f5ed;box-shadow:inset 3px 0 0 #087553,0 7px 18px rgba(19,105,76,.18)}
.manager-team-metrics>.manager-own-income:hover::after,.manager-team-metrics>.manager-own-income:focus-visible::after{background:#075f45}
.salary-detail>.employee-tax-promotion{grid-column:2}
@media(max-width:760px){.salary-detail>.employee-tax-promotion{grid-column:auto}}

/* Pending commission uses warm amber; green remains reserved for received/completed income. */
.employee-unpaid-income{background:#fff4e3;box-shadow:inset 3px 0 0 #d58a1f}
.employee-unpaid-income>b{color:#8b5409}
.employee-unpaid-income small{color:#765c34}
.employee-unpaid-income-link:hover,.employee-unpaid-income-link:focus-visible{background:#ffedcf;box-shadow:inset 3px 0 0 #c5760d}
.detail-row.employee-unpaid-income-entry:hover,.detail-row.employee-unpaid-income-entry:focus-visible{background:#ffedcf;box-shadow:inset 0 0 0 1px #dfb36d}
.employee-unpaid-income-entry[aria-expanded="true"]{background:#ffedcf;box-shadow:inset 3px 0 0 #c5760d}
.employee-unpaid-income-panel{border-color:#e6c28b;background:#fffaf2}
.employee-unpaid-income-panel-head{color:#60400f}
.employee-unpaid-income-panel-head b{color:#985d08}
.employee-unpaid-income-table-wrap{border-color:#ead4b2}
.employee-unpaid-income-table th{background:#fff2dc;color:#5c421d}
.employee-unpaid-number,.employee-unpaid-commission-number{color:#985d08}
.employee-unpaid-income-table .employee-settlement-method small{color:#5c421d}
.employee-unpaid-income-material-tip{background:#fff0d6;color:#5c421d}
.employee-unpaid-income-material-tip b{color:#985d08}
.salary-income-compact .salary-detail .detail-row{box-sizing:border-box;min-height:60px;align-items:center}

/* Attendance rest days, company holidays, and compensatory leave. */
.attendance-settings-panel{padding:0;overflow:visible}
.attendance-settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;cursor:pointer;list-style:none;user-select:none}
.attendance-settings-toggle::-webkit-details-marker{display:none}
.attendance-settings-toggle h3{margin:0;color:#183f32;font-size:17px;font-weight:900}
.attendance-settings-toggle .small-note{margin:5px 0 0}
.attendance-settings-toggle-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:102px;min-height:34px;padding:0 12px;border:1px solid #bcd6ca;border-radius:7px;background:#f4faf7;color:#087553;font-size:12px;font-weight:900;white-space:nowrap}
.attendance-settings-toggle-action i{box-sizing:border-box;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.attendance-settings-toggle .close-label{display:none}
.attendance-settings-panel[open] .attendance-settings-toggle{border-bottom:1px solid #dce9e2}
.attendance-settings-panel[open] .attendance-settings-toggle .open-label{display:none}
.attendance-settings-panel[open] .attendance-settings-toggle .close-label{display:inline}
.attendance-settings-panel[open] .attendance-settings-toggle-action i{transform:rotate(225deg) translate(-1px,-1px)}
.attendance-settings-body{padding:16px 20px 7px}
.attendance-rest-setting,.attendance-holiday-setting{margin:0 0 13px;padding:13px;border:1px solid #d8e5de;border-radius:8px;background:#fff}
.attendance-setting-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.attendance-setting-section-head b{display:block;color:#234c3d;font-size:14px;font-weight:900}
.attendance-setting-section-head small{display:block;margin-top:3px;color:#668075;font-size:12px;font-weight:700;line-height:1.5}
.attendance-setting-section-head button{flex:0 0 auto;min-height:36px;border-color:#087553;color:#087553;font-size:12px;font-weight:900;white-space:nowrap}
.attendance-weekly-rest-editor{margin-bottom:13px}
.attendance-weekly-rest-layout{margin-top:12px;padding:10px 10px 9px;border:1px solid #d8e7df;border-radius:8px;background:#f8fcfa}
.attendance-weekly-rest-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.attendance-weekly-rest-summary-head b{color:#234c3d;font-size:13px;font-weight:900}
.attendance-weekly-rest-summary-head small{color:#668075;font-size:11px;font-weight:700}
.attendance-weekly-rest-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:12px}
.attendance-weekly-rest-layout .attendance-weekly-rest-grid{margin-top:0}
.attendance-weekly-rest-grid .attendance-weekly-duty-day{padding:8px}
.attendance-weekly-rest-grid .attendance-duty-people{height:150px;max-height:150px;margin-top:8px;overflow-y:auto}
.attendance-weekly-rest-grid .attendance-duty-people label{box-sizing:border-box;width:100%}
.attendance-rest-inline-summary{min-height:43px;margin-top:8px;padding-top:7px;border-top:1px dashed #d8e7df}
.attendance-rest-inline-summary-label{display:block;color:#668075;font-size:10px;font-weight:900;line-height:1.2}
.attendance-rest-inline-summary .attendance-weekly-summary-names{display:block;margin-top:4px;color:#315c4d;font-size:11px;font-weight:800;line-height:1.4}
.attendance-rest-inline-summary .attendance-weekly-summary-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px 7px;min-width:0;white-space:normal}
.attendance-rest-inline-summary .attendance-weekly-summary-name{display:block;flex:0 0 auto;white-space:nowrap;word-break:keep-all}
.attendance-weekly-summary{margin-top:12px;padding:11px 12px;border:1px solid #d8e7df;border-radius:8px;background:#f8fcfa}
.attendance-weekly-summary-head b{display:block;color:#234c3d;font-size:14px;font-weight:900}
.attendance-weekly-summary-head small{display:block;margin-top:3px;color:#668075;font-size:11px;font-weight:700;line-height:1.45}
.attendance-weekly-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}
.attendance-weekly-rest-summary .attendance-weekly-summary-grid{grid-template-columns:1fr;gap:6px}
.attendance-weekly-rest-summary .attendance-weekly-summary-day{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:8px;min-height:0;padding:7px 9px}
.attendance-weekly-rest-summary .attendance-weekly-summary-day b{padding-top:1px}
.attendance-weekly-rest-summary .attendance-weekly-summary-names{display:block;margin-top:0}
.attendance-weekly-rest-summary .attendance-weekly-summary-name-row{display:flex;flex-wrap:wrap;column-gap:10px;row-gap:2px;white-space:normal}
.attendance-weekly-summary-day{min-width:0;min-height:75px;padding:8px 9px;border:1px solid #dce9e2;border-radius:6px;background:#fff}
.attendance-weekly-summary-day b{display:block;color:#087553;font-size:12px;font-weight:900}
.attendance-weekly-summary-names{display:grid;grid-template-rows:repeat(2,minmax(18px,auto));align-content:start;gap:1px;margin-top:5px;color:#315c4d;font-size:12px;font-weight:800;line-height:1.5}
.attendance-weekly-summary-name-row{display:flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.attendance-weekly-summary-name{display:block;flex:0 0 auto;white-space:nowrap;word-break:keep-all}
.attendance-today-rest-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:11px 12px;border:1px solid #e4dfc8;border-radius:8px;background:#fffdf5}
.attendance-today-rest-summary b{display:block;color:#6f5a1c;font-size:14px;font-weight:900}
.attendance-today-rest-summary small{display:block;margin-top:3px;color:#887844;font-size:11px;font-weight:700}
.attendance-today-rest-summary strong{color:#6f5a1c;font-size:13px;font-weight:900;text-align:right;overflow-wrap:anywhere}
.attendance-holiday-form{display:grid;grid-template-columns:155px minmax(160px,1fr) 140px 140px auto;gap:8px;margin-top:12px}
.attendance-holiday-form input,.attendance-holiday-form select{box-sizing:border-box;min-width:0;height:38px;padding:0 9px;border:1px solid #cfe0d7;border-radius:6px;background:#fff;color:#234c3d;font:700 12px/1.2 inherit}
.attendance-holiday-form button{min-height:38px;border-color:#087553;color:#087553;font-size:12px;font-weight:900;white-space:nowrap}
.attendance-arrangement-people[hidden]{display:none!important}
.attendance-arrangement-people{margin-top:10px;padding:10px;border:1px solid #d9e7e0;border-radius:7px;background:#f8fbf9}
.attendance-arrangement-people-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.attendance-arrangement-people-head>div:first-child b{display:block;color:#234c3d;font-size:12px;font-weight:900}
.attendance-arrangement-people-head>div:first-child small{display:block;margin-top:2px;color:#6d8278;font-size:11px;font-weight:700}
.attendance-arrangement-people-head>div:last-child{display:flex;align-items:center;gap:6px;color:#547166;font-size:11px;font-weight:900}
.attendance-arrangement-people-head button{min-height:29px;padding:0 9px;border:1px solid #cfe0d7;border-radius:6px;background:#fff;color:#087553;font-size:11px;font-weight:900}
.attendance-arrangement-people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px;margin-top:9px}
.attendance-arrangement-people-grid label{display:flex;align-items:center;gap:6px;min-width:0;min-height:32px;padding:0 8px;border:1px solid #dce8e2;border-radius:6px;background:#fff;color:#315c4d;font-size:12px;font-weight:800;cursor:pointer}
.attendance-arrangement-people-grid label:has(input:checked){border-color:#9fcdb8;background:#e9f6ef;color:#087553}
.attendance-arrangement-people-grid input{flex:0 0 auto;width:15px;height:15px;accent-color:#087553}
.attendance-arrangement-people-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-holiday-list{display:grid;gap:6px;margin-top:10px}
.attendance-holiday-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border-top:1px solid #e7efeb;color:#34594b}
.attendance-holiday-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px 10px;min-width:0}
.attendance-arrangement-kind{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:24px;padding:0 7px;border-radius:5px;background:#eef3f0;color:#52665d;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}
.attendance-arrangement-kind.kind-companyTeamBuilding{background:#e6f3ec;color:#087553}
.attendance-arrangement-kind.kind-teamTrip{background:#eef3fb;color:#315f8a}
.attendance-holiday-row b{font-size:12px;font-weight:900}
.attendance-holiday-row small{min-width:0;color:#6d8278;font-size:12px;font-weight:700;white-space:normal}
.attendance-holiday-row button{flex:0 0 auto}
.leave-form .leave-date-field{box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;height:46px;padding:0 9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#315c4d;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.leave-form .leave-date-field[hidden]{display:none!important}
.leave-form .leave-date-field input{width:100%;min-width:0;height:36px;padding:0 3px;border:0;border-radius:0;background:transparent;color:#234c3d;font:800 12px/1.2 inherit;cursor:pointer;color-scheme:light}
.leave-form .leave-date-field:focus-within{border-color:#0b8f63;box-shadow:0 0 0 3px rgba(11,143,99,.1)}
.leave-form .leave-swap-date-field:not([hidden]){display:grid;border-color:#bdd8cc;background:#f5faf7}
@media(min-width:761px){.leave-form.compensatory-leave-mode{grid-template-columns:110px minmax(210px,1fr) minmax(190px,.9fr) minmax(220px,1.2fr) auto}}
@media(max-width:1100px){
  .attendance-holiday-form{grid-template-columns:150px minmax(150px,1fr) 140px 140px}
  .attendance-holiday-form button{grid-column:1/-1}
}
@media(max-width:760px){
  .employee-mode .attendance-month-panel,.manager-mode .attendance-month-panel{padding:16px 9px}
  .employee-mode .attendance-month-panel .panel-head,.manager-mode .attendance-month-panel .panel-head{padding:0 6px}
  .attendance-month-head{align-items:stretch;flex-direction:column;gap:10px}
  .attendance-month-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;box-sizing:border-box}
  .attendance-month-switch button{min-width:0;padding:0 5px;font-size:11px}
  .attendance-month-switch button:only-child{grid-column:1/-1}
  .attendance-long-leave-list{margin:0 6px 9px}
  .attendance-long-leave-item{grid-template-columns:1fr auto;gap:4px 8px;padding:8px;font-size:10px}
  .attendance-long-leave-item strong{font-size:10px}
  .attendance-long-leave-item em{grid-column:2;grid-row:1;font-size:9px}
  .attendance-month-calendar{gap:5px;margin-top:2px}
  .attendance-calendar-weekdays,.attendance-calendar-grid{gap:3px}
  .attendance-calendar-weekdays span{padding:3px 0;font-size:11px}
  .attendance-calendar-day{min-height:76px;padding:5px 4px 4px;border-radius:7px;gap:2px}
  .attendance-calendar-date{min-width:20px;height:20px;font-size:13px}
  .attendance-calendar-status{font-size:11px;line-height:1.15;white-space:nowrap;text-align:center;-webkit-line-clamp:1}
  .attendance-calendar-times{gap:0;font-size:9px;line-height:1.15}
  .attendance-calendar-times span{letter-spacing:-.05px}
  .attendance-bp-assist-panel>summary{align-items:flex-start;padding:14px}
  .attendance-bp-assist-body{padding:14px}
  .attendance-bp-assist-form{grid-template-columns:1fr 1fr}
  .attendance-bp-assist-note,.attendance-bp-assist-form .primary{grid-column:1/-1}
  .attendance-bp-assist-history{grid-template-columns:1fr}
  .attendance-current-time-panel{grid-template-columns:1fr;gap:12px;padding:15px}
  .attendance-current-time-title{padding:0 0 11px;border-right:0;border-bottom:1px solid #dbe8e1}
  .attendance-current-time-values{grid-template-columns:1fr 1fr;gap:12px}
  .attendance-season-setting-row{align-items:flex-start;flex-direction:column}
  .attendance-season-setting-times{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-content:stretch}
  .attendance-settings-toggle{align-items:flex-start;padding:15px}
  .attendance-settings-toggle-action{min-width:92px}
  .attendance-settings-body{padding:13px 15px 2px}
  .attendance-setting-section-head{flex-direction:column}
  .attendance-setting-section-head button{width:100%}
  .attendance-weekly-rest-grid{grid-template-columns:1fr 1fr}
  .attendance-weekly-summary-grid{grid-template-columns:1fr 1fr}
  .attendance-weekly-rest-summary .attendance-weekly-summary-grid{grid-template-columns:1fr}
  .attendance-today-rest-summary{align-items:flex-start;flex-direction:column;gap:5px}
  .attendance-today-rest-summary strong{text-align:left}
  .attendance-holiday-form{grid-template-columns:1fr}
  .attendance-holiday-form button{grid-column:auto}
  .attendance-holiday-row{align-items:flex-start}
  .attendance-holiday-summary{grid-template-columns:auto 1fr}
  .attendance-holiday-summary small{grid-column:1/-1}
  .attendance-arrangement-people-head{align-items:flex-start;flex-direction:column}
  .attendance-arrangement-people-grid{grid-template-columns:1fr 1fr}
  .employee-mode .leave-form .leave-swap-date-field:not([hidden]),.manager-mode .leave-form .leave-swap-date-field:not([hidden]){grid-column:1/-1;width:100%;min-width:0}
}
@media(max-width:480px){.attendance-weekly-rest-grid{grid-template-columns:1fr}}

/* 工资核算标题移到顶栏，与业绩核对标题保持同一字号和绿色。 */
.payroll-compact .topbar .eyebrow{display:none}
.payroll-compact .topbar h2{margin:0;color:#173c30;font-size:21px;font-weight:700;line-height:normal}
@media(min-width:901px){body.payroll-compact:not(.employee-mode):not(.manager-mode) .topbar>div:first-child{display:block;flex:0 1 auto;min-width:0}}

/* 工资核算表头参照业绩核对：文字加深，并与数据行形成清晰层次。 */
.payroll-compact .wage-calc-table thead tr:last-child>th{font-size:12px!important;font-weight:900!important;letter-spacing:.05px;border-bottom:2px solid #b9d8c9!important;box-shadow:0 3px 7px rgba(28,78,60,.08)}
.payroll-compact .wage-calc-table thead tr:last-child>th:not(.deduct-head):not(.prior-settlement-column-head):not(.unpaid-promotion-column-focus):not(.reconcile-purple-focus){background:#eef7f3!important;color:#245642!important}
.payroll-compact .wage-calc-table thead .wage-header-filter>span{color:#245642!important;font-size:12px!important;font-weight:900!important}

/* 工资核算938版：人员筛选、批量扣款和扣税提示共用同一条13列辅助行。 */
.payroll-compact .wage-person-filter{box-sizing:border-box;display:flex!important;width:auto;min-width:0;height:40px;align-items:center;margin:4px 0;padding:4px 3px!important;border:1px solid #d6e5de;border-radius:8px;background:#f6faf8;pointer-events:auto}
.payroll-compact .wage-toolbar-filter{box-sizing:border-box;width:100%;min-width:0;height:30px;padding:0 14px!important;border:1px solid #c6dcd1;border-radius:6px;background:#fff;color:#38594d;font:800 11px/1.1 "Microsoft YaHei UI","Microsoft YaHei",sans-serif;outline:none;cursor:pointer;text-align:center;text-align-last:center}
.payroll-compact .wage-toolbar-filter option{text-align:left}
.payroll-compact .wage-toolbar-filter:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.12)}
.payroll-compact .wage-calc-table thead th.wage-person-head{height:48px!important;padding:7px 5px!important;vertical-align:middle!important}

/* 工资核算仅移除“开始核算新月份”，其余功能在表格上方紧凑保留。 */
.payroll-compact .wage-panel>.salary-sheet-function-bar{flex:0 0 auto;justify-content:flex-end;min-height:32px;margin:0;padding:0 0 8px;border:0;background:transparent}
.payroll-compact .salary-sheet-function-bar .toolbar{display:flex;align-items:center;justify-content:flex-end;gap:7px;width:100%;margin:0}
.payroll-compact .salary-sheet-function-bar .outline{height:32px;padding:0 11px;border-color:#b9d5c8;background:#fff;color:#245642;font-size:11px;font-weight:900}

/* 批量扣款入口独立放在扣款明细列上方的空白区域。 */
.wage-deduction-shortcut{grid-column:8;align-self:center;display:flex;height:40px;align-items:center;justify-content:center;overflow:visible;pointer-events:auto;z-index:2}
.wage-deduction-shortcut button{display:flex;flex:0 0 126px;width:126px;height:30px;align-items:center;justify-content:center;margin:0;padding:0 10px;border:1px solid #e2c98f;border-radius:6px;background:#fff9ec;color:#755721;font-family:inherit;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 3px 8px rgba(117,87,33,.1)}
.wage-deduction-shortcut button:hover,.wage-deduction-shortcut button:focus-visible{border-color:#cda95f;background:#fff4dc;color:#6c4d12;outline:none;box-shadow:0 0 0 2px rgba(117,87,33,.13)}

/* 业绩核对不再展示经纪人／M店经理筛选；明细表默认完整呈现所有人员。 */
.performance-compact .performance-filter-group{display:none!important}

/* 桌面端：导入业绩是主操作，异常提醒只补齐左侧空白，汇总核算固定在右侧。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{
    grid-template-columns:170px minmax(0,1fr) 270px!important;
    gap:12px!important;
  }
  .performance-compact .performance-left-tools,
  .performance-compact .performance-pending-ledger-notice{
    width:170px!important;
    max-width:170px!important;
  }
  .performance-compact .performance-import-actions{
    gap:6px!important;
    padding:4px 7px!important;
  }
  .performance-compact .performance-import-actions>span{
    flex:0 0 58px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .performance-compact .performance-import-actions .performance-import-btn{
    font-size:10px!important;
  }
  .performance-compact .performance-import-actions .aplus-import{
    width:92px!important;flex-basis:92px!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import-entry{
    width:112px!important;min-width:112px!important;flex-basis:112px!important;
  }
  .performance-compact .performance-import-actions .newhouse-import{
    width:104px!important;flex-basis:104px!important;
  }
  .performance-compact .performance-import-actions .performance-undo-import-btn{
    width:112px!important;min-width:112px!important;flex-basis:112px!important;
  }
  .performance-compact .performance-import-actions .performance-undo-import-btn span{font-size:9px!important;line-height:12px}
  .performance-compact .performance-import-actions .performance-undo-import-btn small{font-size:8px!important;line-height:10px}
  .performance-compact .performance-next-action{padding-left:8px!important;padding-right:8px!important;gap:6px!important}
  .performance-compact .performance-next-action .next-performance-total span{font-size:10px!important}
  .performance-compact .performance-next-action .next-performance-total b{font-size:14px!important}
.performance-compact .performance-next-action .performance-confirm-row>span{font-size:9px!important}
  .performance-compact .performance-next-action .performance-confirm-btn{padding-left:8px!important;padding-right:8px!important;font-size:9px!important}
}

/* 业绩核对直接在现有人员列筛选，取消独立筛选行。 */
.performance-check-table thead .performance-header-filter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;line-height:1.15}
.performance-check-table thead .performance-header-filter>span{display:block;color:#245642;font-size:11px;font-weight:900;white-space:nowrap}
.performance-check-table thead .performance-inline-filter{box-sizing:border-box;width:100%;min-width:0;height:28px;padding:0 18px 0 5px;border:1px solid #c6dcd1;border-radius:6px;background:#fff;color:#38594d;font:800 10px/1.1 inherit;outline:none;cursor:pointer}
.performance-check-table thead .performance-inline-filter:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.12)}

/* 1280px桌面端给总计和确认按钮固定安全空间，剩余宽度优先给导入业绩。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{grid-template-columns:170px minmax(0,1fr) 310px!important}
  .performance-compact .performance-import-actions{gap:5px!important;padding:4px 6px!important}
  .performance-compact .performance-import-actions>span{flex:0 0 56px!important;font-size:10px!important}
  .performance-compact .performance-import-actions .aplus-import{width:84px!important;flex-basis:84px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-entry{width:100px!important;min-width:100px!important;flex-basis:100px!important}
  .performance-compact .performance-import-actions .newhouse-import{width:94px!important;flex-basis:94px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn{width:104px!important;min-width:104px!important;flex-basis:104px!important}
  .performance-compact .performance-next-action{gap:8px!important;padding-left:10px!important;padding-right:10px!important;overflow:visible!important}
  .performance-compact .performance-next-action .next-performance-total{flex:0 0 auto!important;min-width:136px!important;white-space:nowrap!important}
  .performance-compact .performance-next-action .performance-confirm-row{flex:0 0 auto!important;min-width:127px!important;white-space:nowrap!important}
  .performance-compact .performance-check-table thead th.performance-person-filter-head{width:120px!important;height:62px!important;padding:5px 4px!important;vertical-align:middle!important}
  .performance-compact .performance-check-table thead th.performance-person-filter-head:nth-child(2){width:124px!important}
}

/* 业绩核对897版：异常待确认加宽约1.5厘米，导入操作完整铺满中间区域。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{grid-template-columns:227px minmax(0,1fr) 310px!important}
  .performance-compact .performance-left-tools,
  .performance-compact .performance-pending-ledger-notice{width:227px!important;max-width:227px!important}
  .performance-compact .performance-import-actions{gap:5px!important;padding-left:6px!important;padding-right:6px!important;overflow:hidden!important}
  .performance-compact .performance-import-actions>span{flex:0 0 46px!important;width:46px!important}
  .performance-compact .performance-import-actions .aplus-import{width:auto!important;flex:1 1 83px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-entry{width:auto!important;min-width:0!important;flex:1.18 1 100px!important}
  .performance-compact .performance-import-actions .newhouse-table-import{width:100%!important}
  .performance-compact .performance-import-actions .newhouse-import{width:auto!important;flex:1.08 1 93px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn{width:auto!important;min-width:0!important;flex:1.05 1 91px!important}
}

/* 业绩核对898版：整条操作区加宽0.5厘米，前三个导入按钮等宽，撤回按钮窄1.5厘米。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{
    width:calc(100% + .5cm)!important;
    margin-left:-.25cm!important;
  }
  .performance-compact .performance-import-actions{
    display:grid!important;
    grid-template-columns:46px repeat(3,minmax(0,1fr)) max(72px,calc((100% - 9px)/4 - 1.5cm))!important;
    align-items:center!important;
    column-gap:5px!important;
  }
  .performance-compact .performance-import-actions>span,
  .performance-compact .performance-import-actions .aplus-import,
  .performance-compact .performance-import-actions .newhouse-table-import-entry,
  .performance-compact .performance-import-actions .newhouse-import,
  .performance-compact .performance-import-actions .performance-undo-import-btn{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import{width:100%!important}
}

/* 业绩核对899版：撤回按钮按原宽直接减1.5厘米，腾出的宽度均分给前三项。 */
@media(min-width:1100px){
  .performance-compact .performance-import-actions{
    grid-template-columns:52px repeat(3,minmax(0,1fr)) max(38px,calc((100% - 68px)/4 - 1.5cm))!important;
    column-gap:4px!important;
  }
  .performance-compact .performance-import-actions>span{
    display:flex!important;
    width:52px!important;
    align-items:center!important;
    justify-content:center!important;
    color:#315f50!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.4px!important;
    white-space:nowrap!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import{
    display:grid!important;
    grid-template-columns:10px minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:2px!important;
    padding:1px 2px!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import>span:first-child{
    margin:0!important;
    font-size:10px!important;
  }
  .performance-compact .performance-import-actions .performance-import-label{
    min-width:0!important;
    font-size:8px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import-badge{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    height:14px!important;
    margin:0!important;
    padding:0 2px!important;
    border:1px solid rgba(39,87,130,.28)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#24577f!important;
    font-size:9px!important;
    font-weight:950!important;
    line-height:12px!important;
    white-space:nowrap!important;
  }
  .performance-compact .performance-import-actions .performance-undo-import-btn{
    padding-left:2px!important;
    padding-right:2px!important;
  }
}
@media(min-width:1100px) and (max-width:1280px){
  .performance-compact .performance-import-actions .performance-undo-import-btn span{
    font-size:9px!important;
    line-height:10px!important;
    white-space:normal!important;
  }
  .performance-compact .performance-import-actions .performance-undo-import-btn small{display:none!important}
}

/* 业绩核对900版：撤回宽度以897版原状态为基准直接减1.5厘米。 */
@media(min-width:1100px){
  .performance-compact .performance-import-actions{
    grid-template-columns:52px repeat(3,minmax(0,1fr)) max(34px,calc((100% - 85px)/4 - 1.5cm))!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import-badge{
    height:15px!important;
    color:#194d75!important;
    font-size:10px!important;
    line-height:13px!important;
  }
}

/* 业绩核对902版：保持现有布局不动，只提高顶部操作区字体清晰度。 */
@media(min-width:1100px){
  .performance-compact .performance-pending-ledger-notice,
  .performance-compact .performance-pending-ledger-notice button,
  .performance-compact .performance-import-actions,
  .performance-compact .performance-import-actions button,
  .performance-compact .performance-next-action,
  .performance-compact .performance-next-action button{
    font-family:"Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
    text-shadow:none!important;
  }
  .performance-compact .performance-pending-ledger-notice b{
    color:#684000!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.1px!important;
  }
  .performance-compact .performance-pending-ledger-notice button{
    font-size:11px!important;
    font-weight:900!important;
  }
  .performance-compact .performance-import-actions>span{
    color:#205a47!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.3px!important;
  }
  .performance-compact .performance-import-actions .performance-import-btn{
    font-size:11px!important;
    font-weight:900!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
  .performance-compact .performance-import-actions .performance-import-label{
    color:#fff!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import-badge{
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  .performance-compact .performance-import-actions .performance-undo-import-btn span{
    font-size:10px!important;
    font-weight:900!important;
  }
  .performance-compact .performance-import-actions .performance-undo-import-btn small{
    color:#70490e!important;
    font-size:9px!important;
    font-weight:900!important;
  }
  .performance-compact .performance-next-action .next-performance-total span{
    color:#3e6658!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  .performance-compact .performance-next-action .next-performance-total b{
    color:#007755!important;
    font-size:16px!important;
    font-weight:950!important;
  }
  .performance-compact .performance-next-action .performance-confirm-row>span{
    color:#6b6558!important;
    font-size:10px!important;
    font-weight:900!important;
  }
  .performance-compact .performance-next-action .performance-confirm-btn{
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
}
@media(min-width:1400px){
  .performance-compact .performance-pending-ledger-notice b{font-size:13px!important}
  .performance-compact .performance-pending-ledger-notice button{font-size:12px!important}
  .performance-compact .performance-import-actions>span{font-size:13px!important}
  .performance-compact .performance-import-actions .performance-import-btn{font-size:12px!important}
  .performance-compact .performance-import-actions .performance-import-label{font-size:11px!important}
  .performance-compact .performance-import-actions .newhouse-table-import-badge{font-size:11px!important}
  .performance-compact .performance-import-actions .performance-undo-import-btn span{font-size:11px!important}
  .performance-compact .performance-next-action .next-performance-total span{font-size:12px!important}
  .performance-compact .performance-next-action .performance-confirm-row>span{font-size:11px!important}
  .performance-compact .performance-next-action .performance-confirm-btn{font-size:11px!important}
}
@media(min-width:1100px) and (max-width:1280px){
  .performance-compact .performance-import-actions .performance-undo-import-btn span{font-size:9px!important}
}

/* 业绩核对903版：新房表导入主文案与“需两份”分两行清晰显示。 */
@media(min-width:1100px){
  .performance-compact .performance-import-actions .newhouse-table-import{
    grid-template-columns:10px minmax(0,1fr)!important;
    grid-template-rows:17px 13px!important;
    column-gap:2px!important;
    row-gap:0!important;
    padding:1px 3px!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import>span:first-child{
    grid-column:1!important;
    grid-row:1 / 3!important;
    align-self:center!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import .performance-import-label{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:center!important;
    width:auto!important;
    max-width:100%!important;
    overflow:visible!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:12px!important;
    white-space:nowrap!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import .newhouse-table-import-badge{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    justify-self:center!important;
    height:13px!important;
    font-size:10px!important;
    line-height:11px!important;
  }
}

/* 业绩核对905版：“需2份表”紧跟新房业绩表主文案，不再单独显示标签。 */
@media(min-width:1100px){
  .performance-compact .performance-import-actions .newhouse-table-import{
    grid-template-columns:10px minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    column-gap:2px!important;
    padding:1px 3px!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import>span:first-child{
    grid-column:1!important;
    grid-row:1!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import .performance-import-label{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    max-width:100%!important;
    color:#fff!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:10px!important;
    text-align:center!important;
    white-space:normal!important;
  }
}
@media(min-width:1400px){
  .performance-compact .performance-import-actions .newhouse-table-import .performance-import-label{
    font-size:11px!important;
    line-height:12px!important;
    white-space:nowrap!important;
  }
}

/* 业绩核对906版：导入业绩与异常业绩待确认整体换序预览。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{
    grid-template-columns:minmax(0,1fr) 227px 310px!important;
  }
  .performance-compact .performance-import-actions{
    grid-column:1!important;
    grid-row:1!important;
  }
  .performance-compact .performance-left-tools{
    grid-column:2!important;
    grid-row:1!important;
  }
  .performance-compact .performance-next-action{
    grid-column:3!important;
    grid-row:1!important;
  }
}

/* 业绩核对907版：“需2份表”使用浅金色，与白色主文案清晰区分。 */
@media(min-width:1100px){
  .performance-compact .performance-import-actions .newhouse-table-import .performance-import-label .newhouse-table-inline-note{
    color:#ffe08a!important;
    font-size:inherit!important;
    font-weight:950!important;
    line-height:inherit!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    text-shadow:0 1px 1px rgba(24,64,96,.35)!important;
  }
}

/* 业绩核对908版：收紧右侧框内边距，保证本月业绩总计完整留在白色框内。 */
@media(min-width:1100px){
  .performance-compact .performance-control-area .performance-next-action{
    box-sizing:border-box!important;
    padding-left:5px!important;
    padding-right:5px!important;
    gap:4px!important;
    overflow:hidden!important;
  }
}

/* 业绩核对910版：宽屏下压缩右侧框内部内容，避免“本月业绩总计”越出左边框。 */
@media(min-width:1400px){
  .performance-compact .performance-next-action .next-performance-total{
    min-width:0!important;
    gap:4px!important;
  }
  .performance-compact .performance-next-action .next-performance-total span{
    font-size:11px!important;
  }
  .performance-compact .performance-next-action .next-performance-total b{
    font-size:15px!important;
  }
  .performance-compact .performance-next-action .performance-confirm-row{
    min-width:0!important;
    gap:3px!important;
  }
  .performance-compact .performance-next-action .performance-confirm-row>span{
    font-size:10px!important;
  }
  .performance-compact .performance-next-action .performance-confirm-btn{
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:10px!important;
  }
}

/* 业绩核对912版：人员筛选独立放在明细栏，表格表头恢复为普通列名。 */
.performance-table-summary strong{color:#087553;font-size:12px;font-weight:950;font-variant-numeric:tabular-nums}
.performance-person-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;min-width:0}
.performance-person-filter{display:grid;grid-template-rows:auto 30px;gap:3px;min-width:0;padding:5px 6px 6px;border:1px solid #d6e5de;border-radius:8px;background:#f6faf8}
.performance-person-filter>span{color:#245642;font-size:11px;font-weight:900;line-height:1.1;text-align:center;white-space:nowrap}
.performance-toolbar-filter{box-sizing:border-box;width:100%;min-width:0;height:30px;padding:0 24px 0 8px;border:1px solid #c6dcd1;border-radius:6px;background:#fff;color:#38594d;font:800 11px/1.1 "Microsoft YaHei UI","Microsoft YaHei",sans-serif;outline:none;cursor:pointer}
.performance-toolbar-filter:focus{border-color:#0b8f63;box-shadow:0 0 0 2px rgba(11,143,99,.12)}
@media(min-width:1100px){
  .performance-table-caption.has-person-filters{display:grid!important;grid-template-columns:auto minmax(270px,304px) minmax(0,1fr);align-items:center;gap:12px;padding-top:7px;padding-bottom:7px}
  .performance-table-caption.has-person-filters .performance-table-summary{grid-column:1;display:flex;align-items:center;gap:9px;white-space:nowrap}
  .performance-table-caption.has-person-filters .performance-person-filters{grid-column:2}
  .performance-table-caption.has-person-filters .performance-caption-actions{grid-column:3;justify-self:end}
  .performance-compact .performance-check-table thead th.performance-person-head{height:44px!important;padding:7px 5px!important;vertical-align:middle!important}
  .performance-compact .performance-check-table thead th.performance-person-head:first-child{width:120px!important}
  .performance-compact .performance-check-table thead th.performance-person-head:nth-child(2){width:124px!important}
}
@media(max-width:1099px){
  .performance-table-caption.has-person-filters{display:flex;flex-wrap:wrap;gap:8px 10px}
  .performance-table-caption.has-person-filters .performance-table-summary{order:1;flex:1 1 auto}
  .performance-table-caption.has-person-filters .performance-person-filters{order:2;flex:1 1 260px}
  .performance-table-caption.has-person-filters .performance-caption-actions{order:3;flex:1 1 100%;justify-content:flex-end}
}

/* 业绩核对913版：筛选栏与下方M店经理、经纪人姓名两列直接对齐。 */
@media(min-width:1100px){
  .performance-table-caption.has-person-filters{
    grid-template-columns:244px auto minmax(0,1fr);
    column-gap:14px;
    padding-left:4px;
    padding-right:18px;
  }
  .performance-table-caption.has-person-filters .performance-person-filters{
    grid-column:1;
    grid-row:1;
    grid-template-columns:118px 122px;
    gap:4px;
    width:244px;
  }
  .performance-table-caption.has-person-filters .performance-table-summary{
    grid-column:2;
    grid-row:1;
  }
  .performance-table-caption.has-person-filters .performance-caption-actions{
    grid-column:3;
    grid-row:1;
  }
}

/* 业绩核对915版：移除筛选框上方重复标题，并精简默认筛选文案。 */
.performance-person-filter{
  display:flex!important;
  align-items:center;
  grid-template-rows:none;
  gap:0;
  padding:4px 6px;
}
.performance-person-filter>span{display:none!important}
.performance-table-caption .performance-table-summary>span:first-child{
  display:inline-flex;
  align-items:baseline;
  gap:2px;
  padding:5px 9px;
  border:1px solid #b9ddcd;
  border-radius:999px;
  background:#edf9f3;
  color:#16805d;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.performance-table-caption .performance-table-summary>span:first-child strong{
  color:#00885e;
  font-size:14px;
  font-weight:950;
}

/* 业绩核对916版：筛选框选中内容居中，与下方人员列中心对应。 */
.performance-toolbar-filter{
  padding-left:22px!important;
  padding-right:22px!important;
  text-align:center;
  text-align-last:center;
}
.performance-toolbar-filter option{text-align:left}

/* 业绩核对917版：释放下拉框内部空间，完整显示“M店经理”。 */
.performance-person-filter{padding-left:3px;padding-right:3px}
.performance-toolbar-filter{
  padding-left:14px!important;
  padding-right:14px!important;
}

/* 业绩核对918版：导入、异常待确认和本月总计三个板块统一水平线。 */
@media(min-width:1100px){
  .performance-compact .performance-import-actions,
  .performance-compact .performance-pending-ledger-notice,
  .performance-compact .performance-next-action{
    box-sizing:border-box!important;
    height:51px!important;
    min-height:51px!important;
    max-height:51px!important;
  }
  .performance-compact .performance-import-actions{
    align-items:center!important;
  }
  .performance-compact .performance-left-tools{
    height:51px!important;
    align-self:stretch!important;
  }
  .performance-compact .performance-pending-ledger-notice{
    align-self:stretch!important;
    margin:0!important;
    align-items:center!important;
  }
}

/* 业绩核对919版：订单明细按钮左边缘与总业绩列左侧竖线对齐。 */
@media(min-width:1100px){
  .performance-caption-actions>.performance-orders-entry{
    box-sizing:border-box;
    width:133px;
    min-width:133px;
    flex:0 0 133px;
  }
}

/* Align the income and expense header totals with their matching amount columns. */
@media (min-width:761px){
  .cashflow-ledger-column>header{padding-right:0}
  .cashflow-ledger-column>header strong{box-sizing:border-box;flex:0 0 100px;width:100px;text-align:center;font-size:17px}
}

/* 生日提醒：阳历/阴历按员工单独设置，桌面端与手机端共用。 */
.birthday-reminder-panel{border-color:#ead9b1;background:linear-gradient(135deg,#fffdf7 0%,#fff 58%,#f5fbf7 100%)}
.birthday-reminder-panel>.panel-head{align-items:flex-start;margin-bottom:14px}
.birthday-reminder-panel>.panel-head h3{color:#72521e}
.birthday-reminder-panel>.panel-head .small-note{max-width:720px;margin-top:5px;line-height:1.55}
.birthday-reminder-block{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 14px;margin-top:10px;padding:12px 14px;border:1px solid #e3ebe6;border-radius:14px;background:#fff}
.birthday-reminder-block>b{grid-row:1/-1;align-self:start;padding:5px 0;color:#537064;font-size:13px}
.birthday-reminder-block.is-today{border-color:#e8c879;background:#fffaf0}
.birthday-reminder-block.is-today>b{color:#a26b04}
.birthday-reminder-row{grid-column:2;display:flex;align-items:center;justify-content:space-between;min-height:43px;gap:14px;padding:7px 0;border-bottom:1px dashed #e7ece9}
.birthday-reminder-row:last-child{border-bottom:0}
.birthday-reminder-row>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.birthday-reminder-row strong{color:#22342d;font-size:15px;white-space:nowrap}
.birthday-reminder-row span{color:#73817b;font-size:12px}
.birthday-reminder-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end}
.birthday-reminder-actions .table-action{min-width:96px;margin:0}
.birthday-order-action{border-color:#d8ac4d!important;background:#fff5d9!important;color:#825600!important;font-weight:800!important}
.birthday-reminder-status{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:6px 10px;border-radius:999px;background:#eef3f0;color:#607068;font-size:12px;font-weight:800}
.birthday-reminder-status.ordered{background:#fff1ce;color:#8d6105}
.birthday-reminder-status.done{background:#e7f6ed;color:#167348}
.birthday-reminder-empty{padding:16px;border:1px dashed #d9e3de;border-radius:13px;background:rgba(255,255,255,.72);color:#697871;text-align:center;font-size:13px}
.birthday-missing-note{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:11px 13px;border-radius:12px;background:#f5f7f6;color:#68736f}
.birthday-missing-note>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.birthday-missing-note b{flex:0 0 auto;color:#4c5a54;font-size:12px}
.birthday-missing-note span{overflow:hidden;color:#7d8984;font-size:11px;white-space:nowrap;text-overflow:ellipsis}
.birthday-missing-note button{flex:0 0 auto}
.employee-birthday-blessing{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:15px 18px;border:1px solid #efd18d;border-radius:17px;background:linear-gradient(135deg,#fff7df,#fffdf8 56%,#eef9f2);box-shadow:0 8px 24px rgba(131,91,20,.08)}
.employee-birthday-blessing>span{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#e5ad35;color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em}
.employee-birthday-blessing b{color:#754e0f;font-size:17px}
.employee-birthday-blessing p{margin:4px 0 0;color:#7b705f;font-size:12px;line-height:1.5}
.birthday-top-reminder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:10px 14px;border:1px solid #e9d094;border-radius:13px;background:#fff9e9;color:#6e531e;text-align:left;cursor:pointer}
.birthday-top-reminder:hover{border-color:#dcb65e;background:#fff5d7}
.birthday-top-reminder>span{font-size:12px;font-weight:900;white-space:nowrap}
.birthday-top-reminder>b{overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
.birthday-top-reminder>small{color:#8c7650;font-size:11px;white-space:nowrap}
.birthday-top-reminder.is-today{border-color:#e1ad42;background:#fff2cc}

@media(max-width:760px){
  .birthday-reminder-panel>.panel-head{gap:8px}
  .birthday-reminder-panel>.panel-head .badge{align-self:flex-start;white-space:nowrap}
  .birthday-reminder-block{grid-template-columns:1fr;padding:11px 12px}
  .birthday-reminder-block>b{grid-row:auto;padding:0 0 7px}
  .birthday-reminder-row{grid-column:1;align-items:flex-start}
  .birthday-reminder-row>div:first-child{display:grid;gap:2px}
  .birthday-reminder-actions .table-action{min-width:84px;padding:6px 8px;font-size:11px}
  .birthday-missing-note{align-items:flex-start}
  .birthday-missing-note>div{display:grid;gap:3px}
  .birthday-missing-note span{max-width:180px}
  .employee-birthday-blessing{align-items:flex-start;padding:13px 14px}
  .employee-birthday-blessing>span{padding:6px 8px}
  .employee-birthday-blessing b{font-size:15px}
  .birthday-top-reminder{grid-template-columns:1fr auto;gap:4px 8px;padding:10px 12px}
  .birthday-top-reminder>span,.birthday-top-reminder>b{grid-column:1}
  .birthday-top-reminder>small{grid-column:2;grid-row:1/3;align-self:center;max-width:118px;white-space:normal;text-align:right;line-height:1.4}
}

/* 小组与员工：表头与内容严格共用中心线，岗位、生日和入职信息完整显示。 */
.groups-mode .people-table{width:100%;min-width:960px!important;table-layout:fixed}
.groups-mode .people-table th:nth-child(1),.groups-mode .people-table td:nth-child(1){width:84px}
.groups-mode .people-table th:nth-child(2),.groups-mode .people-table td:nth-child(2){width:84px}
.groups-mode .people-table th:nth-child(3),.groups-mode .people-table td:nth-child(3){width:132px}
.groups-mode .people-table th:nth-child(4),.groups-mode .people-table td:nth-child(4){width:106px}
.groups-mode .people-table th:nth-child(5),.groups-mode .people-table td:nth-child(5){width:114px}
.groups-mode .people-table th:nth-child(6),.groups-mode .people-table td:nth-child(6){width:96px}
.groups-mode .people-table th:nth-child(7),.groups-mode .people-table td:nth-child(7){width:84px}
.groups-mode .people-table th:nth-child(8),.groups-mode .people-table td:nth-child(8){width:126px}
.groups-mode .people-table th:nth-child(9),.groups-mode .people-table td:nth-child(9){width:144px}

/* 生日设置：阳历/阴历只录月日，并即时显示当年阳历日期。 */
.bank-account-dialog{width:min(680px,calc(100vw - 32px))}.bank-card-preview-dialog{width:min(460px,calc(100vw - 32px))}.bank-card-preview{display:flex;flex-direction:column;align-items:center;gap:8px;margin:18px 0 4px;padding:22px 18px;border:1px solid #d9e9e1;border-radius:12px;background:linear-gradient(145deg,#f6fbf8,#edf8f2);text-align:center}.bank-card-preview-label{color:#5c7569;font-size:11px;font-weight:900}.bank-card-preview-number{color:#174c3a;font-size:22px;letter-spacing:2px;line-height:1.4;font-variant-numeric:tabular-nums;word-break:break-all}.bank-card-preview-bank{color:#71847b;font-size:12px;font-weight:800}
.birthday-rule-editor{grid-column:1/-1;box-sizing:border-box;padding:13px 14px;border:1px solid #dce9e2;border-radius:10px;background:linear-gradient(135deg,#f6fbf8,#fff)}
.birthday-rule-editor-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}
.birthday-rule-editor-head b{color:#24483b;font-size:13px;font-weight:900}
.birthday-rule-editor-head span{color:#71827a;font-size:10px;line-height:1.45;text-align:right}
.birthday-rule-fields{display:grid;grid-template-columns:minmax(120px,1.15fr) repeat(2,minmax(94px,1fr)) auto;align-items:end;gap:10px}
.birthday-rule-field,.bank-account-form .birthday-rule-field{display:flex!important;min-width:0;flex-direction:column;align-items:stretch!important;gap:5px!important}
.birthday-rule-field>span,.bank-account-form .birthday-rule-field>span{color:#52685f!important;font-size:10px!important;font-weight:900!important;line-height:1.2}
.birthday-rule-field select{box-sizing:border-box;width:100%;height:38px;padding:0 28px 0 10px;border:1px solid #cfe0d7;border-radius:7px;background:#fff;color:#24483b;font-family:inherit;font-size:12px;font-weight:800;outline:none}
.birthday-rule-field select:focus{border-color:#0b8f63;box-shadow:0 0 0 3px rgba(11,143,99,.1)}
.birthday-rule-leap,.bank-account-form .birthday-rule-leap{display:flex!important;min-width:88px;height:38px;box-sizing:border-box;align-items:center!important;justify-content:center;gap:7px!important;padding:0 10px;border:1px solid #d7e5de;border-radius:7px;background:#fff;color:#536b61;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer}
.birthday-rule-leap[hidden]{display:none!important}
.birthday-rule-leap input{width:15px!important;height:15px!important;margin:0;accent-color:#0b8f63}
.birthday-rule-preview{margin-top:10px;padding:9px 11px;border-radius:8px;background:#eaf7f0;color:#176c4e;font-size:11px;font-weight:900;line-height:1.45}
.employee-birth-date{line-height:1.3}
.employee-birth-rule,.employee-birth-solar,.employee-birth-next{display:block}
.employee-birth-rule{color:#315c4d;font-size:11px;font-weight:900}
.employee-birth-solar{margin-top:4px;color:#176c4e;font-size:11px;font-weight:900;line-height:1.35;white-space:nowrap}
.employee-birth-next{margin-top:3px;color:#5d756b;font-size:9px;font-weight:900;line-height:1.3;white-space:nowrap}
.employee-birth-countdown{display:inline-flex;min-height:19px;box-sizing:border-box;align-items:center;justify-content:center;margin-top:4px;padding:2px 7px;border:1px solid #c9dfd5;border-radius:999px;background:#eef8f3;color:#087553;font-size:9px;font-weight:900;line-height:1;white-space:nowrap}
.employee-birth-countdown.is-soon{border-color:#e7c373;background:#fff7dd;color:#936407}
.employee-birth-countdown.is-today{border-color:#dda94a;background:#f4c85f;color:#5e4000}
.employee-employment-date{line-height:1.3;font-variant-numeric:tabular-nums}
.employee-employment-date-value,.employee-employment-tenure,.employee-employment-hint{display:block}
.employee-employment-date-value{color:#315c4d;font-size:11px;font-weight:900;white-space:nowrap}
.employee-employment-tenure{margin-top:4px;color:#087553;font-size:9px;font-weight:900;white-space:nowrap}
.employee-employment-missing{display:block;color:#a06a23;font-size:10px;font-weight:900}
.employee-employment-hint{margin-top:3px;color:#8d9b95;font-size:8px;font-weight:800;white-space:nowrap}
@media(max-width:620px){
  .birthday-rule-editor{padding:12px}
  .birthday-rule-editor-head{display:grid;gap:3px}
  .birthday-rule-editor-head span{text-align:left}
  .birthday-rule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .birthday-rule-leap,.bank-account-form .birthday-rule-leap{min-width:0}
}
body.shared-employee-device .side-user{
  grid-template-columns:36px minmax(0,1fr);
  row-gap:10px;
}
body.shared-employee-device #logoutBtn{
  grid-column:1/-1;
  width:100%;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255,220,214,.9);
  border-radius:11px;
  background:#fff3f0;
  color:#a3342b;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  font-weight:850;
  box-shadow:0 7px 18px rgba(73,14,7,.18);
}
body.shared-employee-device #logoutBtn span{font-size:18px;line-height:1;}
body.shared-employee-device #logoutBtn b{font:inherit;}
body.shared-employee-device #logoutBtn:hover,
body.shared-employee-device #logoutBtn:focus-visible{
  background:#fff;
  border-color:#ffc0b6;
  color:#84251f;
  outline:none;
  box-shadow:0 0 0 3px rgba(255,192,182,.2),0 8px 20px rgba(73,14,7,.2);
}
body.shared-employee-device .login-entry-hint{
  margin:12px 0 18px;
  padding:11px 13px;
  border:1px solid #f0d6ad;
  border-radius:10px;
  background:#fff9ec;
  color:#6e4d13;
  font-weight:750;
  line-height:1.55;
}
body.shared-employee-device #password.shared-password-text-security{
  -webkit-text-security:disc;
}
.attendance-late-review-trigger{appearance:none;min-height:27px;padding:3px 9px;border:1px solid #d5bb81;border-radius:6px;background:#fff9eb;color:#805815;font-size:11px;font-weight:900;cursor:pointer}
.attendance-late-review-trigger:hover,.attendance-late-review-trigger:focus-visible{border-color:#9d7a37;background:#fff2d4;color:#68480f;outline:none}
.attendance-late-review-row td{padding:0!important;border-top:0!important;background:#fffaf0!important}
.attendance-late-review-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;padding:14px 16px 15px;border:1px solid #e3d1a8;border-top:0;border-radius:0 0 7px 7px;background:#fffaf0;text-align:left}
.attendance-late-review-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #ede2c9}
.attendance-late-review-head b,.attendance-late-review-head small{display:block}
.attendance-late-review-head b{color:#4b452e;font-size:14px;font-weight:900}
.attendance-late-review-head small{margin-top:3px;color:#756c53;font-size:11px;font-weight:700}
.attendance-late-review-head button{min-height:30px;padding:0 10px;border:1px solid #d8cfb8;border-radius:6px;background:#fff;color:#635b47;font-size:11px;font-weight:800;cursor:pointer}
.attendance-late-review-form label{display:grid;gap:5px;min-width:0}
.attendance-late-review-form label>span{color:#665a3e;font-size:11px;font-weight:800}
.attendance-late-review-form input,.attendance-late-review-form select{box-sizing:border-box;width:100%;height:37px;padding:0 9px;border:1px solid #d9cda9;border-radius:6px;background:#fff;color:#352f20;font:inherit;font-size:12px;font-weight:700;outline:none}
.attendance-late-review-form input:focus,.attendance-late-review-form select:focus{border-color:#987736;box-shadow:0 0 0 3px rgba(152,119,54,.12)}
.attendance-late-review-reason{grid-column:span 2}
.attendance-late-review-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:3px}
.attendance-late-review-foot p{margin:0;color:#766c54;font-size:11px;font-weight:700;line-height:1.45}
.attendance-late-review-foot .primary{min-height:36px;margin:0;padding:0 14px;white-space:nowrap}
@media(max-width:760px){
  .attendance-admin-mode .attendance-late-review-row{padding:0;border-color:#e3d1a8;background:#fffaf0}
  .attendance-admin-mode .attendance-late-review-row td{display:block;padding:0!important;text-align:left}
  .attendance-admin-mode .attendance-late-review-row td::before{display:none}
  .attendance-admin-mode .attendance-late-review-form{grid-template-columns:1fr;padding:13px;border:0;border-radius:7px}
  .attendance-admin-mode .attendance-late-review-head,.attendance-admin-mode .attendance-late-review-foot,.attendance-admin-mode .attendance-late-review-reason{grid-column:1}
  .attendance-admin-mode .attendance-late-review-foot{align-items:stretch;flex-direction:column}
  .attendance-admin-mode .attendance-late-review-foot .primary{width:100%}
}

/* Computer attendance external-work period controls */
.attendance-inline-field-direction{display:flex;gap:8px;align-items:center;margin:10px 0 14px;padding:0;background:transparent}
.attendance-inline-field-direction button{display:inline-flex!important;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border:1px solid #b7d7c9;border-radius:6px;background:#fff;color:#176b4b;cursor:pointer!important;pointer-events:auto!important;font:inherit;font-size:14px;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease}
.attendance-inline-field-direction button:hover{background:#e8f6ef;border-color:#17845b}
.attendance-inline-field-direction button.active{background:#087f59;color:#fff;border-color:#087f59;font-weight:600}
.attendance-inline-field-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 12px;border:1px solid #cfe2d8;border-radius:8px;background:#fff}
.attendance-inline-field-group[hidden]{display:none!important}
.attendance-inline-field-group label{display:grid;gap:6px}
.attendance-inline-field-group .attendance-inline-field-explanation{grid-column:auto}
@media (max-width:700px){.attendance-inline-field-group{grid-template-columns:1fr}.attendance-inline-field-group-title{grid-column:1}}

/* 业绩核对1238版：撤回按钮移出导入业绩框、紧贴异常业绩待确认左侧；二手/新房两个导入按钮平分导入框。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{
    grid-template-columns:minmax(0,1fr) auto 227px 310px!important;
    column-gap:10px!important;
  }
  .performance-compact .performance-import-actions{
    grid-column:1!important;grid-row:1!important;
    display:grid!important;
    grid-template-columns:auto repeat(2,minmax(0,1fr))!important;
    column-gap:5px!important;
    align-items:center!important;
  }
  .performance-compact .performance-import-actions>span.import-actions-lead,
  .performance-compact .performance-import-actions>span{
    box-sizing:border-box!important;width:auto!important;flex:none!important;
    display:flex!important;align-items:center!important;gap:4px!important;
    padding:0 9px 0 6px!important;
    color:#153f31!important;font-size:13.5px!important;font-weight:950!important;letter-spacing:.5px!important;white-space:nowrap!important;
  }
  .performance-compact .performance-import-actions .performance-import-icon{width:24px!important;height:24px!important;margin:0!important;border-radius:4px;flex:0 0 auto}
  .performance-compact .performance-import-actions .aplus-import,
  .performance-compact .performance-import-actions .newhouse-table-import-entry{
    width:100%!important;min-width:0!important;flex:none!important;
  }
  .performance-compact .performance-import-actions .newhouse-table-import{
    display:flex!important;align-items:center!important;justify-content:center!important;column-gap:4px!important;
  }
  .performance-compact .performance-import-actions .performance-import-label{
    font-size:11px!important;line-height:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .performance-compact .performance-action-group>.performance-undo-import-btn{
    grid-column:2!important;grid-row:1!important;
    align-self:center!important;justify-self:end!important;
    box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;
    height:44px!important;padding:3px 12px!important;
  }
  .performance-compact .performance-action-group>.performance-undo-import-btn span{font-size:11px!important;line-height:14px!important;white-space:nowrap!important}
  .performance-compact .performance-action-group>.performance-undo-import-btn small{font-size:9px!important;line-height:12px!important;white-space:nowrap!important}
  .performance-compact .performance-left-tools{grid-column:3!important;grid-row:1!important}
  .performance-compact .performance-next-action{grid-column:4!important;grid-row:1!important}
}

/* 业绩核对1247版：「二手」标签深绿字；导入按钮/确认按钮/异常业绩标题四处文案字号统一12px。 */
.performance-import-btn .import-tag-secondhand{color:#14532d!important}
@media(min-width:1100px){
  .performance-compact .performance-import-actions .performance-import-btn{font-size:12px!important}
  .performance-compact .performance-import-actions .performance-import-label{font-size:12px!important;line-height:15px!important}
  .performance-compact .performance-next-action .performance-confirm-btn{font-size:12px!important}
  .performance-compact .performance-pending-ledger-notice b{font-size:12px!important}
}

/* 业绩核对1248版：本月业绩总计永不隐藏——总计列改auto自适应，禁止裁切/换行/省略号。 */
@media(min-width:1100px){
  .performance-compact .performance-top-tools{grid-template-columns:minmax(0,1fr) auto 227px auto!important}
  .performance-compact .performance-next-action{
    overflow:visible!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .performance-compact .performance-next-action .next-performance-total{
    display:flex!important;align-items:baseline!important;
    flex:0 0 auto!important;min-width:0!important;max-width:none!important;
    overflow:visible!important;white-space:nowrap!important;text-overflow:clip!important;
  }
  .performance-compact .performance-next-action .next-performance-total span,
  .performance-compact .performance-next-action .next-performance-total b{
    overflow:visible!important;white-space:nowrap!important;text-overflow:clip!important;
  }
  .performance-compact .performance-next-action .performance-confirm-row{flex:0 0 auto!important;white-space:nowrap!important}
}

/* ===== 1249版：全站视觉统一（只追加覆盖，不动历史规则，可整体回退） ===== */
/* 1. 各页面标题统一18px（业绩核对主标题20px），不再15/17/21混用 */
.panel .panel-head h3{font-size:18px!important}
.performance-title-block h3{font-size:20px!important}
/* 2. 各页面标题下的说明文字统一12.5px */
.panel-head p,.performance-title-block p{font-size:12.5px!important}
/* 3. 业绩核对表格字号地板统一12px（原10/11px的提上来，12以上的不动） */
.performance-check-table td{font-size:12px!important}
.performance-check-table thead .performance-header-filter>span{font-size:11.5px!important}

/* ===== 1251版：第二批回炉——只保留表格正文地板12px，不动表头、不动面板内边距 ===== */
.wage-calc-table td,.unsettled-table td,.abnormal-ledger-table td,
.performance-detail-table td,.performance-inline-ledger-table td,
.prior-settlement-inline-table-wrap td{font-size:12px!important}

/* ===== 1252版：第三批——业绩核对/工资核算表格对齐「店面月度收支」的舒展节奏 ===== */
/* 收支页参数：td padding 9px 7px、正文12-13px、行高1.4。照此对齐，覆盖历史的6px 3px+10px压缩规则 */
.performance-check-table td{font-size:13px!important;padding:9px 6px!important;line-height:1.4!important}
.wage-calc-table td{font-size:13px!important;padding:9px 6px!important;line-height:1.4!important}
.performance-detail-table td,.performance-inline-ledger-table td,.abnormal-ledger-table td,.unsettled-table td{font-size:12.5px!important;padding:8px 6px!important}

/* ===== 1253版：第四批——业绩核对筛选框放大，对齐全站舒展节奏 ===== */
.performance-person-filter{grid-template-rows:auto 38px!important;gap:5px!important;padding:7px 10px 8px!important}
.performance-person-filter>span{font-size:12.5px!important}
.performance-person-filter select,.performance-person-filter .filter-select{height:38px!important;max-width:none!important;font-size:13px!important;padding:0 10px!important}
.performance-table-summary{font-size:13px!important}
.performance-table-summary strong{font-size:15px!important}

/* ===== 1255版：业绩核对/工资核算左侧栏恢复与全站一致（252px+30px内边距+44px菜单钮16px字号），覆盖761px以上全部桌面窗口宽度（1254只盖了1100+，761-1100缝隙漏掉）；20261009-1277 与全局基准(4046行的252px、1260的30px、nav 16px)最终对齐 ===== */
@media(min-width:761px){
  .performance-compact .app-shell,.payroll-compact .app-shell,.disbursement-compact .app-shell{grid-template-columns:252px minmax(0,1fr)!important}
  .disbursement-compact .sidebar{padding:30px!important}
  .disbursement-compact .side-brand{padding:0 8px 32px!important}
  .disbursement-compact .nav-btn{height:44px!important;padding:0 14px!important;font-size:16px!important}
  .performance-compact .sidebar,.payroll-compact .sidebar{padding:30px!important}
  .performance-compact .side-brand,.payroll-compact .side-brand{padding:0 8px 32px!important}
  .performance-compact .nav-btn,.payroll-compact .nav-btn{height:44px!important;padding:0 14px!important;font-size:16px!important}
  .performance-compact .sidebar nav,.payroll-compact .sidebar nav{gap:7px!important}
}

/* ===== 1257版：左侧绿栏与右侧内容之间统一留0.8cm(30px)空隙，全站所有页面一致 ===== */
.app-shell{column-gap:16px!important}

/* ===== 1259版（已撤回：老板澄清不是页面四周，保持原 12/14/16） ===== */
.content{padding:12px 14px 16px!important}

/* ===== 1260版：侧边栏绿底与白色菜单项之间统一0.8cm(30px)，所有页面一致 ===== */
.sidebar,.performance-compact .sidebar,.payroll-compact .sidebar,.disbursement-compact .sidebar,.salary-income-compact .sidebar{padding:30px!important}

/* ===== 1262版：隐藏侧边栏滚动条竖杠（老板要求），滚动功能保留 ===== */
.sidebar nav{padding-right:0!important;scrollbar-width:none!important;-ms-overflow-style:none!important}
.sidebar nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

/* ===== 1263版：绿栏→白卡距离精调为物理0.8cm =====
   AOC 23.8寸 1920x1080 @100%缩放，ppi≈92.6，0.8cm=29.2px
   取29px：column-gap 15px + content padding-left 14px */
.app-shell{column-gap:15px!important}

/* ===== 1264版：业绩核对页筛选框距绿栏与其他页面统一 ===== */
.performance-table-caption.has-person-filters{padding-left:0!important}
.performance-person-filter{padding-left:0!important}

/* ===== 1265版：全站内容卡左缘统一29px(0.8cm)——去各panel左内边距 ===== */
.content .panel{padding-left:0!important}
.cashflow-dual-ledger{padding-left:0!important}

/* ===== 1266版：绿栏与内容无缝连接（老板要求：所有的都不留缝隙） ===== */
.app-shell{column-gap:0!important}
.content{padding-left:0!important}

/* ===== 1267版：全站圆弧风格 + 白卡离绿边0.7cm(26px，按AOC 23.8寸实测ppi换算) ===== */
.app-shell{column-gap:12px!important}
.content{padding-left:14px!important}
.content .panel{padding-left:16px!important;padding-right:16px!important;border-radius:17px!important}

/* ===== 1268版：月度收支/实发拆分页补齐圆弧风格（全站统一17px） ===== */
.cashflow-dual-ledger{border-radius:17px!important}
.cashflow-side-table-wrap{border-radius:12px!important}
.disbursement-head{border-radius:17px 17px 0 0!important}
.disbursement-table-wrap{border-radius:12px!important}
.individual-household-panel{border-radius:12px!important}

/* 20261009-1269：工资核算页标题移入白卡（左标题右按钮），顶部全局大标题隐藏 */
.payroll-compact .wage-panel>.salary-sheet-function-bar{justify-content:space-between!important;min-height:40px!important;padding:0 0 12px!important}
.payroll-compact .salary-sheet-function-bar .toolbar{width:auto!important}
.salary-sheet-function-bar .salary-sheet-title{margin:0;color:#173f31;font-size:18px;font-weight:700;letter-spacing:.1px}

/* 20261009-1271：全系统页面头部标题统一 18px/700（对齐新房档案），去掉英文小字后统一规格 */
.cashflow-header h3,
.performance-title-block h3,
.performance-compact .performance-title-block h3,
.abnormal-ledger-head h3,
.disbursement-head h3,
.manager-team-overview-head h3,
.employee-home-header h3,
.employee-mode .employee-workbench-header h3,
.company-profit-header h3,
.company-profit-mode .company-profit-header h3{font-size:18px!important;font-weight:700!important}

/* 20261009-1272：结件方式条加高加宽、字号加大更清晰；角色文案「财务」统一改「BP」 */
.settlement-methods{gap:10px!important;margin:0 0 12px!important}
.settlement-method{min-height:62px!important;padding:12px 16px!important;gap:10px!important}
.settlement-method>span{min-width:56px!important;height:34px!important;flex:0 0 56px!important;font-size:12px!important}
.settlement-method>b{font-size:16px!important}
.settlement-method>small{font-size:13px!important;line-height:1.45!important;color:#33503f!important}

/* 20261009-1273：全页面统一「白卡左缘离绿边」距离 = 26px（gap12 + content padL14，同1267基准）。
   此前 styles.css 默认 .content{max-width:1600px;margin:auto} 和 performance 1540px 上限，
   在宽屏下把整块内容居中，左侧多出一条大空隙（公司利润/发布检查等页最明显），造成各页距离不一致。
   这里全局取消内容区居中，让每个页面第一张白卡都严格贴基准 26px。 */
.app-shell{column-gap:12px!important}
.content{max-width:none!important;margin-left:0!important;padding-left:14px!important}
.company-profit-shell{max-width:none!important;margin-left:0!important}

/* 20261009-1273：修改登录密码页重设计——整屏垂直居中、图标标题、输入聚焦、金色主按钮、消息着色 */
.password-shell{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 210px);padding:14px 0}
.password-panel{width:min(460px,100%);margin:0;padding:30px 30px 26px;border-radius:17px;box-shadow:0 18px 55px rgba(20,35,29,.09)}
.password-hero{display:flex;align-items:center;gap:13px;margin-bottom:4px}
.password-hero-icon{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green-dark);font-size:20px}
.password-hero h3{margin:0;color:#121b2c;font-size:18px;font-weight:700}
.password-hero p{margin:4px 0 0;color:#6f7785;font-size:12px}
.password-panel label{display:block;margin:17px 0 7px;color:#33404f;font-size:13px;font-weight:800}
.password-panel input{width:100%;height:44px;padding:0 13px;border:1px solid #dfe4ec;border-radius:10px;background:#fbfcfd;font-size:14px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}
.password-panel input::placeholder{color:#a7b0bd;font-size:13px}
.password-panel input:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(199,163,93,.16)}
.password-hint{display:block;margin:6px 0 0;color:#8a94a3;font-size:11px}
.password-panel .primary{width:100%;height:48px;margin-top:26px;border:none;border-radius:12px;background:linear-gradient(135deg,#cbaa66,#b8914a);color:#fff;font-size:15px;font-weight:800;letter-spacing:2px;cursor:pointer;box-shadow:0 8px 18px rgba(184,145,74,.28);transition:transform .12s,box-shadow .12s}
.password-panel .primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(184,145,74,.34)}
.password-panel .primary:active{transform:translateY(0)}
.password-message{margin:14px 0 0;text-align:center;font-size:12px;font-weight:800}
.password-message.success{color:#1c7a4f}
.password-message.error{color:#c04b3f}

/* 20261009-1277：修复「点业绩核对/工资核算/实发拆分时左侧绿条整体缩小」。
   三页 compact 把绿条改成 188/212/252px 且菜单字号 13-14px，与全局基准（252px、
   1260 的 30px 内边距、nav 16px）不一致，切换页面时绿条整体观感缩一圈。
   全部锁死为与普通页完全相同的规格。1255 块已同步就地修正。 */
.payroll-compact .app-shell,
.performance-compact .app-shell,
.disbursement-compact .app-shell,
.salary-income-compact .app-shell{grid-template-columns:252px minmax(0,1fr)!important}
.payroll-compact .sidebar,
.performance-compact .sidebar,
.disbursement-compact .sidebar,
.salary-income-compact .sidebar{padding:30px!important}
.payroll-compact .nav-btn,
.performance-compact .nav-btn,
.disbursement-compact .nav-btn,
.salary-income-compact .nav-btn{height:44px!important;padding:0 14px!important;font-size:16px!important;letter-spacing:0!important}
.payroll-compact .side-brand,
.performance-compact .side-brand,
.disbursement-compact .side-brand,
.salary-income-compact .side-brand{padding:0 8px 32px!important}

/* 20261009-1278：公司利润明细表——全表统一靠左（表头/项目/金额/输入框），覆盖原右对齐 */
.company-profit-table thead th,
.company-profit-table thead th:nth-child(2),
.company-profit-table tbody th,
.company-profit-table tbody td:nth-child(2),
.company-profit-table .company-profit-manual-input{text-align:left}

/* 20261009-1280：收入查看页标题小字并入标题行（老板要求：小字放标题后加小括号） */
.boss-income-viewer-copy h3 small{margin-left:2px;color:#68766f;font-size:12px;font-weight:400;letter-spacing:0}

/* 20261009-1281：吃掉窗口最左侧渲染缝隙（老板实拍绿条左有 3px 白+1px 灰，真机 150% 缩放下出现，
   本地复现不了——为 Chromium canvas 边缘缝隙露出 html 背景。html 根背景设为绿条同色后，
   任何 canvas 缝隙都与绿条融为一体，彻底隐形；页面无横向滚动时该背景不可见，零副作用。 */
html{background:#0b3b2e}

/* ===== 1283版：公司利润页支出明细加「支出事项/支出金额」表头（都靠左） ===== */
.company-profit-records .company-profit-records-cols{display:flex;margin:0 14px;background:#eaf2fb;border:1px solid #dbe5ef;border-bottom:0;border-radius:7px 7px 0 0;padding:0;color:#16324f;font-size:12px;font-weight:600}
.company-profit-records .company-profit-records-cols span:first-child{flex:1 1 50%;text-align:left;padding:9px 10px;border-right:1px solid #dbe5ef;min-width:0;overflow-wrap:anywhere}
.company-profit-records .company-profit-records-cols span:last-child{flex:1 1 50%;text-align:left;padding:9px 12px;min-width:0}
.company-profit-records .company-profit-records-cols+ul{margin-top:0;border-top:0;border-radius:0 0 7px 7px}
.company-profit-records .company-profit-records-cols+ul li{gap:0;justify-content:flex-start;padding:0}
.company-profit-records .company-profit-records-cols+ul li span{flex:1 1 50%;border-right:1px solid #e2e8f0;padding:8px 10px;align-self:stretch;display:flex;align-items:center;min-width:0}
.company-profit-records .company-profit-records-cols+ul li b{flex:1 1 50%;text-align:left;padding:8px 10px 8px 12px}
.company-profit-records .company-profit-records-cols+ul li.empty{padding:8px 10px;display:block}


/* ===== 1289版：支出明细表头移入列表内(粘性吸顶)，与行同宽——滚动条不再造成竖线错位 ===== */
.company-profit-records ul li.company-profit-records-cols{display:flex;gap:0;position:sticky;top:0;z-index:2;margin:0;background:#eaf2fb;border-right:0;border-bottom:0;border-left:0;border-top:0;border-radius:0;padding:0;color:#16324f;font-size:12px;font-weight:600;box-shadow:inset 0 -1px 0 #dbe5ef}
.company-profit-records ul li.company-profit-records-cols span:first-child{flex:1 1 50%;text-align:left;padding:9px 10px;border-right:1px solid #dbe5ef;min-width:0;overflow-wrap:anywhere}
.company-profit-records ul li.company-profit-records-cols span:last-child{flex:1 1 50%;text-align:left;padding:9px 12px;min-width:0}
.company-profit-records ul li:not(.company-profit-records-cols){gap:0;justify-content:flex-start;padding:0}
.company-profit-records ul li:not(.company-profit-records-cols) span{flex:1 1 50%;border-right:1px solid #e2e8f0;padding:8px 10px;align-self:stretch;display:flex;align-items:center;min-width:0}
.company-profit-records ul li:not(.company-profit-records-cols) b{flex:1 1 50%;text-align:left;padding:8px 10px 8px 12px}
.company-profit-records ul li.empty{padding:8px 10px;display:block}

/* ===== 20261009-1285 年度利润汇总独立页 ===== */
.company-profit-year-entry{display:flex;align-items:center;gap:14px;width:100%;margin-top:10px;padding:15px 18px;border:1px solid #cdbcf5;border-radius:10px;background:linear-gradient(135deg,#fbf9ff 0%,#f3edff 100%);cursor:pointer;text-align:left;transition:box-shadow .15s ease,transform .15s ease}
.company-profit-year-entry:hover{box-shadow:0 4px 16px rgba(96,66,163,.18);transform:translateY(-1px)}
.company-profit-year-entry::before{content:'年';display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#6d3fc0);color:#fff;font-size:15px;font-weight:900}
.year-entry-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.year-entry-text b{color:#43286f;font-size:16px;font-weight:900;letter-spacing:.2px}
.year-entry-text small{color:#6b5a92;font-size:12px;font-weight:600;line-height:1.5}
.year-entry-arrow{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6dcff;color:#5b3b9b;font-size:18px;font-weight:900;line-height:1}
.annual-profit-page{display:flex;flex-direction:column;gap:14px}
.annual-profit-header{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid #dbe5ef;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(22,50,79,.05)}
.annual-profit-back{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border:1px solid #cfdcec;border-radius:8px;background:#f5f9fd;color:#315b84;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s ease}
.annual-profit-back:hover{background:#e9f2fa}
.annual-profit-back span{font-size:16px;font-weight:900;line-height:1}
.annual-profit-title{flex:1 1 auto;min-width:0}
.annual-profit-title h3{margin:0;color:#173f31;font-size:18px;font-weight:700}
.annual-profit-title p{margin:3px 0 0;color:#64748b;font-size:12px}
.annual-profit-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.annual-profit-kpis>div{border:1px solid #dbe5ef;border-radius:10px;background:#fff;padding:16px 18px;box-shadow:0 2px 8px rgba(22,50,79,.05);display:flex;flex-direction:column;gap:6px}
.annual-profit-kpis>div span{color:#64748b;font-size:12px;font-weight:700}
.annual-profit-kpis>div b{color:#16324f;font-size:24px;line-height:1.2;font-weight:900;font-variant-numeric:tabular-nums}
.annual-profit-kpis>div:nth-child(2) b{color:#176b39}
.annual-profit-kpis>div:nth-child(3) b{color:#6d3fc0}
.annual-profit-table-panel{padding:0!important;border-radius:10px;overflow:hidden}
.annual-profit-table-wrap{max-height:none!important;overflow:visible!important}
.annual-profit-page .company-profit-year-table th,.annual-profit-page .company-profit-year-table td{padding:11px 18px;font-size:14px}
.annual-profit-page .company-profit-year-table tbody th{font-size:14px}
.annual-profit-page .company-profit-year-table .company-profit-year-month-row{cursor:pointer;transition:background .12s ease}
.annual-profit-page .company-profit-year-table .company-profit-year-month-row:hover{background:#f2ecff}
.annual-profit-page .company-profit-year-table .year-total-row th,.annual-profit-page .company-profit-year-table .year-total-row td{font-size:15px}
@media (max-width:900px){.annual-profit-header{align-items:flex-start;flex-direction:column;gap:10px}.annual-profit-kpis{grid-template-columns:1fr}}

/* ===== 1293版：年度利润汇总小字并入标题行加括号（与收入查看1280同款），两字支出事项对齐三字事项 ===== */
.year-entry-text b small{margin-left:2px;color:#6b5a92;font-size:12px;font-weight:400;letter-spacing:0}
.year-entry-text{gap:0}

/* ===== 20261010-1296 ICP备案号悬挂 ===== */
.icp-record{display:block;margin:10px auto 0;text-align:center;color:#8aa39b;font-size:11px;font-weight:600;text-decoration:none;letter-spacing:.3px}
.icp-record:hover{color:#4b7a6b;text-decoration:underline}
.side-icp{display:block;margin:0 14px 10px;color:rgba(255,255,255,.38);font-size:10.5px;font-weight:600;text-decoration:none;letter-spacing:.3px;text-align:left}
.side-icp:hover{color:rgba(255,255,255,.75);text-decoration:underline}
@media(max-width:760px){.side-icp{display:none}.attendance-admin-mode .side-icp{display:none!important}}

/* ===== 1296版：今日重点查看名单一人一行（老板要求看清楚） ===== */
.attendance-exception-items small .attendance-exception-person{display:block;text-align:left}

/* ===== 1298版：重点查看名单横向排列（老板要求横向显示），间隔拉开保清晰 ===== */
.attendance-exception-items small{display:flex;flex-wrap:wrap;gap:3px 18px}
.attendance-exception-items small .attendance-exception-person{display:inline;margin:0}

/* ===== 1299版：重点查看名单紧跟在「N人」后面同一行横向排（老板定版） ===== */
.attendance-exception-items > span{display:block}
.attendance-exception-items small{display:inline-flex;flex-wrap:wrap;gap:3px 18px;vertical-align:baseline;margin-left:10px;max-width:calc(100% - 90px)}

/* ===== 1300版：重点查看类别字样做成醒目色块标签（老板要求突出） ===== */
.attendance-exception-items > span .attendance-exception-label{display:inline-block;padding:2px 9px;margin-right:3px;border-radius:5px;background:#8a7a52;color:#fff;font-size:12px;font-weight:900;letter-spacing:1px;font-style:normal;vertical-align:baseline}
.attendance-exception-items > span.has-exception .attendance-exception-label{background:#95551b}
.attendance-exception-items > span.report .attendance-exception-label{background:#2f6485}
.attendance-exception-items > span.forgot .attendance-exception-label{background:#a04b21}

/* ===== 1301版：重点查看新增「请假/休息」类别（绿色标签，名单同行横向） ===== */
.attendance-exception-items > span.leave .attendance-exception-label{background:#087553}

/* ===== 20261010-1304版：重点查看整合为8项（应出勤/已上班打卡/外出报备/迟到/请假/休息/忘记打卡/早退），下方三张数字卡并入摘要 ===== */
.attendance-exception-items > span .attendance-exception-label.att-label-total,.attendance-exception-items > span .attendance-exception-label.att-label-working{background:#5d5a4f}
.attendance-exception-items > span.rest .attendance-exception-label{background:#6b5a92}

/* ===== 20261010-1308版：重点查看标签配色定版（老板定：应出勤/已上班打卡绿，迟到红，休息蓝，其余橙） ===== */
.attendance-exception-items > span .attendance-exception-label{background:#bf6516}
.attendance-exception-items > span.has-exception .attendance-exception-label{background:#bf6516}
.attendance-exception-items > span.report .attendance-exception-label{background:#bf6516}
.attendance-exception-items > span.forgot .attendance-exception-label{background:#bf6516}
.attendance-exception-items > span.leave .attendance-exception-label{background:#bf6516}
.attendance-exception-items > span.early .attendance-exception-label{background:#bf6516}
.attendance-exception-items > span.rest .attendance-exception-label{background:#2f6485}
.attendance-exception-items > span.late .attendance-exception-label{background:#b3261e}
.attendance-exception-items > span .attendance-exception-label.att-label-total,
.attendance-exception-items > span .attendance-exception-label.att-label-working{background:#0e7a46}

/* ===== 20261010-1309版：今日重点查看整体改绿色系（与顶部当前执行横幅同款风格，老板定） ===== */
.attendance-exception-summary{padding:14px 18px;border:1px solid #a9d0bb;border-left:5px solid #087553;border-radius:17px;background:#f2faf5;box-shadow:0 3px 10px rgba(19,84,57,.08)}
.attendance-exception-title b{color:#0b5f43}
.attendance-exception-items > span{border:1px solid #d5e8dc;background:#fff;color:#47695b;border-radius:8px}
.attendance-exception-items > span.has-exception{border-color:#d5e8dc;background:#fff;color:#47695b}
.attendance-exception-items > span.report.has-exception{border-color:#d5e8dc;background:#fff;color:#47695b}
.attendance-exception-items b{color:#0b5f43}
.attendance-exception-items small{color:#47695b}

/* ===== 20261010-1310版：重点查看去掉左侧深绿粗条，四边统一浅绿细边（老板定） ===== */
.attendance-exception-summary{border-left:1px solid #a9d0bb}

/* ===== 20261010-1312版：重点查看条目内文字调大一点（老板反馈看不清） ===== */
.attendance-exception-items > span{font-size:13px}
.attendance-exception-items small{font-size:12.5px}

/* ===== 20261010-1315版：重点查看条目去单框，整体只留一个大框（老板定） ===== */
.attendance-exception-items > span{border:none;background:transparent;padding:5px 2px;border-radius:0}
.attendance-exception-items > span.has-exception{border:none;background:transparent}
.attendance-exception-items > span.report.has-exception{border:none;background:transparent}

/* ===== 1316版：今日重点查看左右两列徽章统一绿色（按右侧已打卡同款绿） ===== */
.attendance-exception-items > span .attendance-exception-label{background:#0e7a46!important;color:#fff!important}

/* ===== 20261010-1316版：去掉重点查看外层大白框，恢复里面条目小框（老板1316定版：只留绿框+条目框） ===== */
.attendance-overview-panel{background:transparent;border:none;box-shadow:none;padding:0}
.attendance-exception-items > span{border:1px solid #d5e8dc;background:#fff;padding:9px 11px;border-radius:8px}
.attendance-exception-items > span.has-exception{border:1px solid #d5e8dc;background:#fff}
.attendance-exception-items > span.report.has-exception{border:1px solid #d5e8dc;background:#fff}

/* ===== 20261010-1317版：花名册左块（上班/休息人员）改与右块同款绿色风格（老板定） ===== */
.attendance-daily-roster-block.workday{border-color:#bcdcca;background:#f4fbf7}
.attendance-daily-roster-block.workday .attendance-daily-roster-head b{color:#196342}
.attendance-daily-roster-block.workday .attendance-daily-roster-head>strong{background:#e4f1eb;color:#087553}
.attendance-daily-roster-block.workday .attendance-daily-roster-person{border-color:#c7dfd1;color:#196342}

/* ===== 1317版：今日重点查看卡与上下面板外缘对齐（去掉左右16px缩进）；徽章绿色保留 ===== */
.attendance-overview-panel{padding:0!important}
.content .attendance-overview-panel,.content .panel.attendance-overview-panel{padding:0!important}

/* ===== 1319版：请假/外出报备恢复老板之前定义的颜色；全部徽章统一宽度（对齐"请　　假"70px） ===== */
.attendance-exception-items > span .attendance-exception-label{min-width:70px!important;text-align:center!important;box-sizing:border-box!important}
.attendance-exception-items > span.leave .attendance-exception-label{background:#bf6516!important}
.attendance-exception-items > span.report .attendance-exception-label{background:#2f6485!important}

/* ===== 1320版：迟到/忘记打卡/早退徽章改红色（老板指定），其余保持既有配色 ===== */
.attendance-exception-items > span.late .attendance-exception-label,
.attendance-exception-items > span.forgot .attendance-exception-label,
.attendance-exception-items > span.early .attendance-exception-label,
.attendance-exception-items > span:nth-child(6) .attendance-exception-label,
.attendance-exception-items > span:nth-child(7) .attendance-exception-label,
.attendance-exception-items > span:nth-child(8) .attendance-exception-label{background:#b91c1c!important}

/* ===== 1322版：考勤待处理顶部提醒条（老板/财务），橙色调呼应待处理徽章 ===== */
.attendance-pending-top-reminder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:10px 14px;border:1px solid #ecc9a0;border-radius:13px;background:#fdf4ea;color:#7a4a1e;text-align:left;cursor:pointer}
.attendance-pending-top-reminder:hover{border-color:#dfa865;background:#fcecd9}
.attendance-pending-top-reminder>span{font-size:12px;font-weight:900;white-space:nowrap}
.attendance-pending-top-reminder>b{overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
.attendance-pending-top-reminder>small{color:#9c6b3c;font-size:11px;white-space:nowrap}

/* ===== 1324版：待处理表头括号提示（顶部提醒条方案废弃，改表头内嵌） ===== */
.attendance-table thead th .pending-count-note{color:#bf6516;font-size:11px;font-weight:700;margin-left:2px;white-space:nowrap}
.attendance-pending-top-reminder{display:none!important}

/* ===== 1325版：待处理提示按人数统计，与表头同行显示在右侧不换行 ===== */
.attendance-table thead th:nth-child(6){white-space:nowrap}
.attendance-table thead th .pending-count-note{margin-left:4px}

/* ===== 1337版：手机端预览格子颜色与电脑端月历同款（is-complete/rest/leave/exception/empty + weekend/today） ===== */
.attendance-mobile-preview-day.is-complete,.attendance-mobile-preview-day.is-working{border-color:#c8e4d3;background:#ebf7ef}
.attendance-mobile-preview-day.is-rest{border-color:#d3dde8;background:#eef2f7}
.attendance-mobile-preview-day.is-leave{border-color:#f1dcc3;background:#fdf1e3}
.attendance-mobile-preview-day.is-leave b,.attendance-mobile-preview-day.is-leave strong{color:#8a5a20}
.attendance-mobile-preview-day.is-exception{border-color:#f0c9bd;background:#fff0eb}
.attendance-mobile-preview-day.is-exception strong{color:#b14730}
.attendance-mobile-preview-day.is-empty{background:#fbfcfb}
.attendance-mobile-preview-day.is-weekend:not(.is-rest):not(.is-leave):not(.is-exception){background:#e8f5ee}
.attendance-mobile-preview-day.is-today{border-color:#148259;box-shadow:0 0 0 2px rgba(20,130,89,.13)}
.attendance-mobile-preview-day.is-today b{display:inline-block;width:20px;border-radius:999px;background:#148259;color:#fff;text-align:center}

/* ===== 1339版：本月记录卡去掉月份小字，两行上下平铺均分 ===== */
.cashflow-summary>div.cashflow-count{display:flex;flex-direction:column;justify-content:space-evenly}
.cashflow-summary>div.cashflow-count strong{margin:0}

/* ===== 1340版：本月记录卡整体删除，收/支/结余三卡平铺均分 ===== */
.cashflow-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* ===== 1353版：操作反馈提示条从屏幕顶部挪到屏幕底部居中（老板反馈顶部离操作位置太远）；手机端保持顶部不变 ===== */
.app-inline-feedback{top:auto!important;bottom:30px!important;transform:translate(-50%,10px)!important}
.app-inline-feedback.is-visible{transform:translate(-50%,0)!important}
@media(max-width:760px){.app-inline-feedback{top:12px!important;bottom:auto!important;transform:translateY(-8px)!important}.app-inline-feedback.is-visible{transform:translateY(0)!important}}

/* ===== 1360版：未结佣金卡恢复标题+小字，小字（当前筛选范围实时合计）放最底部 ===== */
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action{grid-template-rows:auto auto auto!important}
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action p{grid-row:1!important;justify-self:start!important}
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action strong{grid-row:2!important;justify-self:start!important}
body:not(.employee-income-mode).unsettled-compact .secondhand-commission-summary-action small{grid-row:3!important;margin-top:1px!important}

/* ===== 1362版：往期结件明细展开时隐藏下方未结件表格（老板反馈看着乱），收起后还原 ===== */
.unsettled-compact .unsettled-panel.has-prior-settlement-inline>.table-wrap.unsettled-table-wrap{display:none!important}

/* 20261011-1386：已生效外勤报备撤销框（点开当天安排后显示在表单上方） */
.attendance-field-cancel-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;border:1px dashed #d4a017;border-radius:8px;background:#fffaf0;}
.attendance-field-cancel-title{font-size:12px;color:#8a6d1a;font-weight:600;}
.attendance-field-cancel-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#333;}
.attendance-field-cancel-item em{font-style:normal;color:#555;}
.attendance-field-cancel-item b{color:#1f7a4d;}
.attendance-field-cancel-btn{border:1px solid #d9534f;background:#fff;color:#d9534f;border-radius:6px;padding:2px 10px;font-size:12px;cursor:pointer;}
.attendance-field-cancel-btn:hover{background:#d9534f;color:#fff;}
.attendance-field-cancel-btn:disabled{opacity:.6;cursor:default;}
