/* SDT Outils : socle commun à tous les outils du site.
   Direction Signal : base claire, noir franc, vert / jaune / rouge à sens,
   filets 2px, ombres dures, Archivo + JetBrains Mono.
   Les jetons sont des propriétés personnalisées AVEC valeur de repli :
   si un environnement les supprime, la couleur de repli tient quand même. */

.sdt-outil{
  --sdt-ink:#101010;
  --sdt-paper:#ffffff;
  --sdt-shell:#f2f1ec;
  --sdt-green:#0a8f4f;
  --sdt-green-soft:#e3f5eb;
  --sdt-yellow:#ffd400;
  --sdt-red:#d2291a;
  --sdt-red-soft:#fbe6e3;
  --sdt-mute:#6b6b64;

  font-family:"Archivo","Archivo Variable",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--sdt-ink,#101010);
  background-color:var(--sdt-paper,#ffffff);
  border:2px solid var(--sdt-ink,#101010);
  box-shadow:5px 5px 0 var(--sdt-ink,#101010);
  margin:2rem 0;
  max-width:100%;
}
.sdt-outil *,.sdt-outil *::before,.sdt-outil *::after{box-sizing:border-box;}
.sdt-outil p,.sdt-outil dl,.sdt-outil dd,.sdt-outil dt,.sdt-outil ul,.sdt-outil li{margin:0;padding:0;}
.sdt-outil ul,.sdt-outil li{list-style:none;}

/* en-tete */
.sdt-outil__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;
  padding:.9rem 1.1rem;
  border-bottom:2px solid var(--sdt-ink,#101010);
  background-color:var(--sdt-yellow,#ffd400);
}
p.sdt-outil__name{font-size:1.05rem;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--sdt-ink,#101010);}
p.sdt-outil__scope{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sdt-ink,#101010);
}

/* formulaire */
.sdt-outil__form{padding:1.1rem;background-color:var(--sdt-shell,#f2f1ec);border-bottom:2px solid var(--sdt-ink,#101010);}
.sdt-outil__grid{display:grid;grid-template-columns:1fr;gap:.85rem;}
.sdt-outil__field{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.sdt-outil__field--wide{grid-column:1 / -1;}
.sdt-outil__label{font-size:.78rem;font-weight:600;line-height:1.3;color:var(--sdt-ink,#101010);}
p.sdt-outil__hint{font-size:.7rem;color:var(--sdt-mute,#6b6b64);line-height:1.35;}
.sdt-outil__control{display:flex;border:2px solid var(--sdt-ink,#101010);background-color:var(--sdt-paper,#ffffff);}

.sdt-outil input,.sdt-outil select{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.92rem;color:var(--sdt-ink,#101010);line-height:1.3;
  border:0;background-color:transparent;padding:.55rem .6rem;width:100%;min-width:0;
  border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;
}
.sdt-outil select{
  font-family:"Archivo","Archivo Variable",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:600;padding-right:2rem;
  background-image:linear-gradient(45deg,transparent 50%,#101010 50%),linear-gradient(135deg,#101010 50%,transparent 50%);
  background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.sdt-outil__side{
  border-left:2px solid var(--sdt-ink,#101010);
  background-color:var(--sdt-shell,#f2f1ec);
  max-width:6.5rem;
}
.sdt-outil input:focus,.sdt-outil select:focus{outline:3px solid var(--sdt-ink,#101010);outline-offset:2px;}
.sdt-outil__unit{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;display:flex;align-items:center;padding:0 .6rem;white-space:nowrap;
  border-left:2px solid var(--sdt-ink,#101010);
  background-color:var(--sdt-shell,#f2f1ec);
  color:var(--sdt-ink,#101010);
}
.sdt-outil__unit--lead{border-left:0;border-right:2px solid var(--sdt-ink,#101010);}

.sdt-outil__reset{
  margin-top:.95rem;
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;
  background-color:transparent;border-radius:0;cursor:pointer;padding:.45rem .8rem;
  border:2px solid var(--sdt-ink,#101010);
  color:var(--sdt-ink,#101010);
}
.sdt-outil__reset:hover{background-color:var(--sdt-ink,#101010);color:var(--sdt-paper,#ffffff);}
.sdt-outil__reset:focus{outline:3px solid var(--sdt-ink,#101010);outline-offset:2px;}

/* ligne de formule */
p.sdt-outil__formula{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.76rem;line-height:1.6;padding:.7rem 1.1rem;overflow-x:auto;white-space:nowrap;
  background-color:var(--sdt-ink,#101010);
  color:var(--sdt-paper,#ffffff);
}
p.sdt-outil__formula b{color:var(--sdt-yellow,#ffd400);font-weight:400;}

/* resultats */
.sdt-outil__out{padding:1.1rem;}
dl.sdt-outil__headline{
  display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;flex-wrap:wrap;
  padding-bottom:.8rem;border-bottom:2px solid var(--sdt-ink,#101010);
}
dl.sdt-outil__headline dt{font-size:.78rem;font-weight:600;color:var(--sdt-ink,#101010);}
dl.sdt-outil__headline dd{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:1.7rem;font-weight:700;letter-spacing:-.02em;min-height:1.9rem;
  color:var(--sdt-ink,#101010);
}
dl.sdt-outil__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0 .6rem;border-bottom:2px solid var(--sdt-ink,#101010);}
.sdt-outil__stat{padding:.75rem 0;min-width:0;}
.sdt-outil__stat dt{font-size:.68rem;line-height:1.3;color:var(--sdt-mute,#6b6b64);}
.sdt-outil__stat dd{
  margin-top:.25rem;
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:1.1rem;font-weight:700;min-height:1.45rem;color:var(--sdt-ink,#101010);
}
.sdt-outil__stat--ok dd{color:var(--sdt-green,#0a8f4f);}
.sdt-outil__stat--alert dd{color:var(--sdt-red,#d2291a);}
p.sdt-outil__meta{
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;line-height:1.7;padding-top:.75rem;color:var(--sdt-mute,#6b6b64);
}

/* statut et note */
p.sdt-outil__status{display:block;padding:.8rem 1.1rem;font-size:.8rem;line-height:1.5;border-top:2px solid var(--sdt-ink,#101010);}
p.sdt-outil__status--ok{background-color:var(--sdt-green-soft,#e3f5eb);}
p.sdt-outil__status--ko{background-color:var(--sdt-red-soft,#fbe6e3);}
p.sdt-outil__status--idle{background-color:var(--sdt-shell,#f2f1ec);color:var(--sdt-mute,#6b6b64);}
p.sdt-outil__status b{font-weight:700;}
p.sdt-outil__note{padding:.7rem 1.1rem;font-size:.7rem;line-height:1.5;border-top:2px solid var(--sdt-ink,#101010);color:var(--sdt-mute,#6b6b64);}

@media (min-width:640px){
  .sdt-outil__grid{grid-template-columns:1fr 1fr;gap:.9rem 1rem;}
  dl.sdt-outil__headline dd{font-size:2rem;min-height:2.2rem;}
  .sdt-outil__stat dt{font-size:.72rem;}
  .sdt-outil__stat dd{font-size:1.15rem;}
}
