.card-l {
  margin: 2rem auto;
  background: #18161d;
  border: 1px solid #2a2735;
  border-radius: 20px;
  padding: 12px 12px;
  width: min(760px, 95vw);  /* élargi pour 2 colonnes */
  box-shadow: 0 40px 80px rgba(0,0,0,0.5);
}

.card {
  margin: 2rem auto;
  background: #18161d;
  border: 1px solid #2a2735;
  border-radius: 20px;
  padding: 12px 12px;
  width: min(760px, 95vw);  /* élargi pour 2 colonnes */
  box-shadow: 0 40px 80px rgba(0,0,0,0.5);
}
.card h1 {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-style: italic;
  font-size: 28px;
  color: #f0edf8;
  margin-bottom: 4px;
  letter-spacing: -0.5px;
}
.card p {
  font-size: 13px;
  color: #6b6578;
  margin-bottom: 36px;
}

.card-blanc {
  margin: 2rem auto;
  background: #ffffff !important;
  border: 1px solid #e0dce8;
  border-radius: 20px;
  padding: 12px 12px;
  width: min(760px, 95vw);
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
}

.card-blanc h1 {
  font-family: 'Fraunces', serif;
  font-weight: 300;
  font-style: italic;
  font-size: 28px;
  color: #1a1040;
  margin-bottom: 4px;
  letter-spacing: -0.5px;
}

.card-blanc label.field-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7a7090;
  margin-bottom: 0;
}

.card-blanc input[type="text"],
.card-blanc input[type="email"],
.card-blanc input[type="tel"],
.card-blanc input[type="password"] {
  background: #f5f3f8 !important;
  border: 1px solid #d0cce0 !important;
  color: #1a1040 !important;
}

.card-blanc input:focus {
  border-color: #7c5cbf;
  box-shadow: 0 0 0 3px rgba(124, 92, 191, 0.12);
}

.card-blanc a             { color: #7c5cbf; }
.card-blanc a:hover       { color: #5c7cbf; }
.card-blanc .btn          { width: 100%; }

.field {
  margin-bottom: 8px;
}

/* Classe de base : uniquement display:grid et gap */
.form-grid {
  display: grid;
  gap: 0 20px;
  /* PAS de grid-template-columns ici */
}

/* Fallback 1 colonne mobile, écrasé par les modificatrices en desktop */
@media (max-width: 619px) {
  .form-grid { grid-template-columns: 1fr; }
}

@media (min-width: 620px) {
  .form-grid          { grid-template-columns: 1fr; } /* défaut desktop si aucune modificatrice */
  .form-grid-2        { grid-template-columns: 1fr 1fr; }
  .form-grid-3        { grid-template-columns: 1fr 1fr 1fr; }
  .form-grid-4        { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .form-grid-4-2      { grid-template-columns: 2fr 1fr 1fr; }
  .form-grid-4-3      { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .form-grid-5        { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
  .form-grid-6        { grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }
  .form-grid-2-1      { grid-template-columns: 2fr 1fr; }
  .form-grid-1-2      { grid-template-columns: 1fr 2fr; }
  .form-grid-3-1      { grid-template-columns: 3fr 1fr; }
  .form-grid-3-2      { grid-template-columns: 3fr 1fr 1fr; }
}

.field-full { grid-column: 1 / -1; }
.field-2col { grid-column: span 2; }

.autocomplete-wrapper {
    position: relative;
}

.autocomplete-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #1e1e2e;
    border: 1px solid #444;
    border-radius: 6px;
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    z-index: 100;
    max-height: 220px;
    overflow-y: auto;
    display: none;
}

.autocomplete-list li {
    padding: 10px 14px;
    cursor: pointer;
    color: #e0e0e0;
    font-size: 0.9rem;
    border-bottom: 1px solid #2a2a3a;
    transition: background 0.15s;
}

.autocomplete-list li:hover,
.autocomplete-list li.active {
    background: #7c6af7;
    color: #fff;
}

select#collaborateur_role {
    background: #1e1e2e;      /* même fond que vos inputs */
    color: #e0e0e0;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 10px 14px;
    width: 100%;
    cursor: pointer;
    appearance: none;         /* supprime la flèche native du navigateur */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2300bcd4' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}
table {
    width: 100%;
    border-collapse: collapse;
    background-color: transparent; /* ou rgba(255,255,255,0.05) pour un léger voile */
    color: #e0e0e0; /* texte clair */
}

thead tr {
    border-bottom: 1px solid #00bcd4; /* cyan pour s'harmoniser avec ta nav */
}

th {
    text-align: left;
    padding: 2px 2px;
    color: #00bcd4; /* couleur accent cyan/turquoise comme tes liens */
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85em;
    letter-spacing: 0.05em;
}

td {
    padding: 2px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: #d0d0d0;
}

tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Bouton action */
td button {
    background-color: transparent;
    border: 1px solid #f0a500; /* jaune/or comme tes icônes */
    color: #f0a500;
    padding: 4px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

td button:hover {
    background-color: rgba(240, 165, 0, 0.15);
}

.siege {
    background-color: #f0f8e8;
}

.nav-links button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: inherit;
    text-decoration: underline;
}
