﻿
        :root {
            --adminuiux-content-font: "Open Sans", sans-serif;
            --adminuiux-content-font-weight: 400;
            --adminuiux-title-font: "Lexend", sans-serif;
            --adminuiux-title-font-weight: 600;
        }
   
    /* Barre de progression style YouTube */
    #progress-bar {
        position: fixed;
        top: 0;
        left: 0;
        width: 0%;
        height: 3px;
        background: #007bff; /* Couleur de votre thÃ¨me */
        z-index: 9999;
        transition: width 0.4s ease, opacity 0.4s ease;
        box-shadow: 0 0 10px rgba(0, 123, 255, 0.7);
    }
/* Styles personnalisÃ©s pour le profil */
    .profile-card-header {
        background: linear-gradient(45deg, #4e73df, #224abe);
        height: 100px;
        border-radius: 0.5rem 0.5rem 0 0;
    }
    .profile-avatar-container {
        margin-top: -60px;
        position: relative;
        display: inline-block;
    }
    .avatar-preview {
        width: 120px;
        height: 120px;
        border: 5px solid #fff;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        object-fit: cover;
    }
    .section-title {
        border-left: 4px solid #4e73df;
        padding-left: 15px;
        font-weight: 700;
        color: #333;
        margin-bottom: 20px;
    }
    .form-label {
        font-weight: 600;
        color: #555;
    }
    .card {
        border-radius: 12px;
    }



@media print {
    /* 1. Configuration de la page */
    @page { size: portrait; margin: 10mm; }
    
    /* 2. On cache UNIQUEMENT les Ã©lÃ©ments d'interface (Menus, Sidebars, etc.) */
    header, footer, .adminuiux-sidebar, .no-print, 
    .btn-group, .card-header, #progress-bar, .fixedbuttons,
    .dataTables_filter, .dataTables_info, .dataTables_paginate {
        display: none !important;
    }

    /* 3. On libÃ¨re le conteneur principal */
    main, .adminuiux-content, #main-content {
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        width: 100% !important;
    }

    /* 4. On force la visibilitÃ© de tout ce qui reste (Tableau ou Fiche) */
    body { background: white !important; }
    * { 
        visibility: visible !important; 
        -webkit-print-color-adjust: exact !important; 
        print-color-adjust: exact !important; 
    }

    /* 5. Cas spÃ©cifique de la Fiche Profil (si elle existe) */
    .print-section {
        position: absolute; top: 0; left: 0; width: 100% !important;
    }
}

.temporary-credentials-card {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border: 1px solid #efd28b;
    border-radius: 14px;
    background: linear-gradient(135deg, #fffdf7 0%, #fff7df 100%);
    box-shadow: 0 12px 30px rgba(149, 100, 17, 0.12);
}

.temporary-credentials-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: #d99b20;
    content: "";
}

.temporary-credentials-header,
.temporary-credentials-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.temporary-credentials-header {
    padding-bottom: 14px;
    border-bottom: 1px solid #efdcae;
}

.temporary-credentials-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: #fff0c2;
    color: #a66b00;
    font-size: 19px;
}

.temporary-credentials-heading {
    flex: 1 1 320px;
}

.temporary-credentials-heading > strong {
    display: block;
    margin-bottom: 2px;
    color: #7a4d00;
    font-family: var(--adminuiux-title-font);
    font-size: 15px;
    font-weight: 700;
}

.temporary-credentials-heading p {
    color: #725f3d;
    font-size: 12.5px;
    line-height: 1.45;
}

.temporary-credentials-badge {
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid #f0d7a1;
    background: #fff8e8;
    color: #956411;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.temporary-credentials-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.temporary-credential-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 12px 14px;
    border: 1px solid #ead9ad;
    border-radius: 10px;
    background: #fff;
}

.temporary-credential-item.is-password {
    border-color: #e0aa35;
    background: #fff4d2;
}

.temporary-credential-item span {
    color: #806637;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.temporary-credential-value {
    color: #7a4d00;
    font-family: Consolas, "Courier New", monospace;
    font-size: 16px;
    letter-spacing: 0.02em;
    user-select: all;
}

.temporary-credentials-actions {
    justify-content: flex-start;
    margin-bottom: 12px;
}

.temporary-credentials-actions .btn {
    border-radius: 8px;
    font-weight: 700;
}

.copy-credentials-feedback {
    color: #18794e;
    font-size: 12px;
    font-weight: 700;
}

.temporary-credentials-note {
    padding-top: 10px;
    border-top: 1px dashed #e2c77d;
    color: #725f3d;
    font-size: 11.5px;
}

@media (max-width: 576px) {
    .temporary-credentials-card {
        padding: 15px;
    }

    .temporary-credentials-grid {
        grid-template-columns: 1fr;
    }

    .temporary-credentials-badge {
        margin-left: 54px;
    }

    .temporary-credentials-actions .btn {
        width: 100%;
    }
}

.workday-closed-page {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 24px;
}

.workday-closed-card {
    background: #ffffff;
    border: 1px solid #dce3eb;
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(23, 63, 95, 0.12);
    max-width: 520px;
    padding: 38px;
    text-align: center;
    width: 100%;
}

.workday-closed-logo {
    height: auto;
    margin-bottom: 28px;
    max-width: 210px;
}

.workday-closed-icon {
    align-items: center;
    background: #e8f5ef;
    border: 1px solid #c9e8d8;
    border-radius: 50%;
    color: #19734c;
    display: inline-flex;
    font-size: 34px;
    height: 72px;
    justify-content: center;
    margin-bottom: 18px;
    width: 72px;
}

.workday-closed-kicker {
    color: #2f6f73;
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.workday-closed-card h1 {
    color: #173f5f;
    font-size: 26px;
    font-weight: 800;
    margin: 7px 0 10px;
}

.workday-closed-card p {
    color: #526173;
    font-size: 14px;
    line-height: 1.55;
}

.workday-closed-note {
    background: #f6f8fb;
    border-radius: 7px;
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
    margin: 22px 0;
    padding: 13px;
}

/* PrÃ©sences et salaires */
.presence-sign-card {
    border-top: 4px solid #2f6f73 !important;
}

.presence-sign-icon {
    align-items: center;
    background: #eef8f6;
    border: 1px solid #c9e5df;
    border-radius: 12px;
    color: #2f6f73;
    display: inline-flex;
    font-size: 24px;
    height: 44px;
    justify-content: center;
    margin-bottom: 0;
    flex: 0 0 44px;
    width: 44px;
}

/* Tableau de bord piloté par les permissions de rôle. */
.dashboard-insights-row:has(> :only-child),
.dashboard-agent-finance-grid:has(> :only-child),
.dashboard-unpaid-card-sections:has(> :only-child) {
    grid-template-columns: minmax(0, 1fr);
}

.dashboard-no-access-card {
    border: 1px dashed #b9c9d5 !important;
    color: #496276;
}

.dashboard-no-access-card i {
    color: #2f7a7b;
    font-size: 1.5rem;
}

.attendance-summary-row .enterprise-card {
    min-height: 0;
}

.attendance-summary-row .card-body {
    font-size: 13px;
    padding: 10px 12px !important;
}

.attendance-summary-row h5 {
    font-size: 16px;
    line-height: 1.2;
}

.attendance-summary-row .text-uppercase.small {
    font-size: 11px !important;
    letter-spacing: .02em;
}

.attendance-summary-row .presence-schedule-text {
    font-size: 10px !important;
    line-height: 1.3;
    margin-bottom: 8px !important;
}

.attendance-summary-row .btn {
    font-size: 13px;
    min-height: 36px;
    padding-bottom: 6px;
    padding-top: 6px;
}

.attendance-summary-row .form-control,
.attendance-summary-row .form-select {
    font-size: 13px;
    min-height: 36px;
    padding-bottom: 5px;
    padding-top: 5px;
}

.attendance-summary-row .presence-progress .small,
.attendance-summary-row .presence-progress .fw-bold {
    font-size: 12px !important;
}

.attendance-summary-row .attendance-evaluation-note {
    align-items: center;
    display: none;
    font-size: 12px !important;
    line-height: 1.35;
    padding: 8px 10px;
}

.attendance-summary-row .attendance-month-header form {
    align-items: center;
}

.attendance-summary-row .attendance-month-header {
    margin-bottom: 8px !important;
}

.attendance-summary-row .attendance-month-header .enterprise-control {
    min-width: 170px;
}

@media (max-width: 767.98px) {
    .attendance-summary-row .attendance-month-header {
        align-items: stretch !important;
        flex-direction: column;
    }

    .attendance-summary-row .attendance-month-header form,
    .attendance-summary-row .attendance-month-header .enterprise-control {
        width: 100%;
    }
}

/* Cartes de synthèse : l'icône flotte dans l'angle, sans repousser le contenu. */
#main-content .tableur-cash-card-main {
    display: block !important;
    min-height: 48px;
    padding-right: 48px !important;
    position: relative;
}

#main-content .tableur-cash-card-main > .tableur-cash-icon {
    float: none;
    margin: 0;
    position: absolute;
    right: 9px;
    top: 7px;
    z-index: 1;
}

#main-content .tableur-cash-card-main > div {
    display: block !important;
    min-width: 0;
    width: 100%;
}

@media (max-width: 767.98px) {
    #main-content .tableur-cash-card-main {
        min-height: 43px;
        padding-right: 42px !important;
    }

    #main-content .tableur-cash-card-main > .tableur-cash-icon {
        right: 7px;
        top: 6px;
    }
}

.app-confirm-overlay{position:fixed;inset:0;z-index:10900;display:grid;place-items:center;padding:20px;background:rgba(15,35,50,.48);backdrop-filter:blur(3px)}
.app-confirm-card{width:min(420px,100%);padding:24px;text-align:center;background:#fff;border:1px solid #dce6ec;border-radius:18px;box-shadow:0 24px 70px rgba(14,42,60,.24)}
.app-confirm-card .app-confirm-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#e8f3f3;color:#176b7b;font-size:22px}.app-confirm-card h5{color:#173f5f;font-weight:800}.app-confirm-card p{color:#607286}.app-confirm-card>div:last-child{display:flex;justify-content:center;gap:10px}

.presence-progress .progress {
    background: #e8eef3;
    height: 7px;
}

.presence-progress .progress-bar {
    background: #2f6f73;
}

.presence-today-summary {
    align-items: center;
    background: #eef8f6;
    border: 1px solid #c9e5df;
    border-radius: 7px;
    display: flex;
    justify-content: space-between;
    padding: 10px 12px;
}

.presence-today-summary span {
    color: #526173;
    font-size: 12px;
    font-weight: 700;
}

.presence-today-summary strong {
    color: #173f5f;
    font-size: 15px;
}

.payroll-rule {
    align-items: flex-start;
    background: #f6f8fb;
    border: 1px solid #dce3eb;
    border-radius: 7px;
    color: #526173;
    display: flex;
    font-size: 11px;
    gap: 8px;
    line-height: 1.45;
    padding: 10px;
}

.payroll-payment-input {
    min-width: 105px;
    width: 115px;
}

.salary-tabs {
    background: #ffffff;
    border: 1px solid #dce3eb;
    border-radius: 9px;
    display: inline-flex;
    gap: 4px;
    padding: 5px;
}

.salary-tabs a {
    border-radius: 6px;
    color: #526173;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    padding: 9px 16px;
    text-decoration: none;
}

.salary-tabs a.active {
    background: #2f6f73;
    color: #ffffff;
}

.presence-subtabs {
    background: #f6f9fb;
    border-left: 3px solid #2f6f73;
    margin-left: 18px;
}

.presence-subtabs a {
    font-size: 11px;
    padding: 7px 13px;
}

.enterprise-table-card .table thead th {
    background: #f3f7fa;
    border-bottom: 2px solid #d7e2ea;
    color: #173f5f;
    font-size: 11px;
    letter-spacing: .025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.enterprise-table-card .table tbody tr:hover {
    background: #f8fbfc;
}

.enterprise-table-card .table td {
    border-color: #e7edf2;
    vertical-align: middle;
}

.salary-live-summary {
    background: #f6f8fb;
    border: 1px solid #dce3eb;
    border-radius: 7px;
    color: #526173;
    font-size: 12px;
    line-height: 1.6;
    padding: 12px;
}

.salary-live-summary.salary-live-summary-error {
    background: #fff5f5;
    border-color: #f1b8bd;
    color: #b42318;
}

#advance-summary.salary-live-summary {
    background: #fff5f5;
    border-color: #f1b8bd;
    color: #b42318;
}

#advance-summary.salary-live-summary strong {
    color: #b42318;
}

.debt-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.debt-overview-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    border: 1px solid #ead7d8;
    border-radius: 11px;
    background: linear-gradient(135deg, #fff 0%, #fff7f7 100%);
    box-shadow: 0 6px 18px rgba(91, 33, 38, 0.06);
}

.debt-overview-card.is-empty {
    border-color: #cce3d7;
    background: #f5fbf8;
}

.debt-overview-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #fce8e9;
    color: #b42318;
    font-size: 18px;
}

.debt-overview-content {
    min-width: 0;
}

.debt-overview-content small {
    display: block;
    margin-bottom: 3px;
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.debt-overview-content > strong {
    display: block;
    color: #8f1d25;
    font-family: var(--adminuiux-title-font);
    font-size: 18px;
}

.debt-overview-details {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-top: 7px;
    color: #667085;
    font-size: 11px;
}

.debt-general-total {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 14px;
    padding: 12px 14px;
    border-top: 2px solid #173f5f;
    color: #526173;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.debt-general-total div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.debt-general-total strong {
    padding: 5px 9px;
    border-radius: 6px;
    background: #fce8e9;
    color: #9f2028;
    font-size: 13px;
}

.saving-overview-grid,
.saving-account-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.saving-overview-card,
.saving-account-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid #cce3d7;
    border-radius: 11px;
    background: linear-gradient(135deg, #fff 0%, #f3fbf7 100%);
    box-shadow: 0 6px 18px rgba(24, 121, 78, 0.06);
}

.saving-overview-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #def3e8;
    color: #18794e;
    font-size: 18px;
}

.saving-overview-card small,
.saving-account-card small {
    display: block;
    color: #667085;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
}

.saving-overview-card strong,
.saving-account-card strong {
    display: block;
    color: #11633f;
    font-family: var(--adminuiux-title-font);
    font-size: 17px;
}

.saving-overview-card span:not(.saving-overview-icon) {
    color: #667085;
    font-size: 11px;
}

.saving-page .saving-overview-grid {
    gap: 8px;
}

.saving-page .saving-overview-card {
    gap: 9px;
    min-height: 0;
    padding: 9px 12px;
}

.saving-page .saving-overview-icon {
    flex-basis: 34px;
    font-size: 15px;
    height: 34px;
    width: 34px;
}

.saving-page .saving-overview-card small {
    font-size: 9px;
    line-height: 1.2;
}

.saving-page .saving-overview-card strong {
    font-size: 15px;
    line-height: 1.25;
}

.saving-page .saving-overview-card span:not(.saving-overview-icon) {
    font-size: 10px;
    line-height: 1.2;
}

