/* Socle commun du site, repris de prototypes/commun/base.css. Les jetons sont dans jetons.css */

* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: var(--encre); font-family: var(--sans); }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-fonce); text-decoration: underline; }
input, select, button, textarea { font-family: inherit; color: var(--encre); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--encre) !important; box-shadow: 0 0 0 3px var(--accent-pale); }
button:focus-visible, a:focus-visible { outline: 2px solid var(--encre); outline-offset: 2px; }
.gris { color: var(--gris); }
.gris-fonce { color: var(--gris-fonce); }
.ok { color: var(--vert); }
.attente { color: var(--ambre); }
.alerte { color: var(--rouge); }

/* Éléments partagés */
.badge-ia { font: 600 10px var(--sans); letter-spacing: .06em; padding: 2px 5px; border-radius: 3px; background: var(--accent-pale); color: var(--accent-fonce); }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--encre); color: var(--fond); border-radius: 8px; padding: 12px 18px; font-size: 14px; display: flex; gap: 10px; align-items: center; box-shadow: 0 12px 32px rgba(29, 27, 24, .3); z-index: 40; max-width: calc(100vw - 32px); }
.toast-ok { color: var(--vert-clair); }
.toast-info { color: var(--accent-pale); }
.toast-alerte { color: #F2B8A8; }

/* Badges de statut d'une fiche (design system, section 07) */
.statut { font-size: 12px; padding: 3px 10px; border-radius: 999px; white-space: nowrap; border: 1px solid transparent; }
.statut.brouillon { background: var(--tag); color: var(--gris-fonce); }
.statut.a-completer { background: var(--statut-fond); color: var(--ambre); }
.statut.complete { background: var(--vert-pale); color: var(--vert); }
.statut.validee { background: var(--encre); color: var(--fond); }
.statut.attestee { background: #fff; color: var(--accent); border-color: var(--accent); }
.statut.attestee::before { content: '✓ '; }

/* Boutons et utilitaires partagés (repris de prototypes/editeur-fiche/styles.css) */
.btn { font-size: 14px; background: #fff; border: 1px solid var(--trait-fort); border-radius: 6px; padding: 9px 12px; cursor: pointer; display: inline-flex; gap: 7px; align-items: center; white-space: nowrap; color: var(--encre); }
.btn:hover { border-color: var(--gris); }
a.btn, a.btn:hover { color: var(--encre); text-decoration: none; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-petit { font-size: 13px; padding: 7px 11px; }
.btn-actif { background: var(--accent-pale); }
.btn-primaire { font-weight: 500; background: var(--accent); color: #fff; border: 0; padding: 10px 18px; }
.btn-primaire:hover { background: var(--accent-fonce); }
.visuellement-cache { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.messages { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.message { font-size: 14px; padding: 10px 14px; border-radius: 6px; background: var(--vert-pale); color: var(--vert); }
.message.error, .message.warning { background: var(--rouge-pale); color: var(--rouge); }
