/* Custom Global Overrides for professional typography and compact scaling */

/* Apply professional font stack globally */
body, p, a, td, th, input, select, textarea, button, label, .form-control, .form-select {
    font-family: 'Rubik', 'Montserrat', 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Make all input fields, selects, textareas, and buttons slightly smaller and cleaner */
input, 
select, 
textarea, 
.form-control, 
.form-select, 
.select2-container .select2-selection--single, 
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__placeholder,
.form-control-sm,
.input-group-text {
    font-size: 13px !important;
    font-family: 'Rubik', 'Montserrat', 'Roboto', sans-serif !important;
}

/* Compact padding for inputs to look sharper and professional */
.form-control, 
.form-select, 
.input-group-text {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
    height: auto !important;
}

/* Table Headings override to be slightly smaller, clean, and distinct */
th, 
thead th, 
.table th, 
table.dataTable thead th, 
table th {
    font-size: 12px !important;
    font-family: 'Rubik', 'Montserrat', 'Roboto', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase;
    color: #000 !important;
}

/* Table body text font size adjustment for parity */
td, 
.table td, 
table.dataTable tbody td {
    font-size: 13px !important;
}

/* Labels font style override */
label, 
.form-label, 
col-form-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
}

/* Spacing adjustments between input groups and labels */
form .mb-3,
.card-body .mb-3,
.form-group {
    margin-bottom: 0.75rem !important;
}

.form-label, 
label {
    margin-bottom: 0.25rem !important;
}

/* Make buttons more compact and friendly globally */
.btn {
    padding: 0.35rem 0.75rem !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
}

/* Reduce excessive whitespace globally around cards and page body */
.page-wrapper .page-body-wrapper .page-body {
    padding: 15px 5px !important;
}

.card {
    margin-bottom: 15px !important;
}

.container-fluid, .container {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

/* Pagination Styling */
.pagination {
    margin-bottom: 0;
    gap: 3px; 
}
.page-item .page-link {
    font-size: 13px !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    border: 1px solid #e2e8f0;
    color: #24695c !important; /* Theme primary color */
    margin: 0;
    font-weight: 500;
}
.page-item.active .page-link {
    background-color: #24695c !important;
    border-color: #24695c !important;
    color: #ffffff !important;
}
.page-item .page-link:hover {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}
.page-item.disabled .page-link {
    background-color: #f8fafc !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
}