.saving-page .enterprise-filter-card {
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

.saving-page .enterprise-filter-card .row {
    min-height: 38px;
}

.saving-page .enterprise-filter-card .row > .col-md-3:first-child {
    align-items: center;
    display: flex;
    gap: 10px;
}

.saving-page .enterprise-filter-card .row > .col-md-3:first-child > label {
    flex: 0 0 auto;
    margin: 0 !important;
    white-space: nowrap;
}

.saving-page .enterprise-filter-card .row > .col-md-3:first-child > select {
    flex: 1 1 auto;
    min-width: 0;
}

.saving-deposit-form {
    align-items: end;
    display: grid;
    gap: 7px 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.saving-deposit-form label {
    font-size: 11px !important;
    line-height: 1.15;
    margin-bottom: 3px;
}

.saving-deposit-form .form-control,
.saving-deposit-form .form-select {
    font-size: 12px;
    min-height: 34px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.saving-deposit-form > div {
    min-width: 0;
    width: auto;
}

.saving-deposit-form > .col-12 {
    grid-column: 1 / -1;
}

.saving-deposit-form .btn {
    font-size: 12px;
    min-height: 34px;
    padding: 5px 14px;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .saving-deposit-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .saving-deposit-form {
        grid-template-columns: 1fr;
    }

    .saving-deposit-form .btn {
        width: 100%;
    }
}

.saving-account-card {
    align-items: flex-start;
    flex-direction: column;
}

.debt-forecast-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.debt-forecast-card {
    padding: 14px;
    border: 1px solid #efd28b;
    border-radius: 10px;
    background: #fffaf0;
}

.debt-forecast-card small,
.debt-forecast-card span {
    display: block;
    color: #667085;
    font-size: 11px;
}

.debt-forecast-card strong {
    display: block;
    margin: 3px 0;
    color: #956411;
    font-family: var(--adminuiux-title-font);
    font-size: 18px;
}

.debt-statistics-chart {
    position: relative;
    min-height: 330px;
    height: 100%;
}

.debt-statistics-summary {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
    border: 1px solid #dce5ee;
    border-radius: 14px;
    background: linear-gradient(145deg, #f8fbfd, #fff);
}

.debt-statistics-summary p,
.debt-statistics-summary span {
    color: #667085;
    font-size: 12px;
}

.debt-chart-legend {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-weight: 700;
}

.debt-chart-legend i {
    width: 13px;
    height: 13px;
    border-radius: 4px;
    background: #cf5b63;
}

.debt-summary-value {
    padding: 16px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(31, 55, 78, .07);
}

.debt-summary-value small,
.debt-summary-value strong,
.debt-summary-value span {
    display: block;
}

.debt-summary-value small {
    color: #667085;
    font-weight: 700;
}

.debt-summary-value strong {
    margin: 4px 0;
    color: #153d5c;
    font-family: var(--adminuiux-title-font);
    font-size: 25px;
}

.debt-summary-deadline {
    border-left: 4px solid #d5a12b;
}

.audit-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: #356b8d;
    background: #edf5fa;
}

.audit-table td strong,
.audit-table td small { display: block; }
.audit-table td small { color: #667085; }
.audit-table { font-size: 11px; }
.audit-table thead th { color: #667085; font-size: 9px; padding: 8px 7px; text-transform: uppercase; white-space: nowrap; }
.audit-table td { max-width: 260px; padding: 8px 7px; vertical-align: middle; }
.audit-table td:nth-child(1) { white-space: nowrap; }
.audit-table td strong { font-size: 11px; line-height: 1.25; }
.audit-table td small { font-size: 9px; line-height: 1.25; }
.audit-details { color: #536273; font-size: 10px; }
.audit-target strong { color: #153d5c; }
.audit-action-icon { float: left; width: 24px; height: 24px; margin-right: 6px; border-radius: 7px; font-size: 11px; }
.audit-table .badge { font-size: 9px; padding: 4px 7px; }
.audit-device small { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.realtime-notification-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 300px;
    padding: 10px 12px;
}

.realtime-notification-item strong,
.realtime-notification-item small {
    display: block;
}

.realtime-notification-item strong {
    color: #153d5c;
    font-size: 12px;
}

.realtime-notification-item small {
    color: #667085;
    font-size: 10px;
}

.realtime-notification-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    color: #a36500;
    background: #fff4d6;
}

@media (max-width: 1199.98px) {
    .debt-forecast-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .debt-forecast-grid {
        grid-template-columns: 1fr;
    }
}

.payroll-preview-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.payroll-preview-grid span {
    color: #667085;
    display: flex;
    flex-direction: column;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.payroll-preview-grid strong {
    color: #173f5f;
    font-size: 13px;
    margin-top: 3px;
    text-transform: none;
}

.presence-admin-filter {
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin: 0;
    padding: 12px;
}

.salary-scale-form {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(190px, 1.35fr) minmax(125px, 1fr) minmax(125px, 1fr) minmax(90px, .65fr) minmax(145px, 1fr) auto;
}

.salary-scale-form > div {
    min-width: 0;
    width: auto;
}

.salary-scale-form .btn {
    min-height: 38px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}

.salary-advance-form {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(210px, 1.4fr) minmax(130px, .8fr) minmax(150px, .9fr) minmax(210px, 1.2fr) auto;
}

.salary-advance-form > div {
    min-width: 0;
    width: auto;
}

.salary-advance-form > .col-12 {
    grid-column: 1 / -1;
}

.salary-advance-form .btn {
    min-height: 38px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}

@media (max-width: 1199.98px) {
    .salary-scale-form,
    .salary-advance-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .salary-scale-form,
    .salary-advance-form {
        grid-template-columns: 1fr;
    }

    .salary-scale-form .btn,
    .salary-advance-form .btn {
        width: 100%;
    }
}

.absence-date-picker {
    align-content: start;
    background: #fff;
    display: grid;
    gap: 5px;
    max-height: 146px;
    min-height: 38px;
    overflow-y: auto;
    padding: 7px 9px;
}

.absence-date-picker.is-disabled {
    background: #f1f5f9;
}

.absence-date-option {
    align-items: center;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 5px 7px;
}

.absence-date-option:hover {
    background: #e8f1f4;
}

.absence-date-select-all {
    background: #eef8f6;
    border-bottom: 1px solid #cfe4df;
    color: #245f63;
    font-weight: 800;
    position: sticky;
    top: -7px;
    z-index: 1;
}

.absence-date-option input {
    accent-color: #2f7b7f;
    height: 16px;
    width: 16px;
}

.presence-absence-form {
    align-items: start;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(190px, .9fr) minmax(230px, 1fr) minmax(280px, 1.25fr) auto;
}

.presence-absence-form > div {
    min-width: 0;
    width: auto;
}

.presence-absence-form > .col-md-auto {
    align-self: start;
    margin-top: 23px;
}

.presence-absence-form > .col-md-auto .btn {
    min-height: 38px;
    white-space: nowrap;
}

.presence-absence-form #absence-alert {
    grid-column: 1 / -1;
}

.presence-absence-form .absence-date-picker + small {
    display: block;
    font-size: 11px;
    line-height: 1.25;
    margin-top: 4px;
}

@media (max-width: 1199.98px) {
    .presence-absence-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .presence-absence-form > .col-md-auto {
        margin-top: 0;
    }
}

@media (max-width: 767.98px) {
    .presence-absence-form {
        grid-template-columns: 1fr;
    }

    .presence-admin-filter .btn {
        width: 100%;
    }

    .salary-tabs {
        display: grid;
        width: 100%;
    }

    .payroll-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}



/* --- STYLE Ã‰CRAN --- */
.avatar-box {
    transition: all 0.3s ease;
}
.avatar-box:hover {
    background-color: #f1f4f8 !important;
}

/* Optionnel : Ajuste la largeur sur l'Ã©cran pour simuler le Portrait */
.print-section {
    max-width: 850px;
    margin: 20px auto;
}

/* Enterprise UI baseline */
.enterprise-page {
    color: #202733;
    padding-top: 14px !important;
}

.enterprise-page-title {
    font-size: 1.15rem;
    letter-spacing: 0;
}

.enterprise-page > .d-flex:first-child,
.enterprise-page > .d-flex.flex-wrap:first-child {
    margin-bottom: 14px !important;
}

.enterprise-page > .d-flex:first-child > div:first-child,
.enterprise-page > .d-flex.flex-wrap:first-child > div:first-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.enterprise-page > .d-flex:first-child .enterprise-page-title,
.enterprise-page > .d-flex.flex-wrap:first-child .enterprise-page-title {
    margin: 0 !important;
}

.enterprise-page > .d-flex:first-child .enterprise-page-title + p,
.enterprise-page > .d-flex.flex-wrap:first-child .enterprise-page-title + p {
    align-items: center;
    display: inline-flex;
    line-height: 1.25;
    margin: 0 !important;
}

.enterprise-page > .d-flex:first-child .enterprise-page-title + p::before,
.enterprise-page > .d-flex.flex-wrap:first-child .enterprise-page-title + p::before {
    background: #a9b4c3;
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 18px;
    margin-right: 8px;
    width: 2px;
}

.enterprise-card {
    border: 1px solid #dde3ea !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 22px rgba(24, 39, 75, 0.05) !important;
    background: #ffffff;
}

.enterprise-form-card {
    border-top: 3px solid #2f6f73 !important;
}

.enterprise-form-card .card-body > .d-flex:first-child {
    margin-bottom: 8px !important;
}

.enterprise-form-card .card-body > .d-flex:first-child h6 {
    font-size: 13px;
    margin: 0 !important;
}

.enterprise-form-card label,
.enterprise-filter-card label {
    color: #3b4654;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
}

.enterprise-control,
.enterprise-form-card .form-control,
.enterprise-form-card .form-select,
.enterprise-filter-card .form-control,
.enterprise-filter-card .form-select {
    min-height: 34px;
    border: 1px solid #cfd7e2 !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    color: #202733;
    font-size: 12px;
    box-shadow: none !important;
}

.enterprise-control:focus,
.enterprise-form-card .form-control:focus,
.enterprise-form-card .form-select:focus,
.enterprise-filter-card .form-control:focus,
.enterprise-filter-card .form-select:focus {
    border-color: #2f6f73 !important;
    box-shadow: 0 0 0 3px rgba(47, 111, 115, 0.13) !important;
}

.profile-page .profile-alert-zone {
    max-width: 100%;
}

.profile-identity-card,
.profile-form-card {
    padding: 14px;
}

.profile-identity-top {
    align-items: center;
    border-bottom: 1px solid #e4e9f0;
    display: flex;
    gap: 12px;
    padding-bottom: 12px;
}

.profile-identity-photo {
    background: #f4f7fa;
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 5px 14px rgba(24, 39, 75, 0.12);
    flex: 0 0 auto;
    height: 76px;
    object-fit: cover;
    width: 76px;
}

.profile-username {
    color: #697789;
    font-size: 12px;
    font-weight: 600;
}

.profile-info-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
}

.profile-info-item {
    background: #f7f9fb;
    border: 1px solid #e3e9f1;
    border-radius: 6px;
    min-width: 0;
    padding: 8px 9px;
}

.profile-info-item span {
    color: #728096;
    display: block;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.profile-info-item strong {
    color: #202733;
    display: block;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-photo-picker {
    border-top: 1px solid #e4e9f0;
    margin-top: 12px;
    padding-top: 12px;
}

.profile-photo-picker .form-text,
.profile-section-heading small {
    color: #778397;
    font-size: 11px;
}

.profile-form-card {
    display: grid;
    gap: 12px;
}

.profile-form-section {
    border: 1px solid #e3e9f1;
    border-radius: 8px;
    padding: 12px;
}

.profile-security-section {
    background: #fff8f8;
    border-color: #f0c9c9;
}

.profile-section-heading {
    align-items: center;
    display: flex;
    gap: 9px;
    margin-bottom: 10px;
}

.profile-section-heading h6 {
    color: #202733;
    font-size: 13px;
    font-weight: 700;
}

.profile-section-icon {
    align-items: center;
    background: #edf5f5;
    border-radius: 6px;
    color: #2f6f73;
    display: inline-flex;
    flex: 0 0 auto;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.profile-security-section .profile-section-icon {
    background: #fdecec;
}

.profile-action-bar {
    align-items: center;
    border-top: 1px solid #e4e9f0;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding-top: 12px;
}

.profile-page .form-label {
    margin-bottom: 4px;
}

.profile-page .form-text {
    margin-top: 4px;
}

.min-width-0 {
    min-width: 0;
}

.enterprise-photo {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border: 1px solid #cfd7e2;
    background: #f6f8fb;
}

.enterprise-form-actions {
    min-height: 34px;
}

.user-account-form {
    padding-top: 2px;
}

.user-password-panel {
    align-items: center;
    background: #f7f9fb;
    border: 1px solid #dfe6ee;
    border-radius: 8px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(210px, 0.9fr) minmax(320px, 1.5fr) auto;
    padding: 12px 14px;
}

.user-password-heading {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.user-password-heading strong,
.user-password-heading small {
    display: block;
}

.user-password-heading strong {
    color: #263445;
    font-size: 12px;
    margin-bottom: 3px;
}

.user-password-heading small {
    color: #778397;
    font-size: 9.5px;
    line-height: 1.35;
}

.user-password-icon {
    align-items: center;
    background: #e7f0f5;
    border: 1px solid #d2e1e9;
    border-radius: 7px;
    color: #416b86;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 15px;
    height: 34px;
    justify-content: center;
}

.user-password-control {
    min-width: 0;
}

.user-password-requirements {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 10px;
    margin-top: 5px;
}

.user-password-requirements span {
    color: #657084;
    font-size: 8.5px;
    font-weight: 700;
    white-space: nowrap;
}

.user-password-requirements i {
    color: #2f7a59;
    font-size: 9px;
}

.user-form-actions {
    align-items: center;
    min-width: max-content;
}

.btn-enterprise-primary {
    background: #2f6f73 !important;
    border-color: #2f6f73 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
}

.btn-enterprise-primary:hover {
    background: #285f62 !important;
    border-color: #285f62 !important;
}

.btn-enterprise-secondary {
    background: #ffffff !important;
    border: 1px solid #cfd7e2 !important;
    color: #334155 !important;
    border-radius: 6px !important;
}

.btn-enterprise-secondary:hover {
    background: #f6f8fb !important;
}

.enterprise-filter-card {
    border: 1px solid #dde3ea !important;
    border-radius: 8px 8px 0 0 !important;
    background: #fbfcfe !important;
}

.enterprise-filter-card .row {
    align-items: end !important;
    min-height: 54px;
}

.enterprise-search-slot {
    align-self: end;
}

.enterprise-inline-search {
    min-width: 0;
}

.salary-page .enterprise-inline-search,
.attendance-page .enterprise-inline-search,
.debt-page .enterprise-inline-search,
.saving-page .enterprise-inline-search {
    align-items: center;
    display: flex;
    gap: 10px;
}

.salary-page .enterprise-inline-search > label,
.attendance-page .enterprise-inline-search > label,
.debt-page .enterprise-inline-search > label,
.saving-page .enterprise-inline-search > label {
    flex: 0 0 auto;
    margin: 0 !important;
    white-space: nowrap;
}

.salary-page .enterprise-inline-search-control,
.attendance-page .enterprise-inline-search-control,
.debt-page .enterprise-inline-search-control,
.saving-page .enterprise-inline-search-control {
    flex: 1 1 auto;
    min-width: 0;
}

.salary-page .enterprise-inline-search-control .form-control,
.attendance-page .enterprise-inline-search-control .form-control,
.debt-page .enterprise-inline-search-control .form-control,
.saving-page .enterprise-inline-search-control .form-control {
    min-width: 0;
}

.salary-exercise-bar {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe4ec;
    border-radius: 8px;
    display: flex;
    gap: 12px;
    padding: 8px 10px;
}

.salary-exercise-selector {
    align-items: center;
    display: flex;
    gap: 8px;
}

.salary-exercise-selector label {
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.salary-exercise-selector select { min-width: 190px; }

.salary-exercise-state {
    align-items: center;
    display: flex;
    font-size: 11px;
    font-weight: 700;
    gap: 6px;
    margin-right: auto;
}
.salary-exercise-state.is-open { color: #18794e; }
.salary-exercise-state.is-locked { color: #a33a3a; }
.salary-opening-balances{display:flex;flex-wrap:wrap;gap:6px}.salary-opening-balances span{background:#eaf2f7;border-radius:6px;color:#526173;font-size:10px;padding:4px 7px}.salary-opening-balances strong{color:#173f5f;margin-left:3px}

@media(max-width:767.98px){.salary-exercise-bar{align-items:stretch;flex-direction:column}.salary-exercise-selector{align-items:stretch;flex-direction:column}.salary-exercise-selector select{min-width:0;width:100%}}

.enterprise-inline-search-control {
    position: relative;
}

.enterprise-inline-search-control i {
    color: #7b8797;
    font-size: 11px;
    left: 11px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.enterprise-inline-search-control .form-control {
    min-width: 210px;
    padding-left: 31px !important;
    width: 100%;
}

.enterprise-filter-card .btn-print-report {
    min-height: 34px;
    white-space: nowrap;
}

.accounting-report-filter-form {
    display: grid !important;
    grid-template-columns: minmax(112px, .72fr) minmax(112px, .72fr) minmax(155px, 1fr) minmax(90px, .55fr) minmax(145px, .85fr) max-content;
    gap: 6px !important;
}

.accounting-report-filter-form > [class*="col-"] {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    width: auto;
}

.accounting-report-filter-form label {
    font-size: 10px;
    line-height: 1.1;
}

.accounting-report-filter-form .enterprise-control,
.accounting-report-filter-form .form-control,
.accounting-report-filter-form .form-select {
    font-size: 12px;
    height: 31px;
    min-height: 31px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.accounting-report-filter-form .enterprise-search-slot {
    min-width: 0;
}

.accounting-report-filter-form .enterprise-inline-search {
    min-width: 0;
}

.accounting-report-filter-form .enterprise-inline-search > label {
    font-size: 10px;
    margin-bottom: 4px !important;
}

.accounting-report-filter-form .enterprise-inline-search-control,
.accounting-report-filter-form .enterprise-inline-search-control .input-group,
.accounting-report-filter-form .enterprise-inline-search-control .form-control {
    min-width: 0;
    width: 100%;
}

.accounting-report-filter-form .enterprise-inline-search-control .form-control {
    font-size: 12px;
    height: 31px;
    min-height: 31px;
}

.accounting-report-filter-form .accounting-report-export-actions {
    flex-wrap: nowrap;
    min-width: max-content;
    white-space: nowrap;
}

.accounting-report-filter-form .agent-export-btn {
    height: 31px;
    min-height: 31px;
    padding-left: 9px !important;
    padding-right: 9px !important;
}

@media (max-width: 1199.98px) {
    .accounting-report-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .accounting-report-filter-form {
        grid-template-columns: 1fr;
    }
}

.enterprise-table-card {
    border: 1px solid #dde3ea !important;
    border-radius: 8px !important;
    overflow: hidden;
}

.enterprise-table-card .card-header {
    border-bottom: 1px solid #e5ebf2 !important;
}

.enterprise-table-card table.dataTable thead th {
    background: #f6f8fb !important;
    color: #354052 !important;
    letter-spacing: 0 !important;
    border-bottom: 1px solid #dce3eb !important;
}

.enterprise-table-card table.dataTable td {
    color: #253041;
}

.enterprise-table-card table.dataTable {
    width: 100% !important;
}

.enterprise-table-card table.dataTable th.enterprise-actions-column,
.enterprise-table-card table.dataTable td.enterprise-actions-column,
.enterprise-table-card table th:last-child,
.enterprise-table-card table td:last-child {
    text-align: right !important;
    white-space: nowrap !important;
    width: 1% !important;
}

.enterprise-table-card table.dataTable td.enterprise-actions-column .btn,
.enterprise-table-card table td:last-child .btn {
    align-items: center;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    margin: 1px;
    min-width: 30px;
    vertical-align: middle;
}

.enterprise-table-card .table-responsive {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
}

.enterprise-table-card .dataTables_filter label {
    color: #526173;
    font-size: 12px;
    font-weight: 700;
    margin: 0;
    position: relative;
}

.transfer-workspace {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
}

.transfer-quick-layout {
    max-width: 720px;
}

.transfer-quick-card {
    border: 1px solid #dce4ec !important;
    border-radius: 10px !important;
}

.transfer-quick-card .card-body {
    padding: 16px;
}

.transfer-quick-row {
    align-items: center;
    border-bottom: 1px solid #edf1f5;
    display: grid;
    gap: 10px;
    grid-template-columns: 105px minmax(0, 1fr) minmax(150px, .62fr);
    padding: 10px 0;
}

.transfer-quick-row:nth-child(3),
.transfer-quick-row:nth-child(4) {
    grid-template-columns: 105px minmax(0, 1fr);
}

.transfer-quick-row label {
    color: #253041;
    font-size: 12px;
    font-weight: 800;
    margin: 0;
}

.transfer-quick-row .form-control,
.transfer-quick-money {
    min-height: 40px;
}

.transfer-quick-money {
    align-items: stretch;
    border: 1px solid #cfd8e3;
    border-radius: 7px;
    display: flex;
    overflow: hidden;
}

.transfer-quick-money:focus-within {
    border-color: #2f6f73;
    box-shadow: 0 0 0 3px rgba(47, 111, 115, .12);
}

.transfer-quick-money input {
    border: 0;
    flex: 1;
    min-width: 0;
    outline: 0;
    padding: 7px 9px;
}

.transfer-quick-money span {
    align-items: center;
    background: #f1f5f8;
    border-left: 1px solid #dce4ec;
    color: #173f5f;
    display: flex;
    font-size: 11px;
    font-weight: 800;
    padding: 0 9px;
}

.transfer-calculated-value {
    align-items: center;
    background: #f5f8fa;
    border: 1px solid #dce4ec;
    border-radius: 7px;
    display: grid;
    gap: 2px 8px;
    grid-template-columns: auto 1fr;
    min-height: 40px;
    padding: 6px 10px;
}

.transfer-fee-label {
    color: #173f5f;
    font-size: 12px;
    font-weight: 900;
    grid-row: 1 / 3;
    text-transform: uppercase;
}

.transfer-calculated-value strong {
    color: #173f5f;
    font-size: 13px;
}

.transfer-calculated-value small {
    color: #6f7c8d;
    font-size: 9px;
}

.transfer-simple-preview {
    background: #fff;
    border-left: 3px solid #2f6f73;
    display: grid;
    gap: 5px;
    margin: 14px 0;
    padding: 8px 11px;
}

.transfer-simple-preview strong {
    color: #17273b;
    font-size: 12px;
}

.transfer-quick-submit {
    min-height: 40px;
    width: 100%;
}

#transfer-receiver-phone.is-known-client {
    background: #eef8f6;
    border-color: #a8d4c6;
}

.transfer-page .transfer-quick-layout {
    max-width: 640px;
}

.transfer-page .transfer-quick-card .card-body {
    padding: 9px 12px;
}

.transfer-page .transfer-quick-row {
    gap: 7px;
    grid-template-columns: 82px minmax(0, 1fr) minmax(130px, .55fr);
    padding: 5px 0;
}

.transfer-page .transfer-quick-row:nth-child(3),
.transfer-page .transfer-quick-row:nth-child(4) {
    grid-template-columns: 82px minmax(0, 1fr);
}

.transfer-page .transfer-quick-row .form-control,
.transfer-page .transfer-quick-money,
.transfer-page .transfer-calculated-value {
    min-height: 34px;
}

.transfer-page .transfer-quick-row .form-control,
.transfer-page .transfer-quick-money input {
    font-size: 11px;
    padding-bottom: 5px;
    padding-top: 5px;
}

.transfer-page .transfer-simple-preview {
    gap: 2px;
    margin: 7px 0;
    padding: 5px 9px;
}

.transfer-form-actions {
    display: flex;
    gap: 7px;
}

.transfer-form-actions .transfer-quick-submit {
    flex: 1;
    min-height: 34px;
}

.transfer-chat-section {
    background: #ece7de;
    border: 1px solid #ddd4c7;
    border-radius: 9px;
    max-width: 760px;
    overflow: hidden;
}

.transfer-chat-heading {
    align-items: center;
    background: #173f5f;
    color: #fff;
    display: flex;
    font-size: 11px;
    justify-content: space-between;
    padding: 8px 11px;
}

.transfer-chat-heading span {
    background: rgba(255,255,255,.16);
    border-radius: 999px;
    padding: 2px 7px;
}

.transfer-chat-list {
    display: grid;
    gap: 9px;
    max-height: 680px;
    overflow-y: auto;
    padding: 10px;
}

.transfer-chat-item {
    align-items: start;
    display: flex;
    gap: 7px;
}

.transfer-chat-avatar {
    align-items: center;
    background: #9ba5ad;
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex: 0 0 32px;
    font-size: 11px;
    font-weight: 800;
    height: 32px;
    justify-content: center;
}

.transfer-chat-bubble {
    background: #fff;
    border-radius: 4px 9px 9px 9px;
    box-shadow: 0 1px 3px rgba(35, 45, 60, .12);
    max-width: 510px;
    min-width: 260px;
    padding: 7px 9px 5px;
    position: relative;
}

.transfer-chat-bubble::before {
    border-bottom: 7px solid transparent;
    border-right: 8px solid #fff;
    content: "";
    left: -7px;
    position: absolute;
    top: 0;
}

.transfer-chat-item.is-authorized .transfer-chat-bubble {
    border-right: 3px solid #2c9b68;
}

.transfer-chat-meta {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 3px;
}

.transfer-chat-meta strong {
    color: #769d22;
    font-size: 10px;
}

.transfer-chat-meta span {
    color: #98a1ad;
    font-size: 7px;
}

.transfer-chat-line {
    color: #17202c;
    font-size: 13px;
    line-height: 1.35;
}

.transfer-chat-line small,
.transfer-chat-phone {
    color: #667085;
    font-size: 9px;
}

.transfer-chat-phone {
    border-top: 1px solid #edf0f3;
    margin-top: 4px;
    padding-top: 3px;
}

.transfer-chat-footer {
    align-items: center;
    color: #8a939f;
    display: flex;
    font-size: 8px;
    gap: 5px;
    justify-content: flex-end;
    min-height: 13px;
}

.transfer-edited-label {
    color: #c18421;
    font-size: 8px;
    font-weight: 800;
}

.transfer-authorized-mark {
    color: #1b9b61;
    font-size: 13px;
}

.transfer-chat-actions {
    align-items: center;
    display: flex;
    gap: 5px;
    justify-content: flex-end;
    margin-top: 3px;
}

.transfer-chat-actions form {
    margin: 0;
}

.transfer-chat-actions .btn {
    font-size: 8px;
    padding: 2px 6px;
}

.transfer-chat-empty {
    color: #6f7c8d;
    font-size: 11px;
    padding: 16px;
    text-align: center;
}

.transfer-pending-badge {
    align-items: center;
    background: #fff0f1;
    border: 1px solid #efc8cb;
    border-radius: 999px;
    color: #b73c45;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    gap: 5px;
    padding: 5px 9px;
}

.realtime-transfer-menu-badge {
    background: #cf3f4c;
    border-radius: 999px;
    color: #fff;
    font-size: 7px;
    font-weight: 800;
    margin-left: auto;
    padding: 1px 5px;
}

.transfer-tabs a span {
    background: #cf4b55;
    border-radius: 999px;
    color: #fff;
    font-size: 8px;
    margin-left: 3px;
    padding: 1px 5px;
}

.transfer-cash-summary {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 760px;
}

.transfer-cash-summary div {
    background: #f5faf8;
    border: 1px solid #cfe4da;
    border-radius: 7px;
    display: grid;
    padding: 7px 9px;
}

.transfer-cash-summary small,
.transfer-cash-summary span {
    color: #667085;
    font-size: 8px;
}

.transfer-cash-summary strong {
    color: #176746;
    font-size: 13px;
}

.transfer-type-line {
    display: flex;
    gap: 12px;
    margin-bottom: 5px;
}

.transfer-type-line label {
    align-items: center;
    color: #526173;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    gap: 4px;
}

.transfer-recipient-row {
    align-items: center;
    border-bottom: 1px solid #edf1f5;
    display: grid;
    gap: 5px;
    grid-template-columns: 82px minmax(0, 1fr) minmax(125px, .55fr) minmax(130px, .6fr);
    padding: 4px 0;
}

.transfer-recipient-row label {
    color: #253041;
    font-size: 10px;
    font-weight: 800;
}

.transfer-recipient-row .form-control,
.transfer-recipient-row .transfer-quick-money {
    min-height: 34px;
}

.transfer-bank-fields,
.transfer-equity-fields {
    display: none;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 7px;
}

.transfer-bank-fields.show {
    display: grid;
}

.transfer-equity-fields.show {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.transfer-filter-bar {
    display: flex;
    gap: 6px;
    max-width: 760px;
}

.transfer-filter-bar .form-control {
    max-width: 220px;
}

.boss-transfer-grid-wrap {
    max-width: none;
}

.boss-transfer-grid {
    align-items: start;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: none;
}

.boss-transfer-grid .transfer-chat-item {
    min-width: 0;
}

.boss-transfer-grid .transfer-chat-avatar {
    display: none;
}

.boss-transfer-grid .transfer-chat-bubble {
    max-width: none;
    min-width: 0;
    width: 100%;
}

.transfer-bank-image {
    border: 1px solid #dce4ec;
    border-radius: 5px;
    margin-top: 5px;
    max-height: 110px;
    max-width: 100%;
    object-fit: cover;
}

.transfer-bank-preview-trigger {
    background: #f5f8fa;
    border: 1px solid #dce4ec;
    border-radius: 7px;
    cursor: zoom-in;
    justify-self: start;
    overflow: hidden;
    padding: 3px;
}

.transfer-bank-preview-trigger img {
    display: block;
    height: 72px;
    object-fit: cover;
    width: 110px;
}

.transfer-bank-image-lightbox {
    align-items: center;
    background: rgba(8, 20, 31, .88);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 11000;
}

.transfer-bank-image-lightbox.show {
    display: flex;
}

.transfer-bank-image-lightbox img {
    border-radius: 8px;
    max-height: 88vh;
    max-width: 94vw;
    object-fit: contain;
}

.transfer-bank-image-lightbox-close {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 50%;
    color: #173f5f;
    display: flex;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
}

.app-sidebar-backdrop {
    display: none;
}

.transfer-comment {
    background: #fff5f5;
    border-left: 2px solid #cc4a54;
    color: #6b3740;
    font-size: 8px;
    margin-top: 4px;
    padding: 3px 5px;
}

.transfer-comment-form {
    display: none;
    gap: 4px;
    margin-top: 4px;
}

.transfer-comment-form.show {
    display: flex;
}

.transfer-comment-form input {
    border: 1px solid #e1c7ca;
    border-radius: 5px;
    flex: 1;
    font-size: 9px;
    min-width: 0;
    padding: 3px 5px;
}

.transfer-authorized-table {
    font-size: 10px;
    min-width: 760px;
}

.transfer-payment-actions {
    align-items: center;
    display: flex;
    gap: 4px;
}

.transfer-sensitive-actions {
    align-items: center;
    display: flex;
    gap: 4px;
}

.transfer-mobile-action-toggle {
    display: none;
}

.transfer-authorized-desktop .transfer-notify-client {
    align-items: center;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.transfer-authorized-mobile-list {
    display: none;
}

.transfer-payment-actions form {
    align-items: center;
    display: flex;
    gap: 3px;
    margin: 0;
}

.transfer-payment-actions input {
    border: 1px solid #d7dee8;
    border-radius: 4px;
    font-size: 9px;
    max-width: 100px;
    padding: 4px;
}

.transfer-ugx-check {
    align-items: center;
    color: #34536a;
    display: inline-flex;
    font-size: 9px;
    font-weight: 800;
    gap: 4px;
    margin: 0;
    white-space: nowrap;
}

.transfer-ugx-check input {
    max-width: none;
    width: auto;
}

.transfer-ugx-fields {
    align-items: center;
    display: none;
    gap: 4px;
}

.transfer-ugx-fields.is-open {
    display: flex;
}

.transfer-ugx-result {
    color: #176746;
    font-size: 9px;
    min-width: 76px;
    white-space: nowrap;
}

.transfer-sensitive-actions > form.d-none {
    display: none !important;
}

.transfer-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}

.transfer-pagination a {
    background: #fff;
    border: 1px solid #dce4ec;
    border-radius: 4px;
    color: #526173;
    cursor: pointer;
    font-size: 9px;
    padding: 3px 7px;
}

.transfer-pagination a.active {
    background: #173f5f;
    color: #fff;
}

.transfer-mobile-badge {
    align-items: center;
    background: #edf7f8;
    border: 1px solid #cfe4e6;
    border-radius: 999px;
    color: #2f6f73;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    padding: 7px 11px;
}

.transfer-entry-card {
    border: 1px solid #dce4ec !important;
    border-radius: 10px !important;
}

.transfer-entry-card .card-body {
    padding: 18px;
}

.transfer-form-section {
    border-bottom: 1px solid #e8edf2;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.transfer-form-section:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.transfer-section-heading {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 13px;
}

.transfer-section-heading > span {
    align-items: center;
    background: #173f5f;
    border-radius: 7px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 29px;
    font-size: 12px;
    font-weight: 800;
    height: 29px;
    justify-content: center;
}

.transfer-section-heading div {
    display: grid;
}

.transfer-section-heading strong {
    color: #253041;
    font-size: 13px;
}

.transfer-section-heading small {
    color: #7b8798;
    font-size: 10px;
}

.transfer-field-grid {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: 1.35fr 1fr 1fr;
}

.transfer-field {
    min-width: 0;
}

.transfer-field label {
    color: #465467;
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 5px;
}

.transfer-field label small {
    color: #8b96a5;
    font-size: 9px;
    font-weight: 600;
}

.transfer-money-input,
.transfer-percent-input {
    align-items: stretch;
    border: 1px solid #cfd8e3;
    border-radius: 7px;
    display: flex;
    min-height: 38px;
    overflow: hidden;
}

.transfer-money-input:focus-within,
.transfer-percent-input:focus-within {
    border-color: #2f6f73;
    box-shadow: 0 0 0 3px rgba(47, 111, 115, .12);
}

.transfer-money-input input,
.transfer-money-input select,
.transfer-percent-input input {
    background: #fff;
    border: 0;
    color: #253041;
    min-width: 0;
    outline: 0;
}

.transfer-money-input input,
.transfer-percent-input input {
    flex: 1;
    padding: 7px 10px;
}

.transfer-money-input select {
    background: #f1f5f8;
    border-left: 1px solid #dce4ec;
    font-size: 11px;
    font-weight: 800;
    padding: 0 7px;
}

.transfer-percent-input span {
    align-items: center;
    background: #f1f5f8;
    border-left: 1px solid #dce4ec;
    display: flex;
    font-size: 12px;
    font-weight: 800;
    padding: 0 12px;
}

.transfer-fee-result {
    background: #f5f8fa;
    border: 1px solid #dce4ec;
    border-radius: 7px;
    display: grid;
    min-height: 38px;
    padding: 6px 10px;
}

.transfer-fee-result small {
    color: #7b8798;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.transfer-fee-result strong {
    color: #173f5f;
    font-size: 12px;
}

.transfer-submit {
    min-height: 38px;
}

.transfer-preview-card {
    background: #efe9df;
    border: 1px solid #ddd4c7;
    border-radius: 10px;
    overflow: hidden;
    position: sticky;
    top: 82px;
}

.transfer-preview-top {
    align-items: center;
    background: #173f5f;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 11px 13px;
}

.transfer-preview-top span {
    font-size: 11px;
    font-weight: 800;
}

.transfer-preview-top small {
    color: rgba(255,255,255,.7);
    font-size: 8px;
}

.transfer-message {
    background: #fff;
    border-radius: 7px;
    box-shadow: 0 2px 5px rgba(35, 45, 60, .12);
    display: grid;
    gap: 7px;
    margin: 18px 15px 10px;
    padding: 14px 14px 22px;
    position: relative;
}

.transfer-message::before {
    border-bottom: 9px solid transparent;
    border-right: 10px solid #fff;
    content: "";
    left: -9px;
    position: absolute;
    top: 10px;
}

.transfer-message strong {
    color: #202733;
    font-size: 13px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.transfer-message small {
    bottom: 5px;
    color: #7b8798;
    font-size: 9px;
    position: absolute;
    right: 9px;
}

.transfer-preview-note {
    align-items: flex-start;
    color: #6b6256;
    display: flex;
    font-size: 9px;
    gap: 7px;
    line-height: 1.45;
    padding: 5px 15px 15px;
}

@media (max-width: 991.98px) {
    .transfer-workspace {
        grid-template-columns: 1fr;
    }

    .transfer-preview-card {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .transfer-page {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .transfer-entry-card .card-body {
        padding: 12px;
    }

    .transfer-field-grid {
        grid-template-columns: 1fr;
    }

    .transfer-form-section {
        margin-bottom: 13px;
        padding-bottom: 13px;
    }

    .transfer-field .form-control,
    .transfer-money-input,
    .transfer-percent-input {
        min-height: 44px;
    }

    .transfer-fee-section .transfer-field-grid {
        grid-template-columns: 1fr 1fr;
    }

    .transfer-submit {
        grid-column: 1 / -1;
        min-height: 44px;
        width: 100%;
    }

    .transfer-quick-layout {
        max-width: none;
    }

    .transfer-quick-card .card-body {
        padding: 10px;
    }

    .transfer-quick-row,
    .transfer-quick-row:nth-child(3),
    .transfer-quick-row:nth-child(4) {
        gap: 7px;
        grid-template-columns: 1fr;
        padding: 8px 0;
    }

    .transfer-quick-row:first-child,
    .transfer-quick-row:nth-child(2) {
        grid-template-columns: minmax(0, 1.35fr) minmax(115px, .65fr);
    }

    .transfer-quick-row:first-child label,
    .transfer-quick-row:nth-child(2) label {
        grid-column: 1 / -1;
    }

    .transfer-quick-row label {
        font-size: 11px;
    }

    .transfer-quick-row .form-control,
    .transfer-quick-money,
    .transfer-calculated-value {
        min-height: 43px;
    }

    .transfer-simple-preview {
        margin: 10px 0;
    }

    .transfer-page .transfer-quick-row,
    .transfer-page .transfer-quick-row:nth-child(3),
    .transfer-page .transfer-quick-row:nth-child(4) {
        gap: 4px;
        padding: 3px 0;
    }

    .transfer-page .transfer-quick-row:first-child,
    .transfer-page .transfer-quick-row:nth-child(2) {
        grid-template-columns: minmax(0, 1.35fr) minmax(105px, .65fr);
    }

    .transfer-page .transfer-quick-row .form-control,
    .transfer-page .transfer-quick-money,
    .transfer-page .transfer-calculated-value {
        min-height: 37px;
    }

    .transfer-chat-section {
        border-radius: 7px;
    }

    .transfer-chat-list {
        padding: 7px 5px;
    }

    .transfer-chat-avatar {
        flex-basis: 28px;
        height: 28px;
        width: 28px;
    }

    .transfer-chat-bubble {
        max-width: calc(100vw - 75px);
        min-width: 0;
        width: 100%;
    }

    .transfer-recipient-row {
        grid-template-columns: minmax(0, 1fr) minmax(105px, .55fr);
    }

    .transfer-recipient-row label {
        grid-column: 1 / -1;
    }

    .transfer-recipient-row .transfer-recipient-phone {
        grid-column: 1 / -1;
    }

    .transfer-bank-fields,
    .transfer-equity-fields {
        grid-template-columns: 1fr;
    }

    .transfer-filter-bar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .transfer-filter-bar .form-control {
        max-width: none;
    }

    .boss-transfer-grid {
        grid-template-columns: 1fr;
    }

    .transfer-page .transfer-tabs {
        display: grid;
        gap: 5px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .transfer-page .transfer-tabs a {
        font-size: 10px;
        justify-content: flex-start;
        min-height: 38px;
        padding: 7px 8px;
    }

    .transfer-authorized-table {
        min-width: 0;
        width: 100%;
    }

    .transfer-authorized-table thead {
        display: none;
    }

    .transfer-authorized-table,
    .transfer-authorized-table tbody,
    .transfer-authorized-table tr,
    .transfer-authorized-table td {
        display: block;
        width: 100%;
    }

    .transfer-authorized-table tr {
        background: #fff;
        border: 1px solid #dce5ed;
        border-left: 4px solid #2f7a79;
        border-radius: 9px;
        box-shadow: 0 2px 8px rgba(33, 54, 75, .07);
        margin-bottom: 8px;
        padding: 8px 9px;
        overflow: hidden;
    }

    .transfer-authorized-table td {
        border: 0;
        font-size: 11px;
        padding: 2px 0;
    }

    .transfer-authorized-table td:first-child {
        display: none;
    }

    .transfer-authorized-table td[data-label]::before {
        color: #718096;
        content: attr(data-label) " : ";
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .transfer-authorized-table td[data-label="Client"]::before {
        display: none;
    }

    .transfer-authorized-table td[data-label="Client"] strong {
        color: #173f5f;
        display: block;
        font-size: 12px;
        line-height: 1.25;
    }

    .transfer-authorized-table td[data-label="Client"] small {
        color: #8a96a5;
        font-size: 8px;
    }

    .transfer-payment-actions {
        align-items: stretch;
        border-top: 1px solid #edf1f4 !important;
        display: grid;
        gap: 5px;
        grid-template-columns: 1fr 1fr;
        margin-top: 5px;
        padding-top: 7px !important;
        width: 100%;
    }

    .transfer-notify-client,
    .transfer-mobile-action-toggle {
        align-items: center;
        border-radius: 6px;
        display: flex;
        font-size: 10px;
        font-weight: 800;
        gap: 5px;
        justify-content: center;
        min-height: 34px;
    }

    .transfer-mobile-action-toggle {
        background: #eef4f7;
        border: 1px solid #d8e2e9;
        color: #23465d;
        margin: 0;
        padding: 6px 8px;
        width: 100%;
    }

    .transfer-sensitive-actions {
        display: none !important;
        gap: 5px;
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        min-width: 0;
        width: 100%;
    }

    .transfer-sensitive-actions.is-open {
        display: grid !important;
    }

    .transfer-payment-actions .transfer-sensitive-actions form {
        align-items: stretch;
        background: #f6f9fb;
        border: 1px solid #e0e7ed;
        border-radius: 7px;
        display: grid !important;
        gap: 5px;
        grid-template-columns: 1fr;
        margin: 0;
        min-width: 0;
        padding: 6px;
        width: 100%;
    }

    .transfer-payment-actions .transfer-sensitive-actions input,
    .transfer-payment-actions .transfer-sensitive-actions .btn {
        display: block;
        max-width: none !important;
        min-height: 34px;
        overflow: hidden;
        white-space: normal;
        width: 100% !important;
    }
}

.enterprise-table-card .dataTables_filter input {
    width: 260px !important;
    min-height: 34px;
    border-radius: 6px !important;
    border: 1px solid #cfd7e2 !important;
    background: #ffffff !important;
    padding: 5px 12px 5px 34px !important;
    font-size: 12px !important;
    color: #202733 !important;
}

.enterprise-table-card .dataTables_filter label::before {
    content: "\F52A";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: #7b8797;
    font-size: 13px;
    z-index: 1;
}

.enterprise-table-card .dataTables_filter input:focus {
    width: 300px !important;
    border-color: #2f6f73 !important;
    box-shadow: 0 0 0 3px rgba(47, 111, 115, 0.13) !important;
}

.enterprise-dt-toolbar {
    border-bottom: 1px solid #eef2f6;
    padding-bottom: 10px;
}

.enterprise-dt-footer {
    border-top: 1px solid #eef2f6;
    padding-top: 10px;
}

.enterprise-table-card .dataTables_info {
    color: #526173 !important;
    font-size: 12px !important;
    padding-top: 0 !important;
}

.enterprise-table-card .dataTables_paginate {
    padding-top: 0 !important;
}

@media (max-width: 767.98px) {
    .enterprise-dt-toolbar,
    .enterprise-dt-footer {
        align-items: stretch !important;
        flex-direction: column;
        gap: 10px;
    }

    .enterprise-table-card .dataTables_filter input,
    .enterprise-table-card .dataTables_filter input:focus {
        width: 100% !important;
    }

    .enterprise-search-slot {
        width: 100%;
    }

    .enterprise-inline-search-control .form-control {
        min-width: 0;
    }
}

.app-navbar-logo,
.app-loader-logo,
.app-login-logo,
.app-auth-logo {
    display: block !important;
    object-fit: contain !important;
}

.app-navbar-logo {
    width: 220px !important;
    height: auto !important;
    max-height: 54px !important;
    max-width: 34vw !important;
}

.app-loader-logo {
    height: 100px;
    max-width: min(520px, 88vw);
    margin-left: auto;
    margin-right: auto;
}

.app-login-logo {
    width: min(230px, 68vw) !important;
    height: auto !important;
    max-height: none !important;
}

.app-auth-logo {
    height: 90px;
    max-width: min(390px, 84vw);
    margin-left: auto;
    margin-right: auto;
}

.navbar-brand .app-navbar-logo {
    width: 220px !important;
    height: auto !important;
    max-height: 54px !important;
    max-width: 34vw !important;
    margin-right: 0 !important;
}

.navbar-brand .app-login-logo {
    width: min(230px, 68vw) !important;
    height: auto !important;
    max-height: none !important;
}

@media (max-width: 575.98px) {
    .app-navbar-logo {
        width: 92px !important;
        height: auto !important;
        max-height: 32px !important;
        max-width: 25vw !important;
    }

    .navbar-brand .app-navbar-logo {
        width: 92px !important;
        height: auto !important;
        max-height: 32px !important;
        max-width: 25vw !important;
    }

    .app-loader-logo {
        height: 108px;
        max-width: 84vw;
    }

    .app-login-logo,
    .app-auth-logo {
        width: min(210px, 72vw) !important;
        height: auto !important;
    }
}

/* Application navigation */
.adminuiux-header .navbar {
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid rgba(23, 63, 95, 0.1);
    box-shadow: 0 8px 28px rgba(23, 63, 95, 0.08);
}

.app-header-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 2px;
    white-space: nowrap;
}

.adminuiux-header .btn-link-header,
.adminuiux-header .sidebar-toggler {
    border-radius: 10px !important;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.adminuiux-header .btn-link-header:hover,
.adminuiux-header .sidebar-toggler:hover {
    background: #edf5f5 !important;
    color: #2f6f73 !important;
    transform: translateY(-1px);
}

.app-top-shortcuts {
    align-items: center;
    gap: 5px;
}

.app-top-shortcut {
    align-items: center;
    border-radius: 999px;
    color: #526173 !important;
    display: flex !important;
    font-size: 12px;
    font-weight: 750;
    gap: 7px;
    padding: 8px 13px !important;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.app-top-shortcut i {
    color: #2f6f73;
    flex: 0 0 20px;
    font-size: 14px;
    text-align: center;
    width: 20px;
}

.app-top-shortcut-home {
    height: auto;
    justify-content: flex-start;
    padding: 8px 13px !important;
    width: auto;
}

.app-top-shortcut:hover {
    background: #e8f5ef;
    color: #173f5f !important;
    transform: translateY(-1px);
}

.app-top-shortcut.active {
    background: #47748f !important;
    box-shadow: 0 5px 14px rgba(71, 116, 143, .22);
    color: #ffffff !important;
    transform: translateY(-1px);
}

.app-top-shortcut.active i {
    color: #ffffff !important;
}

.adminuiux-sidebar-inner {
    background: #ffffff;
    border-right: 1px solid #e7ebf0;
    padding-bottom: 24px;
}

.app-sidebar-heading {
    border-bottom: 1px solid #edf0f4;
    margin: 0 12px 6px;
    padding: 13px 2px 10px;
}

.app-sidebar-heading h6 {
    color: #172033;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.01em;
    margin: 2px 0 0;
}

.app-sidebar-kicker {
    color: #8a94a6;
    display: block;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1;
    text-transform: uppercase;
}

.app-sidebar-profile-toggle {
    background: #f5f7fa !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 8px !important;
    color: #596579 !important;
    height: 32px !important;
    width: 32px !important;
}

.app-sidebar-menu {
    gap: 3px;
    padding: 3px 10px 14px;
}

.app-sidebar-menu .nav-item {
    width: 100%;
}

.app-sidebar-menu .app-menu-link,
.app-sidebar-menu .app-menu-toggle {
    align-items: center;
    background: #ffffff;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #3e4a5d;
    display: flex;
    font-size: 12.5px;
    font-weight: 750;
    gap: 9px;
    min-height: 42px;
    padding: 5px 7px;
    position: relative;
    text-align: left;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
    width: 100%;
}

.app-sidebar-menu .app-menu-link:hover,
.app-sidebar-menu .app-menu-toggle:hover {
    background: #f8fafc;
    border-color: #e3e8ef;
    color: #172033;
}

.app-sidebar-menu .app-menu-toggle:not(.collapsed):not(.has-active-child) {
    background: #fbfcfd;
    border-color: #e3e8ef;
    color: #172033;
}

.app-menu-icon {
    align-items: center;
    background: #eef4fb;
    border: 1px solid #dce7f3;
    border-radius: 8px;
    color: #2f6f9f;
    display: inline-flex;
    flex: 0 0 30px;
    font-size: 14px;
    height: 30px;
    justify-content: center;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.app-sidebar-menu .app-menu-link.active,
.app-sidebar-menu .app-menu-toggle.has-active-child {
    background: #416b86 !important;
    border-color: #416b86 !important;
    box-shadow: 0 4px 12px rgba(39, 76, 101, 0.16);
    color: #ffffff !important;
}

.app-sidebar-menu .app-menu-link.active .app-menu-icon,
.app-sidebar-menu .app-menu-toggle.has-active-child .app-menu-icon {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

.app-sidebar-menu .app-menu-link.active .menu-icon,
.app-sidebar-menu .app-menu-toggle.has-active-child .menu-icon,
.app-sidebar-menu .app-menu-toggle.has-active-child .menu-name,
.app-sidebar-menu .app-menu-toggle.has-active-child .app-menu-label small {
    color: #ffffff !important;
}

.app-menu-label {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
}

.app-menu-label small {
    color: #99a2b1;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: 0.02em;
    margin-top: 2px;
}

.app-menu-disclosure {
    align-items: center;
    background: #f4f6f8;
    border: 1px solid #e4e8ed;
    border-radius: 50%;
    color: #7a8698;
    display: inline-flex;
    flex: 0 0 20px;
    font-size: 9px;
    height: 22px;
    justify-content: center;
    margin-left: auto;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 220ms ease;
}

.app-menu-toggle:not(.collapsed) .app-menu-disclosure {
    background: #ffffff;
    border-color: #cbd7e3;
    color: #173f5f;
    transform: rotate(90deg);
}

.app-menu-toggle.has-active-child .app-menu-disclosure {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    color: #ffffff;
}

.app-submenu {
    background: #f7f9fb;
    border: 1px solid #e7ebf0;
    border-radius: 8px;
    margin: 3px 0 5px 39px;
    padding: 4px;
    position: relative;
}

.app-submenu::before {
    background: #c9d3de;
    content: "";
    height: 13px;
    left: -15px;
    position: absolute;
    top: -6px;
    width: 1px;
}

.app-submenu-link {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #657084 !important;
    display: flex !important;
    font-size: 10.5px;
    font-weight: 700;
    gap: 7px;
    margin: 0;
    min-height: 27px;
    padding: 3px 6px !important;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.app-submenu-link i {
    align-items: center;
    color: #8995a6;
    display: inline-flex;
    font-size: 10px;
    justify-content: center;
    width: 13px;
}

.app-submenu-link:hover {
    background: #ffffff;
    border-color: #dfe5eb;
    color: #173f5f !important;
}

.app-submenu-link.active {
    background: #527b94 !important;
    border-color: #527b94 !important;
    box-shadow: 0 3px 8px rgba(39, 76, 101, 0.13);
    color: #ffffff !important;
}

.app-submenu-link.active i {
    color: #ffffff !important;
}

.app-submenu-link.active::after {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    content: "";
    height: 5px;
    margin-left: auto;
    width: 5px;
}

.app-sidebar-menu [data-module="DASHBOARD"] .app-menu-icon,
.app-sidebar-menu [data-module="RH"] .app-menu-icon {
    background: #edf4ff;
    border-color: #d8e6fb;
    color: #315f9b;
}

.app-sidebar-menu [data-module="FOREX"] .app-menu-icon {
    background: #edf8f2;
    border-color: #d6ebdf;
    color: #26704b;
}

.app-sidebar-menu [data-module="BUNIA_MM"] .app-menu-icon {
    background: #fff7e8;
    border-color: #f2e2bf;
    color: #936a17;
}

.app-sidebar-menu [data-module="MOBILE_MONEY"] .app-menu-icon {
    background: #f2effb;
    border-color: #e2dcf3;
    color: #66528f;
}

.app-sidebar-menu [data-module="INVENTAIRE"] .app-menu-icon {
    background: #edf7f8;
    border-color: #d5e9eb;
    color: #326d73;
}

.app-sidebar-menu [data-module="MESSAGERIE"] .app-menu-icon,
.app-sidebar-menu [data-module="PARAMETRES"] .app-menu-icon {
    background: #f3f5f7;
    border-color: #e1e5ea;
    color: #596579;
}

.app-sidebar-menu .app-menu-toggle.has-active-child .app-menu-icon {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
    .app-top-shortcut,
    .app-sidebar-menu .nav-link,
    .app-menu-toggle,
    .app-menu-disclosure {
        transition: none !important;
    }
}

@media (max-width: 991.98px) {
    .app-top-shortcuts {
        align-items: stretch;
        gap: 4px;
        margin-bottom: 0 !important;
        padding: 8px 10px;
        width: 100%;
    }

    .app-top-shortcuts .nav-item {
        width: 100%;
    }

    .app-top-shortcut {
        align-items: center;
        border-radius: 8px;
        gap: 10px;
        justify-content: flex-start;
        min-height: 42px;
        padding: 8px 12px !important;
        width: 100%;
    }

    .app-top-shortcut i {
        align-items: center;
        display: inline-flex;
        flex: 0 0 24px;
        font-size: 17px;
        height: 24px;
        justify-content: center;
        line-height: 1;
        width: 24px;
    }

    .app-top-shortcut span {
        line-height: 1.2;
    }

    .adminuiux-sidebar {
        border-radius: 0 0 18px 0 !important;
        height: calc(100dvh - 58px) !important;
        padding: 0 !important;
        top: 58px !important;
    }

    .adminuiux-sidebar .adminuiux-sidebar-inner {
        border-radius: 0 0 18px 0 !important;
        height: 100% !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .adminuiux-sidebar-boxed .adminuiux-sidebar .adminuiux-sidebar-inner {
        border-radius: 0 0 18px 0 !important;
        height: 100% !important;
        margin-top: 0 !important;
    }

    body.sidebar-open .app-sidebar-backdrop {
        background: rgba(23, 45, 65, .24);
        display: block;
        inset: 58px 0 0;
        position: fixed;
        z-index: 98;
    }

    .adminuiux-content #main-content {
        margin-top: 0 !important;
        padding-top: 6px !important;
    }

    .enterprise-page {
        padding-top: 8px !important;
    }

    .enterprise-page > .d-flex:first-child,
    .enterprise-page > .d-flex.flex-wrap:first-child {
        align-items: flex-start !important;
        gap: 8px;
        margin-bottom: 10px !important;
    }

    .enterprise-page > .d-flex:first-child > div:first-child,
    .enterprise-page > .d-flex.flex-wrap:first-child > div:first-child {
        gap: 6px;
    }

    .enterprise-page-title {
        font-size: 1rem;
    }

    .enterprise-page > .d-flex:first-child .enterprise-page-title + p,
    .enterprise-page > .d-flex.flex-wrap:first-child .enterprise-page-title + p {
        font-size: 10px !important;
        white-space: normal;
    }

    .enterprise-page > .d-flex:first-child .enterprise-page-title + p::before,
    .enterprise-page > .d-flex.flex-wrap:first-child .enterprise-page-title + p::before {
        height: 14px;
        margin-right: 6px;
    }

    .user-password-panel {
        gap: 10px;
        grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.2fr);
    }

    .user-form-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .adminuiux-header .navbar > .container-fluid {
        flex-wrap: nowrap !important;
        gap: 3px;
        padding-left: 7px;
        padding-right: 7px;
    }

    .adminuiux-header .sidebar-toggler,
    .adminuiux-header .btn-link-header,
    .adminuiux-header .navbar-toggler {
        flex: 0 0 30px;
        height: 30px !important;
        min-height: 30px !important;
        min-width: 30px !important;
        padding: 5px !important;
        width: 30px !important;
    }

    .adminuiux-header .btn-link-header i,
    .adminuiux-header .btn-link-header svg,
    .adminuiux-header .sidebar-toggler i,
    .adminuiux-header .sidebar-toggler svg {
        height: 16px !important;
        width: 16px !important;
    }

    .app-header-brand {
        flex: 0 1 auto;
        margin: 0 2px !important;
        min-width: 0;
        padding: 0 !important;
    }

    .app-header-actions {
        gap: 1px;
        margin-left: auto !important;
    }

    .app-header-actions .avatar.avatar-28 {
        height: 25px;
        width: 25px;
    }

    .app-header-actions .badge {
        font-size: 7px;
        line-height: 1;
        min-width: 12px;
        padding: 2px !important;
    }

    .enterprise-filter-card .btn-print-report {
        width: 100%;
    }

    .enterprise-table-card .table-responsive {
        -webkit-overflow-scrolling: touch;
        padding: 10px !important;
    }

    .enterprise-table-card table.dataTable {
        min-width: 620px;
    }

    .adminuiux-sidebar {
        height: calc(100dvh - 48px) !important;
        top: 48px !important;
    }

    .enterprise-page {
        padding-bottom: 14px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
        padding-top: 5px !important;
    }

    .enterprise-page > .d-flex:first-child,
    .enterprise-page > .d-flex.flex-wrap:first-child {
        flex-wrap: wrap;
        margin-bottom: 8px !important;
    }

    .enterprise-page > .d-flex:first-child > div:first-child,
    .enterprise-page > .d-flex.flex-wrap:first-child > div:first-child {
        flex: 1 1 100%;
    }

    .enterprise-page > .d-flex:first-child > :last-child:not(:first-child),
    .enterprise-page > .d-flex.flex-wrap:first-child > :last-child:not(:first-child) {
        margin-left: 0 !important;
    }

    .enterprise-page-title {
        font-size: 0.92rem;
    }

    .enterprise-form-card {
        margin-bottom: 12px !important;
    }

    .enterprise-form-card .card-body {
        padding: 12px !important;
    }

    .enterprise-form-card .card-body > .d-flex:first-child {
        margin-bottom: 6px !important;
    }

    .enterprise-form-card .card-body > .d-flex:first-child h6 {
        font-size: 12px;
    }

    .profile-page {
        margin-top: 0 !important;
    }

    .user-password-panel {
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
        padding: 11px;
    }

    .user-password-heading {
        align-items: flex-start;
    }

    .user-password-requirements {
        display: grid;
        gap: 4px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .user-password-requirements span {
        white-space: normal;
    }

    .user-form-actions {
        grid-column: auto;
        justify-content: stretch !important;
    }

    .user-form-actions .btn {
        flex: 1 1 auto;
    }
}

@media (max-width: 379.98px) {
    .app-navbar-logo,
    .navbar-brand .app-navbar-logo {
        max-width: 21vw !important;
        width: 72px !important;
    }

    .adminuiux-header .navbar > .container-fluid {
        gap: 1px;
        padding-left: 4px;
        padding-right: 4px;
    }
}

@media (max-width: 575.98px) {
    .adminuiux-header,
    .adminuiux-header .navbar {
        min-height: 62px;
    }

    .adminuiux-header .navbar > .container-fluid {
        min-height: 62px;
    }

    .adminuiux-header .sidebar-toggler,
    .adminuiux-header .btn-link-header,
    .adminuiux-header .navbar-toggler {
        flex-basis: 38px;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 38px !important;
        width: 38px !important;
    }

    .adminuiux-header .btn-link-header i,
    .adminuiux-header .btn-link-header svg,
    .adminuiux-header .sidebar-toggler i,
    .adminuiux-header .sidebar-toggler svg {
        height: 20px !important;
        width: 20px !important;
    }

    .app-navbar-logo,
    .navbar-brand .app-navbar-logo {
        max-height: 40px !important;
        max-width: 28vw !important;
        width: 112px !important;
    }

    .app-header-actions .avatar.avatar-28 {
        height: 32px;
        width: 32px;
    }

    .adminuiux-sidebar {
        border-radius: 0 0 18px 0 !important;
        height: calc(100dvh - 62px) !important;
        top: 62px !important;
    }

    .adminuiux-sidebar .adminuiux-sidebar-inner {
        border-radius: 0 0 18px 0 !important;
    }

    body.sidebar-open .app-sidebar-backdrop {
        background: rgba(23, 45, 65, .24);
        display: block;
        inset: 62px 0 0;
        position: fixed;
        z-index: 98;
    }

    .transfer-page .transfer-quick-card .card-body {
        padding: 14px;
    }

    .transfer-page .transfer-type-line {
        gap: 16px;
        margin-bottom: 8px;
    }

    .transfer-page .transfer-type-line label {
        font-size: 12px;
    }

    .transfer-page .transfer-quick-row,
    .transfer-page .transfer-quick-row:nth-child(3),
    .transfer-page .transfer-quick-row:nth-child(4) {
        gap: 8px;
        padding: 8px 0;
    }

    .transfer-page .transfer-quick-row label,
    .transfer-page .transfer-recipient-row label {
        font-size: 12px;
    }

    .transfer-page .transfer-quick-row .form-control,
    .transfer-page .transfer-quick-money,
    .transfer-page .transfer-calculated-value,
    .transfer-page .transfer-recipient-row .form-control {
        font-size: 14px;
        min-height: 46px;
    }

    .transfer-page .transfer-quick-money input {
        font-size: 14px;
        padding: 8px 10px;
    }

    .transfer-page .transfer-recipient-row {
        gap: 8px;
        padding: 9px 0;
    }

    .transfer-page .transfer-form-actions .btn,
    .transfer-page #transfer-add-recipient {
        font-size: 12px;
        min-height: 42px;
    }
}

.enterprise-auth-page {
    background:
        linear-gradient(135deg, rgba(247, 250, 252, 0.96), rgba(226, 235, 241, 0.96)),
        #edf3f7 !important;
}

.enterprise-auth-page .auth-wrapper {
    padding: 28px 0;
}

.enterprise-auth-brand {
    display: flex;
    justify-content: center;
    margin-bottom: 22px;
}

.enterprise-auth-brand .navbar-brand {
    padding: 0;
    margin: 0;
}

.auth-language-switch {
    align-items: center;
    align-self: flex-end;
    background: rgba(255,255,255,.94);
    border: 1px solid #d9e3ec;
    border-radius: 999px;
    box-shadow: 0 5px 14px rgba(23,63,95,.09);
    display: inline-flex !important;
    flex: 0 0 auto;
    gap: 4px !important;
    justify-content: center;
    margin-bottom: 8px;
    margin-left: auto;
    padding: 3px;
    width: max-content;
}

.mobile-print-report .card-body {
    padding: 12px;
}

.mobile-report-document-header {
    align-items: center;
    border-bottom: 3px solid #173f5f;
    display: none;
    justify-content: space-between;
    margin-bottom: 8px;
    padding-bottom: 7px;
}

.mobile-report-capture-mode .mobile-report-document-header {
    display: flex;
}

.mobile-report-logo {
    display: none;
    height: auto;
    max-width: 190px;
}

.mobile-report-capture-mode .mobile-report-logo {
    display: block;
}

.mobile-report-company {
    color: #173f5f;
    display: flex;
    flex-direction: column;
    text-align: right;
    margin-left: auto;
}

.mobile-report-company strong {
    font-size: 1rem;
}

.mobile-report-company span {
    color: #526173;
    font-size: .72rem;
    text-transform: uppercase;
}

.mobile-report-document-title {
    display: none;
    margin-bottom: 8px;
    text-align: center;
}

.mobile-report-capture-mode .mobile-report-document-title {
    display: block;
}

.mobile-report-document-title h5 {
    font-size: 1rem;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
}

.mobile-report-document-title span {
    color: #526173;
    font-size: .75rem;
}

.mobile-print-report .table {
    font-size: .76rem;
    line-height: 1.2;
}

.mobile-print-report .table > :not(caption) > * > * {
    padding: .3rem .38rem;
    vertical-align: middle;
}

.mobile-print-report .table thead th {
    white-space: nowrap;
}

.mobile-print-report .row.g-2 {
    --bs-gutter-x: 1.25rem;
}

/* Rapport Mobile Money à l'écran : rendu document propre, sans modifier les exports. */
.mobile-print-report:not(.mobile-report-capture-mode) {
    background: #f6f8fb;
    border: 1px solid #d7e1ea;
    box-shadow: 0 6px 18px rgba(23, 63, 95, .07);
    overflow: hidden;
}

.mobile-print-report:not(.mobile-report-capture-mode) > .card-body {
    padding: 14px 16px 18px;
}

.mobile-print-report:not(.mobile-report-capture-mode) h6.text-primary {
    align-items: center;
    background: #eaf0f6;
    border-left: 3px solid #2f6f73;
    color: #173f5f !important;
    display: flex;
    font-size: 10.5px !important;
    letter-spacing: .025em;
    margin: 10px 0 0 !important;
    min-height: 30px;
    padding: 6px 9px;
    text-transform: uppercase;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table-responsive {
    background: #fff;
    border: 1px solid #d9e2eb;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 2px 5px rgba(23, 63, 95, .035);
    overflow-x: auto;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table {
    color: #344054;
    font-size: 10.5px;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table thead th {
    background: #173f5f;
    border-color: #2a5576;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 6px 7px;
    text-transform: uppercase;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table tbody td {
    border-color: #e7edf2;
    padding: 4px 7px;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table tbody tr:nth-child(even) td {
    background: #fafbfd;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table tbody tr:hover td {
    background: #f0f6f7;
}

.mobile-print-report:not(.mobile-report-capture-mode) .table tfoot td {
    background: #dce9f6 !important;
    border-top: 1px solid #b8cadb;
    color: #173f5f;
    font-size: 10px;
    padding: 6px 7px;
}

.mobile-print-report:not(.mobile-report-capture-mode) .tableur-report-actions {
    box-shadow: 0 3px 9px rgba(23, 63, 95, .08);
    margin-bottom: 2px;
}

.goma-loan-table {
    font-size: .74rem;
    line-height: 1.15;
}

.goma-loan-table > :not(caption) > * > * {
    padding: .28rem .35rem;
    vertical-align: middle;
}

.goma-loan-table thead th {
    font-size: .68rem;
    white-space: nowrap;
}

.pdg-report-card {
    border: 1px solid #dce5ec;
    border-top: 0 !important;
    overflow: hidden;
}

.pdg-report-card .pdg-report-header {
    align-items: center;
    background: linear-gradient(110deg, #0b3f62, #12647a);
    border: 0;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 12px 14px;
}

.pdg-report-heading {
    align-items: center;
    display: flex;
    gap: 10px;
}

.pdg-report-heading h6 {
    font-size: .9rem;
    font-weight: 850;
    letter-spacing: .02em;
}

.pdg-report-heading small {
    color: rgba(255, 255, 255, .72);
    font-size: .67rem;
}

.pdg-report-icon {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    display: inline-flex;
    font-size: 1rem;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.pdg-report-period {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 20px;
    display: inline-flex;
    font-size: .68rem;
    font-weight: 800;
    gap: 6px;
    padding: 5px 10px;
}

.pdg-report-table {
    color: #25364a;
    font-size: .76rem;
}

.pdg-report-table > :not(caption) > * > * {
    padding: .48rem .62rem;
}

.pdg-report-table thead th {
    background: #eef3f7;
    border-bottom: 1px solid #d6e0e8;
    color: #516174;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.pdg-report-table tbody tr:nth-child(even) td {
    background: #f9fbfc;
}

.pdg-report-table tbody tr:hover td {
    background: #f1f7fa;
}

.pdg-col-number {
    width: 52px;
}

.pdg-row-number {
    align-items: center;
    background: #e8eef3;
    border-radius: 50%;
    color: #536477;
    display: inline-flex;
    font-size: .65rem;
    font-weight: 850;
    height: 23px;
    justify-content: center;
    width: 23px;
}

.pdg-served-rate,
.pdg-gain-rate {
    border-radius: 5px;
    display: inline-block;
    font-weight: 850;
    min-width: 54px;
    padding: 4px 8px;
    text-align: center;
}

.pdg-served-rate {
    background: #fdebec;
    border: 1px solid #f5c9cd;
    color: #b4232f;
}

.pdg-gain-rate {
    background: #e7f6ee;
    border: 1px solid #bfe5d0;
    color: #08744f;
}

.pdg-money,
.pdg-payable,
.pdg-total-served,
.pdg-total-payable {
    font-variant-numeric: tabular-nums;
    font-weight: 750;
}

.pdg-money small,
.pdg-payable small,
.pdg-total-served small,
.pdg-total-payable small {
    color: inherit;
    font-size: .62rem;
    font-weight: 850;
}

.pdg-payable {
    color: #087454;
    font-size: .8rem;
    font-weight: 900;
}

.pdg-report-table tfoot td {
    background: #edf5f4;
    border-top: 2px solid #afcbc6;
    color: #173f46;
    font-size: .8rem;
    font-weight: 900;
    padding-bottom: .58rem;
    padding-top: .58rem;
}

.pdg-report-table thead th:last-child {
    color: #087454;
    font-size: .72rem;
}

.pdg-currency-badge {
    background: #0d5965;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: .59rem;
    font-weight: 900;
    margin-right: 7px;
    padding: 3px 6px;
}

.pdg-total-payable {
    color: #086b4d;
    font-size: .84rem;
    font-weight: 950;
}

.pdg-total-served {
    font-size: .8rem;
    font-weight: 900;
}

@media (max-width: 767.98px) {
    .pdg-report-card .pdg-report-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }
}

@media print {
    body * {
        visibility: hidden;
    }

    #mobile-combined-report,
    #mobile-combined-report * {
        visibility: visible;
    }

    #mobile-combined-report {
        position: absolute;
        inset: 0;
        width: 100%;
        border: 0;
        box-shadow: none;
    }

    #mobile-combined-report .mobile-report-document-header {
        display: flex;
    }

    #mobile-combined-report .mobile-report-document-title {
        display: block;
    }

    #mobile-combined-report .mobile-report-logo {
        display: block;
    }
}

.auth-language-switch a {
    align-items: center;
    border-radius: 999px;
    color: #526173;
    display: inline-flex !important;
    font-size: 10px;
    font-weight: 800;
    justify-content: center;
    line-height: 1;
    min-height: 24px;
    min-width: 30px;
    padding: 5px 9px;
    text-decoration: none !important;
}

.auth-language-switch a.active {
    background: #47748f !important;
    color: #fff !important;
    text-decoration: none !important;
}

.auth-language-switch a:not(.active):hover {
    background: #e8eff5;
    color: #173f5f;
}

.enterprise-login-card {
    border: 1px solid #dce4ec !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 44px rgba(38, 54, 75, 0.14) !important;
    overflow: hidden;
}

.enterprise-login-card .card-body {
    padding: 32px 34px 30px !important;
}

.enterprise-login-heading {
    border-bottom: 1px solid #edf1f5;
    margin-bottom: 24px;
    padding-bottom: 18px;
}

.enterprise-login-kicker {
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.enterprise-login-heading h1 {
    color: #1f2937;
    font-family: var(--adminuiux-title-font, "Lexend", sans-serif);
    font-size: 24px;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 8px;
}

.enterprise-login-heading p:not(.enterprise-login-kicker) {
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.enterprise-login-field .form-control {
    border: 1px solid #cfd8e3 !important;
    border-radius: 7px !important;
    color: #1f2937 !important;
    min-height: 54px;
}

.enterprise-login-field .form-control:focus {
    border-color: #2f6f73 !important;
    box-shadow: 0 0 0 3px rgba(47, 111, 115, 0.14) !important;
}

.enterprise-login-field label {
    color: #667085;
}

.enterprise-password-toggle {
    color: #526173 !important;
}

.enterprise-muted-link {
    color: #526173 !important;
    font-weight: 700;
    text-decoration: none;
}

.enterprise-muted-link:hover {
    color: #2f6f73 !important;
    text-decoration: underline;
}

.enterprise-login-submit {
    background: #173f5f !important;
    border: 1px solid #173f5f !important;
    border-radius: 7px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    min-height: 48px;
}

.enterprise-login-submit:hover,
.enterprise-login-submit:focus {
    background: #2f6f73 !important;
    border-color: #2f6f73 !important;
    color: #ffffff !important;
}

.enterprise-login-footer {
    color: #667085;
    font-size: 12px;
    margin-top: 18px;
    text-align: center;
}

.enterprise-login-footer p {
    margin: 0;
}

.enterprise-auth-support {
    align-items: center;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-top: 18px;
    padding: 14px;
}

.enterprise-auth-support-title {
    color: #1f2937;
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 3px;
}

.enterprise-auth-support-text {
    color: #667085;
    font-size: 12px;
    line-height: 1.4;
    margin: 0;
}

.enterprise-admin-reset-btn {
    border: 1px solid #c99a2e !important;
    border-radius: 7px !important;
    color: #8a5d0a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    min-height: 38px;
    white-space: nowrap;
}

.enterprise-admin-reset-btn:hover,
.enterprise-admin-reset-btn:focus {
    background: #fff7e6 !important;
    border-color: #a36b00 !important;
    color: #6f4900 !important;
}

.enterprise-admin-reset-btn:disabled {
    background: #f1f5f9 !important;
    border-color: #d7dee8 !important;
    color: #9aa4b2 !important;
    cursor: not-allowed;
}

.enterprise-auth-back {
    border-top: 1px solid #edf1f5;
    margin-top: 20px;
    padding-top: 16px;
    text-align: center;
}

.enterprise-confirm-icon {
    align-items: center;
    background: #e8f5ef;
    border: 1px solid #c9e8d8;
    border-radius: 999px;
    color: #19734c;
    display: inline-flex;
    font-size: 26px;
    height: 58px;
    justify-content: center;
    margin-bottom: 20px;
    width: 58px;
}

.enterprise-confirm-heading {
    border-bottom: 0;
    margin-bottom: 22px;
    padding-bottom: 0;
}

.access-user-summary {
    border-left: 4px solid #2f6f73 !important;
}

.access-user-avatar {
    align-items: center;
    background: #e8f5ef;
    border: 1px solid #c9e8d8;
    border-radius: 8px;
    color: #19734c;
    display: inline-flex;
    font-size: 24px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.access-summary-pill {
    background: #f6f8fb;
    border: 1px solid #dce3eb;
    border-radius: 7px;
    min-width: 132px;
    padding: 8px 12px;
    text-align: center;
}

.access-summary-pill span {
    color: #173f5f;
    display: block;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
}

.access-summary-pill small {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
}

.access-card-header {
    align-items: center;
    background: #ffffff !important;
    border-bottom: 1px solid #eef2f6 !important;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px !important;
}

.access-split-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr);
}

.access-module-panel {
    position: sticky;
    top: 86px;
    z-index: 2;
}

.access-module-list {
    display: grid;
    gap: 10px;
}

.access-module-item,
.access-feature-item {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dce3eb;
    border-radius: 7px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    margin: 0;
    padding: 11px 12px;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.access-module-item:hover,
.access-feature-item:hover {
    background: #f3f7f8;
    border-color: #9fbfc2;
}

.access-module-item.is-checked,
.access-module-item:has(.form-check-input:checked),
.access-feature-item:has(.form-check-input:checked) {
    background: #eef8f6;
    border-color: #2f6f73;
}

/* Vue mobile volontairement simple pour les paiements de transfert. */
@media (max-width: 767.98px) {
    .transfer-authorized-desktop {
        display: none !important;
    }

    .transfer-authorized-mobile-list {
        display: grid;
        gap: 8px;
    }

    .transfer-authorized-mobile-card {
        background: #fff;
        border: 1px solid #dbe5ec;
        border-left: 4px solid #2f7a79;
        border-radius: 8px;
        box-shadow: 0 2px 7px rgba(34, 53, 72, .07);
        padding: 10px;
    }

    .transfer-authorized-mobile-card > strong,
    .transfer-authorized-mobile-card > small {
        display: block;
    }

    .transfer-authorized-mobile-card > strong {
        color: #173f5f;
        font-size: 12px;
        line-height: 1.3;
    }

    .transfer-authorized-mobile-card > small {
        color: #8a96a5;
        font-size: 8px;
        margin-top: 2px;
    }

    .transfer-authorized-mobile-amounts {
        display: flex;
        gap: 12px;
        margin: 8px 0;
    }

    .transfer-authorized-mobile-amounts span {
        color: #687789;
        display: grid;
        font-size: 8px;
        text-transform: uppercase;
    }

    .transfer-authorized-mobile-amounts b {
        color: #15283a;
        font-size: 11px;
        text-transform: none;
    }

    .transfer-authorized-mobile-buttons {
        display: grid;
        gap: 6px;
        grid-template-columns: 1fr 1fr;
    }

    .transfer-authorized-mobile-buttons .btn,
    .transfer-authorized-mobile-card .transfer-mobile-action-toggle {
        display: flex;
        font-size: 10px;
        justify-content: center;
        min-height: 36px;
        width: 100%;
    }

    .transfer-authorized-mobile-card .transfer-sensitive-actions {
        display: none !important;
        margin-top: 7px;
        width: 100%;
    }

    .transfer-authorized-mobile-card .transfer-sensitive-actions.is-open {
        display: block !important;
    }

    .transfer-authorized-mobile-card .transfer-sensitive-actions form {
        background: #f5f8fa;
        border: 1px solid #e0e7ec;
        border-radius: 6px;
        display: block !important;
        margin-top: 6px;
        padding: 7px;
        width: 100%;
    }

    .transfer-authorized-mobile-card .transfer-sensitive-actions input,
    .transfer-authorized-mobile-card .transfer-sensitive-actions button {
        display: block !important;
        margin-top: 5px;
        max-width: none !important;
        min-height: 38px;
        width: 100% !important;
    }

    .transfer-authorized-mobile-card .transfer-ugx-check {
        align-items: center;
        display: flex;
        margin-top: 7px;
    }

    .transfer-authorized-mobile-card .transfer-ugx-check input {
        margin: 0 !important;
        min-height: auto !important;
        width: auto !important;
    }

    .transfer-authorized-mobile-card .transfer-ugx-fields.is-open {
        display: block;
    }

    .transfer-authorized-mobile-card .transfer-ugx-result {
        display: block;
        font-size: 12px;
        margin-top: 4px;
    }

    .transfer-page .enterprise-table-card,
    .transfer-page .enterprise-table-card .table-responsive {
        overflow: visible !important;
        padding: 0 !important;
    }

    .transfer-authorized-table tr {
        min-height: 0 !important;
        padding: 10px !important;
    }

    .transfer-authorized-table td {
        background: transparent !important;
        height: auto !important;
        min-height: 0 !important;
        width: auto !important;
    }

    .transfer-payment-actions {
        display: flex !important;
        flex-wrap: wrap;
        gap: 6px;
    }

    .transfer-payment-actions > .transfer-notify-client,
    .transfer-payment-actions > .transfer-mobile-action-toggle {
        flex: 1 1 calc(50% - 3px);
        width: auto !important;
    }

    .transfer-payment-actions > .transfer-sensitive-actions {
        display: none !important;
        flex: 1 0 100%;
        width: 100% !important;
    }

    .transfer-payment-actions > .transfer-sensitive-actions.is-open {
        display: block !important;
    }

    .transfer-payment-actions > .transfer-sensitive-actions form {
        display: block !important;
        margin: 6px 0 0 !important;
        padding: 7px !important;
        width: 100% !important;
    }

    .transfer-payment-actions > .transfer-sensitive-actions input,
    .transfer-payment-actions > .transfer-sensitive-actions button {
        display: block !important;
        margin: 5px 0 !important;
        max-width: none !important;
        min-height: 38px !important;
        width: 100% !important;
    }
}

.access-item-icon,
.access-section-icon {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dce3eb;
    border-radius: 6px;
    color: #2f6f73;
    display: inline-flex;
    flex: 0 0 auto;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.access-item-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.access-item-text strong {
    color: #1f2937;
    font-size: 13px;
    line-height: 1.25;
}

.access-item-text small {
    color: #667085;
    font-size: 11px;
    margin-top: 2px;
}

.access-feature-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.access-feature-item span {
    color: #263445;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.3;
}

.access-save-bar {
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid #dce3eb;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    margin: 24px -12px -24px;
    padding: 14px 12px;
    position: sticky;
    z-index: 5;
}

@media (max-width: 991.98px) {
    .profile-identity-card {
        position: static;
    }

    .access-split-layout {
        grid-template-columns: 1fr;
    }

    .access-module-panel {
        position: static;
    }

    .access-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .profile-identity-top {
        align-items: flex-start;
    }

    .profile-info-grid {
        grid-template-columns: 1fr;
    }

    .profile-action-bar {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .profile-action-bar .btn {
        width: 100%;
    }

    .enterprise-login-card .card-body {
        padding: 26px 22px 24px !important;
    }

    .enterprise-login-heading h1 {
        font-size: 21px;
    }

    .enterprise-auth-support {
        align-items: stretch;
        flex-direction: column;
    }

    .enterprise-admin-reset-btn {
        width: 100%;
    }

    .access-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .access-feature-grid {
        grid-template-columns: 1fr;
    }

    .access-save-bar {
        justify-content: stretch;
    }

    .access-save-bar .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    #main-content:has(.transfer-page) {
        margin-top: 0.2rem !important;
    }

    body:has(.transfer-page) .adminuiux-content {
        min-height: auto !important;
        padding-bottom: 0 !important;
    }

    body:has(.transfer-page) .adminuiux-footer {
        display: block !important;
        margin-top: 0 !important;
    }

    body:has(.transfer-page) .adminuiux-wrap,
    body:has(.transfer-page) .adminuiux-content,
    body:has(.transfer-page) #main-content {
        flex-grow: 0 !important;
    }

    .transfer-page {
        margin-bottom: 8px !important;
        margin-top: -22px !important;
        padding-bottom: 4px !important;
        padding-top: 0 !important;
    }

    .transfer-page > .d-flex:first-child {
        margin-bottom: 5px !important;
    }

    .transfer-page .enterprise-page-title {
        font-size: 0.88rem;
        line-height: 1.15;
    }

    .transfer-page .enterprise-page-title + p {
        font-size: 9.5px !important;
        line-height: 1.2;
    }

    .transfer-page .transfer-tabs {
        margin-bottom: 8px !important;
    }

    .transfer-page .transfer-quick-layout {
        max-width: none !important;
        width: 100% !important;
    }

    .transfer-page .transfer-quick-card .card-body {
        padding: 10px !important;
    }

    .transfer-page .transfer-type-line {
        margin-bottom: 5px !important;
    }

    .transfer-page .transfer-quick-row,
    .transfer-page .transfer-recipient-row {
        gap: 5px !important;
        padding: 5px 0 !important;
    }

    .transfer-page .transfer-quick-row:first-child,
    .transfer-page .transfer-quick-row:nth-child(2) {
        grid-template-columns: minmax(0, 1fr) minmax(132px, .82fr) !important;
    }

    .transfer-page .transfer-recipient-row {
        grid-template-columns: minmax(0, 1fr) minmax(128px, .78fr) !important;
    }

    .transfer-page .transfer-quick-row .form-control,
    .transfer-page .transfer-quick-money,
    .transfer-page .transfer-recipient-row .form-control {
        font-size: 13px !important;
        min-height: 41px !important;
    }

    .transfer-page .transfer-quick-money input {
        font-size: 13px !important;
        min-width: 0;
        padding: 6px 4px 6px 7px !important;
    }

    .transfer-page .transfer-quick-money span {
        font-size: 10px;
        padding-right: 6px;
    }

    .transfer-page .transfer-quick-money input::placeholder,
    .transfer-page .transfer-recipient-row input::placeholder,
    .transfer-page .transfer-filter-bar input::placeholder,
    .transfer-page .transfer-sensitive-actions input::placeholder {
        font-size: 10px;
        opacity: 0.86;
    }
}

.tableur-page {
    --tableur-blue: #173f5f;
    --tableur-teal: #2f7a7b;
    padding-top: 4px !important;
}

.access-feature-permissions {
    align-items: stretch;
    cursor: default;
    display: block;
    padding: 10px;
}

.access-feature-main {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 8px;
    margin-bottom: 9px;
}

.access-action-grid {
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 5px 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 8px;
}

.access-feature-item.has-access-tabs {
    background: #fff;
    border-left: 4px solid #245f78;
    grid-column: 1 / -1;
    padding: 14px;
}

.access-feature-main {
    align-items: flex-start;
    min-height: 36px;
}

.access-feature-identity {
    align-items: flex-start;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.access-feature-main .access-feature-name {
    color: #173f5f;
    display: block;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.25;
    max-width: 100%;
    overflow-wrap: anywhere;
    width: 100%;
}

.access-level-badge {
    border-radius: 999px;
    flex: 0 0 auto;
    font-size: 8px !important;
    font-weight: 850 !important;
    letter-spacing: .06em;
    line-height: 1 !important;
    padding: 5px 7px;
    text-transform: uppercase;
}

.access-level-feature {
    background: #dcecf4;
    color: #174e68 !important;
}

.access-level-tab {
    background: #e4f2ed;
    color: #24664f !important;
}

.access-tab-permissions {
    background: #f4f7f9;
    border: 1px solid #d7e1e7;
    border-radius: 12px;
    margin-top: 12px;
    padding: 12px;
}

.access-tab-heading {
    align-items: center;
    color: #173f5f;
    display: grid;
    font-size: 12px;
    gap: 2px 7px;
    grid-template-columns: auto 1fr;
    margin-bottom: 12px;
}

.access-tab-heading i { grid-row: 1 / 3; }
.access-tab-heading strong { font-size: 12px; }
.access-tab-heading small { color: #72808d; font-size: 9px; font-weight: 500; }

.access-tab-item {
    background: #fff;
    border: 1px solid #dce5ea;
    border-left: 3px solid #69a891;
    border-radius: 10px;
    padding: 11px 12px;
}

.access-tab-item + .access-tab-item { margin-top: 9px; }

.access-tab-main {
    align-items: center;
    color: #263746;
    display: flex;
    gap: 7px;
    margin: 0;
}

.access-tab-main > strong {
    color: #263746;
    font-size: 12px;
    font-weight: 800;
}

.access-operation-caption {
    border-top: 1px dashed #dce5ea;
    color: #85929d;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .04em;
    margin: 9px 0 7px 25px;
    padding-top: 7px;
    text-transform: uppercase;
}

.access-tab-actions {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-left: 25px;
}

.access-tab-actions label {
    align-items: center;
    background: #f8fafb;
    border: 1px solid #e4eaee;
    border-radius: 7px;
    color: #607280;
    display: inline-flex;
    font-size: 9px;
    gap: 5px;
    margin: 0;
    min-height: 30px;
    padding: 5px 7px;
}

.access-tab-actions label:first-child {
    background: #eaf4f2;
    border-color: #c9dfda;
    color: #246c63;
}

.access-tab-actions label span {
    color: inherit;
    font-size: inherit;
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .access-feature-item.has-access-tabs { padding: 10px; }
    .access-feature-main { align-items: flex-start; }
    .access-feature-main .form-check-input { margin-top: 3px; }
    .access-feature-main .access-feature-name { font-size: 13px; }
    .access-tab-permissions { margin-left: -3px; margin-right: -3px; padding: 9px; }
    .access-tab-item { padding: 10px 9px; }
    .access-operation-caption, .access-tab-actions { padding-left: 0; margin-left: 0; }
    .access-tab-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .access-tab-actions label { font-size: 9px; }
}

/* Barre de défilement globale, visible aussi dans la version installée. */
html,
body,
* {
    scrollbar-color: #2f6f73 #dce7ec;
    scrollbar-width: auto;
}

*::-webkit-scrollbar { width: 12px; height: 12px; }
*::-webkit-scrollbar-track { background: #dce7ec; }
*::-webkit-scrollbar-thumb {
    background-color: #2f6f73;
    border: 2px solid #dce7ec;
    border-radius: 999px;
}
*::-webkit-scrollbar-thumb:hover,
*::-webkit-scrollbar-thumb:active { background-color: #174c55; }
.simplebar-scrollbar::before { background: #2f6f73 !important; opacity: .9 !important; }

.tableur-cash-updated {
    align-items: center;
    color: #b32f3f;
    display: flex;
    flex-wrap: wrap;
    font-size: .52rem;
    font-weight: 800;
    gap: .18rem;
    line-height: 1.15;
    margin-top: .22rem;
}

.tableur-cash-updated em {
    color: inherit;
    font-size: inherit;
    font-style: normal;
    font-weight: inherit;
}

.access-action-grid label {
    align-items: center;
    color: #526173;
    cursor: pointer;
    display: flex;
    font-size: 10.5px;
    gap: 5px;
    margin: 0;
}

.access-action-grid label span {
    color: inherit;
    font-size: inherit;
    font-weight: 700;
}

.access-action-grid .access-all-actions-label {
    background: #edf6f5;
    border: 1px solid #cce2df;
    border-radius: 7px;
    color: #246c6d;
    grid-column: 1 / -1;
    padding: 6px 8px;
}

.access-action-grid .access-all-actions-label span {
    font-weight: 850;
}

.org-setup-page {
    padding-top: 16px !important;
}

#main-content:has(.org-setup-page) {
    margin-top: 1rem !important;
}

.org-setup-layout {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 14px;
}

.org-setup-form-card,
.org-setup-table-card {
    border-top: 3px solid #2f7a7b;
}

.org-setup-form-card .card-body {
    padding: 10px !important;
}

.org-setup-form-card h6 {
    font-size: 12px;
}

.org-setup-form {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(260px, 1fr) auto;
}

.org-setup-field {
    display: grid;
    gap: 4px;
}

.org-setup-form label {
    color: #344054;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: .03em;
    margin-bottom: -3px;
    text-transform: uppercase;
}

.org-setup-form .enterprise-control {
    font-size: 11.5px;
    min-height: 31px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.org-setup-form .enterprise-form-actions {
    margin-top: 2px;
    white-space: nowrap;
}

.partners-form {
    grid-template-columns: minmax(220px, 1.1fr) minmax(160px, .75fr) minmax(180px, .8fr) auto;
}

.org-setup-table-card .enterprise-filter-card {
    background: #f8fbfd;
    border-bottom: 1px solid #dfe7ef;
}

.org-setup-table-card table.dataTable thead th {
    font-size: 11px;
}

.org-setup-table-card table.dataTable thead th,
.org-setup-table-card .table thead th {
    padding-bottom: 6px !important;
    padding-top: 6px !important;
}

.org-setup-table-card table.dataTable tbody td,
.org-setup-table-card .table tbody td {
    line-height: 1.15;
    padding-bottom: 3px !important;
    padding-top: 3px !important;
}

.org-setup-table-card .badge {
    line-height: 1.1;
    padding: 4px 7px;
}

.org-setup-table-card .btn-sm {
    --bs-btn-padding-y: .12rem;
    --bs-btn-padding-x: .35rem;
    --bs-btn-font-size: .75rem;
}

#main-content:has(.tableur-page) {
    margin-top: .35rem !important;
}

.tableur-cash-grid {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

/* Tableau de bord : six indicateurs sur une ligne sur grand écran. */
.dashboard-financial-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-financial-grid .tableur-cash-card {
    min-width: 0;
}

.dashboard-financial-grid .tableur-cash-card-main {
    padding-right: 40px !important;
}

.dashboard-financial-grid .tableur-cash-card small {
    display: -webkit-box;
    min-height: 19px;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dashboard-financial-grid .tableur-cash-card strong {
    font-size: clamp(9px, .72vw, 12px);
    overflow-wrap: anywhere;
    white-space: normal;
}

.dashboard-financial-grid .dashboard-card-activity-footer {
    align-items: flex-start;
    flex-wrap: wrap;
}

.dashboard-financial-grid .dashboard-card-activity-footer > span {
    flex: 1 1 90px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.dashboard-financial-grid .dashboard-card-activity-footer > em {
    margin-left: auto;
    max-width: 100%;
}

.dashboard-financial-grid .dashboard-unpaid-card-section {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
}

.dashboard-financial-grid .dashboard-unpaid-card-section div {
    align-items: flex-start;
    max-width: 100%;
}

.tableur-cash-card {
    background: #ffffff;
    border: 1px solid transparent;
    border-radius: 10px;
    box-shadow: 0 7px 18px rgba(23, 63, 95, 0.1);
    display: flex;
    flex-direction: column;
    min-height: 58px;
    overflow: hidden;
    padding: 0;
}

.tableur-cash-card-main {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 8px;
    padding: 8px 10px;
    width: 100%;
}

.tableur-cash-card-main > div {
    flex: 1 1 auto;
    min-width: 0;
}

.tableur-cash-icon {
    align-items: center;
    background: #eef7f7;
    border: 1px solid #cfe8e4;
    border-radius: 9px;
    color: var(--tableur-teal);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.tableur-cash-card small {
    color: #667085;
    display: block;
    font-size: 8.5px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.15;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tableur-cash-card strong {
    color: #082f49;
    display: block;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    margin-top: 1px;
    white-space: nowrap;
}

.tableur-cash-card-1 {
    background: linear-gradient(135deg, #e8f2ff 0%, #cfe3ff 100%);
    border-color: #76aaf2;
}

.tableur-cash-card-2 {
    background: linear-gradient(135deg, #e4fff6 0%, #bdf4df 100%);
    border-color: #36c995;
}

.tableur-cash-card-3 {
    background: linear-gradient(135deg, #fff5d9 0%, #ffe2a3 100%);
    border-color: #f3ad24;
}

.tableur-cash-card-4 {
    background: linear-gradient(135deg, #f4eaff 0%, #dec5ff 100%);
    border-color: #9a63e8;
}

.tableur-cash-card-1 .tableur-cash-icon { background:#d6e8ff; border-color:#82b3f3; color:#0756a3; }
.tableur-cash-card-2 .tableur-cash-icon { background:#c9f7e6; border-color:#55cfa4; color:#087b56; }
.tableur-cash-card-3 .tableur-cash-icon { background:#ffe7ad; border-color:#efb53f; color:#9a5700; }
.tableur-cash-card-4 .tableur-cash-icon { background:#e5d1ff; border-color:#ae7ce9; color:#6b2eb5; }

.dashboard-unpaid-transfer-card {
    background: linear-gradient(135deg, #fff0ed 0%, #ffc9c1 100%) !important;
    border-color: #ef6a5b !important;
}

.dashboard-unpaid-transfer-card .tableur-cash-icon {
    background: #ffd9d3;
    border-color: #ef8a7e;
    color: #b62e22;
}

.dashboard-unpaid-transfer-card .dashboard-card-activity-footer {
    background: rgba(255, 255, 255, .38);
    border-color: rgba(182, 46, 34, .18);
    color: #9d2d25;
}

.dashboard-unpaid-card-title {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px 6px;
    color: #982d25;
}

.dashboard-unpaid-card-title i { font-size: 16px; }
.dashboard-unpaid-card-title small { color: inherit; font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.dashboard-unpaid-card-title > div { min-width: 0; }
.dashboard-unpaid-total { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 2px; }
.dashboard-unpaid-total strong { color: #76241e; font-size: 13px; font-weight: 900; line-height: 1.05; white-space: nowrap; }
.dashboard-unpaid-card-sections { display: grid; grid-template-rows: 1fr 1fr; flex: 1; }
.dashboard-unpaid-card-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 11px;
}
.dashboard-unpaid-card-section + .dashboard-unpaid-card-section { border-top: 1px solid rgba(182, 46, 34, .22); }
.dashboard-unpaid-card-section span { display: flex; align-items: center; gap: 5px; color: #7f302b; font-size: 8px; font-weight: 800; }
.dashboard-unpaid-card-section div { display: flex; flex-direction: column; align-items: flex-end; }
.dashboard-unpaid-card-section strong { color: #76241e; font-size: 13px; line-height: 1.1; }
.dashboard-unpaid-card-section.is-ordinary { background: rgba(255,255,255,.20); }
.dashboard-unpaid-card-section.is-super-agent { background: rgba(185,55,44,.08); }
.dashboard-clickable-card {
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.dashboard-clickable-card:hover,
.dashboard-clickable-card:focus-visible {
    border-color: rgba(7, 95, 166, .34);
    box-shadow: 0 10px 24px rgba(23, 63, 95, .14);
    outline: 0;
    transform: translateY(-1px);
}
.dashboard-unpaid-card-section.dashboard-clickable-card:hover,
.dashboard-unpaid-card-section.dashboard-clickable-card:focus-visible {
    background: rgba(255, 255, 255, .36);
    box-shadow: inset 0 0 0 1px rgba(182, 46, 34, .18);
    transform: none;
}

.tableur-tabs {
    align-items: center;
    background: rgba(255, 255, 255, .86);
    border: 1px solid #dce6ef;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    display: flex;
    gap: 4px;
    padding: 4px;
}

.tableur-tabs a {
    align-items: center;
    border-radius: 7px 7px 0 0;
    color: #53657c;
    cursor: pointer;
    display: inline-flex;
    font-size: 11.5px;
    font-weight: 900;
    gap: 5px;
    padding: 7px 10px;
    text-decoration: none;
}

.tableur-tabs a.active {
    background: var(--tableur-teal);
    color: #fff;
    box-shadow: 0 8px 18px rgba(47, 122, 123, .18);
}

.tableur-split-layout {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 0;
}

.tableur-page .enterprise-form-card,
.tableur-page .enterprise-table-card {
    border-top: 3px solid var(--tableur-teal);
}

.mobile-account-page .org-setup-layout {
    --bs-gutter-y: 8px;
}

.mobile-account-page .enterprise-form-card .card-body {
    padding: 8px 10px !important;
}

.mobile-account-page .enterprise-form-card label {
    margin-bottom: 2px !important;
}

.mobile-account-page .enterprise-form-card .form-control,
.mobile-account-page .enterprise-form-card .form-select {
    min-height: 36px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.mobile-account-page .enterprise-table-card .card-header {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

.mobile-operations-page .enterprise-form-card .card-body {
    padding: 8px 10px !important;
}

.mobile-operations-page .enterprise-form-card .row {
    --bs-gutter-y: 3px;
}

.mobile-operations-page .enterprise-form-card label {
    font-size: 10px !important;
    line-height: 1.1;
    margin-bottom: 2px !important;
}

.mobile-operations-page .enterprise-form-card .form-control,
.mobile-operations-page .enterprise-form-card .form-select,
.mobile-operations-page .enterprise-form-card .input-group-text {
    font-size: 11px;
    min-height: 32px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.mobile-operations-page .enterprise-form-card .btn {
    min-height: 32px;
    padding-bottom: 5px;
    padding-top: 5px;
}

.mobile-operations-page .mobile-reference-row {
    align-items: stretch;
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(150px, .8fr) minmax(240px, 1.2fr) 38px;
}

.mobile-operations-page .mobile-reference-row .form-control,
.mobile-operations-page .mobile-reference-row .form-select {
    border-radius: 8px !important;
    min-width: 0;
}

.mobile-operations-page .mobile-reference-row .btn {
    align-items: center;
    border-radius: 8px !important;
    display: inline-flex;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 575.98px) {
    .mobile-operations-page .mobile-reference-row {
        grid-template-columns: minmax(0, 1fr) 38px;
    }

    .mobile-operations-page .mobile-reference-row .form-select {
        grid-column: 1 / 2;
        grid-row: 2;
    }

    .mobile-operations-page .mobile-reference-row .btn {
        grid-column: 2;
        grid-row: 1 / 3;
    }
}

.mobile-rate-split {
    align-items: center;
    display: grid;
    grid-template-columns: 40% 60%;
    text-align: center;
}

.mobile-rate-split > span:first-child {
    border-right: 1px solid #dce3eb;
    color: #526173;
}

.mobile-rate-split > span:last-child {
    color: #172033;
    font-weight: 400;
}

.mobile-operations-page .mobile-calculated-field,
.mobile-operations-page .mobile-calculated-field:focus {
    background: #e8f5f3 !important;
    border-color: #9bc9c5 !important;
    color: #17635f;
    cursor: default;
}

/* Historique Mobile Money : lecture dense, sobre et proche d'une feuille de contrôle. */
.mobile-operation-history-table,
.mobile-cash-history-table {
    font-size: 11px;
    color: #344054;
    line-height: 1.2;
    margin-bottom: 0;
}

.mobile-operation-history-table thead th,
.mobile-cash-history-table thead th {
    background: #f4f7fa !important;
    border-bottom: 1px solid #cfd9e3 !important;
    color: #344054 !important;
    font-size: 9.5px !important;
    font-weight: 700;
    letter-spacing: .015em !important;
    padding: 6px 7px !important;
}

.mobile-operation-history-table tbody td,
.mobile-cash-history-table tbody td {
    border-color: #e8edf2 !important;
    font-size: 11px;
    font-weight: 400;
    padding: 4px 7px !important;
}

.mobile-operation-history-table tbody tr:nth-child(even):not(.tableur-review-active-row) td,
.mobile-cash-history-table tbody tr:nth-child(even):not(.tableur-review-active-row) td {
    background: #fafbfd;
}

.mobile-operation-history-table tbody td.fw-bold {
    color: #243b53;
    font-weight: 600 !important;
}

.mobile-operation-history-table .badge {
    border: 1px solid currentColor;
    font-size: 8.5px;
    font-weight: 600;
    line-height: 1;
    padding: 3px 5px;
}

.mobile-operation-history-table .btn-sm {
    --bs-btn-font-size: .67rem;
    --bs-btn-padding-x: .28rem;
    --bs-btn-padding-y: .08rem;
    line-height: 1.2;
}

.mobile-cash-history-table .mobile-cash-currency {
    background: #eef3f7;
    border: 1px solid #d4dee7;
    border-radius: 4px;
    color: #344054;
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 5px;
}

.mobile-cash-history-table .mobile-cash-entry {
    color: #18794e;
    font-weight: 600;
}

.mobile-cash-history-table .mobile-cash-exit {
    color: #b42318;
    font-weight: 600;
}

.mobile-cash-history-table .mobile-cash-running-balance {
    color: #173f5f;
    font-weight: 650;
}

.mobile-cash-history-table .mobile-cash-opening-row td {
    background: #f1f5f9 !important;
    color: #475467;
    font-weight: 650;
}

.mobile-cash-history-table .mobile-cash-operations-row td {
    background: #fff8e6;
    font-weight: 650;
}

.mobile-cash-history-table tfoot td {
    background: #e8f0f8;
    border-top: 1px solid #b8cadb;
    color: #173f5f;
    font-size: 10.5px;
    font-weight: 700;
    padding: 5px 7px;
}

.goma-lender-review-table,
.goma-deposit-review-table,
.goma-repayment-review-table {
    color: #344054;
    font-size: 10.5px;
    line-height: 1.15;
    margin-bottom: 0;
}

.goma-lender-review-table thead th,
.goma-deposit-review-table thead th,
.goma-repayment-review-table thead th {
    background: #f3f7fa !important;
    border-bottom: 1px solid #ccd8e3 !important;
    color: #344054 !important;
    font-size: 9.5px !important;
    padding: 6px 7px !important;
}

.goma-lender-review-table tbody td,
.goma-deposit-review-table tbody td,
.goma-repayment-review-table tbody td {
    border-color: #e7edf2;
    padding: 4px 7px !important;
}

.goma-lender-review-table tbody tr:nth-child(even):not(.tableur-review-active-row) td,
.goma-deposit-review-table tbody tr:nth-child(even):not(.tableur-review-active-row) td,
.goma-repayment-review-table tbody tr:nth-child(even):not(.tableur-review-active-row) td {
    background: #fafbfd;
}

.goma-lender-review-table .btn-sm,
.goma-deposit-review-table .btn-sm,
.goma-repayment-review-table .btn-sm {
    --bs-btn-font-size: .65rem;
    --bs-btn-padding-x: .28rem;
    --bs-btn-padding-y: .08rem;
}

.goma-deposit-review-table .badge {
    border: 1px solid currentColor;
    font-size: 8.5px;
    font-weight: 600;
    padding: 3px 5px;
}

.mobile-balance-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: 1fr;
}

.mobile-balance-card {
    background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
    border: 1px solid #dce6ef;
    border-left: 3px solid #2f7a7b;
    border-radius: 7px;
    box-shadow: 0 2px 7px rgba(31, 51, 73, .05);
    padding: 4px 8px 5px;
}

.mobile-balance-card-header {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-bottom: 2px;
    text-align: center;
}

.mobile-balance-card-header > div {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 3px 9px;
    justify-content: center;
    min-width: 0;
}

.mobile-balance-provider {
    color: #2f7a7b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.mobile-balance-card-header strong {
    color: #172033;
    font-size: 11px;
}

.mobile-balance-card-header small {
    color: #68778a;
    font-size: 10px;
    font-weight: 700;
}

.mobile-balance-amount {
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    padding: 3px 7px;
    white-space: nowrap;
}

.mobile-balance-amount.is-negative { background:#fee2e2; color:#b91c1c; }
.mobile-balance-amount.is-positive { background:#dcfce7; color:#15803d; }
.mobile-balance-amount.is-zero { background:#eef2f6; color:#64748b; }

.mobile-balance-legends {
    display: grid;
    font-size: 7.5px;
    font-weight: 800;
    grid-template-columns: 1fr auto 1fr;
    line-height: 1;
    margin-bottom: 2px;
}

.mobile-balance-legends span {
    text-align: center;
}

.mobile-balance-legends span:not(.mobile-balance-center-label) {
    align-items: center;
    display: flex;
    gap: 4px;
}

.mobile-balance-legends strong {
    font-size: 8px;
    white-space: nowrap;
}

.mobile-balance-legends > span:first-child {
    justify-self: start;
    text-align: left;
}

.mobile-balance-legends > span:last-child {
    justify-self: end;
    text-align: right;
}

.mobile-balance-center-label {
    color: #334155;
    padding: 0 8px;
}

.mobile-balance-track {
    background: #edf1f5;
    border-radius: 999px;
    box-shadow: inset 0 1px 3px rgba(15, 23, 42, .12);
    height: 6px;
    overflow: hidden;
    position: relative;
}

.mobile-balance-zero {
    background: #334155;
    height: 10px;
    left: 50%;
    position: absolute;
    top: -2px;
    width: 2px;
    z-index: 2;
}

.mobile-balance-fill {
    height: 100%;
    position: absolute;
    top: 0;
}

.mobile-balance-they-owe {
    background: linear-gradient(90deg, #ef4444, #b91c1c);
    right: 50%;
}

.mobile-balance-we-owe {
    background: linear-gradient(90deg, #15803d, #22c55e);
    left: 50%;
}

@media (max-width: 575.98px) {
    .mobile-balance-card-header {
        align-items: flex-start;
    }

    .mobile-balance-card-header > div {
        display: grid;
        gap: 1px;
    }
}

/* Échelle typographique commune de l'application (hors impression/export). */
:root {
    --app-font-content: "Open Sans", sans-serif;
    --app-font-title: "Lexend", sans-serif;
    --app-text-size: 13px;
    --app-label-size: 11px;
    --app-meta-size: 10px;
    --app-control-size: 12px;
    --app-table-size: 11px;
}

#main-content,
#main-content input,
#main-content select,
#main-content textarea,
#main-content button {
    font-family: var(--app-font-content);
}

#main-content .enterprise-page {
    font-size: var(--app-text-size);
    line-height: 1.42;
}

#main-content .enterprise-page-title,
#main-content .card-title,
#main-content h1,
#main-content h2,
#main-content h3,
#main-content h4,
#main-content h5,
#main-content h6 {
    font-family: var(--app-font-title);
}

#main-content .enterprise-page .form-label,
#main-content .enterprise-page label.small,
#main-content .enterprise-page .small.fw-bold {
    font-size: var(--app-label-size);
    line-height: 1.3;
}

#main-content .enterprise-page .form-text,
#main-content .enterprise-page small.text-muted {
    font-size: var(--app-meta-size);
    line-height: 1.35;
}

/* Éléments fonctionnels auparavant inférieurs à 9 px. */
.user-password-requirements span,
.transfer-chat-meta span,
.transfer-chat-footer,
.transfer-edited-label,
.transfer-chat-actions .btn,
.transfer-tabs a span,
.transfer-cash-summary small,
.transfer-cash-summary span,
.transfer-comment,
.transfer-preview-top small,
.transfer-authorized-table td[data-label]::before,
.transfer-authorized-table td[data-label="Client"] small,
.transfer-authorized-mobile-card > small,
.transfer-authorized-mobile-amounts span,
.tableur-cash-card small,
.mobile-operation-history-table .badge,
.goma-deposit-review-table .badge,
.mobile-balance-legends,
.mobile-balance-legends strong,
.tableur-transfer-table thead th,
.tableur-transfer-table tbody td,
.tableur-transfer-table .tableur-transfer-status-head small,
.tableur-transfer-status-badge,
.tableur-transfer-table tbody td .badge,
.tableur-transfer-table tbody td .form-control,
.tableur-transfer-table tbody td .btn,
.tableur-report-options-heading small,
.bank-company-balances span,
.bank-image-preview-item span {
    font-size: 9.5px !important;
    line-height: 1.3;
}

.realtime-transfer-menu-badge,
.app-header-actions .badge {
    font-size: 8px !important;
    line-height: 1;
}

@media (max-width: 991.98px) {
    :root {
        --app-text-size: 13px;
        --app-label-size: 11.5px;
        --app-meta-size: 10.5px;
        --app-control-size: 13px;
        --app-table-size: 11.5px;
    }

    #main-content .enterprise-page .form-control,
    #main-content .enterprise-page .form-select,
    #main-content .enterprise-page .btn {
        font-size: var(--app-control-size);
    }

    #main-content .enterprise-page .table td {
        font-size: var(--app-table-size);
        line-height: 1.35;
    }

    #main-content .enterprise-page .table th {
        font-size: var(--app-label-size);
        line-height: 1.25;
    }
}

@media (max-width: 575.98px) {
    :root {
        --app-text-size: 13.5px;
        --app-label-size: 12px;
        --app-meta-size: 11px;
        --app-control-size: 13.5px;
        --app-table-size: 12px;
    }
}

/* Gestion commune des onglets sur tablette et mobile. */
@media (max-width: 991.98px) {
    #main-content .salary-tabs,
    #main-content .tableur-tabs,
    #main-content .presence-subtabs,
    #main-content .transfer-tabs,
    #main-content .tableur-super-agent-tabs,
    #main-content .tableur-transfer-status-tabs,
    #main-content .bank-page-tabs,
    #main-content .bank-account-table-tabs,
    #main-content .enterprise-tabs,
    #main-content .nav-tabs,
    #main-content .nav-pills {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 4px !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        margin-left: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 4px !important;
        scroll-behavior: smooth;
        scroll-snap-type: x proximity;
        scrollbar-color: rgba(47, 111, 115, .42) transparent;
        scrollbar-width: thin;
        touch-action: pan-x;
        width: 100% !important;
        -webkit-overflow-scrolling: touch;
    }

    #main-content .salary-tabs > a,
    #main-content .tableur-tabs > a,
    #main-content .presence-subtabs > a,
    #main-content .transfer-tabs > a,
    #main-content .tableur-super-agent-tabs > a,
    #main-content .tableur-transfer-status-tabs > button,
    #main-content .bank-page-tabs > a,
    #main-content .bank-account-table-tabs > button,
    #main-content .enterprise-tabs > a,
    #main-content .nav-tabs > .nav-item,
    #main-content .nav-tabs > .nav-link,
    #main-content .nav-pills > .nav-item,
    #main-content .nav-pills > .nav-link {
        flex: 0 0 auto !important;
        justify-content: center;
        max-width: none !important;
        min-height: 38px;
        padding: 8px 12px !important;
        scroll-snap-align: start;
        white-space: nowrap !important;
        width: auto !important;
    }

    #main-content .tableur-super-agent-subnav {
        margin-left: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }
}

.tableur-data-card {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.tableur-data-card .enterprise-filter-card {
    background: #f8fbfd;
    border-bottom: 1px solid #dfe7ef;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

.tableur-filter-reset {
    cursor: pointer;
    min-height: 34px;
}

.tableur-table {
    font-size: 11.5px;
    table-layout: fixed;
    width: 100%;
}

.tableur-table thead th {
    background: #f3f7fa;
    color: var(--tableur-blue);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.tableur-table tbody td {
    border-bottom: 1px solid #e4ebf2;
    line-height: 1.18;
    overflow-wrap: anywhere;
    padding-bottom: 4px;
    padding-top: 4px;
    vertical-align: top;
    word-break: break-word;
}

.tableur-page .super-agent-bulk-payment-table {
    min-width: 0 !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.tableur-page .super-agent-bulk-payment-table th:nth-child(1),
.tableur-page .super-agent-bulk-payment-table td:nth-child(1) {
    max-width: 44px !important;
    min-width: 44px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    width: 44px !important;
}

.tableur-page .super-agent-bulk-payment-table th:nth-child(2),
.tableur-page .super-agent-bulk-payment-table td:nth-child(2) { width: 15% !important; }
.tableur-page .super-agent-bulk-payment-table th:nth-child(3),
.tableur-page .super-agent-bulk-payment-table td:nth-child(3),
.tableur-page .super-agent-bulk-payment-table th:nth-child(4),
.tableur-page .super-agent-bulk-payment-table td:nth-child(4) { width: 27% !important; }
.tableur-page .super-agent-bulk-payment-table th:nth-child(5),
.tableur-page .super-agent-bulk-payment-table td:nth-child(5) {
    min-width: 150px !important;
    white-space: nowrap !important;
    width: 24% !important;
}

@media (min-width: 992px) {
    .goma-external-accounts-layout {
        column-gap: 16px;
        display: grid !important;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        margin-left: 0;
        margin-right: 0;
        row-gap: 16px;
    }

    .goma-external-accounts-layout > .col-lg-5,
    .goma-external-accounts-layout > .col-lg-7 {
        display: contents;
    }

    .goma-external-accounts-layout > .col-lg-5 > .enterprise-form-card {
        grid-column: 1 / 6;
        grid-row: 1;
    }

    .goma-external-accounts-layout > .col-lg-5 > .enterprise-table-card {
        align-self: start;
        grid-column: 1 / 5;
        grid-row: 2;
        margin-top: 0;
    }

    .goma-external-accounts-layout > .col-lg-7 > .enterprise-form-card {
        grid-column: 6 / 13;
        grid-row: 1;
    }

    .goma-external-accounts-layout > .col-lg-7 > .enterprise-table-card {
        align-self: start;
        grid-column: 5 / 13;
        grid-row: 2;
        margin-top: 0;
    }
}

.goma-external-account-filters {
    background: #f7fafc;
    border-bottom: 1px solid #dfe7ef;
    margin: 0 !important;
}

.goma-external-account-filters label {
    color: #29445f;
}

.goma-external-account-filters .form-control,
.goma-external-account-filters .form-select {
    font-size: 13px;
    min-height: 38px;
    padding-left: 9px;
    padding-right: 9px;
}

#main-content .table-responsive > table.goma-external-account-history-table {
    box-sizing: border-box !important;
    font-size: 11.5px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.goma-external-accounts-layout > .col-lg-7 > .enterprise-table-card .table-responsive {
    overflow-x: hidden !important;
}

.goma-external-account-history-table th:nth-child(1) { width: 12%; }
.goma-external-account-history-table th:nth-child(2) { width: 23%; }
.goma-external-account-history-table th:nth-child(3),
.goma-external-account-history-table th:nth-child(4) { width: 19%; }
.goma-external-account-history-table th:nth-child(5) { width: 17%; }
.goma-external-account-history-table th:nth-child(6) { width: 10%; }

.goma-external-account-history-table thead th {
    background: #eef4f8;
    box-sizing: border-box;
    color: #193b5a;
    font-size: 10.5px;
    overflow: hidden;
    padding: 8px 7px;
}

.goma-external-account-history-table tbody td {
    box-sizing: border-box;
    overflow: hidden;
    padding: 7px;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.goma-external-account-history-table th:nth-child(3),
.goma-external-account-history-table th:nth-child(4),
.goma-external-account-history-table td:nth-child(3),
.goma-external-account-history-table td:nth-child(4) {
    white-space: nowrap;
}

.goma-external-account-history-table .badge {
    font-size: 10.5px;
    padding: 5px 8px;
}

.goma-external-account-history-table tbody tr:hover td {
    background: #f4f9fb;
}

.goma-repayment-history-card {
    overflow: hidden;
}

.goma-repayment-filters {
    background: #f7fafc;
    border-bottom: 1px solid #dfe7ef;
    margin: 0 !important;
}

.goma-repayment-filters label {
    color: #29445f;
}

.goma-repayment-filters .form-control,
.goma-repayment-filters .form-select {
    font-size: 12px;
    min-height: 36px;
    padding-left: 8px;
    padding-right: 8px;
}

.goma-repayment-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 16px 4px;
}

.goma-repayment-summary > span {
    align-items: center;
    background: #edf8f4;
    border: 1px solid #c5e5d9;
    border-radius: 8px;
    color: #17634f;
    display: inline-flex;
    gap: 8px;
    padding: 6px 10px;
}

.goma-repayment-summary small {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.goma-repayment-summary strong {
    font-size: 12px;
    white-space: nowrap;
}

#main-content .table-responsive > table.goma-repayment-history-table {
    box-sizing: border-box !important;
    font-size: 11.5px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.goma-repayment-history-card .table-responsive {
    overflow-x: hidden !important;
}

.goma-repayment-history-table th:nth-child(1) { width: 15%; }
.goma-repayment-history-table th:nth-child(2) { width: 27%; }
.goma-repayment-history-table th:nth-child(3) { width: 25%; }
.goma-repayment-history-table th:nth-child(4) { width: 23%; }
.goma-repayment-history-table th:nth-child(5) { width: 10%; }

.goma-repayment-history-table thead th {
    background: #eef4f8 !important;
    box-sizing: border-box;
    color: #193b5a !important;
    font-size: 10px !important;
    overflow: hidden;
    padding: 8px 7px !important;
}

.goma-repayment-history-table tbody td {
    overflow: hidden;
    padding: 7px !important;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.goma-repayment-history-table td:nth-child(1),
.goma-repayment-history-table td:nth-child(4) {
    white-space: nowrap;
}

.tableur-page .tableur-table th,
.tableur-page .tableur-table td,
.tableur-page .tableur-report-table th,
.tableur-page .tableur-report-table td {
    border-right: 1px solid #d5dee8;
}

.tableur-page .tableur-table thead th,
.tableur-page .tableur-report-table thead th {
    border-bottom: 1px solid #bdc9d6 !important;
    border-right: 1px solid #bdc9d6 !important;
}

.tableur-page .tableur-table th:first-child,
.tableur-page .tableur-table td:first-child,
.tableur-page .tableur-report-table th:first-child,
.tableur-page .tableur-report-table td:first-child {
    border-left: 1px solid #d5dee8;
}

.tableur-page .tableur-table thead th:first-child,
.tableur-page .tableur-report-table thead th:first-child {
    border-left: 1px solid #bdc9d6 !important;
}

.tableur-page .tableur-transfer-table thead th {
    border-left-color: rgba(255, 255, 255, .28) !important;
    border-right-color: rgba(255, 255, 255, .28) !important;
}

.tableur-transfer-table {
    font-size: 10px;
    min-width: 760px !important;
    table-layout: auto !important;
    width: 100% !important;
}

.tableur-transfer-view-switch {
    align-items: center;
    display: flex;
    gap: 6px;
    padding: 8px 10px 0;
}

.tableur-transfer-view-switch label {
    align-items: center;
    background: #f4f7fa;
    border: 1px solid #d6e0e8;
    border-radius: 999px;
    color: #526173;
    cursor: pointer;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 6px;
    margin: 0;
    padding: 6px 10px;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.tableur-transfer-view-switch label.active {
    background: #e9f7ef;
    border-color: #61b883;
    color: #087b56;
}

.tableur-transfer-view-switch input {
    accent-color: #16834f;
    margin: 0;
}

.tableur-transfer-view-switch label:last-child.active {
    background: #eaf2ff;
    border-color: #7aa7ea;
    color: #1f62ba;
}

.tableur-table.tableur-deposit-table {
    min-width: 0 !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.enterprise-table-card table.dataTable.tableur-deposit-table {
    min-width: 0 !important;
    width: 100% !important;
}

.tableur-deposit-col-date { width: 11%; }
.tableur-deposit-col-partner { width: 17%; }
.tableur-deposit-col-type { width: 9%; }
.tableur-deposit-col-label { width: 27%; }
.tableur-deposit-col-amount { width: 16%; }
.tableur-deposit-col-agent { width: 12%; }
.tableur-deposit-col-action { width: 8%; }

.tableur-deposit-table th,
.tableur-deposit-table td {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.tableur-deposit-table th:first-child,
.tableur-deposit-table td:first-child,
.tableur-deposit-table th:nth-child(3),
.tableur-deposit-table td:nth-child(3),
.tableur-deposit-table th:nth-child(5),
.tableur-deposit-table td:nth-child(5),
.tableur-deposit-table th:last-child,
.tableur-deposit-table td:last-child {
    white-space: nowrap;
}

.tableur-deposit-table th,
.tableur-deposit-table td {
    overflow-wrap: normal;
    word-break: normal;
}

.tableur-deposit-table tbody tr:nth-child(even) td {
    background: #f3f7fa;
}

.tableur-deposit-table tbody tr:nth-child(odd) td {
    background: #ffffff;
}

.tableur-deposit-table thead th {
    background: #f3f7fa;
    vertical-align: middle;
}

.tableur-super-agent-table {
    table-layout: fixed;
    width: 100%;
}

.tableur-super-agent-table th:nth-child(1) { width: 11%; }
.tableur-super-agent-table th:nth-child(2) { width: 12%; }
.tableur-super-agent-table th:nth-child(3) { width: 29%; }
.tableur-super-agent-table th:nth-child(4),
.tableur-super-agent-table th:nth-child(5),
.tableur-super-agent-table th:nth-child(6) { width: 16%; }

.tableur-super-agent-table tbody tr:nth-child(even) td {
    background: #f3f7fa;
}

.tableur-super-agent-table th,
.tableur-super-agent-table td {
    border-right: 1px solid #d5dee8;
}

.tableur-super-agent-sections {
    display: grid;
    gap: 14px;
}

.tableur-super-agent-subnav {
    align-items: flex-end;
    background: #f7f9fc;
    border: 1px solid #d8e1eb;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    box-shadow: inset 0 -1px 0 #cbd6e2;
    display: flex;
    justify-content: flex-start;
    margin: 0 0 10px 0;
    min-height: 43px;
    padding: 0 16px;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.tableur-super-agent-tabs {
    align-self: stretch;
    display: flex;
    gap: 22px;
    justify-content: center;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
}

.tableur-super-agent-tabs a {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    color: #596579;
    cursor: pointer;
    display: inline-flex;
    font-size: 11.5px;
    font-weight: 700;
    gap: 7px;
    margin-bottom: 0;
    padding: 3px 2px 9px;
    text-decoration: none;
    transition: border-color .15s ease, color .15s ease;
}

.tableur-super-agent-tabs a:hover {
    border-bottom-color: #9bb8cf;
    color: var(--tableur-blue);
}

.tableur-super-agent-tabs a.active {
    background: transparent;
    border-bottom-color: var(--tableur-blue);
    color: var(--tableur-blue);
    font-weight: 900;
}

.tableur-super-agent-tabs a.active i {
    color: #159f8c;
}

.tableur-super-agent-unpaid-count {
    align-items: center;
    background: #d93645;
    border: 0;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    justify-content: center;
    line-height: 1;
    min-height: 18px;
    min-width: 18px;
    padding: 3px 5px;
    white-space: nowrap;
}

.realtime-super-agent-menu-badge {
    align-items: center;
    background: #d93645;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 8px;
    font-weight: 900;
    justify-content: center;
    margin-left: auto;
    min-height: 17px;
    min-width: 17px;
    padding: 2px 5px;
}

.app-profile-role {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.app-profile-role-separator {
    align-self: center;
    border-left: 1px solid #c4ced8;
    display: inline-block;
    height: 13px;
    margin: 0 2px;
}

.tableur-super-agent-mpesa-grid {
    align-items: start;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 2px 0 5px;
}

.tableur-super-agent-mpesa-grid.is-without-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tableur-super-agent-mpesa-grid.is-with-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tableur-super-agent-mpesa-grid .transfer-chat-item,
.tableur-super-agent-mpesa-grid .transfer-chat-bubble {
    height: auto;
    min-height: 0;
}

.tableur-super-agent-mpesa-grid .transfer-chat-bubble {
    border-radius: 4px 13px 13px 13px;
    box-shadow: 0 2px 7px rgba(35, 45, 60, .16);
    padding: 8px 11px 7px;
}

.tableur-super-agent-mpesa-grid .transfer-chat-meta {
    margin-bottom: 3px;
}

.tableur-super-agent-mpesa-grid .transfer-chat-meta strong {
    font-size: 10.5px;
}

.tableur-super-agent-mpesa-grid .transfer-chat-meta span {
    font-size: 8.5px;
}

.tableur-super-agent-mpesa-grid .transfer-chat-line {
    font-size: 13px;
    line-height: 1.32;
}

.tableur-super-agent-mpesa-grid .transfer-chat-footer {
    font-size: 8.5px;
    justify-content: space-between;
    margin-top: 2px;
    min-height: 19px;
}

.tableur-super-agent-mpesa-grid .tableur-transfer-chat-status {
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    font-size: 9.5px;
    padding: 1px 6px;
}

.tableur-super-agent-mpesa-grid .tableur-transfer-chat-status.is-pending {
    background: #fff1f2;
    border-color: #ffc9cf;
    color: #c52f3e;
}

.tableur-super-agent-mpesa-grid .tableur-transfer-chat-status.is-partial {
    background: #fff4c7;
    border-color: #efcf64;
    color: #835b00;
}

.tableur-super-agent-mpesa-grid .tableur-transfer-chat-status.is-paid {
    background: #e4f7ec;
    border-color: #a9dfbf;
    color: #177444;
}

.tableur-super-agent-mpesa-grid .transfer-chat-actions {
    border-top: 1px solid #dfe6ec;
    margin-top: 4px;
    padding-top: 5px;
}

.tableur-super-agent-mpesa-grid .transfer-chat-actions form {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    width: 100%;
}

.tableur-super-agent-mpesa-grid .transfer-chat-actions input {
    border-radius: 999px;
    font-size: 11px;
    height: 28px;
    width: 105px;
}

.tableur-super-agent-mpesa-grid .transfer-chat-actions .btn {
    border-radius: 999px;
    font-size: 10px;
    height: 28px;
    padding: 3px 9px;
}

@media (max-width: 991.98px) {
    .tableur-super-agent-mpesa-grid,
    .tableur-super-agent-mpesa-grid.is-without-form,
    .tableur-super-agent-mpesa-grid.is-with-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .tableur-super-agent-mpesa-grid,
    .tableur-super-agent-mpesa-grid.is-without-form,
    .tableur-super-agent-mpesa-grid.is-with-form {
        grid-template-columns: 1fr;
    }
}

.tableur-super-agent-sections h6 {
    color: var(--tableur-blue);
    font-size: 12px;
    font-weight: 900;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.tableur-super-agent-sections tbody tr:nth-child(even) td {
    background: #f3f7fa;
}

.tableur-table.tableur-super-agent-transaction-table {
    font-size: 10.5px;
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.super-agent-col-date { width: 11%; }
.super-agent-col-person { width: 19%; }
.super-agent-col-money { width: 15%; }
.super-agent-col-fee { width: 10%; }
.super-agent-col-action { width: 10%; }

.tableur-table.tableur-super-agent-versement-table {
    font-size: 11px;
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.super-agent-versement-col-date { width: 12%; }
.super-agent-versement-col-person { width: 20%; }
.super-agent-versement-col-money { width: 16%; }
.super-agent-versement-col-agent { width: 16%; }
.super-agent-versement-col-action { width: 12%; }

.tableur-super-agent-versement-table th,
.tableur-super-agent-versement-table td {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.tableur-super-agent-versement-table th:first-child,
.tableur-super-agent-versement-table td:first-child,
.tableur-super-agent-versement-table th:nth-child(n+4),
.tableur-super-agent-versement-table td:nth-child(n+4) {
    white-space: nowrap;
}

.tableur-super-agent-report-section-title {
    background: #eef500;
    color: #111827;
    font-size: 11px;
    font-weight: 800;
    margin: 10px 0 0;
    padding: 5px 8px;
    text-align: center;
    text-transform: uppercase;
}

.tableur-super-agent-report-section-title + .tableur-report-table {
    margin-bottom: 8px;
}

.tableur-provider-list-table {
    box-sizing: border-box;
    margin: 0 !important;
    max-width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
    width: calc(100% - 1px) !important;
}

.tableur-provider-col-number { width: 4%; }
.tableur-provider-col-name { width: 29%; }
.tableur-provider-col-contact { width: 20%; }
.tableur-provider-col-network { width: 18%; }
.tableur-provider-col-category { width: 21%; }
.tableur-provider-col-action { width: 8%; }

.tableur-provider-list-table th,
.tableur-provider-list-table td {
    box-sizing: border-box;
    overflow-wrap: anywhere;
    padding-left: 7px !important;
    padding-right: 7px !important;
    white-space: normal;
    word-break: normal;
}

.tableur-provider-list-table thead th {
    font-size: 10.5px;
    letter-spacing: .025em;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
    vertical-align: middle;
}

.tableur-provider-list-table tbody td {
    font-size: 10.5px;
    line-height: 1.1;
    padding-bottom: 3px !important;
    padding-top: 3px !important;
    vertical-align: middle;
}

.tableur-provider-list-table th:first-child,
.tableur-provider-list-table td:first-child,
.tableur-provider-list-table th:last-child,
.tableur-provider-list-table td:last-child {
    text-align: center !important;
}

.tableur-provider-list-table th:last-child {
    overflow-wrap: normal;
    white-space: nowrap;
}

.tableur-provider-list-wrap {
    max-width: 100%;
    overflow-x: hidden !important;
}

.tableur-provider-list-table .tableur-transfer-edit-btn {
    border-radius: 6px;
    font-size: 11px;
    height: 23px;
    min-width: 23px;
    padding: 0 !important;
    width: 23px;
}

.tableur-super-agent-ravitaillement-table {
    min-width: 0 !important;
    table-layout: fixed;
    width: 100% !important;
}

.ravitaillement-col-date { width: 11%; }
.ravitaillement-col-provider { width: 24%; }
.ravitaillement-col-label { width: 24%; }
.ravitaillement-col-money { width: 16%; }
.ravitaillement-col-agent { width: 16%; }
.ravitaillement-col-action { width: 9%; }

.tableur-super-agent-ravitaillement-table th,
.tableur-super-agent-ravitaillement-table td {
    overflow-wrap: anywhere;
    padding-left: 6px !important;
    padding-right: 6px !important;
    vertical-align: middle;
}

.tableur-provider-report-table {
    table-layout: fixed;
    width: 100%;
}

.provider-report-col-date { width: 10%; }
.provider-report-col-activity { width: 26%; }
.provider-report-col-money { width: 15%; }
.provider-report-col-balance { width: 15%; }
.provider-report-col-observation { width: 19%; }

.tableur-provider-report-table th,
.tableur-provider-report-table td {
    overflow-wrap: anywhere;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.tableur-provider-report-table .tableur-report-entry-row td {
    background: rgba(34, 197, 94, .14) !important;
    color: #123b1f;
    font-weight: 700;
}

.provider-report-observation {
    font-size: 10px;
    font-weight: 800;
}

.tableur-page .tableur-provider-report-table td.provider-observation-positive {
    color: #16803c !important;
}

.tableur-page .tableur-provider-report-table td.provider-observation-negative {
    color: #d92d20 !important;
}

.tableur-page .tableur-provider-report-table td.provider-observation-zero {
    color: #d79a00 !important;
}

.tableur-super-agent-transaction-table th,
.tableur-super-agent-transaction-table td {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.tableur-super-agent-transaction-table th:first-child,
.tableur-super-agent-transaction-table td:first-child,
.tableur-super-agent-transaction-table th:nth-child(n+4),
.tableur-super-agent-transaction-table td:nth-child(n+4) {
    white-space: nowrap;
}

.tableur-super-agent-forms {
    display: grid;
    gap: 10px;
    min-width: 0;
    width: 100%;
}

.tableur-super-agent-forms .card,
.tableur-super-agent-forms .card-body,
.tableur-super-agent-forms form {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.tableur-super-agent-forms .card-body {
    overflow: hidden;
    padding: 12px !important;
}

.tableur-super-agent-forms .tableur-side-form {
    grid-template-columns: minmax(0, 1fr);
    width: auto;
}

.tableur-super-agent-forms .enterprise-control,
.tableur-super-agent-forms .form-control,
.tableur-super-agent-forms .form-select {
    box-sizing: border-box;
    display: block;
    justify-self: stretch;
    max-width: 100%;
    min-width: 0;
    width: auto !important;
}

.tableur-split-layout > [class*="col-"] {
    min-width: 0;
}

.tableur-transfer-table thead th {
    background: linear-gradient(135deg, #173f5f 0%, #2f7a7b 100%) !important;
    border-bottom: 0 !important;
    color: #ffffff !important;
    font-size: 8.4px;
    letter-spacing: .02em;
    line-height: 1.1;
    padding: 6px 4px !important;
    text-align: left;
    vertical-align: middle;
}

.tableur-transfer-table thead th.text-end {
    text-align: right !important;
}

.tableur-transfer-table {
    min-width: 0 !important;
    table-layout: fixed !important;
    width: 100% !important;
}

.tableur-transfer-table col:nth-child(1) { width: 13%; }
.tableur-transfer-table col:nth-child(2) { width: 12%; }
.tableur-transfer-table col:nth-child(3) { width: 13%; }
.tableur-transfer-table col:nth-child(4) { width: 9%; }
.tableur-transfer-table col:nth-child(5) { width: 7%; }
.tableur-transfer-table col:nth-child(6) { width: 15%; }
.tableur-transfer-table col:nth-child(7) { width: 14%; }
.tableur-transfer-table col:nth-child(8) { width: 17%; }

.tableur-transfer-table td:last-child input[type="number"] {
    max-width: 72px;
}

.tableur-transfer-table-share {
    align-items: center;
    background: #eaf8f0;
    border: 1px solid #93d6ae;
    border-radius: 50%;
    color: #16834f;
    display: inline-flex;
    font-size: 12px;
    height: 24px;
    justify-content: center;
    margin-left: 3px;
    text-decoration: none;
    vertical-align: middle;
    width: 24px;
}

.tableur-transfer-table-share:hover {
    background: #d8f2e3;
    color: #0d6b3e;
}

.tableur-transfer-date-col { width: 1%; }
.tableur-transfer-sender-col,
.tableur-transfer-recipient-col { width: auto; }
.tableur-transfer-money-col,
.tableur-transfer-fee-col,
.tableur-transfer-status-col,
.tableur-transfer-action-col { width: 1%; }

.tableur-transfer-table tbody td {
    font-size: 9.2px;
    font-weight: 400 !important;
    line-height: 1.16;
    overflow: hidden;
    padding: 4px !important;
    vertical-align: middle;
}

.tableur-transfer-table th:first-child,
.tableur-transfer-table td:first-child {
    min-width: 0;
    white-space: nowrap;
}

.tableur-transfer-table th:nth-child(2),
.tableur-transfer-table td:nth-child(2),
.tableur-transfer-table th:nth-child(3),
.tableur-transfer-table td:nth-child(3) {
    min-width: 0;
}

.tableur-transfer-receive-split {
    white-space: normal;
}

.tableur-transfer-receive-split > span {
    display: flex;
    justify-content: space-between;
    gap: 4px;
}

.tableur-transfer-receive-split small {
    color: #667085;
    font-size: 7.5px;
}

.tableur-transfer-receive-split strong {
    color: #173f5f;
    font-size: 9px;
    white-space: nowrap;
}

.tableur-transfer-receive-split .is-bank-fee {
    border-top: 1px dashed #c8d4df;
    margin-top: 3px;
    padding-top: 3px;
}

.tableur-transfer-receive-split .is-bank-fee strong {
    color: #8a5700;
}

.tableur-transfer-table th,
.tableur-transfer-table td {
    box-sizing: border-box;
}

.tableur-transfer-table tbody td:nth-child(4),
.tableur-transfer-table tbody td:nth-child(5),
.tableur-transfer-table tbody td:nth-child(6) {
    font-size: 8.9px;
    line-height: 1.12;
    overflow-wrap: normal;
    text-align: right;
    min-width: 0;
    white-space: nowrap;
    word-break: keep-all;
}

.tableur-transfer-table tbody td.tableur-transfer-receive-split {
    white-space: normal;
}

.tableur-transfer-table .tableur-transfer-status-head {
    line-height: 1.05;
}

.tableur-transfer-table .tableur-transfer-status-head span,
.tableur-transfer-table .tableur-transfer-status-head small {
    display: block;
}

.tableur-transfer-table .tableur-transfer-status-head small {
    color: rgba(255, 255, 255, .78);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0;
    margin-top: 1px;
    text-transform: none;
}

.tableur-transfer-table tbody td:nth-child(7) {
    font-size: 8.4px;
    line-height: 1.12;
    min-width: 100px;
    white-space: nowrap;
}

.tableur-transfer-table tbody td:nth-child(7) .badge {
    font-size: 7.2px;
    padding: 1px 4px;
}

.tableur-transfer-status-badge {
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 7.2px;
    font-weight: 800;
    line-height: 1;
    padding: 2px 5px;
}

.tableur-transfer-status-badge.is-pending {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #c1121f;
}

.tableur-transfer-status-badge.is-partial {
    background: #ffc107;
    border-color: #d99f00;
    color: #4f3a00;
}

.tableur-transfer-status-badge.is-paid {
    background: #ecfdf3;
    border-color: #bbf7d0;
    color: #087b56;
}

.tableur-transfer-status-badge.is-canceled {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #475569;
}

.tableur-transfer-table tbody td:nth-child(8) {
    min-width: 112px;
    overflow: visible;
    text-align: center;
    white-space: nowrap;
}

.tableur-transfer-table thead th:nth-child(8) {
    font-size: 7.6px;
    padding-left: 2px !important;
    padding-right: 2px !important;
    text-align: center;
}

.tableur-transfer-table tbody td:nth-child(8) form {
    align-items: center;
    display: inline-flex !important;
    flex-direction: row;
    gap: 3px !important;
    justify-content: flex-end;
    margin: 0 !important;
    max-width: 100%;
    width: 100%;
}

.tableur-transfer-table tbody td:nth-child(8) form.tableur-transfer-delete-form {
    display: inline-flex !important;
    margin-left: 3px !important;
    max-width: none;
    vertical-align: middle;
    width: auto !important;
}

.tableur-transfer-table tbody td:nth-child(8) .form-control {
    font-size: 9px;
    font-variant-numeric: tabular-nums;
    height: 26px;
    flex: 1 1 90px;
    max-width: 130px;
    min-width: 0;
    padding: 3px 7px;
    text-align: right;
    width: auto !important;
}

.tableur-transfer-table tbody td:nth-child(8) .btn {
    align-items: center;
    display: inline-flex;
    font-size: 8px;
    height: 22px;
    justify-content: center;
    line-height: 1;
    min-width: 22px;
    padding: 0;
    width: 22px;
}

.tableur-transfer-table tbody td:nth-child(8) .tableur-transfer-edit-btn {
    margin-left: 3px;
    margin-top: 0;
}

.tableur-transfer-table tbody td:nth-child(2),
.tableur-transfer-table tbody td:nth-child(3) {
    overflow-wrap: anywhere;
    word-break: normal;
}

.tableur-transfer-table tbody tr:nth-child(even) td {
    background: #f7fafc;
}

.tableur-transfer-validation-chat {
    max-width: none;
    width: 100%;
}

.tableur-transfer-validation-chat .transfer-chat-list {
    align-content: start;
    align-items: start;
    background: linear-gradient(180deg, #efe9df 0%, #e8e0d5 100%);
    grid-auto-rows: max-content;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: none;
    min-height: 0;
}

.tableur-transfer-validation-chat.is-full-width .transfer-chat-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tableur-transfer-validation-chat .transfer-chat-bubble {
    max-width: none;
    width: 100%;
}

.tableur-transfer-status-tabs {
    align-items: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    display: inline-flex;
    gap: 3px;
    padding: 3px;
}

.tableur-transfer-status-tabs button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: rgba(255, 255, 255, .78);
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    gap: 5px;
    line-height: 1;
    padding: 6px 8px;
    white-space: nowrap;
}

.tableur-transfer-status-tabs button.active {
    background: #ffffff;
    color: #173f5f;
}

.tableur-transfer-status-tabs button span {
    background: rgba(23, 63, 95, .12);
    border-radius: 999px;
    color: inherit;
    min-width: 19px;
    padding: 2px 5px;
    text-align: center;
}

.tableur-transfer-status-tabs button:not(.active) span {
    background: rgba(255, 255, 255, .16);
}

.tableur-transfer-validation-chat .transfer-chat-footer {
    justify-content: space-between;
}

.tableur-transfer-footer-controls {
    align-items: center;
    display: inline-flex;
    gap: 4px;
    margin-left: auto;
    white-space: nowrap;
}

.tableur-transfer-footer-icon {
    align-items: center;
    background: #fff;
    border: 1px solid currentColor;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 22px;
    font-size: 11px;
    height: 22px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    text-decoration: none;
    width: 22px;
}

.tableur-transfer-footer-icon.is-whatsapp { color: #16834f; }
.tableur-transfer-footer-icon.is-edit { color: #175cd3; }
.tableur-transfer-footer-icon:hover { filter: brightness(.88); }

.tableur-transfer-fee-phone-line {
    align-items: baseline;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.tableur-transfer-fee-phone-line .transfer-chat-phone {
    border-top: 0;
    flex: 0 0 auto;
    margin-top: 0;
    padding-top: 0;
    text-align: right;
    white-space: nowrap;
}

.tableur-transfer-validation-chat .transfer-chat-actions form {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: flex-end;
    width: 100%;
}

.tableur-transfer-validation-chat .transfer-chat-actions {
    border-top: 1px solid #edf0f3;
    margin-top: 7px;
    padding-top: 6px;
}

.tableur-transfer-validation-chat .transfer-chat-actions input {
    height: 26px;
    max-width: 112px;
    min-width: 0;
    font-size: 10px;
}

.tableur-transfer-validation-chat .transfer-chat-footer .tableur-transfer-chat-status {
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    padding: 1px 6px;
}

.tableur-transfer-validation-chat .transfer-chat-footer .tableur-transfer-chat-status.is-pending {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #c1121f !important;
}

.tableur-transfer-validation-chat .transfer-chat-footer .tableur-transfer-chat-status.is-paid {
    background: #ecfdf3;
    border-color: #bbf7d0;
    color: #087b56 !important;
}

.tableur-transfer-validation-chat .transfer-chat-footer .tableur-transfer-chat-status.is-partial {
    background: #ffc107;
    border-color: #d99f00;
    color: #4f3a00 !important;
}

.tableur-report-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    padding: 4px 8px;
    white-space: nowrap;
}

.tableur-report-status.is-pending {
    background: #fff1f2;
    color: #c1121f;
}

.tableur-report-status.is-paid {
    background: #ecfdf3;
    color: #087b56;
}

.tableur-report-taxi-total {
    align-items: center;
    background: #fff7df;
    border: 1px solid #efd28b;
    border-radius: 8px;
    color: #7a4d00;
    display: inline-flex;
    font-size: 11px;
    gap: 6px;
    margin-bottom: 8px;
    padding: 6px 10px;
}

@media (max-width: 1199.98px) {
    .tableur-transfer-validation-chat .transfer-chat-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tableur-transfer-validation-chat.is-full-width .transfer-chat-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .tableur-transfer-validation-chat .transfer-chat-list,
    .tableur-transfer-validation-chat.is-full-width .transfer-chat-list {
        grid-template-columns: 1fr;
    }
}

/* Super Agent : hauteur dictée par le contenu et colonnes dictées par la présence du formulaire. */
.tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid {
    max-height: none;
    min-height: 0;
}

.tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid.is-without-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid.is-with-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 991.98px) {
    .tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid.is-without-form,
    .tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid.is-with-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid.is-without-form,
    .tableur-super-agent-mpesa-section .tableur-super-agent-mpesa-grid.is-with-form {
        grid-template-columns: 1fr;
    }
}

.tableur-transfer-edit-btn {
    align-items: center;
    background: #eef4ff;
    border: 1px solid #c7d7fe;
    color: #175cd3;
    display: inline-flex;
    height: 24px;
    justify-content: center;
    padding: 0;
    width: 24px;
}

.tableur-transfer-edit-btn:hover,
.tableur-transfer-edit-btn:focus {
    background: #dbeafe;
    color: #0b4eb3;
}

.tableur-action-muted {
    color: #98a2b3;
    font-weight: 800;
}

.tableur-reports-layout {
    margin-top: 8px;
}

.tableur-report-result-card {
    min-height: 360px;
}

.tableur-report-options-card {
    align-self: flex-start;
    background: #f7fafc;
    border: 1px solid #cbd8e5;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(23, 63, 95, .12);
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
}

.tableur-reports-layout > [class*="col-"]:has(.tableur-report-options-card) {
    align-self: flex-start;
    height: auto !important;
    min-height: 0 !important;
}

.tableur-report-options-card .card-body {
    padding: 0 8px 9px !important;
}

.tableur-report-options-heading {
    align-items: center;
    background: linear-gradient(135deg, #173f5f 0%, #2f7a7b 100%);
    border-radius: 11px 11px 8px 8px;
    color: #ffffff;
    display: flex;
    gap: 9px;
    margin: 0 -8px 9px;
    min-height: 62px;
    padding: 7px 9px;
}

.attendance-summary-row .presence-sign-card .alert {
    font-size: 11px;
    margin-top: 4px;
    padding: 8px 10px;
}

.attendance-summary-row .presence-sign-icon {
    border-radius: 9px;
    flex-basis: 34px;
    font-size: 18px;
    height: 34px;
    width: 34px;
}

.tableur-report-options-heading-icon {
    align-items: center;
    background: rgba(255, 255, 255, .15);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 7px;
    display: inline-flex;
    flex: 0 0 26px;
    font-size: 12px;
    height: 26px;
    justify-content: center;
}

.tableur-report-options-title {
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 900;
    letter-spacing: .045em;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
}

.tableur-report-options-heading small {
    color: rgba(255, 255, 255, .76);
    display: block;
    font-size: 8.5px;
    font-weight: 600;
    margin-top: 2px;
}

.tableur-report-check {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e0e8f0;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 6px;
    margin: 3px 0;
    min-height: 33px;
    padding: 4px 7px 4px 5px;
    position: relative;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tableur-report-check:hover {
    border-color: #8eb9bd;
    box-shadow: 0 5px 12px rgba(23, 63, 95, .09);
    transform: translateY(-1px);
}

.tableur-report-check input {
    height: 1px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

.tableur-report-check > i:not(.tableur-report-check-mark) {
    align-items: center;
    background: #edf3f8;
    border-radius: 6px;
    color: #416b86;
    display: inline-flex;
    flex: 0 0 20px;
    font-size: 10px;
    height: 20px;
    justify-content: center;
}

.tableur-report-check span {
    color: #263b55;
    flex: 1 1 auto;
    font-size: 10.25px;
    font-weight: 800;
}

.tableur-report-check-mark {
    color: #2f7a7b;
    font-size: 10px;
    opacity: 0;
    transform: scale(.7);
    transition: opacity .18s ease, transform .18s ease;
}

.tableur-report-check:has(input:checked) {
    background: #ffffff;
    border-color: #2f7a7b;
    box-shadow: 0 6px 16px rgba(47, 122, 123, .18);
}

.tableur-report-check:has(input:checked)::before {
    background: #2f7a7b;
    border-radius: 0 4px 4px 0;
    bottom: 6px;
    content: "";
    left: -1px;
    position: absolute;
    top: 6px;
    width: 3px;
}

.tableur-report-check:has(input:checked) > i:not(.tableur-report-check-mark) {
    background: #dff3f0;
    color: #176b6c;
}

.tableur-report-check:has(input:checked) span {
    color: #173f5f;
}

.tableur-report-check:has(input:checked) .tableur-report-check-mark {
    color: #2f7a7b;
    opacity: 1;
    transform: scale(1);
}

.tableur-report-check-transfer > i:not(.tableur-report-check-mark) { background:#e4efff; color:#1769aa; }
.tableur-report-check-caisse_bunia > i:not(.tableur-report-check-mark) { background:#e7f5ed; color:#26734d; }
.tableur-report-check-forex > i:not(.tableur-report-check-mark) { background:#e4f7f5; color:#087b73; }
.tableur-report-check-supplies > i:not(.tableur-report-check-mark) { background:#fff1d7; color:#a76300; }
.tableur-report-check-super_agent > i:not(.tableur-report-check-mark) { background:#efe8ff; color:#7545b5; }
.tableur-report-check-partenaires > i:not(.tableur-report-check-mark) { background:#ffe9ed; color:#b23b55; }
.tableur-report-check-providers > i:not(.tableur-report-check-mark) { background:#e9eef5; color:#485d78; }

.tableur-report-placeholder {
    align-items: center;
    color: #667085;
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
    min-height: 320px;
    text-align: center;
}

.tableur-report-placeholder i {
    color: #2f7a7b;
    font-size: 30px;
}

.tableur-report-placeholder strong {
    color: var(--tableur-blue);
    font-size: 14px;
    font-weight: 900;
}

.tableur-report-placeholder span {
    font-size: 11px;
}

.tableur-report-filter-header {
    padding: 6px 10px;
}

.enterprise-filter-card .tableur-report-filter-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    min-height: 0;
}

.tableur-report-period-field,
.tableur-report-monthly-field,
.tableur-report-partner-field,
.tableur-report-provider-field,
.tableur-report-client-field,
.tableur-report-daily-field {
    align-items: center;
    display: flex;
    gap: 8px;
}

.tableur-report-partner-field input {
    width: 150px;
}

.tableur-report-partner-field select {
    width: 220px;
}

.tableur-report-period-field select {
    width: 120px;
}

.tableur-report-monthly-field select {
    width: 135px;
}

.tableur-report-monthly-field input {
    width: 90px;
}

.tableur-report-provider-field {
    align-items: center;
    gap: 6px;
}

.tableur-report-filter-form [hidden] { display: none !important; }
.tableur-report-client-field { align-items:end; gap:8px 14px; flex-wrap:wrap; }
.tableur-report-client-control { display:flex; align-items:center; gap:8px; }
.tableur-report-client-control label { flex:0 0 auto; }
.tableur-report-client-field input[type="date"] { width:170px; }
.tableur-report-client-field input[type="text"] { width:260px; }
.tableur-report-client-field input[type="search"] { width:260px; }
.tableur-report-client-submit { align-self:center; white-space:nowrap; }
.tableur-report-client-layout { display:flex; align-items:center; gap:.45rem; padding:0 .2rem .45rem 1.7rem; white-space:nowrap; color:#173f5f; }
.tableur-client-report-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.tableur-client-report-grid > section { min-width:0; }
.tableur-client-report-grid > section > h6 { font-weight:800; color:#173f5f; border-bottom:2px solid #2f7a7b; padding-bottom:.4rem; }
@media (max-width: 991.98px) { .tableur-client-report-grid { grid-template-columns:1fr; } }

.tableur-report-daily-field label {
    flex: 0 0 auto;
}

.tableur-report-daily-field .form-control {
    width: 170px;
}

.tableur-report-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.tableur-forex-filter-header {
    padding: 6px 10px;
}

.enterprise-filter-card .tableur-forex-filter-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    min-height: 0;
}

.tableur-forex-filter-field {
    align-items: center;
    display: flex;
    gap: 8px;
}

.tableur-forex-filter-field input[type="date"] {
    width: 160px;
}

.tableur-forex-search-field {
    flex: 1 1 280px;
    max-width: 460px;
}

.tableur-forex-search-field input {
    min-width: 220px;
}

.tableur-table.tableur-forex-table {
    table-layout: fixed;
    min-width: 0;
    width: 100%;
}

.tableur-forex-scroll {
    max-height: min(52vh, 460px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(47, 111, 115, .62) #edf2f5;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    width: 100%;
}

.tableur-forex-scroll::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

.tableur-forex-scroll::-webkit-scrollbar-track {
    background: #edf2f5;
}

.tableur-forex-scroll::-webkit-scrollbar-thumb {
    background: rgba(47, 111, 115, .62);
    border-radius: 999px;
}

.tableur-page .enterprise-table-card .tableur-day-ledger-wrap {
    max-height: none !important;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
    scrollbar-color: rgba(47, 111, 115, .55) #edf2f5;
    scrollbar-width: thin;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

.tableur-page .enterprise-table-card .tableur-day-ledger-wrap::-webkit-scrollbar {
    height: 7px;
}

.tableur-page .enterprise-table-card .tableur-day-ledger-wrap::-webkit-scrollbar-track {
    background: #edf2f5;
    border-radius: 999px;
}

.tableur-page .enterprise-table-card .tableur-day-ledger-wrap::-webkit-scrollbar-thumb {
    background: rgba(47, 111, 115, .55);
    border-radius: 999px;
}

.tableur-forex-table thead,
.tableur-deposit-table thead,
.tableur-transfer-table thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

.tableur-forex-table thead th,
.tableur-deposit-table thead th {
    background: #e8f0f5 !important;
    box-shadow: inset 0 -1px 0 #b9c9d5;
}

.tableur-forex-col-date { width: 9%; }
.tableur-forex-col-label { width: 23%; }
.tableur-forex-col-money { width: 15%; }
.tableur-forex-col-agent { width: 11%; }
.tableur-forex-col-actions { width: 12%; }

.tableur-supplies-table .tableur-forex-col-label { width: 22%; }
.tableur-supplies-table .tableur-forex-col-balance { width: 16%; }

.tableur-forex-table th,
.tableur-forex-table td {
    font-size: 10.5px;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.tableur-forex-table td:first-child {
    white-space: nowrap;
}

.tableur-forex-table td:nth-child(2) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tableur-forex-table tbody tr[data-forex-row]:nth-child(even) td {
    background: #f3f7fa;
}

.tableur-forex-table tbody tr[data-forex-row]:nth-child(odd) td {
    background: #ffffff;
}

.tableur-forex-entry {
    color: #087443;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}

.tableur-forex-exit {
    color: #344054;
    font-size: 10.5px;
    font-weight: 400;
    text-align: right;
}

.tableur-forex-balance {
    color: var(--tableur-blue);
    font-size: 10.5px;
    font-weight: 400;
    text-align: right;
}

.tableur-forex-table tbody tr.tableur-forex-entry-row .tableur-forex-entry {
    font-weight: 900;
}

.tableur-forex-table tbody tr.tableur-forex-entry-row td:nth-child(-n+5) {
    font-size: 10px !important;
    font-weight: 900 !important;
}

.tableur-forex-table tbody tr.tableur-forex-first-row .tableur-forex-balance,
.tableur-forex-table tbody tr.tableur-forex-last-row .tableur-forex-balance {
    color: #07395f;
    font-size: 13px;
    font-weight: 900;
}

.tableur-ledger-actions {
    white-space: nowrap;
}

.tableur-ledger-delete-btn {
    align-items: center;
    background: #fff1f0;
    border: 0;
    color: #b42318;
    display: inline-flex;
    height: 24px;
    justify-content: center;
    padding: 0;
    width: 24px;
}

.tableur-forex-form-card .tableur-side-form {
    gap: 5px;
}

.tableur-report-actions .btn {
    border: 0;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 9px;
}

.tableur-generic-report-title {
    color: var(--tableur-blue);
    font-size: 13px;
    font-weight: 900;
    margin: 0 0 8px;
    text-align: center;
    text-transform: uppercase;
}

.tableur-report-table {
    font-size: 10.5px;
    table-layout: fixed;
}

.tableur-report-table thead th {
    background: linear-gradient(135deg, #173f5f 0%, #2f7a7b 100%);
    color: #fff;
    font-size: 9.5px;
    font-weight: 900;
    padding: 6px 5px;
    text-transform: uppercase;
}

.tableur-report-table thead th.text-end {
    text-align: right !important;
}

.tableur-report-table .tableur-report-num-col,
.tableur-report-table td:first-child {
    width: 34px;
}

.tableur-report-table td {
    border-bottom: 1px solid #e4ebf2;
    font-weight: 400;
    padding: 4px 5px;
    vertical-align: top;
}

.tableur-report-table tbody tr:nth-child(even) td {
    background: #f7fafc;
}

.tableur-report-table .tableur-cash-ledger-entry-row td {
    font-size: 10px !important;
    font-weight: 900 !important;
}

.tableur-report-table tfoot th {
    background: #eaf2f8;
    color: #07395f;
    font-size: 10px;
    font-weight: 900;
    padding: 6px 5px;
}

.tableur-bunia-report-table th:first-child,
.tableur-bunia-report-table td:first-child {
    width: 80px;
}

.tableur-bunia-report-table th:nth-child(2),
.tableur-bunia-report-table td:nth-child(2) {
    width: 28%;
}

.tableur-bunia-report-table th:nth-child(3),
.tableur-bunia-report-table td:nth-child(3),
.tableur-bunia-report-table th:nth-child(4),
.tableur-bunia-report-table td:nth-child(4),
.tableur-bunia-report-table th:nth-child(5),
.tableur-bunia-report-table td:nth-child(5) {
    width: 104px;
    white-space: nowrap;
}

.tableur-bunia-report-table th:nth-child(6),
.tableur-bunia-report-table td:nth-child(6) {
    width: 24%;
    white-space: normal;
    word-break: break-word;
}

.tableur-bunia-report-table .tableur-report-opening-row td {
    background: #eaf2f8 !important;
}

.tableur-bunia-report-table .tableur-report-entry-row td {
    background: rgba(34, 197, 94, .14) !important;
    color: #123b1f;
    font-weight: 700;
}

.tableur-bunia-report-table .tableur-report-closing-row td {
    background: #edf6ff !important;
}

.tableur-bunia-report-table .tableur-report-closing-row td:nth-child(5),
.tableur-bunia-report-table .tableur-report-closing-row td:nth-child(6) {
    color: #07395f;
    font-size: 13px;
    font-weight: 900;
}

.tableur-bunia-report-table td {
    border: 1px solid #d4e0ec;
}

.tableur-simple-pagination {
    align-items: center;
    border-top: 1px solid #e4ebf2;
    color: #667085;
    display: flex;
    font-size: 10.5px;
    justify-content: space-between;
    padding: 8px 2px 2px;
}

.tableur-day-total {
    color: #667085;
    font-size: 10px;
    font-weight: 700;
    padding: 7px 4px 2px;
    text-align: right;
}

.tableur-review-table tbody td[role="gridcell"],
.app-keyboard-table tbody td[role="gridcell"] {
    cursor: cell;
    outline: none;
}

.tableur-review-table tbody tr.tableur-review-active-row td,
.app-keyboard-table tbody tr.app-table-active-row td {
    background: rgba(34, 197, 94, .11) !important;
    box-shadow: inset 0 1px 0 #a9c4dc, inset 0 -1px 0 #a9c4dc;
}

.tableur-review-table tbody tr.tableur-review-active-row td.tableur-review-active-cell,
.app-keyboard-table tbody tr.app-table-active-row td.app-table-active-cell {
    background: #fff4c2 !important;
    box-shadow: inset 0 0 0 2px #1976d2 !important;
    color: #102a43 !important;
    position: relative;
}

.tableur-simple-pagination > div {
    align-items: center;
    display: flex;
    gap: 8px;
}

.tableur-page-link {
    background: #eef4ff;
    border: 1px solid #c7d7fe;
    border-radius: 5px;
    color: #175cd3;
    cursor: pointer;
    font-weight: 700;
    padding: 4px 8px;
    text-decoration: none;
}

.tableur-page-link:hover {
    background: #dbeafe;
    color: #0b4eb3;
}

.tableur-counts-layout {
    --bs-gutter-x: 10px;
    --bs-gutter-y: 10px;
}

.tableur-counts-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tableur-counts-heading {
    color: var(--tableur-blue);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    margin: 4px 2px 8px;
    text-transform: uppercase;
    grid-column: 1 / -1;
}

.tableur-counts-list .tableur-count-empty {
    grid-column: 1 / -1;
}

@media (max-width: 1199.98px) {
    .tableur-counts-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.presence-management-filter {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
}

.presence-management-filter > div {
    max-width: none;
    width: auto;
}

/* Présences : formulaires administratifs compacts */
.attendance-page {
    padding-bottom: 12px !important;
    padding-top: 12px !important;
}

.attendance-page > .d-flex.mb-4,
.attendance-page > .salary-tabs.mb-4,
.attendance-page .presence-subtabs.mb-4 {
    margin-bottom: 10px !important;
}

.attendance-page .presence-admin-filter {
    --bs-gutter-x: 8px;
    --bs-gutter-y: 6px;
    gap: 7px;
    padding: 7px 8px;
}

.attendance-page .presence-admin-filter.mb-3 {
    margin-bottom: 7px !important;
}

.attendance-page .presence-admin-filter label {
    font-size: 10px !important;
    line-height: 1.1;
    margin-bottom: 3px !important;
}

.attendance-page .presence-admin-filter .enterprise-control {
    font-size: 11px;
    min-height: 31px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.attendance-page .presence-admin-filter .btn {
    font-size: 10px;
    min-height: 31px;
    padding: 4px 10px;
}

.attendance-page .presence-absence-form {
    gap: 7px;
    grid-template-columns: minmax(170px, .85fr) minmax(215px, 1fr) minmax(245px, 1.2fr) auto;
}

.attendance-page .presence-absence-form > .col-md-auto {
    margin-top: 24px;
}

.attendance-page .presence-absence-form > .col-md-auto .btn {
    min-height: 31px;
}

.attendance-page .absence-date-picker {
    gap: 2px;
    max-height: 105px;
    min-height: 31px;
    padding: 4px 6px;
}

.attendance-page .absence-date-option {
    gap: 6px;
    padding: 3px 5px;
}

.attendance-page .presence-absence-form .absence-date-picker + small {
    font-size: 9px;
    margin-top: 2px;
}

.attendance-page .presence-management-filter {
    gap: 7px;
}

@media (max-width: 1199.98px) {
    .attendance-page .presence-absence-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .attendance-page .presence-absence-form > .col-md-auto {
        margin-top: 0;
    }
}

@media (max-width: 767.98px) {
    .attendance-page .presence-absence-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1199.98px) {
    .presence-management-filter {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .presence-management-filter {
        grid-template-columns: 1fr;
    }

    .tableur-counts-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479.98px) {
    .tableur-counts-list {
        grid-template-columns: 1fr;
    }
}

.tableur-count-card {
    border: 1px solid rgba(23, 63, 95, .08);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(23, 63, 95, .06);
    color: #1f2937;
    cursor: pointer;
    display: grid;
    gap: 4px;
    padding: 10px 11px;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.tableur-count-card:hover,
.tableur-count-card.active {
    border-color: rgba(23, 63, 95, .22);
    box-shadow: 0 10px 24px rgba(23, 63, 95, .11);
    color: #1f2937;
    transform: translateY(-1px);
}

.tableur-count-card-1 { background: linear-gradient(135deg, #f7fbff 0%, #eaf3f8 100%); }
.tableur-count-card-2 { background: linear-gradient(135deg, #f8fcfa 0%, #e8f5ef 100%); }
.tableur-count-card-3 { background: linear-gradient(135deg, #fffdf8 0%, #f6f0dc 100%); }
.tableur-count-card-4 { background: linear-gradient(135deg, #fbf9ff 0%, #eee9f8 100%); }
.tableur-count-card-5 { background: linear-gradient(135deg, #fffafa 0%, #f7eaea 100%); }

.tableur-count-name {
    color: #173f5f;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.tableur-count-card strong {
    color: #111827;
    font-size: 15px;
    line-height: 1.1;
}

.tableur-count-card small {
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.tableur-count-card.owed-by-partner small {
    color: #b42318;
}

.tableur-count-card.settled small {
    color: #9a6700;
}

.tableur-count-card.we-owe small {
    color: #067647;
}

.tableur-count-empty {
    background: #f8fbfd;
    border: 1px dashed #cbd8e3;
    border-radius: 8px;
    color: #667085;
    font-size: 12px;
    padding: 14px;
    text-align: center;
}

.tableur-count-detail-card {
    border-top: 3px solid var(--tableur-blue);
}

.tableur-count-detail-card .enterprise-filter-card {
    background: #f8fbfd;
    border-bottom: 1px solid #dfe7ef;
    padding-bottom: 8px !important;
    padding-top: 8px !important;
}

.tableur-count-detail-table {
    font-size: 11px;
}

.tableur-count-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
    margin: 0 0 8px;
}

.tableur-count-actions .btn {
    border: 0;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 9px;
}

.tableur-count-actions .btn:hover,
.tableur-count-actions .btn:focus {
    color: #ffffff;
    filter: brightness(.96);
}

.tableur-export-share {
    background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
}

.tableur-export-pdf {
    background: linear-gradient(135deg, #b42318 0%, #ef4444 100%);
}

.tableur-export-excel {
    background: linear-gradient(135deg, #166534 0%, #22c55e 100%);
}

.agent-export-btn {
    align-items: center;
    color: #ffffff !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 3px;
    height: 31px;
    justify-content: center;
    line-height: 1;
    min-height: 31px;
    padding: 0 11px !important;
    white-space: nowrap;
}

.agent-export-btn .bi {
    display: inline-block;
    font-size: 13px;
    height: 13px;
    line-height: 13px;
    margin-right: 2px !important;
    width: 13px;
}

.agent-export-btn:hover,
.agent-export-btn:focus {
    color: #ffffff !important;
    filter: brightness(.96);
}

@media (min-width: 1200px) {
    .user-account-form .user-form-main-field {
        flex: 0 0 20%;
        max-width: 20%;
        width: 20%;
    }
}

.tableur-count-export {
    background: #ffffff;
}

.tableur-count-filter-form {
    width: 100%;
}

.tableur-count-statement-title {
    color: #173f5f;
    font-size: 13px;
    font-weight: 900;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.tableur-count-statement-title small {
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    text-transform: none;
}

.tableur-count-detail-table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    max-width: 100%;
    width: 100%;
}

.tableur-count-detail-table th,
.tableur-count-detail-table td {
    border: 1px solid #cfd8e3 !important;
    white-space: normal !important;
}

.tableur-count-detail-table thead th {
    background: linear-gradient(135deg, #173f5f 0%, #2f7a7b 100%) !important;
    border-color: rgba(255, 255, 255, .35) !important;
    color: #ffffff !important;
    text-align: center;
    vertical-align: middle;
}

.tableur-count-detail-table .count-col-date { width: 10%; }
.tableur-count-detail-table .count-col-activity { width: 30%; }
.tableur-count-detail-table .count-col-money { width: 12%; }
.tableur-count-detail-table .count-col-balance { width: 12%; }
.tableur-count-detail-table .count-col-observation { width: 24%; }

.tableur-opening-row td {
    background: #eef4f8;
    font-weight: 900;
}

.tableur-statement-row td {
    font-size: 11px;
    font-weight: 500;
}

.tableur-count-detail-table .tableur-entry-row td {
    background: rgba(34, 197, 94, .14) !important;
    color: #123b1f !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.tableur-count-detail-table tbody tr:nth-child(even):not(.tableur-opening-row) td {
    background: #f7fafc;
}

.tableur-count-detail-table tbody tr:nth-child(odd):not(.tableur-opening-row) td {
    background: #ffffff;
}

.tableur-count-detail-table td {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.tableur-count-detail-table .tableur-amount-cell {
    font-variant-numeric: tabular-nums;
    overflow-wrap: normal;
    text-align: right;
    white-space: nowrap !important;
    word-break: normal;
}

.tableur-count-detail-table .tableur-observation-cell {
    border: 1px solid #cfd8e3 !important;
    display: table-cell;
    line-height: 1.18;
    max-width: none;
    overflow: hidden;
    overflow-wrap: anywhere;
    padding-left: 8px;
    padding-right: 8px;
    text-align: left;
    white-space: normal !important;
    word-break: break-word;
}

.tableur-count-detail-table .tableur-observation-cell span {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: break-word;
}

.tableur-observation-muted {
    color: transparent !important;
}

.tableur-page .tableur-count-detail-table td.partner-observation-positive {
    color: #16803c !important;
}

.tableur-page .tableur-count-detail-table td.partner-observation-negative {
    color: #d92d20 !important;
}

.tableur-page .tableur-count-detail-table td.partner-observation-zero {
    color: #d79a00 !important;
}

#tableur-deposit-table {
    font-size: 11.5px;
}

#tableur-deposit-table thead th {
    font-size: 10px;
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

#tableur-deposit-table tbody td {
    line-height: 1.15;
    padding-bottom: 3px !important;
    padding-top: 3px !important;
}

#tableur-deposit-table .badge {
    font-size: 10px;
    line-height: 1.1;
    padding: 3px 7px;
}

#tableur-deposit-table .btn-sm {
    --bs-btn-padding-y: .08rem;
    --bs-btn-padding-x: .32rem;
    --bs-btn-font-size: .72rem;
}

.tableur-transfer-card {
    border-top: 3px solid var(--tableur-blue);
}

.tableur-form-side {
    position: sticky;
    top: 72px;
}

.tableur-form-side .card-body,
.tableur-transfer-card .card-body {
    padding: 10px !important;
}

.tableur-form-side h6 {
    font-size: 12px;
    margin-bottom: 6px !important;
}

.tableur-transfer-note {
    align-items: center;
    background: #eef7f7;
    border: 1px solid #cfe8e4;
    border-radius: 999px;
    color: var(--tableur-teal);
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    gap: 6px;
    padding: 6px 10px;
}

.tableur-side-form {
    display: grid;
    gap: 5px;
}

.tableur-transfer-main-row {
    display: grid;
    gap: 6px;
    grid-template-columns: minmax(0, 1.15fr) minmax(135px, .85fr);
}

.tableur-transfer-main-row > div {
    display: grid;
    gap: 5px;
}

.tableur-transfer-recipients {
    display: grid;
    gap: 5px;
}

.tableur-receivers-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-width: 0;
    width: 100%;
}

.tableur-recipient-remove[hidden] {
    display: none !important;
}

.tableur-recipient-row-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 4px;
}

.tableur-recipient-row-actions .btn {
    height: 30px;
    margin: 0;
    width: 30px;
}

.tableur-transfer-recipient-row {
    display: grid;
    gap: 4px;
}

.tableur-transfer-recipient-main {
    align-items: center;
    display: grid;
    gap: 5px;
    grid-template-columns: minmax(0, 1.15fr) minmax(120px, .85fr) 30px;
}

.tableur-transfer-recipient-row .btn-sm {
    --bs-btn-padding-x: .35rem;
    --bs-btn-padding-y: .2rem;
    align-items: center;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.tableur-recipient-contact-line {
    align-items: center;
    display: grid;
    gap: 6px;
    grid-template-columns: 22px minmax(0, 1fr) 28px;
    min-height: 27px;
}

.tableur-contact-check {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    height: 22px;
    justify-content: center;
    margin: 0;
    width: 22px;
}

.tableur-contact-check input {
    display: none;
}

.tableur-contact-check span {
    border: 1px solid #c9d5df;
    border-radius: 5px;
    display: block;
    height: 16px;
    position: relative;
    width: 16px;
}

.tableur-contact-check input:checked + span {
    background: var(--tableur-teal);
    border-color: var(--tableur-teal);
}

.tableur-contact-check input:checked + span::after {
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    height: 8px;
    left: 5px;
    position: absolute;
    top: 2px;
    transform: rotate(45deg);
    width: 4px;
}

.tableur-recipient-phone {
    display: none;
    height: 28px !important;
    min-height: 28px !important;
}

.tableur-recipient-phone.is-open {
    display: block;
}

.tableur-contact-icon {
    align-items: center;
    background: #eef7f7;
    border: 1px solid #cfe8e4;
    border-radius: 7px;
    color: var(--tableur-teal);
    display: inline-flex;
    font-size: 13px;
    height: 26px;
    justify-content: center;
    width: 28px;
}

.tableur-transfer-summary {
    background: #f5f8fb;
    border: 1px solid #dfe8ef;
    border-radius: 7px;
    display: grid;
    gap: 3px;
    padding: 7px 9px;
}

.tableur-transfer-summary span {
    align-items: center;
    color: #526173;
    display: flex;
    font-size: 10px;
    font-weight: 800;
    justify-content: space-between;
    line-height: 1.2;
}

.tableur-transfer-summary strong {
    color: var(--tableur-blue);
    font-size: 10.5px;
    text-align: right;
}

.tableur-transfer-type-options {
    background: #f4f8fa;
    border: 1px solid #dbe5ec;
    border-radius: 7px;
    justify-content: space-between;
    margin-bottom: 3px;
    padding: 5px 8px;
}

.tableur-transfer-type-options input {
    accent-color: #2f777b;
}

.tableur-transfer-special-fields {
    background: #f8fafc;
    border: 1px solid #dce5ed;
    border-radius: 7px;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 7px;
}

.tableur-transfer-special-fields[hidden],
.tableur-transfer-special-fields > div[hidden] {
    display: none !important;
}

.tableur-transfer-account-image {
    grid-column: 1 / -1;
}

.tableur-transfer-account-image input[type="file"] {
    font-size: 10px;
    padding: 4px 6px;
}

.tableur-side-form label {
    color: #344054;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: .03em;
    margin-bottom: -3px;
    text-transform: uppercase;
}

.tableur-side-form .enterprise-control,
.tableur-side-form .form-select {
    font-size: 11.5px;
    min-height: 31px;
    padding-bottom: 4px;
    padding-top: 4px;
}

/* Stable fast-entry geometry in both languages. */
.tableur-fast-entry-form,
.tableur-fast-entry-form * {
    box-sizing: border-box;
    min-width: 0;
}

.tableur-fast-entry-form .tableur-transfer-main-row {
    align-items: end;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}

.tableur-fast-entry-form label:not(.tableur-contact-check) {
    font-size: 9.5px;
    line-height: 12px;
    min-height: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tableur-fast-entry-form .tableur-quick-money,
.tableur-fast-entry-form .enterprise-control {
    max-width: 100%;
    width: 100%;
}

.tableur-page[data-language="en"] .tableur-fast-entry-form {
    gap: 4px;
}

.tableur-page[data-language="en"] .tableur-fast-entry-form label:not(.tableur-contact-check) {
    letter-spacing: .01em;
}

.tableur-page[data-language="en"] .tableur-fast-entry-form .tableur-transfer-summary span {
    font-size: 9.5px;
    white-space: nowrap;
}

.tableur-page[data-language="en"] #tableur-transfer-form .tableur-transfer-recipient-main {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) max-content;
}

.tableur-page[data-language="en"] #tableur-transfer-form .tableur-recipient-remove {
    height: 28px;
    width: 26px;
}

.tableur-sheet-wrap {
    border: 1px solid #8bb5df;
    border-radius: 12px;
    overflow: auto;
}

.tableur-sheet {
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    min-width: 1120px;
}

.tableur-sheet thead th {
    background: #5b9bd5;
    border-right: 1px solid #d7e8f7;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .03em;
    padding: 8px 7px;
    text-transform: uppercase;
    white-space: nowrap;
}

.tableur-sheet tbody td {
    background: #fff;
    border-bottom: 1px solid #b8d4ef;
    border-right: 1px solid #d6e6f5;
    padding: 0;
    vertical-align: middle;
}

.tableur-sheet tbody tr:focus-within td {
    background: #f7fbff;
}

.tableur-sheet tbody tr.tableur-row-saved td {
    animation: tableurRowSaved .7s ease;
}

.tableur-cell {
    background: transparent;
    border: 0;
    color: #0f172a;
    font-size: 13px;
    height: 34px;
    outline: none;
    padding: 6px 7px;
    width: 100%;
}

.tableur-cell:focus {
    box-shadow: inset 0 0 0 2px #2f7a7b;
}

.tableur-money {
    align-items: center;
    display: flex;
}

.tableur-money input {
    text-align: right;
}

.tableur-money span {
    color: #53657c;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    padding-right: 7px;
}

.tableur-row-save {
    border-radius: 0;
    height: 34px;
    min-width: 42px;
    width: 100%;
}

.tableur-transfer-quick-form {
    align-items: end;
    display: grid;
    gap: 7px 9px;
    grid-template-columns: repeat(16, minmax(0, 1fr));
}

.tableur-transfer-date {
    grid-column: span 2;
}

.tableur-transfer-field:nth-of-type(2),
.tableur-transfer-field:nth-of-type(3) {
    grid-column: span 4;
}

.tableur-transfer-field:nth-of-type(4),
.tableur-transfer-field:nth-of-type(6) {
    grid-column: span 3;
}

.tableur-transfer-field:nth-of-type(5) {
    grid-column: span 2;
}

.tableur-transfer-field:nth-of-type(7) {
    grid-column: span 3;
}

.tableur-transfer-submit {
    grid-column: span 2;
}

.tableur-transfer-field label {
    color: #344054;
    display: block;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .03em;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.tableur-transfer-quick-form .enterprise-control {
    font-size: 12.5px;
    min-height: 34px;
    padding-bottom: 5px;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 5px;
}

.tableur-quick-money {
    align-items: center;
    background: #fff;
    border: 1px solid #cfd9e6;
    border-radius: 10px;
    display: flex;
    overflow: hidden;
}

.tableur-quick-money:focus-within {
    border-color: #2f7a7b;
    box-shadow: 0 0 0 .18rem rgba(47, 122, 123, .12);
}

.tableur-quick-money input {
    border: 0 !important;
    box-shadow: none !important;
    min-width: 0;
    text-align: right;
}

.tableur-quick-money span {
    color: #53657c;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
    padding: 0 8px 0 3px;
}

.tableur-quick-money.readonly {
    background: #f4f7fb;
}

.tableur-transfer-submit .btn {
    font-size: 12.5px;
    min-height: 34px;
    padding-left: 8px;
    padding-right: 8px;
}

@keyframes tableurRowSaved {
    from { background: #dcfce7; }
    to { background: #fff; }
}

@media (max-width: 1199.98px) {
    .tableur-cash-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .org-setup-form-card,
    .tableur-form-side {
        position: static;
    }
}

.tableur-page[data-scope="forex_bureau"][data-can-export="0"] .tableur-export-pdf,
.tableur-page[data-scope="forex_bureau"][data-can-export="0"] .tableur-export-excel,
.tableur-page[data-scope="forex_bureau"][data-can-export="0"] .tableur-export-share,
.tableur-page[data-scope="forex_bureau"][data-can-export="0"] .tableur-export-action {
    display: none !important;
}

.tableur-page[data-can-create="0"][data-can-update="0"] .tableur-form-side,
.tableur-page[data-can-update="0"] .tableur-transfer-edit-btn,
.tableur-page[data-can-delete="0"] .tableur-ledger-delete-btn {
    display: none !important;
}

@media (max-width: 767.98px) {
    .org-setup-form,
    .partners-form {
        grid-template-columns: 1fr;
    }

    .org-setup-form .enterprise-form-actions {
        justify-content: flex-start;
    }

    .tableur-page {
        padding-top: 0 !important;
    }

    .tableur-cash-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-financial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-grid,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-grid,
    .tableur-page[data-scope="data"] .tableur-cash-grid,
    .tableur-page[data-scope="transfer_bureau"] .tableur-transfer-validation-chat .transfer-chat-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-financial-grid .tableur-cash-card,
    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-card,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-card,
    .tableur-page[data-scope="data"] .tableur-cash-card,
    .tableur-page[data-scope="transfer_bureau"] .transfer-chat-item {
        min-width: 0;
    }

    .tableur-page[data-scope="transfer_bureau"] .transfer-chat-empty {
        grid-column: 1 / -1;
    }

    .tableur-cash-card {
        min-height: auto;
        padding: 8px 10px;
    }

    .dashboard-financial-grid .tableur-cash-card,
    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-card,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-card,
    .tableur-page[data-scope="data"] .tableur-cash-card {
        padding: 0;
    }

    .dashboard-financial-grid .tableur-cash-card-main,
    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-card-main,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-card-main,
    .tableur-page[data-scope="data"] .tableur-cash-card-main {
        gap: 6px;
        padding: 6px 7px;
    }

    .dashboard-financial-grid .tableur-cash-card small,
    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-card small,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-card small,
    .tableur-page[data-scope="data"] .tableur-cash-card small {
        font-size: clamp(6.5px, 2.15vw, 8.5px);
        letter-spacing: .025em;
    }

    .dashboard-financial-grid .tableur-cash-card strong,
    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-card strong,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-card strong,
    .tableur-page[data-scope="data"] .tableur-cash-card strong {
        font-size: clamp(9.5px, 3vw, 12px);
    }

    .dashboard-financial-grid .tableur-cash-icon,
    .tableur-page[data-scope="transfer_bureau"] .tableur-cash-icon,
    .tableur-page[data-scope="forex_bureau"] .tableur-cash-icon,
    .tableur-page[data-scope="data"] .tableur-cash-icon {
        border-radius: clamp(7px, 2vw, 9px);
        font-size: clamp(12px, 3.8vw, 15px);
        height: clamp(25px, 8vw, 30px);
        width: clamp(25px, 8vw, 30px);
    }

    .tableur-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3px;
        padding: 3px;
    }

    .tableur-tabs a {
        justify-content: center;
        padding: 7px 6px;
    }

    .tableur-table {
        font-size: 11.5px;
        min-width: 680px;
    }

    .tableur-transfer-quick-form {
        grid-template-columns: 1fr;
    }

    .tableur-sheet {
        font-size: 12px;
        min-width: 980px;
    }

    .tableur-cell {
        font-size: 12px;
        height: 38px;
    }
}
.fiscal-year-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border-radius:999px;background:#e8f3f3;color:#1d6668;font-weight:800}.fiscal-settings-card .card-body{padding:1.25rem}.fiscal-settings-form{display:grid;grid-template-columns:minmax(220px,360px) auto;align-items:end;gap:1rem}.fiscal-scope-note{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.75rem 1rem;border-radius:.75rem;background:#f3f7fa;color:#52657a;font-size:.88rem}.fiscal-module-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf5f5;color:#267579;font-size:1.2rem}.fiscal-module-card .salary-exercise-state{margin:0}@media(max-width:767.98px){.fiscal-settings-form{grid-template-columns:1fr}.fiscal-settings-form .btn{width:100%}}

/* Exercice financier : deux modules par ligne sur les grands écrans. */
.contents-fieldset{border:0;display:contents;margin:0;min-width:0;padding:0}
.exercise-readonly-notice{align-items:center;background:#fff8e7;border:1px solid #efdba5;border-radius:8px;color:#715516;display:flex;font-size:11px;gap:8px;margin-bottom:10px;padding:7px 10px}
.exercise-readonly-notice>i{align-items:center;background:#f7e8ba;border-radius:50%;display:flex;flex:0 0 25px;height:25px;justify-content:center}
.exercise-readonly-notice strong{color:#5d4510}
.fiscal-settings-page{display:flex;flex-wrap:wrap;gap:.45rem}
.fiscal-settings-page>.d-flex:first-child,.fiscal-settings-page>.fiscal-settings-card{flex:0 0 100%;width:100%}
.fiscal-settings-page>.d-flex:first-child{margin-bottom:0!important}
.fiscal-settings-page>.fiscal-module-card{flex:0 0 calc(50% - .5rem);width:calc(50% - .5rem);margin-top:0!important}
@media(max-width:767.98px){.fiscal-settings-page>.fiscal-module-card{flex-basis:100%;width:100%}}

/* Cartes de modules compactes : toute l'information tient sur une ligne. */
.fiscal-settings-page>.fiscal-module-card .card-body{padding:.42rem .65rem!important;gap:.55rem!important;flex-wrap:nowrap!important;min-height:0}
.fiscal-settings-page>.fiscal-module-card .fiscal-module-icon{width:30px;height:30px;min-width:30px;border-radius:8px;font-size:.9rem}
.fiscal-settings-page>.fiscal-module-card .me-auto{line-height:1.15;min-width:0}
.fiscal-settings-page>.fiscal-module-card .me-auto strong{font-size:.9rem}
.fiscal-settings-page>.fiscal-module-card .me-auto .small{font-size:.7rem;margin-top:.08rem;white-space:nowrap}
.fiscal-settings-page>.fiscal-module-card .salary-exercise-state{align-self:flex-start;font-size:.7rem;gap:.3rem;white-space:nowrap;transform:translateY(-2px)}
@media(max-width:991.98px){.fiscal-settings-page>.fiscal-module-card .card-body{flex-wrap:wrap!important}.fiscal-settings-page>.fiscal-module-card .salary-exercise-state{flex-basis:100%;margin-left:36px!important}}
@media(max-width:767.98px){.fiscal-settings-page>.fiscal-module-card .card-body{flex-wrap:nowrap!important}.fiscal-settings-page>.fiscal-module-card .salary-exercise-state{flex-basis:auto;margin-left:0!important}}
@media(max-width:575.98px){.fiscal-settings-page>.fiscal-module-card .card-body{flex-wrap:wrap!important}.fiscal-settings-page>.fiscal-module-card .salary-exercise-state{flex-basis:100%;margin-left:36px!important}}
@media(max-width:991.98px){.fiscal-settings-page>.fiscal-linked-module .salary-exercise-state{flex-basis:auto;margin-left:36px!important}}
@media(max-width:575.98px){.fiscal-settings-page>.fiscal-linked-module .salary-exercise-state{flex-basis:100%;margin-left:36px!important}}

/* Présentation finale : sélecteur compact et modules fins sur une seule colonne. */
.fiscal-settings-page>.fiscal-settings-card .card-body{padding:.75rem 1rem!important}
.fiscal-settings-page .fiscal-settings-form{grid-template-columns:minmax(220px,360px) max-content;gap:.65rem;align-items:end}
.fiscal-settings-page .fiscal-settings-form .form-label{font-size:.78rem;margin-bottom:.25rem}
.fiscal-settings-page .fiscal-settings-form .form-select{height:38px;padding-top:.3rem;padding-bottom:.3rem;font-size:.82rem}
.fiscal-settings-page .fiscal-settings-form .btn{width:auto!important;height:38px;padding:.35rem .85rem;font-size:.78rem;white-space:nowrap}
.fiscal-settings-page .fiscal-scope-note{margin-top:.6rem;padding:.5rem .7rem;border-radius:.55rem;font-size:.75rem}
.fiscal-settings-page>.fiscal-module-card{flex-basis:100%;width:100%}
@media(max-width:767.98px){.fiscal-settings-page .fiscal-settings-form{grid-template-columns:1fr}.fiscal-settings-page .fiscal-settings-form .btn{width:100%!important}}

.fiscal-settings-page .fiscal-settings-form{display:flex;align-items:center;gap:.7rem}
.fiscal-settings-page .fiscal-settings-form>div:first-child{display:flex;align-items:center;gap:.55rem;flex:0 1 470px}
.fiscal-settings-page .fiscal-settings-form .form-label{margin:0;white-space:nowrap}
.fiscal-settings-page .fiscal-settings-form .form-select{flex:1;min-width:180px}
@media(max-width:767.98px){.fiscal-settings-page .fiscal-settings-form{align-items:stretch;flex-direction:column}.fiscal-settings-page .fiscal-settings-form>div:first-child{align-items:stretch;flex:0 0 auto;flex-direction:column;gap:.25rem}}

/* Dashboard principal : comparaison compacte des comptes partenaires. */
.dashboard-insights-row{display:flex;align-items:stretch;gap:1rem}
.dashboard-partner-panel{width:calc(41.666667% - .5rem);background:#fff;border:1px solid #d9e4ec;border-radius:14px;padding:.75rem .9rem;box-shadow:0 8px 22px rgba(15,45,68,.045)}
.dashboard-partner-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem .8rem;padding-bottom:.55rem;border-bottom:1px solid #e7eef3}
.dashboard-partner-eyebrow{display:block;color:#66788a;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dashboard-partner-heading h5{margin:.08rem 0 0;color:#0d3f60;font-size:.95rem;font-weight:800}
.dashboard-partner-totals{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.45rem .8rem;min-width:0;font-size:.7rem;color:#657485}
.dashboard-partner-totals span{display:flex;align-items:center;flex-wrap:wrap;gap:.12rem .3rem;min-width:0;white-space:normal}.dashboard-partner-totals span.is-payable{justify-content:flex-end;text-align:right}.dashboard-partner-totals i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.dashboard-partner-totals strong{font-size:.78rem;color:inherit;white-space:nowrap}
.dashboard-partner-panel .is-receivable{color:#087b56}.dashboard-partner-panel .is-payable{color:#c23d4b}
.dashboard-partner-panel .is-settled{color:#7a8792}
.dashboard-card-activity-footer{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:auto;padding:4px 9px;border-top:1px solid rgba(82,105,122,.13);background:rgba(255,255,255,.32);color:#a44852;font-size:7.5px;font-weight:700;line-height:1.15}
.dashboard-card-activity-footer>span{display:flex;align-items:center;gap:3px;min-width:0;white-space:nowrap}.dashboard-card-activity-footer time{font-weight:600;color:#6b7580}.dashboard-card-activity-footer>em{flex:0 0 auto;padding:2px 5px;border:1px solid rgba(194,61,75,.2);border-radius:999px;background:rgba(255,255,255,.52);color:#b32f3f;font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.dashboard-card-activity-footer.is-empty{justify-content:center;color:#8f5960}
.dashboard-partner-link{max-width:100%;color:#075fa6;font-size:.72rem;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer}
.dashboard-partner-bars{display:grid;grid-template-columns:1fr;gap:.35rem;padding:.65rem .35rem .15rem 0;max-height:275px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b9c8d3 transparent}
.dashboard-partner-row{display:grid;grid-template-columns:minmax(85px,130px) minmax(70px,1fr) 100px;align-items:center;gap:.55rem;min-height:24px}
.dashboard-partner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#34495b;font-size:.7rem;font-weight:700}
.dashboard-partner-track{display:block;height:6px;background:#edf2f5;border-radius:999px;overflow:hidden}.dashboard-partner-fill{display:block;height:100%;border-radius:inherit}.dashboard-partner-fill.is-receivable{background:linear-gradient(90deg,#20a779,#51c99e)}.dashboard-partner-fill.is-payable{background:linear-gradient(90deg,#e26470,#c83d4c)}
.dashboard-partner-row>strong{text-align:right;font-size:.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.dashboard-partner-more,.dashboard-partner-empty{padding-top:.5rem;color:#788795;font-size:.66rem;text-align:right}.dashboard-partner-empty{text-align:center;padding:.9rem}
@media(max-width:1199.98px){.dashboard-partner-panel{width:100%}}
@media(max-width:575.98px){.dashboard-partner-heading{grid-template-columns:1fr}.dashboard-partner-link{grid-row:auto}.dashboard-partner-totals{grid-column:auto;grid-template-columns:1fr;align-items:flex-start;gap:.25rem}.dashboard-partner-totals span.is-payable{justify-content:flex-start;text-align:left}.dashboard-partner-row{grid-template-columns:90px 1fr 88px}}

.dashboard-profit-panel{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #d9e4ec;border-radius:14px;padding:.62rem .72rem;box-shadow:0 8px 22px rgba(15,45,68,.045)}
.dashboard-profit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;margin:-.62rem -.72rem .42rem;padding:.62rem .72rem .54rem;background:linear-gradient(135deg,#f3f8fb,#edf5f8);border-bottom:1px solid #d9e5eb}.dashboard-profit-heading span{display:block;color:#66788a;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dashboard-profit-heading h5{margin:.06rem 0 0;color:#0d3f60;font-size:.84rem;font-weight:800}
.dashboard-profit-filter{display:flex;align-items:center;gap:.35rem}.dashboard-profit-filter label{margin:0;color:#6f7e8c;font-size:.61rem;font-weight:700}.dashboard-profit-filter input,.dashboard-profit-filter select{width:150px;height:27px;font-size:.64rem}
.dashboard-profit-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:.42rem 0 .25rem;padding:.25rem 0}.dashboard-profit-kpis>div{min-width:0;padding:.08rem .7rem;background:transparent;border:0}.dashboard-profit-kpis>div:first-child{padding-left:.15rem}.dashboard-profit-kpis small{display:block;color:#7b8995;font-size:.51rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase}.dashboard-profit-kpis strong{display:block;overflow:hidden;color:#163f5b;font-size:.67rem;font-weight:800;margin-top:.02rem;white-space:nowrap;text-overflow:ellipsis}.dashboard-profit-kpis .is-peak strong{color:#bd6a00}.dashboard-profit-kpis .is-lowest strong{color:#c33344}
.dashboard-profit-chart{display:flex;flex:1;align-items:stretch;gap:2px;height:190px;min-height:190px;padding:8px 4px 0;border-bottom:1px solid #dce6ed;background:linear-gradient(to top,rgba(228,237,243,.55) 1px,transparent 1px);background-size:100% 45px}
.dashboard-profit-empty{margin:auto;color:#7a8996;font-size:.72rem}
.dashboard-profit-day{position:relative;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;min-width:3px}.dashboard-profit-bar{display:flex;align-items:center;justify-content:center;width:72%;min-height:1px;overflow:hidden;background:linear-gradient(180deg,#2a9d8f,#16756d);border-radius:4px 4px 1px 1px;transition:height .2s ease}.dashboard-profit-day.is-peak .dashboard-profit-bar{background:linear-gradient(180deg,#f2ad36,#dd7615);box-shadow:0 0 0 1px rgba(211,112,14,.12)}.dashboard-profit-day.is-lowest .dashboard-profit-bar{background:linear-gradient(180deg,#ef6b76,#c93848);box-shadow:0 0 0 1px rgba(185,43,59,.14)}.dashboard-profit-day small{height:14px;margin-top:3px;color:#7c8b98;font-size:.53rem}.dashboard-profit-value{display:block;color:rgba(255,255,255,.94);font-size:7px;font-weight:850;line-height:1;letter-spacing:0;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);text-shadow:0 1px 1px rgba(0,0,0,.22)}
.dashboard-profit-bar:has(.dashboard-profit-value){min-height:30px}
.dashboard-profit-legend{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;padding-top:.38rem;color:#7b8995;font-size:.58rem}.dashboard-profit-legend span{display:inline-flex;align-items:center;white-space:nowrap}.dashboard-profit-legend i{display:inline-block;width:8px;height:8px;margin-right:.25rem;border-radius:2px}.dashboard-profit-legend i.is-standard{background:#238f84}.dashboard-profit-legend i.is-lowest{background:#d74454}.dashboard-profit-legend i.is-peak{background:#e88a20}
@media(max-width:1199.98px){.dashboard-insights-row{flex-direction:column}.dashboard-profit-panel{width:100%}}
@media(max-width:767.98px){.dashboard-profit-kpis{grid-template-columns:repeat(2,1fr);row-gap:.3rem}.dashboard-profit-kpis>div:nth-child(3){padding-left:.15rem}.dashboard-profit-kpis>div:nth-child(n+3){padding-top:.28rem}}@media(max-width:575.98px){.dashboard-profit-heading{align-items:flex-start;flex-direction:column}.dashboard-profit-filter{width:100%;justify-content:space-between}.dashboard-profit-chart{height:155px}.dashboard-profit-value{font-size:6.5px}}

.dashboard-agent-finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.dashboard-agent-finance-card{min-width:0;background:#fff;border:1px solid #d9e4ec;border-radius:14px;padding:.75rem .9rem;box-shadow:0 8px 22px rgba(15,45,68,.045)}
.dashboard-agent-finance-card header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e7eef3}.dashboard-agent-finance-card header span{display:block;color:#718190;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dashboard-agent-finance-card header h5{margin:.08rem 0 0;color:#0d3f60;font-size:.92rem;font-weight:800}.dashboard-agent-finance-card header a{font-size:.68rem;font-weight:800;color:#075fa6;white-space:nowrap;cursor:pointer}
.dashboard-agent-finance-totals{display:flex;gap:.45rem;padding:.5rem 0}.dashboard-agent-finance-totals span{flex:1;min-width:0;padding:.35rem .5rem;border-radius:8px;background:#f5f8fa}.dashboard-agent-finance-totals small{display:block;color:#748391;font-size:.58rem;text-transform:uppercase}.dashboard-agent-finance-totals strong{display:block;margin-top:.08rem;color:#183f5a;font-size:.76rem;font-variant-numeric:tabular-nums}
.dashboard-agent-finance-card.is-debt .dashboard-agent-finance-totals span{background:#fff3f3}.dashboard-agent-finance-card.is-debt .dashboard-agent-finance-totals strong{color:#b53b48}.dashboard-agent-finance-card.is-saving .dashboard-agent-finance-totals span{background:#ebf8f2}.dashboard-agent-finance-card.is-saving .dashboard-agent-finance-totals strong{color:#087b56}
.dashboard-agent-table-wrap{max-height:205px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b9c8d3 transparent}.dashboard-agent-table{width:100%;border-collapse:collapse;font-size:.68rem}.dashboard-agent-table th{position:sticky;top:0;z-index:1;padding:.35rem .4rem;background:#eef4f7;color:#526777;text-transform:uppercase;font-size:.58rem;letter-spacing:.04em}.dashboard-agent-table td{padding:.37rem .4rem;border-bottom:1px solid #edf2f5;color:#334b5d}.dashboard-agent-table th:nth-child(2),.dashboard-agent-table td:nth-child(2){width:58px;text-align:center}.dashboard-agent-table th:last-child,.dashboard-agent-table td:last-child{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.dashboard-agent-empty{text-align:center!important;color:#7b8995!important;font-weight:500!important;padding:.8rem!important}
@media(max-width:991.98px){.dashboard-agent-finance-grid{grid-template-columns:1fr}}

.appearance-mode-card{max-width:760px}.appearance-mode-card .card-body{padding:1rem}.appearance-mode-heading{display:flex;align-items:center;gap:.7rem;padding-bottom:.8rem;border-bottom:1px solid #e5edf2}.appearance-mode-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eaf3f6;color:#195d78;font-size:1rem}.appearance-mode-heading h5{margin:0;color:#153d58;font-size:1rem;font-weight:800}.appearance-mode-heading p{margin:.12rem 0 0;color:#72808d;font-size:.72rem}
.appearance-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding-top:.8rem}.appearance-mode-option{position:relative;display:flex;align-items:center;gap:.65rem;padding:.8rem;border:1px solid #dbe5eb;border-radius:11px;background:#fff;color:#23465c;text-align:left;transition:.15s ease}.appearance-mode-option>i:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f0f5f7;font-size:1rem}.appearance-mode-option span{display:flex;flex-direction:column}.appearance-mode-option strong{font-size:.8rem}.appearance-mode-option small{color:#75828e;font-size:.65rem}.appearance-mode-check{display:none;margin-left:auto;color:#15815d}.appearance-mode-option:hover{border-color:#80aeb8;transform:translateY(-1px)}.appearance-mode-option.active{border-color:#2e8b7d;background:#effaf6;box-shadow:0 5px 14px rgba(33,113,98,.09)}.appearance-mode-option.active .appearance-mode-check{display:block}
@media(max-width:575.98px){.appearance-mode-options{grid-template-columns:1fr}}

/* Compatibilité complète du thème sombre avec les écrans métier personnalisés. */
[data-bs-theme="dark"] body{background:#0d1621!important;color:#dce6ed!important}
[data-bs-theme="dark"] .adminuiux-header .navbar{background:#121e2a!important;border-bottom-color:#263746!important;box-shadow:0 3px 16px rgba(0,0,0,.28)}
[data-bs-theme="dark"] .adminuiux-header .sidebar-toggler,
[data-bs-theme="dark"] .adminuiux-header .btn-link-header{color:#c7d5df!important}
[data-bs-theme="dark"] .app-top-shortcut{color:#c7d5df!important}
[data-bs-theme="dark"] .app-top-shortcut i{color:#69b7b2!important}
[data-bs-theme="dark"] .app-top-shortcut:hover{background:#203441!important;color:#fff!important}
[data-bs-theme="dark"] .app-top-shortcut.active{background:#326a7d!important;color:#fff!important}
[data-bs-theme="dark"] .app-navbar-logo{filter:brightness(.96) contrast(1.05)}

[data-bs-theme="dark"] .adminuiux-wrap,
[data-bs-theme="dark"] .adminuiux-content{background:#0d1621!important}
[data-bs-theme="dark"] .adminuiux-sidebar,
[data-bs-theme="dark"] .adminuiux-sidebar-inner{background:#111c27!important;border-color:#293a48!important}
[data-bs-theme="dark"] .app-sidebar-heading{border-color:#293a48!important;color:#dce7ee!important}
[data-bs-theme="dark"] .app-sidebar-kicker,
[data-bs-theme="dark"] .app-sidebar-heading p{color:#91a5b4!important}
[data-bs-theme="dark"] .app-sidebar-heading h6,
[data-bs-theme="dark"] .app-sidebar-heading h5{color:#edf5f8!important}
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-link,
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-toggle{background:#162430!important;border-color:#263947!important;color:#d6e2e9!important}
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-link:hover,
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-toggle:hover{background:#1d3341!important;color:#fff!important}
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-link.active,
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-toggle.active,
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-toggle[aria-expanded="true"]{background:#32677e!important;color:#fff!important}
[data-bs-theme="dark"] .app-sidebar-menu .menu-name{color:inherit!important}
[data-bs-theme="dark"] .app-sidebar-menu small{color:#8fa5b4!important}
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-icon{background:#203442!important;border-color:#365061!important;color:#9bc6ce!important}
[data-bs-theme="dark"] .app-submenu{background:#15222d!important;border-color:#2a3b48!important}
[data-bs-theme="dark"] .app-submenu-link{color:#b9c8d2!important}
[data-bs-theme="dark"] .app-submenu-link i{color:#7894a6!important}
[data-bs-theme="dark"] .app-submenu-link:hover{background:#203541!important;color:#fff!important}
[data-bs-theme="dark"] .app-submenu-link.active{background:#315f74!important;color:#fff!important}

[data-bs-theme="dark"] .enterprise-page-title,
[data-bs-theme="dark"] .text-dark,
[data-bs-theme="dark"] h1,[data-bs-theme="dark"] h2,[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,[data-bs-theme="dark"] h5,[data-bs-theme="dark"] h6{color:#eef5f8!important}
[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-secondary{color:#9babb7!important}
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .enterprise-card,
[data-bs-theme="dark"] .dashboard-partner-panel,
[data-bs-theme="dark"] .dashboard-profit-panel,
[data-bs-theme="dark"] .dashboard-agent-finance-card,
[data-bs-theme="dark"] .appearance-mode-card{background:#16232e!important;border-color:#2b3c49!important;color:#dce6ed!important;box-shadow:0 8px 24px rgba(0,0,0,.2)!important}
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer{background:#192936!important;border-color:#30424f!important}
[data-bs-theme="dark"] .enterprise-filter-card{background:#182733!important}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .enterprise-control,
[data-bs-theme="dark"] .input-group-text{background-color:#101c26!important;border-color:#38505f!important;color:#e3edf2!important}
[data-bs-theme="dark"] .form-control::placeholder{color:#758b99!important}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus{background-color:#13232e!important;border-color:#4a9b9a!important;box-shadow:0 0 0 .16rem rgba(74,155,154,.16)!important;color:#fff!important}
[data-bs-theme="dark"] label{color:#c3d0d8}

[data-bs-theme="dark"] .table{--bs-table-bg:transparent;--bs-table-color:#d9e4ea;--bs-table-border-color:#30414d}
[data-bs-theme="dark"] table thead th,
[data-bs-theme="dark"] .dashboard-agent-table th{background:#20313d!important;color:#cbd9e1!important;border-color:#344753!important}
[data-bs-theme="dark"] table tbody td,
[data-bs-theme="dark"] .dashboard-agent-table td{color:#d4e0e6!important;border-color:#293b47!important}
[data-bs-theme="dark"] table tbody tr:nth-child(even)>*{background-color:rgba(255,255,255,.018)}
[data-bs-theme="dark"] table tbody tr:hover>*{background-color:#20323e!important}

[data-bs-theme="dark"] .salary-tabs,
[data-bs-theme="dark"] .tableur-tabs,
[data-bs-theme="dark"] .tableur-super-agent-tabs{background:#14222d!important;border-color:#2c3f4c!important}
[data-bs-theme="dark"] .salary-tabs a,
[data-bs-theme="dark"] .tableur-super-agent-tabs a{color:#aebfca!important}
[data-bs-theme="dark"] .salary-tabs a.active,
[data-bs-theme="dark"] .tableur-super-agent-tabs a.active{background:#315f74!important;color:#fff!important}

[data-bs-theme="dark"] .appearance-mode-heading{border-color:#30414d}
[data-bs-theme="dark"] .appearance-mode-heading h5,
[data-bs-theme="dark"] .appearance-mode-option strong{color:#e6eff3!important}
[data-bs-theme="dark"] .appearance-mode-heading p,
[data-bs-theme="dark"] .appearance-mode-option small{color:#94a7b4!important}
[data-bs-theme="dark"] .appearance-mode-icon,
[data-bs-theme="dark"] .appearance-mode-option>i:first-child{background:#203440!important;color:#8cc5cc!important}
[data-bs-theme="dark"] .appearance-mode-option{background:#111d27!important;border-color:#334753!important;color:#dce7ed!important}
[data-bs-theme="dark"] .appearance-mode-option:hover{background:#192b36!important;border-color:#548a91!important}
[data-bs-theme="dark"] .appearance-mode-option.active{background:#17352f!important;border-color:#3ba28a!important}

[data-bs-theme="dark"] .dashboard-partner-heading,
[data-bs-theme="dark"] .dashboard-agent-finance-card header{border-color:#30414d!important}
[data-bs-theme="dark"] .dashboard-partner-name,
[data-bs-theme="dark"] .dashboard-agent-finance-card header h5,
[data-bs-theme="dark"] .dashboard-profit-heading h5{color:#dce8ee!important}
[data-bs-theme="dark"] .dashboard-profit-heading{background:linear-gradient(135deg,#1b2d39,#203642)!important;border-color:#304652!important}
[data-bs-theme="dark"] .dashboard-partner-track{background:#263844}
[data-bs-theme="dark"] .dashboard-profit-kpis>div,
[data-bs-theme="dark"] .dashboard-agent-finance-totals span{background:#1c2d38!important;border-color:#304550!important}
[data-bs-theme="dark"] .dashboard-profit-kpis>div{background:transparent!important}
[data-bs-theme="dark"] .dashboard-profit-kpis strong,
[data-bs-theme="dark"] .dashboard-agent-finance-totals strong{color:#dce8ee!important}
[data-bs-theme="dark"] .dashboard-profit-chart{border-color:#334653;background-color:#14232e}

[data-bs-theme="dark"] .tableur-cash-card{box-shadow:0 8px 20px rgba(0,0,0,.2)}
[data-bs-theme="dark"] .tableur-cash-card-1{background:linear-gradient(135deg,#172c42,#1c3953)!important;border-color:#3d709d}
[data-bs-theme="dark"] .tableur-cash-card-2{background:linear-gradient(135deg,#14342d,#1b493c)!important;border-color:#31846c}
[data-bs-theme="dark"] .tableur-cash-card-3{background:linear-gradient(135deg,#3a2e18,#4c3b1d)!important;border-color:#9b7126}
[data-bs-theme="dark"] .tableur-cash-card-4{background:linear-gradient(135deg,#2e2341,#3d2b59)!important;border-color:#7855a6}
[data-bs-theme="dark"] .dashboard-unpaid-transfer-card{background:linear-gradient(135deg,#431f22,#602a2d)!important;border-color:#b95650!important}
[data-bs-theme="dark"] .dashboard-unpaid-transfer-card .tableur-cash-icon{background:#59272a;border-color:#b95650;color:#ffaaa2}
[data-bs-theme="dark"] .dashboard-unpaid-card-title{color:#ffb3ab}
[data-bs-theme="dark"] .dashboard-unpaid-card-section span{color:#f0b5af}
[data-bs-theme="dark"] .dashboard-unpaid-card-section strong{color:#fff2f0!important}
[data-bs-theme="dark"] .dashboard-unpaid-card-section + .dashboard-unpaid-card-section{border-color:rgba(255,180,172,.2)}
[data-bs-theme="dark"] .tableur-cash-card small{color:#b8c7d1!important}
[data-bs-theme="dark"] .tableur-cash-card strong{color:#f1f6f8!important}
[data-bs-theme="dark"] .dashboard-card-activity-footer{background:rgba(0,0,0,.12);border-color:rgba(255,255,255,.08)}
[data-bs-theme="dark"] .dashboard-card-activity-footer time{color:#aab9c3}

[data-bs-theme="dark"] .adminuiux-footer{background:#111c27!important;border-color:#293a48!important;color:#9fadb7!important}
[data-bs-theme="dark"] .dropdown-menu{background:#172530!important;border-color:#344754!important;color:#dce6ed!important}
[data-bs-theme="dark"] .dropdown-item{color:#cbd8df!important}
[data-bs-theme="dark"] .dropdown-item:hover{background:#253a47!important;color:#fff!important}

/* Variante sombre douce, inspirée des interfaces de messagerie modernes. */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .adminuiux-wrap,
[data-bs-theme="dark"] .adminuiux-content{background:#172229!important;color:#dfe7eb!important}
[data-bs-theme="dark"] .adminuiux-header .navbar,
[data-bs-theme="dark"] .adminuiux-sidebar,
[data-bs-theme="dark"] .adminuiux-sidebar-inner,
[data-bs-theme="dark"] .adminuiux-footer{background:#202c33!important;border-color:#35434b!important}
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-link,
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-toggle{background:#26353d!important;border-color:#3a4a53!important}
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-link:hover,
[data-bs-theme="dark"] .app-sidebar-menu .app-menu-toggle:hover{background:#2d414a!important}
[data-bs-theme="dark"] .app-submenu{background:#243138!important;border-color:#3a4850!important}
[data-bs-theme="dark"] .app-submenu-link:hover{background:#30434b!important}
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .enterprise-card,
[data-bs-theme="dark"] .dashboard-partner-panel,
[data-bs-theme="dark"] .dashboard-profit-panel,
[data-bs-theme="dark"] .dashboard-agent-finance-card,
[data-bs-theme="dark"] .appearance-mode-card{background:#243239!important;border-color:#3b4a52!important}
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer,
[data-bs-theme="dark"] .enterprise-filter-card{background:#293941!important;border-color:#40515a!important}
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .enterprise-control,
[data-bs-theme="dark"] .input-group-text{background-color:#2a3942!important;border-color:#485b65!important}
[data-bs-theme="dark"] table thead th,
[data-bs-theme="dark"] .dashboard-agent-table th{background:#2b3b43!important;border-color:#46565f!important}
[data-bs-theme="dark"] table tbody td,
[data-bs-theme="dark"] .dashboard-agent-table td{border-color:#3a4850!important}
[data-bs-theme="dark"] table tbody tr:hover>*{background-color:#304149!important}
[data-bs-theme="dark"] .salary-tabs,
[data-bs-theme="dark"] .tableur-tabs,
[data-bs-theme="dark"] .tableur-super-agent-tabs{background:#26353d!important;border-color:#40515a!important}
[data-bs-theme="dark"] .appearance-mode-option{background:#293840!important;border-color:#46575f!important}
[data-bs-theme="dark"] .appearance-mode-option:hover{background:#30434b!important}
[data-bs-theme="dark"] .appearance-mode-option.active{background:#21423d!important;border-color:#4fae98!important}
[data-bs-theme="dark"] .dropdown-menu{background:#26353d!important;border-color:#45565f!important}
[data-bs-theme="dark"] .dropdown-item:hover{background:#30434b!important}

/* Formulaire de remboursement : deux lignes resserrées, sans modifier sa structure. */
.debt-repayment-card .card-body{padding:.75rem 1rem!important}
.debt-repayment-card h6{font-size:.92rem;margin-bottom:.55rem!important}
.debt-repayment-card #debt-repayment-form label{font-size:.72rem;margin-bottom:.2rem}
.debt-repayment-card #debt-repayment-form .enterprise-control{font-size:.78rem;height:38px;min-height:38px;padding-top:.3rem;padding-bottom:.3rem}
.debt-repayment-card #debt-repayment-submit{height:38px;padding:.35rem .75rem;font-size:.78rem}
.debt-repayment-card #repayment-alert:empty{display:none}

.accounting-page .tableur-tabs {
    background: #f8fbfd;
    border-color: #d5e1ec;
    gap: 6px;
}

.accounting-page .tableur-tabs a {
    color: #4f6076;
}

.accounting-page .tableur-tabs a.active {
    background: linear-gradient(135deg, #173f5f 0%, #2f7a7b 100%);
    color: #ffffff !important;
    text-shadow: none;
}

.accounting-summary-row {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.accounting-total-card {
    background: linear-gradient(135deg, #f7fbff 0%, #eaf3f8 100%);
    border: 1px solid #d7e4ef;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(18, 52, 78, .05);
    padding: 10px 12px;
}

.accounting-total-card small {
    color: #607386;
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.accounting-total-card strong {
    color: #07395f;
    display: block;
    font-size: 17px;
    line-height: 1.15;
    margin-top: 3px;
}

.accounting-total-card-danger {
    background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%) !important;
    border-color: #ffc9c9 !important;
    border-left: 4px solid #dc2626 !important;
    box-shadow: 0 8px 18px rgba(180, 35, 24, .08) !important;
}

.accounting-total-card-danger small {
    color: #9f1f1f !important;
}

.accounting-total-card-danger strong {
    color: #b42318 !important;
}

.accounting-expense-form {
    grid-template-columns: 120px minmax(150px, .9fr) minmax(260px, 1.4fr) 125px 90px auto;
}

.accounting-expense-layout .accounting-expense-form {
    grid-template-columns: 1fr;
}

.accounting-expense-layout .accounting-expense-form .enterprise-form-actions {
    justify-content: flex-end;
}

.accounting-category-form {
    grid-template-columns: minmax(220px, .9fr) minmax(260px, 1.3fr) auto;
}

.accounting-rate-form {
    grid-template-columns: 1fr;
}

.accounting-category-layout .accounting-category-form {
    grid-template-columns: 1fr;
}

.accounting-category-layout .accounting-category-form .enterprise-form-actions {
    justify-content: flex-end;
}

.accounting-category-search-row {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-start;
}

.accounting-category-search-row label {
    color: #52677b;
    flex: 0 0 auto;
}

.accounting-category-search-slot {
    flex: 1 1 auto;
    max-width: 380px;
}

.accounting-category-search-slot .enterprise-inline-search > label {
    display: none !important;
}

.accounting-category-search-slot .enterprise-inline-search {
    width: 100%;
}

.accounting-category-search-slot .dataTables_filter {
    margin: 0;
}

.accounting-category-search-slot .dataTables_filter label {
    color: transparent !important;
    display: block;
    font-size: 0 !important;
    margin: 0;
    width: 100%;
}

.accounting-category-search-slot .dataTables_filter label::before {
    top: 50%;
    transform: translateY(-50%);
}

.accounting-category-search-slot .dataTables_filter input {
    color: #202733 !important;
    font-size: 11px !important;
    margin-left: 0 !important;
    width: 100% !important;
}

.accounting-table .accounting-category-code-col {
    width: 72px;
}

.accounting-table .accounting-category-name-col {
    width: 21%;
}

.accounting-table .accounting-category-description-col {
    width: 48%;
}

.accounting-table .accounting-category-status-col {
    width: 82px;
}

.accounting-table .accounting-category-action-col {
    width: 86px;
}

.accounting-table td:nth-child(3) {
    line-height: 1.2;
    white-space: normal;
}

.accounting-expense-category-badge {
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    max-width: 100%;
    padding: 5px 9px;
    white-space: normal;
}

.accounting-expense-category-badge.cat-tone-0 { background: #eaf2ff; border-color: #bdd4ff; color: #175cd3; }
.accounting-expense-category-badge.cat-tone-1 { background: #e8f7ef; border-color: #b7e4c7; color: #146c43; }
.accounting-expense-category-badge.cat-tone-2 { background: #fff4de; border-color: #f8d794; color: #9a5b00; }
.accounting-expense-category-badge.cat-tone-3 { background: #f1ecff; border-color: #d7c8ff; color: #5b3aa4; }
.accounting-expense-category-badge.cat-tone-4 { background: #e8f7f8; border-color: #a8dadf; color: #0f6674; }
.accounting-expense-category-badge.cat-tone-5 { background: #fff0f3; border-color: #ffc2cf; color: #b4234a; }
.accounting-expense-category-badge.cat-tone-6 { background: #eef7e6; border-color: #c8e6b5; color: #3f6f1e; }
.accounting-expense-category-badge.cat-tone-7 { background: #f0f4f8; border-color: #cbd5e1; color: #334155; }

.accounting-expense-form .enterprise-form-actions,
.accounting-category-form .enterprise-form-actions,
.accounting-rate-form .enterprise-form-actions {
    align-self: end;
    margin-top: 0;
}

.accounting-table thead th {
    background: #eef6fb !important;
    color: #07395f !important;
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.accounting-table tbody td {
    font-size: 11px;
    line-height: 1.16;
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

.accounting-table .btn-sm {
    align-items: center;
    display: inline-flex;
    height: 26px;
    justify-content: center;
    min-width: 26px;
    padding: 0 6px;
}

@media (max-width: 1199.98px) {
    .accounting-expense-form,
    .accounting-category-form,
    .accounting-rate-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .accounting-expense-form,
    .accounting-category-form,
    .accounting-rate-form {
        grid-template-columns: 1fr;
    }
}
/* Situation financière globale */
.global-inventory-page { color: #172033; max-width: 1600px; }
.global-inventory-eyebrow { color: #2563eb; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.global-inventory-heading .enterprise-page-title { color: #13243a; font-size: 21px; letter-spacing: -.02em; }
.global-inventory-subtitle { color: #748094; font-size: 11px; }
.global-inventory-toolbar { align-items: center; background: #fff; border: 1px solid #dfe5ee; border-radius: 10px; box-shadow: 0 3px 10px rgba(30,55,80,.05); display: flex; gap: 14px; justify-content: space-between; padding: 6px; }
.global-inventory-period { align-items: end; background: #f7f9fc; border: 1px solid #e5e9ef; border-radius: 8px; display: flex; gap: 7px; padding: 5px 7px; }
.global-inventory-period label { color: #667085; display: block; font-size: 10px; font-weight: 700; margin-bottom: 3px; text-transform: uppercase; }
.global-inventory-period select { min-width: 105px; }
.global-inventory-tabs { align-items: center; background: transparent; border: 0; border-radius: 8px; display: inline-flex; gap: 4px; padding: 0; }
.global-inventory-tabs a { border-radius: 7px; color: #667085; cursor: pointer; font-size: 12px; font-weight: 700; padding: 8px 13px; text-decoration: none; transition: .18s ease; }
.global-inventory-tabs a:hover { background: #f3f6fa; color: #174f78; }
.global-inventory-tabs a.active { background: #174f78; box-shadow: 0 3px 8px rgba(23,79,120,.18); color: #fff; }
.global-inventory-current-state { align-items: center; color: #18794e; display: flex; font-size: 11px; font-weight: 800; gap: 6px; padding: 0 10px; text-transform: uppercase; }
.global-inventory-net-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.global-net-card { align-items: stretch; background: linear-gradient(120deg, #102b4e, #174f78); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; box-shadow: 0 5px 15px rgba(16,43,78,.12); color: #fff; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.15fr) minmax(210px, .85fr); min-height: 104px; padding: 13px 15px; }
.global-net-card-main { align-self: center; min-width: 0; }
.global-net-card-top { align-items: center; color: #d9e9f7; display: flex; font-size: 12px; font-weight: 700; justify-content: space-between; text-transform: uppercase; }
.currency-pill { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 3px 8px; }
.global-net-card-main > strong { display: block; font-size: clamp(19px, 1.6vw, 25px); letter-spacing: -.02em; line-height: 1.15; margin-top: 7px; overflow-wrap: anywhere; }
.global-net-card-main > strong small { font-size: 10px; letter-spacing: .04em; opacity: .72; }
.global-net-breakdown { align-content: center; border-left: 1px solid rgba(255,255,255,.15); display: grid; gap: 7px; padding-left: 15px; }
.global-net-breakdown span { color: #bdd3e6; display: flex; font-size: 9px; justify-content: space-between; text-transform: uppercase; }
.global-net-breakdown b { color: #fff; font-size: 10px; margin-left: 8px; white-space: nowrap; }
.global-section-header { align-items: center; background: #fff !important; border-bottom: 1px solid #e7ebf1 !important; display: flex; justify-content: space-between; min-height: 51px; padding: 10px 14px !important; }
.global-section-header h6 { font-size: 14px; font-weight: 800; margin: 0; }
.global-section-header small { color: #7b8495; font-size: 11px; }
.global-section-header > i { align-items: center; background: #eef5ff; border-radius: 8px; color: #2563eb; display: flex; font-size: 16px; height: 32px; justify-content: center; width: 32px; }
.global-assets-body { padding: 12px 14px; }
.global-asset-item { align-items: center; background: #f8fafc; border: 1px solid #e7ebf1; border-radius: 8px; display: flex; gap: 9px; min-height: 62px; padding: 9px; }
.global-asset-icon { align-items: center; background: #e8f0ff; border-radius: 8px; color: #2563eb; display: flex; flex: 0 0 34px; font-size: 15px; height: 34px; justify-content: center; }
.global-asset-item span { color: #667085; display: block; font-size: 11px; font-weight: 700; }
.global-asset-item strong { display: block; font-size: 12px; margin-top: 1px; }
.global-profit-currencies { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.global-profit-row { background: #fafbfd; border: 1px solid #e8ecf2; border-radius: 9px; display: grid; gap: 7px; grid-template-columns: 1fr 1fr; margin-bottom: 10px; padding: 12px; }
.global-profit-row > div { display: flex; flex-direction: column; }
.global-profit-row span { color: #737d8e; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.global-profit-row b { font-size: 13px; margin-top: 2px; }
.global-profit-result { background: #eef5ff; border-radius: 7px; grid-column: 1 / -1; padding: 8px 10px; }
.global-profit-result b { color: #123d68; font-size: 15px; }
.global-inventory-note { align-items: flex-start; background: #fff8e8; border: 1px solid #f6dfaa; border-radius: 7px; color: #7a5a13; display: flex; font-size: 10px; gap: 6px; padding: 8px; }
.global-partner-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.global-partner-summary-item { border: 1px solid #e3e8ef; border-radius: 8px; display: flex; flex-direction: column; min-height: 68px; padding: 8px 11px; }
.global-partner-summary-item span { color: #667085; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.global-partner-summary-item strong { font-size: 15px; margin: 2px 0 1px; }
.global-partner-summary-item small { color: #7b8495; font-size: 10px; }
.global-partner-summary-item.is-receivable { background: #effaf4; border-color: #ccebd9; }
.global-partner-summary-item.is-receivable strong { color: #18794e; }
.global-partner-summary-item.is-payable { background: #fff3f1; border-color: #f3d3cd; }
.global-partner-summary-item.is-payable strong { color: #c24135; }
.global-partner-summary-item.is-net { background: #eef5ff; border-color: #d4e3fa; }
.global-partner-summary-item.is-net strong { color: #174f78; }
.global-partner-table-wrap { border: 1px solid #e5e9ef; border-radius: 8px; max-height: 255px; }
.global-partner-table thead th { background: #f6f8fb; color: #667085; font-size: 9px; letter-spacing: .03em; padding: 7px 10px; position: sticky; text-transform: uppercase; top: 0; z-index: 1; }
.global-partner-table td { border-color: #edf0f4; font-size: 11px; padding: 7px 10px; }
.global-partner-table tr.is-receivable .global-partner-impact-value { color: #18794e; font-weight: 800; }
.global-partner-table tr.is-payable .global-partner-impact-value { color: #c24135; font-weight: 800; }
.global-partner-status { background: #f2f4f7; border-radius: 999px; color: #667085; display: inline-block; font-size: 9px; font-weight: 800; padding: 3px 7px; white-space: nowrap; }
.global-partner-table tr.is-receivable .global-partner-status { background: #eaf8f0; color: #18794e; }
.global-partner-table tr.is-payable .global-partner-status { background: #fff0ee; color: #c24135; }
.global-adjustment-table thead th { background: #f6f8fb; color: #667085; font-size: 10px; letter-spacing: .03em; text-transform: uppercase; }
.global-adjustment-table td { font-size: 12px; }
.global-rule-add, .global-rule-subtract { border-radius: 999px; display: inline-block; font-size: 10px; font-weight: 800; padding: 4px 8px; }
.global-rule-add { background: #eaf8f0; color: #18794e; }
.global-rule-subtract { background: #fff0ee; color: #c24135; }
@media (max-width: 767.98px) {
    .global-inventory-net-grid { grid-template-columns: 1fr; }
    .global-net-card { grid-template-columns: 1fr; }
    .global-net-breakdown { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 0; padding-top: 9px; }
    .global-net-breakdown span { display: flex; flex-direction: column; }
    .global-net-breakdown b { margin: 2px 0 0; }
    .global-partner-summary { grid-template-columns: 1fr; }
    .global-inventory-toolbar { align-items: stretch; flex-direction: column; }
    .global-inventory-period { width: 100%; }
    .global-inventory-period > div { flex: 1; }
    .global-inventory-period select { min-width: 0; width: 100%; }
    .global-inventory-tabs { display: flex; width: 100%; }
    .global-inventory-tabs a { flex: 1; text-align: center; }
    .global-profit-currencies { grid-template-columns: 1fr; }
}
@media (max-width: 1199.98px) and (min-width: 768px) {
    .global-net-card { grid-template-columns: 1fr; }
    .global-net-breakdown { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 0; padding-top: 8px; }
    .global-net-breakdown span { display: flex; flex-direction: column; }
    .global-net-breakdown b { margin: 2px 0 0; }
}
@media (max-width: 575.98px) {
    .global-inventory-heading .enterprise-page-title { font-size: 18px; }
    .global-inventory-subtitle { line-height: 1.45; }
    .global-inventory-tabs a { font-size: 10px; padding: 8px 7px; }
    .global-section-header small { display: none; }
    .global-partner-table { min-width: 620px; }
    .global-adjustment-table { min-width: 650px; }
}
/* Espace Banque */
.bank-page-eyebrow { color: #2563eb; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bank-page-shell { align-items: center; background: #fff; border: 1px solid #dfe5ee; border-radius: 10px; display: flex; gap: 20px; justify-content: space-between; padding: 7px 9px 7px 13px; }
.bank-shell-title { align-items: center; display: flex; gap: 9px; min-width: max-content; }
.bank-shell-title > i { color: #174f78; font-size: 20px; }
.bank-shell-title strong, .bank-shell-title small { display: block; }
.bank-shell-title strong { color: #17324d; font-size: 13px; }
.bank-shell-title small { color: #7b8495; font-size: 9px; }
.bank-page-tabs { display: flex; gap: 3px; }
.bank-page-tabs a { align-items: center; border-radius: 7px; color: #667085; cursor: pointer; display: flex; font-size: 11px; font-weight: 700; gap: 5px; padding: 8px 10px; text-decoration: none; }
.bank-page-tabs a:hover { background: #f3f6fa; color: #174f78; }
.bank-page-tabs a.active { background: #174f78; color: #fff; }
.bank-welcome-card .card-body { align-items: center; display: flex; gap: 14px; min-height: 110px; padding: 20px; }
.bank-welcome-icon { align-items: center; background: #eaf2ff; border-radius: 12px; color: #174f78; display: flex; flex: 0 0 54px; font-size: 24px; height: 54px; justify-content: center; }
.bank-welcome-card h5 { color: #17324d; font-size: 15px; }
.bank-welcome-card p { font-size: 12px; }
.bank-registry-table thead th { background: #f6f8fb; color: #667085; font-size: 9px; letter-spacing: .03em; padding: 8px 10px; text-transform: uppercase; }
.bank-registry-table td { border-color: #edf0f4; font-size: 11px; padding: 9px 10px; }
.bank-registry-table .badge { font-size: 9px; font-weight: 700; }
.bank-row-inactive { opacity: .62; }
.bank-account-type-choice { display: grid; gap: 6px; grid-template-columns: 1fr 1fr; }
.bank-account-type-choice label { cursor: pointer; margin: 0; position: relative; }
.bank-account-type-choice input { accent-color: #174f78; height: 14px; left: 10px; margin: 0; position: absolute; top: 50%; transform: translateY(-50%); width: 14px; z-index: 2; }
.bank-account-type-choice span { align-items: center; background: #f7f9fc; border: 1px solid #dfe5ee; border-radius: 7px; color: #667085; display: flex; font-size: 10px; font-weight: 800; gap: 5px; justify-content: center; padding: 8px 8px 8px 29px; }
.bank-account-type-choice input:checked + span { background: #eaf2ff; border-color: #6d9bd0; color: #174f78; }
.bank-account-group { border: 1px solid #e5e9ef; border-radius: 8px; overflow: hidden; }
.bank-account-group:last-child { margin-bottom: 0 !important; }
.bank-account-group-title { align-items: center; background: #f6f8fb; color: #17324d; display: flex; font-size: 11px; gap: 7px; padding: 8px 10px; }
.bank-account-group-title span { background: #fff; border: 1px solid #e1e6ed; border-radius: 999px; font-size: 9px; margin-left: auto; padding: 2px 7px; }
.bank-account-owner-contact { color: #7b8495; display: block; font-size: 9px; font-weight: 500; margin-top: 2px; }
.bank-account-table-tabs { background: #f3f6fa; border-radius: 8px; display: inline-flex; gap: 3px; padding: 3px; }
.bank-account-table-tabs button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: #667085; display: flex; font-size: 10px; font-weight: 800; gap: 5px; padding: 6px 9px; }
.bank-account-table-tabs button.active { background: #174f78; color: #fff; }
.bank-account-table-tabs button span { background: rgba(255,255,255,.75); border-radius: 999px; color: #526173; font-size: 9px; min-width: 18px; padding: 1px 5px; }
.bank-movement-table-wrap { max-height: 520px; }
.bank-movement-table-wrap thead th { position: sticky; top: 0; z-index: 1; }
#bank-movement-form .mb-2 { margin-bottom: 5px !important; }
#bank-movement-form .row.g-2 { --bs-gutter-y: 5px; }
#bank-movement-form label { font-size: 10px; line-height: 1.1; margin-bottom: 3px !important; }
#bank-movement-form .enterprise-control { min-height: 31px; padding-bottom: 4px; padding-top: 4px; }
#bank-movement-form textarea.enterprise-control { min-height: 45px; }
#bank-movement-form .bank-account-type-choice span { padding-bottom: 6px; padding-top: 6px; }
#bank-movement-form .mt-3 { margin-top: 8px !important; }
.bank-form-card:has(#bank-movement-form) .card-body { padding: 12px; }
.bank-company-balances { border-bottom: 1px solid #e7ebf1; display: flex; gap: 9px; overflow-x: auto; padding: 9px; scrollbar-width: thin; }
.bank-company-balance-card { align-items: center; background: linear-gradient(145deg, #f7fbff 0%, #eaf3ff 100%); border: 1px solid #cbdff5; border-radius: 11px; box-shadow: 0 5px 14px rgba(23, 79, 120, .08); display: grid; flex: 0 0 260px; gap: 10px; grid-template-columns: 38px minmax(0, 1fr); min-height: 92px; overflow: hidden; padding: 10px 11px; position: relative; }
.bank-company-balance-card::before { background: linear-gradient(90deg, #1673c8, #43a0ec); content: ""; height: 3px; inset: 0 0 auto; position: absolute; }
.bank-company-balance-icon { align-items: center; align-self: start; background: #fff; border: 1px solid #c8def5; border-radius: 10px; color: #1264ad; display: flex; font-size: 18px; height: 38px; justify-content: center; width: 38px; }
.bank-company-balance-content { min-width: 0; }
.bank-company-balance-heading { align-items: center; display: flex; gap: 6px; justify-content: space-between; min-width: 0; }
.bank-company-balances .bank-company-balance-heading span { color: #52657a; display: block; font-size: 8.5px !important; font-weight: 900; letter-spacing: .035em; min-width: 0; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.bank-company-balance-heading em { background: #dcecff; border-radius: 999px; color: #14598f; flex: 0 0 auto; font-size: 7.5px; font-style: normal; font-weight: 900; padding: 2px 6px; }
.bank-company-balance-content > small { color: #75869a; display: block; font-size: 8px; font-weight: 700; margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bank-company-balances .bank-company-balance-content > b { align-items: baseline; color: #123f62; display: flex; font-size: 14px; font-weight: 900; gap: 4px; letter-spacing: -.015em; line-height: 1.25; margin: 4px 0 0; white-space: nowrap; }
.bank-company-balance-content > b i { color: #3376a9; font-size: 8px; font-style: normal; letter-spacing: .04em; }
.bank-company-balance-content footer { align-items: center; color: #7a8999; display: flex; font-size: 7.5px; font-weight: 700; gap: 4px; margin-top: 4px; }
.bank-deposit-filter, .bank-movement-filter { background: #f8fafc; border-bottom: 1px solid #e7ebf1; padding: 7px 9px; }
.bank-deposit-filter, .bank-movement-filter { align-items: end; display: grid; gap: 8px; grid-template-columns: 170px minmax(220px, 1fr); }
.bank-deposit-date-form { margin: 0; }
.bank-deposit-filter label, .bank-movement-filter label { display: block; font-size: 9px; font-weight: 700; margin-bottom: 3px; }
.bank-deposit-filter .enterprise-control, .bank-movement-filter .enterprise-control { min-height: 30px; }
.bank-deposit-search-control, .bank-movement-search-control { position: relative; }
.bank-deposit-search-control i, .bank-movement-search-control i { color: #8792a2; left: 10px; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.bank-deposit-search-control input, .bank-movement-search-control input { padding-left: 30px; width: 100%; }
@media (max-width: 575.98px) { .bank-deposit-filter, .bank-movement-filter { grid-template-columns: 1fr; } }
.bank-file-count { color: #174f78; font-size: 9px; font-weight: 700; min-height: 14px; padding-top: 3px; }
.bank-image-preview { display: grid; gap: 5px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bank-image-preview-item { background: #f7f9fc; border: 1px solid #dfe5ee; border-radius: 6px; min-width: 0; overflow: hidden; }
.bank-image-preview-item img { cursor: zoom-in; display: block; height: 62px; object-fit: cover; width: 100%; }
.bank-image-preview-item span { display: block; font-size: 8px; overflow: hidden; padding: 3px 5px; text-overflow: ellipsis; white-space: nowrap; }
.bank-image-lightbox { align-items: center; background: rgba(5,15,28,.9); display: none; flex-direction: column; inset: 0; justify-content: center; padding: 34px; position: fixed; z-index: 10050; }
.bank-image-lightbox.open { display: flex; }
.bank-image-lightbox img { border-radius: 6px; box-shadow: 0 18px 50px rgba(0,0,0,.45); max-height: calc(100vh - 100px); max-width: min(1100px, 94vw); object-fit: contain; }
.bank-image-lightbox-name { color: #fff; font-size: 11px; margin-top: 8px; }
.bank-image-lightbox-close { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; font-size: 25px; height: 38px; line-height: 30px; position: absolute; right: 20px; top: 18px; width: 38px; }
.bank-attachment-list { display: flex; flex-wrap: wrap; gap: 3px; }
.bank-attachment-list a { align-items: center; background: #eef5ff; border: 1px solid #d4e3fa; border-radius: 5px; color: #174f78; display: inline-flex; font-size: 9px; font-weight: 800; gap: 3px; padding: 3px 5px; text-decoration: none; }
.bank-form-card { height: auto !important; }
.bank-table-card { height: auto !important; }
.bank-registry-layout { align-items: flex-start; }
.bank-form-card .card-body { padding: 12px; }
.bank-form-card form .mb-2 { margin-bottom: 5px !important; }
.bank-form-card form label { font-size: 10px; line-height: 1.1; margin-bottom: 3px !important; }
.bank-form-card form .enterprise-control { min-height: 31px; padding-bottom: 4px; padding-top: 4px; }
.bank-form-card form .mt-3 { margin-top: 8px !important; }
.bank-form-card .global-section-header { padding-bottom: 9px !important; padding-top: 9px !important; }
@media (max-width: 991.98px) {
    .bank-page-shell { align-items: stretch; flex-direction: column; gap: 8px; }
    .bank-page-tabs { overflow-x: auto; padding-bottom: 2px; }
    .bank-page-tabs a { flex: 0 0 auto; white-space: nowrap; }
}
.bank-reports-layout .tableur-report-options-card,
.bank-reports-layout .tableur-report-result-card {
    height: auto;
    min-height: 0 !important;
}
.bank-reports-layout > [class*="col-"] { min-width: 0; }
.bank-reports-layout .tableur-report-options-card .card-body {
    padding: 14px;
}
.bank-reports-layout .tableur-report-check {
    margin-bottom: 8px;
}
.bank-reports-layout .bank-company-balances {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0;
    overflow: visible;
    padding: 6px;
}
.bank-reports-layout .bank-company-balance-card {
    min-width: 0;
    width: auto;
}

@media (max-width: 575.98px) {
    .bank-company-balances { gap: 7px; padding: 7px; }
    .bank-company-balance-card { flex-basis: min(260px, calc(100vw - 58px)); }
}
.bank-reports-layout .bank-table-card,
.bank-reports-layout .table-responsive {
    max-width: 100%;
}
.bank-reports-layout .bank-registry-table th,
.bank-reports-layout .bank-registry-table td {
    font-size: 10px;
    padding: 8px 9px;
}
.bank-report-account-heading { background:#eef5ff; border:1px solid #c8dced; border-radius:7px; color:#173f5f; display:flex; flex-direction:column; gap:2px; margin-bottom:7px; padding:8px 10px; }
.bank-report-account-heading strong { font-size:12px; }
.bank-report-account-heading span { font-size:10px; font-weight:700; }
.bank-report-account-heading small { color:#667085; font-size:9px; }
@media (max-width: 1199.98px) {
    .bank-reports-layout .bank-company-balances { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .bank-reports-layout .bank-company-balances { grid-template-columns: 1fr; }
}

/* L'en-tête est le premier élément visible et réserve lui-même sa hauteur. */
html,
body {
    background-clip: border-box;
    margin-top: 0 !important;
    overscroll-behavior-y: none;
    padding-top: 0 !important;
}

.adminuiux-header,
.adminuiux-header .navbar,
.adminuiux-header.active .navbar,
body.scrollup .adminuiux-header .navbar,
body.scrolldown .adminuiux-header .navbar {
    inset-block-start: 0 !important;
    margin-top: 0 !important;
    top: 0 !important;
    transform: none !important;
}

/* Le fond découvert par un éventuel rebond natif reste celui de l'en-tête. */
html {
    background-color: #ffffff;
}

/* Panneaux professionnels attachés à l'en-tête. */
.app-header-dropdown {
    position: relative;
}

.app-header-panel {
    background: #ffffff;
    border: 1px solid #dbe4ea;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 14px 34px rgba(20, 49, 70, .16);
    margin-top: 0 !important;
    overflow: hidden;
    padding: 7px;
}

.app-header-panel .dropdown-item {
    align-items: center;
    border-radius: 9px;
    color: #344b5e;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    font-weight: 650;
    gap: 7px;
    min-height: 40px;
    padding: 8px 10px;
}

.app-header-panel .dropdown-item:hover,
.app-header-panel .dropdown-item:focus {
    background: #edf6f5;
    color: #1d6869;
}

.app-language-panel {
    min-width: 190px;
}

.app-language-panel .dropdown-item.active {
    background: #2f7a7b;
    color: #ffffff;
}

.app-notification-panel {
    max-height: min(430px, calc(100dvh - 74px));
    min-width: min(340px, calc(100vw - 16px));
    overflow-y: auto;
}

.app-profile-panel {
    padding: 0 0 7px;
    width: min(330px, calc(100vw - 16px));
}

.app-profile-summary {
    align-items: center;
    background: linear-gradient(135deg, #155d75, #2f8581);
    color: #ffffff;
    display: flex;
    min-height: 92px;
    padding: 14px 16px;
}

.app-profile-summary .row {
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
}

.app-profile-summary .avatar.avatar-50 {
    border: 3px solid rgba(255,255,255,.75);
    height: 54px;
    width: 54px;
}

.app-profile-name {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
}

.app-profile-role {
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-weight: 650;
}

.app-profile-panel > .px-2 {
    padding: 7px 7px 0 !important;
}

.app-profile-panel .theme-red {
    color: #bd2947;
}

.app-profile-panel .theme-red:hover {
    background: #fff0f3;
    color: #a71935;
}

@media (max-width: 991.98px) {
    :root {
        --responsive-header-height: 58px;
    }

    html {
        scroll-padding-top: calc(var(--responsive-header-height) + 6px);
    }

    .adminuiux-header,
    .adminuiux-header .navbar,
    .adminuiux-header .navbar > .container-fluid {
        height: var(--responsive-header-height) !important;
        min-height: var(--responsive-header-height) !important;
    }

    .adminuiux-header {
        padding: 0 !important;
    }

    .adminuiux-wrap {
        padding-top: 0 !important;
    }

    .adminuiux-wrap > .adminuiux-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .adminuiux-content > #main-content.container {
        margin-top: 0 !important;
        padding-top: 8px !important;
        scroll-margin-top: calc(var(--responsive-header-height) + 6px);
    }

    .adminuiux-sidebar {
        height: calc(100dvh - var(--responsive-header-height)) !important;
        margin-top: 0 !important;
        top: var(--responsive-header-height) !important;
    }

    .adminuiux-sidebar .adminuiux-sidebar-inner,
    .adminuiux-sidebar-boxed .adminuiux-sidebar .adminuiux-sidebar-inner {
        margin-top: 0 !important;
    }

    .app-sidebar-backdrop {
        inset: var(--responsive-header-height) 0 0 !important;
    }

    .app-header-panel {
        left: auto !important;
        margin: 0 !important;
        position: fixed !important;
        right: 8px !important;
        top: var(--responsive-header-height) !important;
        transform: none !important;
        z-index: 1045;
    }
}

@media (max-width: 575.98px) {
    :root {
        --responsive-header-height: 62px;
    }

    .adminuiux-content > #main-content.container {
        margin-top: 0 !important;
        padding-top: 6px !important;
    }

    #main-content > .enterprise-page:first-child,
    #main-content > .container-fluid:first-child {
        margin-top: 0 !important;
        padding-top: 2px !important;
    }
}

/* Tableaux professionnels sur téléphone et tablette, sans incidence desktop. */
/* Densité commune des tableaux de consultation. */
#main-content table.table:not(.table-sm):not(.tableur-table):not(.tableur-report-table):not(.tableur-sheet) {
    font-size: 12px;
    line-height: 1.25;
}

#main-content table.table:not(.table-sm):not(.tableur-table):not(.tableur-report-table):not(.tableur-sheet) > :not(caption) > * > * {
    padding: 7px 8px !important;
    vertical-align: middle;
}

#main-content table.table thead th {
    line-height: 1.15;
}

#main-content table.table td > p,
#main-content table.table td > div > p {
    margin-bottom: 2px;
}

#main-content table.table td > p:last-child,
#main-content table.table td > div > p:last-child {
    margin-bottom: 0;
}

#main-content table.table td .badge {
    font-size: 9px;
    line-height: 1.15;
    padding: 4px 6px;
}

#main-content table.table td .btn-sm {
    font-size: 10px;
    line-height: 1;
    min-height: 27px;
    padding: 5px 7px;
}

#main-content table.table td .btn-sm.btn-icon,
#main-content table.table td .btn-sm:has(> i:only-child),
#main-content table.table td .btn-sm:has(> svg:only-child) {
    align-items: center;
    display: inline-flex;
    height: 27px;
    justify-content: center;
    min-width: 27px;
    padding: 4px !important;
    width: 27px;
}

@media (max-width: 767.98px) {
    #main-content .table-responsive,
    #main-content .tableur-report-result-card .card-body,
    #main-content .tableur-report-preview,
    #main-content .bank-table-card {
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
        overflow-x: auto !important;
        overflow-y: visible;
        overscroll-behavior-inline: contain;
        scrollbar-color: rgba(47, 111, 115, .55) #edf2f5;
        scrollbar-width: thin;
    }

    #main-content .table-responsive {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    #main-content .table-responsive > table,
    #main-content .table-responsive .dataTables_wrapper table,
    #main-content .tableur-report-result-card table,
    #main-content .tableur-report-preview table,
    #main-content .bank-table-card table {
        table-layout: auto !important;
        width: 100% !important;
    }

    /* La largeur augmente avec le nombre réel de colonnes. */
    #main-content .table-responsive table:has(thead th:nth-child(4)),
    #main-content .tableur-report-result-card table:has(thead th:nth-child(4)),
    #main-content .tableur-report-preview table:has(thead th:nth-child(4)) {
        min-width: 580px !important;
    }

    #main-content .table-responsive table:has(thead th:nth-child(6)),
    #main-content .tableur-report-result-card table:has(thead th:nth-child(6)),
    #main-content .tableur-report-preview table:has(thead th:nth-child(6)) {
        min-width: 760px !important;
    }

    #main-content .table-responsive table:has(thead th:nth-child(8)),
    #main-content .tableur-report-result-card table:has(thead th:nth-child(8)),
    #main-content .tableur-report-preview table:has(thead th:nth-child(8)) {
        min-width: 980px !important;
    }

    #main-content .table-responsive table:has(thead th:nth-child(10)),
    #main-content .tableur-report-result-card table:has(thead th:nth-child(10)),
    #main-content .tableur-report-preview table:has(thead th:nth-child(10)) {
        min-width: 1180px !important;
    }

    /* Filet de sécurité pour les registres métier aux colonnes nombreuses. */
    #main-content .tableur-transfer-table,
    #main-content .tableur-deposit-table,
    #main-content .tableur-forex-table,
    #main-content .tableur-super-agent-transaction-table,
    #main-content .tableur-super-agent-versement-table,
    #main-content .tableur-super-agent-ravitaillement-table,
    #main-content .bank-registry-table,
    #main-content .mobile-operation-history-table,
    #main-content .mobile-cash-history-table,
    #main-content .accounting-table,
    #main-content .transfer-authorized-table {
        min-width: 760px !important;
        table-layout: auto !important;
        width: 100% !important;
    }

    #main-content .table-responsive table th,
    #main-content .tableur-report-result-card table th,
    #main-content .tableur-report-preview table th {
        line-height: 1.15;
        overflow-wrap: normal !important;
        vertical-align: middle;
        white-space: nowrap !important;
        word-break: normal !important;
    }

    #main-content .table-responsive table td,
    #main-content .tableur-report-result-card table td,
    #main-content .tableur-report-preview table td {
        max-width: 280px;
        overflow-wrap: break-word !important;
        vertical-align: middle;
        word-break: normal !important;
    }

    #main-content table.table:not(.tableur-sheet) > :not(caption) > * > * {
        padding: 5px 6px !important;
    }

    #main-content .table-responsive table td.text-end,
    #main-content .table-responsive table td[class*="amount"],
    #main-content .table-responsive table td[class*="date"],
    #main-content .table-responsive table td[class*="action"],
    #main-content .table-responsive table td:has(> .btn),
    #main-content .table-responsive table td:has(> form > .btn) {
        max-width: none;
        overflow-wrap: normal !important;
        white-space: nowrap !important;
        word-break: normal !important;
    }

    #main-content .table-responsive::-webkit-scrollbar,
    #main-content .tableur-report-result-card .card-body::-webkit-scrollbar,
    #main-content .tableur-report-preview::-webkit-scrollbar {
        height: 7px;
    }

    #main-content .table-responsive::-webkit-scrollbar-track,
    #main-content .tableur-report-result-card .card-body::-webkit-scrollbar-track,
    #main-content .tableur-report-preview::-webkit-scrollbar-track {
        background: #edf2f5;
        border-radius: 999px;
    }

    #main-content .table-responsive::-webkit-scrollbar-thumb,
    #main-content .tableur-report-result-card .card-body::-webkit-scrollbar-thumb,
    #main-content .tableur-report-preview::-webkit-scrollbar-thumb {
        background: #6f9da1;
        border-radius: 999px;
    }
}

@media (max-width: 1199.98px) {
    #main-content .table-responsive > .tableur-transfer-table {
        min-width: 780px !important;
        table-layout: auto !important;
    }

    #main-content .tableur-transfer-table th:first-child,
    #main-content .tableur-transfer-table td:first-child { min-width: 125px; }

    #main-content .tableur-transfer-table th:nth-child(2),
    #main-content .tableur-transfer-table td:nth-child(2),
    #main-content .tableur-transfer-table th:nth-child(3),
    #main-content .tableur-transfer-table td:nth-child(3) { min-width: 105px; }

    #main-content .tableur-transfer-table td:nth-child(4),
    #main-content .tableur-transfer-table td:nth-child(5),
    #main-content .tableur-transfer-table td:nth-child(6) { min-width: 78px; }

    #main-content .tableur-transfer-table td:nth-child(7) { min-width: 90px; }
    #main-content .tableur-transfer-table td:nth-child(8) { min-width: 105px; }
}
/* Performance des agents */
.performance-page{--performance-navy:#173f5f;--performance-blue:#2563eb;--performance-soft:#eef4fb;color:#243447}
.performance-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.55rem .7rem;margin-bottom:.75rem}.performance-filters label{display:inline-flex;align-items:center;gap:.45rem;margin:0;color:#667085;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.performance-filters .form-control,.performance-filters .form-select{width:auto;min-width:118px;min-height:34px;padding:.28rem 1.9rem .28rem .65rem;text-transform:none}.performance-filters .performance-filter-date .form-control{min-width:145px}.performance-filters .btn{min-height:34px;padding:.32rem .75rem;white-space:nowrap}
.performance-filters[data-period="jour"] .performance-filter-month,.performance-filters[data-period="jour"] .performance-filter-year,.performance-filters[data-period="mois"] .performance-filter-date,.performance-filters[data-period="annee"] .performance-filter-date,.performance-filters[data-period="annee"] .performance-filter-month{display:none}
.performance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:.75rem}.performance-summary-grid article{display:flex;align-items:center;gap:.6rem;min-height:72px!important;height:auto!important;background:#fff;border:1px solid #e5eaf0;border-radius:13px;padding:.58rem .72rem!important;box-shadow:0 5px 16px rgba(30,54,80,.05)}.performance-summary-grid small{display:block;color:#718096;font-size:.62rem;font-weight:700;line-height:1.2;text-transform:uppercase}.performance-summary-grid strong{display:block;color:var(--performance-navy);font-size:1.08rem;line-height:1.15;margin-top:.12rem}.performance-summary-grid em{display:block;color:#718096;font-size:.62rem;font-style:normal;margin-top:.1rem}.performance-summary-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:.92rem;flex:0 0 auto}.performance-summary-icon.is-deposit{background:#e8f7ef;color:#15803d}.performance-summary-icon.is-transaction{background:#eaf1ff;color:#2563eb}.performance-summary-icon.is-total{background:#f2ebff;color:#7c3aed}.performance-summary-icon.is-leader{background:#fff5d8;color:#b7791f}.performance-leader-card{background:linear-gradient(135deg,#fff 55%,#fff8df)!important}.performance-leader-card strong{font-size:.92rem;overflow-wrap:anywhere}
.performance-content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem;margin-bottom:1rem}.performance-ranking-card,.performance-podium-card,.performance-detail-card{padding:1rem}.performance-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.performance-section-title h5{font-size:1rem;font-weight:800;color:var(--performance-navy);margin:0}.performance-section-title span{font-size:.75rem;color:#7a8795}.performance-section-title>i{color:#7d93a8;font-size:1.2rem}
.performance-bars{display:grid;gap:.75rem}.performance-bar-row{display:flex;align-items:flex-start;gap:.7rem}.performance-rank,.performance-table-rank{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;background:#edf2f7;color:#526173;font-size:.75rem;font-weight:800;flex:0 0 auto}.performance-rank.is-top{background:#fff1bf;color:#946200}.performance-bar-main{flex:1;min-width:0}.performance-agent-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.78rem}.performance-agent-line strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-agent-line span{color:#526173;font-weight:700}.performance-bar-track{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden;margin:.3rem 0}.performance-bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#173f5f,#3182ce)}.performance-bar-main small{color:#8492a1;font-size:.68rem}.performance-empty{display:grid;place-items:center;gap:.5rem;padding:2rem;color:#8492a1;text-align:center}.performance-empty i{font-size:2rem}
.performance-podium{display:grid;gap:.65rem}.performance-podium article{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.6rem;border:1px solid #edf0f4;border-radius:12px;padding:.7rem}.performance-podium article>span{font-size:1.25rem}.performance-podium strong{font-size:.8rem;color:#344054}.performance-podium small{font-size:.7rem;color:#718096}.performance-podium .place-1{background:#fffaf0;border-color:#f6dfaa}
.performance-detail-card{overflow:hidden}.performance-table{font-size:.78rem;margin-bottom:0}.performance-table thead th{background:#f4f7fa;color:#526173;border:0;white-space:nowrap;font-size:.67rem;text-transform:uppercase}.performance-table tbody td{border-color:#edf0f4}.performance-table tr.is-inactive{opacity:.52}.performance-total-badge{display:inline-grid;min-width:34px;padding:.28rem .45rem;border-radius:999px;background:#e8eef5;color:var(--performance-navy);font-weight:800;text-align:center}
@media(max-width:1100px){.performance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-content-grid{grid-template-columns:1fr}}
@media(max-width:650px){.performance-summary-grid{grid-template-columns:1fr}.performance-filters{display:grid;grid-template-columns:1fr}.performance-filters label{display:grid;grid-template-columns:82px minmax(0,1fr);width:100%}.performance-filters .form-control,.performance-filters .form-select,.performance-filters .performance-filter-date .form-control{width:100%;min-width:0}.performance-filters button{width:100%}.performance-detail-card{padding:.75rem}.performance-table thead{display:none}.performance-table,.performance-table tbody,.performance-table tr,.performance-table td{display:block;width:100%}.performance-table tr{border:1px solid #e7ebf0;border-radius:12px;padding:.45rem;margin-bottom:.6rem}.performance-table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.35rem .45rem}.performance-table td::before{content:attr(data-label);color:#718096;font-size:.7rem;font-weight:700}.performance-table td[data-label="Agent"]{font-size:.86rem}.performance-table td[data-label="Rang"]{display:none}}

/* Repère clavier global : le contrôle atteint avec TAB doit toujours être évident. */
.performance-summary-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

#main-content .performance-summary-grid > article {
    height: 86px !important;
    min-height: 86px !important;
    max-height: 86px !important;
    padding: 9px 12px !important;
}

#main-content .performance-summary-grid .performance-summary-icon {
    height: 32px;
    width: 32px;
}

#main-content .performance-summary-grid small {
    font-size: 9px;
}

#main-content .performance-summary-grid strong {
    font-size: 16px;
    line-height: 1.08;
}

#main-content .performance-summary-grid em {
    font-size: 9px;
}

#main-content .performance-summary-grid .performance-leader-card strong {
    font-size: 12px;
    line-height: 1.12;
}

@media (max-width: 1100px) {
    .performance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .performance-summary-grid { grid-template-columns: 1fr; }
}

:where(button, .btn, a, [role="button"], [role="link"], [tabindex]):focus-visible {
    background-color: #0b5f73 !important;
    border-color: #ffc928 !important;
    color: #fff !important;
    outline: 1px solid #ffc928 !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 0 2px rgba(11, 95, 115, .14) !important;
    position: relative;
    z-index: 5;
}

:where(input, select, textarea):focus-visible {
    background-color: #fffceb !important;
    border-color: #0b5f73 !important;
    color: #102f46 !important;
    outline: 1px solid #ffc928 !important;
    outline-offset: 0 !important;
    box-shadow: 0 0 0 2px rgba(11, 95, 115, .12) !important;
}

[data-bs-theme="dark"] :where(input, select, textarea):focus-visible {
    background-color: #243846 !important;
    color: #fff !important;
}

.dashboard-frequency-panel{background:#fff;border:1px solid #dfe7ee;border-radius:16px;box-shadow:0 8px 24px rgba(31,61,88,.07);margin-top:16px;padding:16px}.dashboard-frequency-heading{align-items:flex-end;display:flex;gap:18px;justify-content:space-between}.dashboard-frequency-heading>div>span{color:#27806f;font-size:10px;font-weight:900;letter-spacing:.09em}.dashboard-frequency-heading h5{color:#173f5f;font-size:18px;font-weight:900;margin:2px 0}.dashboard-frequency-heading p{color:#718096;font-size:11px;margin:0}.dashboard-frequency-filters{align-items:flex-end;display:flex;gap:7px}.dashboard-frequency-filters label{color:#667085;display:grid;font-size:9px;font-weight:800;gap:2px;text-transform:uppercase}.dashboard-frequency-filters select,.dashboard-frequency-filters input{background:#f8fafc;border:1px solid #d9e2ea;border-radius:8px;color:#344054;font-size:11px;height:31px;min-width:105px;padding:4px 8px}.dashboard-frequency-filters[data-period="jour"] .is-month,.dashboard-frequency-filters[data-period="jour"] .is-year,.dashboard-frequency-filters[data-period="mois"] .is-date,.dashboard-frequency-filters[data-period="annee"] .is-date,.dashboard-frequency-filters[data-period="annee"] .is-month{display:none}.dashboard-frequency-period{align-items:center;color:#607286;display:flex;font-size:10px;font-weight:800;gap:5px;margin:12px 0 8px}.dashboard-frequency-chart{display:grid;gap:8px}.dashboard-frequency-row{align-items:center;display:grid;gap:9px;grid-template-columns:25px minmax(130px,210px) minmax(180px,1fr) 34px}.dashboard-frequency-rank{align-items:center;background:#edf3f7;border-radius:50%;color:#52687a;display:flex;font-size:10px;font-weight:900;height:24px;justify-content:center;width:24px}.dashboard-frequency-row>strong{color:#344054;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-frequency-track{background:#edf2f5;border-radius:999px;display:flex;height:13px;overflow:hidden}.dashboard-frequency-track i{display:block;height:100%}.dashboard-frequency-track .is-deposit,.dashboard-frequency-legend .is-deposit{background:#23a36d}.dashboard-frequency-track .is-ordinary,.dashboard-frequency-legend .is-ordinary{background:#3478db}.dashboard-frequency-track .is-super,.dashboard-frequency-legend .is-super{background:#8b5bd6}.dashboard-frequency-row>b{color:#173f5f;font-size:12px;text-align:right}.dashboard-frequency-legend{align-items:center;border-top:1px solid #edf1f4;display:flex;gap:16px;margin-top:13px;padding-top:10px}.dashboard-frequency-legend span{align-items:center;color:#667085;display:flex;font-size:10px;gap:5px}.dashboard-frequency-legend span i{border-radius:50%;height:8px;width:8px}.dashboard-frequency-legend a{color:#176b7b;cursor:pointer;font-size:10px;font-weight:800;margin-left:auto}.dashboard-frequency-empty{align-items:center;color:#8492a1;display:flex;flex-direction:column;font-size:11px;gap:5px;padding:22px}.dashboard-frequency-empty i{font-size:22px}
.dashboard-trading-chart{display:block;height:285px;min-height:285px;position:relative;width:100%}.dashboard-trading-chart canvas{height:100%!important;width:100%!important}
.dashboard-agent-bars-chart{display:block;height:310px;min-height:310px;position:relative;width:100%}.dashboard-agent-bars-chart canvas{height:100%!important;width:100%!important}
.dashboard-performance-split{align-items:stretch;display:grid;gap:14px;grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.dashboard-performance-summary{background:#f7fafc;border:1px solid #e1e8ee;border-radius:13px;display:grid;gap:10px;padding:12px}.dashboard-performance-winner{background:linear-gradient(135deg,#173f5f,#236b7b);border-radius:11px;color:#fff;display:grid;gap:3px;padding:13px}.dashboard-performance-winner>span{align-items:center;color:#f9cf5b;display:flex;font-size:10px;font-weight:900;gap:6px;text-transform:uppercase}.dashboard-performance-winner>strong{font-size:15px;line-height:1.2}.dashboard-performance-winner>small{color:rgba(255,255,255,.76);font-size:10px}.dashboard-performance-counts{display:grid;gap:7px}.dashboard-performance-counts article{align-items:center;background:#fff;border:1px solid #e5ebf0;border-radius:10px;display:grid;gap:8px;grid-template-columns:30px 1fr auto;min-height:50px;padding:7px 10px}.dashboard-performance-counts article>i{align-items:center;border-radius:8px;display:flex;font-size:14px;height:30px;justify-content:center;width:30px}.dashboard-performance-counts article>span{color:#5f6f7f;font-size:10px;font-weight:700}.dashboard-performance-counts article>strong{color:#173f5f;font-size:18px}.dashboard-performance-counts .is-ordinary>i{background:#e8f0ff;color:#3478db}.dashboard-performance-counts .is-deposit>i{background:#e5f6ed;color:#23a36d}.dashboard-performance-counts .is-super>i{background:#f0e9ff;color:#8b5bd6}
@media(max-width:900px){.dashboard-performance-split{grid-template-columns:1fr}.dashboard-performance-summary{grid-template-columns:minmax(190px,.8fr) 1.2fr}.dashboard-performance-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-performance-counts article{grid-template-columns:30px 1fr}.dashboard-performance-counts article>strong{grid-column:2}}
@media(max-width:650px){.dashboard-performance-summary,.dashboard-performance-counts{grid-template-columns:1fr}.dashboard-performance-counts article{grid-template-columns:30px 1fr auto}.dashboard-performance-counts article>strong{grid-column:auto}}
.dashboard-performance-counts .is-forex>i{background:#e3f7f4;color:#0d8174}
.dashboard-performance-counts .is-supplies>i{background:#fff3dd;color:#c9820d}
.dashboard-performance-counts .is-bank>i{background:#f0e9ff;color:#7445c0}
.dashboard-agent-progress-chart{display:grid;gap:10px}.dashboard-agent-progress-row{align-items:center;display:grid;gap:10px;grid-template-columns:26px minmax(210px,300px) minmax(180px,1fr) 36px;padding:4px 0}.dashboard-agent-progress-row .dashboard-frequency-rank.is-top{background:#fff0bf;color:#916200}.dashboard-agent-progress-info{display:grid;gap:2px;min-width:0}.dashboard-agent-progress-info strong{color:#243f59;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-agent-progress-info small{color:#7a8795;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-agent-progress-track{background:#e8eef3;border-radius:999px;height:14px;overflow:hidden;position:relative}.dashboard-agent-progress-track span{background:linear-gradient(90deg,#1d7080 0%,#3182ce 100%);border-radius:inherit;display:block;height:100%;min-width:4px;transition:width .25s ease}.dashboard-agent-progress-row:nth-child(2) .dashboard-agent-progress-track span{background:linear-gradient(90deg,#376f95,#65a0ca)}.dashboard-agent-progress-row:nth-child(3) .dashboard-agent-progress-track span{background:linear-gradient(90deg,#52758c,#89aabb)}.dashboard-agent-progress-row>b{color:#173f5f;font-size:13px;text-align:right}
@media(max-width:800px){.dashboard-agent-progress-row{grid-template-columns:24px minmax(120px,190px) minmax(100px,1fr) 28px}.dashboard-agent-progress-info small{white-space:normal}}
@media(max-width:560px){.dashboard-agent-progress-row{gap:6px;grid-template-columns:23px minmax(90px,125px) minmax(75px,1fr) 24px}.dashboard-agent-progress-info strong{font-size:10px}.dashboard-agent-progress-info small{font-size:8px}.dashboard-agent-progress-track{height:11px}}
@media(max-width:900px){.dashboard-frequency-heading{align-items:stretch;display:grid}.dashboard-frequency-filters{flex-wrap:wrap}.dashboard-frequency-row{grid-template-columns:24px minmax(90px,140px) minmax(100px,1fr) 28px}}
@media(max-width:600px){.dashboard-frequency-panel{padding:12px}.dashboard-frequency-filters{display:grid;grid-template-columns:1fr}.dashboard-frequency-filters label,.dashboard-frequency-filters select,.dashboard-frequency-filters input,.dashboard-frequency-filters button{width:100%}.dashboard-frequency-row{gap:6px;grid-template-columns:22px minmax(75px,105px) minmax(80px,1fr) 25px}.dashboard-frequency-legend{align-items:flex-start;display:grid;gap:6px}.dashboard-frequency-legend a{margin-left:0}}

@media (max-width: 767.98px) {
    #main-content .enterprise-form-card { margin-bottom: 2rem !important; }
    #main-content .enterprise-form-card + .enterprise-table-card { margin-top: .5rem !important; }
    #main-content .dashboard-frequency-panel.is-empty-performance { display: none !important; }
}

/* Finition responsive : lisibilité et confort tactile sur téléphone/tablette. */
@media (max-width: 767.98px) {
    #main-content .enterprise-page {
        --app-control-size: 13.5px;
        --app-table-size: 11.5px;
    }

    #main-content .enterprise-page :where(
        form,
        .enterprise-filter-card,
        .enterprise-form-card,
        .dashboard-frequency-filters,
        .performance-filters
    ) :where(.form-control, .form-select, .btn, button) {
        min-height: 42px;
    }

    #main-content .enterprise-page :where(
        .form-control,
        .form-select,
        input,
        select,
        textarea
    ) {
        font-size: 16px;
    }

    #main-content .enterprise-page .table-responsive {
        background:
            linear-gradient(90deg, #fff 28%, rgba(255,255,255,0)) left center,
            linear-gradient(270deg, #fff 28%, rgba(255,255,255,0)) right center,
            linear-gradient(90deg, rgba(23,63,95,.12), rgba(23,63,95,0)) left center,
            linear-gradient(270deg, rgba(23,63,95,.12), rgba(23,63,95,0)) right center;
        background-attachment: local, local, scroll, scroll;
        background-repeat: no-repeat;
        background-size: 24px 100%, 24px 100%, 10px 100%, 10px 100%;
        overscroll-behavior-inline: contain;
    }

    #main-content .enterprise-page .table-responsive table {
        font-size: var(--app-table-size) !important;
    }

    #main-content .enterprise-page .table-responsive table :where(th, td) {
        line-height: 1.35;
    }

    #main-content .enterprise-page .table-responsive :where(.btn, button, [role="button"]) {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        min-height: 36px;
        min-width: 36px;
    }

    #main-content :where(
        .salary-tabs,
        .tableur-tabs,
        .presence-subtabs,
        .transfer-tabs,
        .tableur-super-agent-tabs,
        .tableur-transfer-status-tabs,
        .bank-page-tabs,
        .bank-account-table-tabs,
        .enterprise-tabs,
        .nav-tabs,
        .nav-pills
    ) {
        background-image: linear-gradient(90deg, transparent calc(100% - 24px), rgba(23,63,95,.12));
        padding-bottom: 6px !important;
    }

    #main-content :where(
        .salary-tabs,
        .tableur-tabs,
        .presence-subtabs,
        .transfer-tabs,
        .tableur-super-agent-tabs,
        .tableur-transfer-status-tabs,
        .bank-page-tabs,
        .bank-account-table-tabs,
        .enterprise-tabs,
        .nav-tabs,
        .nav-pills
    ) > :where(a, button, .nav-item, .nav-link) {
        min-height: 42px !important;
    }

    .adminuiux-header :where(.btn, button, [role="button"]),
    .adminuiux-sidebar :where(.nav-link, button) {
        min-height: 40px;
        min-width: 40px;
    }

    #main-content .dashboard-frequency-filters :where(input, select, button),
    #main-content .performance-filters :where(input, select, button) {
        min-height: 42px;
    }

    #main-content .enterprise-page .btn-group > .btn,
    #main-content .bank-workspace form :where(.form-control, .form-select, .btn, button),
    #main-content .bank-workspace .bank-form-card :where(.form-control, .form-select, .btn, button) {
        min-height: 42px !important;
    }

    #main-content .bank-workspace :where(.form-control, .form-select, input, select, textarea) {
        font-size: 16px;
    }
}

@media (max-width: 379.98px) {
    #main-content .enterprise-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Le filtre de performance reste compact sur une ligne quand la période le permet. */
@media (max-width: 600px) {
    #main-content .dashboard-frequency-heading {
        gap: 10px;
    }

    #main-content .dashboard-frequency-filters {
        align-items: end;
        display: grid;
        gap: 6px;
        grid-template-columns: minmax(100px, .85fr) minmax(135px, 1.15fr);
        width: 100%;
    }

    #main-content .dashboard-frequency-filters label {
        min-width: 0;
        width: 100%;
    }

    #main-content .dashboard-frequency-filters :where(select, input) {
        min-width: 0;
        width: 100%;
    }

    #main-content .dashboard-frequency-filters[data-period="mois"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 359.98px) {
    #main-content .dashboard-frequency-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* Normalisation des boutons responsive selon leur fonction. */
@media (max-width: 767.98px) {
    /* Actions principales et boutons de formulaire. */
    #main-content :where(
        .enterprise-form-card,
        .enterprise-filter-card,
        .enterprise-form-actions,
        .bank-form-card,
        .performance-filters,
        .dashboard-frequency-filters
    ) :where(.btn, button) {
        font-size: 13px;
        line-height: 1.2;
        min-height: 40px !important;
        padding: 6px 12px !important;
    }

    /* Exports : compacts mais faciles à toucher. */
    #main-content :where(
        .agent-export-btn,
        .tableur-export-action,
        .tableur-generic-report-export,
        .settings-report-export,
        [class*="export-pdf"],
        [class*="export-excel"],
        [data-export]
    ) {
        align-items: center !important;
        display: inline-flex !important;
        font-size: 12px !important;
        height: 40px !important;
        justify-content: center !important;
        line-height: 1 !important;
        min-height: 40px !important;
        min-width: 0;
        padding: 0 10px !important;
        vertical-align: middle;
    }

    #main-content :where(
        .agent-export-btn,
        .tableur-export-action,
        .tableur-generic-report-export,
        .settings-report-export,
        [class*="export-pdf"],
        [class*="export-excel"],
        [data-export]
    ) .bi {
        align-items: center;
        display: inline-flex;
        font-size: 13px;
        height: auto;
        justify-content: center;
        line-height: 1;
        margin: 0 5px 0 0 !important;
        vertical-align: middle;
        width: auto;
    }

    /* Petites actions répétées dans les tableaux. */
    #main-content :where(
        .table-responsive,
        .enterprise-table-card,
        .dataTables_wrapper,
        .dt-container
    ) table :where(.btn, button, [role="button"]) {
        align-items: center;
        display: inline-flex;
        font-size: 13px;
        height: 36px !important;
        justify-content: center;
        min-height: 36px !important;
        min-width: 36px !important;
        padding: 0 7px !important;
    }

    /* Pagination : cible tactile régulière, sans largeur excessive. */
    #main-content :where(.dt-paging, .dataTables_paginate) :where(button, .dt-paging-button, .paginate_button) {
        align-items: center;
        display: inline-flex;
        font-size: 13px !important;
        height: 40px !important;
        justify-content: center;
        min-height: 40px !important;
        min-width: 40px !important;
        padding: 0 10px !important;
    }

    /* Onglets et navigation fonctionnelle. */
    #main-content :where(
        .salary-tabs,
        .tableur-tabs,
        .presence-subtabs,
        .transfer-tabs,
        .tableur-super-agent-tabs,
        .tableur-transfer-status-tabs,
        .bank-page-tabs,
        .bank-account-table-tabs,
        .enterprise-tabs,
        .nav-tabs,
        .nav-pills
    ) > :where(a, button, .nav-item, .nav-link) {
        font-size: 12px !important;
        min-height: 40px !important;
        padding: 6px 10px !important;
    }

    #main-content .tableur-recipient-add {
        align-items: center;
        display: inline-flex;
        height: 40px !important;
        justify-content: center;
        min-height: 40px !important;
        min-width: 40px !important;
        padding: 0 8px !important;
    }
}

/* Expérience PWA : installation, connexion et mise à jour. */
.pwa-install-button {
    align-items: center;
    background: linear-gradient(135deg, #173f5f, #25757b);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    box-shadow: 0 10px 28px rgba(23,63,95,.28);
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 7px;
    left: calc(16px + env(safe-area-inset-left));
    min-height: 42px;
    padding: 8px 14px;
    position: fixed;
    z-index: 10820;
}

.pwa-install-button > span { font-size: 19px; line-height: 1; }
.pwa-install-button:hover { color: #fff; filter: brightness(1.06); }

.pwa-live-region {
    display: grid;
    gap: 8px;
    left: 50%;
    max-width: min(460px, calc(100vw - 28px));
    position: fixed;
    top: calc(76px + env(safe-area-inset-top));
    transform: translateX(-50%);
    width: max-content;
    z-index: 10950;
}

.pwa-notice {
    align-items: center;
    background: #173f5f;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(20,45,65,.24);
    color: #fff;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 12px;
    justify-content: space-between;
    line-height: 1.4;
    padding: 10px 12px;
}

.pwa-notice-error { background: #9f2f3b; }
.pwa-notice-success { background: #11704b; }
.pwa-notice-update { background: #175b78; }
.pwa-notice-action {
    background: #fff;
    border: 0;
    border-radius: 8px;
    color: #173f5f;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
    min-height: 34px;
    padding: 6px 10px;
}

.pwa-notice-dismiss {
    background: transparent;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 8px;
    color: #fff;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    min-height: 34px;
    padding: 6px 9px;
}

.pwa-mobile-bottom-nav { display: none; }

/* Les libellés de navigation utilisent une casse de phrase uniforme.
   Les codes techniques et les données internes ne sont pas modifiés. */
.app-top-shortcut span,
.app-sidebar-menu .menu-name,
.app-sidebar-menu .app-submenu-link > span,
.pwa-mobile-bottom-link span,
#main-content .salary-tabs > a,
#main-content .presence-subtabs > a,
#main-content .transfer-tabs > a,
#main-content .tableur-tabs > a,
#main-content .tableur-super-agent-tabs > a,
#main-content .tableur-transfer-status-tabs > button,
#main-content .bank-page-tabs > a,
#main-content .bank-account-table-tabs > button,
#main-content .enterprise-tabs > a,
#main-content .nav-tabs .nav-link,
#main-content .nav-pills .nav-link {
    text-transform: none !important;
}

.pwa-install-overlay {
    align-items: center;
    background: rgba(10,30,45,.58);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));
    position: fixed;
    z-index: 11000;
}

.pwa-install-card {
    background: #fff;
    border: 1px solid #d9e4ec;
    border-radius: 20px;
    box-shadow: 0 22px 60px rgba(10,30,45,.28);
    color: #243447;
    max-width: 390px;
    padding: 24px;
    text-align: center;
    width: 100%;
}

.pwa-install-icon img { border-radius: 18px; height: 72px; width: 72px; }
.pwa-install-card h2 { color: #173f5f; font-size: 20px; font-weight: 900; margin: 14px 0 7px; }
.pwa-install-card p { color: #607484; font-size: 13px; line-height: 1.55; margin: 0; }
.pwa-install-card .pwa-install-steps { background: #eef5f7; border-radius: 12px; margin-top: 14px; padding: 12px; }
.pwa-install-close {
    background: #173f5f;
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    margin-top: 16px;
    min-height: 42px;
    padding: 8px 18px;
}

.pwa-offline .adminuiux-header .navbar::after {
    background: #b54708;
    bottom: -20px;
    color: #fff;
    content: "Hors connexion";
    font-size: 10px;
    font-weight: 800;
    left: 0;
    line-height: 20px;
    position: absolute;
    right: 0;
    text-align: center;
}

@media (display-mode: standalone) {
    html { background: #eef4f8; overscroll-behavior-y: none; }
    body { -webkit-tap-highlight-color: transparent; }
    .adminuiux-header .navbar { padding-top: env(safe-area-inset-top); }
    #fixedbuttons { bottom: env(safe-area-inset-bottom) !important; }
}

@media (display-mode: standalone) and (max-width: 767.98px) {
    body.pwa-mobile-standalone { padding-bottom: calc(66px + env(safe-area-inset-bottom)) !important; }
    body.pwa-mobile-standalone .adminuiux-footer { margin-bottom: calc(58px + env(safe-area-inset-bottom)); }
    body.pwa-mobile-standalone #header-navbar,
    body.pwa-mobile-standalone .adminuiux-header .navbar-toggler { display: none !important; }
    .pwa-mobile-bottom-nav {
        align-items: stretch;
        background: rgba(255,255,255,.97);
        border-top: 1px solid #d6e1ea;
        bottom: 0;
        box-shadow: 0 -8px 24px rgba(21,56,82,.13);
        display: flex;
        gap: 1px;
        left: 0;
        min-height: calc(58px + env(safe-area-inset-bottom));
        overflow-x: auto;
        padding: 4px max(4px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px, env(safe-area-inset-left));
        position: fixed;
        right: 0;
        scrollbar-width: none;
        z-index: 10840;
    }
    .pwa-mobile-bottom-nav::-webkit-scrollbar { display: none; }
    .pwa-mobile-bottom-link {
        align-items: center;
        background: transparent;
        border: 0;
        border-radius: 10px;
        color: #62758a;
        display: flex;
        flex: 1 0 54px;
        flex-direction: column;
        font-size: 8px;
        font-weight: 800;
        gap: 2px;
        justify-content: center;
        line-height: 1.1;
        min-width: 54px;
        padding: 4px 3px;
        text-decoration: none;
    }
    .pwa-mobile-bottom-link i { font-size: 18px; line-height: 1; }
    .pwa-mobile-bottom-link span { max-width: 66px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .pwa-mobile-bottom-link.active { background: #e8f2fb; color: #135d91; }
    .pwa-mobile-bottom-link.pwa-mobile-exit { color: #a33342; }
    .pwa-live-region { bottom: calc(70px + env(safe-area-inset-bottom)); top: auto; }
}

@media (max-width: 575.98px) {
    .pwa-install-button strong { display: none; }
    .pwa-install-button { border-radius: 50%; height: 46px; justify-content: center; padding: 0; width: 46px; }
    .pwa-install-button > span { font-size: 22px; }
    .pwa-live-region { top: calc(66px + env(safe-area-inset-top)); width: calc(100vw - 28px); }
    .pwa-notice { width: 100%; }
}

.bank-account-data-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) 150px 150px auto; gap:.65rem; align-items:end; padding:.75rem; margin-bottom:.65rem; border:1px solid #dce5ef; border-radius:12px; background:#f7fafc; }
.bank-account-data-search { position:relative; }
.bank-account-data-search > i { position:absolute; left:.75rem; top:50%; transform:translateY(-50%); color:#708399; z-index:1; }
.bank-account-data-search input { padding-left:2.15rem; }
.bank-account-page-size { display:flex; align-items:center; gap:.4rem; margin:0; color:#40536a; font-size:.82rem; font-weight:700; }
.bank-account-page-size select { width:74px; }
.bank-account-data-footer { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.75rem .25rem 0; color:#64748b; font-size:.84rem; }
.bank-account-pagination { display:flex; gap:.25rem; }
.bank-account-pagination button { min-width:32px; height:32px; padding:0 .5rem; border:1px solid #d6e0ea; border-radius:8px; background:#fff; color:#24445f; font-weight:700; }
.bank-account-pagination button:hover:not(:disabled),.bank-account-pagination button.active { border-color:#287c7b; background:#287c7b; color:#fff; }
.bank-account-pagination button:disabled { opacity:.4; cursor:not-allowed; }
@media (max-width:991.98px){.bank-account-data-toolbar{grid-template-columns:1fr 1fr}.bank-account-data-search{grid-column:1/-1}}
@media (max-width:575.98px){.bank-account-data-toolbar{grid-template-columns:1fr}.bank-account-data-search{grid-column:auto}.bank-account-data-footer{align-items:flex-start;flex-direction:column}}

/* bank-layout-compact-v2 */
.bank-account-data-toolbar{grid-template-columns:minmax(190px,1.45fr) minmax(115px,.72fr) minmax(115px,.72fr) minmax(98px,.42fr)!important;gap:.5rem!important;align-items:center!important;width:100%;max-width:100%;min-width:0;padding:.65rem!important;box-sizing:border-box}
.bank-account-data-toolbar>*,.bank-account-data-search{min-width:0;max-width:100%}
.bank-account-data-toolbar .enterprise-control{min-width:0;width:100%;font-size:.86rem;padding-top:.42rem;padding-bottom:.42rem}
.bank-account-page-size{display:grid!important;grid-template-columns:auto minmax(58px,1fr);align-items:center;gap:.3rem;min-width:0;margin:0;font-size:.78rem;white-space:nowrap}
.bank-account-page-size select{width:100%!important;min-width:58px}
.bank-page-inline-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;min-height:36px}
.bank-page-inline-section,.bank-page-inline-context{color:#1764dc;font-size:.8rem;line-height:1;font-weight:900;letter-spacing:.08em}
.bank-page-inline-separator{width:5px;height:5px;border-radius:50%;background:#2f7c7b;box-shadow:0 0 0 4px rgba(47,124,123,.12)}
.bank-page-inline-slash{color:#8ba0b6;font-size:1.15rem;font-weight:300}
.bank-page-inline-heading .enterprise-page-title{font-size:1.35rem;line-height:1.15}
@media(max-width:991.98px){.bank-account-data-toolbar{grid-template-columns:1fr 1fr!important}.bank-account-data-search{grid-column:1/-1}.bank-account-page-size{grid-column:auto}}
@media(max-width:575.98px){.bank-account-data-toolbar{grid-template-columns:1fr!important}.bank-account-data-search{grid-column:auto}.bank-page-inline-heading{gap:.4rem}.bank-page-inline-section,.bank-page-inline-context{font-size:.7rem}.bank-page-inline-heading .enterprise-page-title{font-size:1.05rem}}

.bank-form-balance-list{display:block;width:100%;padding:0;overflow:visible;border:0}.bank-form-balance-card{width:100%;min-height:0;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:8px 10px;border-radius:12px}.bank-form-balance-card .bank-company-balance-icon{width:32px;height:32px;font-size:15px}.bank-form-balance-card .bank-company-balance-content>b{margin-top:2px;font-size:12px}.bank-form-balance-card .bank-company-balance-content>small,.bank-form-balance-card footer{font-size:8px}.bank-movement-data-toolbar{grid-template-columns:minmax(125px,.55fr) minmax(190px,1.25fr) minmax(150px,.85fr) minmax(92px,.4fr)!important;align-items:center!important;gap:7px!important}.bank-movement-data-toolbar>*{min-width:0}.bank-movement-data-toolbar .enterprise-control{width:100%;min-width:0}.bank-movement-search-field{min-width:0}.bank-movement-page-size{display:grid;grid-template-columns:auto minmax(55px,1fr);gap:.3rem;align-items:end;min-width:0;margin:0;font-size:9px;font-weight:700;white-space:nowrap}.bank-movement-data-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-top:1px solid #e7ebf1;color:#64748b;font-size:.82rem}.bank-movement-row-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}.bank-movement-row-actions form{display:inline-flex;margin:0}.bank-movement-row-actions .btn{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:4px!important;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.bank-movement-table-wrap tbody td{padding-top:6px!important;padding-bottom:6px!important}@media(max-width:991.98px){.bank-movement-data-toolbar{grid-template-columns:1fr 1fr!important}.bank-movement-search-field{grid-column:1/-1}.bank-form-balance-list{margin-bottom:.75rem!important}}@media(max-width:575.98px){.bank-movement-data-toolbar{grid-template-columns:1fr!important}.bank-movement-search-field{grid-column:auto}.bank-movement-data-footer{align-items:flex-start;flex-direction:column}}

#bank-transfer-table .bank-movement-amount { width:24%; min-width:190px; white-space:nowrap; }
