body:is(.user-panel, .admin-theme, .auth-public, .public-site) {
    --site-body-size: 16.5px;
    --site-label-size: 15.5px;
    --site-small-size: 14.3px;
    font-size: var(--site-body-size);
    font-weight: 400;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-synthesis: none;
    font-kerning: normal;
    font-variant-numeric: normal;
}

@media (min-width: 768px) {
    body:is(.user-panel, .admin-theme, .auth-public, .public-site) {
        --site-body-size: 16.7px;
        --site-label-size: 15.7px;
    }
}

@media (min-width: 1200px) {
    body:is(.user-panel, .admin-theme, .auth-public, .public-site) {
        --site-body-size: 16.8px;
        --site-label-size: 15.8px;
    }
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.dashboard-main-body, .app-content, .auth-content, .auth-card) {
    font-size: var(--site-body-size);
    font-weight: 400;
    font-family: inherit;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.dashboard-main-body, .app-content, .auth-content, .auth-card) * {
    font-family: inherit;
    font-synthesis: none;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(p, li, td, dd, .form-text, .help-text, .ta-help, .ta-empty, .dropdown-item, .modal-body, .swal2-html-container) {
    font-size: var(--site-body-size);
    font-weight: 400;
    line-height: 1.55;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.dashboard-main-body, .app-content, .auth-content, .auth-card) :is(p, li, td, dd, .form-text, .help-text, .ta-help, .ta-empty) {
    font-size: var(--site-body-size) !important;
    font-weight: 400 !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(input, select, textarea, button, option) {
    font-synthesis: none;
    font-variant-numeric: normal;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(p, td, dd, .form-text, .help-text) {
    font-weight: 400 !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(h1, h2, h3, h4, h5, h6, .card-title, .service-title) {
    font-weight: 600 !important;
    line-height: 1.35;
}

body:is(.user-panel, .admin-theme) :is(.dashboard-main-body, .app-content) h1 { font-size: clamp(24px, 1.8vw, 28px); font-weight: 700 !important; }
body:is(.user-panel, .admin-theme) :is(.dashboard-main-body, .app-content) h2 { font-size: clamp(20px, 1.5vw, 23px); }
body:is(.user-panel, .admin-theme) :is(.dashboard-main-body, .app-content) h3 { font-size: clamp(18px, 1.3vw, 20px); }
body:is(.user-panel, .admin-theme) :is(.dashboard-main-body, .app-content) h4 { font-size: 17px; }
body:is(.user-panel, .admin-theme) :is(.dashboard-main-body, .app-content) :is(h5, h6) { font-size: 16px; }
body:is(.auth-public, .public-site) h1 { font-weight: 700 !important; }

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(label, .form-label, .form-check-label, .input-group-text, dt, .btn, .nav-link, .page-link) {
    font-size: var(--site-label-size);
    font-weight: 500 !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.dashboard-main-body, .app-content, .auth-content, .auth-card) :is(label, .form-label, .form-check-label, .input-group-text, dt, .btn, .nav-link, .page-link) {
    font-size: var(--site-label-size) !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.form-control, .form-select, textarea, input:not([type="checkbox"]):not([type="radio"]), select, .select2-selection__rendered, .select2-results__option) {
    font-family: inherit;
    font-size: var(--site-body-size) !important;
    font-weight: 400 !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(input, textarea)::placeholder {
    font-size: inherit;
    font-weight: 400;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(strong, b, .fw-bold, .fw-bolder, .font-bold, .font-semibold, .fw-semibold) {
    font-weight: 600 !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.badge, .status-badge, .badge span, .fw-medium) {
    font-size: var(--site-small-size);
    font-weight: 500 !important;
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.fw-normal, .font-normal) { font-weight: 400 !important; }
body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(small, .small, .text-xs, .text-sm) { font-size: var(--site-small-size); font-weight: 400; }
body:is(.user-panel, .admin-theme) .table { font-size: var(--site-body-size); }
body:is(.user-panel, .admin-theme) .table :is(th, thead td) { font-size: var(--site-label-size); font-weight: 500 !important; }
body:is(.user-panel, .admin-theme) .alert :is(h1, h2, h3, h4, h5, h6) { font-size: 17px !important; }
body:is(.user-panel, .admin-theme) .alert :is(p, li, span) { font-size: var(--site-body-size); }
body:is(.user-panel, .admin-theme) .form-check-label :is(p, span:not(.badge), li) { font-weight: 400; }
body:is(.user-panel, .admin-theme) :is(#total_payment, .total-payment, .total-price, .ta-stat-card strong, .ta-chart-number, .ta-cash-summary strong) { font-weight: 600 !important; }

body.user-panel .ta-dashboard :is(p, li, td, .ta-help, .ta-empty, .ta-text-link) { font-size: var(--site-body-size); }
body.user-panel .ta-dashboard label { font-size: var(--site-label-size); }
body.user-panel .ta-service-tile li a { font-size: var(--site-body-size); font-weight: 500; }
body.user-panel .navbar-header .dropdown-menu :is(p, span:not(.badge), a) { font-size: var(--site-body-size); }

/* User/Public controls: stronger contrast while preserving the existing palette. */
body.user-panel .dashboard-main-body :is(.btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger),
body.user-panel .navbar-header :is(.btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger),
body.auth-public :is(.btn-primary, button[type="submit"]),
body.public-site :is(.btn-primary, button[type="submit"]) {
    filter: saturate(1.12) contrast(1.06);
    font-weight: 600 !important;
}

body.user-panel .dashboard-main-body .btn-primary,
body.user-panel .navbar-header .btn-primary {
    background-color: #4f78ed;
    border-color: #4f78ed;
    color: #fff;
}

body.user-panel .dashboard-main-body :is(.badge, .user-menu-badge) {
    filter: saturate(1.12) contrast(1.05);
}

body.user-panel .dashboard-main-body :is(.form-control, .form-select, textarea, select) {
    border-color: #c6d0df;
}

body.user-panel .dashboard-main-body :is(.form-control, .form-select, textarea, select):focus {
    border-color: #4f78ed;
    box-shadow: 0 0 0 3px rgba(79, 120, 237, .2);
}

body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(p, td, dd, .form-text, .help-text):is(.fw-bold, .fw-bolder, .fw-semibold, .font-bold, .font-semibold) { font-weight: 400 !important; }

@media (max-width: 767px) {
    body:is(.user-panel, .admin-theme, .auth-public, .public-site) {
        --site-body-size: 16.5px;
        --site-label-size: 15.5px;
    }
    body:is(.user-panel, .admin-theme, .auth-public, .public-site) :is(.form-control, .form-select, textarea, input:not([type="checkbox"]):not([type="radio"]), select) {
        font-size: 17px !important;
    }
}

/* Modern DataTables Pagination Styling across Client and Admin */
.dataTables_wrapper {
    position: relative;
    clear: both;
}

.dataTables_wrapper .dataTables_info {
    padding-top: 14px;
    padding-bottom: 8px;
    font-size: 13.5px;
    color: #64748b;
    text-align: left;
}

.dataTables_wrapper .dataTables_paginate {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px;
    padding-top: 10px;
    padding-bottom: 12px;
    margin: 0;
    white-space: nowrap;
    text-align: right;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    margin: 0 2px !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #334155 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    user-select: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: #0d6efd !important;
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #ffffff !important;
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 5px rgba(13, 110, 253, 0.25) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
    color: #94a3b8 !important;
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    padding: 0 4px;
    color: #94a3b8;
}

/* Mobile responsive for datatables paginate */
@media (max-width: 767.98px) {
    .dataTables_wrapper .dataTables_info {
        text-align: center;
        padding-top: 10px;
        padding-bottom: 6px;
    }
    .dataTables_wrapper .dataTables_paginate {
        justify-content: center !important;
        gap: 4px;
        padding-top: 6px;
        padding-bottom: 14px;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button {
        min-width: 32px !important;
        height: 32px !important;
        padding: 0 8px !important;
        margin: 0 1px !important;
        font-size: 13px !important;
        border-radius: 6px !important;
    }
}

/* Dark mode support */
html[data-theme="dark"] .dataTables_wrapper .dataTables_info {
    color: #94a3b8;
}

html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #cbd5e1 !important;
}

html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #334155 !important;
    color: #38bdf8 !important;
    border-color: #38bdf8 !important;
}

html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
html[data-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    background: #0f172a !important;
    border-color: #1e293b !important;
    color: #475569 !important;
}


@import url('/css/fl1s-pagination.css?v=20261005-exact-1');

