/* =====================================================================
   ExpoBeton RDC — Édition 12 | Feuille de marque de la plateforme
   financière (adminfin.expobetonrdc.com)

   Chargée APRÈS assets/app.css : elle remappe les jetons --fin-* sur
   l'identité Édition 12 du site public (index.php) et corrige les
   valeurs codées en dur dans app.css qui échappent aux variables.

     - Indigo   #293172 (primaire)   Déclinaisons #1d2354 / #161b40
     - Orange   #F5A02B (accent)     Déclinaison  #d98a1a
     - Typographie Montserrat
     - Bords droits (border-radius 0) : signature du site public

   Le rouge #c22439 reste la couleur de statut « danger » : il n'est
   plus employé comme couleur de marque.
   ===================================================================== */

/* ------------------------------------------------------------------ */
/* 1. Jetons : remappage complet de la palette applicative             */
/* ------------------------------------------------------------------ */
:root {
    --fin-bleu:        #293172;   /* indigo Édition 12 */
    --fin-bleu-fonce:  #161b40;   /* indigo profond    */
    --fin-bleu-clair:  #3d47a0;
    --fin-ciel:        #5f8cff;   /* indigo lumineux (focus, accents) */
    --fin-jaune:       #F5A02B;   /* orange Édition 12 */
    --fin-jaune-texte: #b06f10;   /* orange assombri, lisible sur fond clair */
    --fin-rouge:       #c22439;   /* statut danger : inchangé */
    --fin-rouge-fonce: #9d1c2e;
    --fin-fond:        #f4f6f9;
    --fin-bord:        #e6e9f2;
    --fin-texte:       #2c3350;
    --fin-texte-doux:  #6c757d;
    --fin-rayon:       0;         /* bords droits, comme le site public */
    --fin-ombre:       0 2px 10px rgba(41,49,114,.08);
    --fin-lisere:      linear-gradient(90deg, #293172 0%, #F5A02B 100%);
}

/* ------------------------------------------------------------------ */
/* 2. Géométrie : bords droits partout                                 */
/*    Balayage universel + liste explicite : aucun arrondi ne survit  */
/*    (app.css, Bootstrap, styles inline).                            */
/* ------------------------------------------------------------------ */
body,
body *,
body *::before,
body *::after { border-radius: 0 !important; }

.fin-carte, .fin-kpi, .fin-kpi-icone, .fin-tableau, .fin-login, .fin-login-logo,
.fin-brand-logo, .fin-top-logo, .fin-burger, .fin-user-avatar, .fin-pre,
.fin-barre, .fin-barre span, .fin-chrono li::before,
.btn, .btn-primary, .form-control, .form-select, .form-check-input,
.input-group-text, .alert, .modal-content, .badge,
.pagination .page-link, .page-link { border-radius: 0 !important; }

/* ------------------------------------------------------------------ */
/* 3. Typographie Montserrat                                           */
/* ------------------------------------------------------------------ */
body,
.btn,
.form-control,
.form-select,
.fin-kpi-valeur,
.fin-top-titre h1 {
    font-family: 'Montserrat', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
.fin-kpi-valeur, .fin-top-titre h1, .fin-carte-tete h2,
.fin-login-marque h1, .fin-nav-lien, .btn { font-weight: 600; }
.fin-kpi-valeur { font-weight: 700; }

/* ------------------------------------------------------------------ */
/* 3. Corrections des valeurs codées en dur dans app.css               */
/* ------------------------------------------------------------------ */
::selection { background: rgba(245,160,43,.45); }

a:hover { color: var(--fin-jaune-texte); }

:focus-visible { outline-color: var(--fin-bleu); }
.fin-side :focus-visible,
.fin-login-page :focus-visible { outline-color: var(--fin-jaune); }

/* Boutons et formulaires : halos de focus alignés sur l'indigo clair */
.btn-primary {
    --bs-btn-disabled-bg: #8b91c2;      --bs-btn-disabled-border-color: #8b91c2;
    --bs-btn-focus-shadow-rgb: 95,140,255;
}
.btn-outline-secondary {
    --bs-btn-hover-bg: var(--fin-bleu); --bs-btn-hover-border-color: var(--fin-bleu);
    --bs-btn-active-bg: var(--fin-bleu-fonce); --bs-btn-active-border-color: var(--fin-bleu-fonce);
    --bs-btn-focus-shadow-rgb: 95,140,255;
}
.form-control:focus, .form-select:focus {
    border-color: var(--fin-ciel);
    box-shadow: 0 0 0 .2rem rgba(95,140,255,.22);
}
.input-group-text { background: #f2f4fb; color: var(--fin-bleu); }
.pagination { --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(95,140,255,.25); }
.page-link { border-radius: 0 !important; }

/* Barre latérale : dégradé indigo Édition 12 (le palier #10269c d'app.css
   est codé en dur, d'où la réécriture complète du fond). */
.fin-side {
    background: linear-gradient(180deg, #293172 0%, #1d2354 55%, #161b40 100%);
    color: #dfe4ff;
}
.fin-brand-text small { color: #aab3ee; }
.fin-nav-groupe { color: #9aa4e8; }
.fin-nav-lien { color: #d3d9ff; }
.fin-nav-lien.active { background: rgba(245,160,43,.16); box-shadow: inset 3px 0 0 var(--fin-jaune); }
.fin-nav-lien.active i { color: var(--fin-jaune); }
.fin-user-txt small { color: #9aa4e8; }
.fin-side-voile { background: rgba(22,27,64,.55); backdrop-filter: blur(4px); }

/* En-tête de page : cible du bouton burger élargie (44 px) */
.fin-burger { width: 44px; height: 44px; }
.fin-burger:hover { background: #f2f4fb; }

/* Cartes et indicateurs */
.fin-carte { border-top-color: var(--fin-bleu); }
.fin-kpi-icone { background: rgba(41,49,114,.08); color: var(--fin-bleu); }
.fin-kpi-or .fin-kpi-icone { background: rgba(245,160,43,.16); color: var(--fin-jaune-texte); }

/* Tableaux : en-têtes et pieds indigo */
.fin-tableau thead th {
    background: rgba(41,49,114,.06);
    color: var(--fin-bleu);
    border-bottom: 2px solid rgba(41,49,114,.35);
}
.fin-tableau thead th a:hover { color: var(--fin-jaune-texte); }
.fin-tableau tbody tr:hover { background: #f6f8fd; }
.fin-tableau tfoot td, .fin-tableau tfoot th, .fin-tableau tbody th {
    background: rgba(41,49,114,.06);
    border-top: 2px solid rgba(41,49,114,.35);
}

/* Chronologie */
.fin-chrono li::before { background: var(--fin-bleu); }

/* Barres de proportion : dégradé indigo → orange pour l'avancement */
.fin-barre-haute span { background: linear-gradient(90deg, var(--fin-bleu), var(--fin-jaune)); }

/* Connexion : fond héro cohérent avec la page d'accueil du site public */
.fin-login-page {
    background:
        radial-gradient(1100px 500px at 12% -10%, rgba(245,160,43,.22), transparent 60%),
        radial-gradient(900px 520px at 110% 110%, rgba(95,140,255,.28), transparent 55%),
        linear-gradient(135deg, #293172 0%, #1d2354 55%, #161b40 100%);
}
.fin-login { box-shadow: 0 18px 45px rgba(22,27,64,.45); }
.fin-login-marque h1 { color: var(--fin-bleu); }
/* CTA de connexion orange, identique à celui du panneau /admin */
.fin-login .btn-primary {
    background: var(--fin-jaune); border-color: var(--fin-jaune); color: #221a05;
}
.fin-login .btn-primary:hover, .fin-login .btn-primary:focus {
    background: var(--fin-jaune-texte); border-color: var(--fin-jaune-texte); color: #221a05;
}

/* ------------------------------------------------------------------ */
/* 4. Responsive : mêmes paliers qu'app.css, confort tactile en plus   */
/* ------------------------------------------------------------------ */
@media (max-width: 991.98px) {
    .fin-side { transition: transform .3s cubic-bezier(.4,0,.2,1); }
    .fin-nav-lien { padding: .7rem .6rem; } /* cibles >= 44 px */
}

@media (max-width: 767.98px) {
    .fin-login { padding: 1.6rem 1.35rem; }
    .fin-login-logo img { height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .fin-side, .fin-nav-lien, .btn { transition: none !important; }
}
