/* Recupera portal identity, applied only to the public native Forms surface. */
:root:root {
  color-scheme: light;
  --color-main-background: #fff;
  --color-main-background-rgb: 255, 255, 255;
  --color-main-text: #1f2937;
  --color-text-maxcontrast: #4c5c6f;
  --color-text-light: #4c5c6f;
  --color-primary: #a03f3f;
  --color-primary-element: #a03f3f;
  --color-primary-element-hover: #873434;
  --color-primary-element-text: #fff;
  --color-primary-element-light: #f8e9e7;
  --color-primary-element-light-hover: #f1d8d4;
  --color-border: #bbc7d4;
  --color-border-dark: #8091a5;
  --color-background-hover: #edf1f5;
  --color-background-dark: #e5ebf2;
  --color-background-darker: #ced9e5;
  --color-error: #b42318;
  --font-face: "Segoe UI", system-ui, -apple-system, sans-serif;
  --default-font-size: 16px;
}
body#body-public {
  position: relative;
  top: 0;
  inset-block: auto;
  margin: 0;
  min-height: 100vh;
  height: auto;
  background: #dce3eb !important;
  color: #1f2937;
  font: 16px/1.5 var(--font-face);
  overflow: auto;
}
#body-public #header, #body-public > footer.guest-box { display: none; }
.recupera-header {
  box-sizing: border-box;
  min-height: 88px;
  background: #12161c;
  border-bottom: 4px solid #bc4e4e;
  padding: 14px max(24px, calc((100% - 960px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #fff;
}
.recupera-header a { display: inline-flex; flex-shrink: 0; }
.recupera-header img { width: 206px; height: auto; display: block; }
.recupera-header span { color: #d3dce5; font-size: 14px; }
#body-public #content, #body-public #content-vue {
  position: static;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border-radius: 0;
}
#body-public #app-content-vue {
  flex: none;
  display: block;
  position: static;
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 960px;
  height: auto;
  min-height: 0;
  margin: 32px auto !important;
  padding: 32px 40px;
  overflow: visible;
  background: #fff;
  border: 1px solid #bbc7d4;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgb(31 48 68 / 9%);
}
#app-content-vue > header, #app-content-vue > form { width: 100%; max-width: none; }
#app-content-vue > header { display: block; margin: 0 0 24px; padding: 0 0 24px; border-bottom: 1px solid #d3dce5; }
#app-content-vue .form-title { width: 100%; padding: 0; font-size: 30px; line-height: 1.2; font-weight: 700; margin: 0 0 12px; }
#app-content-vue .form-desc { width: 100%; padding: 0; color: #4c5c6f; font-size: 16px; line-height: 1.6; margin: 0; max-width: 74ch; }
#app-content-vue .info-message { width: 100%; padding: 0; font-size: 14px; color: #4c5c6f; margin: 12px 0 0; }
#app-content-vue form > ul { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin: 0; padding: 0; }
#app-content-vue .question { display: block; padding: 0; margin: 0; min-width: 0; border: 0; }
#app-content-vue .question[data-recupera-field="files"],
#app-content-vue .question[data-recupera-field="notes"] { grid-column: 1 / -1; }
#app-content-vue .question__header { margin: 0 0 8px; padding: 0; }
#app-content-vue .question__header__title__text { font-size: 16px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
#app-content-vue .question__content { width: 100%; margin: 0; }
#app-content-vue input:not([type="radio"]):not([type="file"]):not([type="hidden"]),
#app-content-vue textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #8091a5;
  border-radius: 6px;
  background: #fff;
  color: #1f2937;
  font: 16px/1.4 var(--font-face);
}
#app-content-vue input::placeholder, #app-content-vue textarea::placeholder { color: #59697b; opacity: 1; }
#body-public #app-content-vue input:invalid:not(:user-invalid):not([aria-invalid="true"]) { border-color: #8091a5 !important; box-shadow: none !important; }
#app-content-vue input:user-invalid, #app-content-vue input[aria-invalid="true"] { border-color: #b42318; }
#app-content-vue textarea { min-height: 100px; resize: vertical; }
#app-content-vue fieldset[name="tracking"] { display: flex; flex-direction: column; gap: 8px; margin: 0; min-width: 0; }
#app-content-vue .question__other-answer { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 0; }
#app-content-vue .question__other-answer > .question__input { flex: 1; min-width: 145px; margin: 0; }
#app-content-vue .question__other-answer .input-field__main-wrapper { margin: 0; }
#app-content-vue .question__other-answer .input-field__label { display: none; }
#app-content-vue .checkbox-radio-switch__text { color: #1f2937; font-size: 14px; }
#app-content-vue .checkbox-radio-switch { min-height: 36px; }
#app-content-vue .question[data-recupera-field="files"] { padding: 20px; background: #edf1f5; border: 1px solid #bbc7d4; border-radius: 8px; }
#app-content-vue .question[data-recupera-field="files"] .question__input-wrapper { min-height: 54px; border-radius: 6px; border: 1px solid #8091a5; background: #fff; }
#app-content-vue .question[data-recupera-field="files"] label { font-size: 16px; padding: 12px; overflow-wrap: anywhere; }
.recupera-file-help { margin: 0 0 12px; color: #4c5c6f; font-size: 14px; }
#app-content-vue .form-buttons { display: flex; height: auto; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid #d3dce5; }
#app-content-vue .button-vue { border-radius: 6px; min-height: 44px; font-size: 16px; }
#app-content-vue .form-buttons .submit-button { margin: 0; }
#app-content-vue .button-vue--primary { background: #a03f3f; color: #fff; border: 1px solid #a03f3f; }
#app-content-vue .button-vue--primary:hover:not(:disabled) { background: #873434; }
#app-content-vue .button-vue:disabled { opacity: .6; cursor: not-allowed; }
#body-public :is(a, button, input, textarea):focus-visible { outline: 3px solid #a03f3f; outline-offset: 3px; box-shadow: none; }
#body-public .recupera-header a:focus-visible { outline-color: #fff; }
.recupera-prefill { padding: 12px 16px; margin: 0 0 24px; border-inline-start: 4px solid #a03f3f; background: #f8e9e7; font-size: 15px; }
.recupera-footer { margin: 0 auto 32px; padding: 0 24px; max-width: 960px; color: #4c5c6f; font-size: 13px; text-align: center; }
#app-content-vue .empty-content { min-height: 220px; margin: 24px auto; }
#app-content-vue .empty-content__description { color: #1f2937; font-size: 16px; line-height: 1.6; }
#app-content-vue .empty-content__icon { color: #18794e; }
@media (max-width: 720px) {
  .recupera-header { padding: 12px 20px; min-height: 78px; }
  .recupera-header img { width: 170px; }
  .recupera-header span { max-width: 100px; text-align: end; font-size: 12px; }
  #body-public #app-content-vue { width: calc(100% - 24px) !important; margin: 16px auto !important; padding: 24px 20px; }
  #app-content-vue .form-title { font-size: 26px; }
  #app-content-vue form > ul { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  #app-content-vue .question[data-recupera-field="files"] { padding: 16px; }
}
@media (max-width: 420px) { .recupera-header span { display: none; } }
@media (prefers-reduced-motion: reduce) {
  #body-public *, #body-public *::before, #body-public *::after { scroll-behavior: auto; transition-duration: 0s; animation-duration: .01ms; animation-iteration-count: 1; }
}
