
/* Mobile Shop Admin - compact controls and table UI */
.btn:not(.btn-close) {
    --bs-btn-padding-y: .32rem;
    --bs-btn-padding-x: .66rem;
    --bs-btn-font-size: .79rem;
    --bs-btn-border-radius: .46rem;
    min-height: 31px;
    border-radius: .46rem !important;
    line-height: 1.15;
}
.btn-sm:not(.btn-close), .btn-group-sm > .btn {
    --bs-btn-padding-y: .24rem;
    --bs-btn-padding-x: .48rem;
    --bs-btn-font-size: .74rem;
    --bs-btn-border-radius: .42rem;
    min-height: 28px;
    border-radius: .42rem !important;
}
.form-control,
.form-select,
.input-group-text,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    min-height: 33px;
    border-radius: .48rem !important;
    font-size: .82rem;
}
.form-control,
.form-select {
    padding-top: .34rem;
    padding-bottom: .34rem;
}
textarea.form-control { min-height: 72px; }
.input-group > .form-control:not(:first-child),
.input-group > .form-select:not(:first-child),
.input-group > .input-group-text:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.input-group > .form-control:not(:last-child),
.input-group > .form-select:not(:last-child),
.input-group > .input-group-text:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.modal-content { border-radius: .72rem !important; }
.admin-table-toolbar {
    border-bottom: 1px solid #eef1f5;
    background: #fff;
}
.admin-table-toolbar .dt-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .34rem;
}
.admin-table-toolbar .dt-button,
.admin-table-toolbar .btn {
    margin: 0 !important;
}
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
    margin: 0;
    font-size: .78rem;
    color: #667085;
}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    min-height: 30px;
    padding: .25rem .48rem;
    border: 1px solid #dfe4ec;
    border-radius: .44rem !important;
    font-size: .78rem;
    box-shadow: none;
}
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    border-color: #aeb8ff;
    outline: 0;
    box-shadow: 0 0 0 .12rem rgba(79,70,229,.10);
}
.dataTables_wrapper .dataTables_info { font-size: .76rem; color: #7a8599; }
.dataTables_wrapper .pagination { gap: .2rem; margin-bottom: 0; }
.dataTables_wrapper .page-link {
    min-width: 29px;
    min-height: 29px;
    padding: .25rem .48rem;
    border-radius: .42rem !important;
    font-size: .76rem;
    text-align: center;
}
.table > :not(caption) > * > * { padding-top: .62rem; padding-bottom: .62rem; }
@media (max-width: 767.98px) {
    .admin-table-toolbar { align-items: stretch !important; }
    .admin-table-toolbar .dataTables_filter { width: 100%; margin-left: 0 !important; }
    .admin-table-toolbar .dataTables_filter label { display: flex; align-items: center; gap: .4rem; width: 100%; }
    .admin-table-toolbar .dataTables_filter input { flex: 1 1 auto; width: 100% !important; }
}

/* Keep enhanced/select controls visually consistent with compact inputs. */
.chosen-container-single .chosen-single,
.chosen-container-multi .chosen-choices {
    min-height: 33px;
    border-radius: .48rem !important;
    font-size: .82rem;
}
.chosen-container-single .chosen-single { line-height: 31px; }
.chosen-container-single .chosen-single div b { background-position-y: 6px; }

/* Authentication pages use a more specific selector in the original theme. */
.auth-form .form-control {
    height: 38px !important;
    min-height: 38px;
    padding-top: .4rem;
    padding-bottom: .4rem;
    border-radius: .52rem !important;
    font-size: .82rem;
}
.auth-password-toggle {
    width: 30px !important;
    height: 30px !important;
    border-radius: .45rem !important;
}

/* Login/auth controls follow the same compact rounded language. */
.auth-form .form-control {
    height: 38px !important;
    min-height: 38px !important;
    border-radius: .52rem !important;
    font-size: .82rem !important;
}
.auth-primary-button {
    min-height: 38px !important;
    padding-top: .42rem !important;
    padding-bottom: .42rem !important;
    border-radius: .52rem !important;
    font-size: .82rem !important;
}
.auth-password-toggle {
    width: 30px !important;
    height: 30px !important;
    border-radius: .45rem !important;
}

/* Compact icon-only action buttons used in list tables. */
.action-btn,
.currency-action-btn {
    width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border-radius: .42rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* DataTables export toolbar: compact icon + text buttons. */
.admin-table-toolbar .dt-buttons {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
}
.admin-table-toolbar .dt-buttons .dt-button,
.admin-table-toolbar .dt-buttons button.dt-button,
.admin-table-toolbar .admin-export-btn {
    width: auto !important;
    height: 30px !important;
    min-width: 0 !important;
    min-height: 30px !important;
    padding: .24rem .55rem !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .28rem !important;
    border: 1px solid #dfe4ec !important;
    border-radius: .45rem !important;
    background: #fff !important;
    background-image: none !important;
    color: #667085 !important;
    box-shadow: none !important;
    line-height: 1 !important;
    font-size: .72rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}
.admin-table-toolbar .dt-buttons .dt-button:hover,
.admin-table-toolbar .dt-buttons .dt-button:focus,
.admin-table-toolbar .admin-export-btn:hover,
.admin-table-toolbar .admin-export-btn:focus {
    border-color: #b8c0ff !important;
    background: #f7f8ff !important;
    color: #5b5ce2 !important;
    box-shadow: 0 0 0 .12rem rgba(91, 92, 226, .08) !important;
}
.admin-table-toolbar .dt-buttons .dt-button i,
.admin-table-toolbar .admin-export-btn i {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.admin-table-toolbar .admin-export-label {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    color: inherit !important;
}

/* Keep the page-length selector compact, clearly a dropdown, and wide enough for "All". */
.dataTables_wrapper .dataTables_length select.admin-page-length-select,
.dataTables_wrapper .dataTables_length select {
    width: auto !important;
    min-width: 67px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: .2rem 1.75rem .2rem .5rem !important;
    border: 1px solid #dfe4ec !important;
    border-radius: .44rem !important;
    background-color: #fff !important;
    font-size: .78rem !important;
    line-height: 1.2 !important;
    cursor: pointer;
}
.dataTables_wrapper .dataTables_length label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}

/* Search stays compact and aligned with the toolbar. */
.dataTables_wrapper .dataTables_filter label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}
.dataTables_wrapper .dataTables_filter input.admin-table-search,
.dataTables_wrapper .dataTables_filter input {
    width: 132px !important;
    margin-left: 0 !important;
}

/* Live duplicate validation and searchable Select2 controls. */
.js-duplicate-feedback {
    min-height: 0;
    line-height: 1.25;
    font-size: .72rem !important;
}
.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem);
}
.select2-container {
    width: 100% !important;
}
.select2-container .select2-selection--single {
    height: 33px !important;
    border-color: #dfe4ec !important;
}
.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 31px !important;
    padding-left: .7rem !important;
    padding-right: 1.8rem !important;
    font-size: .82rem;
}
.select2-container .select2-selection--single .select2-selection__arrow {
    height: 31px !important;
}
.select2-container .select2-selection--multiple {
    min-height: 33px !important;
    border-color: #dfe4ec !important;
    padding: .08rem .25rem !important;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: #aeb8ff !important;
    box-shadow: 0 0 0 .12rem rgba(79,70,229,.10);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    min-height: 31px;
    border: 1px solid #dfe4ec;
    border-radius: .42rem;
    font-size: .8rem;
}
.select2-dropdown {
    border-color: #dfe4ec !important;
    border-radius: .5rem !important;
    overflow: hidden;
}
