/* ==========================================================================
   Overrides Color Admin — BankIris
   ==========================================================================
   Le thème Color Admin v5.5.2 (Default Flat) rend les .btn-light
   avec un texte blanc sur fond gris très clair → illisibilité.
   On force ici un contraste correct pour tous les btn-light de l'app.
   -------------------------------------------------------------------------- */

.btn.btn-light {
    background-color: #f4f6f8;
    border-color: #d8dce0;
    color: #2c3e50;
}

.btn.btn-light:hover:not(:disabled),
.btn.btn-light:focus:not(:disabled) {
    background-color: #e6e9ec;
    border-color: #c5cad0;
    color: #1a232c;
}

.btn.btn-light:active:not(:disabled),
.btn.btn-light.active {
    background-color: #d8dce0 !important;
    border-color: #b3b9bf !important;
    color: #1a232c !important;
}

.btn.btn-light:disabled,
.btn.btn-light.disabled {
    background-color: #f4f6f8;
    border-color: #e1e5e8;
    color: #9aa3ab;
    opacity: 0.7;
}

/* Icône poubelle : on garde le rouge mais lisible. */
.btn.btn-light.text-danger {
    color: #d63031 !important;
}
.btn.btn-light.text-danger:hover:not(:disabled) {
    background-color: #fde2e2;
    border-color: #f5b3b3;
    color: #b51d1f !important;
}

/* ==========================================================================
   Drop zone — upload de PDFs par drag & drop ou click.
   ========================================================================== */
.bk-dropzone {
    position: relative;
    border: 2px dashed #cbd5e1;
    border-radius: 0.5rem;
    background-color: #f8fafc;
    padding: 2rem 1rem;
    text-align: center;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}
.bk-dropzone:hover {
    background-color: #f1f5f9;
    border-color: #94a3b8;
}
.bk-dropzone.is-dragover {
    background-color: #ccfbf1;
    border-color: #14b8a6;
    border-style: solid;
}
.bk-dropzone .bk-dropzone-input {
    /* L'InputFile natif couvre toute la zone — clic n'importe où l'ouvre. */
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.bk-dropzone-icon {
    font-size: 2.5rem;
    color: #14b8a6;
    margin-bottom: 0.5rem;
}

/* Pile de fichiers ajoutés sous la dropzone. */
.bk-file-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    background: #fff;
    margin-top: 0.5rem;
}
.bk-file-row + .bk-file-row { margin-top: 0.375rem; }
.bk-file-row .bk-file-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bk-file-row .bk-file-size {
    color: #64748b;
    font-size: 0.85em;
}

/* ==========================================================================
   Filtres Excel-like sur les en-têtes de colonne (Date, Catégorie)
   ========================================================================== */
.bk-filter-th { position: relative; }

.bk-filter-icon {
    cursor: pointer;
    opacity: 0.45;
    margin-left: 0.35rem;
    font-size: 0.85em;
    transition: opacity .12s, color .12s;
}
.bk-filter-icon:hover { opacity: 1; }
.bk-filter-icon.active {
    opacity: 1;
    color: #14b8a6;
}

.bk-filter-popup {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1040;
    min-width: 300px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    padding: 0.75rem;
    margin-top: 0.25rem;
    color: #1e293b;
    font-weight: normal;
    text-align: left;
    user-select: none;
}
.bk-filter-popup-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1039;
    background: transparent;
}
.bk-filter-popup .filter-list {
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #e2e8f0;
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
}
.bk-filter-popup .filter-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0.1rem;
    font-size: 0.875rem;
}
.bk-filter-popup .filter-row .filter-row-count {
    margin-left: auto;
    color: #64748b;
    font-size: 0.8em;
}
.bk-filter-popup .filter-row label {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
    cursor: pointer;
}
.bk-filter-popup .filter-divider {
    border-top: 1px solid #e2e8f0;
    margin: 0.4rem 0;
}

/* Bouton swap débit/crédit — discret, apparaît au hover sur la ligne. */
.bk-swap-btn {
    border: 0;
    background: transparent;
    padding: 0 0.25rem;
    color: #94a3b8;
    cursor: pointer;
    opacity: 0;
    transition: opacity .12s, color .12s;
    line-height: 1;
}
tr:hover .bk-swap-btn { opacity: 1; }
.bk-swap-btn:hover { color: #14b8a6; }

/* Sélecteur de taxonomie (Classique / Analyse RAC) — pendant teal. */
.btn.btn-outline-teal {
    background-color: transparent;
    border-color: #14b8a6;
    color: #0f766e;
}
.btn.btn-outline-teal:hover:not(:disabled) {
    background-color: #ccfbf1;
    border-color: #0d9488;
    color: #115e59;
}
.btn.btn-outline-teal.active,
.btn.btn-outline-teal:active:not(:disabled),
.btn-check:checked + .btn.btn-outline-teal {
    background-color: #14b8a6 !important;
    border-color: #0d9488 !important;
    color: #fff !important;
}

/* ===== Sidebar : icônes colorées par module ===== */
/* Bleu, vert, rouge, violet — logique métier (cf. MainLayout). */
/* Ciblage `.app-sidebar-minified .menu-link` couvert par .menu-icon, donc */
/* la couleur reste appliquée même quand la sidebar est compacte. */
.menu-icon .bk-icon-releve     { color: #3b82f6; }  /* bleu — transactions/banque */
.menu-icon .bk-icon-bulletin   { color: #10b981; }  /* vert — revenu qui rentre */
.menu-icon .bk-icon-avis       { color: #ef4444; }  /* rouge — fiscalité */
.menu-icon .bk-icon-historique { color: #8b5cf6; }  /* violet — archive */
.menu-icon .bk-icon-guide      { color: #0284c7; }  /* cyan — doc, neutre vs métier */

/* Item actif : on accentue légèrement la couleur (sans masquer le surlignage). */
.menu-item.active .menu-icon .bk-icon-releve     { color: #2563eb; }
.menu-item.active .menu-icon .bk-icon-bulletin   { color: #059669; }
.menu-item.active .menu-icon .bk-icon-avis       { color: #dc2626; }
.menu-item.active .menu-icon .bk-icon-historique { color: #7c3aed; }
.menu-item.active .menu-icon .bk-icon-guide      { color: #0369a1; }
