/* Long forms remain one visible box on desktop, mobile and touch screens. */
body.modal-open{overflow:hidden!important;touch-action:none}
.modal-overlay{display:none!important;position:fixed;inset:0;overflow:hidden!important;padding:16px!important;overscroll-behavior:none}
.modal-overlay.active{display:flex!important;align-items:center;justify-content:center;overflow:hidden!important;padding:16px!important}
.modal{width:min(620px,100%);height:auto;max-height:calc(100dvh - 32px);overflow:hidden!important;margin:0 auto!important;display:flex;flex-direction:column;background:#fff}
.modal-header{flex:0 0 auto}
.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.modal-footer{position:sticky;bottom:0;flex:0 0 auto;z-index:3;background:#fff;box-shadow:0 -8px 20px rgba(15,42,91,.08);padding-bottom:max(20px,env(safe-area-inset-bottom))}
@supports not (height:100dvh){.modal{max-height:calc(100vh - 32px)}}
@media(max-width:640px){.modal-overlay.active{padding:0!important;align-items:stretch}.modal{height:100dvh;max-height:100dvh;width:100%;border-radius:0;margin:0}.modal-header,.modal-body,.modal-footer{padding:18px}.modal-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-footer .btn{width:100%;min-width:0;padding-inline:10px}}
