/* v1.3 · 正式动态 KPI 与 S 级评议 */
.work-quick-main-grid,
.work-metric-main-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.work-quick-task,
.work-field-task {
  grid-column: span 2;
}

.shadow-work-classification {
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 3px;
  min-height: 52px;
  padding: 8px 10px;
  border-left: 2px solid #6a8eaf;
  background: #f4f7fa;
}

.shadow-work-classification strong {
  color: #173451;
  font-size: 12px;
}

.shadow-work-classification small {
  color: #6e7f8f;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.objective-score-badge {
  display: inline-grid;
  gap: 2px;
  min-width: 96px;
  padding: 7px 10px;
  border-left: 3px solid #2f6eaa;
  background: #eef5fb;
}

.objective-score-badge strong {
  color: #143a5d;
  font-family: Georgia, serif;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.objective-score-badge small {
  color: #577086;
  font-size: 10px;
}

.objective-score-badge.is-incomplete {
  border-left-color: #b47a29;
  background: #fff7e8;
}

.confirmation-chip {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  color: #7a6337;
  background: #f7f1e7;
  font-size: 11px;
  font-weight: 700;
}

.confirmation-chip.is-confirmed {
  color: #23624d;
  background: #e9f5ef;
}

.level-choice-grid.is-formal-scoring {
  grid-template-columns: 1fr;
  gap: 16px;
}

.legacy-s-reason-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid #d6b15f;
  border-left: 4px solid #b47a29;
  background: #fff9e9;
}

.legacy-s-reason-panel[hidden] {
  display: none;
}

.legacy-s-reason-panel label span,
.s-review-evidence-grid label > span {
  color: #273d55;
  font-size: 11px;
  font-weight: 760;
}

.legacy-s-reason-panel label b,
.s-review-evidence-grid label > span b {
  margin-left: 5px;
  color: #b53b34;
  font-size: 9px;
}

.legacy-s-reason-panel textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  border: 1px solid #c8d4e2;
  background: #fff;
}

.legacy-s-reason-panel textarea:focus {
  border-color: #2f6fe4;
  outline: 2px solid rgba(47, 111, 228, 0.14);
}

.legacy-s-reason-panel textarea.is-invalid {
  border-color: #c4473d;
  outline: 2px solid rgba(196, 71, 61, 0.13);
}

.legacy-s-reason-panel > small {
  color: #7b6844;
  font-size: 10px;
}

.formal-score-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #cfd9e3;
  background: #f8fafc;
}

.formal-score-board > div {
  display: grid;
  gap: 6px;
  min-height: 116px;
  align-content: center;
  padding: 18px;
  border-right: 1px solid #dbe2e8;
}

.formal-score-board > div:last-child {
  border-right: 0;
}

.formal-score-board span,
.formal-score-board small {
  color: #66798a;
  font-size: 10px;
}

.formal-score-board strong {
  color: #143a5d;
  font-family: Georgia, serif;
  font-size: 28px;
  font-weight: 400;
}

.formal-score-board .is-objective {
  color: #fff;
  background: #123d62;
}

.formal-score-board .is-objective span,
.formal-score-board .is-objective small,
.formal-score-board .is-objective strong {
  color: inherit;
}

.formal-data-warning,
.formal-confirmation-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-left: 4px solid #b47a29;
  background: #fff7e8;
}

.formal-confirmation-note {
  border-left-color: #2d7a61;
  background: #edf7f3;
}

.formal-data-warning span,
.formal-confirmation-note span {
  color: #5d6e7c;
  font-size: 11px;
  line-height: 1.6;
}

.s-review-panel {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid #d6b15f;
  background: linear-gradient(135deg, #fff9e9, #fff 68%);
}

.s-review-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 5px 13px;
  align-items: baseline;
}

.s-review-heading span {
  padding: 3px 7px;
  color: #714d0d;
  background: #f2d891;
  font-size: 10px;
  font-weight: 800;
}

.s-review-heading strong {
  color: #173451;
  font-size: 18px;
}

.s-review-heading small {
  grid-column: 2;
  color: #7c6a45;
}

.s-review-scale {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
}

.s-score-choice {
  position: relative;
  display: grid;
  min-height: 74px;
  place-content: center;
  gap: 4px;
  text-align: center;
  border: 1px solid #e1d6bb;
  background: #fff;
  cursor: pointer;
}

.s-score-choice input {
  position: absolute;
  opacity: 0;
}

.s-score-choice strong {
  color: #193d5d;
  font-family: Georgia, serif;
  font-size: 23px;
}

