:root{--cible:56px;--fond:#f5f5f0;--fond-carte:#fff;--texte:#1a1a1a;--texte-doux:#5a5a55;--bordure:#d4d4d4;--danger:#c0392b;--alerte:#e67e22;--succes:#27865a;--info:#2c6fa8;--rayon:12px;--ombre:0 1px 3px #0000001f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{color:var(--texte);background:var(--fond);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}h1{font-size:1.35rem}h2{font-size:1.1rem}a{color:var(--info)}.appli{max-width:640px;margin:0 auto;padding:12px 14px 96px}.entete{justify-content:space-between;align-items:center;gap:10px;padding:10px 0 14px;display:flex}.entete__titre{align-items:center;gap:8px;display:flex}.entete__logo{border-radius:8px;width:30px;height:30px}.carte{background:var(--fond-carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);margin-bottom:12px;padding:14px}.carte--danger{border-left:6px solid var(--danger)}.carte--alerte{border-left:6px solid var(--alerte)}.carte--info{border-left:6px solid var(--info)}.carte__titre{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.carte__meta{color:var(--texte-doux);font-size:.85rem}button,.bouton{min-height:var(--cible);width:100%;font:inherit;border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond-carte);color:var(--texte);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}.bouton--primaire{background:var(--texte);color:var(--fond);border-color:var(--texte)}.bouton--danger{background:var(--danger);color:#fff;border-color:var(--danger)}.bouton--discret{min-height:44px;font-weight:500}.boutons{gap:10px;display:grid}.boutons--deux{grid-template-columns:1fr 1fr}label{margin:14px 0 6px;font-weight:600;display:block}input[type=text],input[type=password],input[type=number],input[type=email],textarea,select{width:100%;min-height:var(--cible);font:inherit;color:var(--texte);border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond-carte);padding:12px}textarea{resize:vertical;min-height:96px}.case{min-height:var(--cible);border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--fond-carte);align-items:center;gap:12px;margin-bottom:8px;padding:8px 12px;font-weight:500;display:flex}.case input{flex:none;width:26px;height:26px}.case--cochee{border-color:var(--succes);background:#f2faf6}.bandeau{border-radius:var(--rayon);margin-bottom:12px;padding:12px 14px;font-weight:500}.bandeau--danger{border:1px solid var(--danger);color:#7d2119;background:#fdeceb}.bandeau--succes{border:1px solid var(--succes);color:#1c5d3f;background:#eef8f3}.bandeau--info{border:1px solid var(--info);color:#1d4c73;background:#eef4fa}.chrono{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1.1}.chrono--depassement{color:var(--danger)}.chrono__sous{color:var(--texte-doux);font-size:.85rem;font-weight:500}.etiquette{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-block}.etiquette--danger{background:var(--danger);color:#fff}.etiquette--alerte{background:var(--alerte);color:#fff}.etiquette--info{background:var(--info);color:#fff}.etiquette--neutre{color:var(--texte-doux);background:#e8e8e4}.nav{background:var(--fond-carte);border-top:1px solid var(--bordure);padding-bottom:env(safe-area-inset-bottom);z-index:10;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{min-height:var(--cible);color:var(--texte-doux);justify-content:center;align-items:center;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.nav a.actif{color:var(--texte);box-shadow:inset 0 3px 0 var(--texte)}.vide{text-align:center;color:var(--texte-doux);padding:32px 16px}.pile{gap:10px;display:grid}.ligne{justify-content:space-between;align-items:center;gap:10px;display:flex}.onglets{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.vignettes{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.vignettes img{object-fit:cover;border:1px solid var(--bordure);border-radius:8px;width:72px;height:72px}
