/* Global form spacing: loaded after the base styles. */
body :is(.modal,.gh-panel-modal) .modal-content .modal-header {
    padding:20px 24px!important; gap:16px; align-items:center;
}
body :is(.modal,.gh-panel-modal) .modal-content .modal-body {
    padding:24px!important; box-sizing:border-box; overflow-x:hidden!important;
    overflow-y:auto!important; overscroll-behavior:contain;
}
body :is(.modal,.gh-panel-modal) .modal-content .modal-footer {
    padding:16px 24px!important; gap:10px; flex-wrap:wrap;
}
body :is(.modal,.gh-panel-modal) .modal-content .modal-footer > * { margin:0!important; }
body :is(.modal,.gh-panel-modal) .modal-content .modal-title { margin:0; overflow-wrap:anywhere; }
body :is(.modal,.gh-panel-modal) .modal-content .btn-close { flex-shrink:0; margin:0!important; }
body :is(.modal,.gh-panel-modal) .modal-body .row { --bs-gutter-x:1.5rem; --bs-gutter-y:1rem; }
body :is(.modal,.gh-panel-modal) .form-control,
body :is(.modal,.gh-panel-modal) .form-select { min-width:0; max-width:100%; }
body :is(.modal,.gh-panel-modal) .input-group { width:100%; min-width:0; }
body .gh-panel-modal { padding:20px!important; }
body .gh-panel-modal .gh-panel-dialog { width:min(800px,100%)!important; max-width:800px!important; }
@media(max-width:767.98px){
    body .gh-panel-modal { padding:12px!important; }
    body .gh-panel-modal .gh-panel-dialog,
    body .gh-panel-modal .gh-panel-content { max-height:calc(var(--ghm-modal-vh,100dvh) - 24px)!important; }
    body .modal.show .modal-dialog,
    body .modal .modal-dialog {
        position:relative!important; inset:auto!important; margin:12px!important;
        padding:0!important; width:calc(100% - 24px)!important;
        max-width:calc(100% - 24px)!important;
        height:calc(var(--ghm-modal-vh,100dvh) - 24px)!important;
        min-height:0!important; max-height:calc(var(--ghm-modal-vh,100dvh) - 24px)!important;
    }
    body .modal .modal-content { border-radius:16px!important; }
    body :is(.modal,.gh-panel-modal) .modal-content .modal-header { padding:16px!important; }
    body :is(.modal,.gh-panel-modal) .modal-content .modal-body { padding:18px 16px!important; }
    body :is(.modal,.gh-panel-modal) .modal-content .modal-footer {
        padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important;
    }
    body :is(.modal,.gh-panel-modal) .modal-body .row { --bs-gutter-x:1rem; }
    body :is(.modal,.gh-panel-modal) .modal-body .row > [class*="col-"] {
        flex:0 0 100%!important; width:100%!important; max-width:100%!important;
    }
    body :is(.modal,.gh-panel-modal) .form-control,
    body :is(.modal,.gh-panel-modal) .form-select { font-size:16px!important; }
    body :is(.modal,.gh-panel-modal) .modal-footer .btn { min-height:44px!important; flex:1 1 120px; }
    body .main-content form .input-group { min-width:0; }
}