.s-score-choice small {
  color: #817456;
  font-size: 9px;
}

.s-score-choice.is-selected {
  color: #fff;
  border-color: #143d61;
  background: #143d61;
  box-shadow: inset 0 3px 0 #d2a43e;
}

.s-score-choice.is-selected strong,
.s-score-choice.is-selected small {
  color: inherit;
}

.s-review-evidence-grid {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
  gap: 12px;
}

.s-review-evidence-grid label {
  display: grid;
  gap: 6px;
}

.s-review-evidence-grid label > span {
  color: #657789;
  font-size: 10px;
  font-weight: 700;
}

.s-review-evidence-grid select,
.s-review-evidence-grid textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d7dfe6;
  background: #fff;
  font: inherit;
}

@media (max-width: 820px) {
  .formal-score-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .formal-score-board > div:nth-child(2) {
    border-right: 0;
  }

  .formal-score-board > div:nth-child(-n+2) {
    border-bottom: 1px solid #dbe2e8;
  }

  .s-review-scale {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .work-quick-main-grid,
  .work-metric-main-grid,
  .formal-score-board,
  .s-review-evidence-grid {
    grid-template-columns: 1fr;
  }

  .work-quick-task,
  .work-field-task {
    grid-column: auto;
  }

  .formal-score-board > div {
    min-height: 92px;
    border-right: 0;
    border-bottom: 1px solid #dbe2e8;
  }

  .formal-score-board > div:last-child {
    border-bottom: 0;
  }

  .s-review-scale {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .formal-data-warning,
  .formal-confirmation-note {
    grid-template-columns: 1fr;
  }
}

/* v1.4.9 · 工作强度与客观评分规则解读 */
.scoring-rules-dialog {
  width: min(980px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
}

.scoring-rules-dialog-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: calc(100dvh - 32px);
  color: #102844;
  border: 1px solid #aac2df;
  background: #f4f7fb;
  box-shadow: 0 28px 76px rgba(8, 29, 54, .34);
}

.scoring-rules-heading {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 25px 28px 22px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px) 0 0 / 44px 100%,
    linear-gradient(118deg, #092e57 0%, #154f91 72%, #1b66bc 100%);
}

.scoring-rules-heading::after {
  position: absolute;
  right: 92px;
  bottom: 0;
  width: 150px;
  height: 4px;
  content: "";
  background: #35c4b3;
}

.scoring-rules-heading .eyebrow {
  color: #9fe8de;
}

.scoring-rules-heading h2 {
  margin: 5px 0 7px;
  color: #fff;
  font-size: 27px;
  line-height: 1.2;
}

.scoring-rules-heading p {
  max-width: 690px;
  margin: 0;
  color: #d4e5f5;
  font-size: 12px;
  line-height: 1.65;
}

.scoring-rules-close {
  width: 40px;
  height: 40px;
  color: #fff;
  border-color: rgba(255, 255, 255, .35);
  border-radius: 8px;
  font-size: 11px;
}

.scoring-rules-close:hover {
  background: rgba(255, 255, 255, .12);
}

.scoring-rules-scroll {
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 22px 28px 28px;
}

.scoring-rules-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr) 32px minmax(0, 1fr);
  align-items: stretch;
  margin-bottom: 16px;
  border: 1px solid #c8d7e8;
  background: #fff;
}

.scoring-rules-summary > div {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 96px;
  padding: 16px 18px;
  border-top: 3px solid #3d75b4;
}

.scoring-rules-summary > div.is-result {
  border-top-color: #0d9386;
  background: #eaf7f4;
}

.scoring-rules-summary > div span,
.scoring-rules-summary > div small {
  color: #657b93;
  font-size: 10px;
}

.scoring-rules-summary > div strong {
  color: #10385f;
  font-family: Georgia, serif;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.scoring-rules-summary > b {
  display: grid;
  place-items: center;
  color: #7890aa;
  background: #f6f8fb;
  font-size: 17px;
}

.scoring-rules-section {
  margin-top: 14px;
  padding: 20px;
  border: 1px solid #d2dce8;
  background: #fff;
}

.scoring-rules-section > header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 13px;
}

.scoring-rules-section > header > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  color: #fff;
  background: #164d87;
  font-family: Georgia, serif;
  font-weight: 700;
}

.scoring-rules-section > header small {
  display: block;
  margin-bottom: 2px;
  color: #3976b7;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .08em;
}

.scoring-rules-section h3,
.scoring-rules-section h4 {
  margin: 0;
  color: #102b48;
}

