/*
 * imAIready admin — custom overrides
 *
 * Show the submit-button loading spinner BESIDE the button label instead of
 * centered on top of it. Orchid's form_controller.js appends:
 *   <span class="spinner-loading position-absolute top-50 start-50 translate-middle">…</span>
 * which overlaps the text (e.g. the "Sign out" button looked like "Si⟳n out").
 * Here we drop the absolute centering and let the spinner render inline after
 * the label, with a small gap.
 */
.btn.btn-loading .spinner-loading {
    position: static !important;   /* was position-absolute */
    inset: auto !important;        /* clears top-50 / start-50 */
    transform: none !important;    /* clears translate-middle */
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    margin-inline-start: 0.4rem !important;
    vertical-align: middle;
}

/*
 * Modal / popup polish — applies to every modal (custom Bootstrap modals in our
 * Blade partials AND Orchid-native Layout::modal). Comfortable, consistent
 * padding with a tighter top so the first field sits nicely under the title.
 *
 * IMPORTANT: Orchid's core CSS forces `.modal .modal-body { padding: 0 }`
 * (specificity 0,2,0), which zeroes the padding and beats a plain `.modal-body`
 * override. So we must match that selector depth (.modal .modal-*) AND use
 * !important to reliably win.
 */
.modal .modal-header { padding: 1.25rem 1.5rem 0.75rem !important; }
.modal .modal-body   { padding: 0.5rem 1.5rem 1.5rem !important; }
.modal .modal-footer { padding: 1rem 1.5rem !important; }

/*
 * Orchid applies `label { white-space: nowrap }` globally. Fine for short field
 * labels, but long radio/checkbox descriptions (the import "Upsert — update
 * matching rows…" line) then refuse to wrap and overflow the modal edge. Let
 * those wrap.
 */
.modal .form-check-label { white-space: normal !important; }
