/* =====================================================================
   Intranet — styles personnalisés (complète Bootstrap)
   ===================================================================== */
:root {
    --app-primary: #1f4e5f;      /* teinte "brasserie/atelier" sobre */
    --app-primary-dark: #163a47;
    --app-accent: #c8952b;
}

body {
    background-color: #f4f6f8;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main { flex: 1 0 auto; }

/* Barre de navigation */
.app-navbar {
    background-color: var(--app-primary);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}
.app-navbar .navbar-brand { color: #fff; }
.app-navbar .nav-link.active,
.app-navbar .dropdown-item.active {
    background-color: transparent;
    color: var(--app-accent) !important;
    font-weight: 600;
}
.app-navbar .dropdown-item.active { background-color: rgba(200,149,43,.12); }

/* Cartes / tableaux */
.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.card-header { background-color: #fff; border-bottom: 2px solid var(--app-primary); font-weight: 600; }
.table thead th { background-color: #eef2f4; white-space: nowrap; }
.table-hover tbody tr:hover { background-color: #f0f6f8; }

/* Boutons d'action dans les listes */
.btn-action { padding: .2rem .5rem; }

/* Page de connexion */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--app-primary) 0%, var(--app-primary-dark) 100%);
}
.login-card { width: 100%; max-width: 400px; }

/* Pied de page */
.app-footer {
    flex-shrink: 0;
    background-color: #fff;
    border-top: 1px solid #e3e8ec;
}

/* Badges d'état */
.badge-soft-success { background: #e4f5ea; color: #1b7a43; }
.badge-soft-warning { background: #fdf2dd; color: #8a5d00; }
.badge-soft-danger  { background: #fbe5e5; color: #a12626; }

/* Utilitaire : contenu long tronqué */
.truncate { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
