/* 09-buttons-progress.css — lignes 446-515 de l'ancien style.css unique, contenu inchangé */

/* ===========================
   BOUTONS
=========================== */

.primary-button{

margin-top:var(--space-6);

background:linear-gradient(135deg,var(--primary),var(--primary-dark));

color:var(--encre-bouton-plein);

border:none;

padding:15px 30px;

border-radius:var(--radius-md);

cursor:pointer;

font-size:16px;

font-weight:600;

transition:.3s;

display:inline-flex;

align-items:center;

gap:var(--space-3);

}

.primary-button:hover{

transform:translateY(-3px);

box-shadow:0 15px 30px rgba(37,99,235,.25);

}
/* ===========================
   PROGRESS BAR
=========================== */

.progress{

width:100%;

height:10px;

background:var(--border);

border-radius:var(--radius-full);

overflow:hidden;

margin-top:var(--space-3);

}

.progress-bar{

height:100%;

background:linear-gradient(90deg,var(--primary),var(--secondary));

border-radius:var(--radius-full);

}

/* ===========================
   VARIANTES DE BOUTON
   Ajoutées au Sprint 17A pour supprimer les styles en ligne et donner une
   vraie hiérarchie visuelle : une action destructive ne doit pas ressembler
   à une action neutre. Utilise le token --danger, jusqu'ici défini mais
   jamais employé.
=========================== */

.secondary-button,
.danger-button{
    margin-top:var(--space-6);
    color:var(--encre-bouton-plein);
    border:none;
    padding:var(--space-4) var(--space-8);
    border-radius:var(--radius-md);
    cursor:pointer;
    font-size:16px;
    font-weight:600;
    transition:.3s;
    display:inline-flex;
    align-items:center;
    gap:var(--space-3);
}

.secondary-button{
    background:var(--text-light);
}

.secondary-button:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 30px rgba(107,114,128,.25);
}

.danger-button{
    /* Le fond assombri, pas la couleur d'alerte du produit : blanc sur
       --danger donnait 3,76:1, mesuré dans un navigateur au Cycle 25. */
    background:var(--danger-fond);
}

.danger-button:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 30px rgba(239,68,68,.3);
}

/* Boutons compacts dans les listes de cartes : même règle que
   .mission-actions .primary-button, appliquée aux nouvelles variantes. */
.mission-actions .secondary-button,
.mission-actions .danger-button{
    margin-top:0;
    padding:var(--space-3) var(--space-4);
    font-size:14px;
    flex:1 1 auto;
    white-space:nowrap;
    justify-content:center;
}

/* Boutons de pied de modale : pas de marge supérieure, ils sont déjà espacés
   par le conteneur. */
.modal-footer .secondary-button,
.modal-footer .danger-button,
.modal-footer .primary-button{
    margin-top:0;
}

/* Bouton carré icône seule : même empreinte que les boutons de la topbar
   (48px, --radius-md — voir 05-topbar.css), réutilisée ici pour une action
   primaire (ex. créer un client sans quitter le formulaire Mission) plutôt
   que de créer un nouveau format de bouton pour une icône seule. Le fond
   dégradé de .primary-button est conservé : contrairement aux boutons de
   topbar (actions neutres), celui-ci déclenche une action de création. */
.primary-button.bouton-icone{
    margin-top:0;
    width:48px;
    height:48px;
    padding:0;
    flex:0 0 auto;
    justify-content:center;
}

/* Indicateur de chargement affiché dans un bouton pendant une opération */
.spinner-bouton{
    animation:spin 1s linear infinite;
}

/* ---------------------------------------------------------------------
   L'encre des boutons pleins — V3, Cycle 25, refondu au Cycle 133.

   Le constat du Cycle 25 tient : blanc sur le bleu éclairci du thème nuit
   donne 2,54:1, contre 4,5 exigés. Le thème sombre éclaircit ses accents
   pour qu'ils se détachent du fond — et un accent clair porte du texte
   foncé, pas du blanc. Trente-neuf éléments étaient sous le seuil, dont
   tous les boutons d'action : Calculer, Nouvelle mission, Facturer.

   Ce qui a changé : `--encre-bouton-plein` n'existait QUE la nuit, ce qui
   obligeait à réparer chaque aplat par une seconde règle `body.dark`
   énumérant les sélecteurs un à un. Cette liste était l'endroit exact
   qu'on oublie en ajoutant un bouton — et `.pastille-notifications`,
   `.avatar`, `.levier-rang` et `.menu-item.active` y avaient été oubliés.

   Le token est désormais défini dans les deux thèmes (blanc le jour,
   #0b1220 la nuit). Chaque aplat l'emploie directement, et il n'y a plus
   de liste à tenir à jour.
   --------------------------------------------------------------------- */

/* Le bouton de contour, lui, garde son texte coloré : il pose sur le
   fond du panneau, pas sur un aplat. */
body.dark .bouton-danger{
    color:var(--danger-texte);
}
