/* Shared IFCS form language: white canvas, soft-gray controls, 12pt copy. */
body.ifcs-unified-form-page main,
body.ifcs-unified-form-page form,
body.ifcs-unified-form-page [data-current-step] {
  background-color: #fff;
}

body.ifcs-unified-form-page main label,
body.ifcs-unified-form-page main p,
body.ifcs-unified-form-page main span,
body.ifcs-unified-form-page main button,
body.ifcs-unified-form-page form label,
body.ifcs-unified-form-page form p,
body.ifcs-unified-form-page form span,
body.ifcs-unified-form-page form button,
body.ifcs-unified-form-page [data-current-step] label,
body.ifcs-unified-form-page [data-current-step] p,
body.ifcs-unified-form-page [data-current-step] span,
body.ifcs-unified-form-page [data-current-step] button {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body.ifcs-unified-form-page main label,
body.ifcs-unified-form-page form label,
body.ifcs-unified-form-page [data-current-step] label {
  color: #5f636b !important;
  font-weight: 700 !important;
}

body.ifcs-unified-form-page main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.ifcs-unified-form-page main select,
body.ifcs-unified-form-page main textarea,
body.ifcs-unified-form-page form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.ifcs-unified-form-page form select,
body.ifcs-unified-form-page form textarea,
body.ifcs-unified-form-page [data-current-step] input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.ifcs-unified-form-page [data-current-step] select,
body.ifcs-unified-form-page [data-current-step] textarea {
  background: #f7f7f7 !important;
  border: 1px solid #dedfe2 !important;
  box-shadow: none !important;
  color: #222 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

body.ifcs-unified-form-page main input::placeholder,
body.ifcs-unified-form-page main textarea::placeholder,
body.ifcs-unified-form-page form input::placeholder,
body.ifcs-unified-form-page form textarea::placeholder,
body.ifcs-unified-form-page [data-current-step] input::placeholder,
body.ifcs-unified-form-page [data-current-step] textarea::placeholder {
  color: #74777d !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

body.ifcs-unified-form-page main input:focus,
body.ifcs-unified-form-page main select:focus,
body.ifcs-unified-form-page main textarea:focus,
body.ifcs-unified-form-page form input:focus,
body.ifcs-unified-form-page form select:focus,
body.ifcs-unified-form-page form textarea:focus,
body.ifcs-unified-form-page [data-current-step] input:focus,
body.ifcs-unified-form-page [data-current-step] select:focus,
body.ifcs-unified-form-page [data-current-step] textarea:focus {
  border-color: #b9bcc2 !important;
  box-shadow: 0 0 0 3px rgba(31, 41, 55, .07) !important;
  outline: none !important;
}

body.ifcs-unified-form-page [data-current-step] > div > div.p-8,
body.ifcs-unified-form-page.ifcs-duplicate-reports main form,
body.ifcs-unified-form-page.ifcs-duplicate-reports main form > section,
body.ifcs-unified-form-page.ifcs-duplicate-reports .dup-choice,
body.ifcs-unified-form-page.ifcs-duplicate-reports .dup-summary {
  background: #fff !important;
  border-color: #dedfe2 !important;
  box-shadow: none !important;
}

body.ifcs-unified-form-page input:not([type="checkbox"]):not([type="radio"]),
body.ifcs-unified-form-page select {
  min-height: 50px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
}

body.ifcs-unified-form-page textarea {
  min-height: 96px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
}

body.ifcs-unified-form-page.ifcs-duplicate-reports .dup-add,
body.ifcs-unified-form-page.ifcs-duplicate-reports .dup-save {
  background: #fff !important;
  border: 1px solid #cfd2d7 !important;
  color: #4b5563 !important;
  box-shadow: none !important;
}

body.ifcs-unified-form-page.ifcs-duplicate-reports .dup-add:hover,
body.ifcs-unified-form-page.ifcs-duplicate-reports .dup-save:hover {
  background: #f7f7f7 !important;
  border-color: #b8bcc3 !important;
}

/* Route-specific specificity keeps the shared system ahead of legacy page CSS. */
body.ifcs-unified-form-page.ifcs-translation-form-page main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.ifcs-unified-form-page.ifcs-translation-form-page main select,
body.ifcs-unified-form-page.ifcs-translation-form-page main textarea {
  background: #f7f7f7 !important;
  border: 1px solid #dedfe2 !important;
  box-shadow: none !important;
  color: #222 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

body.ifcs-unified-form-page.ifcs-application-page main button[type="button"]:has-text,
body.ifcs-unified-form-page.ifcs-application-page main button {
  font-size: 16px;
}

body.ifcs-unified-form-page.ifcs-application-page main button[type="button"] {
  box-shadow: none;
}

body.ifcs-unified-form-page.ifcs-payment-page main button[type="submit"],
body.ifcs-unified-form-page.ifcs-payment-page main button:not([type]) {
  background: #1670f8 !important;
  color: #fff !important;
  border-color: #1670f8 !important;
  border-radius: 15px !important;
}

body.ifcs-unified-form-page.ifcs-translation-form-page .ifcs-translation-full-width {
  grid-column: 1 / -1 !important;
  max-width: 960px;
  width: 100%;
  margin-inline: auto;
}

body.ifcs-unified-form-page .ifcs-view-translation-document {
  background: #fff !important;
  border: 1px solid #cfd2d7 !important;
  border-radius: 8px !important;
  color: #222 !important;
  cursor: pointer;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  min-height: 28px;
  padding: 6px 10px;
}

#ifcs-translation-document-viewer {
  align-items: center;
  background: rgba(8, 15, 28, .76);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 10000;
}

#ifcs-translation-document-viewer .ifcs-document-viewer-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
  display: flex;
  flex-direction: column;
  height: min(88vh, 900px);
  max-width: 1100px;
  overflow: hidden;
  width: min(94vw, 1100px);
}

#ifcs-translation-document-viewer header {
  align-items: center;
  border-bottom: 1px solid #dedfe2;
  display: flex;
  justify-content: space-between;
  min-height: 58px;
  padding: 10px 16px 10px 20px;
}

#ifcs-translation-document-viewer header strong { color: #111827; font-size: 16px; }
#ifcs-translation-document-viewer header button {
  align-items: center; background: #f1f2f4; border: 1px solid #dedfe2; border-radius: 50%;
  color: #111827; cursor: pointer; display: flex; font-size: 25px; height: 38px;
  justify-content: center; line-height: 1; width: 38px;
}
#ifcs-translation-document-viewer iframe { border: 0; flex: 1; width: 100%; }
