
/* Couleurs ESG */
:root {
  --esg-green: #2E8B57; /* Vert foncé */
  --esg-light-green: #90EE90; /* Vert clair */
  --esg-white: #FFFFFF;
  --esg-gray: #F4F4F4;
  --esg-dark-gray: #333333;
}

body {
  font-family: Arial, sans-serif;
  background-color: var(--esg-gray);
  margin: 0;
  padding: 0;
}

header {
  background-color: var(--esg-green);
  color: var(--esg-white);
  padding: 20px;
  text-align: center;
}

.container {
  max-width: 1500px;
  margin: 20px auto;
  padding: 20px;
  background-color: var(--esg-white);
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
time {
  float: right;
  margin: .5em;
  font-size: 0.9em;
  color: #888;
}
section {
  display: block;
  margin: 0 .5em;
}
section p,
section pre {
  margin: 1em;
}
pre {
  font: inherit;
  border: 1px solid #ABC;
  padding: .5em;
  font-size: .8em;
}
code {
  white-space: pre-wrap;
}
.drag-over {
  background: #EEF;
}
.zone-groupe {
  display: flex;
  flex-wrap: wrap;
  font-size:8px;
}
.zone-groupe > div {
  flex: 0 0 33.33%;
}
li {
  position: relative;
  display: block;
  margin: .5em;
  padding: .5em;
  border-radius: .25em;
  border: 1px dotted #999;
  list-style: none;
  background: #EEE;
}

*[draggable=true] {
  cursor: move;
  -moz-user-select: none;
  -khtml-user-drag: element;
}
li[draggable=true]:hover {
  border-color: #333;
  background: #CDE;
}
.drop-zone {
  margin: 1em;
  padding: 0;
  min-height: 2em;
  min-width: 5em;
  border: 1px solid #ABC;
  font-size: .8em;
  font-size:10px;
}
.liste-origine {
  display: flex;
  flex-wrap: wrap;
  min-height: auto;
}
.liste-origine li {
  width: 10em;
  margin: .25em;
  min-width: auto;
}
.btn-close {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1em;
  height: 1em;
  margin: .125em;
  padding: .125em;
  border: 2px solid currentColor;
  border-radius: 50%;
  text-align: center;
  font-weight: bold;
  line-height: 1em;
  color: #BBB;
  transform: rotate(-45deg);
  cursor: pointer;
}
.btn-close:hover {
  color: #FFF;
  background: #F00;
}
.buttons {
  text-align: center;
  margin-top: 20px;
}

.buttons button {
  background-color: var(--esg-green);
  color: var(--esg-white);
  border: none;
  padding: 10px 20px;
  margin: 5px;
  border-radius: 5px;
  cursor: pointer;
}

.buttons button:hover {
  background-color: var(--esg-light-green);
}
.liste-origine .btn-close {
  display: none;
}
footer {
  text-align: center;
  padding: 20px;
  background-color: var(--esg-green);
  color: var(--esg-white);
  margin-top: 20px;
}

.loading {
  display: none;
  text-align: center;
  margin-top: 20px;
}

.loading-spinner {
  border: 4px solid var(--esg-gray);
  border-top: 4px solid var(--esg-green);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: spin 1s linear infinite;
  margin: 0 auto;
}
.preview-section table, .mapped-preview-section table, .history-section table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.preview-section th, .preview-section td, .mapped-preview-section th, .mapped-preview-section td, .history-section th, .history-section td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

.preview-section th, .mapped-preview-section th, .history-section th {
  background-color: var(--esg-green);
  color: var(--esg-white);
}

input[type="text"], input[type="password"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
}

input[type="submit"] {
  background-color: var(--esg-green);
  color: var(--esg-white);
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

input[type="submit"]:hover {
    background-color: #0056b3;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
