/* app.css — style personnalisé par-dessus Bootstrap 5 */

:root {
  --brand: #256181;
  --brand-2: #00B8B4;
}

body { background: #e8F7FA; }

/* Navbar */
.app-navbar { background: var(--brand); }
.app-navbar .nav-link { color: rgba(255, 255, 255, .75); }
.app-navbar .nav-link:hover { color: #fff; }
.app-navbar .nav-link.active { color: #fff; font-weight: 600; border-bottom: 2px solid var(--brand-2); }

/* Cartes KPI */
.kpi-card { border: 0; border-left: 4px solid var(--brand); border-radius: .6rem; }
.kpi-card .kpi-label { font-size: .78rem; color: #6b7a90; text-transform: uppercase; letter-spacing: .02em; }
.kpi-card .kpi-value { font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.kpi-card .kpi-sub { font-size: .8rem; color: #8693a5; }
.kpi-card.accent-warn { border-left-color: #c9851f; }
.kpi-card.accent-ok   { border-left-color: var(--brand-2); }

/* Montants alignés */
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.text-pos { color: #1f9d57; }
.text-neg { color: #d63b3b; }

/* Tables scrollables à en-tête figé */
.table-scroll { max-height: 460px; overflow: auto; }
.table-scroll thead th { position: sticky; top: 0; background: #fafcff; z-index: 1; }

.pill { font-size: .75rem; }

/* btn */
.btn-primary { background: var(--brand); border-color: var(--brand); }
.btn-primary:hover { background: var(--brand-2); border-color: var(--brand-2); }
.btn-secondary { background: var(--brand-2); border-color: var(--brand-2); }
.btn-secondary:hover { background: #FFF; border-color: var(--brand-2); color: var(--brand-2); }
.btn-outline-primary:hover { background: var(--brand); border-color: var(--brand); }
.btn-outline-primary { color: var(--brand); border-color: var(--brand); }

/* LOGIN */
.bg-body-primary { background: var(--brand); }
.form-signin { max-width: 450px; padding: 1rem; }