/* /httpdocs/assets/css/style.css - Thème Minimaliste Pro */

/* --- Variables --- */
:root {
    --couleur-primaire: #4A90E2; /* Bleu doux mais distinct */
    --couleur-primaire-hover: #357ABD;
    --couleur-texte-principal: #24292e; /* Gris très foncé (type GitHub) */
    --couleur-texte-secondaire: #586069; /* Gris moyen */
    --couleur-fond-page: #f6f8fa; /* Fond très légèrement gris */
    --couleur-fond-element: #ffffff; /* Blanc */
    --couleur-bordure: #d1d5da; /* Gris bordure */
    --couleur-bordure-legere: #e1e4e8;
    --couleur-succes: #28a745;
    --couleur-alerte: #dbAB09; /* Jaune/Or */
    --couleur-danger: #d73a49; /* Rouge GitHub */
    --radius-standard: 4px; /* Coins légèrement arrondis */
    --shadow-leger: 0 1px 0 rgba(27,31,35,.04);
    --shadow-standard: 0 1px 0 rgba(27,31,35,.1);
}

/* --- Base & Typographie --- */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; /* Police type GitHub/Apple */
    background-color: var(--couleur-fond-page);
    color: var(--couleur-texte-principal);
    font-size: 14px; /* Taille de base légèrement réduite */
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--couleur-texte-principal);
    font-weight: 600;
    margin-bottom: 1rem;
}
h2 { font-size: 1.5em; margin-top: 1.5rem; } /* Espacement au-dessus des titres H2 */

p { color: var(--couleur-texte-secondaire); }

a { color: var(--couleur-primaire); text-decoration: none; }
a:hover { color: var(--couleur-primaire-hover); text-decoration: underline; }

/* --- Barre de Navigation --- */
.navbar {
    background-color: #f6f8fa !important; /* Même gris clair que le fond */
    border-bottom: 1px solid var(--couleur-bordure-legere);
    box-shadow: none; /* Pas d'ombre */
    padding: 0.75rem 0; /* Ajustement padding vertical */
}
.navbar .navbar-brand {
    color: var(--couleur-texte-principal);
    font-weight: 600; /* Marque en semi-gras */
    font-size: 1.15rem;
}
.navbar .nav-link {
    color: var(--couleur-texte-principal);
    font-weight: 500;
    padding: 0.5rem 0.75rem;
    margin: 0 0.25rem;
    border-radius: var(--radius-standard);
}
.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: var(--couleur-texte-principal);
    background-color: #eb F0F4; /* Gris très léger au survol */
    text-decoration: none;
}
/* Bouton Déconnexion (style plus discret) */
.navbar .btn {
    font-size: 0.875rem;
    color: var(--couleur-danger);
    border: none;
    background: none;
    padding: 0.5rem 0.75rem;
}
.navbar .btn:hover {
    color: #fff;
    background-color: var(--couleur-danger);
    border-radius: var(--radius-standard);
}
.navbar .navbar-text {
    color: var(--couleur-texte-secondaire);
    font-size: 0.875rem;
}

/* --- Conteneur Principal --- */
.container {
    max-width: 1140px; /* Limite la largeur sur grands écrans */
}

/* --- Cartes --- */
.card {
    background-color: var(--couleur-fond-element);
    border: 1px solid var(--couleur-bordure-legere);
    box-shadow: var(--shadow-leger);
    border-radius: var(--radius-standard);
    margin-bottom: 1.5rem;
}
.card-header {
    background-color: var(--couleur-fond-page); /* En-tête gris clair */
    border-bottom: 1px solid var(--couleur-bordure-legere);
    font-weight: 600;
    font-size: 1em; /* Taille de police standard */
    padding: 0.75rem 1rem;
    color: var(--couleur-texte-principal);
}
.card-body {
     padding: 1rem;
}

