:root { --encre: #1c2733; --brume: #5d6b7a; --ligne: #d9e0e7; --phare: #0f6e5d; --alerte: #a3352b; --fond: #f7f9fa; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.55 -apple-system, "Segoe UI", sans-serif; color: var(--encre); background: var(--fond); }
.entete { display: flex; gap: 1.5rem; align-items: center; padding: .75rem 1.25rem; background: #fff; border-bottom: 1px solid var(--ligne); }
.marque { font-weight: 700; color: var(--phare); }
.entete nav { display: flex; gap: 1rem; align-items: center; }
main { max-width: 60rem; margin: 1.5rem auto; padding: 0 1.25rem; }
a { color: var(--phare); }
button.lien { background: none; border: none; color: var(--phare); cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
form.en-ligne { display: inline; }
label { display: block; margin: .75rem 0 .25rem; font-weight: 600; }
input[type="text"], input[type="email"], input[type="password"], input[type="url"], textarea, select { width: 100%; max-width: 28rem; padding: .5rem; border: 1px solid var(--ligne); border-radius: 6px; font: inherit; }
button[type="submit"]:not(.lien) { margin-top: 1rem; padding: .55rem 1.1rem; background: var(--phare); color: #fff; border: none; border-radius: 6px; font: inherit; cursor: pointer; }
.erreur { background: #fbeaea; border: 1px solid var(--alerte); color: var(--alerte); padding: .6rem .9rem; border-radius: 6px; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: .5rem .75rem; border-bottom: 1px solid var(--ligne); }
.pastille { display: inline-block; padding: .1rem .55rem; border: 1px solid var(--ligne); border-radius: 999px; font-size: .85rem; color: var(--brume); }
.cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; }
.carte { background: #fff; border: 1px solid var(--ligne); border-radius: 8px; padding: 1rem; }
.carte .nombre { font-size: 2rem; font-weight: 700; }
.pied { text-align: center; color: var(--brume); padding: 2rem 0; font-size: .85rem; }
