/* --- MISSION 44 (CORRIGÉ) : PETIT FICHIER (theme.css) --- */
/* Responsabilité unique : Esthétique, couleurs, police, "look & feel". */

/* --- Variables de Couleur (basées sur la maquette) --- */
:root {
    --color-primary: #003D5B; /* Bleu Marine (Maquette En-tête) */
    --color-accent: #00B4D8; /* Turquoise (Maquette Boutons/Sidebar) */
    --color-secondary: #E9ECEF; /* Gris clair (Boutons secondaires) */
    --color-danger: #dc3545; /* Rouge (Suppression) */
    
    --color-text: #212529;
    --color-text-light: #495057;
    --color-background: #F8F9FA; /* Blanc cassé */
    --color-container: #ffffff;
    --color-border: #DEE2E6; /* Gris doux */
    --color-input-bg: #fdfdfd;

    --font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.05);
    --border-radius: 6px; 
}

/* --- Style de base --- */
body {
    background-color: var(--color-background);
    font-family: var(--font-family-sans);
    color: var(--color-text);
}
.container {
    background-color: var(--color-container);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--color-border);
}

/* --- Logo --- */
.app-logo-container {
    text-align: center;
    padding-top: 10px;
}
.app-logo-container img {
    max-width: 150px;
    height: auto;
}

/* --- Titres --- */
h1 {
    text-align: center;
    color: var(--color-text);
    margin-top: 5px;
    margin-bottom: 30px;
    font-weight: 500;
}
h2 {
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-border);
    margin-top: 30px;
    font-weight: 600;
}

/* --- Modernisation des Boutons --- */
button, 
.btn-save-site, 
.photo-upload-label {
    font-family: var(--font-family-sans);
    font-size: 0.95em;
    padding: 10px 16px;
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: background-color 0.2s, box-shadow 0.2s;
    font-weight: 500;
    box-shadow: var(--shadow-sm);
    border: 1px solid transparent; /* Pour l'alignement */
}

/* Bouton Primaire (Bleu Marine) */
button[type="submit"],
#btn-save,
.btn-save-site,
#btn-admin-sites,
#btn-admin-salaries,
#btn-admin-controleurs {
    background-color: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}
button[type="submit"]:hover,
#btn-save:hover,
.btn-save-site:hover,
#btn-admin-sites:hover,
#btn-admin-salaries:hover,
#btn-admin-controleurs:hover {
    background-color: #002a45; /* Plus foncé */
    border-color: #002a45;
}

/* Bouton Accent (Turquoise) */
#btn-new-controle,
#btn-start-new-visit,
#btn-start-cv-visit,
#btn-print {
    background-color: var(--color-accent);
    color: white;
    border-color: var(--color-accent);
}
#btn-new-controle:hover,
#btn-start-new-visit:hover,
#btn-start-cv-visit:hover,
#btn-print:hover {
    background-color: #009ac1; /* Plus foncé */
    border-color: #009ac1;
}

/* Bouton Secondaire (Gris clair) */
#btn-reset,
#btn-cancel,
#btn-logout-list,
#btn-admin-panel,
#btn-admin-back-to-list,
.photo-upload-label,
.btn-export-json {
    background-color: var(--color-secondary);
    color: var(--color-text-light);
    border-color: #ced4da;
}
#btn-reset:hover,
#btn-cancel:hover,
#btn-logout-list:hover,
#btn-admin-panel:hover,
#btn-admin-back-to-list:hover,
.photo-upload-label:hover,
.btn-export-json:hover {
    background-color: #dee2e6;
    border-color: #b6bfc8;
}

/* Boutons de suppression (Rouge) */
.btn-delete-site {
    background-color: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
    margin-left: 8px; 
}
.btn-delete-site:hover {
    background-color: #f1b0b7;
}

/* (CORRIGÉ Mission 44) Bouton Suppr Photo (X) */
.btn-delete-photo {
    background-color: var(--color-danger);
    border-color: var(--color-container);
}
.btn-delete-photo:hover {
    background-color: #c82333;
}

/* --- Modernisation des Onglets (Bleu Accent) --- */
.tab-bar {
    border-bottom: 2px solid var(--color-border);
    margin-top: 30px;
    margin-bottom: 20px;
}
.tab-link {
    padding: 12px 20px;
    color: var(--color-text-light);
    font-weight: 600;
    font-size: 0.95em;
    border-bottom: 3px solid transparent;
    background-color: transparent;
    border: none;
}
.tab-link.active {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

/* --- Modernisation des Champs de Formulaire --- */
input[type="text"],
input[type="email"],
input[type="password"],
select,
.comment-box {
    font-family: var(--font-family-sans);
    font-size: 1em;
    padding: 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    background-color: var(--color-input-bg);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
}
input:read-only,
select:disabled,
.comment-box:disabled {
    background-color: var(--color-secondary);
    color: #6c757d;
}

/* (CORRIGÉ Mission 44) Smiley Actif */
.smiley-label input[type="radio"]:checked + .smiley { 
    border-color: var(--color-primary);
}

/* (CORRIGÉ Mission 44) Erreur Login */
#login-error {
    color: var(--color-danger);
}

/* --- Modernisation des Tableaux (Admin/Dashboard) --- */
.admin-table-wrapper,
.dashboard-table-wrapper {
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
}
.admin-table th, .dashboard-table th {
    background-color: #f8f9fa;
    font-weight: 600;
    color: var(--color-primary);
}
.admin-table tr:nth-child(even),
.dashboard-table tr:nth-child(even) {
    background-color: #fdfdfd;
}
