:root{--fond:#0b0b10;--fond-panneau:#0f0f16;--surface:#14141c;--bordure:#272736;--bordure-forte:#3a3a4d;--texte:#f2f2f5;--attenue:#9a9cad;--vert:#4ade80;--vert-fond:#12301f;--ambre:#fbbf24;--ambre-fond:#3a2a0e;--ambre-ligne:#2a210e;--ambre-bord:#6b5316;--bleu:#8fb0ff;--bleu-fond:#1b2540;--gris-fond:#222230;--police:"DM Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--fond);color:var(--texte);font-family:var(--police);margin:0}h1{letter-spacing:-.6px;margin:6px 0 0;font-size:30px;font-weight:700}h2{margin:0 0 12px;font-size:16px}p{margin:0}button{font-family:inherit}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:14px;padding:20px}.attenue{color:var(--attenue)}.petit{font-size:13px}.gras{font-weight:700}.mono{font-family:var(--mono);font-size:13px}.tronque{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.surtitre{color:var(--attenue);letter-spacing:.4px;font-size:13px;font-weight:700}.ligne-flex{gap:16px;display:flex}.colonne-flex{flex-direction:column;display:flex}.grand-chiffre{margin-top:6px;font-size:20px;font-weight:700}.bouton{border:1px solid var(--bordure-forte);height:40px;color:var(--texte);font:700 14px var(--police);cursor:pointer;background:0 0;border-radius:10px;padding:0 18px}.bouton:disabled{opacity:.4;cursor:not-allowed}.bouton.principal{background:var(--texte);color:var(--fond);border-color:var(--texte)}.bouton.petit-bouton{height:32px;padding:0 12px;font-size:13px}.puce{white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.puce.ok{background:var(--vert-fond);color:var(--vert)}.puce.attention{background:var(--ambre-fond);color:var(--ambre)}.puce.info{background:var(--bleu-fond);color:var(--bleu)}.puce.neutre{background:var(--gris-fond);color:var(--attenue)}.puce.active{background:var(--texte);color:var(--fond)}button.puce{cursor:pointer;border:0;font-family:inherit}.rang{border-top:1px solid var(--bordure);align-items:center;gap:8px;padding:12px 0;font-size:14px;display:flex}.rang.entete{border-top:0;padding-top:0}.rang.surligne{background:var(--ambre-ligne);margin:0 -12px;padding-left:12px;padding-right:12px}.jauge{background:var(--bordure);border-radius:4px;width:100%;height:6px}.jauge>i{background:var(--texte);border-radius:4px;height:100%;display:block}.depot{border:2px dashed var(--bordure-forte);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.depot.survol{border-color:var(--texte)}.coquille{flex-direction:column;min-height:100%;display:flex}.entete-app{border-bottom:1px solid var(--bordure);justify-content:space-between;align-items:center;padding:18px 36px;display:flex}.etapes{align-items:center;gap:14px;display:flex}.etape{color:var(--attenue);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.etape.atteinte{color:var(--texte)}.pastille{border:1px solid var(--bordure-forte);width:28px;height:28px;color:var(--attenue);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.pastille.courante{border:2px solid var(--texte);color:var(--texte)}.pastille.faite{background:var(--texte);color:var(--fond);border-color:var(--texte)}.trait{background:var(--bordure-forte);width:48px;height:1px}.corps{flex:1;min-height:0;display:flex}.zone-principale{flex-direction:column;flex:1;gap:20px;min-width:0;padding:32px 40px;display:flex}.barre-actions{justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;display:flex}.assistant{border-left:1px solid var(--bordure);background:var(--fond-panneau);flex-direction:column;width:340px;padding:24px;display:flex}.message{margin-bottom:12px;padding:14px;font-size:13px;line-height:1.55}.champ{border:1px solid var(--bordure-forte);height:44px;color:var(--texte);font:14px var(--police);background:#0f0f16;border-radius:10px;width:100%;padding:0 14px}.erreur{color:#fca5a5;border-color:#7f1d1d}.chargement{color:var(--attenue);font-size:14px}@media (width<=1000px){.corps{flex-direction:column}.assistant{border-left:0;border-top:1px solid var(--bordure);width:auto}.etapes .trait,.etape span{display:none}.zone-principale{padding:24px 16px}.entete-app{padding:16px}.ligne-flex.adaptable{flex-direction:column}}
