@charset "UTF-8";
/* Styles are grouped by responsibility; responsive overrides load last. */
@import url("styles/base.53c2b01fab8f.css");
@import url("styles/shell.ec7dcaa018b0.css");
@import url("styles/components.7ed5612d2f60.css");
@import url("styles/operations.38d83d0783a7.css");
@import url("styles/login.2a82f28bb258.css");
@import url("styles/responsive.86011bbf9c11.css");
@import url("styles/dark.887d9352bf23.css");
@import url("styles/dark-overrides.02287ce4f46a.css");

.badge-waiting_woo, .badge-waiting_config { color: #854d0e; background: #fef3c7; }

.camera-trigger { margin-top: .65rem; }
.camera-dialog { width: min(640px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: 90vh; max-height: 90dvh; overflow-y: auto; text-align: left; }
.camera-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.camera-heading h2 { margin: 0; }
.camera-dialog select { width: 100%; margin: .5rem 0; }
#camera-torch { margin-bottom: .25rem; }
.camera-dialog video { display: block; width: 100%; max-height: 42vh; object-fit: contain; background: #111827; border-radius: 12px; margin: .75rem 0; }
.camera-dialog output { display: block; font-size: 1.4rem; overflow-wrap: anywhere; margin: .75rem 0; }
.camera-dialog [hidden] { display: none !important; }
.camera-dialog .button-row { flex-wrap: wrap; }


.provisioning-steps { margin: 0 0 1rem; padding-left: 1.25rem; display: grid; gap: .6rem; color: var(--muted, #4b5563); }
.provisioning-steps li { line-height: 1.5; }
.provisioning-steps small { display: block; margin-top: .35rem; }

/* Planche à imprimer : le premier geste de l'étape, qu'on ne doit pas chercher. */
.print-sheet-panel { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 0 0 1.1rem; padding: 1rem 1.1rem; background: var(--teal-soft); border: 1px solid #cfe9e1; border-radius: 10px; }
.print-sheet-panel > div { flex: 1 1 240px; min-width: 0; }
.print-sheet-panel > div > strong { display: block; color: #17322c; font-size: 14px; margin-bottom: .2rem; }
.print-sheet-panel p { margin: 0; color: var(--muted, #4b5563); font-size: 12px; line-height: 1.5; }
.button.print-sheet { min-height: 48px; padding: 12px 20px; font-size: 13px; background: white; color: var(--teal); border: 2px solid var(--teal); box-shadow: 0 2px 6px #087f7218; }
.button.print-sheet:hover { background: var(--teal); color: white; }
.button.print-sheet .icon { width: 20px; height: 20px; }
@media (max-width: 560px) { .button.print-sheet { width: 100%; } }

.duplicate-list { margin: .5rem 0 .75rem; padding-left: 1.1rem; display: grid; gap: .35rem; }

/* Suppression d'un compte ou d'une correspondance : à part du formulaire, pour ne pas la cliquer par erreur. */
.danger-zone { margin-top: 1rem; border-color: #f5d7d3; }
.danger-zone .card-body { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.danger-zone .card-body > div { flex: 1 1 280px; min-width: 0; }
.danger-zone strong { color: #8f3b35; }
.danger-zone .field-help { margin: .25rem 0 0; }

/* Bouton clair / sombre : la lune propose le sombre, le soleil propose le clair. */
.theme-toggle { margin: 0; display: inline-flex; }
.theme-toggle .theme-icon-light { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-icon-light { display: inline-flex; }
:root[data-theme="dark"] .theme-toggle .theme-icon-dark { display: none; }
.theme-toggle span { display: inline-flex; }

/* Photos manquantes avant l'impression : nommées, avec un bouton pour réessayer. */
.missing-photos { align-items: flex-start; margin: 0 0 1rem; }
.missing-photos p { margin: .2rem 0 .6rem; }
.missing-photos form { margin: 0; }

/* Commandes d'exercice : visibles d'un coup d'œil, impossibles à confondre avec une vraie. */
.training-tag { display: inline-block; margin-left: .45rem; padding: .1rem .45rem; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .04em; color: #fff; background: #7c3aed; vertical-align: middle; }
.training-panel { margin: 0 0 1rem; border: 2px dashed #a78bfa; border-radius: var(--radius, 13px); background: #f5f3ff; }
.training-panel > summary { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; padding: .85rem 1rem; cursor: pointer; }
.training-panel > summary .training-tag { margin-left: 0; }
.training-panel > summary small { flex-basis: 100%; color: #5b21b6; }
.training-body { display: grid; gap: .85rem; padding: 0 1rem 1rem; color: #2e1065; }
.training-body p { margin: 0; }
.training-steps { margin: .4rem 0 0; padding-left: 1.3rem; display: grid; gap: .35rem; line-height: 1.5; }
.training-result { display: flex; gap: .5rem; align-items: flex-start; padding: .6rem .75rem; border-radius: 10px; background: #ede9fe; }
.training-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .75rem; margin: .5rem 0; }
.training-codes figure { margin: 0; padding: .6rem; border-radius: 10px; background: #fff; border: 1px solid #ddd6fe; display: grid; gap: .3rem; }
.training-codes figcaption { font-size: .78rem; font-weight: 600; color: #5b21b6; }
.training-barcode { display: block; width: 100%; height: 56px; background: #fff; }
