.application-grid .application-wide {
  grid-column: 1 / -1;
}

.application-grid input[type="file"] {
  height: auto;
  padding: 10px 12px;
}

.application-grid small {
  display: block;
  margin-top: 6px;
}

.privacy-note .application-hint {
  color: #415b69;
  font-size: 14px;
  line-height: var(--application-hint-line-height, 1.45);
  overflow-wrap: anywhere;
  margin-bottom: 12px;
}

.privacy-note .application-hint :is(p, li, h1, h2, h3, h4, h5, h6) {
  line-height: inherit;
  font-size: inherit;
  color: inherit;
  padding: 0;
  border: 0;
}

.privacy-note .application-hint :is(p, ol, ul) {
  margin: 0 0 .3em;
}

.application-hint :is(ol, ul) { padding-inline-start: 1.5em; }
.application-hint :is(img, table) { max-width: 100%; }
.application-hint img { height: auto; }
.application-hint a { text-decoration: underline; }

.registration-swipe { display: none; }

@media (max-width: 760px) {
  .registration-swipe { display: block; }
}

.registration-preview {
  overflow-x: auto;
  margin-bottom: 24px;
}

.registration-paper {
  box-sizing: border-box;
  width: 100%;
  min-width: 215.9mm;
  max-width: 215.9mm;
  margin: 0 auto 18px;
  padding: 22mm 27mm 12mm;
  background: white;
  border: 1px solid #e2e7ea;
  color: black;
  font: 9.5pt/1.4 "Songti SC", SimSun, "Noto Serif CJK SC", serif;
}

.registration-paper h3 {
  margin: 0 0 3mm;
  color: inherit;
  text-align: center;
  font: 11pt/1.3 "Songti SC", SimSun, "Noto Serif CJK SC", serif;
}

.registration-paper table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.registration-last-column { width: 16.5%; }

.registration-paper :is(th, td) {
  height: 11.2mm;
  border: 1px solid black;
  padding: 1mm 2mm;
  vertical-align: middle;
  font-weight: normal;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.registration-paper th { text-align: center; padding-inline: 1px; }
.registration-signature td { height: 109mm; padding: 6mm 8mm 12mm; vertical-align: top; white-space: normal; }

.registration-signature p { margin: 0; }

.registration-signature div {
  display: grid;
  gap: 22mm;
  margin: 22mm 0 0 66%;
  white-space: nowrap;
}

.registration-mail { margin: 4mm 2mm 0; line-height: 1.8; }

.registration-paper .registration-license { text-align: center; white-space: normal; }

#application-license-retained {
  margin: 0;
}

.registration-license img {
  display: block;
  max-width: 100%;
  max-height: 138mm;
  object-fit: contain;
  margin: 0 auto;
}

@page membership-registration { size: letter; margin: 0; }

@media print {
  body[data-application-stage="complete"] { page: membership-registration; }

  body[data-application-stage="complete"] :is(
    #page-content > :not(#application-panel),
    #application-panel > :not(#application-preview),
    #application-preview > :not(#application-summary)
  ) { display: none !important; }

  body[data-application-stage="complete"] :is(#main-content, #application-panel, #application-preview, .registration-preview) {
    display: block !important;
    overflow: visible;
    margin: 0;
    padding: 0;
    width: 100%;
    border: 0;
  }

  body[data-application-stage="complete"] .registration-paper {
    width: 215.9mm;
    max-width: none;
    min-width: 0;
    padding: 22mm 27mm 12mm;
    border: 0;
    margin: 0;
  }

  .registration-paper tr { break-inside: avoid; }
  .registration-appendix { break-before: page; }
}


.qualification-fields {
  min-width: 0;
  margin: 0;
  padding: 12px 16px 16px;
  border: 1px solid var(--line);
}

.qualification-fields legend {
  padding: 0 6px;
  color: #415b69;
  font-size: 13px;
}

.qualification-fields legend span { color: var(--red); }
.qualification-fields .application-grid { margin-bottom: 0; }


.application-edit-entry {
  margin: 0 0 20px;
  color: #415b69;
  font-size: 13px;
}

.application-edit-entry summary { cursor: pointer; text-decoration: underline; }
.application-edit-entry form { margin-top: 8px; }
.application-edit-entry input { max-width: 100%; }
.application-edit-entry small { display: block; margin-top: 4px; }
#application-code-receipt code { display: block; overflow-wrap: anywhere; margin: 8px 0; }
