/**
 * Taxonomie — Styles de la page de gestion de la taxonomie
 *
 * Arbre hiérarchique des catégories, détection de changements,
 * sélection de catégories synchronisées et import CSV/caisse.
 *
 * @file        cc-taxonomie.css
 * @package     CaisseConnect
 * @subpackage  CSS\Pages
 * @since       0.9
 * @version     0.9
 * @author      Microlibre <contact@microlibre.net>
 * @copyright   2026 Microlibre
 * @license     GPL-2.0+ https://www.gnu.org/licenses/gpl-2.0.html
 * @link        https://microlibre.net/caisse-connect
 */

/* ========================================
   CONTENEUR PRINCIPAL TAXONOMIE SITE
   ======================================== */

#cc-taxonomie-site-container {
    max-width: 800px;
}

.cc-taxonomie-options {
    margin-top: 20px;
}

.cc-carte-label .cc-icone-information {
    margin-left: 8px;
}

/* Progress upload */
#cc-upload-progress {
    margin-top: 10px;
    color: var(--cc-secondary, #0073aa);
}

#cc-upload-progress .spinner {
    float: none;
    margin-right: 5px;
}

/* ========================================
   ARBRE TAXONOMIE - Table de synchronisation
   ======================================== */

.cc-taxonomie-table {
    border-collapse: collapse;
    margin-top: 15px;
}

.cc-taxonomie-table thead th {
    background-color: var(--cc-gray-200, #f5f5f5);
    font-weight: 600;
    padding: 10px 5px;
    border-bottom: 2px solid var(--cc-border-color, #ddd);
}

.cc-taxonomie-table tbody tr {
    border-bottom: 1px solid var(--cc-gray-350, #eee);
}

.cc-taxonomie-table tbody tr:hover {
    background-color: var(--cc-gray-100, #f9f9f9);
}

.cc-taxonomie-row td {
    padding: 8px 5px;
    vertical-align: middle;
}

/* Checkboxes de synchronisation */
.cc-cat-sync-checkbox,
.cc-cat-exp-checkbox {
    cursor: pointer;
    margin: 0;
    width: 18px;
    height: 18px;
}

/* Style selon le niveau de categorie */
.cc-taxonomie-row[data-niveau="1"] {
    font-weight: 600;
}

.cc-taxonomie-row[data-niveau="2"] {
    font-weight: 500;
}

.cc-taxonomie-row[data-niveau="3"] {
    font-weight: 400;
    color: var(--cc-gray-700, #666);
}

/* Headers avec checkboxes */
.cc-taxonomie-table thead input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* ========================================
   GESTION DES CHANGEMENTS DE TAXONOMIE
   ======================================== */

#cc-changements-taxonomie {
    background: var(--cc-white, #fff);
    padding: 20px;
    border: 1px solid var(--cc-wp-border-light, #c3c4c7);
    border-radius: var(--cc-border-radius, 4px);
}

#cc-changements-taxonomie h3 {
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--cc-gray-350, #eee);
}

/* Boutons */
#cc-btn-verifier-changements,
#cc-btn-appliquer-changements {
    margin-right: 10px;
}

/* Spinner */
#cc-spinner-changements.is-active {
    visibility: visible;
}

/* Resultats */
#cc-resultat-changements {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--cc-gray-350, #eee);
}

/* Sections de changements */
.cc-changement-section {
    margin-bottom: 15px;
    padding: 15px;
    background: var(--cc-white, #fff);
    border-radius: var(--cc-border-radius, 4px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.cc-changement-section h4 {
    margin: 0 0 10px 0;
    font-size: var(--cc-font-size-md, 14px);
}

.cc-changement-section ul {
    margin: 0;
    padding-left: 20px;
}

.cc-changement-section li {
    margin-bottom: 5px;
    line-height: 1.5;
}

/* Notice taxonomie dans admin */
.cc-notice-taxonomie-changements {
    padding: 10px 15px;
}

.cc-notice-taxonomie-changements ul {
    margin: 10px 0 10px 20px;
}

.cc-notice-taxonomie-changements li {
    margin-bottom: 3px;
}

/* Historique (details/summary) */
#cc-changements-taxonomie details {
    margin-top: 10px;
}

#cc-changements-taxonomie summary {
    cursor: pointer;
    color: var(--cc-secondary, #0073aa);
    font-weight: 500;
}

#cc-changements-taxonomie summary:hover {
    color: var(--cc-secondary-dark, #005a87);
    text-decoration: underline;
}

/* Messages inline */
.notice.inline {
    margin: 0;
}

/* ========================================
   ERREUR DE CONNEXION CAISSE
   ======================================== */

.cc-taxonomie-erreur-connexion {
    text-align: center;
    padding: 40px 20px;
}

.cc-taxonomie-erreur-connexion p {
    color: var(--cc-gray-600, #999);
}

.cc-taxonomie-erreur-connexion p:first-child {
    font-size: 16px;
    color: var(--cc-error, #dc3545);
    margin-bottom: 20px;
}

/* ========================================
   CONTAINER DE CHARGEMENT
   ======================================== */

.cc-loading-container {
    text-align: center;
    padding: 40px;
}

.cc-loading-container .spinner {
    float: none;
    margin: 0 auto 20px;
}

/* ========================================
   NOTES INFO / WARNING DANS RESULTATS
   ======================================== */

.cc-taxonomie-note-warning {
    padding: var(--cc-spacing-md, 15px);
    margin-top: var(--cc-spacing-md, 15px);
    background: var(--cc-warning-bg, #fff3cd);
    border-left: 4px solid var(--cc-warning, #ffc107);
    border-radius: var(--cc-border-radius, 4px);
}

.cc-taxonomie-note-info {
    padding: var(--cc-spacing-md, 15px);
    margin-top: var(--cc-spacing-md, 15px);
    background: var(--cc-info-alt-bg, #e7f3fe);
    border-left: 4px solid var(--cc-info-alt, #2196f3);
    border-radius: var(--cc-border-radius, 4px);
}

/* ========================================
   VARIANTES DE COULEUR PAR TYPE DE CHANGEMENT
   ======================================== */

.cc-changement-section--suppression { border-left: 4px solid var(--cc-error, #dc3545); }
.cc-changement-section--suppression h4 { color: var(--cc-error, #dc3545); }

.cc-changement-section--ajout { border-left: 4px solid var(--cc-success, #28a745); }
.cc-changement-section--ajout h4 { color: var(--cc-success, #28a745); }

.cc-changement-section--renommage { border-left: 4px solid var(--cc-secondary, #0073aa); }
.cc-changement-section--renommage h4 { color: var(--cc-secondary, #0073aa); }

.cc-changement-section--deplacement { border-left: 4px solid var(--cc-purple, #826eb4); }
.cc-changement-section--deplacement h4 { color: var(--cc-purple, #826eb4); }

/* Texte secondaire dans les changements */
.cc-changement-meta {
    color: var(--cc-gray-600, #999);
}

/* Fleche de transition */
.cc-changement-fleche {
    font-weight: bold;
}

.cc-changement-section--renommage .cc-changement-fleche { color: var(--cc-secondary, #0073aa); }
.cc-changement-section--deplacement .cc-changement-fleche { color: var(--cc-purple, #826eb4); }

/* Texte de rapport */
.cc-rapport-warning {
    color: var(--cc-warning-text, #856404);
    font-weight: bold;
}

.cc-rapport-error {
    color: var(--cc-error, #dc3545);
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 782px) {
    .cc-carte-select {
        min-width: 100%;
    }
}
