:root{--fond:#f6f7f9;--surface:#fff;--texte:#1b1f24;--texte-doux:#5b6470;--bordure:#dfe3e8;--accent:#1f6feb;--erreur:#b42318}*{box-sizing:border-box}body{background:var(--fond);color:var(--texte);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--accent)}main{max-width:60rem;margin:0 auto;padding:2rem 1.25rem}h1{margin:0 0 1.25rem;font-size:1.5rem}h2{margin:2rem 0 .75rem;font-size:1.1rem}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:8px;margin-bottom:1rem;padding:1.25rem}.grille{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}.stat-valeur{font-size:1.75rem;font-weight:600}.stat-libelle,.note{color:var(--texte-doux);font-size:.875rem}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--bordure);border-radius:8px;width:100%}th,td{text-align:left;border-bottom:1px solid var(--bordure);padding:.6rem .75rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--texte-doux);font-size:.8rem}tbody tr:last-child td{border-bottom:none}label{margin-bottom:.75rem;display:block}label span{color:var(--texte-doux);margin-bottom:.25rem;font-size:.875rem;display:block}input,select,textarea{border:1px solid var(--bordure);width:100%;font:inherit;background:var(--surface);color:var(--texte);border-radius:6px;padding:.5rem .625rem}textarea{resize:vertical;min-height:4rem}label.case{align-items:center;gap:.5rem;display:flex}label.case input{width:auto}label.case span{margin-bottom:0}.badge{color:var(--accent);background:#e7f0ff;border:1px solid #c7dbff;border-radius:999px;margin-right:.25rem;padding:.1rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-alerte{color:var(--erreur);background:#fdecea;border-color:#f5c6c0}button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:500}button:disabled{opacity:.6;cursor:progress}.erreur{color:var(--erreur);margin-bottom:.75rem;font-size:.875rem}.succes{color:#0f7b34;margin-bottom:.75rem;font-size:.875rem}.barre{background:var(--surface);border-bottom:1px solid var(--bordure);align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.barre .marque{font-weight:600}.barre nav{flex:1;gap:1rem;display:flex}.barre form{margin:0}.barre button{color:var(--texte-doux);background:0 0;padding:.25rem .5rem}
