:root {
  color-scheme: light;

  /* Backgrounds */
  --bg: #2b2b2b;             /* Fond principal : gris foncé doux */
  --accent-bg: #383838;      /* Fond secondaire : légèrement plus clair */

  /* Texts */
  --text: #e0e0e0;           /* Texte principal : gris clair pour bon contraste */
  --text-light: #a5a5a5;     /* Texte secondaire : gris moyen */

  /* Accents (boutons, liens) */
  --accent: #4e7ac7;         /* Boutons / liens : bleu clair */
  --accent-hover: #7a9fd1;   /* Survol : bleu plus clair pour dynamiser sans agresser */
  --accent-text: #2b2b2b;    /* Texte sur boutons accentués */

  /* Code and preformatted */
  --code: #b5b5b5;           /* Code inline : gris doux */
  --preformatted: #404040;   /* Blocs de code : gris moyen */

  /* Disabled states */
  --disabled: #555555;       /* Pour les éléments désactivés */
}

body {
  grid-template-columns: 1fr min(75rem,90%) 1fr;
}

.display-none {
  display: none;
}

.display-block {
  display: block;
}

.display-inline {
  display: inline;
}

.border-dotted {
  border-style: dotted;
  border-width: 2px;
}

.margin-0 {
  margin: 0;
}

.margin-r-10 {
  margin-right: 10px;
}

.margin-r-30 {
  margin-right: 30px;
}

.margin-b-30 {
  margin-bottom: 30px;
}

.margin-b-10 {
  margin-bottom: 10px;
}

.margin-t-10 {
  margin-top: 10px;
}

.padding-20 {
  padding: 20px;
}

.flex-container {
  display: flex;
}

.flex-auto {
  flex: auto;
}

.flex-initial {
  flex: initial;
}

.text-align-left {
  text-align: left;
}

.text-align-right {
  text-align: right;
}

.w-40 {
  width: 40px;
}

.w-120 {
  width: 120px;
}

.font-size-12px {
  font-size: 12px;
}

#div-alert {
  opacity: 1;
  transition: opacity 1s;
  color: red;
}

#div-notice {
  opacity: 1;
  transition: opacity 1s;
  color: green;
}

label.required:after {
  content: "*";
}

.no-link, .no-link:visited {
  text-decoration: none;
  color: inherit;
}

/*Modal CSS*/
.modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #222;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.1);
  transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
  z-index: 100
}
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*background-color: #eeeeee;*/
  padding: 0.5rem;
  /*width: 24rem;*/
  border-radius: 0.5rem;
}
.close-button {
  float: right;
  width: 2rem;
  font-size: 2rem;
  line-height: 3rem;
  text-align: center;
  cursor: pointer;
  border-radius: 30px;
  /*background-color: #eeeeee;*/
}
.close-button:hover {
  background-color: #666;
}
.show-modal {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
.modal-trigger {
  cursor: pointer;
}
/*Fin Modal*/

/* Status indicators */
.status-succeeded {
  color: green;
}

.status-failed {
  color: red;
}

.status-screenshot-failed {
  color: orange;
}

.status-running {
  color: blue;
}

.status-pending {
  color: gray;
}
