/* One compact size for single-line form controls, including searchable selects. */
:root{--rr-field-height:2.25rem;--rr-error-gap:4px}
body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]),
body select:not([multiple]):not([size]),body .select-widget .select-trigger{
 box-sizing:border-box!important;height:var(--rr-field-height)!important;min-height:var(--rr-field-height)!important;max-height:none;padding-top:0!important;padding-bottom:0!important;line-height:1.25!important;font-size:14px!important;margin-block:0;
}
body .select-widget .select-trigger{padding-right:2rem!important}
body .select-widget .select-arrow{height:var(--rr-field-height)!important;min-height:var(--rr-field-height)!important;width:var(--rr-field-height)!important;margin:0!important;padding:0!important}
body input[type=email][aria-invalid=true]{border-color:#b33142!important;outline-color:#b33142}
.rr-email-error{display:block;margin:var(--rr-error-gap) 0 0!important;color:#b33142!important;font-size:12px!important;line-height:1.45!important;font-weight:400}
.rr-email-error[hidden]{display:none!important}

/* Match form actions and standalone buttons to the shared field height. */
body button:not(.nav-step):not(.rr-helper-launcher),body a.button,body input:is([type=button],[type=submit],[type=reset]){
 box-sizing:border-box!important;height:var(--rr-field-height)!important;min-height:var(--rr-field-height)!important;padding-top:0!important;padding-bottom:0!important;line-height:1.25!important;
}

body textarea{font-size:14px!important}
body input::placeholder,body textarea::placeholder{font-size:inherit!important}
/* The information hover surface stays circular at the shared control height. */
body .info-help .info-trigger{width:var(--rr-field-height)!important;min-width:var(--rr-field-height)!important;height:var(--rr-field-height)!important;min-height:var(--rr-field-height)!important;flex:0 0 var(--rr-field-height);padding:0!important;margin:0;border-radius:50%!important;aspect-ratio:1}
body .info-help .info-trigger>span{width:18px;height:18px;font-size:11px;line-height:1;border-width:1.5px}

/* All help popups use the viewport, never the narrow icon as their containing block. */

/* Percentage editing stays inside the card, sized for numbers rather than the row. */
.card-collapse-body .field:has(>input[data-path$=".share"]){width:fit-content;max-width:100%;justify-self:start}
body .card-collapse-body .field>input[data-path$=".share"]{width:7.5rem;max-width:100%}

/* Keep the semantic label close to its control without a tall empty label track. */
body .field{gap:4px}
body .field-label-row{min-height:0;gap:4px;margin-bottom:0;align-items:center}
body .field-label-row label{margin:0;line-height:1.4}
body .field-label-row .info-help .info-trigger{width:1.5rem!important;min-width:1.5rem!important;height:1.5rem!important;min-height:1.5rem!important;flex:0 0 1.5rem!important;max-width:1.5rem!important;max-height:1.5rem!important;align-self:center}
body label:has(+input),body label:has(+select),body label:has(+textarea),body label:has(+.select-widget){margin-bottom:4px!important}
body .field>label,body .create-field>label,body .contact-form-fields label{margin-bottom:0!important}
body label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body label>select,body label>textarea,body label>.select-widget{display:block;margin-top:4px!important}

/* Paired controls share their label and help tracks, including wrapped labels. */
body .fields:has(>.aligned-field):not(:has(>:not(.aligned-field))){row-gap:4px}
body .fields:not(:has(>:not(.aligned-field)))>.aligned-field{display:grid!important;grid-template-rows:subgrid;grid-row:span 3;row-gap:4px!important;align-self:stretch;padding-bottom:14px}
body .fields:not(:has(>:not(.aligned-field)))>.aligned-field>.field-label-row{grid-row:1;align-self:end}
body .fields:not(:has(>:not(.aligned-field)))>.aligned-field>:is(input,select,.select-widget){grid-row:2;align-self:start}
body .fields:not(:has(>:not(.aligned-field)))>.aligned-field>small{grid-row:3;margin:0}
@media(max-width:600px){body .fields:not(:has(>:not(.aligned-field)))>.aligned-field{grid-template-rows:auto auto auto;grid-row:auto;padding-bottom:10px}}

/* Shared theme focus ring and field feedback across every page. */
body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select,.select-widget .select-trigger,[data-signature-pad]):focus{border-color:#001655!important;outline:2px solid #001655!important;outline-offset:0!important;box-shadow:0 0 0 6px #00165524!important}
body :is(input[type=checkbox],input[type=radio]):focus-visible{outline:2px solid #001655!important;outline-offset:3px;box-shadow:0 0 0 5px #00165524}
body [aria-invalid=true]:is(input,textarea,select,[data-signature-pad]){border-color:#bf3043!important}
body [aria-invalid=true]:is(input,textarea,select,[data-signature-pad]):focus{outline-color:#bf3043!important;box-shadow:0 0 0 6px #bf304326!important}
.rr-field-error{display:block!important;color:#b32e42!important;font-size:13px!important;line-height:1.5!important;font-weight:400!important;margin:var(--rr-error-gap) 0 12px!important}
.rr-validation-toast{position:fixed;top:max(20px,env(safe-area-inset-top));right:20px;z-index:10000;max-width:min(390px,calc(100vw - 40px));padding:16px 20px;background:#001655;color:#fff;border-left:4px solid #92e7f2;border-radius:12px;box-shadow:0 10px 35px #00165530;font:14px/1.5 var(--font,system-ui)}.rr-validation-toast[hidden]{display:none!important}
body .review-response :is(#reviewSignName,#reviewComment),body .signature-input,body .signature-input :is(select,.select-widget){width:min(100%,24rem);max-width:100%;box-sizing:border-box}.signature-input [data-signature-pad]{min-height:100px}

/* Control-to-error spacing is shared by text fields, email and choice groups. */
body label.rr-invalid-choice{margin-bottom:0!important;min-height:0!important;padding-bottom:0!important}
body .field>.rr-field-error,body .field>.rr-email-error{margin-top:0!important}
body .rr-field-error,body .rr-email-error{font-size:13px!important;line-height:1.5!important}

@media(min-width:601px){
 body .fields:not(:has(>:not(.aligned-field))):has(>.aligned-field>:is(.rr-field-error,.rr-email-error:not([hidden])))>.aligned-field{grid-row:span 4}
 body .fields:not(:has(>:not(.aligned-field))):has(>.aligned-field>:is(.rr-field-error,.rr-email-error:not([hidden])))>.aligned-field>:is(.rr-field-error,.rr-email-error){grid-row:3}
 body .fields:not(:has(>:not(.aligned-field))):has(>.aligned-field>:is(.rr-field-error,.rr-email-error:not([hidden])))>.aligned-field>small:not(.rr-field-error):not(.rr-email-error){grid-row:4}
}

body .details-error-link{display:inline-block;margin-top:8px;text-decoration:underline;text-underline-offset:3px;font-weight:600;color:inherit}
body [data-details-error-field]:focus-visible{outline:2px solid #001655;outline-offset:3px}