/* --- Tableaux --- */
.table {
    border-color: var(--couleur-bordure-legere);
    margin-bottom: 0;
}
.table thead {
    background-color: transparent; /* Pas de fond spécifique */
    color: var(--couleur-texte-secondaire);
    border-bottom: 1px solid var(--couleur-bordure);
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.table th { border-top: none; } /* Retire bordure haute des en-têtes */
.table th, .table td {
    padding: 0.75rem; /* Padding réduit pour plus de densité */
    vertical-align: middle;
    border-top-color: var(--couleur-bordure-legere);
}
.table tbody tr:nth-child(odd) { /* Lignes alternées (zèbre) */
    background-color: rgba(246, 248, 250, 0.5);
}
.table tbody tr:hover {
    background-color: rgba(74, 144, 226, 0.1); /* Bleu très léger au survol */
}
/* Style DataTables plus intégré */
.dataTables_wrapper { padding: 1rem 0; }
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter { margin-bottom: 1rem; }

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    font-size: 0.875rem;
    color: var(--couleur-texte-secondaire);
}
.dataTables_wrapper .form-control,
.dataTables_wrapper .form-select {
    font-size: 0.875rem;
    border-radius: var(--radius-standard);
    border-color: var(--couleur-bordure);
    box-shadow: var(--shadow-leger);
}
.page-item.active .page-link {
    background-color: var(--couleur-primaire);
    border-color: var(--couleur-primaire);
    color: white !important;
}
.page-link {
    color: var(--couleur-primaire);
    border-color: var(--couleur-bordure-legere);
}
.page-link:hover {
    background-color: var(--couleur-fond-page);
    border-color: var(--couleur-bordure-legere);
}

/* --- Boutons --- */
.btn {
    border-radius: var(--radius-standard);
    font-weight: 500;
    font-size: 0.875rem; /* Boutons légèrement plus petits */
    padding: 0.5rem 0.875rem;
    border: 1px solid transparent;
    transition: all 0.15s ease-in-out;
}
.btn-primary {
    background-color: var(--couleur-primaire);
    border-color: var(--couleur-primaire);
    color: white;
    box-shadow: var(--shadow-standard);
}
.btn-primary:hover {
    background-color: var(--couleur-primaire-hover);
    border-color: var(--couleur-primaire-hover);
    color: white;
}
.btn-danger {
    background-color: var(--couleur-danger);
    border-color: var(--couleur-danger);
    color: white;
}
.btn-danger:hover {
    background-color: #b31d28; /* Rouge plus foncé GitHub */
    border-color: #b31d28;
    color: white;
}
.btn-outline-secondary {
    color: var(--couleur-texte-principal);
    border-color: var(--couleur-bordure);
    background-color: var(--couleur-fond-element);
    box-shadow: var(--shadow-leger);
}
.btn-outline-secondary:hover {
    background-color: var(--couleur-fond-page);
    border-color: #c1c5ca; /* Bordure légèrement plus foncée au survol */
}

/* --- Badges de Statut --- */
.badge {
    padding: 0.3em 0.6em;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 1em; /* Badges arrondis (pilules) */
    border: 1px solid transparent;
}
.badge.bg-success { background-color: #e6ffed; color: #1f7a3b; border-color: #b7ebc3; } /* Vert pastel */
.badge.bg-warning { background-color: #fff9e6; color: #b38600; border-color: #ffe699; } /* Jaune pastel */
.badge.bg-danger { background-color: #ffeef0; color: #d73a49; border-color: #ffccd1; } /* Rouge pastel */

/* --- Formulaires --- */
.form-label {
    font-weight: 500;
    margin-bottom: 0.375rem;
    font-size: 0.875rem;
    color: var(--couleur-texte-principal);
}
.form-control, .form-select {
    border: 1px solid var(--couleur-bordure);
    border-radius: var(--radius-standard);
    box-shadow: var(--shadow-leger);
    font-size: 0.875rem;
    padding: 0.5rem 0.75rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control:focus, .form-select:focus {
    border-color: var(--couleur-primaire);
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.2); /* Ombre focus bleu */
    outline: none;
}
.form-select { /* Style flèche select */
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23586069' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
     background-repeat: no-repeat;
     background-position: right 0.75rem center;
     background-size: 16px 12px;
     appearance: none; /* Retire style natif */
}

/* --- Messages Utilisateur --- */
.alert {
    border-radius: var(--radius-standard);
    box-shadow: none;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    border-width: 1px;
    border-style: solid;
}
.alert-success { background-color: #e6ffed; border-color: #b7ebc3; color: #1f7a3b; }
.alert-warning { background-color: #fff9e6; border-color: #ffe699; color: #b38600; }
.alert-danger { background-color: #ffeef0; border-color: #ffccd1; color: #d73a49; }