.soyuz-page-publication {
  box-sizing: border-box;
  width: min(1180px, calc(100% - 48px));
  margin: 28px auto;
  padding: 14px 18px;
  border: 1px solid #d4dee8;
  border-left: 4px solid #315f88;
  border-radius: 8px;
  background: #f8fafc;
  color: #23384e;
  font: 13px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.soyuz-page-publication strong {
  display: block;
  margin-bottom: 3px;
}

.soyuz-meta-line {
  display: block;
  min-width: 0;
  max-width: 100%;
  color: #4b6176;
  font: 12px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
  word-break: normal;
}

.soyuz-meta-line.legacy {
  color: #865315;
}

.soyuz-link-publication {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-top: 6px;
}

.soyuz-link-publication .soyuz-meta-line {
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
}

a.soyuz-has-publication {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

a.soyuz-has-publication.doc-row > .soyuz-link-publication {
  grid-column: 2 / -1;
  grid-row: auto;
  align-self: start;
  width: auto;
  margin: 2px 0 0;
}

.link-stack > a.soyuz-has-publication {
  flex-wrap: wrap;
  min-width: 0;
}

.link-stack > a.soyuz-has-publication > .soyuz-link-publication {
  flex: 0 0 100%;
  width: 100%;
  margin-top: 6px;
}

.form-actions > a.soyuz-has-publication {
  min-width: 0;
  overflow: hidden;
}

a.soyuz-has-publication.button {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow: hidden;
}

a.soyuz-has-publication.button > .soyuz-link-publication {
  flex: 0 0 100%;
  width: 100%;
  margin-top: 4px;
}

.soyuz-service-notice {
  position: relative;
  z-index: 50;
  display: grid;
  gap: 3px;
  padding: 12px max(18px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid #e2bd7b;
  background: #fff4df;
  color: #603b12;
  font: 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.soyuz-service-notice.outage {
  border-color: #dfb0b0;
  background: #fff0f0;
  color: #712828;
}

.soyuz-service-notice small {
  opacity: .8;
}

.soyuz-register-link {
  margin: 0;
}

@media (max-width: 700px) {
  .soyuz-page-publication {
    width: calc(100% - 24px);
    margin: 20px 12px;
  }

  .soyuz-meta-line.compact .soyuz-meta-part {
    display: block;
  }

  .soyuz-meta-line.compact .soyuz-meta-separator {
    display: none;
  }

  .form-actions > a.soyuz-has-publication {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.publication-register-page {
  margin: 0;
  background: #f4f1e9;
  color: #132c35;
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
}

.publication-register-page * {
  box-sizing: border-box;
}

.register-shell {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.publication-register-page .register-hero {
  padding: 0 0 44px;
  background: #0d2933;
  color: #fff;
}

.register-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0 46px;
}

.register-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.register-brand img {
  display: block;
  width: 232px;
  max-width: 100%;
  height: auto;
  padding: 8px;
  border-radius: 4px;
  background: #f7f3e9;
}

.register-nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 18px;
}

.publication-register-page .register-nav a {
  color: #fff;
  text-decoration: none;
}

.publication-register-page .register-nav a:hover,
.publication-register-page .register-nav a:focus-visible {
  text-decoration: underline;
}

.register-eyebrow {
  margin: 0 0 12px;
  color: #d2ad73;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.publication-register-page h1 {
  max-width: 820px;
  margin: 0 0 14px;
  font: 56px/1.05 Georgia, "Times New Roman", serif;
}

.register-lead {
  max-width: 760px;
  margin: 0;
  color: #c3ced1;
  font-size: 18px;
}

.publication-register-page main {
  padding: 34px 0 72px;
}

.publication-register-page form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, .3fr) auto;
  gap: 10px;
  margin: 0 0 18px;
}

.publication-register-page input,
.publication-register-page select,
.publication-register-page button {
  min-width: 0;
  min-height: 48px;
  border-radius: 2px;
  font: inherit;
}

.publication-register-page input,
.publication-register-page select {
  padding: 11px 13px;
  border: 1px solid #bdc6c5;
  background: #fff;
  color: #132c35;
}

.publication-register-page button {
  border: 1px solid #0d2933;
  padding: 11px 22px;
  background: #0d2933;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.register-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 24px;
  margin: 0 0 16px;
  color: #52656b;
}

.register-list {
  display: grid;
  gap: 10px;
}

.register-item {
  min-width: 0;
  border: 1px solid #d6d8d2;
  border-left: 3px solid #c69a5d;
  padding: 16px 18px;
  background: #fff;
}

.register-item-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.register-item h2 {
  min-width: 0;
  margin: 0;
  font: 22px/1.25 Georgia, "Times New Roman", serif;
}

.register-item h2 a {
  color: #132c35;
  overflow-wrap: anywhere;
}

.register-kind {
  flex: 0 0 auto;
  margin: 2px 0 0;
  color: #916839;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.register-item p {
  margin: 6px 0 0;
}

.stamp {
  color: #435b72;
  font-size: 13px;
}

.stamp.warning {
  color: #875313;
}

.register-proof {
  margin-top: 8px;
  color: #607488;
  font-size: 12px;
}

.register-proof summary {
  cursor: pointer;
}

.hash {
  display: block;
  margin-top: 5px;
  color: #607488;
  font: 11px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
  overflow-wrap: anywhere;
}

.register-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0;
}

.register-pagination a,
.register-pagination span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid #bdc6c5;
  background: #fff;
  color: #132c35;
  text-decoration: none;
}

.register-pagination .register-page-state {
  border-color: transparent;
  background: transparent;
  color: #52656b;
}

.register-pagination .disabled {
  color: #98a3a5;
  cursor: default;
}

.register-empty {
  padding: 24px;
  border: 1px solid #d6d8d2;
  background: #fff;
}

@media (max-width: 700px) {
  .register-shell {
    width: min(100% - 24px, 1120px);
  }

  .publication-register-page .register-hero {
    padding-bottom: 32px;
  }

  .register-nav {
    align-items: flex-start;
    padding: 12px 0 34px;
  }

  .register-brand img {
    width: 170px;
  }

  .register-nav-links {
    display: grid;
    gap: 5px;
    text-align: right;
  }

  .publication-register-page h1 {
    font-size: 39px;
  }

  .register-lead {
    font-size: 16px;
  }

  .publication-register-page main {
    padding-top: 24px;
  }

  .publication-register-page form {
    grid-template-columns: 1fr;
  }

  .register-item-head {
    display: grid;
    gap: 5px;
  }

  .register-kind {
    grid-row: 1;
  }

  .register-item h2 {
    font-size: 20px;
  }

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

  .register-pagination .register-page-state {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-content: center;
  }

  .register-pagination a,
  .register-pagination span:not(.register-page-state) {
    justify-content: center;
  }
}

/* Visual corrections for the public Союз ИТП site. */
.soyuz-link-publication {
  display: none !important;
}

#accountant .accountant-topics {
  display: grid;
  gap: 24px;
}

