:root {
  --navy-950: #071728;
  --navy-900: #0b1f33;
  --navy-800: #15334d;
  --navy-700: #2e536f;
  --teal-700: #0e7368;
  --teal-600: #16857a;
  --teal-100: #dceeea;
  --teal-050: #eff7f5;
  --blue-700: #2e5b9a;
  --blue-050: #eef3fa;
  --gold-700: #9b7130;
  --gold-500: #c49a45;
  --gold-100: #ebddbf;
  --red-700: #a82f35;
  --red-600: #c43d3d;
  --red-100: #f4dada;
  --red-050: #fff4f3;
  --amber-700: #8a641f;
  --amber-100: #f1dfb7;
  --amber-050: #fff9ec;
  --ivory: #f5f3ee;
  --paper: #fbfaf7;
  --white: #ffffff;
  --ink: #152638;
  --muted: #667584;
  --line: #d9e0e2;
  --line-strong: #c5d0d3;
  --shadow-sm: 0 10px 30px rgba(11, 31, 51, 0.06);
  --shadow-md: 0 24px 70px rgba(11, 31, 51, 0.09);
}

/* Policy review workspace */
.policy-review-workspace {
  width: min(1480px, calc(100vw - 56px));
  height: min(900px, calc(100vh - 48px));
  margin: auto;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #f7f9fa;
  border: 1px solid rgba(93, 123, 132, 0.2);
  border-radius: 22px;
  box-shadow: 0 28px 72px rgba(34, 59, 66, 0.18);
  color: #203b45;
}

.policy-review-workspace > header {
  min-height: 112px;
  padding: 24px 32px;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 160px;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f3f8f8 100%);
  border-bottom: 1px solid #dce7e9;
}

.policy-review-workspace > header > div {
  min-width: 0;
}

.policy-review-workspace > header span {
  display: block;
  margin-bottom: 6px;
  color: #5f7d86;
  font-size: 13px;
  letter-spacing: 0.08em;
}

