.modal.fade { transition: opacity 0.2s ease-in-out; opacity: 0; }
.modal.fade.show { opacity: 1; }
.modal-backdrop { background-color: rgba(15, 23, 42, 0.5); backdrop-filter: blur(4px); }
.modal-backdrop.fade { transition: opacity 0.2s ease-in-out; opacity: 0; }
.modal-backdrop.fade.show { opacity: 1; }

.modal-content { border: 1px solid #E2E8F0; border-radius: 16px; box-shadow: var(--shadow-xl); overflow: hidden; }

.modal-header { border-bottom: 1px solid #F1F5F9; border-top-left-radius: 16px; border-top-right-radius: 16px; padding: 14px 14px 14px 24px; background: #fff; }
.modal-header h6 { font-size: 15px; font-weight: 600; color: #1E293B; letter-spacing: -0.2px; }

.modal-footer { border-top: 1px solid #F1F5F9; border-bottom-left-radius: 16px; border-bottom-right-radius: 16px; padding: 14px 20px; background: #F8FAFC; gap: 8px; }

.modal-body { padding: 20px 24px; background: #fff; }

.modal-dialog-md { min-width: 650px !important; max-width: 650px !important; }
.modal-dialog-xs { max-width: 450px !important; }
.modal-max-width-400 { max-width: 410px !important; }
.modal-max-width-600 { max-width: 610px !important; }

.scrollable-modal-body { max-height: calc(100vh - 240px); overflow-y: auto; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-stack { display: flex; flex-direction: column; gap: 14px; }
.form-row-checkbox { display: flex; align-items: center; gap: 8px; padding-top: 24px; }