.scoring-rules-section h3 {
  font-size: 18px;
}

.scoring-rules-section > p {
  margin: 0 0 14px;
  color: #596f86;
  font-size: 11px;
  line-height: 1.7;
}

.scoring-rules-example {
  display: grid;
  grid-template-columns: minmax(76px, .5fr) 20px minmax(140px, 1.1fr) 20px minmax(76px, .5fr) 20px minmax(96px, .65fr);
  align-items: stretch;
  margin-bottom: 15px;
  border: 1px solid #bfd0e3;
  background: #f4f8fd;
}

.scoring-rules-example > div {
  display: grid;
  gap: 4px;
  align-content: center;
  min-height: 68px;
  padding: 11px 13px;
  border-left: 3px solid #739bc9;
  background: #fff;
}

.scoring-rules-example > div.is-result {
  border-left-color: #0b9687;
  background: #e8f6f3;
}

.scoring-rules-example span {
  color: #708298;
  font-size: 9px;
}

.scoring-rules-example strong {
  color: #14385e;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.scoring-rules-example > b {
  display: grid;
  place-items: center;
  color: #6d87a4;
}

.scoring-rules-reference {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(190px, .62fr);
  gap: 14px;
}

.scoring-rules-reference > div {
  padding: 14px;
  background: #f4f6f9;
}

.scoring-rules-reference h4 {
  margin-bottom: 10px;
  font-size: 11px;
}

.scoring-rules-chip-list,
.scoring-rules-intensity-list,
.scoring-rules-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.scoring-rules-chip-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.scoring-rules-chip-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  color: #526a82;
  border: 1px solid #dbe3ec;
  background: #fff;
  font-size: 9px;
}

.scoring-rules-chip-list li > span {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.scoring-rules-chip-list li > span small {
  color: #4074ac;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
}

.scoring-rules-chip-list li.is-emphasis {
  color: #075f57;
  border-color: #9dd7ce;
  background: #e9f7f4;
}

.scoring-rules-chip-list b {
  color: #164f8b;
  font-size: 11px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.scoring-rules-intensity-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.scoring-rules-intensity-list li {
  display: grid;
  min-height: 54px;
  place-content: center;
  text-align: center;
  border: 1px solid #d4dfeb;
  background: #fff;
}

.scoring-rules-intensity-list b {
  color: #164f8b;
  font-family: Georgia, serif;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
}

.scoring-rules-intensity-list span {
  color: #687d91;
  font-size: 9px;
}

.scoring-rules-duration-reference {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.scoring-rules-duration-reference h4,
.scoring-rules-duration-reference > small {
  grid-column: 1 / -1;
}

.scoring-rules-duration-reference p {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid #d4dfeb;
  background: #fff;
}

.scoring-rules-duration-reference p.is-cap {
  border-color: #9dd7ce;
  background: #e9f7f4;
}

.scoring-rules-duration-reference p b {
  color: #60758a;
  font-size: 9px;
}

.scoring-rules-duration-reference p span {
  color: #0b766b;
  font-family: Georgia, serif;
  font-size: 15px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.scoring-rules-duration-reference > small {
  color: #687d91;
  font-size: 9px;
  line-height: 1.55;
}

.scoring-rules-section > p.scoring-rules-note {
  margin: 13px 0 0;
  padding: 10px 12px;
  color: #765020;
  border-left: 3px solid #d09035;
  background: #fff7e8;
}

.scoring-rules-equation {
  display: grid;
  gap: 7px;
  margin-bottom: 13px;
  padding: 15px 18px;
  color: #fff;
  background: #123f6d;
}

.scoring-rules-equation span {
  color: #a9c8e8;
  font-size: 9px;
}

.scoring-rules-equation strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: 18px;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;
}

.scoring-rules-three-column,
.scoring-rules-deductions,
.scoring-rules-grade-grid {
  display: grid;
  gap: 8px;
}

.scoring-rules-three-column {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scoring-rules-three-column article {
  display: grid;
  gap: 5px;
  padding: 13px;
  border-top: 2px solid #79a1ce;
  background: #f3f6fa;
}

.scoring-rules-three-column article > span {
  color: #6b8096;
  font-size: 9px;
}

.scoring-rules-three-column article strong {
  color: #173b61;
  font-size: 11px;
}

.scoring-rules-three-column article p {
  margin: 0;
  color: #708096;
  font-size: 9px;
  line-height: 1.55;
}

.scoring-rules-deductions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.scoring-rules-deductions > div {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-left: 3px solid #c47a39;
  background: #fff6ec;
}

.scoring-rules-deductions > div.is-floor {
  border-left-color: #3b7eae;
  background: #eef5fb;
}

.scoring-rules-deductions span {
  color: #6c7783;
  font-size: 9px;
}

.scoring-rules-deductions strong {
  color: #703d17;
  font-size: 11px;
}

.scoring-rules-grade-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.scoring-rules-grade-grid > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1px 9px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #d6e0eb;
  background: #f6f8fb;
}

.scoring-rules-grade-grid b {
  grid-row: span 2;
  color: #165795;
  font-family: Georgia, serif;
  font-size: 24px;
}

.scoring-rules-grade-grid span {
  color: #243c56;
  font-size: 10px;
  font-weight: 700;
}

.scoring-rules-grade-grid strong {
  color: #78899a;
  font-size: 9px;
}

.scoring-rules-s-section {
  border-color: #dcc783;
  background: #fffcf1;
}

.scoring-rules-s-section > header > span {
  color: #563d0a;
  background: #e9c94f;
}

.scoring-rules-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.scoring-rules-steps li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  padding: 12px;
  border: 1px solid #e4d59f;
  background: #fff;
}

.scoring-rules-steps li > b {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #62470c;
  border-radius: 50%;
  background: #f4dc76;
  font-size: 10px;
}

.scoring-rules-steps li div {
  display: grid;
  gap: 4px;
}

.scoring-rules-steps strong {
  color: #4f3d19;
  font-size: 10px;
}

.scoring-rules-steps span {
  color: #76694d;
  font-size: 9px;
  line-height: 1.55;
}

.scoring-rules-boundary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 14px;
  padding: 14px 16px;
  color: #31546f;
  border-left: 4px solid #238f84;
  background: #eaf6f4;
}

.scoring-rules-boundary strong {
  padding-right: 16px;
  border-right: 1px solid #b6d9d4;
  font-size: 11px;
}

.scoring-rules-boundary p {
  margin: 0;
  font-size: 10px;
  line-height: 1.65;
}

.scoring-rules-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 28px;
  border-top: 1px solid #ccd8e6;
  background: #fff;
}