#accountant .accountant-topic {
  box-sizing: border-box;
  min-width: 0;
  padding: 28px 30px;
  border: 1px solid #d9d5cc;
  border-top: 4px solid #c49a5a;
  background: #fff;
}

#accountant .accountant-topic-label {
  margin: 0 0 10px;
  color: #9b6e35;
  font: 700 11px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

#accountant .accountant-topic h3 {
  margin: 0 0 20px;
  color: #132c35;
  font: 30px/1.15 Georgia, "Times New Roman", serif;
}

#accountant .accountant-topic p {
  margin: 0 0 16px;
  color: #4e5e62;
  font: 16px/1.7 Arial, Helvetica, sans-serif;
}

#accountant .accountant-fields-title {
  margin: 24px 0 8px;
  color: #132c35;
  font-weight: 700;
}

#accountant .accountant-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

#accountant .accountant-fields li {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px 0;
  border-top: 1px solid #dedbd3;
}

#accountant .accountant-fields strong {
  color: #132c35;
  font: 700 14px/1.4 Arial, Helvetica, sans-serif;
}

#accountant .accountant-fields span {
  color: #758084;
  font: 13px/1.5 Arial, Helvetica, sans-serif;
}

#accountant .accountant-example {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
  padding: 18px 20px;
  border-left: 3px solid #c49a5a;
  background: #f4f0e7;
  color: #243d45;
}

#accountant .accountant-example strong {
  font: 700 12px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

#accountant .accountant-example span {
  font: 16px/1.65 Georgia, "Times New Roman", serif;
}

#accountant .accountant-tax {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #dedbd3;
}

#accountant .accountant-tax h4 {
  margin: 0 0 8px;
  color: #132c35;
  font: 700 16px/1.4 Arial, Helvetica, sans-serif;
}

#accountant .accountant-tax p {
  margin-bottom: 0;
  color: #69777b;
  font-size: 14px;
}

#accountant .accountant-topic-warning {
  border-color: #183b47;
  border-top-color: #c49a5a;
  background: #102f3a;
}

#accountant .accountant-topic-warning .accountant-topic-label {
  color: #d5ad72;
}

#accountant .accountant-topic-warning h3 {
  color: #fff;
}

#accountant .accountant-topic-warning p {
  color: #d8e1e3;
}

#accountant .accountant-topic-warning .accountant-law {
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.2);
  color: #d5ad72;
  font-size: 14px;
}

#accountant .accountant-disclaimer {
  margin: 0;
  padding: 0 2px;
  color: #7a8587;
  font: 12px/1.6 Arial, Helvetica, sans-serif;
}

@media (max-width: 700px) {
  #accountant .accountant-topics {
    gap: 16px;
  }

  #accountant .accountant-topic {
    padding: 22px 20px;
  }

  #accountant .accountant-topic h3 {
    font-size: 25px;
  }

  #accountant .accountant-fields {
    grid-template-columns: 1fr;
  }

  #accountant .accountant-example {
    padding: 16px;
  }
}
