/* Direct SVG images replace CSS masks so button icons also work without mask support. */
.btn-primary .wz-icon, .wz-step.is-complete .wz-icon { filter: brightness(0) invert(1); }
.btn-primary:disabled .wz-icon { filter: none; opacity: .6; }
.wz-field.is-invalid .wz-control-wrap > .wz-field-status.text-secondary { display: none; }
body[data-page='application'] { background: var(--wz-page); }
.wz-right-column { background: white; }
.btn-wz-back .wz-icon, .btn-outline-primary .wz-icon, .wz-security-note .wz-icon { filter: invert(36%) sepia(85%) saturate(2087%) hue-rotate(230deg) brightness(94%) contrast(95%); }
.wz-field-status:not(.text-secondary) .wz-icon, .wz-alert-error .wz-icon { filter: invert(17%) sepia(91%) saturate(2295%) hue-rotate(348deg) brightness(85%) contrast(97%); }
.wz-field.is-valid .wz-field-status .wz-icon, .wz-alert-success .wz-icon { filter: invert(28%) sepia(75%) saturate(980%) hue-rotate(122deg) brightness(85%) contrast(95%); }
.wz-shell.is-welcome { grid-template-columns: minmax(0, 1fr); min-height: auto; }
.wz-shell.is-welcome > .wz-sidebar { display: none; }
.wz-main.is-welcome { padding: 0; }
.wz-welcome { background: var(--wz-subtle); display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(320px, 1fr); gap: 48px; padding: 64px; }
.wz-welcome-copy { display: grid; align-content: start; gap: 24px; }
.wz-welcome h1 { font-size: 48px; line-height: 56px; font-weight: 700; }
.wz-welcome-description { font-size: 18px; line-height: 28px; color: var(--wz-muted); }
.wz-welcome-copy .btn { justify-self: start; min-width: 248px; }
.wz-welcome-note { color: var(--wz-muted); font-size: 14px; line-height: 20px; }
.wz-requirements { background: var(--wz-navy); color: white; border-radius: 24px; padding: 32px; align-self: start; }
.wz-requirements h2 { font-size: 24px; line-height: 32px; font-weight: 600; margin-bottom: 24px; }
.wz-requirements ul { display: grid; gap: 24px; list-style: none; padding: 0; margin: 0; }
.wz-requirements li { display: flex; gap: 12px; align-items: start; }
.wz-requirements .wz-icon { filter: brightness(0) saturate(100%) invert(84%) sepia(24%) saturate(1020%) hue-rotate(214deg); }
.wz-owner-summary { border: 1px solid var(--wz-border); border-radius: 12px; padding: 24px; display: grid; gap: 8px; }
.wz-owner-summary > div { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.wz-owner-summary h2 { font-size: 20px; line-height: 28px; font-weight: 600; }
.wz-text-action { border: 0; background: transparent; padding: 8px; min-height: 44px; color: var(--wz-primary); font-size: 14px; line-height: 20px; }
.wz-owner-summary p { overflow-wrap: anywhere; }
.wz-record-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.wz-ownership-total { color: var(--wz-muted); font-size: 14px; line-height: 20px; }
.wz-owner-fields { min-width: 0; }
.wz-owner-fields > .wz-accordion { margin-bottom: 24px; }
.wz-owner-fields:last-of-type > .wz-accordion { margin-bottom: 0; }
.wz-loans { display: grid; gap: 16px; }
.wz-loan-record { min-width: 0; padding: 16px; border: 1px solid var(--wz-border); border-radius: 12px; }
.wz-loan-record:first-child { padding: 0; border: 0; }
.wz-loan-record legend { float: none; width: auto; font-size: 16px; line-height: 24px; font-weight: 600; padding: 0 4px; }
.wz-loan-record .wz-text-action { margin-top: 8px; padding-left: 0; }
.wz-funding-choices { display: flex; flex-wrap: wrap; gap: 12px; }
.wz-funding-choices .wz-chip { min-width: 112px; text-align: center; }
.wz-timing .wz-chip { min-width: 184px; }
.wz-live-region { min-height: 0; }
.wz-validation-icon { right: 12px; }
.wz-field:has(.wz-password-toggle) .wz-validation-icon { right: 48px; }
.wz-field:has(.wz-password-toggle).is-invalid input { padding-right: 80px; }
.wz-owner-fields:disabled { opacity: 1; }
.wz-step-actions > .btn-primary { min-width: 0; }
@media (max-width: 991.98px) {
  .wz-welcome { padding: 32px 24px; grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .wz-welcome h1 { font-size: 32px; line-height: 40px; }
  .wz-requirements { max-width: none; }
}
@media (max-width: 767.98px) {
  .wz-welcome-copy .btn { width: 100%; }
  .wz-funding-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wz-funding-choices .wz-chip { min-width: 0; width: 100%; }
  .wz-funding-choices .wz-chip-wide { grid-column: 1 / -1; }
  .wz-timing { grid-template-columns: minmax(0, 1fr); }
  .wz-record-actions .btn { width: 100%; }
  .wz-owner-summary { padding: 20px; }
}
