/* Exabo global UI: no fixed footer, scoped legacy compatible layout */
html,body{min-height:100%;}
body{min-height:100vh;display:flex;flex-direction:column;}
body>.wrapper{flex:1 0 auto;display:flex;flex-direction:column;min-height:0;width:100%;}
body>.wrapper>.footer-v1{margin-top:auto;flex-shrink:0;}
body>.wrapper>.breadcrumbs{flex-shrink:0;}
/* Unified validation: preserve native validity semantics, replace browser popups */
.exabo-invalid{border-color:#ba1023!important;box-shadow:0 0 0 3px rgba(186,16,35,.10)!important;}
.exabo-field-error{color:#a50e20;font-size:13px;line-height:1.45;margin:6px 0 0;font-weight:500;}
.exabo-field-error[hidden]{display:none!important;}
/* Shared heading treatment for member-area panels */
.lists-container legend{box-sizing:border-box;background:#f5f5f6!important;color:#252a31!important;border:0!important;border-left:4px solid #b10e1c!important;border-radius:6px!important;padding:17px 20px!important;font-size:20px!important;font-weight:650!important;line-height:1.35!important;margin-bottom:24px!important;min-height:60px;display:flex!important;align-items:center!important;}
/* Prevent see-through dialog content inherited from legacy theme */
#reminderModal .modal-content,#reminderModal .modal-body,#reminderModal .modal-footer,#reminderModal .modal-header{opacity:1!important;}
#reminderModal .modal-body{background:#fff!important;}
#reminderModal .modal-footer{background:#f7f8fa!important;}
#reminderModal .modal-content{isolation:isolate;}
@media(max-width:767px){.lists-container legend{padding:14px 16px!important;font-size:18px!important;min-height:52px;}}

/* P3: actual legacy DOM is body > div > .wrapper (not body > .wrapper).
   Keep the footer in document flow and stretch the content on short pages. */
html { min-height:100%; }
body.header-fixed { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body.header-fixed > div:has(> .wrapper) { flex:1 0 auto; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; width:100%; }
body.header-fixed > div > .wrapper { flex:1 0 auto; display:flex; flex-direction:column; min-height:100vh; min-height:100dvh; width:100%; }
body.header-fixed > div > .wrapper > .footer-v1 { margin-top:auto; flex-shrink:0; }
/* Fixed-position modals and utility overlays must not become layout spacers. */
body.header-fixed > div > .wrapper > .modal { flex:none; }
