.performance-form {
  max-height: 75vh;
  overflow: auto;
  max-width: 1100px;
}
.performance-form fieldset {
  border: 1px solid var(--border, #d9e1e6);
  border-radius: 10px;
  margin: 18px 0;
  padding: 12px;
}
.performance-form legend {
  font-weight: 700;
  padding: 0 8px;
}
.performance-form table {
  min-width: 700px;
}
.performance-form td:first-child {
  min-width: 280px;
  max-width: 540px;
  white-space: normal;
}
.performance-form textarea {
  min-width: 160px;
  min-height: 64px;
}
.performance-form .performance-score {
  min-width: 88px;
  width: 100px;
}
.performance-form .tiny {
  white-space: pre-wrap;
}
.performance-form .actions-row {
  margin: 16px 0;
}
.performance-form td:nth-child(2){min-width:280px;max-width:430px;white-space:normal}
.performance-form td:first-child{min-width:220px;max-width:350px}
.performance-form .tiny strong{font-weight:700;color:var(--text,#24444a)}
.performance-form #performance-x{position:sticky;top:0;float:right;z-index:2;font-size:22px;padding:2px 12px}
dialog.performance-dialog{width:min(1240px,96vw);max-width:96vw}
dialog.performance-dialog .performance-form{max-width:none}
.monthly-assessment-preview{margin-top:20px}
.monthly-assessment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.monthly-assessment-heading h3{font-size:18px;margin:0}
.monthly-assessment-heading>span{color:#687d81;font-size:13px}
.monthly-assessment-counts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.monthly-assessment-counts>span{padding:7px 12px;border:1px solid #dce7e4;border-radius:6px;background:#f6faf8;font-size:13px}
.monthly-assessment-counts strong{margin-left:8px;color:#007d69}
.monthly-assessment-group{border:1px solid #dfe8e9;border-radius:8px;margin-top:18px;overflow:hidden}
.monthly-assessment-group>h4{margin:0;padding:11px 14px;font-size:15px}
.monthly-assessment-group>.muted{padding:0 14px 8px}
.monthly-assessment-group.is-pending>h4{background:#fff1dc;color:#8b591c}
.monthly-assessment-group.is-completed>h4{background:#e5f4ec;color:#15735f}
.monthly-assessment-group>.table-wrap{border:0;border-radius:0}
.monthly-assessment-table{min-width:1200px;font-size:13px}
.monthly-assessment-table th,.monthly-assessment-table td{padding:12px 14px;vertical-align:middle;white-space:nowrap}
.monthly-assessment-table .actions-row{gap:7px;flex-wrap:wrap}
.monthly-assessment-table button{font-size:12px;padding:7px 10px}
.monthly-assessment-state{display:inline-block;padding:5px 9px;border-radius:5px;background:#fff1dc;color:#8b591c}
.monthly-assessment-state.state-review{background:#eaf1ff;color:#3c6095}
.monthly-assessment-state.state-signature{background:#f2ecfa;color:#76509a}
.monthly-assessment-state.state-completed{background:#e5f4ec;color:#15735f}
.management-project-view table{min-width:950px;font-size:13px}
.management-project-view td{vertical-align:middle}
.management-project-view input[type=number]{width:100px;min-width:100px}
.management-project-view textarea{width:220px;min-width:160px;min-height:40px}
.management-project-view [data-project-dirty]{color:#a66118;font-size:12px}


/* 2026-10-29：主模块、业务页签与月份分层，长表维持原有宽度。 */
@media screen {
  #view>.panel:has(#hub-month) { display:grid; grid-template-columns:minmax(0,1fr) 172px; gap:18px 24px; align-items:end; }
  #view>.panel:has(#hub-month)>.toolbar:first-child { grid-column:1/-1; margin:0; padding-bottom:16px; border-bottom:1px solid #e1e9e9; }
  #view>.panel:has(#hub-month)>.toolbar:nth-child(2) { margin:0; gap:8px; align-items:center; }
  #view>.panel:has(#hub-month)>label { margin:0; }
  #view>.panel:has(#hub-month) [data-module] { padding:10px 18px; font-size:15px; }
  #view>.panel:has(#hub-month) [data-tab] { padding:9px 13px; border-color:transparent; background:transparent; color:#526b70; }
  #view>.panel:has(#hub-month) [data-tab]:not(.secondary) { color:#145f51; background:#edf6f2; box-shadow:inset 0 -3px 0 #27836f; font-weight:650; }
  dialog.performance-dialog .performance-form>h2 { padding-right:48px; line-height:1.5; }
  dialog.performance-dialog #performance-form fieldset { margin:24px 0; padding:16px; }
  dialog.performance-dialog #performance-form legend { color:#294e48; padding:0 10px; }
  dialog.performance-dialog #performance-form td { padding-top:14px; padding-bottom:14px; }
  dialog.performance-dialog #performance-form .tiny { font-size:13px; line-height:1.75; color:#526b70; }
  dialog.performance-dialog #performance-form tbody tr:focus-within>td:first-child { box-shadow:inset 3px 0 0 #398875; }
  dialog.performance-dialog #performance-form .performance-score { font-variant-numeric:tabular-nums; }
}
@media screen and (max-width:900px) {
  #view>.panel:has(#hub-month) { grid-template-columns:minmax(0,1fr); gap:16px; }
  #view>.panel:has(#hub-month)>label { display:flex; align-items:center; gap:12px; width:max-content; max-width:100%; }
  #hub-month { width:172px; max-width:100%; }
}

/* 2026-10-31 批注：下载月度统计放在“已完成”分组标题右侧 */
.monthly-assessment-group>h4{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.monthly-assessment-download{font-size:13px;font-weight:600;white-space:nowrap}
/* 2026-11-01 批注：上报班次统计按班种类别用颜色条区分 */
.reported-shift-table th.shift-kind-day{box-shadow:inset 0 3px 0 #2e9e6b}.reported-shift-table td.shift-kind-day{background:#f3faf6}
.reported-shift-table th.shift-kind-night{box-shadow:inset 0 3px 0 #3d6fb6}.reported-shift-table td.shift-kind-night{background:#f2f6fc}
.reported-shift-table th.shift-kind-rest{box-shadow:inset 0 3px 0 #9aa7a4}.reported-shift-table td.shift-kind-rest{background:#f6f7f7}
.reported-shift-table th.shift-kind-study{box-shadow:inset 0 3px 0 #8a63b8}.reported-shift-table td.shift-kind-study{background:#f7f3fb}
.reported-shift-table tbody tr:hover td{filter:brightness(.97)}
.reported-shift-table td.reported-none{text-align:left;background:#fafbfb}