.scoring-rules-actions > span {
  color: #6a7d91;
  font-size: 9px;
}

.scoring-rules-actions .button {
  flex: 0 0 auto;
  min-width: 100px;
}

@media (max-width: 820px) {
  .scoring-rules-dialog {
    width: min(100% - 20px, 760px);
    max-height: calc(100dvh - 20px);
  }

  .scoring-rules-dialog-card {
    max-height: calc(100dvh - 20px);
  }

  .scoring-rules-heading,
  .scoring-rules-scroll,
  .scoring-rules-actions {
    padding-right: 18px;
    padding-left: 18px;
  }

  .scoring-rules-reference,
  .scoring-rules-three-column {
    grid-template-columns: 1fr;
  }

  .scoring-rules-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .scoring-rules-dialog {
    width: calc(100% - 12px);
    max-height: calc(100dvh - 12px);
  }

  .scoring-rules-dialog-card {
    max-height: calc(100dvh - 12px);
  }

  .scoring-rules-heading {
    padding-top: 19px;
    padding-bottom: 17px;
  }

  .scoring-rules-heading h2 {
    font-size: 22px;
  }

  .scoring-rules-heading p {
    display: none;
  }

  .scoring-rules-scroll {
    padding-top: 14px;
    padding-bottom: 18px;
  }

  .scoring-rules-summary,
  .scoring-rules-example {
    grid-template-columns: 1fr;
  }

  .scoring-rules-summary > div,
  .scoring-rules-example > div {
    min-height: 62px;
  }

  .scoring-rules-summary > b,
  .scoring-rules-example > b {
    min-height: 22px;
  }

  .scoring-rules-section {
    padding: 15px;
  }

  .scoring-rules-chip-list,
  .scoring-rules-deductions,
  .scoring-rules-grade-grid,
  .scoring-rules-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scoring-rules-chip-list li {
    min-height: 66px;
  }

  .scoring-rules-equation strong {
    font-size: 14px;
    line-height: 1.6;
  }

  .scoring-rules-boundary {
    grid-template-columns: 1fr;
  }

  .scoring-rules-boundary strong {
    padding: 0 0 8px;
    border-right: 0;
    border-bottom: 1px solid #b6d9d4;
  }

  .scoring-rules-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
  }

  .scoring-rules-actions .button {
    width: 100%;
  }
}
