/* Layout adapters for backend widgets using the starter's Bootstrap theme. */
.hero-section { position: relative; padding: 80px 0 120px; background: linear-gradient(to bottom, #8669ed, #727cf5); }
.hero-section .hero-title { line-height: 42px; }
.table-header, .table-search, .table-right, .card-header { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.table-header { justify-content: space-between; padding: 1rem; }
.table-search { flex: 1; min-width: 200px; }
.table-search input { max-width: 360px; }
.search-btn { border: 0; background: transparent; color: inherit; }
.table-body, .table-layout { overflow-x: auto; }
.dropdown-menu-filter-box { min-width: 300px; padding: 1rem; }
.card-header { justify-content: space-between; }
.widget { padding: 1.25rem; border-radius: .25rem; background: var(--bs-body-bg, #fff); margin-bottom: 1rem; }
.widget__icon { font-size: 1.75rem; }
.widget__content h3, .widget__content h4 { margin-bottom: .25rem; }
.image-uploader { max-width: 100%; }
.image-upload-preview { min-height: 160px; background-position: center; background-size: contain; background-repeat: no-repeat; border: 1px solid #dee2e6; border-radius: .25rem; }
.image-upload-input { max-width: 100%; }
.empty-message { max-width: 90px; }
.user-info { display: flex; align-items: center; gap: .5rem; }
.user-info img, .user-thumb img { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; }
.fs-13 { font-size: .8125rem; } .fs-14 { font-size: .875rem; } .fs-16 { font-size: 1rem; }
.h-48 { min-height: 48px; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.required::after { content: ' *'; color: var(--bs-danger, #dc3545); }
