@charset "utf-8";

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  color: #172b43;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.95), rgba(246,249,253,.72) 42%, rgba(235,241,248,.9) 100%),
    #f2f6fa;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

button,
input {
  font: inherit;
}

.reportWrap,
.reportHeaderInner,
.reportMain {
  width: 1120px;
  margin: 0 auto;
}

.reportHeader {
  height: 76px;
  background: rgba(255,255,255,.96);
  border-top: 3px solid #0a3b72;
  border-bottom: 1px solid #e1e6eb;
}

.reportHeaderInner {
  height: 73px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.reportLogo {
  display: block;
  height: 56px;
}

.reportLogo img {
  display: block;
  width: auto;
  height: 56px;
}

.reportHomeLink {
  color: #173d69;
  font-size: 15px;
  text-decoration: none;
}

.reportHomeLink:hover {
  color: #b08230;
}

.reportBreadcrumb {
  height: 58px;
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid #e4e8ed;
}

.reportBreadcrumb .reportWrap {
  height: 58px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #687789;
  font-size: 15px;
}

.reportBreadcrumb a {
  color: #53677c;
  text-decoration: none;
}

.reportBreadcrumb strong {
  color: #173d69;
}

.reportMain {
  padding: 42px 0 58px;
}

.reportIntro {
  text-align: center;
  margin-bottom: 38px;
}

.reportIntro h1 {
  margin: 0;
  color: #123d70;
  font-family: "SimSun", "Songti SC", serif;
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 8px;
}

.reportIntro p {
  margin: 13px 0 18px;
  color: #6d7986;
  font-size: 16px;
}

.reportIntro i {
  display: block;
  width: 52px;
  height: 3px;
  margin: auto;
  background: #b28335;
}

.reportCard {
  width: 840px;
  margin: 0 auto;
  padding: 43px 62px 38px;
  background: rgba(255,255,255,.96);
  border: 1px solid #d5dce4;
  border-top: 4px solid #123f74;
  box-shadow: 0 14px 32px rgba(32,57,83,.12);
}

.reportLead {
  margin: 0 0 34px;
  color: #637181;
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
}

.reportMessage {
  margin-bottom: 22px;
  padding: 12px 16px;
  border-left: 4px solid;
  font-size: 14px;
  line-height: 1.6;
}

.reportMessage.error {
  color: #9b2b24;
  background: #fff4f2;
  border-color: #b94439;
}

.reportMessage.notice {
  color: #755613;
  background: #fff9e9;
  border-color: #b28335;
}

.reportField {
  margin-bottom: 24px;
}

.reportField label {
  display: block;
  margin-bottom: 10px;
  color: #1f3248;
  font-size: 16px;
  font-weight: 600;
}

.reportField em {
  color: #b72c27;
  font-style: normal;
}

.reportField input {
  width: 100%;
  height: 58px;
  padding: 0 17px;
  color: #16283c;
  background: #fff;
  border: 1px solid #bcc7d2;
  border-radius: 2px;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}

.reportField input:focus {
  border-color: #174d87;
  box-shadow: 0 0 0 3px rgba(23,77,135,.1);
}

.captchaRow {
  display: flex;
  gap: 14px;
}

.captchaRow input {
  flex: 1;
}

.captchaButton {
  width: 200px;
  height: 58px;
  padding: 0;
  overflow: hidden;
  background: #eef3f8;
  border: 1px solid #aebbc8;
  cursor: pointer;
}

.captchaButton img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.captchaRefresh {
  display: block;
  margin: 8px 0 0 auto;
  padding: 0;
  color: #778493;
  background: none;
  border: 0;
  font-size: 13px;
  cursor: pointer;
}

.captchaRefresh:hover {
  color: #174d87;
}

.reportActions {
  display: flex;
  gap: 14px;
  margin-top: 32px;
}

.reportActions button {
  height: 58px;
  border-radius: 2px;
  cursor: pointer;
}

.reportSubmit {
  flex: 1;
  color: #fff;
  background: linear-gradient(90deg, #0b3f78, #1265a8);
  border: 1px solid #0b3f78;
  box-shadow: 0 6px 14px rgba(12,64,120,.18);
  font-size: 17px;
  font-weight: 600;
}

.reportSubmit:hover {
  background: linear-gradient(90deg, #0b3768, #0f5792);
}

.reportReset {
  width: 150px;
  color: #405268;
  background: #fff;
  border: 1px solid #b8c2cc;
}

.reportReset:hover {
  color: #173d69;
  border-color: #173d69;
}

.reportNotice {
  width: 840px;
  min-height: 82px;
  margin: 24px auto 0;
  padding: 18px 22px;
  display: flex;
  align-items: flex-start;
  gap: 15px;
  color: #697687;
  background: rgba(255,255,255,.76);
  border-left: 4px solid #9eafbf;
  font-size: 14px;
  line-height: 1.8;
}

.reportNotice span {
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  color: #74889b;
  border: 2px solid #91a4b5;
  border-radius: 50%;
  font-family: Georgia, serif;
  font-weight: bold;
  line-height: 23px;
  text-align: center;
}

.reportNotice p {
  margin: 0;
}

.reportPasswordMain,
.reportResultMain {
  padding-top: 48px;
}

.reportPasswordCard,
.reportResultCard {
  width: 720px;
}

.reportIdentity {
  margin-bottom: 28px;
  padding: 18px 20px;
  background: #f4f7fa;
  border: 1px solid #dce3ea;
}

.reportIdentity span {
  display: block;
  margin-bottom: 6px;
  color: #718092;
  font-size: 13px;
}

.reportIdentity strong {
  color: #153e6d;
  font-size: 19px;
  letter-spacing: 1px;
}

.passwordRule {
  margin-top: -8px;
  color: #788594;
  font-size: 13px;
  line-height: 1.7;
}

.reportCancel {
  width: 180px;
  height: 58px;
  color: #405268;
  background: #fff;
  border: 1px solid #b8c2cc;
  border-radius: 2px;
  line-height: 56px;
  text-align: center;
  text-decoration: none;
}

.reportCancel:hover {
  color: #173d69;
  border-color: #173d69;
}

.resultStatus {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 30px;
  padding: 22px;
  background: #eff8f3;
  border: 1px solid #c7e1d1;
}

.resultStatus > span {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  color: #fff;
  background: #238252;
  border-radius: 50%;
  font-size: 28px;
  line-height: 48px;
  text-align: center;
}

.resultStatus strong {
  color: #17633d;
  font-size: 21px;
}

.resultStatus p {
  margin: 7px 0 0;
  color: #557064;
  font-size: 14px;
}

.resultList {
  margin: 0;
  border-top: 1px solid #dce3ea;
}

.resultList > div {
  display: flex;
  min-height: 58px;
  border-bottom: 1px solid #dce3ea;
}

.resultList dt,
.resultList dd {
  margin: 0;
  padding: 17px 20px;
  line-height: 24px;
}

.resultList dt {
  flex: 0 0 150px;
  color: #526478;
  background: #f5f7f9;
}

.resultList dd {
  flex: 1;
  color: #1d3046;
}

.resultList b {
  color: #238252;
}

.resultFootnote {
  margin-top: 24px;
  padding: 14px 16px;
  color: #6e7d8e;
  background: #f7f9fb;
  font-size: 13px;
  line-height: 1.7;
}

.resultActions {
  display: flex;
  gap: 14px;
  margin-top: 28px;
}

.resultQueryAgain {
  display: block;
  height: 58px;
  line-height: 58px;
  text-align: center;
  text-decoration: none;
}

.reportResultMain {
  padding-top: 28px;
}

.reportResultMain .reportIntro {
  margin-bottom: 20px;
}

.reportResultMain .reportIntro h1 {
  font-size: 34px;
}

.resultStateBanner {
  min-height: 80px;
  margin-bottom: 20px;
  padding: 14px 30px;
  display: flex;
  align-items: center;
  gap: 24px;
  background: #edf8f1;
  border: 1px solid #a9d6b8;
  border-left: 5px solid #20a05b;
}

.resultStateBanner > span {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  color: #fff;
  background: #23a35e;
  border-radius: 50%;
  font-size: 31px;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
}

.resultStateBanner strong {
  color: #18864a;
  font-size: 26px;
}

.resultStateBanner.status-signed,
.resultStateBanner.status-drafting,
.resultStateBanner.status-reviewing {
  background: #eef5fd;
  border-color: #b5cee8;
  border-left-color: #1767ad;
}

.resultStateBanner.status-signed > span,
.resultStateBanner.status-drafting > span,
.resultStateBanner.status-reviewing > span {
  background: #1767ad;
}

.resultStateBanner.status-signed strong,
.resultStateBanner.status-drafting strong,
.resultStateBanner.status-reviewing strong {
  color: #125b9b;
}

.resultRegistryCard {
  overflow: hidden;
  background: rgba(255,255,255,.97);
  border: 1px solid #d5dde7;
  border-radius: 3px;
  box-shadow: 0 10px 30px rgba(38,61,87,.09);
}

.resultRegistryHead {
  min-height: 122px;
  padding: 25px 34px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid #dbe2e9;
}

.resultRegistryHead p {
  margin: 0 0 7px;
  color: #bd7d12;
  font-size: 14px;
  font-weight: 600;
}

.resultRegistryHead h2 {
  margin: 0;
  color: #123b70;
  font-family: "SimSun", "Songti SC", serif;
  font-size: 25px;
  font-weight: 500;
}

.resultMeta {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 17px;
  color: #68788d;
  font-size: 14px;
}

.resultMeta i {
  width: 1px;
  height: 15px;
  background: #b9c3ce;
}

.resultStatusBadge {
  flex: 0 0 120px;
  min-width: 120px;
  padding: 10px 22px;
  color: #0d61ba;
  background: #e7f2fd;
  border-radius: 24px;
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}

.resultRegistryGrid {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.resultRegistryGrid > div {
  min-height: 84px;
  padding: 19px 34px 15px;
  border-bottom: 1px solid #dbe2e9;
}

.resultRegistryGrid > div:nth-child(odd) {
  border-right: 1px solid #dbe2e9;
}

.resultRegistryGrid dt,
.resultRegistryGrid dd {
  margin: 0;
}

.resultRegistryGrid dt {
  margin-bottom: 8px;
  color: #718095;
  font-size: 14px;
}

.resultRegistryGrid dd {
  color: #1b304b;
  font-size: 17px;
}

.resultRegistryGrid > div:nth-child(-n+2) dd {
  color: #123d78;
  font-weight: 600;
}

.resultTimeline {
  padding: 17px 34px 25px;
  border-bottom: 1px solid #dbe2e9;
}

.resultTimeline h3 {
  margin: 0 0 19px;
  color: #153f78;
  font-size: 15px;
}

.resultTimeline ol {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
}

.resultTimeline ol::before {
  position: absolute;
  z-index: -1;
  top: 10px;
  right: 9%;
  left: 9%;
  height: 1px;
  background: #afc1d4;
  content: "";
}

.resultTimeline li {
  flex: 1;
  color: #667689;
  text-align: center;
}

.timelineDot {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 auto 9px;
  background: #fff;
  border: 4px solid #aebbc8;
  border-radius: 50%;
}

.resultTimeline li.is-complete .timelineDot,
.resultTimeline li.is-current .timelineDot {
  border-color: #174b91;
}

.resultTimeline li.is-complete .timelineDot::after,
.resultTimeline li.is-current .timelineDot::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 6px;
  height: 6px;
  background: #174b91;
  border-radius: 50%;
  content: "";
}

.resultTimeline li.is-current .timelineDot {
  border-color: #1775c7;
  box-shadow: 0 0 0 5px rgba(23,117,199,.12);
}

.resultTimeline li.is-current .timelineDot::after {
  background: #1775c7;
}

.resultTimeline li strong,
.resultTimeline li small {
  display: block;
}

.resultTimeline li strong {
  color: #30445c;
  font-size: 14px;
}

.resultTimeline li.is-current strong {
  color: #0d61b5;
}

.resultTimeline li.is-pending strong {
  color: #8794a2;
}

.resultTimeline li small {
  margin-top: 5px;
  color: #7e8b99;
  font-size: 12px;
}

.resultRegistryFoot {
  min-height: 57px;
  padding: 0 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #66778b;
  font-size: 13px;
}

.resultConfidentiality {
  margin-top: 21px;
  padding: 13px 21px;
  color: #625945;
  background: #fffaf0;
  border: 1px solid #ead19c;
  font-size: 13px;
  line-height: 1.75;
}

.resultConfidentiality strong {
  color: #5b4620;
}

.resultBackLink {
  display: inline-block;
  margin-top: 18px;
  color: #1267b6;
  font-size: 14px;
  text-decoration: none;
}

.resultBackLink:hover {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .reportWrap,
  .reportHeaderInner,
  .reportMain {
    width: calc(100% - 32px);
  }

  .reportLogo img {
    max-width: 250px;
    object-fit: contain;
  }

  .reportCard,
  .reportNotice,
  .reportPasswordCard,
  .reportResultCard {
    width: 100%;
  }

  .reportCard {
    padding: 32px 24px;
  }

  .resultRegistryHead,
  .resultRegistryGrid > div,
  .resultTimeline,
  .resultRegistryFoot {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (max-width: 600px) {
  .reportHeader {
    height: 66px;
  }

  .reportHeaderInner {
    height: 63px;
  }

  .reportLogo,
  .reportLogo img {
    height: 45px;
  }

  .reportHomeLink {
    display: none;
  }

  .reportMain {
    padding-top: 30px;
  }

  .reportIntro h1 {
    font-size: 27px;
    letter-spacing: 3px;
  }

  .reportIntro p {
    font-size: 14px;
  }

  .reportLead br {
    display: none;
  }

  .captchaRow,
  .reportActions,
  .resultActions {
    flex-direction: column;
  }

  .captchaButton,
  .reportReset,
  .reportCancel {
    width: 100%;
  }

  .captchaRefresh {
    margin-left: 0;
  }

  .resultStateBanner {
    min-height: 68px;
    padding: 12px 18px;
    gap: 15px;
  }

  .resultStateBanner > span {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 25px;
    line-height: 42px;
  }

  .resultStateBanner strong {
    font-size: 22px;
  }

  .resultRegistryHead {
    align-items: flex-start;
  }

  .resultRegistryHead h2 {
    font-size: 21px;
    line-height: 1.5;
  }

  .resultStatusBadge {
    flex-basis: auto;
    min-width: 82px;
    padding: 7px 13px;
    font-size: 14px;
  }

  .resultMeta {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .resultMeta i {
    display: none;
  }

  .resultRegistryGrid {
    grid-template-columns: 1fr;
  }

  .resultRegistryGrid > div:nth-child(odd) {
    border-right: 0;
  }

  .resultTimeline {
    overflow-x: auto;
  }

  .resultTimeline ol {
    min-width: 560px;
  }

  .resultRegistryFoot {
    padding-top: 14px;
    padding-bottom: 14px;
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}