.policy-review-workspace > header h2 {
  margin: 0;
  overflow: hidden;
  color: #173641;
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 650;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-review-back,
.policy-review-folder {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #cadadd;
  border-radius: 10px;
  background: #fff;
  color: #315761;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.policy-review-back .interface-icon {
  width: 17px;
  height: 17px;
}

.policy-review-error {
  margin: 18px 32px 0;
  padding: 13px 16px;
  border-left: 3px solid #bc694b;
  border-radius: 6px;
  background: #fff5f1;
  color: #8d452f;
  font-size: 14px;
  line-height: 1.6;
}

.policy-review-notice {
  margin: 18px 32px 0;
  padding: 13px 16px;
  border-left: 3px solid #4d8b83;
  border-radius: 6px;
  background: #edf7f5;
  color: #2d6862;
  font-size: 14px;
  line-height: 1.6;
}

.policy-review-restart {
  margin: 14px 32px 0;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid #b8d3d1;
  border-radius: 10px;
  background: #f4f9f8;
  box-shadow: 0 8px 24px rgba(46, 87, 91, 0.08);
}

.policy-review-restart > div {
  display: grid;
  gap: 5px;
}

.policy-review-restart strong {
  color: #234b51;
  font-size: 15px;
  font-weight: 650;
}

.policy-review-restart span {
  color: #61777d;
  font-size: 13px;
  line-height: 1.55;
}

.policy-review-restart button {
  min-width: 154px;
  padding: 11px 18px;
  border: 0;
  border-radius: 7px;
  background: #397b7a;
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
}

.policy-review-restart button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.policy-review-overview {
  margin: 24px 32px 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #dce7e9;
  border-radius: 14px;
  background: #fff;
}

.policy-review-overview > div {
  min-height: 92px;
  padding: 19px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid #e2eaec;
}

.policy-review-overview > div:last-child {
  border-right: 0;
}

.policy-review-overview strong {
  color: #2f7070;
  font-size: 30px;
  font-weight: 620;
  line-height: 1;
}

.policy-review-overview span {
  margin-top: 9px;
  color: #68818a;
  font-size: 13px;
}

.policy-review-filters {
  padding: 0 32px 15px;
  display: flex;
  gap: 8px;
}

.policy-review-filters button {
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #627d86;
  font-size: 14px;
  cursor: pointer;
}

.policy-review-filters button.active {
  border-color: #c6dbdc;
  background: #eaf4f3;
  color: #236564;
  font-weight: 650;
}

.policy-review-list {
  min-height: 0;
  padding: 0 32px 30px;
  overflow-y: auto;
}

.policy-review-list article {
  min-height: 106px;
  margin-bottom: 12px;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  border: 1px solid #dbe6e8;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(50, 82, 91, 0.045);
}

.policy-review-list article.new-route {
  border-color: #e3cba1;
  background: linear-gradient(90deg, #fffaf1 0, #fff 26%);
  box-shadow: 0 7px 22px rgba(151, 102, 30, 0.09);
}

.policy-review-list article.new-route .policy-review-route-code {
  background: #b7792f;
  color: #fff;
}

.policy-review-list article.new-route .policy-review-route-copy > span {
  color: #9a641f;
  font-weight: 650;
}

.policy-review-route-code {
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #eef5f5;
  color: #2d6a6b;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.policy-review-route-copy {
  min-width: 0;
}

.policy-review-route-copy > span {
  margin: 0 0 5px;
  color: #6e858c;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.policy-review-route-copy strong,
.policy-review-route-copy small {
  display: block;
}

.policy-review-route-copy strong {
  overflow: hidden;
  color: #274651;
  font-size: 16px;
  font-weight: 620;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-review-route-copy small {
  margin-top: 7px;
  color: #768c93;
  font-size: 13px;
  line-height: 1.5;
}

.policy-review-row-actions {
  display: flex;
  gap: 8px;
}

.policy-review-row-actions button,
.policy-review-confirmation button {
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #cadbdd;
  border-radius: 8px;
  background: #fff;
  color: #456770;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.policy-review-row-actions button.primary,
.policy-review-confirmation button {
  border-color: #2e7472;
  background: #2e7472;
  color: #fff;
}

.policy-review-empty {
  padding: 70px 20px;
  color: #788d94;
  text-align: center;
}

.policy-review-detail {
  min-height: 0;
  padding: 24px 32px 32px;
  overflow-y: auto;
}

.policy-review-route-summary {
  display: grid;
  grid-template-columns: 0.8fr 1fr 1.5fr;
  border: 1px solid #dbe6e8;
  border-radius: 13px;
  background: #fff;
}

.policy-review-route-summary > div {
  min-width: 0;
  padding: 17px 21px;
  border-right: 1px solid #e2eaec;
}

.policy-review-route-summary > div:last-child {
  border-right: 0;
}

.policy-review-route-summary span,
.policy-review-route-summary strong {
  display: block;
}

.policy-review-route-summary span {
  margin-bottom: 6px;
  color: #7a8f96;
  font-size: 12px;
}

.policy-review-route-summary strong {
  overflow: hidden;
  color: #294955;
  font-size: 15px;
  font-weight: 620;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-review-evidence,
.policy-review-dimensions,
.policy-review-differences,
.policy-review-confirmation {
  margin-top: 18px;
  border: 1px solid #dbe6e8;
  border-radius: 13px;
  background: #fff;
}

.policy-review-differences > header {
  padding: 18px 22px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #e3ebed;
}

.policy-review-differences > header strong {
  color: #294a54;
  font-size: 17px;
  font-weight: 640;
}

.policy-review-differences > header span {
  color: #748a91;
  font-size: 13px;
}

.policy-review-difference-list {
  padding: 8px 20px 20px;
}

.policy-review-difference-list article {
  margin-top: 12px;
  padding: 18px 19px;
  border: 1px solid #dfe8ea;
  border-radius: 11px;
  background: #fbfcfc;
  transition: border-color 160ms ease, background 160ms ease;
}

.policy-review-difference-list article.reviewed {
  border-color: #add0ca;
  background: #f2f8f7;
}

.policy-review-difference-heading {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.policy-review-difference-heading > span {
  color: #729096;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.policy-review-difference-heading > strong {
  color: #294b55;
  font-size: 15px;
  font-weight: 630;
}

.policy-review-difference-heading > em {
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff0e3;
  color: #996329;
  font-size: 11px;
  font-style: normal;
}

.policy-review-difference-values {
  margin: 14px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.policy-review-difference-values > div {
  min-width: 0;
  padding: 13px 15px;
  border-radius: 8px;
  background: #fff;
}

.policy-review-difference-values span {
  color: #799097;
  font-size: 12px;
}

.policy-review-difference-values ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #3f5d65;
  font-size: 13px;
  line-height: 1.6;
}

.policy-review-difference-values li + li {
  margin-top: 7px;
}

.policy-review-difference-values small {
  display: block;
  margin-top: 8px;
  color: #789097;
  font-size: 11px;
}

.policy-review-difference-source {
  margin: -2px 0 13px;
  color: #6c858c;
  font-size: 12px;
  line-height: 1.55;
}

.policy-review-difference-list article > label {
  display: flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-left: auto;
  padding: 8px 11px;
  border: 1px solid #d7e4e5;
  border-radius: 8px;
  background: #fff;
  color: #3f6968;
  font-size: 13px;
  cursor: pointer;
}

.policy-review-difference-list article > label > input {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: #4d8986;
}

.policy-review-evidence-row {
  padding: 14px 20px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #edf1f2;
  color: inherit;
  text-decoration: none;
}

.policy-review-evidence-row:last-child {
  border-bottom: 0;
}

.policy-review-evidence-row > span {
  color: #789097;
  font-size: 12px;
}

.policy-review-evidence-row div,
.policy-review-evidence-row strong,
.policy-review-evidence-row small {
  display: block;
  min-width: 0;
}

.policy-review-evidence-row strong {
  overflow: hidden;
  color: #31515b;
  font-size: 14px;
  font-weight: 590;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-review-evidence-row small {
  margin-top: 4px;
  color: #82949a;
  font-size: 12px;
}

.policy-review-evidence-row em {
  color: #397674;
  font-size: 12px;
  font-style: normal;
}

.policy-review-evidence > header,
.policy-review-dimensions > header {
  padding: 17px 20px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #e3ebed;
}

.policy-review-evidence > header strong,
.policy-review-dimensions > header strong {
  color: #294a54;
  font-size: 16px;
}

.policy-review-evidence > header span,
.policy-review-dimensions > header span {
  color: #748a91;
  font-size: 13px;
}

.policy-review-evidence > label {
  padding: 14px 20px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 60px;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #edf1f2;
}

.policy-review-evidence > label:last-child {
  border-bottom: 0;
}

.policy-review-evidence label span,
.policy-review-evidence label strong,
.policy-review-evidence label small {
  display: block;
  min-width: 0;
}

.policy-review-evidence label strong {
  overflow: hidden;
  color: #31515b;
  font-size: 14px;
  font-weight: 580;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-review-evidence label small {
  margin-top: 4px;
  color: #82949a;
  font-size: 12px;
}

.policy-review-evidence label em {
  color: #397674;
  font-size: 12px;
  font-style: normal;
  text-align: right;
}

.policy-review-dimensions > div {
  padding: 11px 18px;
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid #edf1f2;
}

.policy-review-dimensions > div:last-child {
  border-bottom: 0;
}

.policy-review-dimensions > div.confirmed {
  background: #f7fbfa;
}

.policy-review-dimensions label {
  display: grid;
  grid-template-columns: 22px 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: #35545e;
  font-size: 14px;
}

.policy-review-dimensions label span {
  margin: 0;
  color: #789097;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.policy-review-dimensions label strong {
  font-weight: 590;
}

.policy-review-dimensions > div > input,
.policy-review-confirmation input,
.policy-review-confirmation textarea {
  width: 100%;
  border: 1px solid #d4e0e2;
  border-radius: 8px;
  background: #fbfcfc;
  color: #294852;
  font: inherit;
  outline: none;
}

.policy-review-dimensions > div > input,
.policy-review-confirmation input {
  height: 40px;
  padding: 0 12px;
}

.policy-review-dimensions > div > input:focus,
.policy-review-confirmation input:focus,
.policy-review-confirmation textarea:focus {
  border-color: #69a3a0;
  box-shadow: 0 0 0 3px rgba(73, 137, 134, 0.1);
}

.policy-review-confirmation {
  padding: 19px 20px;
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(230px, 0.7fr);
  gap: 16px;
}

.policy-review-confirmation label > span {
  margin-bottom: 7px;
  color: #526f78;
  font-size: 13px;
  font-weight: 600;
}

.policy-review-confirmation textarea {
  min-height: 78px;
  padding: 10px 12px;
  resize: vertical;
}

.policy-review-confirmation > div {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 16px;
  border-top: 1px solid #e6edef;
}

.policy-review-confirmation p {
  margin: 0;
  color: #70878e;
  font-size: 13px;
  line-height: 1.6;
}

.policy-review-confirmation button {
  min-width: 190px;
  min-height: 44px;
}

.policy-review-row-actions button:disabled,
.policy-review-confirmation button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

@media (max-width: 1050px) {
  .policy-review-workspace {
    width: calc(100vw - 24px);
    height: calc(100vh - 24px);
  }

  .policy-review-workspace > header {
    grid-template-columns: 150px minmax(0, 1fr) 140px;
    padding: 20px;
  }

  .policy-review-overview {
    margin-right: 20px;
    margin-left: 20px;
  }

  .policy-review-filters,
  .policy-review-list,
  .policy-review-detail {
    padding-right: 20px;
    padding-left: 20px;
  }

  .policy-review-list article {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .policy-review-row-actions {
    grid-column: 2;
  }

  .policy-review-dimensions > div {
    grid-template-columns: 265px minmax(0, 1fr);
  }

  .policy-review-difference-values,
  .policy-review-confirmation {
    grid-template-columns: 1fr;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family:
    "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "PingFang SC",
    Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

main {
  min-height: 100vh;
  overflow: hidden;
}

.site-header {
  align-items: center;
  backdrop-filter: blur(18px);
  background: rgba(251, 250, 247, 0.94);
  border-bottom: 1px solid rgba(11, 31, 51, 0.1);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 78px;
  padding: 0 max(28px, 5vw);
  position: sticky;
  top: 0;
  z-index: 50;
}

.brand {
  align-items: center;
  display: flex;
  gap: 14px;
  width: max-content;
}

.brand > span:last-child {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.brand strong {
  color: var(--navy-900);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.025em;
}

.brand small {
  color: var(--teal-700);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.16em;
  margin-top: 6px;
}

.brand-mark {
  display: grid;
  gap: 3px;
  grid-template-columns: repeat(2, 9px);
  grid-template-rows: repeat(2, 9px);
  height: 22px;
  width: 22px;
}

.brand-mark i {
  background: var(--teal-700);
  display: block;
}

.brand-mark i:nth-child(2) {
  background: var(--gold-500);
}

.brand-mark i:nth-child(3) {
  background: var(--navy-900);
  grid-column: 1 / span 2;
}

.site-header nav {
  align-items: center;
  display: flex;
  gap: clamp(22px, 2.5vw, 42px);
}

.site-header nav a {
  color: #425668;
  font-size: 13px;
  font-weight: 750;
  position: relative;
}

.site-header nav a::after {
  background: var(--teal-700);
  bottom: -11px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
  width: 100%;
}

.site-header nav a:hover::after {
  transform: scaleX(1);
}

.verification-badge {
  border: 1px solid var(--gold-100);
  color: #72582f;
  font-size: 11px;
  font-weight: 750;
  justify-self: end;
  letter-spacing: 0.04em;
  padding: 7px 12px;
}

.hero {
  background:
    linear-gradient(116deg, rgba(11, 31, 51, 0.99), rgba(17, 52, 76, 0.96)),
    var(--navy-900);
  color: var(--white);
  display: grid;
  gap: clamp(48px, 8vw, 128px);
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
  min-height: 650px;
  padding: 96px 7vw 90px;
  position: relative;
}

.hero::before {
  border: 1px solid rgba(255, 255, 255, 0.09);
  content: "";
  height: 360px;
  position: absolute;
  right: -130px;
  top: -105px;
  transform: rotate(16deg);
  width: 360px;
}

.hero-copy,
.evidence-panel {
  align-self: center;
  position: relative;
  z-index: 1;
}

.hero-copy {
  max-width: 780px;
}

.eyebrow,
.section-kicker {
  color: #71beb4;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.2em;
  margin: 0 0 22px;
}

.hero h1 {
  font-size: clamp(48px, 5.5vw, 82px);
  font-weight: 780;
  letter-spacing: -0.055em;
  line-height: 1.13;
  margin: 0;
}

.hero-intro {
  color: #c7d4df;
  font-size: 17px;
  line-height: 1.9;
  margin: 32px 0 0;
  max-width: 690px;
}

.hero-actions {
  align-items: center;
  display: flex;
  gap: 28px;
  margin-top: 42px;
}

.primary-action,
.submit-action {
  align-items: center;
  background: var(--teal-600);
  border: 0;
  color: white;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 34px;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  transition:
    background 160ms ease,
    transform 160ms ease;
}

.primary-action:hover,
.submit-action:hover {
  background: #1a9185;
  transform: translateY(-1px);
}

.text-action {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.34);
  color: #d9e3ea;
  font-size: 13px;
  padding: 6px 0;
}

.evidence-panel {
  background: rgba(15, 45, 70, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.15);
  padding: 30px;
}

.evidence-panel-head {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
}

.evidence-panel-head span {
  color: #e1e8ee;
  font-size: 13px;
  font-weight: 750;
}

.evidence-panel-head strong {
  color: #7cc9bf;
  font-size: 9px;
  letter-spacing: 0.18em;
}

.evidence-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.evidence-grid div {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 24px 12px 22px 0;
}

.evidence-grid div:nth-child(odd) {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.evidence-grid div:nth-child(even) {
  padding-left: 22px;
}

.evidence-grid strong {
  display: block;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 35px;
  line-height: 1;
}

.evidence-grid span {
  color: #acbdca;
  display: block;
  font-size: 11px;
  margin-top: 9px;
}

.evidence-panel > p {
  color: #9fb1bf;
  font-size: 11px;
  line-height: 1.85;
  margin: 22px 0 0;
}

.assessment-section,
.results-section,
.policy-section {
  padding: 96px 7vw;
}

.assessment-section {
  background: var(--ivory);
}

.section-heading {
  align-items: end;
  display: grid;
  gap: 8vw;
  grid-template-columns: 1fr minmax(320px, 0.72fr);
  margin: 0 auto 44px;
  max-width: 1440px;
}

.section-heading .section-kicker,
.results-head .section-kicker {
  color: var(--teal-700);
  margin-bottom: 12px;
}

.section-heading h2,
.results-head h2 {
  color: var(--navy-900);
  font-size: clamp(34px, 4vw, 54px);
  letter-spacing: -0.045em;
  line-height: 1.18;
  margin: 0;
}

.section-heading > p,
.results-head > div > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.9;
  margin: 0;
}

.assessment-form {
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: 1440px;
}

.form-card {
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  padding: clamp(28px, 3vw, 44px);
}

.form-card-title {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
  padding-bottom: 14px;
}

.form-card-title span {
  color: var(--navy-900);
  font-size: 17px;
  font-weight: 820;
}

.form-card-title small {
  color: #788996;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.1em;
}

.field-grid,
.text-field-grid {
  display: grid;
  gap: 22px;
}

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

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

.text-field-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

label,
fieldset {
  margin: 0;
}

label > span,
fieldset legend {
  color: #3f5264;
  display: block;
  font-size: 12px;
  font-weight: 750;
  margin-bottom: 8px;
}

input,
select,
textarea {
  background: #fcfdfc;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
  color: var(--ink);
  outline: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease,
    background 150ms ease;
  width: 100%;
}

input,
select {
  height: 47px;
  padding: 0 13px;
}

textarea {
  line-height: 1.75;
  min-height: 108px;
  padding: 12px 13px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  background: white;
  border-color: var(--teal-600);
  box-shadow: 0 0 0 3px rgba(22, 133, 122, 0.11);
}

input::placeholder,
textarea::placeholder {
  color: #98a4ad;
}

.input-unit {
  position: relative;
}

.input-unit input {
  padding-right: 66px;
}

.input-unit em {
  color: #687a88;
  font-size: 10px;
  font-style: normal;
  position: absolute;
  right: 12px;
  top: 14px;
}

.range-field > span {
  display: flex;
  justify-content: space-between;
}

.range-field b {
  color: var(--teal-700);
}

.range-field input {
  accent-color: var(--teal-600);
  border: 0;
  box-shadow: none;
  height: 30px;
  padding: 0;
}

.subsidy-row {
  align-items: end;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(310px, 0.68fr) 1fr;
  margin-top: 25px;
}

.subsidy-row fieldset {
  border: 0;
  padding: 0;
}

.segmented-control,
.mini-segment,
.mode-switch {
  border: 1px solid var(--line-strong);
  display: grid;
}

.segmented-control {
  grid-template-columns: repeat(3, 1fr);
}

.segmented-control button,
.mini-segment button,
.mode-switch button {
  background: #fbfcfb;
  border: 0;
  color: #607280;
  font-size: 12px;
  font-weight: 750;
  min-height: 43px;
}

.segmented-control button + button,
.mini-segment button + button,
.mode-switch button + button {
  border-left: 1px solid var(--line-strong);
}

.segmented-control button.active,
.mode-switch button.active {
  background: var(--navy-900);
  color: white;
}

.veto-card {
  border-top: 4px solid var(--navy-900);
  padding-top: 36px;
}

.veto-intro {
  background: var(--blue-050);
  border-left: 3px solid var(--blue-700);
  color: #425b75;
  font-size: 13px;
  line-height: 1.8;
  margin: 0 0 26px;
  padding: 14px 16px;
}

.veto-question-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.veto-question-grid > article {
  align-items: center;
  background: #fcfcfa;
  border: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: 30px minmax(0, 1fr) 246px;
  min-height: 116px;
  padding: 17px 18px;
}

.veto-question-grid > article > span {
  align-self: start;
  color: var(--teal-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  padding-top: 2px;
}

.veto-question-grid strong {
  color: var(--navy-900);
  font-size: 13px;
}

.veto-question-grid p {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
  margin: 6px 0 0;
}

.mini-segment {
  grid-template-columns: repeat(4, 1fr);
}

.mini-segment button {
  font-size: 11px;
  min-height: 38px;
}

.mini-segment button.active-是 {
  background: var(--teal-700);
  color: white;
}

.mini-segment button.active-否 {
  background: var(--red-600);
  color: white;
}

.mini-segment button.active-不确定 {
  background: var(--gold-500);
  color: var(--navy-950);
}

.mini-segment button.active-不适用 {
  background: #5f7080;
  color: white;
}

.form-submit-bar {
  align-items: center;
  background: var(--navy-900);
  box-shadow: var(--shadow-md);
  color: white;
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr auto auto;
  padding: 24px 28px;
  position: sticky;
  bottom: 18px;
  z-index: 20;
}

.form-submit-bar > div {
  display: flex;
  flex-direction: column;
}

.form-submit-bar strong {
  font-size: 13px;
}

.form-submit-bar span {
  color: #aebecb;
  font-size: 10px;
  margin-top: 4px;
}

.secondary-action {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: white;
  font-size: 12px;
  font-weight: 780;
  min-height: 50px;
  padding: 0 20px;
}

.submit-action {
  min-width: 230px;
}

.submit-action:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

.results-section {
  background: var(--paper);
}

.results-head {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 36px;
  max-width: 1440px;
}

.results-head > div > p:last-child {
  margin-top: 10px;
}

.results-actions {
  align-items: stretch;
  display: flex;
  gap: 10px;
}

.mode-switch {
  grid-template-columns: 1fr 1fr;
  min-width: 340px;
}

.mode-switch button {
  min-height: 45px;
  padding: 0 16px;
}

.report-action {
  background: white;
  border: 1px solid var(--line-strong);
  color: var(--navy-900);
  font-size: 12px;
  font-weight: 800;
  min-height: 45px;
  padding: 0 18px;
}

.report-action:hover,
.policy-heading-actions button:hover {
  border-color: var(--teal-700);
  color: var(--teal-700);
}

.result-overview {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto 24px;
  max-width: 1440px;
}

.result-overview article {
  background: white;
  border: 1px solid var(--line);
  border-top: 4px solid;
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 20px 22px;
}

.result-overview span {
  color: #42566a;
  font-size: 12px;
  font-weight: 800;
}

.result-overview strong {
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 34px;
  grid-row: 1 / span 2;
  line-height: 1;
}

.result-overview small {
  color: #7a8994;
  font-size: 10px;
  margin-top: 6px;
}

.overview-eligible {
  border-top-color: var(--teal-600) !important;
}

.overview-eligible strong {
  color: var(--teal-700);
}

.overview-pending {
  border-top-color: var(--gold-500) !important;
}

.overview-pending strong {
  color: var(--gold-700);
}

.overview-rejected {
  border-top-color: var(--red-600) !important;
}

.overview-rejected strong {
  color: var(--red-700);
}

.no-qualified-banner {
  align-items: center;
  background: var(--red-050);
  border: 1px solid var(--red-100);
  border-left: 5px solid var(--red-600);
  display: grid;
  gap: 18px;
  grid-template-columns: 42px 1fr;
  margin: 0 auto 54px;
  max-width: 1440px;
  padding: 21px 24px;
}

.no-qualified-banner > span {
  align-items: center;
  background: var(--red-600);
  border-radius: 50%;
  color: white;
  display: flex;
  font-size: 20px;
  font-weight: 900;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.no-qualified-banner strong {
  color: var(--red-700);
  font-size: 15px;
}

.no-qualified-banner p {
  color: #76585a;
  font-size: 11px;
  margin: 4px 0 0;
}

.result-group,
.supporting-routes {
  margin: 62px auto 0;
  max-width: 1440px;
}

.group-heading {
  align-items: end;
  border-bottom: 1px solid var(--line-strong);
  display: grid;
  grid-template-columns: auto 1fr auto;
  margin-bottom: 22px;
  padding-bottom: 14px;
}

.group-heading > span {
  color: var(--teal-700);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.18em;
  margin-right: 18px;
}

.group-heading h3 {
  color: var(--navy-900);
  font-size: 24px;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin: 0;
}

.group-heading p {
  color: var(--muted);
  font-size: 11px;
  margin: 0;
}

.rejected-group .group-heading > span {
  color: var(--red-700);
}

.results-list {
  display: grid;
  gap: 22px;
}

.result-card {
  background: white;
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  padding: clamp(25px, 3vw, 38px);
  position: relative;
}

.result-card::before {
  background: var(--teal-600);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.decision-pending::before {
  background: var(--gold-500);
}

.decision-rejected::before {
  background: var(--red-600);
}

.decision-supporting::before {
  background: var(--blue-700);
}

.result-card-head {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr auto;
}

.result-identity {
  align-items: start;
  display: flex;
  gap: 18px;
}

.rank-badge {
  align-items: center;
  background: var(--navy-900);
  color: white;
  display: inline-flex;
  flex: 0 0 44px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 17px;
  font-weight: 800;
  height: 44px;
  justify-content: center;
}

.route-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.route-meta span {
  color: var(--teal-700);
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0.08em;
}

.route-meta span + span {
  border-left: 1px solid var(--line-strong);
  padding-left: 9px;
}

.result-identity h3 {
  color: var(--navy-900);
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: -0.035em;
  line-height: 1.35;
  margin: 8px 0 0;
}

.decision-panel {
  border-left: 1px solid var(--line);
  min-width: 210px;
  padding-left: 26px;
  text-align: right;
}

.decision-panel > span {
  color: #6d7c87;
  display: block;
  font-size: 10px;
  font-weight: 800;
}

.decision-panel > strong:not(.decision-word) {
  color: var(--teal-700);
  display: block;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 42px;
  line-height: 1.05;
  margin: 5px 0;
}

.decision-panel small {
  color: #7b8993;
  font-size: 9px;
}

.probability-note {
  color: #7b8993;
  display: block;
  font-size: 9px;
  font-style: normal;
  line-height: 1.45;
  margin-top: 7px;
  max-width: 230px;
}

.decision-word {
  color: var(--amber-700);
  display: block;
  font-size: 18px;
  margin-top: 9px;
}

.decision-rejected .decision-word {
  color: var(--red-700);
}

.route-summary-grid {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 0;
  grid-template-columns: 1.2fr 1fr 0.8fr;
  margin-top: 26px;
  padding-top: 24px;
}

.route-summary-grid > div {
  min-height: 94px;
  padding-right: 26px;
}

.route-summary-grid > div + div {
  border-left: 1px solid var(--line);
  padding-left: 26px;
}

.route-summary-grid > div > span {
  color: #6c7c88;
  display: block;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.route-summary-grid strong {
  color: var(--navy-800);
  font-size: 12px;
}

.route-summary-grid p {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.65;
  margin: 6px 0 0;
}

.award-summary {
  list-style: none;
  margin: 0;
  padding: 0;
}

.award-summary li {
  color: var(--navy-800);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.68;
  padding-left: 12px;
  position: relative;
}

.award-summary li::before {
  background: var(--teal-600);
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  top: 8px;
  width: 3px;
}

.decision-action-strip {
  background: #f4f7f6;
  border: 1px solid #d6e1de;
  display: grid;
  grid-template-columns: 0.8fr 1fr 1.35fr;
  margin-top: 22px;
}

.route-notice {
  background: #f7f4eb;
  border-left: 4px solid var(--gold-500);
  margin-top: 20px;
  padding: 14px 17px;
}

.route-notice strong {
  color: var(--navy-900);
  font-size: 11px;
}

.route-notice p {
  color: #665f50;
  font-size: 10px;
  line-height: 1.7;
  margin: 5px 0 0;
}

.decision-action-strip > article {
  min-width: 0;
  padding: 18px 20px;
}

.decision-action-strip > article + article {
  border-left: 1px solid #d6e1de;
}

.decision-action-strip span {
  color: #687b86;
  display: block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 7px;
}

.decision-action-strip strong {
  color: var(--navy-900);
  display: block;
  font-size: 12px;
  line-height: 1.55;
}

.decision-action-strip p {
  color: #5e707b;
  font-size: 10px;
  line-height: 1.65;
  margin: 6px 0 0;
}

.decision-action-rejected {
  background: #fff7f6;
  border-color: #edcfca;
}

.decision-action-rejected > article + article {
  border-color: #edcfca;
}

.decision-action-rejected > article:first-child strong {
  color: var(--red-700);
}

.decision-action-pending {
  background: #fffaf0;
  border-color: #eadab2;
}

.decision-action-pending > article + article {
  border-color: #eadab2;
}

.decision-action-pending > article:first-child strong {
  color: var(--amber-700);
}

.issue-panel {
  border-left: 4px solid;
  margin-top: 26px;
  padding: 20px;
}

.issue-fail {
  background: var(--red-050);
  border-color: var(--red-600);
}

.issue-pending {
  background: var(--amber-050);
  border-color: var(--gold-500);
}

.issue-panel-title {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 14px;
}

.issue-panel-title strong {
  font-size: 13px;
}

.issue-fail .issue-panel-title strong {
  color: var(--red-700);
}

.issue-pending .issue-panel-title strong {
  color: var(--amber-700);
}

.issue-panel-title span {
  color: #776d62;
  font-size: 10px;
}

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

.issue-grid article {
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(98, 75, 62, 0.13);
  padding: 13px 14px;
}

.issue-grid article > span {
  color: #6a6870;
  display: block;
  font-size: 9px;
  font-weight: 800;
}

.issue-grid article > strong {
  color: var(--navy-800);
  display: block;
  font-size: 11px;
  line-height: 1.65;
  margin-top: 5px;
}

.issue-grid p,
.issue-grid small {
  color: #756f70;
  display: block;
  font-size: 9px;
  line-height: 1.6;
  margin: 4px 0 0;
}

.execution-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}

.execution-grid > div {
  border: 1px solid var(--line);
  padding: 21px 22px;
}

.execution-grid h4,
.case-section h4,
.detail-block h4 {
  color: var(--navy-900);
  font-size: 13px;
  margin: 0 0 13px;
}

.execution-grid ol,
.execution-grid ul {
  margin: 0;
  padding-left: 20px;
}

.execution-grid li {
  color: #586b79;
  font-size: 11px;
  line-height: 1.75;
  margin-top: 5px;
}

.case-section {
  border-top: 1px solid var(--line);
  margin-top: 28px;
  padding-top: 26px;
}

.subsection-head {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 15px;
}

.subsection-head span {
  color: var(--teal-700);
  display: block;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.16em;
}

.subsection-head h4 {
  margin: 4px 0 0;
}

.subsection-head p {
  color: var(--muted);
  font-size: 10px;
  margin: 0;
}

.case-list {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-list article {
  background: #fbfcfb;
  border: 1px solid var(--line);
  min-height: 160px;
  padding: 16px;
}

.case-topline {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.case-topline span {
  color: var(--teal-700);
  font-size: 8px;
  font-weight: 800;
}

.case-topline strong {
  color: var(--gold-700);
  font-size: 11px;
}

.case-list h5 {
  color: var(--navy-900);
  font-size: 12px;
  line-height: 1.55;
  margin: 13px 0 5px;
}

.case-list p {
  color: #566979;
  font-size: 10px;
  margin: 0;
}

.case-list small {
  color: #84909a;
  display: block;
  font-size: 9px;
  line-height: 1.55;
  margin-top: 7px;
}

.case-list a {
  color: var(--teal-700);
  display: inline-block;
  font-size: 9px;
  font-weight: 800;
  margin-top: 10px;
}

.empty-case {
  background: #f6f7f5;
  color: #7a8892;
  font-size: 11px;
  margin: 0;
  padding: 18px;
}

.route-details {
  border-top: 1px solid var(--line);
  margin-top: 25px;
  padding-top: 18px;
}

.route-details > summary {
  color: var(--navy-700);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.detail-block {
  margin-top: 22px;
}

.direction-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.direction-list span {
  background: var(--teal-050);
  border: 1px solid #c8e0db;
  color: #35685f;
  font-size: 10px;
  padding: 6px 9px;
}

.gate-detail-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 20px;
}

.gate-detail {
  border: 1px solid var(--line);
  border-top: 3px solid;
  padding: 14px;
}

.gate-detail-pass {
  border-top-color: var(--teal-600);
}

.gate-detail-unknown {
  background: var(--amber-050);
  border-top-color: var(--gold-500);
}

.gate-detail-fail {
  background: var(--red-050);
  border-top-color: var(--red-600);
}

.gate-detail > div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.gate-detail > div span {
  color: #526675;
  font-size: 9px;
  font-weight: 800;
}

.gate-detail > div strong {
  font-size: 9px;
}

.gate-detail-pass > div strong {
  color: var(--teal-700);
}

.gate-detail-unknown > div strong {
  color: var(--amber-700);
}

.gate-detail-fail > div strong {
  color: var(--red-700);
}

.gate-detail p {
  color: var(--navy-800);
  font-size: 10px;
  line-height: 1.6;
  margin: 9px 0 0;
}

.gate-detail small {
  color: #7d8992;
  display: block;
  font-size: 9px;
  margin-top: 6px;
}

.catalog-match-panel {
  background: linear-gradient(135deg, #edf7f4, #f9fbfa);
  border: 1px solid #c9e1dc;
  margin-top: 20px;
  padding: 20px;
}

.catalog-match-panel > div:first-child {
  align-items: end;
  display: flex;
  gap: 22px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.catalog-match-panel h4,
.catalog-match-panel p {
  margin: 0;
}

.catalog-match-panel p {
  color: var(--muted);
  font-size: 10px;
}

.catalog-match-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.catalog-match-list article {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(14, 115, 104, 0.13);
  padding: 13px 14px;
}

.catalog-match-list span {
  color: var(--teal-700);
  font-size: 9px;
  font-weight: 800;
}

.catalog-match-list strong {
  color: var(--navy-900);
  display: block;
  font-size: 11px;
  margin-top: 5px;
}

.catalog-match-list small {
  color: var(--muted);
  display: block;
  font-size: 9px;
  line-height: 1.6;
  margin-top: 5px;
}

.source-row {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
  padding-top: 18px;
}

.source-row a {
  border: 1px solid var(--line);
  display: grid;
  gap: 9px;
  grid-template-columns: auto 1fr auto;
  padding: 11px 12px;
}

.source-row a:hover {
  border-color: var(--teal-600);
}

.source-row a span {
  color: var(--teal-700);
  font-size: 9px;
  font-weight: 800;
}

.source-row a strong {
  color: #3c5264;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.source-row a small {
  color: #84929b;
  font-size: 8px;
}

.supporting-routes > div:last-child {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.supporting-routes article {
  background: var(--blue-050);
  border: 1px solid #d7e1ef;
  padding: 18px;
}

.supporting-routes article > span {
  color: var(--blue-700);
  font-size: 9px;
  font-weight: 800;
}

.supporting-routes h4 {
  color: var(--navy-900);
  font-size: 12px;
  line-height: 1.55;
  margin: 9px 0 6px;
}

.supporting-routes p {
  color: var(--muted);
  font-size: 10px;
  margin: 0;
}

.policy-section {
  background: var(--ivory);
}

.policy-layout {
  display: grid;
  gap: 64px;
  grid-template-columns: 0.76fr 1.24fr;
  margin: 0 auto;
  max-width: 1440px;
}

.policy-heading-actions {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 660px;
}

.policy-heading-actions p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
  margin: 0;
  text-align: right;
}

.policy-heading-actions button {
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--navy-900);
  font-size: 11px;
  font-weight: 820;
  min-height: 39px;
  padding: 0 16px;
}

.policy-stat-table {
  background: var(--navy-900);
  padding: 24px 30px;
}

.policy-stat-table div {
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr auto;
  padding: 21px 0 17px;
}

.policy-stat-table span {
  color: #d3dee6;
  font-size: 12px;
}

.policy-stat-table strong {
  color: white;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 22px;
}

.policy-stat-table i {
  background: #59a99f;
  display: block;
  grid-column: 1 / span 2;
  height: 2px;
}

.core-policy-list article {
  border-top: 1px solid var(--line-strong);
  padding: 22px 0 24px;
}

.core-policy-list article:first-child {
  border-top: 0;
  padding-top: 0;
}

.core-policy-list article > span {
  color: var(--teal-700);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.core-policy-list h3 {
  color: var(--navy-900);
  font-size: 20px;
  letter-spacing: -0.025em;
  margin: 7px 0;
}

.core-policy-list p {
  color: #60717f;
  font-size: 12px;
  line-height: 1.85;
  margin: 0;
}

.core-policy-list a {
  color: var(--teal-700);
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  margin-top: 10px;
}

footer {
  align-items: start;
  background: #061421;
  color: #b7c4ce;
  display: grid;
  gap: 50px;
  grid-template-columns: 0.8fr 1.6fr auto;
  padding: 40px 7vw 44px;
}

footer > div {
  display: flex;
  flex-direction: column;
}

footer strong {
  color: white;
  font-size: 13px;
}

footer div span {
  color: #6f8799;
  font-size: 9px;
  margin-top: 4px;
}

footer p {
  font-size: 10px;
  line-height: 1.8;
  margin: 0;
}

footer > span {
  color: #62788a;
  font-size: 8px;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .site-header nav {
    display: flex;
    justify-content: flex-start;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
  }

  .site-header nav::-webkit-scrollbar {
    display: none;
  }

  .hero {
    gap: 46px;
    grid-template-columns: 1fr;
  }

  .evidence-panel {
    max-width: 700px;
  }

  .field-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .veto-question-grid {
    grid-template-columns: 1fr;
  }

  .case-list,
  .gate-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .supporting-routes > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-action-strip,
  .execution-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .site-header {
    min-height: 68px;
    padding: 0 20px;
  }

  .verification-badge {
    display: none;
  }

  .site-header nav {
    display: none;
  }

  .hero,
  .assessment-section,
  .results-section,
  .policy-section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero {
    min-height: 0;
    padding-bottom: 68px;
    padding-top: 68px;
  }

  .hero h1 {
    font-size: 42px;
  }

  .hero-intro {
    font-size: 14px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .section-heading {
    align-items: start;
    gap: 18px;
    grid-template-columns: 1fr;
  }

  .section-heading h2,
  .results-head h2 {
    font-size: 35px;
  }

  .field-grid-3,
  .field-grid-4,
  .text-field-grid,
  .subsidy-row,
  .result-overview,
  .result-card-head,
  .route-summary-grid,
  .decision-action-strip,
  .issue-grid,
  .execution-grid,
  .case-list,
  .gate-detail-grid,
  .catalog-match-list,
  .source-row,
  .policy-layout {
    grid-template-columns: 1fr;
  }

  .form-card {
    padding: 24px 20px;
  }

  .veto-question-grid > article {
    align-items: start;
    grid-template-columns: 26px 1fr;
  }

  .veto-question-grid .mini-segment {
    grid-column: 1 / span 2;
  }

  .form-submit-bar {
    bottom: 8px;
    grid-template-columns: 1fr 1fr;
    padding: 18px;
  }

  .form-submit-bar > div {
    grid-column: 1 / span 2;
  }

  .form-submit-bar .submit-action {
    min-width: 0;
  }

  .results-head {
    align-items: stretch;
    flex-direction: column;
    gap: 24px;
  }

  .results-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .mode-switch {
    min-width: 0;
    width: 100%;
  }

  .policy-heading-actions {
    align-items: flex-start;
    max-width: none;
  }

  .policy-heading-actions p {
    text-align: left;
  }

  .group-heading {
    align-items: start;
    gap: 6px;
    grid-template-columns: 1fr;
  }

  .group-heading > span {
    margin: 0;
  }

  .result-card {
    padding: 24px 19px;
  }

  .decision-panel {
    border-left: 0;
    border-top: 1px solid var(--line);
    min-width: 0;
    padding-left: 0;
    padding-top: 16px;
    text-align: left;
  }

  .route-summary-grid > div {
    min-height: 0;
    padding: 16px 0;
  }

  .route-summary-grid > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
  }

  .decision-action-strip > article + article {
    border-left: 0;
    border-top: 1px solid #d6e1de;
  }

  .decision-action-rejected > article + article {
    border-top-color: #edcfca;
  }

  .decision-action-pending > article + article {
    border-top-color: #eadab2;
  }

  .subsection-head,
  .catalog-match-panel > div:first-child {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .supporting-routes > div:last-child {
    grid-template-columns: 1fr;
  }

  footer {
    gap: 24px;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .brand strong {
    font-size: 15px;
  }

  .hero h1 {
    font-size: 37px;
  }

  .evidence-panel {
    padding: 22px;
  }

  .form-card-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .veto-question-grid > article {
    padding: 15px;
  }

  .form-submit-bar {
    grid-template-columns: 1fr;
    position: static;
  }

  .form-submit-bar > div {
    grid-column: 1;
  }

  .form-submit-bar button {
    width: 100%;
  }

  .result-identity {
    gap: 12px;
  }

  .rank-badge {
    flex-basis: 38px;
    height: 38px;
  }

  .no-qualified-banner {
    align-items: start;
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  * {
    transition-duration: 0.01ms !important;
  }
}

@media print {
  @page {
    margin: 14mm;
    size: A4 portrait;
  }

  body {
    background: white;
    color: #10263a;
  }

  .site-header,
  .hero,
  .assessment-section,
  .policy-section,
  footer,
  .results-actions,
  .supporting-routes,
  .route-details {
    display: none !important;
  }

  .results-section {
    padding: 0;
  }

  .results-head,
  .result-overview,
  .no-qualified-banner,
  .result-group {
    max-width: none;
  }

  .result-card,
  .result-overview article,
  .no-qualified-banner {
    box-shadow: none;
    break-inside: avoid;
  }

  .result-card {
    margin-bottom: 8mm;
    padding: 7mm;
  }

  .case-section {
    break-inside: avoid;
  }
}

.near-miss-routes {
  background:
    linear-gradient(135deg, rgba(181, 127, 44, 0.06), transparent 42%),
    #fff;
  border: 1px solid #d9dfe1;
  margin-top: 24px;
  padding: 26px;
}

.near-miss-routes > header {
  align-items: flex-end;
  border-bottom: 1px solid #dfe5e6;
  display: flex;
  justify-content: space-between;
  padding-bottom: 14px;
}

.near-miss-routes > header span {
  color: #956c2f;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 6px;
}

.near-miss-routes > header h2 {
  color: #102b3c;
  font-size: 21px;
  margin: 0;
}

.near-miss-routes > header > strong {
  color: #7d8a8f;
  font-size: 12px;
}

.near-miss-routes > p {
  color: #66777e;
  font-size: 12px;
  margin: 14px 0 18px;
}

.near-miss-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.near-miss-grid > article {
  border: 1px solid #e0e5e6;
  border-top: 3px solid #b8873e;
  min-width: 0;
  padding: 18px;
}

.near-miss-route-title {
  border-bottom: 1px solid #e8ecec;
  min-height: 84px;
  padding-bottom: 12px;
}

.near-miss-route-title > span {
  color: #9a6d29;
  font-size: 11px;
  font-weight: 700;
}

.near-miss-route-title > small {
  color: #7a878c;
  font-size: 11px;
  margin-left: 8px;
}

.near-miss-route-title h3 {
  color: #153247;
  font-size: 15px;
  line-height: 1.5;
  margin: 8px 0 0;
}

.near-miss-grid ul {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}

.near-miss-grid li {
  background: #fbfaf6;
  border-left: 2px solid #c79a55;
  padding: 11px 12px;
}

.near-miss-grid li strong {
  color: #8a5f20;
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
}

.near-miss-grid li p,
.near-miss-grid li span {
  display: block;
  font-size: 11px;
  line-height: 1.65;
  margin: 0;
}

.near-miss-grid li p {
  color: #43565f;
}

.near-miss-grid li span {
  color: #6f7f85;
  margin-top: 5px;
}

@media (max-width: 1100px) {
  .near-miss-grid {
    grid-template-columns: 1fr;
  }

  .near-miss-route-title {
    min-height: 0;
  }
}

/* Route-independent assessment workspace — v1.3 */
:root {
  --workspace-max: 1320px;
  --ink-strong: #102638;
  --ink-body: #314956;
  --ink-muted: #687980;
  --line-soft: #d6e0de;
  --paper: #ffffff;
  --paper-soft: #f6f9f8;
  --teal-deep: #116f67;
  --gold-deep: #a9772d;
}

.workflow-screen:not(.workflow-home) {
  padding-left: clamp(20px, 3vw, 52px);
  padding-right: clamp(20px, 3vw, 52px);
}

.workflow-page-heading,
.profile-workspace,
.candidate-level-summary,
.candidate-workspace,
.funding-mode-selector,
.checklist-toolbar,
.checklist-one-page,
.checklist-submit-bar,
.detail-navigation,
.detail-hero,
.detail-summary,
.detail-conclusion,
.failed-condition-panel,
.detail-tabs,
.detail-tab-panel {
  max-width: var(--workspace-max);
}

.workflow-page-heading {
  border-bottom: 1px solid var(--line-soft);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 24px;
}

.workflow-page-heading h1 {
  color: var(--ink-strong);
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: -0.035em;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p {
  font-size: 14px;
  line-height: 1.7;
}

.profile-cascade-workspace {
  align-items: stretch;
  gap: 16px;
  grid-template-columns: 0.94fr 1.08fr 1fr;
}

.profile-cascade-workspace .profile-panel {
  background:
    linear-gradient(180deg, rgba(19, 112, 103, 0.035), transparent 96px),
    var(--paper);
  border: 1px solid var(--line-soft);
  box-shadow: 0 18px 50px rgba(10, 36, 47, 0.055);
  min-width: 0;
  padding: 26px;
}

.profile-cascade-workspace .profile-panel > header {
  border-bottom: 1px solid #dfe7e5;
  margin-bottom: 20px;
  padding-bottom: 15px;
}

.profile-cascade-workspace .profile-panel > header > span {
  background: var(--ink-strong);
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
  height: 34px;
  width: 34px;
}

.profile-cascade-workspace .profile-panel > header strong {
  color: var(--ink-strong);
  font-size: 16px;
  letter-spacing: -0.01em;
}

.profile-cascade-workspace .profile-fields {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

.profile-cascade-workspace .profile-field-wide,
.profile-cascade-workspace .profile-panel-time {
  grid-column: auto;
}

.profile-cascade-workspace label {
  gap: 8px;
}

.profile-cascade-workspace .profile-panel label > span,
.profile-cascade-workspace .profile-subsidy legend {
  color: #314a57;
  font-size: 13px;
  font-weight: 680;
}

.profile-cascade-workspace
  .profile-panel
  input:not([type="range"]):not([type="radio"]),
.profile-cascade-workspace .profile-panel select,
.profile-cascade-workspace .profile-panel textarea {
  border-radius: 3px;
  font-size: 14px;
  min-height: 46px;
}

.profile-cascade-workspace .profile-panel select:disabled {
  background-color: #f0f4f3;
  color: #8a989c;
}

.cascade-field {
  position: relative;
}

.project-type-description {
  border-left: 2px solid #7aa7aa;
  color: #607781;
  display: block;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.65;
  margin-top: 2px;
  padding: 2px 0 2px 10px;
}

.cascade-panel:nth-child(2) {
  border-top: 4px solid var(--teal-deep);
}

.profile-panel-time {
  border-top: 4px solid var(--gold-deep) !important;
}

.profile-cascade-empty,
.checklist-empty-state,
.route-scope-notice {
  background: #f7faf9;
  border: 1px solid #d3dfdc;
  border-left: 4px solid #b37f32;
  color: #53666f;
  font-size: 13px;
  line-height: 1.65;
  margin-top: 16px;
  padding: 14px 16px;
}

.profile-cascade-workspace .workflow-form-actions {
  grid-column: 1 / -1;
}

.assessment-impact-strip,
.candidate-factor-grid {
  display: none !important;
}

.candidate-workspace {
  margin-left: auto;
  margin-right: auto;
}

.candidate-grid {
  gap: 16px;
}

.candidate-card {
  box-shadow: 0 16px 44px rgba(12, 38, 49, 0.06);
  padding: 26px;
}

.candidate-card h2 {
  font-size: 19px;
  line-height: 1.45;
}

.candidate-card > ul,
.candidate-award > strong,
.candidate-window-state,
.candidate-card-foot {
  font-size: 13px;
  line-height: 1.65;
}

.candidate-gate-strip {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

.candidate-gate-strip > span {
  font-size: 12px;
  min-height: 38px;
  padding: 0 12px;
}

.uncertain-route-list {
  max-height: 430px;
}

.uncertain-route-list h3 {
  font-size: 15px;
  line-height: 1.5;
}

.uncertain-route-list article > strong,
.uncertain-route-list article > p,
.candidate-level-summary p {
  font-size: 12px;
  line-height: 1.6;
}

.checklist-toolbar,
.checklist-one-page,
.checklist-submit-bar {
  margin-left: auto;
  margin-right: auto;
}

.checklist-one-page {
  max-width: 1180px;
}

.route-scope-notice {
  border-left-color: #477ba0;
  margin: 0;
}

.route-scope-notice span {
  color: #274e68;
  display: block;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  margin-bottom: 5px;
}

.route-scope-notice p,
.checklist-empty-state p {
  margin: 0;
}

.checklist-empty-state strong {
  color: var(--ink-strong);
  display: block;
  font-size: 16px;
  margin-bottom: 5px;
}

.route-check-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}

.route-check-item {
  display: grid;
  gap: 11px 24px;
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr);
  padding: 20px 22px;
}

.route-check-item-head {
  grid-row: 1 / 4;
}

.route-check-item > p {
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
}

.check-source,
.route-check-item legend {
  font-size: 12px;
  line-height: 1.55;
}

.route-check-item fieldset label span {
  font-size: 13px;
}

.checklist-group {
  box-shadow: 0 16px 46px rgba(12, 39, 49, 0.045);
  padding: 24px;
}

.checklist-submit-bar {
  max-width: 1180px;
}

.detail-summary p,
.detail-conclusion p,
.detail-action-grid li,
.detail-overview-grid dd,
.detail-overview-grid li {
  font-size: 14px;
  line-height: 1.7;
}

.detail-summary span,
.detail-conclusion span {
  font-size: 12px;
}

.detail-process-layout {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-process-layout > article {
  border: 1px solid var(--line-soft);
  box-shadow: 0 14px 42px rgba(10, 36, 47, 0.045);
  padding: 25px;
}

.detail-process-card,
.detail-material-card {
  grid-column: 1 / -1;
}

.detail-process-layout article > header {
  align-items: flex-start;
  border-bottom: 1px solid #dfe7e5;
  display: flex;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 15px;
}

.detail-process-layout article > header > span {
  align-items: center;
  background: var(--ink-strong);
  color: #fff;
  display: flex;
  flex: 0 0 36px;
  font-size: 11px;
  font-weight: 750;
  height: 36px;
  justify-content: center;
}

.detail-process-layout h2 {
  color: var(--ink-strong);
  font-size: 18px;
  margin: 0;
}

.detail-process-layout header p {
  color: var(--ink-muted);
  font-size: 12px;
  margin: 4px 0 0;
}

.detail-process-card > ol {
  counter-reset: none;
  display: grid;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.detail-process-card > ol > li {
  align-items: flex-start;
  border-bottom: 1px solid #e3eae8;
  display: grid;
  gap: 14px;
  grid-template-columns: 34px 1fr;
  padding: 13px 0;
}

.detail-process-card > ol > li b {
  color: var(--teal-deep);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.detail-process-card > a,
.official-window-card a {
  color: var(--teal-deep);
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  margin-top: 16px;
}

.official-window-card {
  background: #eef6f4;
  border-left: 4px solid var(--teal-deep);
  margin-bottom: 16px;
  padding: 15px 17px;
}

.official-window-card strong {
  color: var(--teal-deep);
  font-size: 13px;
}

.official-window-card p {
  margin: 5px 0 0;
}

.detail-material-card > ul {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.detail-material-card > ul > li {
  align-items: flex-start;
  border-bottom: 1px solid #e2e9e7;
  display: grid;
  gap: 10px;
  grid-template-columns: 18px 1fr;
  padding: 12px 12px 12px 0;
}

.detail-material-card > ul > li:nth-child(odd) {
  margin-right: 18px;
}

.detail-material-card i {
  color: var(--teal-deep);
  font-style: normal;
}

.detail-time-card > ul,
.detail-next-card > ol {
  padding-left: 20px;
}

.detail-empty-line {
  color: var(--ink-muted);
  font-size: 13px;
}

@media (max-width: 1080px) {
  .profile-cascade-workspace {
    grid-template-columns: 1fr 1fr;
  }

  .profile-panel-time {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 760px) {
  .profile-cascade-workspace,
  .candidate-grid,
  .detail-process-layout,
  .detail-material-card > ul {
    grid-template-columns: 1fr;
  }

  .profile-panel-time,
  .detail-process-card,
  .detail-material-card {
    grid-column: auto !important;
  }

  .route-check-item {
    grid-template-columns: 1fr;
  }

  .route-check-item-head {
    grid-row: auto;
  }

  .detail-material-card > ul > li:nth-child(odd) {
    margin-right: 0;
  }
}

/* Four-stage assessment workflow */
.workflow-app {
  background: #f6f7f5;
  min-height: 100vh;
  overflow-x: clip;
  overflow-y: visible;
}

.workflow-screen {
  min-height: calc(100svh - 78px);
  padding: 46px clamp(24px, 4vw, 74px) 54px;
}

.workflow-header {
  align-items: center;
  backdrop-filter: blur(20px);
  background: rgba(248, 249, 247, 0.94);
  border-bottom: 1px solid #d5dddc;
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(520px, 1.6fr) minmax(240px, 0.8fr);
  min-height: 78px;
  padding: 0 clamp(24px, 4vw, 72px);
  position: sticky;
  top: 0;
  z-index: 80;
}

.workflow-brand {
  background: none;
  border: 0;
  color: var(--navy-900);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.04em;
  padding: 0;
  text-align: left;
  width: max-content;
}

.workflow-brand::before {
  background: var(--teal-700);
  content: "";
  display: inline-block;
  height: 14px;
  margin-right: 12px;
  transform: translateY(1px);
  width: 4px;
}

.workflow-stepper {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

.workflow-stepper li {
  align-items: center;
  color: #89959d;
  display: flex;
  gap: 8px;
  min-width: 0;
  position: relative;
}

.workflow-stepper li::after {
  background: #d8dfdf;
  content: "";
  height: 1px;
  left: 46px;
  position: absolute;
  right: 13px;
  top: 50%;
  z-index: -1;
}

.workflow-stepper li:last-child::after {
  display: none;
}

.workflow-stepper li > span {
  align-items: center;
  background: #f8f9f7;
  border: 1px solid #cbd4d4;
  border-radius: 50%;
  display: flex;
  flex: 0 0 32px;
  font-size: 9px;
  font-weight: 900;
  height: 32px;
  justify-content: center;
}

.workflow-stepper li strong {
  background: rgba(248, 249, 247, 0.96);
  font-size: 11px;
  padding-right: 10px;
  white-space: nowrap;
}

.workflow-stepper li.complete,
.workflow-stepper li.active {
  color: var(--teal-700);
}

.workflow-stepper li.complete > span {
  background: var(--teal-700);
  border-color: var(--teal-700);
  color: white;
}

.workflow-stepper li.complete::after {
  background: rgba(14, 115, 104, 0.45);
}

.workflow-stepper li.active > span {
  border: 2px solid var(--teal-700);
  box-shadow: 0 0 0 5px rgba(14, 115, 104, 0.08);
}

.workflow-header-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

.workflow-header-actions > span {
  color: #7b898f;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.workflow-header-actions button {
  background: white;
  border: 1px solid #cbd5d4;
  color: var(--teal-700);
  font-size: 11px;
  font-weight: 850;
  min-height: 38px;
  padding: 0 14px;
}

.workflow-page-heading {
  align-items: end;
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr minmax(280px, 0.72fr);
  margin: 0 auto 28px;
  max-width: 1560px;
}

.workflow-page-heading > div > span,
.workflow-page-heading > span {
  color: var(--teal-700);
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.2em;
  margin-bottom: 7px;
}

.workflow-page-heading h1 {
  color: var(--navy-950);
  font-size: clamp(30px, 3vw, 48px);
  letter-spacing: -0.045em;
  line-height: 1.15;
  margin: 0;
  outline: none;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p {
  color: #718087;
  font-size: 13px;
  margin: 0;
}

.workflow-error {
  align-items: center;
  background: #fff1ef;
  border: 1px solid #efc8c4;
  color: #8f2e32;
  display: flex;
  gap: 16px;
  margin: 0 auto 20px;
  max-width: 1560px;
  padding: 13px 17px;
}

.workflow-error strong {
  border-right: 1px solid #e1afaa;
  font-size: 12px;
  padding-right: 16px;
}

.workflow-error span {
  font-size: 12px;
}

.back-action {
  background: none;
  border: 0;
  color: var(--teal-700);
  font-size: 11px;
  font-weight: 850;
  left: 0;
  padding: 0;
  position: absolute;
  top: -21px;
}

.primary-workflow-action {
  align-items: center;
  background: var(--teal-700);
  border: 1px solid var(--teal-700);
  color: white;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  gap: 16px;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
}

.primary-workflow-action:hover {
  background: #095e56;
}

.primary-workflow-action:disabled {
  background: #a9b5b2;
  border-color: #a9b5b2;
  cursor: not-allowed;
}

.quiet-action {
  background: transparent;
  border: 1px solid #c7d1d0;
  color: #53636b;
  font-size: 11px;
  font-weight: 800;
  min-height: 48px;
  padding: 0 22px;
}

.workflow-live-region {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

/* Dynamic policy home */
.workflow-home {
  background:
    radial-gradient(circle at 80% 14%, rgba(27, 149, 134, 0.2), transparent 26%),
    radial-gradient(circle at 16% 92%, rgba(188, 148, 69, 0.12), transparent 22%),
    #061522;
  color: white;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100svh;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 44px clamp(30px, 5vw, 92px) 38px;
  position: relative;
}

.home-model-grid {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  inset: 0;
  mask-image: linear-gradient(to bottom, black, transparent 90%);
  pointer-events: none;
  position: absolute;
}

.home-title-row {
  align-items: start;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.home-title-row h1 {
  color: white;
  font-size: clamp(42px, 5.2vw, 84px);
  font-weight: 900;
  letter-spacing: -0.065em;
  line-height: 1;
  margin: 0;
  outline: none;
}

.home-live-indicator {
  align-items: center;
  border: 1px solid rgba(135, 205, 194, 0.28);
  color: #b5d8d2;
  display: flex;
  font-size: 10px;
  font-weight: 850;
  gap: 9px;
  letter-spacing: 0.08em;
  padding: 10px 14px;
}

.home-live-indicator i {
  animation: livePulse 1.8s infinite;
  background: #4fd2be;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(79, 210, 190, 0.5);
  height: 7px;
  width: 7px;
}

.policy-model {
  align-self: center;
  margin-top: 28px;
  position: relative;
  z-index: 2;
}

.policy-model-summary {
  border-bottom: 1px solid rgba(184, 215, 211, 0.22);
  border-top: 1px solid rgba(184, 215, 211, 0.22);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.policy-model-summary > div {
  align-items: baseline;
  border-right: 1px solid rgba(184, 215, 211, 0.18);
  display: flex;
  gap: 10px;
  padding: 12px 18px;
}

.policy-model-summary > div:last-child {
  border-right: 0;
}

.policy-model-summary span {
  color: #9bb1b4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.policy-model-summary strong {
  color: white;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 23px;
}

.policy-flow-line {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  margin: 20px 8.333% 16px;
}

.policy-flow-line span,
.policy-flow-line b {
  background: linear-gradient(90deg, transparent, rgba(73, 191, 174, 0.75));
  height: 1px;
}

.policy-flow-line b {
  background: linear-gradient(90deg, rgba(73, 191, 174, 0.75), transparent);
}

.policy-flow-line i {
  background: #3cb5a4;
  border: 4px solid #0d2f36;
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(60, 181, 164, 0.65);
  height: 12px;
  width: 12px;
}

.policy-broadcast-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
}

.policy-broadcast-grid > article {
  background: rgba(10, 34, 48, 0.72);
  border: 1px solid rgba(139, 190, 185, 0.2);
  min-width: 0;
  overflow: hidden;
}

.policy-broadcast-grid > article > header {
  align-items: center;
  background: rgba(19, 64, 69, 0.46);
  border-bottom: 1px solid rgba(139, 190, 185, 0.2);
  display: flex;
  gap: 14px;
  padding: 12px 16px;
}

.policy-broadcast-grid > article > header > span {
  color: #4ec2b2;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 19px;
  font-weight: 900;
}

.policy-broadcast-grid header div {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.policy-broadcast-grid header strong {
  color: white;
  font-size: 12px;
}

.policy-broadcast-grid header small {
  color: #8fa8ad;
  font-size: 8px;
  margin-top: 3px;
}

.policy-feed-window {
  height: min(35vh, 310px);
  overflow: hidden;
  position: relative;
}

.policy-feed-window::before,
.policy-feed-window::after {
  content: "";
  height: 28px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

.policy-feed-window::before {
  background: linear-gradient(#0a2230, transparent);
  top: 0;
}

.policy-feed-window::after {
  background: linear-gradient(transparent, #0a2230);
  bottom: 0;
}

.policy-feed-track {
  animation: policyFeed 34s linear infinite;
}

.policy-feed-track-2 {
  animation-duration: 39s;
  animation-delay: -8s;
}

.policy-feed-track-3 {
  animation-duration: 44s;
  animation-delay: -16s;
}

.policy-feed-window:hover .policy-feed-track {
  animation-play-state: paused;
}

.policy-feed-item {
  border-bottom: 1px solid rgba(143, 176, 177, 0.12);
  color: inherit;
  display: block;
  min-height: 116px;
  padding: 12px 16px 11px;
  text-decoration: none;
}

.policy-feed-item > div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.policy-feed-item time {
  color: #7ea6a8;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
}

.policy-state {
  border: 1px solid currentColor;
  color: #67cbbd;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.6;
  padding: 0 5px;
}

.policy-state.state-下一批储备 {
  color: #d2a85d;
}

.policy-state.state-等待年度窗口 {
  color: #d2a85d;
}

.policy-state.state-参考节点 {
  color: #d2a85d;
}

.policy-state.state-现行政策依据 {
  color: #85b9dc;
}

.policy-state.state-资金计划公示 {
  color: #b0a4d4;
}

.policy-state.state-节点已结束 {
  color: #82959c;
}

.policy-feed-item > strong {
  color: #e8f1f0;
  display: -webkit-box;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  margin: 7px 0 4px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.policy-feed-item > small {
  color: #789097;
  display: block;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.policy-feed-item > p {
  align-items: baseline;
  color: #a7b8ba;
  display: flex;
  font-size: 10px;
  gap: 7px;
  line-height: 1.35;
  margin: 7px 0 0;
}

.policy-feed-item > p b {
  color: #d2a85d;
  flex: 0 0 auto;
  font-size: 9px;
  letter-spacing: 0.08em;
}

.home-action-row {
  align-items: end;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.home-action-row > div {
  align-items: center;
  color: #839ca2;
  display: flex;
  font-size: 8px;
  font-weight: 850;
  gap: 9px;
  letter-spacing: 0.08em;
}

.home-action-row > div i {
  background: rgba(95, 176, 165, 0.45);
  height: 1px;
  width: 28px;
}

.home-action-row > button {
  align-items: center;
  background: #e9f3f1;
  border: 0;
  color: #073a38;
  display: flex;
  font-size: 12px;
  font-weight: 900;
  gap: 40px;
  min-height: 52px;
  padding: 0 22px;
}

.home-action-row > button:hover {
  background: white;
}

@keyframes policyFeed {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}

@keyframes livePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(79, 210, 190, 0.5);
  }
  70% {
    box-shadow: 0 0 0 9px rgba(79, 210, 190, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(79, 210, 190, 0);
  }
}

/* Project profile */
.profile-screen {
  background:
    linear-gradient(90deg, rgba(12, 67, 64, 0.028) 1px, transparent 1px),
    #f6f7f5;
  background-size: 74px 74px;
}

.profile-workspace {
  display: grid;
  gap: 14px;
  grid-template-columns: 0.9fr 1.25fr 0.9fr;
  margin: 0 auto;
  max-width: 1560px;
}

.profile-panel {
  background: white;
  border: 1px solid #d6dedd;
  box-shadow: 0 14px 40px rgba(10, 40, 53, 0.045);
  min-width: 0;
  padding: 22px;
}

.profile-panel > header {
  align-items: center;
  border-bottom: 1px solid #dbe2e1;
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 13px;
}

.profile-panel > header span {
  color: var(--teal-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 17px;
  font-weight: 900;
}

.profile-panel > header strong {
  color: var(--navy-900);
  font-size: 13px;
}

.profile-fields {
  display: grid;
  gap: 13px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-field-wide {
  grid-column: 1 / -1;
}

.profile-panel label {
  display: block;
  min-width: 0;
}

.profile-panel label > span,
.profile-subsidy legend {
  color: #52636c;
  display: block;
  font-size: 10px;
  font-weight: 850;
  margin-bottom: 6px;
}

.profile-panel input:not([type="range"]):not([type="radio"]),
.profile-panel select,
.profile-panel textarea {
  background: #fbfcfb;
  border: 1px solid #ccd6d5;
  border-radius: 0;
  color: var(--navy-900);
  outline: none;
  padding: 10px 11px;
  resize: vertical;
  width: 100%;
}

.profile-panel input:not([type="range"]):not([type="radio"]),
.profile-panel select {
  min-height: 42px;
}

.profile-panel textarea {
  font-size: 11px;
  line-height: 1.65;
}

.profile-panel input:focus,
.profile-panel select:focus,
.profile-panel textarea:focus {
  border-color: var(--teal-700);
  box-shadow: 0 0 0 3px rgba(14, 115, 104, 0.08);
}

.profile-panel-project {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.profile-panel-project > header {
  margin-bottom: 0;
}

.profile-number-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-number-grid label > div {
  display: flex;
}

.profile-number-grid input {
  border-right: 0 !important;
}

.profile-number-grid em {
  align-items: center;
  background: #eef4f2;
  border: 1px solid #ccd6d5;
  color: #63756f;
  display: flex;
  flex: 0 0 auto;
  font-size: 8px;
  font-style: normal;
  padding: 0 8px;
}

.profile-progress {
  margin: 17px 0;
}

.profile-progress > span {
  align-items: baseline;
  display: flex !important;
  justify-content: space-between;
}

.profile-progress strong {
  color: var(--teal-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 19px;
}

.profile-progress input {
  accent-color: var(--teal-700);
  width: 100%;
}

.profile-subsidy {
  border: 0;
  margin: 0 0 15px;
  padding: 0;
}

.profile-subsidy > div {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, 1fr);
}

.profile-subsidy label {
  cursor: pointer;
  position: relative;
}

.profile-subsidy input {
  opacity: 0;
  position: absolute;
}

.profile-subsidy label span {
  align-items: center;
  border: 1px solid #ccd6d5;
  color: #56676f;
  display: flex;
  font-size: 11px;
  font-weight: 850;
  justify-content: center;
  margin: 0;
  min-height: 42px;
}

.profile-subsidy input:checked + span {
  background: var(--teal-050);
  border-color: var(--teal-700);
  color: var(--teal-700);
}

.workflow-form-actions {
  align-items: center;
  background: rgba(246, 247, 245, 0.95);
  border-top: 1px solid #d6dedc;
  display: flex;
  gap: 10px;
  grid-column: 1 / -1;
  justify-content: flex-end;
  padding-top: 16px;
  position: sticky;
  bottom: 0;
}

/* Candidate routes */
.candidate-heading,
.checklist-heading {
  align-items: center;
  grid-template-columns: 1fr auto;
  padding-top: 12px;
  position: relative;
}

.candidate-count {
  align-items: end;
  color: var(--teal-700);
  display: flex;
  flex-direction: column;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 42px;
  line-height: 1;
}

.candidate-count small {
  color: #7d8b91;
  font-family: inherit;
  font-size: 8px;
  letter-spacing: 0.08em;
  margin-top: 5px;
}

.candidate-grid {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1560px;
}

.candidate-workspace {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) 380px;
  margin: 0 auto;
  max-width: 1680px;
}

.candidate-current-column {
  min-width: 0;
}

.candidate-section-title {
  align-items: center;
  border-bottom: 1px solid #ccd7d6;
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 10px;
}

.candidate-section-title span,
.uncertain-route-column > header span {
  color: var(--teal-700);
  display: block;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.candidate-section-title h2,
.uncertain-route-column > header h2 {
  color: var(--navy-900);
  font-size: 17px;
  margin: 3px 0 0;
}

.candidate-section-title > strong {
  color: #718087;
  font-size: 11px;
}

.uncertain-route-column {
  align-self: start;
  background: #0b2131;
  border: 1px solid #173a49;
  color: white;
  padding: 18px;
}

.uncertain-route-column > header {
  align-items: end;
  border-bottom: 1px solid rgba(177, 204, 209, 0.2);
  display: flex;
  justify-content: space-between;
  padding-bottom: 12px;
}

.uncertain-route-column > header span {
  color: #66c4b6;
}

.uncertain-route-column > header h2 {
  color: white;
}

.uncertain-route-column > header > strong {
  color: #d8b36b;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 34px;
}

.uncertain-route-column > p {
  color: #9bb0b8;
  font-size: 11px;
  line-height: 1.6;
  margin: 12px 0;
}

.uncertain-route-list {
  display: grid;
  gap: 9px;
  max-height: 690px;
  overflow-y: auto;
  padding-right: 4px;
}

.uncertain-route-list article {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(177, 204, 209, 0.16);
  padding: 13px;
}

.uncertain-route-list article > div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.uncertain-route-list article > div > span {
  color: #d8b36b;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
}

.uncertain-route-list article > div > small {
  color: #8fa5ad;
  font-size: 9px;
  text-align: right;
}

.uncertain-route-list h3 {
  color: white;
  font-size: 13px;
  line-height: 1.45;
  margin: 9px 0 7px;
}

.uncertain-route-list article > strong {
  color: #bcd4d1;
  display: block;
  font-size: 10px;
  line-height: 1.5;
}

.uncertain-route-list article > p {
  color: #91a7ae;
  font-size: 10px;
  line-height: 1.55;
  margin: 7px 0 10px;
}

.uncertain-route-list button {
  background: transparent;
  border: 1px solid #4f978c;
  color: #8fd0c6;
  font-size: 10px;
  font-weight: 850;
  min-height: 36px;
  width: 100%;
}

.uncertain-empty {
  color: #9fb0b6;
  font-size: 11px;
  line-height: 1.6;
  padding: 20px 4px;
}

.candidate-card {
  background: white;
  border: 1px solid #d3dcdb;
  display: flex;
  flex-direction: column;
  min-height: 340px;
  padding: 20px;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.candidate-card:hover {
  border-color: rgba(14, 115, 104, 0.55);
  box-shadow: 0 20px 50px rgba(9, 42, 52, 0.1);
  transform: translateY(-3px);
}

.candidate-card:nth-child(4),
.candidate-card:nth-child(5) {
  grid-column: span 1;
}

.candidate-card-top {
  align-items: flex-start;
  display: flex;
  gap: 14px;
}

.candidate-rank {
  align-items: center;
  background: var(--navy-900);
  color: white;
  display: flex;
  flex: 0 0 42px;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 15px;
  font-weight: 900;
  height: 42px;
  justify-content: center;
}

.candidate-card-top > div > span {
  color: var(--teal-700);
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.candidate-card h2 {
  color: var(--navy-950);
  display: -webkit-box;
  font-size: 16px;
  letter-spacing: -0.025em;
  line-height: 1.45;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.candidate-probability {
  align-items: end;
  border-bottom: 1px solid #e0e6e5;
  border-top: 1px solid #e0e6e5;
  display: grid;
  grid-template-columns: 1fr auto;
  margin: 18px 0 13px;
  padding: 11px 0;
}

.candidate-probability > span {
  color: #6f7e84;
  font-size: 11px;
  font-weight: 800;
}

.candidate-probability strong {
  color: var(--teal-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 29px;
  line-height: 1;
}

.candidate-probability small {
  color: #879399;
  font-size: 10px;
  grid-column: 1 / -1;
  margin-top: 5px;
  text-align: right;
}

.candidate-window-state {
  background: #edf6f3;
  border-left: 3px solid var(--teal-700);
  display: grid;
  gap: 5px;
  margin: 0 0 13px;
  padding: 10px 11px;
}

.candidate-window-state.inferred {
  background: #fff8eb;
  border-left-color: #c28b31;
}

.candidate-window-state b {
  color: var(--teal-700);
  font-size: 10px;
}

.candidate-window-state.inferred b {
  color: #9a681c;
}

.candidate-window-state span {
  color: #51656c;
  font-size: 10px;
  line-height: 1.55;
}

.candidate-window-state a {
  color: var(--teal-700);
  font-size: 10px;
  font-weight: 850;
  justify-self: start;
  text-decoration: none;
}

.candidate-award > span {
  color: #79868c;
  display: block;
  font-size: 10px;
  font-weight: 850;
}

.candidate-award > strong {
  color: var(--navy-900);
  display: -webkit-box;
  font-size: 12px;
  line-height: 1.55;
  margin-top: 4px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.candidate-card > ul {
  color: #617178;
  font-size: 11px;
  line-height: 1.6;
  margin: 13px 0 16px;
  padding-left: 16px;
}

.candidate-card > ul li::marker {
  color: var(--teal-700);
}

.candidate-card-foot {
  align-items: center;
  border-top: 1px solid #e0e6e5;
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 13px;
}

.candidate-card-foot > span {
  color: #7c898e;
  font-size: 10px;
}

.candidate-card-foot button {
  background: var(--teal-700);
  border: 0;
  color: white;
  font-size: 10px;
  font-weight: 900;
  min-height: 40px;
  padding: 0 13px;
}

.candidate-card-foot button b {
  margin-left: 9px;
}

.no-candidate-panel {
  align-items: center;
  background: white;
  border: 1px solid #d5dddd;
  display: grid;
  gap: 25px;
  grid-template-columns: auto 1fr;
  margin: 60px auto;
  max-width: 900px;
  padding: 35px;
}

.no-candidate-panel > span {
  color: #d1d9d8;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 70px;
  font-weight: 900;
}

.no-candidate-panel h2 {
  color: var(--navy-900);
  font-size: 20px;
  margin: 0 0 5px;
}

.no-candidate-panel p {
  color: #718087;
  font-size: 11px;
  margin: 0;
}

/* Route-specific checklist */
.checklist-progress {
  align-items: end;
  display: flex;
  flex-direction: column;
}

.checklist-progress strong {
  color: var(--teal-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 32px;
  line-height: 1;
}

.checklist-progress span {
  color: #7d8b91;
  font-size: 8px;
  margin-top: 5px;
}

.common-check-strip {
  display: flex;
  gap: 7px;
  margin: 0 auto 16px;
  max-width: 1560px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.common-check-strip span {
  align-items: center;
  background: #eaf4f1;
  border: 1px solid #c9dfda;
  color: #356b63;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 8px;
  font-weight: 800;
  gap: 6px;
  padding: 6px 9px;
}

.common-check-strip i {
  font-style: normal;
}

.checklist-toolbar {
  align-items: center;
  background: var(--navy-900);
  color: white;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 13px;
  max-width: 1560px;
  padding: 10px 15px;
}

.checklist-toolbar > div {
  align-items: baseline;
  display: flex;
  gap: 10px;
}

.checklist-toolbar span,
.checklist-toolbar p {
  color: #9eb1bd;
  font-size: 8px;
  margin: 0;
}

.checklist-toolbar strong {
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 18px;
}

.route-check-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1560px;
}

.route-check-item {
  background: white;
  border: 1px solid #d3dcdb;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  min-height: 225px;
  padding: 17px;
  transition: border-color 140ms ease;
}

.route-check-item.answer-yes {
  border-color: #86b9ae;
}

.route-check-item.answer-no {
  background: #fff7f5;
  border-color: #dfaaa6;
}

.route-check-item-head {
  align-items: flex-start;
  display: flex;
  gap: 11px;
}

.route-check-item-head > span {
  color: #acb8bc;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 17px;
  font-weight: 900;
}

.route-check-item-head small {
  color: var(--teal-700);
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.route-check-item-head strong {
  color: var(--navy-900);
  display: block;
  font-size: 14px;
  margin-top: 3px;
}

.route-check-item > p {
  color: #435762;
  font-size: 12px;
  line-height: 1.65;
  margin: 12px 0;
}

.check-source {
  color: #8a979c;
  display: -webkit-box;
  font-size: 10px;
  line-height: 1.45;
  margin-bottom: 11px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.check-source a,
.failed-condition-grid em a {
  color: var(--teal-700);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.route-check-item fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.route-check-item legend {
  color: #68787f;
  font-size: 10px;
  margin-bottom: 7px;
}

.route-check-item fieldset > div {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, 1fr);
}

.route-check-item fieldset label {
  cursor: pointer;
  position: relative;
}

.route-check-item fieldset input {
  opacity: 0;
  position: absolute;
}

.route-check-item fieldset label span {
  align-items: center;
  border: 1px solid #ccd6d5;
  color: #566970;
  display: flex;
  font-size: 11px;
  font-weight: 850;
  justify-content: center;
  min-height: 40px;
}

.route-check-item fieldset input:checked + span {
  background: #e9f4f1;
  border-color: var(--teal-700);
  color: var(--teal-700);
}

.route-check-item fieldset label:last-child input:checked + span {
  background: #fff0ee;
  border-color: var(--red-600);
  color: var(--red-700);
}

.checklist-navigation {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr auto 1fr;
  margin: 16px auto 0;
  max-width: 1560px;
}

.checklist-navigation > button {
  background: white;
  border: 1px solid #cbd5d4;
  color: #475b64;
  font-size: 10px;
  font-weight: 850;
  justify-self: start;
  min-height: 44px;
  padding: 0 17px;
}

.checklist-navigation > button:last-child {
  justify-self: end;
}

.checklist-navigation > .primary-workflow-action {
  background: var(--teal-700);
  color: white;
}

.checklist-navigation > button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.checklist-navigation > div {
  display: flex;
  gap: 5px;
}

.checklist-navigation > div button {
  background: white;
  border: 1px solid #d2dbda;
  color: #6c7b81;
  height: 32px;
  width: 32px;
}

.checklist-navigation > div button.active {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: white;
}

/* Single-route report */
.detail-screen {
  background: #fbfcfb;
  padding-top: 24px;
}

.detail-navigation {
  display: flex;
  gap: 8px;
  margin: 0 auto 20px;
  max-width: 1680px;
}

.detail-navigation button {
  background: transparent;
  border: 1px solid #cad5d4;
  color: #52666d;
  font-size: 9px;
  font-weight: 850;
  min-height: 38px;
  padding: 0 13px;
}

.detail-navigation button:first-child {
  border-color: var(--teal-700);
  color: var(--teal-700);
}

.detail-navigation button:last-child {
  margin-left: auto;
}

.detail-hero {
  align-items: start;
  border-bottom: 1px solid #ccd6d5;
  display: grid;
  gap: 24px;
  grid-template-columns: auto 1fr minmax(260px, 0.32fr);
  margin: 0 auto;
  max-width: 1680px;
  min-height: 180px;
  padding: 14px 0 35px;
}

.detail-rank {
  align-items: center;
  background: var(--navy-900);
  color: white;
  display: flex;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 17px;
  font-weight: 900;
  height: 62px;
  justify-content: center;
  width: 62px;
}

.detail-title > div {
  align-items: center;
  color: var(--teal-700);
  display: flex;
  font-size: 8px;
  font-weight: 900;
  gap: 9px;
  letter-spacing: 0.06em;
}

.detail-title > div i {
  background: #b8c6c5;
  height: 17px;
  width: 1px;
}

.detail-title h1 {
  color: var(--navy-950);
  font-size: clamp(30px, 3.2vw, 54px);
  letter-spacing: -0.045em;
  line-height: 1.2;
  margin: 18px 0 0;
  max-width: 1050px;
  outline: none;
}

.detail-decision {
  border-left: 1px solid #d4dcdb;
  display: flex;
  flex-direction: column;
  min-height: 145px;
  padding-left: 28px;
  text-align: right;
}

.detail-decision > span {
  color: #5e7078;
  font-size: 9px;
  font-weight: 900;
}

.detail-decision > strong {
  color: var(--teal-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: clamp(37px, 4vw, 60px);
  line-height: 1;
  margin: 12px 0;
}

.detail-decision.rejected > strong {
  color: var(--red-700);
}

.detail-decision.pending > strong {
  color: #b27c25;
}

.detail-decision small,
.detail-decision em {
  color: #7c898f;
  font-size: 8px;
  font-style: normal;
  line-height: 1.5;
}

.detail-decision em {
  margin-top: 8px;
}

.detail-summary {
  display: grid;
  grid-template-columns: 1.25fr 1fr 0.8fr;
  margin: 0 auto;
  max-width: 1680px;
}

.detail-summary article {
  border-right: 1px solid #d4dcdb;
  min-height: 130px;
  padding: 25px 30px 21px 0;
}

.detail-summary article + article {
  padding-left: 30px;
}

.detail-summary article:last-child {
  border-right: 0;
}

.detail-summary article > span,
.detail-conclusion article > span {
  color: #6d7d84;
  display: block;
  font-size: 9px;
  font-weight: 850;
  margin-bottom: 10px;
}

.detail-summary ul {
  color: var(--navy-900);
  font-size: 10px;
  font-weight: 750;
  margin: 0;
  padding-left: 17px;
}

.detail-summary li::marker {
  color: var(--teal-700);
}

.detail-summary strong {
  color: var(--navy-900);
  display: block;
  font-size: 13px;
}

.detail-summary p {
  color: #748288;
  font-size: 9px;
  margin: 9px 0 0;
}

.detail-conclusion {
  background: #eef4f2;
  border: 1px solid #ccd9d6;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1.5fr;
  margin: 0 auto 20px;
  max-width: 1680px;
}

.detail-conclusion.rejected {
  background: #fff2f0;
  border-color: #e8c1bd;
}

.detail-conclusion.pending {
  background: #fff8eb;
  border-color: #e6cfaa;
}

.detail-conclusion article {
  min-height: 108px;
  padding: 20px 25px;
}

.detail-conclusion article + article {
  border-left: 1px solid #d2dddb;
}

.detail-conclusion.rejected article + article {
  border-left-color: #e8cbc7;
}

.detail-conclusion.pending article + article {
  border-left-color: #e6cfaa;
}

.detail-conclusion strong {
  color: var(--navy-900);
  display: block;
  font-size: 12px;
}

.detail-conclusion p {
  color: #718087;
  font-size: 9px;
  line-height: 1.55;
  margin: 7px 0 0;
}

.failed-condition-panel {
  border: 1px solid #e1b8b4;
  margin: 0 auto 18px;
  max-width: 1680px;
}

.failed-condition-panel.clear {
  border-color: #bdd7d0;
}

.failed-condition-panel > header {
  align-items: center;
  background: #fff0ee;
  border-bottom: 1px solid #e4bcb8;
  display: flex;
  justify-content: space-between;
  padding: 12px 18px;
}

.failed-condition-panel.clear > header {
  background: #edf6f3;
  border-bottom-color: #c5dbd5;
}

.failed-condition-panel header span {
  color: var(--red-700);
  display: block;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.failed-condition-panel.clear header span {
  color: var(--teal-700);
}

.failed-condition-panel h2 {
  color: var(--navy-900);
  font-size: 14px;
  margin: 2px 0 0;
}

.failed-condition-panel header > strong {
  color: var(--red-700);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 29px;
}

.failed-condition-panel.clear header > strong {
  color: var(--teal-700);
}

.failed-clear {
  color: #397066;
  font-size: 10px;
  margin: 0;
  padding: 15px 18px;
}

.failed-condition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.failed-condition-grid article {
  border-bottom: 1px solid #eee0de;
  display: flex;
  gap: 13px;
  padding: 15px 18px;
}

.failed-condition-grid article:nth-child(odd) {
  border-right: 1px solid #eee0de;
}

.failed-condition-grid article > span {
  color: #c78580;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
}

.failed-condition-grid strong {
  color: var(--red-700);
  font-size: 11px;
}

.failed-condition-grid p {
  color: #5f6e74;
  font-size: 9px;
  line-height: 1.55;
  margin: 4px 0;
}

.failed-condition-grid small,
.failed-condition-grid em {
  color: #7e898e;
  display: block;
  font-size: 8px;
  font-style: normal;
  line-height: 1.5;
}

.failed-condition-grid em {
  margin-top: 3px;
}

.detail-tabs {
  border-bottom: 1px solid #ccd6d5;
  display: flex;
  gap: 0;
  margin: 0 auto;
  max-width: 1680px;
}

.detail-tabs button {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #6b7a81;
  font-size: 10px;
  font-weight: 850;
  min-height: 44px;
  padding: 0 24px;
}

.detail-tabs button.active {
  border-bottom-color: var(--teal-700);
  color: var(--teal-700);
}

.detail-tab-panel {
  margin: 0 auto;
  max-width: 1680px;
  min-height: 260px;
  padding-top: 16px;
}

.detail-overview-grid,
.detail-action-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-overview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-overview-grid > article,
.detail-action-grid > article {
  background: white;
  border: 1px solid #d3dcdb;
  min-height: 230px;
  padding: 20px;
}

.detail-overview-grid > article > span {
  color: var(--teal-700);
  display: block;
  font-size: 9px;
  font-weight: 900;
  margin-bottom: 13px;
}

.detail-overview-grid dl {
  margin: 0;
}

.detail-overview-grid dl > div {
  align-items: center;
  border-bottom: 1px solid #e3e8e7;
  display: flex;
  justify-content: space-between;
  padding: 7px 0;
}

.detail-overview-grid dt {
  color: #76858b;
  font-size: 9px;
}

.detail-overview-grid dd {
  color: var(--navy-900);
  font-size: 10px;
  font-weight: 800;
  margin: 0;
  text-align: right;
}

.detail-direction-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.detail-direction-tags i {
  background: #edf5f3;
  border: 1px solid #ccded9;
  color: #3f7169;
  font-size: 8px;
  font-style: normal;
  padding: 6px 8px;
}

.detail-risk-list {
  color: #56686f;
  font-size: 11px;
  line-height: 1.7;
  margin: 0;
  padding-left: 18px;
}

.detail-risk-list li::marker {
  color: #c3933f;
}

.detail-action-grid h2 {
  color: var(--navy-900);
  font-size: 15px;
  margin: 0 0 14px;
}

.detail-action-grid ol,
.detail-action-grid ul {
  color: #56686f;
  font-size: 10px;
  line-height: 1.7;
  margin: 0;
  padding-left: 20px;
}

.detail-action-grid li {
  margin-bottom: 6px;
}

.detail-action-grid li::marker {
  color: var(--teal-700);
  font-weight: 900;
}

.detail-case-grid,
.detail-source-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-case-grid article,
.detail-source-grid a {
  background: white;
  border: 1px solid #d3dcdb;
  min-height: 190px;
  padding: 18px;
}

.detail-case-grid article > div {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.detail-case-grid article > div span,
.detail-source-grid a > span {
  color: var(--teal-700);
  font-size: 8px;
  font-weight: 900;
}

.detail-case-grid article > div strong {
  color: var(--gold-700);
  font-size: 11px;
}

.detail-case-grid h3 {
  color: var(--navy-900);
  font-size: 13px;
  margin: 21px 0 5px;
}

.detail-case-grid p {
  color: #5f7077;
  font-size: 10px;
  margin: 0;
}

.detail-case-grid small {
  color: #839096;
  display: block;
  font-size: 8px;
  margin-top: 9px;
}

.detail-case-grid a {
  color: var(--teal-700);
  display: inline-block;
  font-size: 9px;
  font-weight: 850;
  margin-top: 18px;
}

.detail-source-grid a {
  display: flex;
  flex-direction: column;
}

.detail-source-grid a > strong {
  color: var(--navy-900);
  font-size: 12px;
  line-height: 1.5;
  margin: 12px 0 8px;
}

.detail-source-grid a > p {
  color: #65767d;
  display: -webkit-box;
  font-size: 9px;
  line-height: 1.55;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.detail-source-grid a > small {
  color: var(--teal-700);
  font-size: 8px;
  font-weight: 850;
  margin-top: auto;
  padding-top: 15px;
}

.detail-empty {
  background: white;
  border: 1px solid #d3dcdb;
  color: #718188;
  font-size: 11px;
  padding: 30px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(22, 133, 122, 0.3);
  outline-offset: 2px;
}

@media (max-width: 1180px) {
  .workflow-header {
    grid-template-columns: auto 1fr auto;
  }

  .workflow-stepper li strong {
    display: none;
  }

  .workflow-stepper li::after {
    left: 38px;
    right: 5px;
  }

  .profile-workspace {
    grid-template-columns: 1fr 1fr;
  }

  .profile-panel-time {
    grid-column: 1 / -1;
  }

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

  .candidate-workspace {
    grid-template-columns: minmax(0, 1fr) 330px;
  }

  .detail-hero {
    grid-template-columns: auto 1fr 240px;
  }
}

@media (max-width: 900px) {
  .workflow-header {
    grid-template-columns: 1fr auto;
    min-height: 66px;
    padding: 0 18px;
  }

  .workflow-stepper {
    bottom: -37px;
    left: 0;
    position: absolute;
    right: 0;
  }

  .workflow-stepper li {
    justify-content: center;
  }

  .workflow-stepper li > span {
    height: 27px;
    width: 27px;
  }

  .workflow-stepper li::after {
    left: 50%;
    right: -50%;
  }

  .workflow-header-actions > span {
    display: none;
  }

  .workflow-screen:not(.workflow-home) {
    padding-top: 74px;
  }

  .candidate-workspace {
    grid-template-columns: 1fr;
  }

  .uncertain-route-list {
    max-height: 430px;
  }

  .policy-model-summary {
    grid-template-columns: repeat(3, 1fr);
  }

  .policy-model-summary > div:nth-child(4),
  .policy-model-summary > div:nth-child(5) {
    display: none;
  }

  .policy-broadcast-grid {
    grid-auto-columns: minmax(320px, 72vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .policy-broadcast-grid > article {
    scroll-snap-align: start;
  }

  .profile-workspace {
    grid-template-columns: 1fr;
  }

  .profile-panel-time {
    grid-column: auto;
  }

  .route-check-grid,
  .detail-overview-grid,
  .detail-action-grid,
  .detail-case-grid,
  .detail-source-grid {
    grid-template-columns: 1fr 1fr;
  }

  .detail-hero {
    grid-template-columns: auto 1fr;
  }

  .detail-decision {
    border-left: 0;
    border-top: 1px solid #d4dcdb;
    grid-column: 1 / -1;
    min-height: 0;
    padding: 18px 0 0;
    text-align: left;
  }

  .detail-summary,
  .detail-conclusion {
    grid-template-columns: 1fr;
  }

  .detail-summary article {
    border-bottom: 1px solid #d4dcdb;
    border-right: 0;
    min-height: 0;
    padding: 18px 0;
  }

  .detail-summary article + article {
    padding-left: 0;
  }

  .detail-conclusion article + article {
    border-left: 0;
    border-top: 1px solid #d2dddb;
  }
}

@media (max-width: 680px) {
  .workflow-screen {
    padding-left: 16px;
    padding-right: 16px;
  }

  .workflow-brand {
    font-size: 15px;
  }

  .workflow-header-actions button {
    font-size: 0;
    min-height: 36px;
    padding: 0 10px;
  }

  .workflow-header-actions button::after {
    content: "资料库";
    font-size: 9px;
  }

  .workflow-page-heading {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .workflow-page-heading > p {
    display: none;
  }

  .workflow-page-heading h1 {
    font-size: 30px;
  }

  .workflow-home {
    padding: 28px 16px 24px;
  }

  .home-title-row h1 {
    font-size: 43px;
  }

  .home-live-indicator {
    font-size: 0;
    padding: 9px;
  }

  .policy-model-summary {
    grid-template-columns: repeat(3, 1fr);
  }

  .policy-model-summary > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding: 9px;
  }

  .policy-model-summary strong {
    font-size: 20px;
  }

  .policy-broadcast-grid {
    grid-auto-columns: calc(100vw - 38px);
  }

  .policy-feed-window {
    height: min(43vh, 360px);
  }

  .home-action-row > div {
    display: none;
  }

  .home-action-row > button {
    justify-content: space-between;
    width: 100%;
  }

  .profile-fields,
  .profile-number-grid {
    grid-template-columns: 1fr;
  }

  .profile-field-wide {
    grid-column: auto;
  }

  .workflow-form-actions {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
  }

  .workflow-form-actions button {
    padding: 0 10px;
  }

  .route-check-grid,
  .detail-overview-grid,
  .detail-action-grid,
  .detail-case-grid,
  .detail-source-grid,
  .failed-condition-grid {
    grid-template-columns: 1fr;
  }

  .candidate-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
  }

  .uncertain-route-column {
    padding: 14px;
  }

  .uncertain-route-list {
    display: flex;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
  }

  .uncertain-route-list article {
    flex: 0 0 calc(100vw - 68px);
    scroll-snap-align: start;
  }

  .candidate-card {
    flex: 0 0 calc(100vw - 38px);
    min-height: 320px;
    scroll-snap-align: start;
  }

  .checklist-toolbar p {
    display: none;
  }

  .checklist-navigation {
    grid-template-columns: 1fr 1fr;
  }

  .checklist-navigation > div {
    display: none;
  }

  .detail-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .detail-navigation button {
    min-height: 44px;
  }

  .detail-navigation button:last-child {
    grid-column: 1 / -1;
    margin-left: 0;
  }

  .detail-hero {
    gap: 13px;
    grid-template-columns: auto 1fr;
  }

  .detail-rank {
    height: 46px;
    width: 46px;
  }

  .detail-title h1 {
    font-size: 26px;
    margin-top: 11px;
  }

  .detail-summary article {
    padding: 15px 0;
  }

  .detail-conclusion article {
    min-height: 0;
    padding: 16px;
  }

  .failed-condition-grid article:nth-child(odd) {
    border-right: 0;
  }

  .detail-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .detail-tabs button {
    border: 1px solid #d4dcdb;
    min-height: 44px;
    padding: 0 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .policy-feed-track,
  .policy-feed-stack,
  .home-live-indicator i {
    animation: none !important;
  }

  .policy-feed-window {
    overflow: hidden;
  }
}

/* Professional assessment workspace — v1.2 */
.workflow-app {
  background: #f2f5f4;
  color: #142839;
  font-variant-numeric: tabular-nums;
}

.workflow-screen:not(.workflow-home) {
  padding-bottom: 72px;
}

.workflow-header {
  background: rgba(249, 251, 250, 0.96);
  border-bottom-color: #cdd8d6;
  box-shadow: 0 8px 30px rgba(7, 30, 42, 0.045);
}

.workflow-stepper li {
  gap: 0;
}

.workflow-stepper li > button {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: flex;
  gap: 9px;
  min-width: 0;
  padding: 0 12px 0 0;
}

.workflow-stepper li > button:disabled {
  cursor: default;
}

.workflow-stepper li > button > span {
  align-items: center;
  background: #f8faf9;
  border: 1px solid #c7d2d1;
  border-radius: 50%;
  display: flex;
  flex: 0 0 34px;
  font-size: 10px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
}

.workflow-stepper li > button > strong {
  background: rgba(248, 250, 249, 0.98);
  font-size: 12px;
  font-weight: 600;
  padding-right: 10px;
  white-space: nowrap;
}

.workflow-stepper li.complete > button > span {
  background: var(--teal-700);
  border-color: var(--teal-700);
  color: #fff;
}

.workflow-stepper li.active > button > span {
  border: 2px solid var(--teal-700);
  box-shadow: 0 0 0 5px rgba(14, 115, 104, 0.09);
}

.workflow-page-heading > div > span,
.workflow-page-heading > span {
  font-size: 11px;
  font-weight: 700;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p {
  color: #607078;
  font-size: 13px;
  line-height: 1.65;
}

.home-live-indicator {
  background: rgba(8, 29, 42, 0.72);
  border: 1px solid rgba(135, 205, 194, 0.34);
  color: #c9e3df;
  cursor: pointer;
  min-height: 40px;
}

.home-live-indicator small {
  border-left: 1px solid rgba(151, 204, 198, 0.25);
  color: #77cabe;
  font-size: 10px;
  margin-left: 4px;
  padding-left: 10px;
}

.home-live-indicator.paused i {
  animation: none;
  background: #d4a85b;
  box-shadow: none;
}

.policy-feed-stack {
  animation: policyTickerShift 520ms cubic-bezier(0.22, 0.8, 0.3, 1);
  position: relative;
  will-change: transform, opacity;
}

.policy-feed-stack::after {
  animation: policyTickerProgress var(--ticker-duration) linear;
  background: linear-gradient(90deg, #49c2b0, #d0a652);
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform-origin: left;
  width: 100%;
}

.policy-feed-item {
  min-height: 118px;
  padding: 14px 17px 13px;
}

.policy-feed-item > strong {
  font-size: 13px;
  font-weight: 600;
}

.policy-feed-item > small,
.policy-feed-item > p {
  font-size: 11px;
}

@keyframes policyTickerShift {
  from {
    opacity: 0.35;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes policyTickerProgress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

.profile-workspace {
  gap: 18px;
  grid-template-columns: 1fr 1.18fr 1fr;
}

.profile-panel {
  border-color: #ccd7d5;
  border-radius: 3px;
  box-shadow: 0 18px 46px rgba(9, 40, 50, 0.055);
  padding: 25px;
}

.profile-panel > header strong {
  font-size: 15px;
  font-weight: 650;
}

.profile-panel label > span,
.profile-subsidy legend {
  color: #40545e;
  font-size: 12px;
  font-weight: 600;
}

.profile-panel input:not([type="range"]):not([type="radio"]),
.profile-panel select,
.profile-panel textarea {
  background: #fcfdfc;
  border-color: #c7d3d1;
  color: #10283a;
  font-size: 13px;
}

.profile-panel textarea {
  line-height: 1.65;
}

.workflow-form-actions {
  padding: 18px 0 2px;
}

.candidate-level-summary {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto 20px;
  max-width: 1680px;
}

.candidate-level-summary article {
  align-items: center;
  background: #fff;
  border: 1px solid #ced9d7;
  border-left: 4px solid #2c8277;
  display: grid;
  gap: 3px 16px;
  grid-template-columns: auto 1fr;
  padding: 16px 18px;
}

.candidate-level-summary article:nth-child(2) {
  border-left-color: #3d6f9b;
}

.candidate-level-summary article:nth-child(3) {
  border-left-color: #b2833d;
}

.candidate-level-summary span {
  color: #3c5059;
  font-size: 13px;
  font-weight: 650;
  grid-row: 1 / 3;
}

.candidate-level-summary strong {
  color: var(--navy-900);
  font-size: 25px;
  line-height: 1;
}

.candidate-level-summary strong small {
  color: #718087;
  font-size: 11px;
  font-weight: 500;
  margin-left: 7px;
}

.candidate-level-summary p {
  color: #78868c;
  font-size: 11px;
  margin: 0;
}

.assessment-impact-strip {
  align-items: center;
  background: #10283a;
  color: #b9c8cc;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: -8px auto 22px;
  max-width: 1680px;
}

.assessment-impact-strip span {
  align-items: baseline;
  border-right: 1px solid rgba(205, 221, 223, 0.15);
  display: flex;
  font-size: 11px;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 8px 12px;
}

.assessment-impact-strip span:last-child {
  border-right: 0;
}

.assessment-impact-strip b {
  color: #fff;
  font-size: 18px;
}

.candidate-workspace {
  display: block;
}

.candidate-grid {
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.candidate-card {
  border-radius: 3px;
  border-top: 4px solid #315f84;
  min-height: 0;
  padding: 24px;
}

.candidate-card.level-广东省 {
  border-top-color: #168579;
}

.candidate-card.level-地市 {
  border-top-color: #b4863c;
}

.candidate-card-top > div > span,
.candidate-award > span {
  font-size: 11px;
  font-weight: 650;
}

.candidate-card h2 {
  font-size: 18px;
  font-weight: 700;
}

.candidate-probability > span {
  font-size: 12px;
}

.candidate-probability strong {
  font-size: 34px;
}

.candidate-probability small {
  font-size: 11px;
}

.candidate-gate-strip {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 13px;
}

.candidate-gate-strip > span {
  align-items: center;
  background: #edf6f3;
  border: 1px solid #cde0dc;
  color: #216a5f;
  display: flex;
  font-size: 11px;
  justify-content: space-between;
  min-height: 34px;
  padding: 0 9px;
}

.candidate-gate-strip > span.gate-unknown {
  background: #fff8ea;
  border-color: #ead7ad;
  color: #87621f;
}

.candidate-gate-strip > span.gate-fail {
  background: #fff1ef;
  border-color: #e8c0bc;
  color: #9d3137;
}

.candidate-gate-strip b {
  font-weight: 650;
}

.candidate-award > strong {
  font-size: 13px;
}

.candidate-card > ul {
  font-size: 12px;
}

.candidate-factor-grid {
  background: #f6f8f7;
  border: 1px solid #e0e6e4;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 16px;
  padding: 12px;
}

.candidate-factor-grid > span {
  align-items: center;
  display: grid;
  gap: 7px;
  grid-template-columns: 78px 1fr 24px;
}

.candidate-factor-grid b,
.candidate-factor-grid small {
  color: #53656d;
  font-size: 10px;
  font-weight: 600;
}

.candidate-factor-grid i {
  background: #dce4e2;
  height: 4px;
  overflow: hidden;
}

.candidate-factor-grid i em {
  background: linear-gradient(90deg, #1b8579, #54a99f);
  display: block;
  height: 100%;
}

.uncertain-route-column {
  background: #fff;
  border-color: #d1dbd9;
  color: #152b3a;
  margin-top: 26px;
  padding: 22px;
}

.uncertain-route-column > header {
  border-bottom-color: #d8e0df;
}

.uncertain-route-column > header h2 {
  color: var(--navy-900);
}

.uncertain-route-column > p {
  color: #617179;
  font-size: 12px;
}

.uncertain-route-list {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-height: 480px;
}

.uncertain-route-list article {
  background: #f8faf9;
  border-color: #d9e1df;
}

.uncertain-route-list h3 {
  color: #163043;
  font-size: 14px;
}

.uncertain-route-list article > strong,
.uncertain-route-list article > p {
  color: #5d7078;
  font-size: 11px;
}

.rejected-route-preview {
  display: grid;
  gap: 8px;
  margin-top: 17px;
}

.rejected-route-preview > div {
  background: #fff7f5;
  border-left: 3px solid #bf5556;
  display: grid;
  gap: 3px;
  padding: 9px 11px;
}

.rejected-route-preview strong {
  color: #553537;
  font-size: 12px;
}

.rejected-route-preview span {
  color: #8b5557;
  font-size: 11px;
}

.checklist-screen {
  background: #f2f5f4;
}

.funding-mode-selector {
  align-items: center;
  background:
    linear-gradient(112deg, rgba(19, 53, 67, 0.98), rgba(24, 88, 82, 0.96));
  border: 1px solid rgba(108, 191, 177, 0.45);
  color: #fff;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  margin: 0 auto 18px;
  max-width: 1560px;
  padding: 18px 20px;
}

.funding-mode-selector > div {
  display: grid;
  gap: 5px;
}

.funding-mode-selector > div span {
  color: #7ed3c2;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.funding-mode-selector > div strong {
  font-size: 15px;
  font-weight: 650;
  line-height: 1.45;
}

.funding-mode-selector label {
  display: grid;
  gap: 6px;
}

.funding-mode-selector label > span {
  color: #c7d8d6;
  font-size: 11px;
  font-weight: 650;
}

.funding-mode-selector select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, #27796e 50%) calc(100% - 17px)
      calc(50% - 2px) / 5px 5px no-repeat,
    linear-gradient(135deg, #27796e 50%, transparent 50%) calc(100% - 12px)
      calc(50% - 2px) / 5px 5px no-repeat,
    #f8fcfb;
  border: 1px solid #95bdb6;
  border-radius: 2px;
  color: #123244;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  min-height: 44px;
  padding: 0 42px 0 13px;
}

.funding-mode-selector select:focus {
  border-color: #75d0bf;
  box-shadow: 0 0 0 3px rgba(117, 208, 191, 0.18);
  outline: none;
}

.checklist-one-page {
  display: grid;
  gap: 20px;
  margin: 0 auto;
  max-width: 1560px;
}

.checklist-group {
  background: #fff;
  border: 1px solid #ccd8d6;
  padding: 20px;
}

.checklist-group > header {
  align-items: center;
  border-bottom: 1px solid #dce4e2;
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  padding-bottom: 13px;
}

.checklist-group > header span {
  color: #163047;
  font-size: 16px;
  font-weight: 700;
}

.checklist-group > header p {
  color: #6a7980;
  font-size: 12px;
  margin: 3px 0 0;
}

.checklist-group > header > strong {
  color: #9aa8ac;
  font-size: 28px;
}

.checklist-group.group-veto {
  border-top: 4px solid #b7494e;
}

.checklist-group.group-threshold {
  border-top: 4px solid #ba873a;
}

.checklist-group.group-window {
  border-top: 4px solid #3d6f9b;
}

.checklist-group.group-key {
  border-top: 4px solid #168579;
}

.route-check-item {
  border-radius: 2px;
  min-height: 0;
  padding: 19px;
}

.route-check-item-head small {
  font-size: 11px;
  font-weight: 650;
}

.route-check-item-head strong {
  font-size: 15px;
  font-weight: 700;
}

.route-check-item > p {
  color: #334b57;
  font-size: 13px;
}

.check-source,
.route-check-item legend {
  font-size: 11px;
}

.route-check-item fieldset label span {
  font-size: 12px;
  font-weight: 650;
}

.checklist-submit-bar {
  align-items: center;
  background: rgba(250, 252, 251, 0.96);
  border: 1px solid #c8d4d2;
  bottom: 12px;
  box-shadow: 0 16px 44px rgba(8, 36, 47, 0.13);
  display: flex;
  justify-content: space-between;
  margin: 22px auto 0;
  max-width: 1560px;
  padding: 13px 15px 13px 20px;
  position: sticky;
  z-index: 40;
}

.checklist-submit-bar > div {
  display: flex;
  flex-direction: column;
}

.checklist-submit-bar strong {
  color: #153247;
  font-size: 13px;
}

.checklist-submit-bar span {
  color: #718087;
  font-size: 11px;
}

.detail-summary span,
.detail-conclusion span {
  font-size: 11px;
  font-weight: 650;
}

.detail-summary strong,
.detail-conclusion strong {
  font-weight: 700;
}

.detail-summary p,
.detail-conclusion p,
.detail-action-grid li,
.detail-overview-grid dd,
.detail-overview-grid li {
  font-size: 13px;
}

.detail-direction-tags i {
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
  padding: 7px 9px;
}

.detail-direction-tags i.selected-mode {
  background: #153f49;
  border-color: #153f49;
  color: #e9fffa;
}

.detail-action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .profile-workspace,
  .candidate-grid {
    grid-template-columns: 1fr 1fr;
  }

  .profile-panel-time {
    grid-column: 1 / -1;
  }

  .uncertain-route-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .workflow-stepper li > button > strong {
    display: none;
  }

  .candidate-level-summary,
  .profile-workspace,
  .candidate-grid,
  .uncertain-route-list,
  .detail-action-grid {
    grid-template-columns: 1fr;
  }

  .assessment-impact-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .profile-panel-time {
    grid-column: auto;
  }

  .candidate-card {
    flex: none;
  }
}

@media (max-width: 680px) {
  .candidate-level-summary {
    gap: 8px;
  }

  .candidate-gate-strip,
  .candidate-factor-grid {
    grid-template-columns: 1fr;
  }

  .candidate-factor-grid > span {
    grid-template-columns: 92px 1fr 24px;
  }

  .route-check-grid {
    grid-template-columns: 1fr;
  }

  .funding-mode-selector {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .checklist-group {
    padding: 14px;
  }

  .checklist-submit-bar {
    align-items: stretch;
    bottom: 6px;
    flex-direction: column;
    gap: 10px;
  }

  .checklist-submit-bar button {
    width: 100%;
  }
}

/* Light business home */
.workflow-home {
  background:
    radial-gradient(circle at 82% 8%, rgba(28, 129, 141, 0.12), transparent 28%),
    radial-gradient(circle at 12% 92%, rgba(187, 145, 73, 0.09), transparent 24%),
    linear-gradient(145deg, #f8fafb 0%, #eef4f5 58%, #f7f8f6 100%);
  color: #102a3b;
  padding: 42px clamp(32px, 5vw, 88px) 34px;
}

.workflow-home::before {
  background: linear-gradient(90deg, #0d6e73 0 24%, #1b8790 24% 58%, #c09a58 58% 66%, transparent 66%);
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.home-model-grid {
  background-image:
    linear-gradient(rgba(25, 66, 79, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 66, 79, 0.035) 1px, transparent 1px);
  mask-image: linear-gradient(to bottom, black, transparent 78%);
}

.home-title-row h1 {
  color: #102b3d;
  font-size: clamp(46px, 5vw, 78px);
  font-weight: 760;
  letter-spacing: -0.055em;
}

.home-live-indicator {
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid #cbdcdd;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(19, 55, 67, 0.07);
  color: #315c63;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 8px 10px 8px 14px;
}

.home-live-indicator small {
  background: #edf5f4;
  border: 0;
  border-radius: 999px;
  color: #196d70;
  margin-left: 4px;
  padding: 3px 9px;
}

.home-live-indicator i {
  background: #1ca48f;
}

.policy-model {
  margin-top: 24px;
}

.policy-model-summary {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid #d7e2e2;
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(15, 54, 66, 0.07);
  overflow: hidden;
}

.policy-model-summary > div {
  border-right: 1px solid #dfe8e7;
  padding: 13px 18px;
}

.policy-model-summary span {
  color: #60767d;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.policy-model-summary strong {
  color: #143448;
  font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.policy-flow-line {
  margin-bottom: 14px;
  margin-top: 18px;
}

.policy-flow-line span,
.policy-flow-line b {
  background: linear-gradient(90deg, transparent, rgba(27, 130, 135, 0.54));
}

.policy-flow-line b {
  background: linear-gradient(90deg, rgba(27, 130, 135, 0.54), transparent);
}

.policy-flow-line i {
  background: #1c8588;
  border-color: #eef5f5;
  box-shadow: 0 0 0 5px rgba(29, 132, 136, 0.09);
}

.policy-broadcast-grid {
  gap: 18px;
}

.policy-broadcast-grid > article {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #d6e1e1;
  border-radius: 14px;
  box-shadow: 0 20px 54px rgba(14, 52, 64, 0.075);
}

.policy-broadcast-grid > article > header {
  background: linear-gradient(180deg, #fbfdfd, #f5f9f8);
  border-bottom: 1px solid #dce6e5;
  gap: 12px;
  padding: 14px 17px;
}

.policy-broadcast-grid > article > header > i {
  background: linear-gradient(180deg, #177d82, #55a7a4);
  border-radius: 999px;
  display: block;
  height: 30px;
  width: 4px;
}

.policy-broadcast-grid header strong {
  color: #16364a;
  font-size: 13px;
  font-weight: 720;
}

.policy-broadcast-grid header small {
  color: #7c8e93;
  font-size: 10px;
}

.policy-feed-window::before {
  background: linear-gradient(#ffffff, transparent);
}

.policy-feed-window::after {
  background: linear-gradient(transparent, #ffffff);
}

.policy-feed-item {
  border-bottom: 1px solid #e7eeee;
  color: #18384b;
}

.policy-feed-item:hover {
  background: #f6faf9;
}

.policy-feed-item time {
  color: #668087;
  font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
  font-size: 10px;
  letter-spacing: 0.03em;
}

.policy-state {
  background: #eef7f5;
  border: 0;
  border-radius: 999px;
  color: #14776f;
  font-size: 9px;
  padding: 2px 7px;
}

.policy-state.state-下一批储备,
.policy-state.state-等待年度窗口,
.policy-state.state-参考节点 {
  background: #fbf5e8;
  color: #9b722d;
}

.policy-state.state-现行政策依据 {
  background: #eef4fa;
  color: #416f96;
}

.policy-state.state-资金计划公示 {
  background: #f2eff8;
  color: #756797;
}

.policy-state.state-节点已结束 {
  background: #f0f3f4;
  color: #718188;
}

.policy-feed-item > strong {
  color: #18384b;
  font-weight: 650;
}

.policy-feed-item > small {
  color: #71858b;
}

.policy-feed-item > p {
  color: #526b72;
}

.policy-feed-item > p b {
  color: #9b722d;
}

.policy-feed-stack::after {
  background: linear-gradient(90deg, #1e898b, #c4a05f);
}

.home-action-row > div {
  color: #60767d;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.03em;
}

.home-action-row > button {
  background: linear-gradient(135deg, #0d6268, #167b7b);
  border: 1px solid #0d6268;
  border-radius: 6px;
  box-shadow: 0 16px 34px rgba(13, 98, 104, 0.18);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  min-height: 50px;
  padding: 0 24px;
}

.home-action-row > button:hover {
  background: linear-gradient(135deg, #0a555b, #126d6d);
  box-shadow: 0 18px 38px rgba(13, 98, 104, 0.24);
}

.profile-panel > header > i {
  background: linear-gradient(180deg, #157879, #73aaa4);
  border-radius: 999px;
  display: block;
  flex: 0 0 4px;
  height: 28px;
  width: 4px;
}

.uncertain-route-column.empty {
  display: none;
}

.candidate-card:only-child {
  grid-column: 1 / -1;
  max-width: 840px;
}

.near-miss-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

@media print {
  .workflow-header,
  .detail-navigation,
  .detail-tabs,
  .workflow-live-region {
    display: none !important;
  }

  .workflow-screen {
    min-height: 0;
    padding: 0;
  }

  .detail-tab-panel {
    min-height: 0;
  }

  .detail-hero,
  .detail-summary,
  .detail-conclusion,
  .failed-condition-panel,
  .detail-tab-panel {
    break-inside: avoid;
    max-width: none;
  }
}

/* Desktop visual refinement and continuous policy broadcast */
.workflow-app,
.workflow-app button,
.workflow-app input,
.workflow-app select,
.workflow-app textarea {
  font-family:
    "DengXian",
    "Microsoft YaHei UI",
    "Noto Sans SC",
    "Microsoft YaHei",
    sans-serif;
}

.workflow-app {
  font-weight: 400;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.workflow-app h1,
.workflow-app h2,
.workflow-app h3,
.workflow-app h4,
.workflow-brand {
  font-weight: 600 !important;
}

.workflow-app strong,
.workflow-app b,
.workflow-app label,
.workflow-app legend,
.workflow-app button {
  font-weight: 550;
}

.home-title-row h1 {
  font-weight: 600 !important;
  letter-spacing: -0.035em;
}

.workflow-page-heading h1,
.detail-hero h1,
.checklist-heading h1 {
  font-weight: 580 !important;
  letter-spacing: -0.025em;
}

.workflow-stepper li > button > strong,
.profile-panel > header strong,
.candidate-card h2,
.checklist-group > header span,
.route-check-item-head strong,
.detail-summary strong,
.detail-conclusion strong {
  font-weight: 580 !important;
}

.policy-model-summary strong,
.candidate-level-summary strong,
.candidate-probability strong,
.checklist-group > header > strong {
  font-family:
    "DengXian",
    "Microsoft YaHei UI",
    "Noto Sans SC",
    sans-serif;
  font-weight: 600;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p,
.profile-panel textarea,
.route-check-item > p,
.detail-summary p,
.detail-conclusion p,
.detail-action-grid li,
.detail-overview-grid dd,
.detail-overview-grid li {
  line-height: 1.72;
}

.detail-navigation .detail-export-button {
  align-items: center;
  background: #167a7c;
  border-color: #167a7c;
  color: #fff;
  display: inline-flex;
  gap: 8px;
}

.detail-navigation .detail-export-button:hover:not(:disabled) {
  background: #116d70;
  border-color: #116d70;
}

.detail-navigation .detail-export-button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.pdf-export-status {
  align-items: center;
  background: #eef7f5;
  border: 1px solid #c9dfda;
  border-radius: 6px;
  color: #276b65;
  display: flex;
  font-size: 13px;
  margin: -8px auto 18px;
  max-width: 1740px;
  min-height: 40px;
  padding: 8px 14px;
}

.pdf-export-status.error {
  background: #fff3f1;
  border-color: #eccac5;
  color: #a2493f;
}

.pdf-export-status.info {
  background: #f3f6f7;
  border-color: #d7e0e3;
  color: #60747b;
}

.pdf-report {
  display: none;
}

@media print {
  @page {
    margin: 13mm 14mm 18mm;
    size: A4 portrait;
  }

  html,
  body,
  #root,
  .workflow-app {
    background: #fff !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    width: auto !important;
  }

  body {
    color: #21363f;
    margin: 0 !important;
  }

  .workflow-header,
  .detail-screen > :not(.pdf-report),
  .pdf-export-status {
    display: none !important;
  }

  .workflow-app,
  .detail-screen,
  .pdf-report {
    display: block !important;
  }

  .detail-screen {
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .pdf-report {
    color: #243943;
    font-family:
      "Microsoft YaHei UI",
      "Microsoft YaHei",
      "Noto Sans SC",
      sans-serif;
    font-size: 9.3pt;
    line-height: 1.58;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .pdf-report *,
  .pdf-report *::before,
  .pdf-report *::after {
    box-sizing: border-box;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .pdf-report a {
    color: #256f73;
    text-decoration: none;
  }

  .pdf-report p,
  .pdf-report h1,
  .pdf-report h2,
  .pdf-report h3,
  .pdf-report ol,
  .pdf-report ul,
  .pdf-report dl,
  .pdf-report dd {
    margin: 0;
  }

  .pdf-report-header {
    break-inside: avoid;
    border-bottom: 1px solid #cfdadd;
    margin-bottom: 8mm;
    padding-bottom: 7mm;
    position: relative;
  }

  .pdf-report-header::before {
    background: linear-gradient(90deg, #16797c 0 58%, #c2a269 58% 100%);
    content: "";
    height: 2.2mm;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
  }

  .pdf-report-brand-row {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    padding-top: 7mm;
  }

  .pdf-report-brand-row > div > span {
    color: #173640;
    display: block;
    font-size: 13.5pt;
    font-weight: 650;
    letter-spacing: 0.04em;
  }

  .pdf-report-brand-row > div > small {
    color: #73858c;
    display: block;
    font-size: 8pt;
    letter-spacing: 0.16em;
    margin-top: 1mm;
  }

  .pdf-report-brand-row > dl {
    display: grid;
    gap: 5mm;
    grid-template-columns: repeat(3, auto);
  }

  .pdf-report-brand-row dt {
    color: #829197;
    font-size: 7.3pt;
    font-weight: 500;
  }

  .pdf-report-brand-row dd {
    color: #334b55;
    font-size: 8.2pt;
    font-weight: 600;
    margin-top: 0.8mm;
    white-space: nowrap;
  }

  .pdf-report-title-block {
    margin-top: 10mm;
  }

  .pdf-report-title-block > p {
    color: #28797b;
    font-size: 8.5pt;
    font-weight: 600;
    letter-spacing: 0.05em;
  }

  .pdf-report-title-block > h1 {
    color: #17313c;
    font-size: 20pt;
    font-weight: 650 !important;
    letter-spacing: -0.02em;
    line-height: 1.32;
    margin-top: 2.5mm;
    overflow-wrap: anywhere;
  }

  .pdf-report-title-block > h2 {
    color: #61777f;
    font-size: 10pt;
    font-weight: 500 !important;
    line-height: 1.45;
    margin-top: 2mm;
  }

  .pdf-report-decision {
    align-items: center;
    background: #edf6f4;
    border-left: 1.4mm solid #1a7d78;
    display: grid;
    gap: 1.5mm 5mm;
    grid-template-columns: 23mm minmax(45mm, auto) 1fr;
    margin-top: 7mm;
    padding: 4mm 5mm;
  }

  .pdf-report-decision > span {
    color: #60777e;
    font-size: 8pt;
    font-weight: 600;
  }

  .pdf-report-decision > strong {
    color: #176c69;
    font-size: 12pt;
    font-weight: 650;
  }

  .pdf-report-decision > small {
    color: #526a72;
    font-size: 8pt;
    line-height: 1.45;
  }

  .pdf-report-decision.pending {
    background: #fbf6e9;
    border-left-color: #b48b48;
  }

  .pdf-report-decision.pending > strong {
    color: #8a672e;
  }

  .pdf-report-decision.rejected {
    background: #fff1ef;
    border-left-color: #b8584c;
  }

  .pdf-report-decision.rejected > strong {
    color: #a1453b;
  }

  .pdf-report-section {
    border-top: 0.45mm solid #1b7375;
    margin-top: 9mm;
    padding-top: 4mm;
  }

  .pdf-report-section > header {
    align-items: flex-start;
    break-after: avoid;
    display: flex;
    gap: 3.2mm;
    margin-bottom: 4mm;
  }

  .pdf-report-section > header > span {
    align-items: center;
    background: #1b7375;
    color: #fff;
    display: flex;
    flex: 0 0 8mm;
    font-size: 8pt;
    font-weight: 650;
    height: 8mm;
    justify-content: center;
  }

  .pdf-report-section > header h2 {
    color: #1e3741;
    font-size: 13pt;
    font-weight: 650 !important;
    line-height: 1.25;
  }

  .pdf-report-section > header p {
    color: #778a91;
    font-size: 7.8pt;
    margin-top: 0.8mm;
  }

  .pdf-project-facts > dl {
    border-left: 1px solid #d7e0e2;
    border-top: 1px solid #d7e0e2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdf-project-facts > dl > div {
    break-inside: avoid;
    border-bottom: 1px solid #d7e0e2;
    border-right: 1px solid #d7e0e2;
    min-height: 14mm;
    padding: 2.8mm 3.5mm;
  }

  .pdf-project-facts > dl > div.wide {
    grid-column: 1 / -1;
  }

  .pdf-project-facts dt {
    color: #7c8d93;
    font-size: 7.5pt;
    font-weight: 500;
  }

  .pdf-project-facts dd {
    color: #263f49;
    font-size: 9.2pt;
    font-weight: 600;
    margin-top: 1mm;
    overflow-wrap: anywhere;
  }

  .pdf-report-summary-grid {
    display: grid;
    gap: 3mm;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pdf-report-summary-grid > article {
    background: #f4f7f7;
    break-inside: avoid;
    min-height: 35mm;
    padding: 4mm;
  }

  .pdf-report-summary-grid span,
  .pdf-award-panel h3,
  .pdf-two-column-list h3,
  .pdf-time-panel h3,
  .pdf-material-grid h3 {
    color: #6f8188;
    font-size: 8pt;
    font-weight: 600;
  }

  .pdf-report-summary-grid strong {
    color: #1f4951;
    display: block;
    font-size: 10pt;
    line-height: 1.35;
    margin-top: 2mm;
  }

  .pdf-report-summary-grid p {
    color: #526b73;
    font-size: 8pt;
    margin-top: 2mm;
  }

  .pdf-award-panel,
  .pdf-time-panel {
    background: #edf5f4;
    break-inside: avoid;
    margin-top: 3mm;
    padding: 4mm 5mm;
  }

  .pdf-award-panel h3,
  .pdf-time-panel h3 {
    color: #286f70;
    font-size: 9pt;
  }

  .pdf-award-panel ul,
  .pdf-time-panel ul {
    margin-top: 2mm;
    padding-left: 5mm;
  }

  .pdf-award-panel li,
  .pdf-time-panel li {
    break-inside: avoid;
    margin-top: 1mm;
  }

  .pdf-failed-box {
    break-inside: avoid;
    border: 1px solid #d5dfe1;
    display: grid;
    gap: 4mm;
    grid-template-columns: 32mm 1fr;
    padding: 4mm;
  }

  .pdf-failed-box > div {
    border-right: 1px solid #d5dfe1;
  }

  .pdf-failed-box > div > span {
    color: #7b8b91;
    display: block;
    font-size: 7.6pt;
  }

  .pdf-failed-box > div > strong {
    color: #21736f;
    display: block;
    font-size: 16pt;
    margin-top: 1mm;
  }

  .pdf-failed-box.has-failures {
    background: #fff4f2;
    border-color: #e5c7c2;
  }

  .pdf-failed-box.has-failures > div {
    border-right-color: #e5c7c2;
  }

  .pdf-failed-box.has-failures > div > strong {
    color: #aa4a40;
  }

  .pdf-failed-box > ol {
    padding-left: 5mm;
  }

  .pdf-failed-box > ol > li {
    break-inside: avoid;
    margin-top: 2mm;
  }

  .pdf-failed-box > ol > li:first-child {
    margin-top: 0;
  }

  .pdf-failed-box li strong {
    color: #713f39;
  }

  .pdf-failed-box li p,
  .pdf-failed-box li small {
    display: block;
    font-size: 8pt;
    margin-top: 0.8mm;
  }

  .pdf-checklist-table {
    border-left: 1px solid #d7e0e2;
    border-top: 1px solid #d7e0e2;
    margin-top: 4mm;
  }

  .pdf-table-head,
  .pdf-table-row {
    display: grid;
    grid-template-columns: 38mm 22mm 1fr;
  }

  .pdf-table-head {
    background: #edf3f3;
    break-after: avoid;
    color: #587079;
    font-size: 7.5pt;
    font-weight: 600;
  }

  .pdf-table-head > span,
  .pdf-table-row > * {
    border-bottom: 1px solid #d7e0e2;
    border-right: 1px solid #d7e0e2;
    padding: 2.4mm 3mm;
  }

  .pdf-table-row {
    break-inside: avoid;
    font-size: 8pt;
  }

  .pdf-table-row > strong {
    color: #304a54;
  }

  .pdf-table-row > span {
    font-weight: 650;
  }

  .pdf-table-row > span.passed {
    color: #197069;
  }

  .pdf-table-row > span.failed {
    color: #a6453b;
  }

  .pdf-table-row p {
    color: #526a72;
  }

  .pdf-table-row p small {
    color: #829197;
    display: block;
    font-size: 7.2pt;
    margin-top: 1mm;
  }

  .pdf-empty-line {
    border-bottom: 1px solid #d7e0e2;
    border-right: 1px solid #d7e0e2;
    color: #657981;
    padding: 4mm;
  }

  .pdf-two-column-list,
  .pdf-material-grid {
    display: grid;
    gap: 4mm;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdf-material-grid {
    display: block;
  }

  .pdf-material-grid > article + article {
    margin-top: 4mm;
  }

  .pdf-two-column-list > article,
  .pdf-material-grid > article {
    border: 1px solid #d7e0e2;
    break-inside: auto;
    padding: 4mm;
  }

  .pdf-two-column-list h3,
  .pdf-material-grid h3 {
    color: #244a53;
    font-size: 9.5pt;
    margin-bottom: 3mm;
  }

  .pdf-two-column-list ol,
  .pdf-material-grid ul {
    list-style: none;
    padding: 0;
  }

  .pdf-two-column-list li {
    align-items: flex-start;
    break-inside: avoid;
    display: grid;
    gap: 2mm;
    grid-template-columns: 7mm 1fr;
    margin-top: 2.4mm;
  }

  .pdf-two-column-list li:first-child,
  .pdf-material-grid li:first-child {
    margin-top: 0;
  }

  .pdf-two-column-list li b {
    color: #1d7372;
    font-size: 7.8pt;
  }

  .pdf-time-panel > p {
    color: #304f58;
    font-weight: 600;
    margin-top: 1.5mm;
  }

  .pdf-material-grid li {
    break-inside: avoid;
    margin-top: 2mm;
  }

  .pdf-material-list li {
    align-items: flex-start;
    display: grid;
    gap: 2mm;
    grid-template-columns: 5mm 1fr;
  }

  .pdf-material-list li i {
    color: #1c7775;
    font-style: normal;
  }

  .pdf-material-grid li a {
    display: block;
    font-weight: 600;
    overflow-wrap: anywhere;
  }

  .pdf-material-list li small {
    color: #829097;
    display: block;
    font-size: 7.2pt;
    grid-column: 2;
    margin-top: -1mm;
  }

  .pdf-attachment-list li {
    border-bottom: 1px solid #e1e7e8;
    padding: 2mm 0;
  }

  .pdf-attachment-list li:last-child {
    border-bottom: 0;
  }

  .pdf-attachment-list li small {
    color: #829097;
    display: block;
    font-size: 7.2pt;
    margin-top: 0.8mm;
  }

  .pdf-more-items {
    color: #687d84;
    font-size: 7.6pt;
    margin-top: 2.5mm !important;
  }

  .pdf-source-section > ol {
    list-style: none;
    padding: 0;
  }

  .pdf-source-section > ol > li {
    border-bottom: 1px solid #dae2e4;
    break-inside: avoid;
    display: grid;
    gap: 3mm;
    grid-template-columns: 8mm 1fr;
    padding: 3mm 0;
  }

  .pdf-source-section > ol > li:first-child {
    padding-top: 0;
  }

  .pdf-source-section li > b {
    color: #1a7776;
    font-size: 8pt;
  }

  .pdf-source-section li strong {
    color: #2c454e;
    display: block;
  }

  .pdf-source-section li span,
  .pdf-source-section li a {
    color: #72858c;
    display: block;
    font-size: 7.2pt;
    margin-top: 0.7mm;
    overflow-wrap: anywhere;
  }

  .pdf-source-section li p {
    color: #566e76;
    font-size: 8pt;
    margin-top: 1mm;
  }

  .pdf-case-section > div {
    display: grid;
    gap: 3mm;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pdf-case-section article {
    background: #f5f7f7;
    break-inside: avoid;
    padding: 3.5mm;
  }

  .pdf-case-section article > span,
  .pdf-case-section article > small {
    color: #74868d;
    display: block;
    font-size: 7.2pt;
  }

  .pdf-case-section article > strong {
    color: #2c4650;
    display: block;
    margin-top: 1.2mm;
  }

  .pdf-case-section article > p {
    color: #526a73;
    margin-top: 1mm;
  }

  .pdf-case-section article > small {
    margin-top: 1mm;
  }

  .pdf-report-disclaimer {
    background: #f1f4f4;
    break-inside: avoid;
    color: #5c7078;
    display: grid !important;
    gap: 1.5mm;
    grid-template-columns: 16mm 1fr;
    margin-top: 4mm;
    padding: 2.5mm 3mm;
  }

  .pdf-report-disclaimer strong {
    color: #294951;
  }

  .pdf-report-disclaimer p {
    font-size: 7.2pt;
    line-height: 1.4;
  }
}

.policy-feed-window {
  contain: layout paint;
  isolation: isolate;
  overflow: hidden;
  transform: translateZ(0);
}

.policy-feed-stack {
  animation: policyFeedContinuous var(--ticker-duration) linear infinite;
  animation-delay: var(--ticker-delay);
  backface-visibility: hidden;
  contain: layout paint;
  display: flex;
  flex-direction: column;
  position: relative;
  transform: translate3d(0, 0, 0);
  transform-style: preserve-3d;
  will-change: transform;
}

.policy-feed-stack.paused {
  animation-play-state: paused;
}

.policy-feed-stack::after {
  display: none;
}

.policy-feed-sequence {
  flex: 0 0 auto;
  min-height: max-content;
}

.policy-feed-item {
  min-height: 118px;
}

@keyframes policyFeedContinuous {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -50%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .policy-feed-stack {
    animation: policyFeedContinuous var(--ticker-duration) linear infinite !important;
    animation-delay: var(--ticker-delay) !important;
  }

  .policy-feed-stack.paused {
    animation-play-state: paused !important;
  }
}

.interface-icon {
  display: inline-block;
  flex: 0 0 16px;
  height: 16px;
  overflow: visible;
  vertical-align: -3px;
  width: 16px;
}

.interface-icon path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.45;
  vector-effect: non-scaling-stroke;
}

.workflow-header-actions button,
.home-action-row > button,
.back-action,
.primary-workflow-action,
.candidate-card-foot button,
.uncertain-route-list button,
.detail-navigation button,
.detail-process-card > a,
.official-window-card a,
.case-card a {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  justify-content: center;
}

.workflow-header-actions button .interface-icon {
  height: 14px;
  width: 14px;
}

.checklist-submit-bar {
  bottom: auto;
  position: relative;
}

/* Desktop business interface — light, legible and spacious */
.workflow-app,
.workflow-app button,
.workflow-app input,
.workflow-app select,
.workflow-app textarea {
  font-family:
    "Microsoft YaHei UI",
    "Noto Sans SC",
    "DengXian",
    sans-serif;
}

.workflow-app {
  background: #f4f7f9;
  color: #334959;
  font-size: 14px;
  line-height: 1.62;
}

.workflow-header {
  background: rgba(252, 253, 254, 0.97);
  border-bottom: 1px solid #dbe4ea;
  box-shadow: 0 8px 28px rgba(55, 78, 94, 0.055);
}

.workflow-brand {
  color: #31566a;
  font-size: 18px;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

.workflow-stepper li > button > span {
  background: #edf3f6;
  border-color: #d7e2e8;
  color: #6b8291;
}

.workflow-stepper li.active > button > span,
.workflow-stepper li.complete > button > span {
  background: #4f8e93;
  border-color: #4f8e93;
  color: #fff;
}

.workflow-stepper li > button > strong,
.workflow-header-actions > span {
  color: #607582;
}

.workflow-stepper li.active > button > strong {
  color: #315b6c;
}

.workflow-header-actions button,
.back-action,
.quiet-action {
  background: #fff;
  border-color: #d5e0e6;
  color: #466272;
}

.workflow-screen:not(.workflow-home) {
  background:
    radial-gradient(circle at 95% 4%, rgba(117, 170, 182, 0.1), transparent 24%),
    #f4f7f9;
}

.workflow-home {
  background:
    radial-gradient(circle at 84% 8%, rgba(104, 168, 177, 0.13), transparent 29%),
    radial-gradient(circle at 10% 90%, rgba(201, 174, 122, 0.08), transparent 24%),
    linear-gradient(145deg, #fbfcfd 0%, #f1f6f7 56%, #fafafa 100%);
}

.workflow-home::before {
  background: linear-gradient(
    90deg,
    #5a929b 0 30%,
    #7ba8b2 30% 62%,
    #c4a873 62% 69%,
    transparent 69%
  );
}

.home-title-row h1 {
  color: #2b4859;
  font-size: clamp(44px, 4.3vw, 64px);
  font-weight: 550 !important;
}

.home-live-indicator {
  color: #53717d;
}

.home-live-indicator i {
  background: #64a4a1;
}

.policy-broadcast-grid > article > header > i {
  background: linear-gradient(180deg, #5f9da2, #91b9b7);
}

.workflow-page-heading {
  margin-bottom: 30px;
}

.workflow-page-heading h1 {
  color: #294657;
  font-size: clamp(34px, 3.2vw, 48px);
  font-weight: 600 !important;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p {
  color: #617683;
  font-size: 14px;
  max-width: 760px;
}

.workflow-page-heading > div > span,
.workflow-page-heading > span {
  color: #4c8b91;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.profile-workspace {
  gap: 22px;
}

.profile-panel,
.candidate-card,
.uncertain-route-column,
.near-miss-routes,
.checklist-one-page,
.detail-tab-panel {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #dbe4e9;
  box-shadow: 0 16px 44px rgba(55, 78, 94, 0.065);
}

.profile-panel {
  border-radius: 14px;
  padding: 25px 27px 28px;
}

.profile-panel > header {
  border-bottom: 1px solid #e6edf1;
  margin-bottom: 23px;
  padding-bottom: 15px;
}

.profile-panel > header > i {
  background: linear-gradient(180deg, #54959a, #86b4b4);
}

.profile-panel > header strong {
  color: #334f60;
  font-size: 15px;
}

.profile-fields {
  gap: 20px 22px;
}

.profile-panel label > span,
.profile-panel legend {
  color: #506876;
  font-size: 13px;
  font-weight: 550;
  margin-bottom: 9px;
}

.profile-panel input:not([type="range"]):not([type="radio"]),
.profile-panel select,
.profile-panel textarea {
  background: #fbfcfd;
  border-color: #ccd9e1;
  color: #2e4555;
  font-size: 14px;
  min-height: 48px;
}

.profile-panel select:focus,
.profile-panel input:focus,
.profile-panel textarea:focus {
  border-color: #65a2a6;
  box-shadow: 0 0 0 3px rgba(91, 154, 159, 0.12);
}

.primary-workflow-action,
.home-action-row > button,
.candidate-card-foot button,
.uncertain-route-list button,
.detail-navigation button:last-child {
  background: linear-gradient(135deg, #4a8b91, #5f9da0);
  border-color: #4a8b91;
  box-shadow: 0 12px 26px rgba(74, 139, 145, 0.18);
  color: #fff;
}

.candidate-level-summary article {
  background: #fff;
  border-color: #dce5ea;
  box-shadow: 0 10px 30px rgba(55, 78, 94, 0.055);
}

.candidate-level-summary span,
.candidate-card-top > div > span,
.candidate-award > span,
.candidate-probability > span {
  color: #69808d;
}

.candidate-level-summary strong,
.candidate-probability strong,
.candidate-card h2 {
  color: #2e4a5a;
}

.candidate-card {
  border-top: 3px solid #78a9ad;
  border-radius: 13px;
  padding: 24px;
}

.candidate-card > ul {
  color: #49616f;
  font-size: 13px;
  line-height: 1.75;
}

.candidate-card:hover {
  border-color: #6da3a8;
  box-shadow: 0 20px 48px rgba(55, 78, 94, 0.1);
  transform: translateY(-2px);
}

.candidate-rank {
  background: #eef4f6;
  color: #477b82;
}

.candidate-gate-strip > span {
  background: #f6f9fa;
  border-color: #dbe5e9;
  color: #536b79;
}

.candidate-window-state,
.candidate-award {
  background: #f7fafb;
  border-color: #dfe8ec;
}

.checklist-toolbar,
.checklist-submit-bar {
  background: #fff;
  border-color: #dbe4e9;
  box-shadow: 0 12px 34px rgba(55, 78, 94, 0.065);
}

.checklist-group {
  background: #f7f9fb;
  border-color: #dfe7ec;
  padding: 20px;
}

.route-check-grid {
  gap: 16px;
}

.route-check-item {
  background: #fff;
  border-color: #dbe4e9;
  border-radius: 11px;
  padding: 18px;
}

.near-miss-grid li > p {
  align-items: baseline;
  display: grid;
  gap: 8px;
  grid-template-columns: 62px 1fr;
  line-height: 1.65;
  margin: 8px 0 0;
}

.near-miss-grid li > p b {
  color: #6b7e88;
  font-size: 11px;
  font-weight: 550;
}

.route-check-item-head strong,
.route-check-item > p,
.detail-overview-grid dd,
.detail-action-grid li {
  color: #3b5362;
}

.detail-tabs button {
  color: #607683;
}

.detail-tabs button.active {
  background: #edf5f6;
  color: #3b747a;
}

.workflow-app p,
.workflow-app li,
.workflow-app dd,
.workflow-app small {
  letter-spacing: 0;
}

.policy-feed-item > strong,
.candidate-card h2,
.route-check-item-head strong,
.detail-action-grid h2 {
  line-height: 1.48;
}

.workflow-page-heading h1 {
  font-weight: 550 !important;
}

.checklist-heading h1 {
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 550 !important;
  line-height: 1.28;
}

.funding-mode-selector {
  background: linear-gradient(115deg, rgba(229, 241, 243, 0.96), rgba(247, 250, 251, 0.98));
  border: 1px solid #d1e0e5;
  border-left: 4px solid #6da1a6;
  box-shadow: 0 14px 36px rgba(55, 78, 94, 0.07);
  color: #334f60;
}

.funding-mode-selector > div span,
.funding-mode-selector label > span {
  color: #5a7c87;
}

.funding-mode-selector > div strong {
  color: #2f4b5b;
}

.funding-mode-selector select {
  background: #fff;
  border-color: #c9d8df;
  color: #304958;
}

.uncertain-route-column > header {
  border-bottom-color: #dfe7eb;
}

.uncertain-route-column > header span {
  color: #568e94;
}

.uncertain-route-column > header h2,
.uncertain-route-column > header > strong {
  color: #31505f;
}

.uncertain-route-column > p {
  color: #637984;
}

.uncertain-route-list article {
  background: #f8fafb;
  border-color: #dde6ea;
  color: #3b5362;
}

.uncertain-route-list article h3,
.uncertain-route-list article strong {
  color: #334e5e;
}

/* 资料更新中心 */

.home-action-row {
  align-items: stretch;
  gap: 18px;
}

.home-update-status {
  align-items: center;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(183, 201, 210, 0.82);
  border-radius: 11px;
  display: grid !important;
  gap: 3px 14px;
  grid-template-columns: auto auto 1fr auto;
  min-height: 58px;
  padding: 9px 10px 9px 17px;
}

.home-update-status > span {
  color: #627985;
  font-size: 12px;
  font-weight: 500;
}

.home-update-status > strong {
  color: #31576a;
  font-size: 13px;
  font-weight: 650;
}

.home-update-status > small {
  color: #718692;
  font-size: 11px;
  margin: 0;
}

.home-update-status > button {
  background: #f2f7f8;
  border: 1px solid #cbdde2;
  border-radius: 8px;
  color: #46727c;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  grid-column: 4;
  grid-row: 1 / span 2;
  min-height: 38px;
  padding: 0 16px;
}

.home-update-status > button:hover {
  background: #e8f2f3;
  border-color: #9fc2c8;
}

.update-center-backdrop {
  align-items: center;
  background: rgba(31, 49, 60, 0.35);
  backdrop-filter: blur(8px);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 28px;
  position: fixed;
  z-index: 1000;
}

.update-center {
  background: #f8fafb;
  border: 1px solid rgba(209, 222, 228, 0.96);
  border-radius: 18px;
  box-shadow:
    0 32px 80px rgba(36, 57, 69, 0.2),
    0 4px 18px rgba(36, 57, 69, 0.08);
  max-height: calc(100vh - 56px);
  max-width: 980px;
  overflow: auto;
  padding: 0 28px 26px;
  width: 100%;
}

.update-center > header {
  align-items: center;
  background: rgba(248, 250, 251, 0.96);
  border-bottom: 1px solid #e1e9ed;
  display: flex;
  justify-content: space-between;
  padding: 24px 0 20px;
  position: sticky;
  top: 0;
  z-index: 3;
}

.update-center > header span {
  color: #6a818d;
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}

.update-center > header h2 {
  color: #294b5c;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0;
}

.update-close {
  align-items: center;
  background: #eff4f6;
  border: 1px solid #d7e2e7;
  border-radius: 50%;
  color: #607885;
  cursor: pointer;
  display: flex;
  font-family: Arial, sans-serif;
  font-size: 23px;
  font-weight: 300;
  height: 36px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 2px;
  width: 36px;
}

.update-version-panel {
  background:
    linear-gradient(120deg, rgba(232, 243, 245, 0.95), rgba(247, 250, 251, 0.96));
  border: 1px solid #d5e2e7;
  border-radius: 14px;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(200px, 0.8fr) 2fr;
  margin-top: 24px;
  padding: 22px 24px;
}

.update-version-panel > div > span {
  color: #657d89;
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
}

.update-version-panel > div > strong {
  color: #2f6671;
  display: block;
  font-size: 23px;
  font-weight: 620;
}

.update-version-panel > div > small {
  color: #728993;
  display: block;
  font-size: 11px;
  margin-top: 7px;
}

.update-version-panel dl {
  display: grid;
  gap: 13px 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.update-version-panel dl > div {
  border-left: 1px solid #ccdce1;
  padding-left: 14px;
}

.update-version-panel dt {
  color: #78909b;
  font-size: 10px;
  margin-bottom: 4px;
}

.update-version-panel dd {
  color: #3e5968;
  font-size: 12px;
  font-weight: 580;
  margin: 0;
}

.update-notice {
  align-items: center;
  border: 1px solid;
  border-radius: 11px;
  display: flex;
  gap: 10px 18px;
  justify-content: space-between;
  margin-top: 16px;
  padding: 14px 16px;
}

.update-notice > div,
.update-notice:not(:has(> div)) {
  display: flex;
  flex-direction: column;
}

.update-notice strong {
  font-size: 13px;
  font-weight: 620;
}

.update-notice span {
  font-size: 11px;
  line-height: 1.6;
  margin-top: 3px;
}

.update-ready {
  background: #edf7f4;
  border-color: #c9e2d9;
  color: #37695f;
}

.update-current {
  background: #f1f7f8;
  border-color: #d2e2e6;
  color: #476c76;
}

.update-error {
  background: #fff7f3;
  border-color: #eed8cd;
  color: #8b5844;
}

.update-ready button {
  background: #4f8e91;
  border: 1px solid #4f8e91;
  border-radius: 8px;
  color: white;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  min-height: 38px;
  padding: 0 17px;
  white-space: nowrap;
}

.update-summary {
  background: #fff;
  border: 1px solid #dce6ea;
  border-radius: 11px;
  margin-top: 16px;
  padding: 17px 19px;
}

.update-summary > strong {
  color: #3a5968;
  font-size: 13px;
  font-weight: 620;
}

.update-summary ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 20px;
  list-style: none;
  margin: 11px 0 0;
  padding: 0;
}

.update-summary li {
  color: #647b87;
  font-size: 11px;
  position: relative;
}

.update-summary li::before {
  background: #77a8aa;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 5px;
  margin: 0 8px 1px 0;
  width: 5px;
}

.update-package-receipt {
  align-items: center;
  background: #fff;
  border: 1px solid #dce6ea;
  border-radius: 12px;
  display: grid;
  gap: 14px 22px;
  grid-template-columns: minmax(170px, 0.7fr) minmax(360px, 1.5fr);
  margin-top: 16px;
  padding: 17px 19px;
}

.update-package-receipt > div > span,
.update-package-receipt > div > small {
  color: #7a8e98;
  display: block;
  font-size: 10px;
}

.update-package-receipt > div > strong {
  color: #315c68;
  display: block;
  font-size: 17px;
  font-weight: 600;
  margin: 3px 0;
}

.update-package-receipt dl {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.update-package-receipt dl > div {
  border-left: 1px solid #dde7ea;
  padding-left: 12px;
}

.update-package-receipt dt {
  color: #365f6b;
  font-size: 15px;
  font-weight: 600;
}

.update-package-receipt dd {
  color: #7b8e97;
  font-size: 10px;
  margin: 3px 0 0;
}

.update-package-receipt > p {
  border-top: 1px solid #edf1f3;
  color: #738790;
  font-size: 10px;
  grid-column: 1 / -1;
  line-height: 1.6;
  margin: 0;
  padding-top: 11px;
}

.source-audit-progress {
  background: #f4f8f9;
  border: 1px solid #d9e5e8;
  border-radius: 10px;
  margin-top: 15px;
  padding: 11px 14px;
}

.source-audit-progress > span {
  color: #506d79;
  display: block;
  font-size: 11px;
  margin-bottom: 8px;
}

.source-audit-progress > div {
  background: #e4ecef;
  border-radius: 999px;
  height: 4px;
  overflow: hidden;
}

.source-audit-progress i {
  background: linear-gradient(90deg, #5e9297, #83adb0);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width 220ms ease;
}

.maintenance-run-summary {
  background: linear-gradient(135deg, #f8fbfc 0%, #f2f7f8 100%);
  border: 1px solid #d7e4e8;
  border-radius: 13px;
  margin-top: 18px;
  padding: 19px 20px 17px;
}

.maintenance-run-summary > header {
  align-items: flex-start;
  border-bottom: 1px solid #dfe9ec;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding-bottom: 14px;
}

.maintenance-run-summary > header strong {
  color: #365866;
  display: block;
  font-size: 14px;
  font-weight: 640;
  letter-spacing: 0.01em;
}

.maintenance-run-summary > header span,
.maintenance-run-summary > header small {
  color: #718792;
  display: block;
  font-size: 10px;
  font-weight: 450;
  line-height: 1.55;
  margin-top: 4px;
}

.maintenance-run-summary > header small {
  margin-top: 1px;
  text-align: right;
}

.maintenance-run-summary dl {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 16px 0 0;
}

.maintenance-run-summary dl > div {
  border-left: 1px solid #dce7ea;
  min-width: 0;
  padding: 0 13px;
}

.maintenance-run-summary dl > div:first-child {
  border-left: 0;
  padding-left: 0;
}

.maintenance-run-summary dt {
  color: #3d6d77;
  font-size: 18px;
  font-weight: 620;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.maintenance-run-summary dd {
  color: #7b8e97;
  font-size: 10px;
  margin: 5px 0 0;
}

.maintenance-run-summary > p {
  color: #657b86;
  font-size: 10px;
  line-height: 1.65;
  margin: 15px 0 0;
}

.maintenance-run-summary > button {
  background: #fff;
  border: 1px solid #cbdce2;
  border-radius: 7px;
  color: #4d7079;
  cursor: pointer;
  font-size: 10px;
  font-weight: 600;
  margin-top: 11px;
  min-height: 32px;
  padding: 0 12px;
}

.maintenance-run-error {
  background: #fff7f1;
  border-left: 3px solid #c98a52;
  color: #875f40;
  font-size: 10px;
  line-height: 1.6;
  margin-top: 12px;
  padding: 8px 10px;
}

.update-actions {
  background: #fff;
  border: 1px solid #dce6ea;
  border-radius: 13px;
  margin-top: 18px;
  padding: 20px;
}

.update-actions > header {
  align-items: center;
  border-bottom: 1px solid #e7edef;
  display: flex;
  justify-content: space-between;
  padding-bottom: 16px;
}

.update-actions > header strong {
  color: #3d5968;
  display: block;
  font-size: 13px;
  font-weight: 620;
}

.update-actions > header span {
  color: #7a8f99;
  display: block;
  font-size: 11px;
  margin-top: 4px;
}

.update-actions select {
  background: #f8fafb;
  border: 1px solid #cfdee4;
  border-radius: 8px;
  color: #405d6b;
  font-size: 12px;
  min-height: 38px;
  padding: 0 32px 0 12px;
}

.update-source-grid {
  display: grid;
  gap: 13px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 17px;
}

.update-source-grid article {
  background: #f7fafb;
  border: 1px solid #e0e8ec;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  min-height: 152px;
  padding: 15px;
}

.update-source-grid article > span {
  color: #3f5d6b;
  font-size: 13px;
  font-weight: 620;
}

.update-source-grid article > p {
  color: #718792;
  font-size: 11px;
  line-height: 1.65;
  margin: 8px 0 13px;
  overflow-wrap: anywhere;
}

.update-source-grid .update-source-primary {
  grid-column: 1 / -1;
  min-height: 126px;
}

.update-source-grid article > button,
.update-source-grid article > div {
  margin-top: auto;
}

.update-source-grid article > button,
.update-source-grid article > div button {
  background: #fff;
  border: 1px solid #cbdce2;
  border-radius: 7px;
  color: #4d7079;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  min-height: 34px;
  padding: 0 13px;
}

.update-source-grid article > div {
  display: grid;
  gap: 7px;
  grid-template-columns: 1fr auto;
}

.update-source-grid input {
  background: #fff;
  border: 1px solid #d2dfe4;
  border-radius: 7px;
  color: #405866;
  font-size: 11px;
  min-width: 0;
  padding: 0 9px;
}

.update-source-grid button:disabled,
.update-center footer button:disabled {
  cursor: default;
  opacity: 0.55;
}

.update-center > footer {
  align-items: center;
  background: transparent;
  color: #607784;
  display: flex;
  gap: 0;
  grid-template-columns: none;
  justify-content: space-between;
  padding: 18px 0 0;
}

.update-center > footer button {
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  min-height: 40px;
  padding: 0 17px;
}

.update-restore {
  background: transparent;
  border: 1px solid #d6e1e6;
  color: #647b87;
}

.update-check {
  background: linear-gradient(135deg, #4c8b91, #639ea1);
  border: 1px solid #4c8b91;
  box-shadow: 0 10px 24px rgba(76, 139, 145, 0.16);
  color: #fff;
}

@media (max-width: 900px) {
  .home-update-status {
    grid-template-columns: auto 1fr auto;
  }

  .home-update-status > small {
    grid-column: 1 / span 2;
  }

  .home-update-status > button {
    grid-column: 3;
  }

  .update-version-panel {
    grid-template-columns: 1fr;
  }

  .update-source-grid {
    grid-template-columns: 1fr;
  }

  .update-package-receipt {
    grid-template-columns: 1fr;
  }

  .maintenance-run-summary dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 16px;
  }

  .maintenance-run-summary dl > div:nth-child(4) {
    border-left: 0;
    padding-left: 0;
  }

  .update-source-grid article {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .update-center-backdrop {
    padding: 10px;
  }

  .update-center {
    max-height: calc(100vh - 20px);
    padding: 0 16px 18px;
  }

  .update-version-panel dl {
    grid-template-columns: 1fr;
  }

  .update-actions > header,
  .update-notice {
    align-items: stretch;
    flex-direction: column;
  }

  .update-package-receipt dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .maintenance-run-summary > header {
    align-items: stretch;
    flex-direction: column;
    gap: 7px;
  }

  .maintenance-run-summary > header small {
    text-align: left;
  }

  .maintenance-run-summary dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .maintenance-run-summary dl > div:nth-child(odd) {
    border-left: 0;
    padding-left: 0;
  }

  .maintenance-run-summary dl > div:nth-child(even) {
    border-left: 1px solid #dce7ea;
    padding-left: 13px;
  }
}

/* 1.15.0 final desktop visual system */
.workflow-app {
  --surface: rgba(255, 255, 255, 0.97);
  --surface-muted: #f4f8f9;
  --text-primary: #263f4c;
  --text-secondary: #637681;
  --accent: #4c8389;
  --accent-strong: #346b72;
  --accent-soft: #edf5f5;
  --border-soft: #dbe5e9;
  background: #f5f8f9;
  color: var(--text-primary);
  font-family:
    "Microsoft YaHei UI",
    "Noto Sans SC",
    "PingFang SC",
    sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.66;
}

.workflow-app h1,
.workflow-app h2,
.workflow-app h3,
.workflow-app h4 {
  color: var(--text-primary);
  font-weight: 590 !important;
  letter-spacing: -0.018em;
}

.workflow-app button,
.workflow-app label,
.workflow-app legend,
.workflow-app strong,
.workflow-app b {
  font-weight: 540;
}

.workflow-home {
  background:
    radial-gradient(circle at 88% 3%, rgba(92, 151, 157, 0.1), transparent 27%),
    radial-gradient(circle at 7% 96%, rgba(187, 160, 107, 0.055), transparent 22%),
    linear-gradient(145deg, #fdfefe 0%, #f1f6f7 64%, #fafcfc 100%);
}

.policy-model-summary {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: 96px;
  overflow: visible;
}

.policy-model-summary .metric-routes,
.policy-model-summary .metric-directions,
.policy-model-summary .metric-qualifications,
.policy-model-summary .metric-sources,
.policy-model-summary .metric-windows {
  grid-column: auto;
  grid-row: 1;
}

.policy-model-summary > button,
.policy-model-summary > button:first-child,
.policy-model-summary > button:last-child,
.policy-model-summary .metric-windows {
  align-items: center;
  appearance: none;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #dbe5e9;
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(44, 71, 83, 0.055);
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 7px 11px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-rows: auto;
  min-height: 0;
  padding: 16px;
  text-align: left;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.policy-model-summary .metric-windows {
  background:
    linear-gradient(135deg, rgba(237, 246, 246, 0.98), rgba(255, 255, 255, 0.98));
  border-color: #c5d9dc;
}

.policy-model-summary > button:hover,
.policy-model-summary > button:focus-visible {
  border-color: #a9c8cc;
  box-shadow: 0 18px 42px rgba(44, 71, 83, 0.09);
  outline: 0;
  transform: translateY(-1px);
}

.policy-model-summary > button > i,
.policy-model-summary .metric-windows > i {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid #d7e6e7;
  border-radius: 9px;
  color: #4b858b;
  display: flex;
  grid-column: 1;
  grid-row: 1;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.policy-model-summary > button > span,
.policy-model-summary .metric-windows > span {
  color: inherit;
  display: block;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.policy-model-summary > button > span > b {
  color: #304d5b;
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.policy-model-summary > button > span > small {
  color: #7a8b94;
  display: block;
  font-size: 10px;
  line-height: 1.45;
  margin-top: 4px;
}

.policy-model-summary > button > strong,
.policy-model-summary .metric-windows > strong {
  align-self: center;
  color: #3c7178;
  font-size: 28px;
  font-weight: 550;
  grid-column: 3;
  grid-row: 1;
  line-height: 1;
  margin: 0;
}

.policy-model-summary > button > em,
.policy-model-summary .metric-windows > em,
.policy-model-summary > button > small {
  display: none;
}

.metric-screen {
  background:
    linear-gradient(180deg, #f7fafb 0%, #f3f7f8 100%);
  color: var(--text-secondary);
  margin: 0 auto;
  max-width: 1920px;
  min-height: 100vh;
  padding: 34px clamp(30px, 4vw, 72px) 62px;
}

.metric-header {
  align-items: end;
  border-bottom: 1px solid #d9e4e8;
  display: grid;
  gap: 32px;
  grid-template-columns: 138px minmax(0, 1fr) minmax(290px, 390px);
  padding-bottom: 25px;
}

.metric-back {
  align-items: center;
  background: #fff;
  border: 1px solid #d3dfe4;
  border-radius: 8px;
  color: #506873;
  cursor: pointer;
  display: inline-flex;
  gap: 7px;
  height: 40px;
  justify-content: center;
}

.metric-header > div > span {
  color: #4b8389;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.metric-header h1 {
  color: #284654;
  font-size: clamp(30px, 2.7vw, 41px);
  line-height: 1.22;
  margin: 5px 0 8px;
}

.metric-header p {
  color: #71838d;
  font-size: 12px;
  margin: 0;
}

.metric-header label > span {
  color: #6e818b;
  display: block;
  font-size: 11px;
  margin-bottom: 7px;
}

.metric-header input {
  background: #fff;
  border: 1px solid #d0dde2;
  border-radius: 9px;
  color: #314d5b;
  height: 46px;
  outline: none;
  padding: 0 14px;
  width: 100%;
}

.metric-header input:focus {
  border-color: #68979c;
  box-shadow: 0 0 0 3px rgba(76, 131, 137, 0.1);
}

.metric-catalog-layout {
  align-items: start;
  display: grid;
  gap: 30px;
  grid-template-columns: 238px minmax(0, 1fr);
  margin-top: 28px;
}

.metric-navigation {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--border-soft);
  border-radius: 13px;
  box-shadow: 0 14px 38px rgba(43, 74, 87, 0.05);
  max-height: calc(100vh - 52px);
  overflow: auto;
  padding: 18px;
  position: sticky;
  top: 18px;
}

.metric-groups {
  display: grid;
  gap: 28px;
  min-width: 0;
}

.metric-primary-group > header {
  align-items: end;
  border-bottom: 1px solid #cbdce2;
  display: grid;
  gap: 3px 12px;
  grid-template-columns: 1fr auto;
  margin-bottom: 15px;
  padding: 0 4px 13px;
}

.metric-primary-group > header h2 {
  font-size: 23px;
  margin: 0;
}

.metric-secondary-group {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--border-soft);
  border-radius: 13px;
  box-shadow: 0 13px 38px rgba(43, 74, 87, 0.045);
  margin-bottom: 16px;
  overflow: hidden;
}

.metric-secondary-group > header {
  align-items: center;
  background: #f6f9fa;
  border-bottom: 1px solid #e1eaed;
  display: flex;
  justify-content: space-between;
  min-height: 52px;
  padding: 14px 20px;
}

.metric-secondary-group > header h3 {
  font-size: 13px;
  margin: 0;
}

.metric-list {
  display: block;
  margin: 0;
}

.metric-item {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #edf1f3;
  border-radius: 0;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 20px;
}

.metric-item:last-child {
  border-bottom: 0;
}

.metric-item > div {
  min-width: 0;
}

.metric-item small {
  color: #7b8c95;
  display: block;
  font-size: 10px;
}

.metric-item h4 {
  color: #304e5d;
  font-size: 14px;
  line-height: 1.55;
  margin: 6px 0 8px;
}

.metric-item p {
  color: #617681;
  font-size: 12px;
  line-height: 1.72;
  margin: 0;
  max-width: 108ch;
}

.metric-item > a {
  align-items: center;
  align-self: center;
  border-left: 1px solid #e2e9ec;
  color: #4c8389;
  display: inline-flex;
  font-size: 11px;
  gap: 5px;
  min-width: 108px;
  padding: 9px 2px 9px 22px;
  text-decoration: none;
  white-space: nowrap;
}

.metric-window-nodes {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-top: 13px;
}

.metric-window-nodes > span {
  background: #f7fafb;
  border: 1px solid #e0e8eb;
  border-left: 3px solid #a8bbc2;
  border-radius: 8px;
  display: grid;
  gap: 3px;
  min-height: 84px;
  padding: 11px 12px;
}

.metric-window-nodes > span.applicant {
  background: #eef7f6;
  border-color: #d1e4e2;
  border-left-color: #4f8a89;
}

.metric-window-nodes b {
  color: #536d77;
  font-size: 10px;
}

.metric-window-nodes i {
  color: #2f5965;
  font-size: 14px;
  font-style: normal;
  font-weight: 590;
  line-height: 1.4;
}

.metric-window-nodes small {
  color: #74858d;
  font-size: 10px;
  line-height: 1.5;
}

.login-screen {
  background:
    radial-gradient(circle at 12% 10%, rgba(101, 164, 170, 0.13), transparent 26%),
    linear-gradient(135deg, #eef5f5 0%, #f8fbfb 49%, #f2f6f7 100%);
  color: #294553;
  display: grid;
  font-family:
    "Microsoft YaHei UI",
    "Noto Sans SC",
    "PingFang SC",
    sans-serif;
  grid-template-columns: minmax(520px, 1.12fr) minmax(440px, 0.88fr);
  min-height: 100vh;
  overflow: hidden;
  position: relative;
}

.login-screen::before {
  background-image:
    linear-gradient(rgba(77, 130, 137, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77, 130, 137, 0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  pointer-events: none;
  position: absolute;
}

.login-brand {
  align-content: center;
  display: grid;
  gap: 46px;
  padding: 9vh 8vw;
  position: relative;
  z-index: 1;
}

.login-mark i {
  background: linear-gradient(180deg, #4b858b, #7ca7ab);
}

.login-brand small {
  color: #4a8086;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.login-brand h1 {
  color: #294b59;
  font-size: clamp(40px, 4.1vw, 60px);
  font-weight: 550;
  letter-spacing: -0.04em;
}

.login-brand > div > p {
  color: #627580;
  font-size: 15px;
  line-height: 1.85;
}

.login-capability {
  align-items: center;
  color: #496975;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 12px;
}

.login-capability i {
  background: #9eb8bd;
  height: 1px;
  width: 28px;
}

.login-panel {
  align-items: center;
  background: transparent;
  display: flex;
  justify-content: center;
  padding: 6vh 6vw;
  position: relative;
  z-index: 1;
}

.login-panel form {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(207, 222, 226, 0.98);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(43, 72, 85, 0.12);
  max-width: 430px;
  padding: 38px 40px 34px;
  width: 100%;
}

.login-panel header {
  margin-bottom: 29px;
}

.login-panel header > span {
  color: #4c858b;
  font-size: 12px;
  letter-spacing: 0.08em;
}

.login-panel h2 {
  color: #294553;
  font-size: 29px;
  margin: 8px 0 9px;
}

.login-panel header p {
  color: #778992;
  font-size: 12px;
  margin: 0;
}

.login-panel .login-field {
  display: block;
  margin-top: 20px;
}

.login-panel label > span {
  color: #4a616e;
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
}

.login-panel input {
  background: #fbfcfd;
  border: 1px solid #ccdadd;
  border-radius: 8px;
  color: #2f4a57;
  font-size: 14px;
  height: 50px;
  outline: none;
  padding: 0 15px;
  width: 100%;
}

.login-panel input:focus {
  border-color: #568f94;
  box-shadow: 0 0 0 3px rgba(75, 137, 143, 0.11);
}

.login-password-field {
  position: relative;
}

.login-password-field input {
  padding-right: 64px;
}

.login-password-field button {
  background: transparent;
  border: 0;
  color: #578088;
  font-size: 11px;
  height: 36px;
  padding: 0 11px;
  position: absolute;
  right: 7px;
  top: 7px;
}

.login-hint {
  color: #8a6a33;
  font-size: 11px;
  margin-top: 8px;
}

.login-error {
  background: #fff5f3;
  border-left: 3px solid #bc6656;
  border-radius: 4px;
  color: #8b4c41;
  font-size: 12px;
  line-height: 1.55;
  margin-top: 18px;
  padding: 11px 13px;
}

.login-panel form > button {
  align-items: center;
  background: linear-gradient(135deg, #477f86, #5d9699);
  border: 1px solid #477f86;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(63, 119, 126, 0.19);
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  gap: 8px;
  height: 50px;
  justify-content: center;
  margin-top: 26px;
  width: 100%;
}

.login-panel form > button:hover {
  background: linear-gradient(135deg, #3e737a, #52898d);
}

.login-panel form > button:disabled {
  cursor: default;
  opacity: 0.62;
}

.login-panel footer {
  align-items: center;
  background: transparent;
  color: #87959d;
  display: flex;
  font-size: 10px;
  height: auto;
  justify-content: space-between;
  margin-top: 22px;
  min-height: 0;
  padding: 0;
  text-align: left;
}

.candidate-card {
  padding: 27px;
}

.candidate-application-node {
  border-radius: 9px;
  gap: 7px;
  margin: 17px 0;
  padding: 16px 17px;
}

.detail-tabs {
  background: rgba(250, 252, 252, 0.94);
  border: 1px solid #dbe5e9;
  border-bottom: 0;
  border-radius: 13px 13px 0 0;
  display: flex;
  gap: 5px;
  margin: 34px auto 0;
  max-width: 1740px;
  overflow-x: auto;
  padding: 8px 12px 0;
}

.detail-tabs button {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #5c707b;
  flex: 1 0 140px;
  min-height: 56px;
  padding: 0 18px;
  white-space: nowrap;
}

.detail-tabs button.active {
  background: #f0f6f6;
  border-bottom-color: #4a817f;
  color: #315e63;
}

.detail-tab-panel {
  border-radius: 0 0 13px 13px;
  margin-top: 0;
  min-height: 360px;
  padding: 34px clamp(26px, 3vw, 46px) 42px;
}

.detail-attachment-section > header {
  align-items: center;
  border-bottom: 1px solid #dce6e9;
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
  padding-bottom: 20px;
}

.detail-attachment-section > header h2 {
  font-size: 24px;
  margin: 5px 0 7px;
}

.detail-attachment-section > header > small {
  background: #edf5f5;
  border: 1px solid #d6e5e5;
  border-radius: 999px;
  color: #47777b;
  flex: 0 0 auto;
  font-size: 11px;
  padding: 7px 12px;
}

.detail-attachment-groups {
  display: grid;
  gap: 30px;
}

.detail-attachment-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-attachment-grid > a {
  align-items: center;
  background: #f8fafb;
  border: 1px solid #dce5e9;
  border-radius: 11px;
  display: grid;
  gap: 15px;
  grid-template-columns: 40px minmax(0, 1fr) 18px;
  min-height: 106px;
  padding: 17px;
}

.source-audit-summary {
  background: #f8fafb;
  border: 1px solid #dce5e9;
  border-radius: 11px;
  padding: 17px 18px;
}

.source-audit-summary > header {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(180px, 0.8fr) minmax(640px, 2.2fr);
}

.source-audit-summary dl {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(88px, 1fr));
  margin: 0;
}

.source-audit-list,
.update-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .policy-model-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, 96px);
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications {
    grid-row: 1;
  }

  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-row: 2;
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-sources {
    grid-column: 1;
  }

  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-windows {
    grid-column: 2;
  }

  .policy-model-summary .metric-qualifications {
    grid-column: 3;
  }
}

@media (max-width: 900px) {
  .metric-catalog-layout {
    grid-template-columns: 1fr;
  }

  .metric-navigation {
    max-height: 260px;
    position: static;
  }

  .source-audit-summary > header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .policy-model-summary {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications,
  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-column: 1;
    grid-row: auto;
  }

  .metric-header,
  .metric-item,
  .detail-attachment-grid,
  .source-audit-list,
  .update-source-grid {
    grid-template-columns: 1fr;
  }

  .metric-item > a {
    border-left: 0;
    justify-self: start;
    padding: 5px 0 0;
  }
}

.near-miss-grid > article.closed-window-reference {
  display: flex;
  flex-direction: column;
}

.near-miss-reference-action {
  border-top: 1px solid #e1e8ea;
  margin-top: auto;
  padding-top: 16px;
}

.near-miss-reference-action > p {
  color: #596e79;
  font-size: 12px;
  line-height: 1.7;
  margin: 0 0 12px;
}

.near-miss-reference-action > button {
  align-items: center;
  background: #527f88;
  border: 1px solid #527f88;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  width: 100%;
}

.near-miss-reference-action > button:hover {
  background: #416f78;
  border-color: #416f78;
}

/* 1.16 final cascade */
.workflow-page-heading {
  align-items: center;
  border-bottom: 1px solid #e0e8eb;
  column-gap: clamp(28px, 4vw, 70px);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
  margin-bottom: 32px;
  padding-bottom: 25px;
  row-gap: 18px;
}

.workflow-page-heading .back-action {
  grid-column: 1 / -1;
  justify-self: start;
  margin: 0;
}

.candidate-heading > div {
  grid-column: 1 / -1;
}

.workflow-page-heading h1,
.checklist-heading h1,
.detail-title h1 {
  color: #253f50;
  font-size: clamp(32px, 2.8vw, 43px);
  font-weight: 540 !important;
  letter-spacing: -0.035em;
  line-height: 1.18;
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workflow-page-heading h1.route-heading-long,
.checklist-heading h1.route-heading-long,
.detail-title h1.route-heading-long {
  font-size: clamp(28px, 2.35vw, 36px);
}

.workflow-page-heading h1.route-heading-compact,
.checklist-heading h1.route-heading-compact,
.detail-title h1.route-heading-compact {
  font-size: clamp(24px, 2vw, 31px);
}

.checklist-heading {
  grid-template-columns: minmax(0, 1fr) 150px;
}

.checklist-heading > div,
.detail-title {
  min-width: 0;
}

.checklist-progress {
  align-self: center;
  justify-self: end;
  min-width: 132px;
  text-align: right;
}

.candidate-card:only-child {
  max-width: none;
}

.route-check-grid {
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-hero {
  align-items: center;
  gap: 26px;
  grid-template-columns: 54px minmax(0, 1fr) minmax(270px, 0.3fr);
}

.detail-title > small {
  color: #5c8c92;
  display: block;
  font-size: 11px;
  font-weight: 580;
  letter-spacing: 0.08em;
  margin-top: 9px;
}

.detail-action-grid > article > header > span {
  display: none;
}

.detail-action-grid > article > header {
  grid-template-columns: 1fr;
}

@media (max-width: 820px) {
  .workflow-page-heading,
  .checklist-heading {
    grid-template-columns: 1fr;
  }

  .route-check-grid {
    grid-template-columns: 1fr;
  }

  .detail-hero {
    grid-template-columns: 46px minmax(0, 1fr);
  }
}

/* 1.16 desktop business interface */
.workflow-app {
  --ui-ink: #253f50;
  --ui-text: #405968;
  --ui-muted: #6f818c;
  --ui-line: #dce5e9;
  --ui-accent: #4f8790;
  --ui-accent-soft: #edf5f6;
  --ui-gold: #b49762;
  background: #f5f8f9;
  color: var(--ui-text);
}

.workflow-app,
.workflow-app button,
.workflow-app input,
.workflow-app select,
.workflow-app textarea {
  font-family: "Microsoft YaHei UI", "HarmonyOS Sans SC", "Noto Sans SC", "DengXian", sans-serif;
}

.workflow-app h1,
.workflow-app h2,
.workflow-app h3,
.workflow-app h4,
.workflow-app strong,
.workflow-app b,
.workflow-app button {
  text-wrap: pretty;
}

.workflow-app h1,
.workflow-app h2,
.workflow-app h3,
.workflow-app h4 {
  color: var(--ui-ink);
  font-weight: 560 !important;
}

.workflow-header {
  background: rgba(253, 254, 254, 0.96);
  border-bottom-color: #e1e8eb;
  box-shadow: 0 7px 26px rgba(53, 79, 94, 0.045);
}

.workflow-screen:not(.workflow-home) {
  background:
    radial-gradient(circle at 92% 2%, rgba(111, 165, 175, 0.075), transparent 25%),
    linear-gradient(180deg, #f8fafb 0%, #f3f7f8 100%);
}

.workflow-page-heading {
  align-items: center;
  border-bottom: 1px solid #e0e8eb;
  column-gap: clamp(28px, 4vw, 70px);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
  margin-bottom: 32px;
  padding-bottom: 25px;
  row-gap: 18px;
}

.workflow-page-heading .back-action {
  grid-column: 1 / -1;
  justify-self: start;
  margin: 0;
}

.candidate-heading > div {
  grid-column: 1 / -1;
}

.workflow-page-heading h1,
.detail-title h1 {
  color: var(--ui-ink);
  font-size: clamp(32px, 2.8vw, 43px);
  font-weight: 540 !important;
  letter-spacing: -0.035em;
  line-height: 1.18;
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workflow-page-heading h1.route-heading-long,
.detail-title h1.route-heading-long {
  font-size: clamp(28px, 2.35vw, 36px);
}

.workflow-page-heading h1.route-heading-compact,
.detail-title h1.route-heading-compact {
  font-size: clamp(24px, 2vw, 31px);
}

.workflow-page-heading > div > span,
.workflow-page-heading > span,
.detail-title > div,
.detail-title > small {
  color: #5c8c92;
  font-size: 11px;
  font-weight: 580;
  letter-spacing: 0.08em;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p {
  color: var(--ui-muted);
  font-size: 14px;
  line-height: 1.75;
}

.checklist-heading {
  grid-template-columns: minmax(0, 1fr) 150px;
}

.checklist-heading > div {
  min-width: 0;
}

.checklist-progress {
  align-self: center;
  justify-self: end;
  min-width: 132px;
  text-align: right;
}

.profile-panel,
.candidate-card,
.uncertain-route-column,
.near-miss-routes,
.checklist-one-page,
.detail-tab-panel,
.detail-summary > article,
.detail-conclusion > article {
  border-color: var(--ui-line);
  border-radius: 12px;
  box-shadow: 0 14px 42px rgba(54, 79, 92, 0.055);
}

.profile-panel {
  padding: 28px 30px 31px;
}

.profile-panel > header {
  margin-bottom: 25px;
  padding-bottom: 17px;
}

.profile-fields {
  gap: 22px 25px;
}

.profile-panel label > span,
.profile-panel legend {
  color: #4d6472;
  font-size: 13px;
  font-weight: 560;
}

.profile-panel input:not([type="range"]):not([type="radio"]),
.profile-panel select,
.profile-panel textarea {
  background: #fcfdfd;
  border-color: #cedbe1;
  border-radius: 7px;
  color: #304a59;
  min-height: 50px;
}

.candidate-level-summary {
  gap: 14px;
  margin-bottom: 24px;
}

.candidate-level-summary article {
  border: 1px solid var(--ui-line);
  border-left: 3px solid #76a4aa;
  border-radius: 10px;
  min-height: 82px;
  padding: 17px 20px;
}

.candidate-grid {
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.candidate-card,
.candidate-card:only-child {
  max-width: none;
  padding: 28px 29px;
}

.candidate-card h2 {
  color: var(--ui-ink);
  font-size: 18px;
  font-weight: 570 !important;
  letter-spacing: -0.015em;
  line-height: 1.55;
}

.candidate-card > ul {
  color: #4d6573;
  font-size: 13px;
  line-height: 1.82;
}

.candidate-application-node,
.candidate-award,
.candidate-gate-strip > span {
  background: #f7fafb;
  border-color: #dfe8eb;
}

.checklist-toolbar,
.funding-mode-selector,
.checklist-submit-bar {
  border-radius: 10px;
}

.checklist-one-page {
  padding: clamp(22px, 2.5vw, 34px);
}

.checklist-group {
  background: #f7fafb;
  border-color: #e0e8eb;
  border-radius: 11px;
  margin-bottom: 24px;
  padding: 23px;
}

.checklist-group > header {
  margin-bottom: 18px;
  padding-bottom: 15px;
}

.route-check-grid {
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-check-item {
  border-radius: 9px;
  min-height: 238px;
  padding: 21px 22px;
}

.route-check-item > p {
  color: #435d6b;
  font-size: 14px;
  line-height: 1.8;
}

.detail-hero {
  align-items: center;
  gap: 26px;
  grid-template-columns: 54px minmax(0, 1fr) minmax(270px, 0.3fr);
  min-height: 170px;
  padding: 15px 0 31px;
}

.detail-rank {
  background: #557f8b;
  border-radius: 7px;
  font-size: 16px;
  font-weight: 600;
  height: 54px;
  width: 54px;
}

.detail-title {
  min-width: 0;
}

.detail-title h1 {
  margin-top: 14px;
}

.detail-title > small {
  display: block;
  margin-top: 9px;
}

.detail-decision {
  border-left-color: #dce5e8;
  min-height: 132px;
  padding-left: 25px;
}

.detail-summary,
.detail-conclusion {
  gap: 16px;
}

.detail-summary > article,
.detail-conclusion > article {
  padding: 23px 24px;
}

.detail-tabs {
  background: #f8fafb;
  border-color: var(--ui-line);
}

.detail-tabs button {
  color: #5b7180;
  font-size: 14px;
  font-weight: 560;
}

.detail-tabs button.active {
  background: #eef5f6;
  color: #467982;
}

.detail-action-grid {
  gap: 20px;
}

.detail-action-grid > article {
  border-color: #dfe7ea;
  border-radius: 10px;
  padding: 25px;
}

.detail-action-grid > article > header > span {
  display: none;
}

.detail-action-grid > article > header {
  grid-template-columns: 1fr;
}

.detail-action-grid h2 {
  font-size: 21px;
  font-weight: 560 !important;
}

.detail-action-grid li,
.detail-overview-grid dd,
.detail-overview-grid li {
  color: #405968;
  font-size: 14px;
  line-height: 1.8;
}

.policy-feed-window {
  backface-visibility: hidden;
  contain: strict;
  transform: translate3d(0, 0, 0);
}

.policy-feed-stack {
  animation-timing-function: linear;
  backface-visibility: hidden;
  contain: layout paint style;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.policy-feed-item {
  transform: translateZ(0);
}

.login-screen {
  background:
    radial-gradient(circle at 13% 12%, rgba(103, 160, 168, 0.1), transparent 27%),
    linear-gradient(135deg, #eff5f6 0%, #f8fbfb 51%, #f4f7f8 100%);
  color: var(--ui-ink);
}

.login-brand h1 {
  color: var(--ui-ink);
  font-size: clamp(40px, 3.8vw, 56px);
  font-weight: 530;
  letter-spacing: -0.035em;
}

.login-brand > div > p {
  color: #5e7480;
  font-size: 15px;
  line-height: 1.9;
}

.login-panel form {
  border-color: #d4e0e4;
  border-radius: 14px;
  box-shadow: 0 28px 72px rgba(49, 76, 90, 0.105);
  padding: 39px 41px 35px;
}

.login-panel h2 {
  color: var(--ui-ink);
  font-size: 28px;
  font-weight: 550 !important;
}

.login-panel form > button,
.primary-workflow-action,
.home-action-row > button,
.candidate-card-foot button,
.uncertain-route-list button,
.detail-navigation button:last-child {
  background: linear-gradient(135deg, #4e838c, #689ba0);
  border-color: #4e838c;
  box-shadow: 0 11px 25px rgba(67, 126, 135, 0.16);
}

@media (max-width: 1120px) {
  .workflow-page-heading {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.5fr);
  }

  .checklist-heading {
    grid-template-columns: minmax(0, 1fr) 125px;
  }

  .workflow-page-heading h1,
  .detail-title h1 {
    font-size: 29px;
  }

  .workflow-page-heading h1.route-heading-long,
  .workflow-page-heading h1.route-heading-compact,
  .detail-title h1.route-heading-long,
  .detail-title h1.route-heading-compact {
    font-size: 24px;
  }

  .detail-hero {
    grid-template-columns: 48px minmax(0, 1fr) 245px;
  }
}

@media (max-width: 820px) {
  .workflow-page-heading,
  .checklist-heading {
    grid-template-columns: 1fr;
  }

  .workflow-page-heading > p,
  .checklist-progress {
    justify-self: start;
    text-align: left;
  }

  .route-check-grid,
  .candidate-grid {
    grid-template-columns: 1fr;
  }

  .detail-hero {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .detail-decision {
    border-left: 0;
    border-top: 1px solid #dce5e8;
    grid-column: 1 / -1;
    padding: 18px 0 0;
    text-align: left;
  }
}

/* 1.15 desktop interface */
.workflow-app {
  --accent: #4c858b;
  --accent-strong: #376c73;
  --accent-soft: #edf5f5;
  --text-primary: #294553;
  --text-secondary: #627682;
  --border-soft: #dce6e9;
  background: #f5f8f9;
  color: var(--text-primary);
  font-family:
    "Microsoft YaHei UI",
    "Noto Sans SC",
    "PingFang SC",
    sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.66;
}

.workflow-app h1,
.workflow-app h2,
.workflow-app h3,
.workflow-app h4 {
  color: #294553;
  font-weight: 600 !important;
  letter-spacing: -0.018em;
}

.workflow-app button,
.workflow-app label,
.workflow-app legend,
.workflow-app strong,
.workflow-app b {
  font-weight: 550;
}

.workflow-home {
  background:
    radial-gradient(circle at 88% 2%, rgba(97, 157, 164, 0.11), transparent 26%),
    radial-gradient(circle at 7% 96%, rgba(195, 168, 113, 0.07), transparent 21%),
    linear-gradient(145deg, #fcfdfd 0%, #f2f7f8 62%, #fafcfc 100%);
}

.policy-model-summary {
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: 92px;
}

.policy-model-summary .metric-routes,
.policy-model-summary .metric-directions,
.policy-model-summary .metric-qualifications,
.policy-model-summary .metric-sources,
.policy-model-summary .metric-windows {
  grid-column: auto;
  grid-row: 1;
}

.policy-model-summary > button,
.policy-model-summary > button:first-child,
.policy-model-summary > button:last-child,
.policy-model-summary .metric-windows {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #dce6e9;
  border-radius: 12px;
  box-shadow: 0 13px 34px rgba(43, 74, 87, 0.055);
  display: grid;
  gap: 7px 11px;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  grid-template-rows: auto;
  padding: 15px 16px;
}

.policy-model-summary .metric-windows {
  background:
    linear-gradient(135deg, rgba(238, 247, 247, 0.96), rgba(255, 255, 255, 0.98));
  border-color: #c7dadd;
}

.policy-model-summary > button > i,
.policy-model-summary .metric-windows > i {
  grid-column: 1;
  grid-row: 1;
  height: 36px;
  width: 36px;
}

.policy-model-summary > button > span,
.policy-model-summary .metric-windows > span {
  grid-column: 2;
  grid-row: 1;
}

.policy-model-summary > button > span > b {
  font-size: 13px;
  line-height: 1.35;
}

.policy-model-summary > button > span > small {
  font-size: 10px;
  line-height: 1.45;
  margin-top: 4px;
}

.policy-model-summary > button > strong,
.policy-model-summary .metric-windows > strong {
  align-self: center;
  color: #3d7079;
  font-size: 28px;
  font-weight: 550;
  grid-column: 3;
  grid-row: 1;
  margin: 0;
}

.policy-model-summary > button > em,
.policy-model-summary .metric-windows > em {
  display: none;
}

.metric-screen {
  margin: 0 auto;
  max-width: 1680px;
  padding: 34px clamp(30px, 4vw, 70px) 62px;
}

.metric-header {
  align-items: end;
  border-bottom: 1px solid #dbe5e9;
  gap: 32px;
  grid-template-columns: 138px minmax(0, 1fr) minmax(290px, 390px);
  padding-bottom: 25px;
}

.metric-header h1 {
  font-size: clamp(30px, 2.7vw, 41px);
  line-height: 1.22;
  margin: 5px 0 8px;
}

.metric-header p {
  color: #71838d;
  margin: 0;
}

.metric-header label {
  align-self: center;
}

.metric-header input {
  background: #fff;
  border: 1px solid #d1dde2;
  border-radius: 9px;
  height: 46px;
  padding: 0 14px;
}

.metric-catalog-layout {
  gap: 30px;
  grid-template-columns: 238px minmax(0, 1fr);
  margin-top: 28px;
}

.metric-navigation {
  border-radius: 13px;
  box-shadow: 0 14px 38px rgba(43, 74, 87, 0.05);
  padding: 18px;
}

.metric-groups {
  gap: 28px;
}

.metric-primary-group > header {
  margin-bottom: 15px;
  padding: 0 4px 13px;
}

.metric-secondary-group {
  border-radius: 13px;
  box-shadow: 0 13px 38px rgba(43, 74, 87, 0.045);
  margin-bottom: 16px;
}

.metric-secondary-group > header {
  min-height: 52px;
  padding: 14px 20px;
}

.metric-item {
  gap: 28px;
  padding: 20px;
}

.metric-item h4 {
  font-size: 14px;
  line-height: 1.55;
  margin: 6px 0 8px;
}

.metric-item p {
  color: #617681;
  font-size: 12px;
  line-height: 1.72;
  max-width: 108ch;
}

.metric-item > a {
  min-width: 105px;
  padding-left: 22px;
}

.metric-window-nodes {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  margin-top: 13px;
}

.metric-window-nodes > span {
  background: #f7fafb;
  border: 1px solid #e0e8eb;
  border-left: 3px solid #a8bbc2;
  border-radius: 8px;
  display: grid;
  gap: 3px;
  min-height: 82px;
  padding: 11px 12px;
}

.metric-window-nodes > span.applicant {
  background: #eff7f6;
  border-color: #d2e4e3;
  border-left-color: #4f8c8b;
}

.metric-window-nodes b {
  color: #526b77;
  font-size: 10px;
}

.metric-window-nodes i {
  color: #2f5965;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
}

.metric-window-nodes small {
  color: #74858d;
  font-size: 10px;
  line-height: 1.5;
}

.candidate-card {
  padding: 27px;
}

.candidate-application-node {
  border-radius: 9px;
  gap: 7px;
  margin: 17px 0;
  padding: 16px 17px;
}

.candidate-card > ul {
  margin: 18px 0;
}

.detail-tabs {
  background: rgba(250, 252, 252, 0.92);
  border: 1px solid #dce5e9;
  border-bottom: 0;
  border-radius: 13px 13px 0 0;
  display: flex;
  gap: 5px;
  margin: 34px auto 0;
  max-width: 1740px;
  overflow-x: auto;
  padding: 8px 12px 0;
}

.detail-tabs button {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #5c707b;
  flex: 1 0 140px;
  min-height: 56px;
  padding: 0 18px;
}

.detail-tabs button.active {
  background: #f0f6f6;
  border-bottom-color: #4a817f;
  color: #315e63;
}

.detail-tab-panel {
  border-radius: 0 0 13px 13px;
  margin-top: 0;
  min-height: 360px;
  padding: 34px clamp(26px, 3vw, 46px) 42px;
}

.detail-attachment-section > header {
  align-items: center;
  margin-bottom: 26px;
  padding-bottom: 20px;
}

.detail-attachment-section > header h2 {
  font-size: 24px;
  margin: 5px 0 7px;
}

.detail-attachment-section > header p {
  font-size: 12px;
  line-height: 1.65;
}

.detail-attachment-section > header > small {
  background: #edf5f5;
  border: 1px solid #d6e5e5;
  border-radius: 999px;
  color: #47777b;
  flex: 0 0 auto;
  font-size: 11px;
  padding: 7px 12px;
}

.detail-attachment-groups {
  gap: 30px;
}

.detail-attachment-groups > section {
  gap: 15px;
}

.detail-attachment-grid {
  gap: 14px;
}

.detail-attachment-grid > a {
  border-radius: 11px;
  gap: 15px;
  min-height: 106px;
  padding: 17px;
}

.detail-attachment-grid strong {
  font-size: 13px;
}

.login-screen {
  background:
    radial-gradient(circle at 12% 10%, rgba(101, 164, 170, 0.15), transparent 25%),
    linear-gradient(135deg, #eef5f5 0%, #f8fbfb 48%, #f2f6f7 100%);
  grid-template-columns: minmax(520px, 1.12fr) minmax(440px, 0.88fr);
}

.login-screen::before {
  background-image:
    linear-gradient(rgba(78, 126, 135, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(78, 126, 135, 0.045) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  pointer-events: none;
  position: absolute;
}

.login-ambient {
  border-color: rgba(77, 137, 144, 0.1);
}

.login-brand {
  gap: 46px;
  padding: 9vh 8vw;
}

.login-mark i {
  background: linear-gradient(180deg, #4c8a91, #77a8ac);
}

.login-brand small {
  color: #4a8086;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.login-brand h1 {
  color: #2b4b5a;
  font-size: clamp(40px, 4.1vw, 60px);
  font-weight: 550;
  letter-spacing: -0.04em;
}

.login-brand > div > p {
  color: #627580;
  font-size: 15px;
  line-height: 1.85;
}

.login-capability {
  align-items: center;
  color: #486674;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 12px;
}

.login-capability i {
  background: #9cb7bd;
  height: 1px;
  width: 28px;
}

.login-panel {
  background: transparent;
  padding: 6vh 6vw;
}

.login-panel form {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(207, 222, 226, 0.96);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(43, 72, 85, 0.12);
  max-width: 430px;
  padding: 38px 40px 34px;
}

.login-panel header {
  margin-bottom: 29px;
}

.login-panel header > span {
  color: #4c858b;
}

.login-panel h2 {
  color: #294553;
  font-size: 29px;
  margin-top: 8px;
}

.login-panel .login-field {
  margin-top: 20px;
}

.login-panel input {
  background: #fbfcfd;
  border-color: #ccdadd;
  border-radius: 8px;
  height: 50px;
}

.login-panel input:focus {
  border-color: #568f94;
  box-shadow: 0 0 0 3px rgba(75, 137, 143, 0.11);
}

.login-password-field {
  position: relative;
}

.login-password-field input {
  padding-right: 64px;
}

.login-password-field button {
  background: transparent;
  border: 0;
  color: #578088;
  font-size: 11px;
  height: 36px;
  padding: 0 11px;
  position: absolute;
  right: 7px;
  top: 7px;
}

.login-hint {
  color: #8a6a33;
  font-size: 11px;
  margin-top: 8px;
}

.login-error {
  background: #fff5f3;
  border-left-color: #bc6656;
  border-radius: 4px;
  line-height: 1.55;
}

.login-panel form > button {
  background: linear-gradient(135deg, #477f86, #5d9699);
  border-color: #477f86;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(63, 119, 126, 0.19);
}

.login-panel form > button:hover {
  background: linear-gradient(135deg, #3e737a, #52898d);
}

.login-panel footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 22px;
  text-align: left;
}

.source-audit-summary {
  background: #f8fafb;
  border: 1px solid #dce5e9;
  border-radius: 11px;
  padding: 17px 18px;
}

.source-audit-summary > header {
  align-items: center;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(180px, 0.8fr) minmax(640px, 2.2fr);
}

.source-audit-summary > header > div {
  display: grid;
  gap: 3px;
}

.source-audit-summary > header strong {
  color: #315461;
  font-size: 13px;
}

.source-audit-summary > header span {
  color: #778992;
  font-size: 10px;
}

.source-audit-summary dl {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(72px, 1fr));
  margin: 0;
}

.source-audit-summary dl > div {
  border-left: 1px solid #dce5e9;
  padding-left: 13px;
}

.source-audit-summary dt {
  color: #3d7078;
  font-size: 18px;
  font-weight: 600;
}

.source-audit-summary dd {
  color: #74868f;
  font-size: 9px;
  margin: 1px 0 0;
}

.source-audit-list {
  border-top: 1px solid #e0e8eb;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 15px;
  padding-top: 15px;
}

.source-audit-list a {
  background: #fff;
  border: 1px solid #e0e7ea;
  border-radius: 8px;
  display: grid;
  gap: 3px;
  padding: 10px 11px;
}

.source-audit-list a > span {
  color: #9a6f35;
  font-size: 11px;
}

.source-audit-list a > strong {
  color: #3c5663;
  font-size: 13px;
  line-height: 1.45;
}

.source-audit-list a > small {
  color: #87959c;
  font-size: 11px;
  line-height: 1.55;
}

.update-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .policy-model-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, 92px);
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications {
    grid-row: 1;
  }

  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-row: 2;
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-sources {
    grid-column: 1;
  }

  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-windows {
    grid-column: 2;
  }

  .policy-model-summary .metric-qualifications {
    grid-column: 3;
  }
}

@media (max-width: 900px) {
  .metric-catalog-layout {
    grid-template-columns: 1fr;
  }

  .metric-navigation {
    max-height: 260px;
    position: static;
  }

  .source-audit-summary > header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .policy-model-summary {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications,
  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-column: 1;
    grid-row: auto;
  }

  .metric-header {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .metric-item,
  .detail-attachment-grid,
  .source-audit-list,
  .update-source-grid {
    grid-template-columns: 1fr;
  }

  .metric-item > a {
    border-left: 0;
    justify-self: start;
    padding: 5px 0 0;
  }
}

.checklist-heading {
  grid-template-columns: minmax(0, 1fr) 104px;
}

.checklist-heading h1 {
  font-size: clamp(28px, 2.35vw, 36px);
  line-height: 1.25;
  max-width: 1160px;
}

/* Desktop release interface: account, metric lists and shared library */
:root {
  --business-ink: #1f2d3d;
  --business-text: #445364;
  --business-muted: #748292;
  --business-line: #dce3e9;
  --business-blue: #1769aa;
  --business-blue-dark: #10558d;
  --business-blue-soft: #edf5fb;
  --business-paper: #ffffff;
  --business-ground: #f5f7f9;
}

.login-loading {
  align-items: center;
  background: #f5f7f9;
  color: var(--business-ink);
  display: flex;
  flex-direction: column;
  font-family: "Microsoft YaHei UI", "Noto Sans SC", "DengXian", sans-serif;
  gap: 9px;
  justify-content: center;
  min-height: 100vh;
}

.login-loading > span {
  animation: loginPulse 1.2s ease-in-out infinite;
  background: var(--business-blue);
  border-radius: 2px;
  height: 3px;
  width: 48px;
}

.login-loading strong {
  font-size: 20px;
  font-weight: 600;
}

.login-loading small {
  color: var(--business-muted);
}

@keyframes loginPulse {
  50% {
    opacity: 0.35;
    transform: scaleX(0.45);
  }
}

.login-screen {
  background:
    linear-gradient(90deg, #eef2f5 0 53%, #fff 53% 100%);
  color: var(--business-ink);
  display: grid;
  font-family: "Microsoft YaHei UI", "Noto Sans SC", "DengXian", sans-serif;
  grid-template-columns: minmax(520px, 1.08fr) minmax(420px, 0.92fr);
  min-height: 100vh;
  overflow: hidden;
  position: relative;
}

.login-ambient {
  border: 1px solid rgba(23, 105, 170, 0.08);
  border-radius: 50%;
  pointer-events: none;
  position: absolute;
}

.login-ambient-one {
  height: 680px;
  left: -260px;
  top: -310px;
  width: 680px;
}

.login-ambient-two {
  bottom: -320px;
  height: 560px;
  left: 26%;
  width: 560px;
}

.login-brand {
  align-content: center;
  display: grid;
  gap: 42px;
  padding: 8vh 9vw 8vh 8vw;
  position: relative;
  z-index: 1;
}

.login-mark {
  align-items: flex-end;
  display: flex;
  gap: 5px;
  height: 36px;
}

.login-mark i {
  background: var(--business-blue);
  border-radius: 1px;
  display: block;
  transform: skewX(-18deg);
  width: 8px;
}

.login-mark i:nth-child(1) {
  height: 20px;
}

.login-mark i:nth-child(2) {
  height: 29px;
}

.login-mark i:nth-child(3) {
  height: 36px;
}

.login-brand small {
  color: var(--business-blue);
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-bottom: 14px;
}

.login-brand h1 {
  font-size: clamp(38px, 4.2vw, 62px);
  font-weight: 560;
  letter-spacing: -0.045em;
  line-height: 1.16;
  margin: 0;
}

.login-brand > div > p {
  color: #5d6b7a;
  font-size: 16px;
  line-height: 1.9;
  margin: 22px 0 0;
  max-width: 620px;
}

.login-brand dl {
  display: grid;
  gap: 0;
  margin: 0;
  max-width: 650px;
}

.login-brand dl > div {
  border-top: 1px solid #d3dce3;
  display: grid;
  gap: 20px;
  grid-template-columns: 92px 1fr;
  padding: 16px 0;
}

.login-brand dt {
  color: #2c3f51;
  font-size: 13px;
  font-weight: 600;
}

.login-brand dd {
  color: #687686;
  font-size: 13px;
  margin: 0;
}

.login-panel {
  align-items: center;
  background: #fff;
  display: flex;
  justify-content: center;
  padding: 7vh 7vw;
  position: relative;
  z-index: 1;
}

.login-panel form {
  max-width: 410px;
  width: 100%;
}

.login-panel header {
  margin-bottom: 38px;
}

.login-panel header > span {
  color: var(--business-blue);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.login-panel h2 {
  font-size: 31px;
  font-weight: 560;
  letter-spacing: -0.035em;
  margin: 9px 0 10px;
}

.login-panel header p {
  color: var(--business-muted);
  font-size: 13px;
  margin: 0;
}

.login-panel label {
  display: block;
  margin-top: 22px;
}

.login-panel label > span {
  color: #465668;
  display: block;
  font-size: 13px;
  font-weight: 550;
  margin-bottom: 9px;
}

.login-panel input {
  background: #fbfcfd;
  border: 1px solid #cfd8e0;
  border-radius: 6px;
  color: var(--business-ink);
  font-size: 14px;
  height: 50px;
  outline: none;
  padding: 0 15px;
  transition: border-color 140ms ease, box-shadow 140ms ease;
  width: 100%;
}

.login-panel input:focus {
  border-color: var(--business-blue);
  box-shadow: 0 0 0 3px rgba(23, 105, 170, 0.09);
}

.login-error {
  background: #fff4f1;
  border-left: 3px solid #c95945;
  color: #8b463a;
  font-size: 12px;
  margin-top: 18px;
  padding: 11px 13px;
}

.login-panel form > button {
  align-items: center;
  background: var(--business-blue);
  border: 1px solid var(--business-blue);
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 50px;
  justify-content: center;
  margin-top: 26px;
  width: 100%;
}

.login-panel form > button:hover {
  background: var(--business-blue-dark);
}

.login-panel form > button:disabled {
  cursor: default;
  opacity: 0.65;
}

.login-panel footer {
  background: transparent;
  color: #8a96a2;
  display: block;
  font-size: 11px;
  grid-template-columns: none;
  height: auto;
  margin-top: 24px;
  min-height: 0;
  padding: 0;
  text-align: center;
  width: auto;
}

.home-toolbar {
  align-items: center;
  display: flex;
  gap: 12px;
}

.home-account-entry {
  align-items: center;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid #d5dfe6;
  border-radius: 7px;
  color: #44586a;
  cursor: pointer;
  display: flex;
  font-size: 12px;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px 0 7px;
}

.home-account-entry > span {
  align-items: center;
  background: var(--business-blue-soft);
  border-radius: 5px;
  color: var(--business-blue);
  display: flex;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.policy-model-summary > button {
  appearance: none;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(195, 209, 218, 0.78);
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 22px;
  text-align: left;
}

.policy-model-summary > button:first-child {
  padding-left: 0;
}

.policy-model-summary > button:last-child {
  border-right: 0;
}

.policy-model-summary > button > span {
  color: #6a7a88;
  font-size: 11px;
  font-weight: 500;
}

.policy-model-summary > button > strong {
  color: #263d50;
  font-size: 28px;
  font-weight: 570;
  line-height: 1.1;
  margin-top: 7px;
}

.policy-model-summary > button > small {
  color: var(--business-blue);
  font-size: 10px;
  margin-top: 5px;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.policy-model-summary > button:hover > small,
.policy-model-summary > button:focus-visible > small {
  opacity: 1;
  transform: translateY(0);
}

.metric-screen {
  background: var(--business-ground);
  color: var(--business-text);
  min-height: 100vh;
  padding: 38px clamp(30px, 5vw, 82px) 34px;
}

.metric-header {
  align-items: end;
  border-bottom: 1px solid var(--business-line);
  display: grid;
  gap: 34px;
  grid-template-columns: 150px 1fr minmax(280px, 0.5fr);
  padding-bottom: 26px;
}

.metric-back {
  align-items: center;
  background: #fff;
  border: 1px solid #d4dee6;
  border-radius: 6px;
  color: #4d6071;
  cursor: pointer;
  display: inline-flex;
  gap: 7px;
  height: 38px;
  justify-content: center;
}

.metric-header > div > span {
  color: var(--business-blue);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.metric-header h1 {
  color: var(--business-ink);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 560 !important;
  letter-spacing: -0.035em;
  margin: 5px 0 6px;
}

.metric-header p {
  color: var(--business-muted);
  font-size: 12px;
  margin: 0;
}

.metric-header label > span {
  color: #6e7d8b;
  display: block;
  font-size: 11px;
  margin-bottom: 7px;
}

.metric-header input {
  background: #fff;
  border: 1px solid #d1dbe3;
  border-radius: 6px;
  color: var(--business-ink);
  height: 42px;
  outline: none;
  padding: 0 13px;
  width: 100%;
}

.metric-header input:focus {
  border-color: var(--business-blue);
  box-shadow: 0 0 0 3px rgba(23, 105, 170, 0.08);
}

.metric-list {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.metric-item {
  align-items: center;
  background: #fff;
  border: 1px solid #e0e6eb;
  border-radius: 7px;
  display: grid;
  gap: 18px;
  grid-template-columns: 40px 1fr auto;
  min-height: 82px;
  padding: 13px 16px;
}

.metric-item > span {
  color: #9aa6b0;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  text-align: center;
}

.metric-item small {
  color: #7b8996;
  display: block;
  font-size: 10px;
}

.metric-item h2 {
  color: #2c3f51;
  font-size: 14px;
  font-weight: 590 !important;
  line-height: 1.45;
  margin: 3px 0;
}

.metric-item p {
  color: #697886;
  font-size: 11px;
  line-height: 1.55;
  margin: 0;
}

.metric-item > a {
  align-items: center;
  color: var(--business-blue);
  display: inline-flex;
  font-size: 11px;
  gap: 5px;
  padding: 10px;
  text-decoration: none;
  white-space: nowrap;
}

.metric-empty {
  background: #fff;
  border: 1px dashed #d5dfe6;
  color: #7a8895;
  padding: 50px;
  text-align: center;
}

.metric-pagination {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
}

.metric-pagination > span {
  color: #7b8996;
  font-size: 11px;
}

.metric-pagination > div {
  display: flex;
  gap: 8px;
}

.metric-pagination button {
  background: #fff;
  border: 1px solid #d3dde5;
  border-radius: 5px;
  color: #4c6072;
  cursor: pointer;
  height: 34px;
  min-width: 74px;
}

.metric-pagination button:disabled {
  cursor: default;
  opacity: 0.42;
}

.account-overlay {
  align-items: center;
  background: rgba(30, 42, 53, 0.32);
  backdrop-filter: blur(7px);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 26px;
  position: fixed;
  z-index: 1100;
}

.account-center {
  background: #f7f9fa;
  border: 1px solid #dbe3e9;
  border-radius: 12px;
  box-shadow: 0 28px 80px rgba(31, 45, 61, 0.2);
  max-height: calc(100vh - 52px);
  max-width: 980px;
  overflow: auto;
  padding: 0 26px 26px;
  width: 100%;
}

.account-center > header {
  align-items: center;
  background: rgba(247, 249, 250, 0.97);
  border-bottom: 1px solid var(--business-line);
  display: flex;
  justify-content: space-between;
  padding: 22px 0 17px;
  position: sticky;
  top: 0;
  z-index: 2;
}

.account-center > header span {
  color: var(--business-blue);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.account-center > header h2 {
  color: var(--business-ink);
  font-size: 23px;
  font-weight: 570 !important;
  margin: 4px 0 0;
}

.account-center > header > button {
  background: #fff;
  border: 1px solid #d5dfe6;
  border-radius: 50%;
  color: #657483;
  cursor: pointer;
  font-family: Arial, sans-serif;
  font-size: 21px;
  font-weight: 300;
  height: 34px;
  width: 34px;
}

.account-current {
  align-items: center;
  background: #fff;
  border: 1px solid var(--business-line);
  border-radius: 8px;
  display: grid;
  gap: 13px;
  grid-template-columns: 42px 1fr auto;
  margin-top: 20px;
  padding: 14px 16px;
}

.account-current > span,
.account-list article > span {
  align-items: center;
  background: var(--business-blue-soft);
  border-radius: 6px;
  color: var(--business-blue);
  display: flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.account-current strong,
.account-list strong {
  color: #2d4052;
  display: block;
  font-size: 13px;
}

.account-current small,
.account-list small {
  color: #7b8995;
  display: block;
  font-size: 10px;
  margin-top: 3px;
}

.account-current > button,
.library-status-card button,
.account-list button,
.account-create button {
  background: #fff;
  border: 1px solid #d2dce4;
  border-radius: 5px;
  color: #4f6273;
  cursor: pointer;
  font-size: 11px;
  min-height: 34px;
  padding: 0 12px;
}

.library-status-card {
  background: #fff;
  border: 1px solid var(--business-line);
  border-radius: 8px;
  margin-top: 14px;
  padding: 17px;
}

.library-status-card > header {
  align-items: start;
  display: flex;
  justify-content: space-between;
}

.library-status-card h3,
.account-management h3 {
  color: #2c4052;
  font-size: 14px;
  font-weight: 590 !important;
  margin: 0;
}

.library-status-card p {
  color: #7b8996;
  font-size: 10px;
  margin: 5px 0 0;
}

.library-status-card dl {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, 1fr);
  margin: 17px 0 12px;
}

.library-status-card dl > div {
  background: #f7f9fa;
  border-left: 2px solid #abc8dc;
  padding: 11px 12px;
}

.library-status-card dt {
  color: #2b4c65;
  font-size: 20px;
  font-weight: 580;
}

.library-status-card dd {
  color: #788694;
  font-size: 10px;
  margin: 3px 0 0;
}

.library-status-card > small {
  color: #788694;
  font-size: 10px;
}

.account-management {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.65fr 0.8fr;
  margin-top: 14px;
}

.account-list,
.account-create {
  background: #fff;
  border: 1px solid var(--business-line);
  border-radius: 8px;
  padding: 17px;
}

.account-list article {
  align-items: center;
  border-top: 1px solid #e7ecef;
  display: grid;
  gap: 10px;
  grid-template-columns: 34px 1fr auto auto;
  margin-top: 12px;
  padding-top: 12px;
}

.account-list article > span {
  height: 32px;
  width: 32px;
}

.account-list button:disabled,
.account-create button:disabled,
.library-status-card button:disabled {
  cursor: default;
  opacity: 0.45;
}

.account-create {
  display: grid;
  gap: 9px;
}

.account-create input,
.account-create select {
  background: #fbfcfd;
  border: 1px solid #d2dce4;
  border-radius: 5px;
  color: #354a5c;
  font-size: 11px;
  min-height: 37px;
  padding: 0 10px;
}

.account-create button {
  background: var(--business-blue);
  border-color: var(--business-blue);
  color: #fff;
  margin-top: 3px;
}

.account-message {
  background: #edf5fb;
  border-left: 3px solid var(--business-blue);
  color: #3f617d;
  font-size: 11px;
  margin-top: 14px;
  padding: 10px 12px;
}

@media (max-width: 980px) {
  .login-screen {
    background: #fff;
    grid-template-columns: 1fr;
  }

  .login-brand {
    display: none;
  }

  .metric-header {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .metric-back {
    max-width: 140px;
  }

  .account-management {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .policy-model-summary > button {
    border-bottom: 1px solid #dbe3e8;
    border-right: 0;
    padding: 12px 0;
  }

  .metric-item {
    grid-template-columns: 32px 1fr;
  }

  .metric-item > a {
    grid-column: 2;
    justify-self: start;
    padding: 0;
  }

  .library-status-card dl {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 1.14 desktop presentation */
.workflow-app {
  --surface: rgba(255, 255, 255, 0.96);
  --surface-muted: #f5f8fa;
  --text-primary: #253f50;
  --text-secondary: #5f7481;
  --accent: #4f8d94;
  --accent-soft: #eaf3f4;
  --border-soft: #dce6eb;
  font-synthesis: none;
}

.interface-icon circle,
.interface-icon rect,
.interface-icon polyline {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.45;
  vector-effect: non-scaling-stroke;
}

.policy-model-summary {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, 72px);
  overflow: visible;
}

.policy-model-summary > button {
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #d8e3e7;
  border-radius: 11px;
  box-shadow: 0 12px 34px rgba(48, 76, 91, 0.055);
  color: var(--text-primary);
  display: grid;
  gap: 12px;
  grid-template-columns: 38px minmax(0, 1fr) auto auto;
  min-height: 0;
  padding: 12px 15px;
  position: relative;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.policy-model-summary > button:first-child,
.policy-model-summary > button:last-child {
  padding: 12px 15px;
}

.policy-model-summary > button:hover,
.policy-model-summary > button:focus-visible {
  border-color: #a9c7ce;
  box-shadow: 0 16px 38px rgba(48, 76, 91, 0.09);
  outline: 0;
  transform: translateY(-1px);
}

.policy-model-summary .metric-routes {
  grid-column: 1 / 5;
  grid-row: 1;
}

.policy-model-summary .metric-directions {
  grid-column: 5 / 9;
  grid-row: 1;
}

.policy-model-summary .metric-qualifications {
  grid-column: 1 / 5;
  grid-row: 2;
}

.policy-model-summary .metric-sources {
  grid-column: 5 / 9;
  grid-row: 2;
}

.policy-model-summary .metric-windows {
  background:
    linear-gradient(135deg, rgba(238, 247, 247, 0.98), rgba(255, 255, 255, 0.96));
  border-color: #bdd3d8;
  grid-column: 9 / 13;
  grid-row: 1 / 3;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  padding: 18px 20px;
}

.policy-model-summary > button > i {
  align-items: center;
  background: var(--accent-soft);
  border: 1px solid #d7e7e9;
  border-radius: 9px;
  color: #4d858c;
  display: flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.policy-model-summary > button > i .interface-icon {
  height: 20px;
  width: 20px;
}

.policy-model-summary > button > span {
  color: inherit;
  min-width: 0;
}

.policy-model-summary > button > span > b {
  color: #304b5a;
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.policy-model-summary > button > span > small {
  color: #7a8c96;
  display: block;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 3px;
}

.policy-model-summary > button > strong {
  color: #315666;
  font-size: 25px;
  font-weight: 600;
  line-height: 1;
  margin: 0;
}

.policy-model-summary > button > em {
  color: #69919a;
  font-size: 10px;
  font-style: normal;
  opacity: 0;
  transform: translateX(-3px);
  transition:
    opacity 150ms ease,
    transform 150ms ease;
}

.policy-model-summary > button:hover > em,
.policy-model-summary > button:focus-visible > em {
  opacity: 1;
  transform: translateX(0);
}

.policy-model-summary .metric-windows > i {
  grid-column: 1;
  grid-row: 1 / 3;
}

.policy-model-summary .metric-windows > span {
  grid-column: 2;
  grid-row: 1;
}

.policy-model-summary .metric-windows > strong {
  align-self: end;
  color: #3d7d83;
  font-size: 40px;
  grid-column: 1 / 3;
  grid-row: 2;
  margin-top: 12px;
}

.policy-model-summary .metric-windows > em {
  grid-column: 1 / 3;
  grid-row: 3;
  opacity: 1;
  transform: none;
}

.metric-screen {
  padding: 30px clamp(28px, 4.4vw, 72px) 48px;
}

.metric-header {
  align-items: center;
  gap: 26px;
  grid-template-columns: 132px minmax(0, 1fr) minmax(280px, 380px);
  padding-bottom: 22px;
}

.metric-header h1 {
  font-size: clamp(31px, 2.8vw, 42px);
  font-weight: 580 !important;
  letter-spacing: -0.025em;
}

.metric-header p {
  font-size: 12px;
}

.metric-catalog-layout {
  align-items: start;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(210px, 244px) minmax(0, 1fr);
  margin-top: 24px;
}

.metric-navigation {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  box-shadow: 0 14px 38px rgba(48, 76, 91, 0.055);
  max-height: calc(100vh - 52px);
  overflow: auto;
  padding: 16px;
  position: sticky;
  top: 18px;
}

.metric-navigation > header {
  align-items: center;
  border-bottom: 1px solid #e5ecef;
  display: flex;
  justify-content: space-between;
  padding: 0 2px 12px;
}

.metric-navigation > header span {
  color: #415e6e;
  font-size: 13px;
  font-weight: 600;
}

.metric-navigation > header strong {
  color: #69818e;
  font-size: 11px;
  font-weight: 500;
}

.metric-navigation nav > section {
  border-bottom: 1px solid #edf1f3;
  padding: 12px 0;
}

.metric-navigation nav > section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.metric-navigation nav > section > a {
  align-items: center;
  color: #355463;
  display: flex;
  font-size: 12px;
  font-weight: 600;
  justify-content: space-between;
  padding: 4px 2px 7px;
}

.metric-navigation nav > section > a b {
  color: #66818c;
  font-size: 10px;
  font-weight: 500;
}

.metric-navigation nav > section > div {
  display: grid;
  gap: 1px;
}

.metric-navigation nav > section > div a {
  align-items: start;
  border-radius: 6px;
  color: #6a7d88;
  display: flex;
  font-size: 10px;
  gap: 8px;
  justify-content: space-between;
  line-height: 1.45;
  padding: 6px 7px;
}

.metric-navigation nav > section > div a:hover {
  background: #eef5f6;
  color: #3f747a;
}

.metric-navigation nav small {
  color: #91a0a8;
  flex: 0 0 auto;
  font-size: 9px;
}

.metric-groups {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.metric-primary-group {
  scroll-margin-top: 18px;
}

.metric-primary-group > header {
  align-items: end;
  border-bottom: 1px solid #ccdce3;
  display: grid;
  gap: 3px 12px;
  grid-template-columns: 1fr auto;
  margin-bottom: 12px;
  padding: 0 3px 11px;
}

.metric-primary-group > header span {
  color: #648890;
  font-size: 9px;
  font-weight: 600;
  grid-column: 1;
  letter-spacing: 0.08em;
}

.metric-primary-group > header h2 {
  color: #294959;
  font-size: 23px;
  font-weight: 590 !important;
  grid-column: 1;
  margin: 0;
}

.metric-primary-group > header strong {
  color: #6d818b;
  font-size: 11px;
  font-weight: 500;
  grid-column: 2;
  grid-row: 1 / 3;
}

.metric-secondary-group {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  box-shadow: 0 12px 36px rgba(48, 76, 91, 0.045);
  margin-bottom: 12px;
  overflow: hidden;
  scroll-margin-top: 18px;
}

.metric-secondary-group > header {
  align-items: center;
  background: #f6f9fa;
  border-bottom: 1px solid #e2eaee;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 12px 16px;
}

.metric-secondary-group > header h3 {
  color: #3b5867;
  font-size: 13px;
  font-weight: 600 !important;
  line-height: 1.45;
  margin: 0;
}

.metric-secondary-group > header span {
  color: #7c8e97;
  flex: 0 0 auto;
  font-size: 10px;
}

.metric-list {
  gap: 0;
  margin: 0;
}

.metric-item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #edf1f3;
  border-radius: 0;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 14px 16px;
}

.metric-item:last-child {
  border-bottom: 0;
}

.metric-item h4 {
  color: #304c5c;
  font-size: 13px;
  font-weight: 590 !important;
  line-height: 1.55;
  margin: 4px 0;
}

.metric-item p {
  color: #647984;
  font-size: 11px;
  line-height: 1.65;
}

.metric-item > a {
  align-self: center;
  border-left: 1px solid #e4eaed;
  color: #4d858c;
  padding: 8px 2px 8px 18px;
}

.candidate-application-node {
  background: linear-gradient(135deg, #f1f7f8, #fbfcfd);
  border: 1px solid #d8e6e9;
  border-left: 3px solid #6aa0a6;
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 14px 0;
  padding: 14px 15px;
}

.candidate-application-node > span {
  color: #6a808b;
  font-size: 10px;
  grid-column: 1;
}

.candidate-application-node > strong {
  color: #315563;
  font-size: 17px;
  font-weight: 590;
  grid-column: 1;
}

.candidate-application-node > small {
  color: #647a85;
  font-size: 11px;
  grid-column: 1 / 3;
  line-height: 1.6;
}

.candidate-application-node > a {
  align-items: center;
  color: #4d848b;
  display: inline-flex;
  font-size: 10px;
  gap: 5px;
  grid-column: 2;
  grid-row: 1 / 3;
}

.candidate-application-node.inferred {
  background: linear-gradient(135deg, #fbf7ee, #fff);
  border-color: #e8dcc2;
  border-left-color: #b6975c;
}

.candidate-application-node.inferred > strong,
.candidate-application-node.inferred > a {
  color: #896d38;
}

.detail-decision > strong {
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.25;
  max-width: 340px;
}

.detail-decision > em {
  max-width: 360px;
}

.detail-tabs {
  overflow-x: auto;
}

.detail-tabs button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.detail-attachment-section > header {
  align-items: end;
  border-bottom: 1px solid #dde6ea;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.detail-attachment-section > header span {
  color: #4f898f;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.detail-attachment-section > header h2 {
  color: #304d5c;
  font-size: 21px;
  font-weight: 590 !important;
  margin: 3px 0;
}

.detail-attachment-section > header p {
  color: #6c7f89;
  font-size: 11px;
  margin: 0;
}

.detail-attachment-section > header > strong {
  color: #4f858b;
  font-size: 26px;
  font-weight: 590;
}

.detail-attachment-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-attachment-groups {
  display: grid;
  gap: 24px;
}

.detail-attachment-groups > section {
  display: grid;
  gap: 12px;
}

.detail-attachment-groups > section > header {
  align-items: center;
  border-bottom: 1px solid #dde6ea;
  display: flex;
  justify-content: space-between;
  padding-bottom: 9px;
}

.detail-attachment-groups > section > header h3 {
  color: #304d5c;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
}

.detail-attachment-groups > section > header span {
  color: #738891;
  font-size: 11px;
  font-weight: 500;
}

.detail-attachment-grid > a {
  align-items: center;
  background: #f8fafb;
  border: 1px solid #dce5e9;
  border-radius: 10px;
  display: grid;
  gap: 13px;
  grid-template-columns: 40px minmax(0, 1fr) 18px;
  padding: 15px;
  transition:
    border-color 150ms ease,
    background 150ms ease;
}

.detail-attachment-grid > a:hover {
  background: #f2f7f8;
  border-color: #a9c8cd;
}

.detail-attachment-grid > a > i {
  align-items: center;
  background: #e9f3f4;
  border-radius: 8px;
  color: #4d858b;
  display: flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.detail-attachment-grid small {
  color: #7b8d96;
  display: block;
  font-size: 9px;
  line-height: 1.45;
}

.detail-attachment-grid strong {
  color: #345261;
  display: block;
  font-size: 12px;
  font-weight: 590;
  line-height: 1.55;
  margin-top: 4px;
}

.detail-attachment-grid span {
  color: #4f878d;
  display: block;
  font-size: 10px;
  margin-top: 7px;
}

.detail-attachment-grid > a > .interface-icon {
  color: #6f8791;
}

@media (max-width: 1050px) {
  .policy-model-summary {
    grid-template-rows: repeat(3, 72px);
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-qualifications {
    grid-column: 1 / 7;
  }

  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-sources {
    grid-column: 7 / 13;
  }

  .policy-model-summary .metric-windows {
    grid-column: 1 / 13;
    grid-row: 3;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    grid-template-rows: auto;
  }

  .policy-model-summary .metric-windows > i,
  .policy-model-summary .metric-windows > span,
  .policy-model-summary .metric-windows > strong,
  .policy-model-summary .metric-windows > em {
    grid-column: auto;
    grid-row: auto;
    margin: 0;
  }

  .policy-model-summary .metric-windows > strong {
    font-size: 30px;
  }
}

@media (max-width: 820px) {
  .metric-catalog-layout {
    grid-template-columns: 1fr;
  }

  .metric-navigation {
    max-height: 240px;
    position: static;
  }

  .detail-attachment-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .policy-model-summary {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .policy-model-summary > button,
  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications,
  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-column: 1;
    grid-row: auto;
  }

  .metric-item {
    grid-template-columns: 1fr;
  }

  .metric-item > a {
    border-left: 0;
    justify-self: start;
    padding: 4px 0;
  }
}

/* Release cascade — keep this block last */
.workflow-app {
  --business-blue: #4c8389;
  --business-blue-dark: #346b72;
  --business-blue-soft: #edf5f5;
  --business-ink: #263f4c;
  --business-text: #637681;
  --business-muted: #788a93;
  --business-line: #dbe5e9;
  --business-ground: #f5f8f9;
  font-family:
    "Microsoft YaHei UI",
    "Noto Sans SC",
    "PingFang SC",
    sans-serif;
  font-weight: 400;
}

.workflow-home {
  background:
    radial-gradient(circle at 88% 3%, rgba(92, 151, 157, 0.1), transparent 27%),
    radial-gradient(circle at 7% 96%, rgba(187, 160, 107, 0.055), transparent 22%),
    linear-gradient(145deg, #fdfefe 0%, #f1f6f7 64%, #fafcfc 100%);
}

.policy-model-summary {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: 96px;
  overflow: visible;
}

.policy-model-summary .metric-routes,
.policy-model-summary .metric-directions,
.policy-model-summary .metric-qualifications,
.policy-model-summary .metric-sources,
.policy-model-summary .metric-windows {
  grid-column: auto;
  grid-row: 1;
}

.policy-model-summary > button,
.policy-model-summary > button:first-child,
.policy-model-summary > button:last-child,
.policy-model-summary .metric-windows {
  align-items: center;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #dbe5e9;
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(44, 71, 83, 0.055);
  display: grid;
  gap: 7px 11px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  grid-template-rows: auto;
  padding: 16px;
  text-align: left;
}

.policy-model-summary .metric-windows {
  background: linear-gradient(135deg, #edf6f6, #fff);
  border-color: #c5d9dc;
}

.policy-model-summary > button > i,
.policy-model-summary .metric-windows > i {
  align-items: center;
  background: #edf5f5;
  border: 1px solid #d7e6e7;
  border-radius: 9px;
  color: #4b858b;
  display: flex;
  grid-column: 1;
  grid-row: 1;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.policy-model-summary > button > span,
.policy-model-summary .metric-windows > span {
  color: inherit;
  display: block;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.policy-model-summary > button > span > b {
  color: #304d5b;
  display: block;
  font-size: 13px;
  font-weight: 560;
  line-height: 1.35;
}

.policy-model-summary > button > span > small {
  color: #7a8b94;
  display: block;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.45;
  margin-top: 4px;
}

.policy-model-summary > button > strong,
.policy-model-summary .metric-windows > strong {
  align-self: center;
  color: #3c7178;
  font-size: 28px;
  font-weight: 550;
  grid-column: 3;
  grid-row: 1;
  line-height: 1;
  margin: 0;
}

.policy-model-summary > button > em,
.policy-model-summary .metric-windows > em,
.policy-model-summary > button > small {
  display: none;
}

.metric-screen {
  background: linear-gradient(180deg, #f7fafb, #f3f7f8);
  color: #637681;
  margin: 0 auto;
  max-width: 1920px;
  min-height: 100vh;
  padding: 34px clamp(30px, 4vw, 72px) 62px;
}

.metric-header {
  align-items: end;
  border-bottom: 1px solid #d9e4e8;
  gap: 32px;
  grid-template-columns: 138px minmax(0, 1fr) minmax(290px, 390px);
  padding-bottom: 25px;
}

.metric-header h1 {
  color: #284654;
  font-size: clamp(30px, 2.7vw, 41px);
  font-weight: 590 !important;
  line-height: 1.22;
  margin: 5px 0 8px;
}

.metric-header input {
  border-radius: 9px;
  height: 46px;
}

.metric-catalog-layout {
  gap: 30px;
  grid-template-columns: 238px minmax(0, 1fr);
  margin-top: 28px;
}

.metric-navigation {
  border-radius: 13px;
  box-shadow: 0 14px 38px rgba(43, 74, 87, 0.05);
  padding: 18px;
}

.metric-groups {
  gap: 28px;
}

.metric-primary-group > header {
  margin-bottom: 15px;
  padding: 0 4px 13px;
}

.metric-secondary-group {
  border-radius: 13px;
  box-shadow: 0 13px 38px rgba(43, 74, 87, 0.045);
  margin-bottom: 16px;
}

.metric-secondary-group > header {
  min-height: 52px;
  padding: 14px 20px;
}

.metric-list {
  display: block;
  margin: 0;
}

.metric-item {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #edf1f3;
  border-radius: 0;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 20px;
}

.metric-item:last-child {
  border-bottom: 0;
}

.metric-item h4 {
  color: #304e5d;
  font-size: 14px;
  line-height: 1.55;
  margin: 6px 0 8px;
}

.metric-item p {
  color: #617681;
  font-size: 12px;
  line-height: 1.72;
  margin: 0;
}

.metric-item > a {
  border-left: 1px solid #e2e9ec;
  color: #4c8389;
  min-width: 108px;
  padding: 9px 2px 9px 22px;
}

.metric-window-nodes {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-top: 13px;
}

.metric-window-nodes > span {
  background: #f7fafb;
  border: 1px solid #e0e8eb;
  border-left: 3px solid #a8bbc2;
  border-radius: 8px;
  display: grid;
  gap: 3px;
  min-height: 84px;
  padding: 11px 12px;
}

.metric-window-nodes > span.applicant {
  background: #eef7f6;
  border-color: #d1e4e2;
  border-left-color: #4f8a89;
}

.metric-window-nodes b {
  color: #536d77;
  font-size: 10px;
}

.metric-window-nodes i {
  color: #2f5965;
  font-size: 14px;
  font-style: normal;
  font-weight: 590;
  line-height: 1.4;
}

.metric-window-nodes small {
  color: #74858d;
  font-size: 10px;
  line-height: 1.5;
}

.login-screen {
  background:
    radial-gradient(circle at 12% 10%, rgba(101, 164, 170, 0.13), transparent 26%),
    linear-gradient(135deg, #eef5f5 0%, #f8fbfb 49%, #f2f6f7 100%);
  color: #294553;
  grid-template-columns: minmax(520px, 1.12fr) minmax(440px, 0.88fr);
}

.login-screen::before {
  background-image:
    linear-gradient(rgba(77, 130, 137, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77, 130, 137, 0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  pointer-events: none;
  position: absolute;
}

.login-brand {
  gap: 46px;
  padding: 9vh 8vw;
}

.login-mark i {
  background: linear-gradient(180deg, #4b858b, #7ca7ab);
}

.login-brand small {
  color: #4a8086;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.login-brand h1 {
  color: #294b59;
  font-size: clamp(40px, 4.1vw, 60px);
  font-weight: 550;
}

.login-brand > div > p {
  color: #627580;
  font-size: 15px;
  line-height: 1.85;
}

.login-capability {
  align-items: center;
  color: #496975;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 12px;
}

.login-capability i {
  background: #9eb8bd;
  height: 1px;
  width: 28px;
}

.login-panel {
  background: transparent;
  padding: 6vh 6vw;
}

.login-panel form {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(207, 222, 226, 0.98);
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(43, 72, 85, 0.12);
  max-width: 430px;
  padding: 38px 40px 34px;
}

.login-panel header {
  margin-bottom: 29px;
}

.login-panel header > span {
  color: #4c858b;
}

.login-panel h2 {
  color: #294553;
  font-size: 29px;
}

.login-panel .login-field {
  margin-top: 20px;
}

.login-panel input {
  background: #fbfcfd;
  border-color: #ccdadd;
  border-radius: 8px;
  height: 50px;
}

.login-panel input:focus {
  border-color: #568f94;
  box-shadow: 0 0 0 3px rgba(75, 137, 143, 0.11);
}

.login-panel form > button {
  background: linear-gradient(135deg, #477f86, #5d9699);
  border-color: #477f86;
  border-radius: 8px;
  box-shadow: 0 12px 26px rgba(63, 119, 126, 0.19);
}

.login-panel footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 22px;
  text-align: left;
}

.candidate-card {
  padding: 27px;
}

.candidate-application-node {
  border-radius: 9px;
  gap: 7px;
  margin: 17px 0;
  padding: 16px 17px;
}

.detail-tabs {
  border: 1px solid #dbe5e9;
  border-bottom: 0;
  border-radius: 13px 13px 0 0;
  gap: 5px;
  margin-top: 34px;
  padding: 8px 12px 0;
}

.detail-tabs button {
  flex: 1 0 140px;
  min-height: 56px;
  padding: 0 18px;
}

.detail-tab-panel {
  border-radius: 0 0 13px 13px;
  margin-top: 0;
  min-height: 360px;
  padding: 34px clamp(26px, 3vw, 46px) 42px;
}

.detail-attachment-section > header {
  align-items: center;
  margin-bottom: 26px;
  padding-bottom: 20px;
}

.detail-attachment-section > header h2 {
  font-size: 24px;
}

.detail-attachment-grid {
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-attachment-grid > a {
  border-radius: 11px;
  min-height: 106px;
  padding: 17px;
}

.source-audit-summary {
  background: #f8fafb;
  border: 1px solid #dce5e9;
  border-radius: 11px;
  padding: 17px 18px;
}

.source-audit-summary > header {
  grid-template-columns: minmax(180px, 0.8fr) minmax(640px, 2.2fr);
}

.source-audit-summary dl {
  grid-template-columns: repeat(4, minmax(88px, 1fr));
}

.source-audit-list,
.update-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .policy-model-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, 96px);
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications {
    grid-row: 1;
  }

  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-row: 2;
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-sources {
    grid-column: 1;
  }

  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-windows {
    grid-column: 2;
  }

  .policy-model-summary .metric-qualifications {
    grid-column: 3;
  }
}

@media (max-width: 900px) {
  .metric-catalog-layout {
    grid-template-columns: 1fr;
  }

  .metric-navigation {
    max-height: 260px;
    position: static;
  }

  .source-audit-summary > header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .policy-model-summary {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .policy-model-summary .metric-routes,
  .policy-model-summary .metric-directions,
  .policy-model-summary .metric-qualifications,
  .policy-model-summary .metric-sources,
  .policy-model-summary .metric-windows {
    grid-column: 1;
    grid-row: auto;
  }

  .metric-header,
  .metric-item,
  .detail-attachment-grid,
  .source-audit-list,
  .update-source-grid {
    grid-template-columns: 1fr;
  }

  .metric-item > a {
    border-left: 0;
    justify-self: start;
    padding: 5px 0 0;
  }
}

.workflow-app {
  --desk-ink: #253f50;
  --desk-text: #405968;
  --desk-muted: #6f818c;
  --desk-line: #dce5e9;
  --desk-accent: #4f8790;
  background: #f5f8f9;
  color: var(--desk-text);
}

.workflow-app,
.workflow-app button,
.workflow-app input,
.workflow-app select,
.workflow-app textarea {
  font-family: "Microsoft YaHei UI", "HarmonyOS Sans SC", "Noto Sans SC", "DengXian", sans-serif;
}

.workflow-app h1,
.workflow-app h2,
.workflow-app h3,
.workflow-app h4 {
  color: var(--desk-ink);
  font-weight: 560 !important;
}

.workflow-header {
  background: rgba(253, 254, 254, 0.97);
  border-bottom-color: #e1e8eb;
  box-shadow: 0 7px 26px rgba(53, 79, 94, 0.045);
}

.workflow-screen:not(.workflow-home) {
  background:
    radial-gradient(circle at 92% 2%, rgba(111, 165, 175, 0.075), transparent 25%),
    linear-gradient(180deg, #f8fafb 0%, #f3f7f8 100%);
}

.workflow-page-heading {
  align-items: center;
  border-bottom: 1px solid #e0e8eb;
  column-gap: clamp(28px, 4vw, 70px);
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
  margin-bottom: 32px;
  padding-bottom: 25px;
  row-gap: 18px;
}

.workflow-page-heading .back-action {
  grid-column: 1 / -1;
  justify-self: start;
  margin: 0;
}

.candidate-heading > div {
  grid-column: 1 / -1;
}

.workflow-page-heading h1,
.checklist-heading h1,
.detail-title h1 {
  color: var(--desk-ink);
  font-size: clamp(32px, 2.8vw, 43px);
  font-weight: 540 !important;
  letter-spacing: -0.035em;
  line-height: 1.18;
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workflow-page-heading h1.route-heading-long,
.checklist-heading h1.route-heading-long,
.detail-title h1.route-heading-long {
  font-size: clamp(28px, 2.35vw, 36px);
}

.workflow-page-heading h1.route-heading-compact,
.checklist-heading h1.route-heading-compact,
.detail-title h1.route-heading-compact {
  font-size: clamp(24px, 2vw, 31px);
}

.workflow-page-heading > div > span,
.workflow-page-heading > span,
.detail-title > div,
.detail-title > small {
  color: #5c8c92;
  font-size: 11px;
  font-weight: 580;
  letter-spacing: 0.08em;
}

.workflow-page-heading > p,
.workflow-page-heading > div > p {
  color: var(--desk-muted);
  font-size: 14px;
  line-height: 1.75;
}

.checklist-heading {
  grid-template-columns: minmax(0, 1fr) 150px;
}

.checklist-heading > div,
.detail-title {
  min-width: 0;
}

.checklist-progress {
  align-self: center;
  justify-self: end;
  min-width: 132px;
  text-align: right;
}

.profile-panel,
.candidate-card,
.uncertain-route-column,
.near-miss-routes,
.checklist-one-page,
.detail-tab-panel,
.detail-summary > article,
.detail-conclusion > article {
  border-color: var(--desk-line);
  border-radius: 12px;
  box-shadow: 0 14px 42px rgba(54, 79, 92, 0.055);
}

.profile-panel {
  padding: 28px 30px 31px;
}

.profile-fields {
  gap: 22px 25px;
}

.profile-panel input:not([type="range"]):not([type="radio"]),
.profile-panel select,
.profile-panel textarea {
  background: #fcfdfd;
  border-color: #cedbe1;
  border-radius: 7px;
  color: #304a59;
  min-height: 50px;
}

.candidate-level-summary {
  gap: 14px;
  margin-bottom: 24px;
}

.candidate-level-summary article {
  border: 1px solid var(--desk-line);
  border-left: 3px solid #76a4aa;
  border-radius: 10px;
  min-height: 82px;
  padding: 17px 20px;
}

.candidate-grid {
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.candidate-card,
.candidate-card:only-child {
  max-width: none;
  padding: 28px 29px;
}

.candidate-card h2 {
  font-size: 18px;
  font-weight: 570 !important;
  letter-spacing: -0.015em;
  line-height: 1.55;
}

.candidate-card > ul {
  color: #4d6573;
  font-size: 13px;
  line-height: 1.82;
}

.checklist-one-page {
  padding: clamp(22px, 2.5vw, 34px);
}

.checklist-group {
  background: #f7fafb;
  border-color: #e0e8eb;
  border-radius: 11px;
  margin-bottom: 24px;
  padding: 23px;
}

.route-check-grid {
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.route-check-item {
  border-radius: 9px;
  min-height: 238px;
  padding: 21px 22px;
}

.route-check-item > p {
  color: #435d6b;
  font-size: 14px;
  line-height: 1.8;
}

.detail-hero {
  align-items: center;
  gap: 26px;
  grid-template-columns: 54px minmax(0, 1fr) minmax(270px, 0.3fr);
  min-height: 170px;
  padding: 15px 0 31px;
}

.detail-rank {
  background: #557f8b;
  border-radius: 7px;
  font-size: 16px;
  font-weight: 600;
  height: 54px;
  width: 54px;
}

.detail-title h1 {
  margin-top: 14px;
}

.detail-title > small {
  display: block;
  margin-top: 9px;
}

.detail-decision {
  border-left-color: #dce5e8;
  min-height: 132px;
  padding-left: 25px;
}

.detail-summary,
.detail-conclusion {
  gap: 16px;
}

.detail-summary > article,
.detail-conclusion > article {
  padding: 23px 24px;
}

.detail-tabs {
  background: #f8fafb;
  border-color: var(--desk-line);
}

.detail-tabs button {
  color: #5b7180;
  font-size: 14px;
  font-weight: 560;
}

.detail-tabs button.active {
  background: #eef5f6;
  color: #467982;
}

.detail-action-grid {
  gap: 20px;
}

.detail-action-grid > article {
  border-color: #dfe7ea;
  border-radius: 10px;
  padding: 25px;
}

.detail-action-grid > article > header > span {
  display: none;
}

.detail-action-grid > article > header {
  grid-template-columns: 1fr;
}

.detail-action-grid h2 {
  font-size: 21px;
  font-weight: 560 !important;
}

.policy-feed-window {
  backface-visibility: hidden;
  contain: strict;
  transform: translate3d(0, 0, 0);
}

.policy-feed-stack {
  animation-timing-function: linear;
  backface-visibility: hidden;
  contain: layout paint style;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.policy-feed-item {
  transform: translateZ(0);
}

.login-brand h1 {
  color: var(--desk-ink);
  font-size: clamp(40px, 3.8vw, 56px);
  font-weight: 530;
  letter-spacing: -0.035em;
}

.login-panel form {
  border-color: #d4e0e4;
  border-radius: 14px;
  box-shadow: 0 28px 72px rgba(49, 76, 90, 0.105);
  padding: 39px 41px 35px;
}

.login-panel h2 {
  color: var(--desk-ink);
  font-size: 28px;
  font-weight: 550 !important;
}

.login-panel form > button,
.primary-workflow-action,
.home-action-row > button,
.candidate-card-foot button,
.uncertain-route-list button,
.detail-navigation button:last-child {
  background: linear-gradient(135deg, #4e838c, #689ba0);
  border-color: #4e838c;
  box-shadow: 0 11px 25px rgba(67, 126, 135, 0.16);
}

@media (max-width: 1120px) {
  .workflow-page-heading {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.5fr);
  }

  .checklist-heading {
    grid-template-columns: minmax(0, 1fr) 125px;
  }

  .workflow-page-heading h1,
  .detail-title h1 {
    font-size: 29px;
  }

  .workflow-page-heading h1.route-heading-long,
  .workflow-page-heading h1.route-heading-compact,
  .detail-title h1.route-heading-long,
  .detail-title h1.route-heading-compact {
    font-size: 24px;
  }

  .detail-hero {
    grid-template-columns: 48px minmax(0, 1fr) 245px;
  }
}

@media (max-width: 820px) {
  .workflow-page-heading,
  .checklist-heading {
    grid-template-columns: 1fr;
  }

  .workflow-page-heading > p,
  .checklist-progress {
    justify-self: start;
    text-align: left;
  }

  .route-check-grid,
  .candidate-grid {
    grid-template-columns: 1fr;
  }

  .detail-hero {
    grid-template-columns: 46px minmax(0, 1fr);
  }

  .detail-decision {
    border-left: 0;
    border-top: 1px solid #dce5e8;
    grid-column: 1 / -1;
    padding: 18px 0 0;
    text-align: left;
  }
}

/* Desktop presentation layer; policy content and decisions are unchanged. */
:root {font-synthesis:none;color-scheme:light;--business-blue:#3763ad;--business-ink:#263448;--business-text:#435168;--business-muted:#68778a;--business-line:#e1e6ed;--business-paper:#f4f6f9;}
.workflow-app,.login-screen {--desk-ink:var(--business-ink);--desk-text:var(--business-text);--desk-muted:var(--business-muted);--desk-line:var(--business-line);--desk-accent:var(--business-blue);color:var(--business-text);background:var(--business-paper);font-family:"Microsoft YaHei UI","HarmonyOS Sans SC","Noto Sans SC",sans-serif;}
.workflow-app :is(button,input,select,textarea),.login-screen :is(button,input,select,textarea) {font-family:inherit;}
.workflow-app :is(h1,h2,h3,h4),.login-screen :is(h1,h2,h3,h4) {color:var(--business-ink);font-weight:600!important;letter-spacing:0;}
.workflow-app :is(p,li,td) {line-height:1.8;}
.workflow-app :is(button,a,input,select,textarea):focus-visible,.login-screen :is(button,input):focus-visible {outline:2px solid #3763ad;outline-offset:3px;}
.workflow-app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) {color:#2c3b4f;background:#fff;border:1px solid #ced6e0;border-radius:5px;font-size:14px;font-weight:400;box-shadow:none;}
.workflow-app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select) {min-height:44px;}
.workflow-app textarea {padding:12px;line-height:1.7;}
.workflow-app input::placeholder,.workflow-app textarea::placeholder {color:#8390a0;}
.workflow-app input[type=checkbox],.workflow-app input[type=radio],.workflow-app input[type=range] {accent-color:var(--business-blue);}
.workflow-header {background:#fff;box-shadow:none;border-bottom:1px solid var(--business-line);padding:14px 30px;gap:28px;}
.workflow-brand {color:var(--business-ink);font-size:17px;font-weight:600;}
.workflow-brand:before {background:var(--business-blue);}
.workflow-steps {gap:16px;}
.workflow-steps button {background:transparent;color:#68768a;font-size:13px;font-weight:500;}
.workflow-steps button.active {color:var(--business-blue);}
.workflow-steps button.active span {background:var(--business-blue);box-shadow:none;}
.workflow-screen:not(.workflow-home) {background:var(--business-paper);padding:30px clamp(24px,3vw,56px) 36px;}
.workflow-page-heading {margin-bottom:28px;padding-bottom:24px;gap:18px 36px;border-bottom:1px solid var(--business-line);}
.workflow-page-heading h1,.checklist-heading h1,.detail-title h1 {font-size:clamp(27px,2.4vw,36px);line-height:1.25;font-weight:500!important;letter-spacing:0;white-space:nowrap;}
.workflow-page-heading h1.route-heading-long,.checklist-heading h1.route-heading-long,.detail-title h1.route-heading-long {font-size:clamp(24px,2.1vw,31px);}
.workflow-page-heading h1.route-heading-compact,.checklist-heading h1.route-heading-compact,.detail-title h1.route-heading-compact {font-size:clamp(22px,1.8vw,27px);}
.workflow-page-heading :is(p,small),.workflow-page-heading>div>span,.detail-title>small {color:var(--business-muted);font-size:13px;letter-spacing:0;}
.workflow-app :is(.profile-panel,.candidate-card,.uncertain-route-column,.rejected-route-card,.next-action-card,.policy-review-task,.source-audit-card) {background:#fff;border:1px solid var(--business-line);border-radius:8px;box-shadow:0 3px 13px #23365505;}
.workflow-app :is(.profile-panel,.candidate-card,.rejected-route-card) {padding:24px;}
.profile-panel>header {border-bottom:1px solid var(--business-line);padding-bottom:18px;margin-bottom:24px;}
.profile-panel>header h2 {font-size:17px;font-weight:600!important;}
.profile-panel>header:before {background:var(--business-blue);width:3px;border-radius:1px;}
.profile-panel label>span {font-size:13px;line-height:1.5;color:#37475c;font-weight:500;}
.profile-form-grid {gap:24px;}
.profile-panel :is(.field-help,.field-note,small) {color:var(--business-muted);font-size:12px;line-height:1.7;}
.workflow-app .candidate-card>header h2,.workflow-app .candidate-card h3,.rejected-route-card h3 {font-size:18px;line-height:1.6;font-weight:600!important;}
.candidate-card {border-top:3px solid var(--business-blue)!important;}
.candidate-rank,.candidate-card .rank {color:var(--business-blue);background:#edf2fb;}
.candidate-window-summary,.route-window-panel,.candidate-window {background:#f6f8fc;border-color:#dbe3ef;color:#3c5375;}
.candidate-window-summary :is(h3,strong),.route-window-panel :is(h3,strong) {color:#3c5375;}
.workflow-app :is(.candidate-award,.reward-block) {background:#f4f7fb;border-radius:4px;padding:14px 16px;}
.workflow-app :is(.route-gate-summary,.candidate-check-summary,.preliminary-gates) {gap:10px;}
.workflow-app :is(.candidate-gate,.gate-chip,.gate-summary-item) {box-shadow:none;border-radius:4px;}
.workflow-app :is(.candidate-card,.rejected-route-card,.uncertain-route-column) :is(p,li) {font-size:14px;line-height:1.8;}
.workflow-app .rejected-route-card {border-top:3px solid #b19262!important;}
.workflow-app :is(.mismatch-item,.rejection-detail) {background:#fbf8f3;border-left:3px solid #b19262;padding:16px;margin-top:16px;}
.workflow-app :is(.primary-button,.primary-action,.profile-actions>button:last-child,.home-action-row>button,.candidate-select,.candidate-card>button,.checklist-actions>button:last-child) {background:var(--business-blue);border:1px solid var(--business-blue);color:#fff;box-shadow:none;border-radius:5px;font-weight:500;}
.workflow-app button {transition:background-color .16s,border-color .16s,color .16s;}
.workflow-app button:disabled {cursor:not-allowed;opacity:.55;}
.workflow-app .interface-icon {width:20px;height:20px;stroke-width:1.7;}
.workflow-app .detail-tabs {gap:0;background:#fff;border:1px solid var(--business-line);border-radius:6px;overflow:hidden;margin-bottom:24px;}
.workflow-app .detail-tabs button {flex:1;padding:16px 18px;font-weight:500;color:#5f6c7d;background:#fff;border:0;border-bottom:3px solid transparent;}
.workflow-app .detail-tabs button.active {color:var(--business-blue);background:#f4f7fc;border-bottom-color:var(--business-blue);}
.workflow-app :is(.detail-section,.attachment-panel,.attachments-section,.route-attachments) {background:#fff;border-color:var(--business-line);border-radius:8px;padding:26px;}
.workflow-app :is(.detail-section,.attachment-panel,.attachments-section)>header {padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid var(--business-line);}
.workflow-app :is(.detail-section,.attachment-panel,.attachments-section)>header h2 {font-size:23px;line-height:1.5;}
.workflow-app :is(.checklist-group,.checklist-section,.checklist-card) {border-color:var(--business-line);background:#fff;border-radius:6px;box-shadow:none;}
.workflow-app :is(.checklist-item,.verification-item) {padding:22px 24px;border-bottom:1px solid #e7ebf1;gap:22px;}
.workflow-app :is(.checklist-item,.verification-item) h3 {font-size:15px;}
.workflow-app :is(.checklist-item,.verification-item) p {font-size:14px;}
.workflow-app :is(.checklist-item,.verification-item) a {color:var(--business-blue);font-size:12px;}
.workflow-app .workflow-home {max-width:1720px;margin:0 auto;padding:30px 38px 28px;min-height:0;background:var(--business-paper);}
.home-model-grid,.policy-flow-line {display:none!important;}
.workflow-home .home-title-row {margin:0 0 26px;padding:0;min-height:50px;align-items:center;}
.workflow-home #home-title {font-size:36px;line-height:1.3;letter-spacing:.02em;font-weight:500!important;white-space:nowrap;}
.home-toolbar {gap:12px;}
.home-live-indicator,.home-account-entry {box-shadow:none!important;border:1px solid #d8e0e9;border-radius:5px;background:#fff;color:#52637a;font-weight:400;padding:10px 14px;}
.home-live-indicator i {width:6px;height:6px;background:#527caf;box-shadow:none;animation:none;}
.home-live-indicator small {background:#f1f4f9;color:#52637a;border-radius:3px;}
.home-account-entry>span {background:#e9eef6;color:#45618a;border-radius:3px;}
.workflow-home .policy-model-summary {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto;gap:16px;margin:0 0 24px;}
.workflow-home .policy-model-summary>button {min-height:116px;position:relative;display:grid;grid-template-columns:24px 1fr auto;grid-template-rows:auto 1fr;align-items:start;gap:12px 10px;padding:20px;border:1px solid var(--business-line);border-radius:7px;background:#fff;box-shadow:none;text-align:left;}
.workflow-home .policy-model-summary>button:hover {border-color:#94afd4;background:#fcfdff;transform:none;}
.workflow-home .policy-model-summary i {position:static;width:24px;height:24px;padding:0;background:transparent;border:0;color:#71839b;border-radius:0;}
.workflow-home .policy-model-summary i svg {width:22px;height:22px;}
.workflow-home .policy-model-summary span {display:block;min-width:0;grid-column:2 / 4;}
.workflow-home .policy-model-summary b {font-size:14px;font-weight:500;color:#384860;white-space:nowrap;}
.workflow-home .policy-model-summary small {display:none;}
.workflow-home .policy-model-summary strong {position:static;grid-column:1 / 3;grid-row:2;align-self:end;color:#243850;font-family:"Bahnschrift","Segoe UI",sans-serif;font-weight:400;font-size:32px;line-height:1;font-variant-numeric:tabular-nums;}
.workflow-home .policy-model-summary em {position:static;display:block;grid-column:3;grid-row:2;font-style:normal;font-size:12px;color:#637b9d;align-self:end;}
.funding-overview {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:22px;margin-bottom:28px;}
.funding-overview>article {background:#fff;border:1px solid var(--business-line);border-radius:7px;padding:24px 26px 18px;min-width:0;}
.funding-overview header {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;}
.funding-overview header span {font-size:11px;color:#718198;}
.funding-overview h2 {font-size:19px;line-height:1.4;margin:5px 0 0;}
.funding-overview header>button,.funding-overview footer button {display:inline-flex;align-items:center;gap:8px;color:#48648c;border:0;background:transparent;font-size:12px;padding:4px;}
.funding-overview .interface-icon {width:16px;height:16px;}
.coverage-column-labels,.coverage-row {display:grid;grid-template-columns:62px minmax(100px,1fr) 80px;align-items:center;gap:22px;}
.coverage-column-labels {font-size:11px;color:#798699;margin-bottom:10px;}
.coverage-column-labels>span:last-child {text-align:right;}
.coverage-row {width:100%;border:0;background:none;padding:11px 0;text-align:left;}
.coverage-row>span {color:#40536d;font-size:13px;}
.coverage-bar {display:flex;align-items:center;gap:14px;position:relative;min-width:0;}
.coverage-bar>i {display:block;min-width:2px;max-width:calc(100% - 56px);height:7px;border-radius:1px;background:#6f8fbd;transform-origin:left;animation:fund-bar-enter .65s ease-out;}
.coverage-bar b {min-width:42px;font-weight:500;font-size:20px;line-height:1.1;color:#334c70;font-family:"Bahnschrift","Segoe UI",sans-serif;font-variant-numeric:tabular-nums;}
.coverage-row>strong {text-align:right;font-weight:400;font-size:20px;color:#3d4f68;font-family:"Bahnschrift","Segoe UI",sans-serif;}
.coverage-row small,.department-bars small {font:11px "Microsoft YaHei UI",sans-serif;color:#7d8899;margin-left:6px;}
.funding-overview footer {border-top:1px solid #edf0f4;margin-top:18px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;color:#79869a;font-size:11px;line-height:1.6;}
.workflow-app .funding-overview footer {background:none;padding:13px 0 0;min-height:0;gap:14px;box-shadow:none;grid-template-columns:none;}
.workflow-app .funding-overview footer>span {color:#79869a;font-size:11px;letter-spacing:0;}
.department-chart nav {display:flex;gap:0;border:1px solid #dfe5ee;border-radius:4px;overflow:hidden;flex-shrink:0;}
.department-chart nav button {background:#fff;color:#65758a;padding:7px 13px;border:0;font-size:12px;}
.department-chart nav button[aria-pressed=true] {background:#edf2fa;color:#315b9c;}
.department-bars {display:grid;gap:10px;min-height:129px;}
.department-bars>button {display:grid;grid-template-columns:minmax(130px,1.8fr) minmax(60px,1fr) 48px;gap:18px;align-items:center;width:100%;border:0;background:transparent;text-align:left;padding:0;}
.department-bars>button>span {color:#52647c;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.department-bars>button>div {height:5px;background:#eef2f7;}
.department-bars i {display:block;height:5px;background:#839dbc;transform-origin:left;animation:fund-bar-enter .65s ease-out;}
.department-bars strong {text-align:right;font:500 17px "Bahnschrift","Segoe UI",sans-serif;color:#3d516e;}
.department-bars button:hover>span {color:var(--business-blue);}
@keyframes fund-bar-enter {from {transform:scaleX(0)}to {transform:scaleX(1)}}
.policy-feed-heading {display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.policy-feed-heading h2 {font-size:19px;margin:0;}
.policy-feed-heading>span {font-size:12px;color:#76869a;}
.workflow-home .policy-broadcast-grid {gap:22px;}
.workflow-home :is(.policy-ticker-column,.policy-broadcast-column) {border:1px solid var(--business-line);border-radius:7px;background:#fff;box-shadow:none;}
.workflow-home .policy-ticker-viewport {height:262px;}
.workflow-home .policy-broadcast-column>header {padding:17px 21px;background:#fff;border-bottom:1px solid var(--business-line);}
.workflow-home .policy-broadcast-column>header:before {background:#7394bf;}
.workflow-home .policy-broadcast-column>header h2 {font-size:15px;}
.workflow-home .policy-broadcast-item {padding:16px 20px;border-color:#e9edf3;}
.workflow-home .policy-broadcast-item h3 {font-size:14px;line-height:1.7;font-weight:500!important;}
.workflow-home .policy-broadcast-item p {font-size:12px;line-height:1.8;color:#6c7c90;}
.workflow-home .policy-broadcast-item time {color:#7b899c;font-size:11px;}
.workflow-home .home-action-row {margin:23px 0 0;gap:20px;padding:0;}
.home-update-status {display:flex;align-items:center;gap:14px;border:0;background:none;padding:0;box-shadow:none;color:#778599;}
.home-update-status>span {font-size:12px;}
.home-update-status strong {color:#5a6c83;font-size:12px;font-weight:500;}
.home-update-status small {font-size:11px;color:#7d8b9d;}
.home-update-status button {border:1px solid #d5deeb;background:#fff;color:#506c94;border-radius:4px;padding:10px 15px;font-weight:400;}
.home-action-row>button {padding:16px 24px;min-height:50px;font-size:14px;gap:18px;box-shadow:none;}
.metric-header {align-items:center;gap:20px 32px;margin-bottom:24px;border-color:var(--business-line);}
.metric-header h1 {font-size:30px;font-weight:500!important;white-space:nowrap;}
.metric-header p {font-size:13px;color:#718196;}
.metric-catalog-layout {grid-template-columns:240px minmax(0,1fr);gap:26px;}
.metric-navigation {border:1px solid var(--business-line);border-radius:6px;background:#fff;box-shadow:none;}
.metric-navigation nav>section>a {background:#f6f8fb;color:#425b7b;}
.metric-navigation nav>section>div>a {font-size:12px;color:#687a92;padding:11px 16px;line-height:1.7;}
.metric-primary-group>header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 19px;}
.metric-primary-group>header h2 {font-size:22px;}
.metric-primary-group>header strong {font-size:14px;font-weight:400;color:#63738a;}
.metric-secondary-group {border:1px solid var(--business-line);border-radius:6px;box-shadow:none;margin-bottom:22px;overflow:hidden;}
.metric-secondary-group>header {padding:17px 22px;background:#f6f8fb;}
.metric-secondary-group>header h3 {font-size:15px;font-weight:500!important;}
.metric-item {padding:24px;background:#fff;gap:28px;}
.metric-item h4 {font-size:16px;line-height:1.65;margin:8px 0 10px;font-weight:500!important;}
.metric-item p {font-size:13px;color:#66768b;line-height:1.9;}
.metric-item>a {color:#496d9f;padding-left:24px;min-width:116px;font-size:13px;}
.metric-window-nodes {gap:14px;margin-top:14px;}
.metric-window-nodes>span {padding:14px;background:#f4f7fb;border:1px solid #e4e9f1;border-radius:4px;}
.metric-window-nodes .applicant {border-color:#b9cbe3;background:#f0f5fc;}
.local-policy-search {display:flex;align-items:center;flex-wrap:wrap;gap:20px;justify-content:space-between;border:1px solid var(--business-line);border-radius:6px;padding:18px 22px;background:#fff;margin-bottom:24px;}
.local-policy-search>div>strong {font-size:14px;color:#425974;font-weight:500;}
.local-policy-search p {font-size:12px;color:#738296;margin:5px 0 0;}
.local-policy-search button {border:1px solid #c6d3e4;border-radius:4px;padding:10px 15px;background:#f6f8fc;color:#46658f;font-size:13px;}
.local-search-results {flex:0 0 100%;display:grid;gap:16px;max-height:600px;overflow:auto;}
.local-search-results>article {border-top:1px solid var(--business-line);padding:18px 0;}
.local-search-results h3 {font-size:16px;line-height:1.6;margin:6px 0;}
.local-search-results small {font-size:11px;color:#71839a;}
.local-search-results p {font-size:13px;line-height:1.8;margin-bottom:14px;}
.login-screen {display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;min-height:100vh;padding:80px clamp(60px,9vw,160px);background:#f5f7fa;}
.login-ambient {display:none!important;}
.login-brand {position:relative;padding:48px 30px 48px 0;max-width:650px;color:#5a6b83;}
.login-brand:after {content:"";position:absolute;right:0;top:12%;bottom:12%;width:1px;background:#dce3ed;}
.login-brand .login-mark {width:44px;height:44px;margin-bottom:40px;display:flex;align-items:flex-end;gap:5px;transform:none;}
.login-mark i {position:static;width:9px;background:#4470b4!important;transform:none!important;border:0!important;border-radius:1px;box-shadow:none!important;}
.login-mark i:nth-child(1) {height:20px;opacity:.45;}.login-mark i:nth-child(2) {height:31px;opacity:.7;}.login-mark i:nth-child(3) {height:42px;}
.login-brand small {font-size:13px;letter-spacing:.08em;color:#7c8ca2;}
.login-brand h1 {font-size:clamp(28px,2.75vw,42px);font-weight:500!important;letter-spacing:.02em;white-space:nowrap;margin:15px 0 22px;color:#2d405b;}
.login-brand p {font-size:14px;max-width:400px;line-height:1.9;color:#6c7e96;}
.login-capability {display:flex;gap:15px;align-items:center;font-size:12px;color:#657d9e;margin-top:40px;}
.login-capability i {background:#bac9de;width:3px;height:3px;border-radius:50%;}
.login-panel {width:100%;max-width:430px;margin:0 auto;border:1px solid #e0e7ef;border-radius:9px;background:#fff;padding:38px 40px;box-shadow:0 16px 50px #24405f08;}
.login-panel form {padding:0;border:0;border-radius:0;background:none;box-shadow:none;max-width:none;}
.login-panel header {margin-bottom:28px;}
.login-panel header>span {color:#6a7b92;font-size:12px;}
.login-panel h2 {font-size:25px;font-weight:500!important;margin:10px 0;}
.login-panel header p {font-size:13px;color:#8a95a5;}
.login-field {display:grid;gap:10px;margin-bottom:22px;}
.login-field>span {font-size:13px;font-weight:400;color:#425674;}
.login-field input {height:46px;padding:12px;border:1px solid #cfd9e6;background:#fff;border-radius:4px;font-size:14px;min-width:0;color:#344761;}
.login-password-field {border:1px solid #cfd9e6;border-radius:4px;background:#fff;}
.login-password-field input {border:0;}
.login-password-field button {font-size:12px;color:#7d8da3;font-weight:400;}
.login-panel form>button {width:100%;border:0;background:#3763ad;color:#fff;border-radius:4px;height:47px;padding:0 16px;font-size:14px;font-weight:400;box-shadow:none;margin-top:5px;}
.login-panel footer {display:grid;gap:7px;color:#8b98ab;font-size:11px;margin-top:25px;}
.route-editor {background:#f4f6fa;color:#46576f;border-radius:7px;padding:0 24px 24px;width:min(1440px,100%);max-height:calc(100vh - 56px);overflow:auto;overscroll-behavior:contain;}
.route-editor-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;position:sticky;top:0;background:#f4f6fa;z-index:2;}
.route-editor-heading small {font-size:12px;color:#7b8a9d;}.route-editor-heading h2 {font-size:25px;margin:5px 0;}
.route-editor button {padding:10px 16px;border:1px solid #c8d5e6;border-radius:4px;background:#fff;color:#466a9c;font-size:13px;}
.route-editor-layout {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.85fr);gap:24px;align-items:start;}
.route-editor-layout>main {min-width:0;}.route-editor-layout>main>section {background:#fff;border:1px solid var(--business-line);border-radius:6px;padding:24px;margin-bottom:20px;}
.route-editor h3 {font-size:17px;margin:0 0 23px;padding-bottom:15px;border-bottom:1px solid var(--business-line);}
.route-editor h4 {font-size:14px;margin:0 0 12px;}
.route-editor-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.route-editor label {display:grid;gap:9px;font-size:13px;color:#52657f;line-height:1.6;}
.route-editor-fields>.wide {grid-column:1/-1;}
.route-editor :is(input:not([type=checkbox]),select,textarea) {width:100%;padding:10px;min-width:0;box-sizing:border-box;}
.route-stage-choices {display:flex;gap:14px;flex-wrap:wrap;padding:12px 0;}
.route-stage-choices>span {flex-basis:100%;font-size:13px;}
.route-editor :is(.route-stage-choices,.route-evidence-checks) label:has(input[type=checkbox]) {display:flex;flex-direction:row;align-items:center;gap:9px;}
.route-editor input[type=checkbox] {width:16px;height:16px;}
.route-editor-technologies {margin-top:25px;}.route-editor-technologies>div {display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--business-line);}
.route-editor-technologies textarea {grid-column:1/-1;}.route-editor-technologies>div>button {justify-self:start;}
.route-evidence-checks {display:grid;gap:24px;}.route-evidence-checks article {display:grid;gap:12px;border-bottom:1px solid var(--business-line);padding-bottom:24px;}
.route-editor-publish {display:grid;gap:18px;}.route-editor-publish>button {background:var(--business-blue);color:#fff;}
.route-editor-layout>aside {position:sticky;top:20px;background:#fff;border:1px solid var(--business-line);border-radius:6px;padding:22px;min-width:0;}
.route-editor-layout>aside a {display:block;font-size:12px;margin:15px 0;color:#426ba3;}
.route-original-text {max-height:calc(100vh - 280px);overflow:auto;white-space:pre-wrap;font-size:13px;line-height:1.85;color:#51627a;word-break:break-word;padding-right:12px;}
.policy-authoring-entry {display:flex;gap:24px;align-items:center;justify-content:space-between;margin:22px 0;padding:20px 23px;border:1px solid #d5e1f1;background:#f5f8fd;border-radius:5px;}
.policy-authoring-entry strong {font-size:15px;font-weight:500;color:#3f5d85;}.policy-authoring-entry p {font-size:13px;margin:6px 0 0;color:#6d809b;}
.policy-authoring-entry button {white-space:nowrap;padding:11px 17px;border:1px solid #b7c9e4;background:#fff;border-radius:4px;color:#3c6299;}
@media(max-width:1200px){.workflow-home .policy-model-summary {gap:10px;}.workflow-home .policy-model-summary>button{padding:16px 14px;}.workflow-home .policy-model-summary b{font-size:12px;}.funding-overview>article{padding:20px;}.funding-overview{grid-template-columns:1fr 1.15fr;gap:16px;}.department-bars>button{gap:12px;grid-template-columns:minmax(100px,1.8fr) minmax(45px,1fr) 40px;}.login-screen{padding:60px;gap:28px;}.login-panel{padding:30px;}.home-update-status>small{display:none;}.route-editor-layout{grid-template-columns:minmax(0,1.2fr) 300px;}.coverage-row,.coverage-column-labels{gap:14px;grid-template-columns:52px minmax(70px,1fr) 65px;}}
@media(max-width:900px){.workflow-app .workflow-home{padding:24px;}.funding-overview{grid-template-columns:1fr;}.home-toolbar{gap:8px;}.home-live-indicator{display:none;}.workflow-home #home-title{font-size:30px;}.workflow-home .policy-model-summary{grid-template-columns:repeat(3,1fr);}.metric-catalog-layout{grid-template-columns:190px 1fr;}.login-screen{grid-template-columns:1fr;padding:40px;gap:20px;}.login-brand{padding:20px;margin:auto;}.login-brand:after,.login-capability{display:none;}.login-brand .login-mark{display:none;}.route-editor-layout{grid-template-columns:1fr;}.route-editor-layout>aside{position:static;}.route-original-text{max-height:380px;}}
@media(prefers-reduced-motion:reduce){.coverage-bar>i,.department-bars i{animation:none;}.workflow-app button{transition:none;}}
@media print{.funding-overview,.route-editor,.local-policy-search{display:none!important;}.workflow-app{background:#fff;color:#263448;}.workflow-app :is(h1,h2,h3,h4){color:#24364e;} .workflow-app a{color:#31578b;} }
@media print {
  html,body,.workflow-app,.workflow-app .detail-screen,.workflow-app .pdf-report {background:#fff!important;}
  .pdf-report-header:before {background:#5779aa;}
  .pdf-report-section {border-top-color:#6d88b1;}
  .pdf-report-section>header>span {background:#5779aa;}
  .pdf-report-title-block>p,.pdf-report-decision>strong,.pdf-report-summary-grid strong,.pdf-two-column-list li>b,.pdf-source-section>ol>li>b {color:#426490;}
  .pdf-report-decision {background:#f0f4fa;border-left-color:#6686b5;}
  .pdf-award-panel,.pdf-time-panel {background:#f3f6fa;}
  .pdf-two-column-list>article {break-inside:avoid;}
  .pdf-action-section,.pdf-source-section {break-before:page;}
  .pdf-report-disclaimer {background:#f4f6f9;}
}
@media screen {
  .workflow-app :is(p,span,div,label,small,strong,b,em,li,td,th,h1,h2,h3,h4,button,input,select,textarea),.login-screen :is(p,span,div,label,small,h1,h2,button,input) {font-family:"Microsoft YaHei","Microsoft YaHei UI","HarmonyOS Sans SC",sans-serif!important;}
  .workflow-app .workflow-home .policy-model-summary {margin-bottom:22px!important;}
  .workflow-app :is(.primary-workflow-action,.candidate-card-foot button,.uncertain-route-list button,.detail-navigation button:last-child),.workflow-app .workflow-home .home-action-row>button {background:#3763ad!important;border-color:#3763ad!important;box-shadow:none!important;border-radius:4px;}
  .workflow-app .workflow-stepper li.active>button>span,.workflow-app .workflow-stepper li.completed>button>span {background:#5177ae;box-shadow:none;}
  .workflow-app .profile-panel {border-top:2px solid #c3d2e6!important;}
  .workflow-app .profile-panel h2:before,.workflow-app .profile-panel>header:before {background:#7b9bc4!important;}
  .workflow-app .profile-panel input[type=range] {accent-color:#5279b1!important;}
  .workflow-app .policy-broadcast-grid>article {border:1px solid var(--business-line);border-radius:7px;background:#fff;box-shadow:none;}
  .workflow-app .policy-broadcast-grid>article>header {padding:17px 20px;background:#fff;border-bottom:1px solid var(--business-line);}
  .workflow-app .policy-broadcast-grid>article>header strong {font-size:14px;font-weight:500;}
  .workflow-app .policy-broadcast-grid>article>header small {font-size:11px;color:#7c8ba0;}
  .workflow-app .policy-feed-window {height:250px;}
  .workflow-app .policy-feed-item {padding:16px 20px;background:#fff;border-color:#e9edf3;}
  .workflow-app .policy-feed-item h3 {font-size:14px!important;line-height:1.7;font-weight:500!important;}
  .workflow-app .policy-feed-item :is(p,small) {font-size:12px!important;line-height:1.7;}
  .workflow-app .detail-summary {gap:22px;margin:25px 0;}
  .workflow-app .detail-summary>article {padding:22px;border:1px solid var(--business-line);border-radius:6px;background:#fff;box-shadow:none;}
  .workflow-app .detail-summary :is(p,li),.workflow-app .detail-conclusion p {font-size:14px!important;line-height:1.8;color:#52637a;}
  .workflow-app .detail-summary article>span,.workflow-app .detail-conclusion article>span {font-size:12px!important;color:#78879b;display:block;margin-bottom:12px;}
  .workflow-app .detail-summary strong,.workflow-app .detail-conclusion strong {font-size:15px!important;line-height:1.7;font-weight:500;color:#314b6e;}
  .workflow-app .detail-conclusion {border:1px solid #d9e2ef;border-radius:6px;background:#f0f4fa;gap:0;}
  .workflow-app .detail-conclusion>article {padding:23px;background:none;border-radius:0;box-shadow:none;}
  .workflow-app .detail-decision strong {font-size:25px;color:#4a6c9b;}
  .workflow-app .detail-decision :is(span,small) {font-size:12px;}
  .workflow-app .detail-decision em {font-size:12px;line-height:1.7;}
  .workflow-app .detail-rank {background:#e6edf7;color:#446695;border-radius:4px;}
  .workflow-app .detail-overview-grid {gap:22px;}
  .workflow-app .detail-overview-grid article {border-color:var(--business-line);border-radius:5px;padding:22px;}
  .workflow-app .detail-overview-grid article>span {font-size:13px;color:#637a99;}
  .workflow-app .detail-overview-grid dt {font-size:12px;color:#748298;}
  .workflow-app .detail-overview-grid dd {font-size:14px;font-weight:400;color:#415873;}
  .workflow-app .detail-overview-grid li {font-size:14px;line-height:1.85;}
  .workflow-app .detail-tab-panel {box-shadow:none;border:1px solid var(--business-line);border-radius:7px;padding:26px;}
  .workflow-app .failed-condition-panel {background:#fff;border:1px solid var(--business-line);border-radius:6px;}
  .workflow-app .failed-condition-panel>header {background:#f4f7fb;padding:20px 24px;}
  .workflow-app .failed-condition-panel>header h2 {font-size:16px;}
  .workflow-app .failed-condition-panel>header span {font-size:12px;}
  .workflow-app .failed-clear {font-size:13px;padding:18px 24px;}
  .workflow-app .detail-attachment-section {padding:0;background:#fff;}
  .workflow-app .detail-attachment-section>header {padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--business-line);}
  .workflow-app .detail-attachment-section>header h2 {font-size:23px;}
  .workflow-app .detail-attachment-section>header p {font-size:14px;color:#64778f;}
  .workflow-app .detail-attachment-groups>section>header {padding:16px 0;}
  .workflow-app .detail-attachment-groups h3 {font-size:17px;}
  .workflow-app .detail-attachment-grid {gap:18px;}
}

/* Desktop presentation. Policy evaluation is unchanged. */
@media screen {
  .workflow-app {background:#f4f6f8;color:#293a4c;}
  .workflow-app .workflow-home {padding:34px 42px 28px;}
  .workflow-home .home-title-row {margin-bottom:32px;}
  .workflow-home #home-title {font-size:38px!important;font-weight:500!important;letter-spacing:-1px;}
  .workflow-app .workflow-home .policy-model-summary {gap:0;background:#fff;border:1px solid #e4e9ef;border-radius:10px;padding:21px 0;margin-bottom:24px!important;box-shadow:0 5px 20px #263e5a03;}
  .workflow-app .workflow-home .policy-model-summary>button {padding:4px 25px;border:0;border-radius:0;background:transparent;box-shadow:none;min-height:94px;gap:15px;grid-template-columns:20px 1fr;grid-template-rows:24px 45px;}
  .workflow-app .workflow-home .policy-model-summary>button+button {border-left:1px solid #e9edf2;}
  .workflow-app .workflow-home .policy-model-summary strong {font-size:34px!important;line-height:1.3;letter-spacing:-.7px;grid-column:1/-1;font-variant-numeric:tabular-nums;}
  .workflow-app .workflow-home .policy-model-summary b {font-size:13px;white-space:nowrap;font-weight:500!important;}
  .workflow-app .workflow-home .policy-model-summary em {display:none;}
  .workflow-app .workflow-home .policy-model-summary i {color:#6c87a8;}
  .workflow-app .workflow-home .policy-model-summary>button:hover {background:#f7f9fc;}
  .funding-overview {gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);margin:0 0 32px;}
  .funding-overview>article {padding:26px 28px 24px;border:1px solid #e4e9ef;border-radius:10px;box-shadow:0 5px 20px #263e5a03;}
  .funding-overview header {margin-bottom:22px;}
  .funding-overview h2 {font-size:21px!important;font-weight:500!important;margin-top:7px;}
  .funding-overview header>div>span {font-size:12px;color:#728197;}
  .funding-overview header button,.funding-overview footer button {font-size:12px;font-weight:400;}
  .coverage-ring-layout {display:grid;grid-template-columns:minmax(160px,.95fr) minmax(220px,1.15fr);align-items:center;gap:24px;min-height:216px;}
  .distribution-ring {position:relative;width:100%;max-width:224px;margin:auto;}
  .distribution-ring svg {display:block;width:100%;overflow:visible;}
  .ring-track {stroke:#eff2f6;}
  .ring-segment {transition:stroke-width 200ms ease;}
  .distribution-ring:hover .ring-segment {stroke-width:22;}
  .distribution-ring>div {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;}
  .distribution-ring strong {font-size:39px!important;color:#2d4360;font-weight:400!important;line-height:1.25;letter-spacing:-1px;font-variant-numeric:tabular-nums;}
  .distribution-ring span {font-size:12px;color:#7c8999;margin-top:7px;}
  .coverage-legend-head,.coverage-legend-row {display:grid;grid-template-columns:minmax(70px,1.25fr) 1fr 1fr;align-items:center;gap:12px;}
  .coverage-legend-head {font-size:11px;color:#7c899b;padding:0 0 14px;}
  .coverage-legend-head>span:not(:first-child) {text-align:right;}
  .coverage-legend-row {width:100%;border:0!important;border-top:1px solid #edf0f4!important;border-radius:0!important;background:transparent!important;padding:17px 0!important;text-align:left;}
  .coverage-legend-row>span:first-child {display:flex;align-items:center;gap:9px;font-size:13px;color:#44566c;}
  .coverage-legend-row i {height:7px;width:7px;border-radius:50%;flex-shrink:0;}
  .coverage-legend-row strong,.coverage-legend-row>span:last-child {font-size:21px!important;font-weight:400!important;text-align:right;font-variant-numeric:tabular-nums;color:#3d5371;}
  .coverage-legend-row small {font-size:11px;color:#8591a0;margin-left:4px;}
  .coverage-legend-row:hover>span:first-child {color:#315f9f;}
  .department-chart header nav {border:0;background:#f2f5f9;border-radius:5px;padding:3px;}
  .department-chart nav button {border:0!important;border-radius:3px!important;padding:7px 11px;}
  .department-chart nav button[aria-pressed=true] {background:#fff;color:#3c6194;box-shadow:0 1px 5px #344d7112;}
  .department-bars {gap:18px;min-height:188px;align-content:start;}
  .department-bars>button {grid-template-columns:minmax(150px,1.6fr) minmax(60px,1fr) 42px;gap:18px;min-height:22px;}
  .department-bars>button>span {font-size:13px;color:#455973;}
  .department-bars>button>div {height:9px;border-radius:2px;background:#edf1f6;overflow:hidden;}
  .department-bars i {border-radius:2px;background:#7491b8;height:100%;}
  .department-bars strong {font-size:19px;font-weight:400;}
  .department-chart footer {margin-top:17px;padding-top:15px;color:#7c899a;}
  .policy-feed-heading {margin:25px 0 18px;}
  .workflow-app .policy-broadcast-grid>article {border-radius:10px;}
  .workflow-app .policy-broadcast-grid>article>header {padding:19px 22px;}
  .workflow-app .policy-broadcast-grid>article>header small {display:none;}
  .workflow-app .policy-feed-item {padding:18px 22px;}
  .workflow-app .home-action-row {margin-top:24px;}
  .workflow-app .workflow-page-heading h1 {font-weight:500!important;letter-spacing:-.6px;}
  .workflow-app .workflow-page-heading p {max-width:1000px;line-height:1.85;color:#627186;}
  .workflow-app .candidate-level-summary {display:grid;grid-template-columns:1fr;gap:0;margin:0 0 32px;padding:25px 30px;background:#fff;border:1px solid #e4e9ef;border-radius:10px;}
  .workflow-app .candidate-level-summary>header {display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px;}
  .workflow-app .candidate-level-summary h2 {font-size:16px;font-weight:500!important;}
  .chart-status-legend {display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
  .chart-status-legend>span {font-size:12px!important;font-weight:400!important;display:flex;gap:7px;align-items:center;color:#758196!important;}
  .chart-status-legend i {width:8px;height:8px;display:block;border-radius:2px;}
  .workflow-app .candidate-level-summary>article {display:grid;grid-template-columns:66px minmax(160px,1fr) 145px 140px;gap:24px;align-items:center;border:0!important;border-radius:0;background:transparent;padding:10px 0;box-shadow:none;min-height:0;}
  .workflow-app .candidate-level-summary article>span {font-size:13px;font-weight:500;color:#435871;}
  .workflow-app .candidate-level-summary article>strong {font-size:23px;font-weight:400;display:flex;gap:9px;align-items:baseline;}
  .workflow-app .candidate-level-summary article>strong small {font-size:11px;color:#7c8a9c;font-weight:400;}
  .workflow-app .candidate-level-summary article>p {font-size:12px;margin:0;color:#7c8a9c;text-align:right;}
  .outcome-bar {display:flex;height:23px;overflow:hidden;gap:2px;background:#f0f3f7;border-radius:3px;}
  .outcome-bar>span {display:flex;align-items:center;justify-content:center;min-width:0;}
  .outcome-bar b {font-size:11px!important;font-weight:500!important;color:white;}
  .outcome-bar>span:last-child b {color:#50617a;}
  .workflow-app .candidate-card {border:1px solid #dfe6ef;border-top:3px solid #849fc3;box-shadow:0 5px 20px #263e5a04;border-radius:9px;}
  .workflow-app .candidate-card-top h2 {font-size:20px!important;font-weight:500!important;line-height:1.55;}
  .workflow-app .candidate-card-foot {justify-content:flex-end;padding-top:18px;}
  .workflow-app .candidate-award {background:#f4f7fb;padding:20px;border-radius:4px;}
  .workflow-app .candidate-card>ul {margin-top:22px;padding-left:18px;}
  .workflow-app .candidate-card>ul li {line-height:1.8;margin-bottom:12px;font-size:14px;}
  .workflow-app .detail-tab-panel {border:0;border-top:1px solid #e2e8ef;border-radius:0;background:#fff;padding:30px;}
  .workflow-app .detail-summary>article {border:0;border-bottom:1px solid #e4e9ef;border-radius:0;}
  .workflow-app .profile-panel {border-radius:9px;box-shadow:0 5px 20px #263e5a03;}
  .account-password-reset {background:#f6f8fc;border:1px solid #dce5f1;border-radius:8px;padding:20px;display:grid;gap:16px;align-content:start;min-width:0;}
  .account-password-reset p {font-size:13px;color:#64758b;margin:5px 0 0;}
  .account-password-reset label {display:grid;gap:9px;font-size:13px;}
  .account-password-reset input {height:44px;padding:10px;border:1px solid #cad6e5;border-radius:4px;width:100%;min-width:0;box-sizing:border-box;background:#fff;}
  .account-password-reset small,.account-create>small {font-size:12px;color:#6a7c93;line-height:1.65;}
  .account-password-actions {display:flex;gap:12px;justify-content:flex-end;}
  .account-password-actions button {padding:10px 15px;border:1px solid #c8d5e5;background:#fff;border-radius:4px;color:#415f88;font-size:12px;white-space:nowrap;}
  .account-password-actions button:last-child {background:#426ca8;color:#fff;border-color:#426ca8;}
  .workflow-app button:focus-visible,.workflow-app a:focus-visible {outline:2px solid #537db4;outline-offset:4px;}
  @media(prefers-reduced-motion:no-preference) {
    .workflow-screen,.account-center,.login-panel {animation:screen-arrive 340ms cubic-bezier(.2,.7,.3,1) both;}
    .funding-overview>article {animation:screen-arrive 480ms cubic-bezier(.2,.7,.3,1) both;}
    .funding-overview>article:nth-child(2) {animation-delay:70ms;}
    .distribution-ring svg {animation:ring-arrive 650ms cubic-bezier(.2,.7,.3,1) both;}
    .outcome-bar {animation:bar-arrive 500ms cubic-bezier(.2,.7,.3,1) both;transform-origin:left;}
    .workflow-app button {transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease;}
    .workflow-app .policy-model-summary>button:hover,.workflow-app .candidate-card:hover {box-shadow:0 8px 24px #4263900a;}
    .workflow-app .candidate-card {transition:box-shadow 200ms ease;}
    .login-panel form>button:hover,.workflow-app .primary-workflow-action:hover {box-shadow:0 4px 15px #3763ad25!important;}
  }
  @media(max-width:1200px) {
    .workflow-app .workflow-home {padding:28px;}
    .workflow-app .workflow-home .policy-model-summary>button {padding:4px 17px;}
    .workflow-app .workflow-home .policy-model-summary b {font-size:12px;}
    .funding-overview>article {padding:24px 21px;}
    .coverage-ring-layout {gap:12px;grid-template-columns:145px minmax(175px,1fr);}
    .coverage-legend-head,.coverage-legend-row {gap:8px;}
    .department-bars>button {grid-template-columns:minmax(120px,1.8fr) minmax(50px,1fr) 35px;gap:12px;}
  }
  @media(max-width:980px) {
    .funding-overview {grid-template-columns:1fr;}
    .coverage-ring-layout {grid-template-columns:210px 1fr;}
    .workflow-app .candidate-level-summary>article {grid-template-columns:60px 1fr 130px;gap:16px;}
    .workflow-app .candidate-level-summary article>p {display:none;}
    .workflow-app .candidate-level-summary>header {align-items:flex-start;flex-direction:column;gap:14px;}
    .workflow-app .workflow-home .policy-model-summary {grid-template-columns:repeat(3,1fr);row-gap:20px;}
  }
}
@keyframes screen-arrive {from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}
@keyframes ring-arrive {from{opacity:0;transform:rotate(-18deg) scale(.96);}to{opacity:1;transform:none;}}
@keyframes bar-arrive {from{opacity:.3;transform:scaleX(.6);}to{opacity:1;transform:scaleX(1);}}

@media print {
  @page {size:A4 portrait;margin:15mm 17mm 19mm;background:#fff;}
  html,body,#root,.workflow-app,.workflow-app .detail-screen,.workflow-app .pdf-report {background:#fff!important;background-image:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;outline:0!important;}
  .workflow-app::before,.workflow-app::after,.detail-screen::before,.detail-screen::after {display:none!important;}
  .workflow-app .pdf-report {font-family:"Microsoft YaHei","Microsoft YaHei UI",sans-serif;font-size:9pt;line-height:1.65;color:#354654;margin:0;padding:0;width:auto;}
  .pdf-report * {animation:none!important;transition:none!important;box-shadow:none!important;letter-spacing:normal;}
  .pdf-report :is(h1,h2,h3,strong,b) {font-weight:600!important;}
  .pdf-report :is(h1,h2,h3) {color:#263e50!important;}
  .pdf-report-header {border:0;margin:0;padding:0 0 7mm;position:relative;break-inside:avoid;}
  .pdf-report-header::before {height:1mm;width:15mm;right:auto;background:#4d7791;top:0;}
  .pdf-report-brand-row {padding-top:5mm;align-items:start;position:relative;z-index:1;}
  .pdf-report-brand-row>div>span {font-size:10pt;color:#496171;font-weight:500;letter-spacing:.04em;}
  .pdf-report-brand-row>dl {gap:5mm;grid-template-columns:repeat(3,auto);}
  .pdf-report-brand-row dt {font-size:6.6pt;color:#7b8a93;}
  .pdf-report-brand-row dd {font-size:7.1pt;color:#526678;font-weight:400;}
  .pdf-report-title-block {margin-top:17mm;position:relative;z-index:1;}
  .pdf-report-title-block>h1 {font-size:28pt!important;font-weight:500!important;line-height:1.35;letter-spacing:.015em;margin:0 0 9mm;white-space:nowrap;}
  .pdf-report-title-block>p {font-size:7.5pt;font-weight:400;color:#6b8191;line-height:1.55;letter-spacing:0;max-width:150mm;}
  .pdf-report-title-block>h2 {font-size:17pt!important;font-weight:500!important;line-height:1.5;margin:3mm 0 0;max-width:169mm;}
  .pdf-report-title-block>.pdf-route-qualifier {font-size:9pt;margin-top:1.5mm;color:#597181;}
  .pdf-report-decision {background:transparent!important;border:0;border-top:1px solid #dce4e8;border-bottom:1px solid #dce4e8;padding:4mm 0;margin-top:7mm;grid-template-columns:20mm 1fr;gap:1mm 3mm;}
  .pdf-report-decision>span {font-size:8pt;color:#718290;grid-row:1/3;align-self:start;padding-top:.7mm;}
  .pdf-report-decision>strong {color:#4b7088!important;font-size:13pt;font-weight:500!important;line-height:1.5;}
  .pdf-report-decision>small {grid-column:2;font-size:8pt;color:#627482;line-height:1.6;}
  .pdf-report-decision.pending>strong {color:#98794c!important;}
  .pdf-report-decision.rejected>strong {color:#ab6456!important;}
  .pdf-cover-art {position:absolute;width:68mm;height:36mm;right:0;top:12mm;fill:none;stroke:#a4b9c4;stroke-width:1;opacity:.32;z-index:0;overflow:hidden;}
  .pdf-cover-art circle {fill:#b5a181;stroke:none;}
  .pdf-cover-kpis {display:grid;grid-template-columns:1fr 1.3fr .75fr;gap:5mm;margin:2mm 0 9mm;align-items:center;break-inside:avoid;}
  .pdf-cover-kpis>div+div {border-left:1px solid #e0e6e9;padding-left:5mm;}
  .pdf-cover-kpis span {font-size:8pt;color:#7b8b96;display:block;}
  .pdf-cover-kpis strong {display:block;color:#496b83;font-size:25pt;font-weight:400!important;margin-top:2mm;line-height:1.2;}
  .pdf-cover-kpis small {font-size:8pt;font-weight:400;margin-left:2mm;}
  .pdf-cover-kpis strong.location {font-size:18pt;}
  .pdf-cover-kpis .pdf-progress-kpi {display:flex;gap:3mm;align-items:center;}
  .pdf-progress-kpi p {font-size:7.4pt;color:#607786;line-height:1.5;margin-top:2mm;}
  .report-progress {position:relative;width:18mm;flex-shrink:0;}
  .report-progress svg {display:block;width:100%;}
  .report-progress strong {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12pt;margin:0!important;}
  .report-progress small {font-size:6pt;margin-left:.3mm;}
  .pdf-report-section {border:0;margin:0 0 8mm;padding:0;}
  .pdf-report-section>header {gap:3mm;align-items:baseline;border-bottom:1px solid #d6e0e6;padding:0 0 3mm;margin:0 0 4mm;break-after:avoid;}
  .pdf-report-section>header>span {background:none!important;color:#94a9b6!important;display:block;flex:0 0 9mm;height:auto;width:auto;font-size:17pt;line-height:1.2;font-weight:400!important;}
  .pdf-report-section>header h2 {font-size:14pt;font-weight:500!important;line-height:1.4;}
  .pdf-report-section>header p {font-size:7.4pt;color:#7a8b97;margin:1mm 0 0;}
  .pdf-project-facts>dl {border:0;gap:0 7mm;}
  .pdf-project-facts>dl>div {border:0;border-bottom:1px solid #edf0f2;padding:2.5mm 0;min-height:12mm;}
  .pdf-project-facts dt {font-size:7.2pt;color:#7a8b96;}
  .pdf-project-facts dd {font-size:9pt;font-weight:400!important;color:#344c60;line-height:1.55;margin-top:1.2mm;}
  .pdf-project-facts>dl>div.wide {min-height:11mm;}
  .pdf-route-summary,.pdf-action-section,.pdf-source-section {break-before:page;padding-top:1mm;}
  .pdf-report-summary-grid {grid-template-columns:1fr;gap:0;}
  .pdf-report-summary-grid>article {background:transparent;border:0;border-bottom:1px solid #e7ecef;display:grid;grid-template-columns:23mm 1fr;gap:1mm 4mm;min-height:0;padding:4mm 0;}
  .pdf-report-summary-grid>article>span {grid-row:1/3;padding-top:.6mm;color:#7a8b97;font-size:8pt;}
  .pdf-report-summary-grid strong {margin:0;color:#4a687c;font-size:11pt;line-height:1.5;}
  .pdf-report-summary-grid p {grid-column:2;margin:0;color:#5c7080;font-size:8.5pt;line-height:1.65;}
  .pdf-award-panel {margin:5mm 0 8mm;padding:4mm 5mm;background:#f1f5f7;border:0;border-left:1mm solid #7293a4;}
  .pdf-award-panel h3,.pdf-time-panel h3 {font-size:9pt;color:#496b80!important;}
  .pdf-award-panel ul {padding-left:4mm;margin-top:2mm;}
  .pdf-award-panel li {font-size:8.7pt;line-height:1.7;margin-top:1mm;}
  .pdf-failed-box {border:0;border-bottom:1px solid #e0e7eb;padding:1mm 0 4mm;gap:5mm;grid-template-columns:23mm 1fr;}
  .pdf-failed-box>div {border:0;}
  .pdf-failed-box>div>strong {font-size:22pt;font-weight:400!important;color:#5b7a8d;}
  .pdf-failed-box.has-failures {background:#fff;border-color:#e5cfc6;}
  .pdf-failed-box p,.pdf-failed-box small {font-size:8pt;line-height:1.6;}
  .pdf-checklist-table {border:0;margin-top:5mm;}
  .pdf-table-head {background:#edf2f5;}
  .pdf-table-head>span,.pdf-table-row>* {border:0;border-bottom:1px solid #dfe6eb;padding:3mm 2.5mm;}
  .pdf-table-head,.pdf-table-row {grid-template-columns:32mm 18mm 1fr;}
  .pdf-table-row p small {font-size:7pt;color:#7e8f9b;}
  .pdf-table-row>span.passed {color:#597c87;}
  .pdf-table-row>span.failed {color:#ac6658;}
  .pdf-empty-line {border:0;font-size:8pt;padding:3mm 0;color:#697d8c;}
  .pdf-two-column-list {grid-template-columns:1fr 1fr;gap:7mm;}
  .pdf-two-column-list>article,.pdf-material-grid>article {border:0;padding:0;break-inside:auto;}
  .pdf-two-column-list>article+article {border-left:1px solid #e3e9ed;padding-left:6mm;}
  .pdf-two-column-list h3,.pdf-material-grid h3 {font-size:9.5pt;font-weight:600!important;color:#496779!important;margin-bottom:3mm;break-after:avoid;}
  .pdf-two-column-list li {grid-template-columns:5mm 1fr;gap:2mm;margin-top:3mm;font-size:8.3pt;line-height:1.7;}
  .pdf-two-column-list li>b {color:#8fa6b5;font-weight:400!important;font-size:8pt;padding-top:.5mm;}
  .pdf-time-panel {background:transparent;border:0;border-top:1px solid #e0e7eb;padding:4mm 0;margin-top:6mm;}
  .pdf-time-panel p {font-size:8.3pt;font-weight:400;}
  .pdf-time-panel li {font-size:8pt;line-height:1.65;}
  .pdf-material-section {margin-top:7mm;}
  .pdf-material-list ul {columns:2;column-gap:8mm;}
  .pdf-material-list li {font-size:8.3pt;line-height:1.7;margin-bottom:2mm;}
  .pdf-material-list li i {color:#7794a4;}
  .pdf-material-grid>article+article {margin-top:6mm;}
  .pdf-attachment-list li {padding:2mm 0;margin-top:0;}
  .pdf-attachment-list li a {font-size:8.3pt;font-weight:500!important;color:#426c8c;}
  .pdf-source-section>ol>li {grid-template-columns:7mm 1fr;gap:3mm;padding:4mm 0;border-bottom:1px solid #e0e7eb;}
  .pdf-source-section>ol>li>b {font-size:10pt;font-weight:400!important;color:#8ca5b5;}
  .pdf-source-section li strong {font-size:9pt;font-weight:500!important;line-height:1.7;}
  .pdf-source-section li p {font-size:8pt;line-height:1.7;}
  .pdf-source-section li a {font-size:7pt;color:#5b7e98;line-height:1.5;word-break:break-all;}
  .pdf-case-section article {background:#fff;border:0;border-top:1px solid #dce5eb;padding:3mm 0;}
  .pdf-report-disclaimer {display:block!important;border-top:1px solid #d6e1e7;background:transparent;padding:4mm 0 0;margin-top:7mm;color:#748795;}
  .pdf-report-disclaimer strong {font-size:7.5pt;font-weight:500!important;color:#607a8c;}
  .pdf-report-disclaimer p {font-size:7pt;line-height:1.65;margin-top:1mm;}
}
