.aceh-widget { border:1px solid #e3e3e3; padding:16px; border-radius:8px; }
.aceh-controls { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.aceh-grid { display:grid; grid-template-columns: 120px repeat(5, 1fr); gap:4px; }
.aceh-grid .aceh-cell.header { font-weight:600; text-align:center; padding:8px; background:#f7f7f7; border-radius:4px; }
.aceh-grid .aceh-cell.time { font-variant-numeric: tabular-nums; padding:8px; text-align:right; padding-right:10px; background:#fafafa; border-radius:4px; }
.aceh-slot { padding:8px; text-align:center; border-radius:4px; cursor:pointer; user-select:none; border:1px solid transparent; }
.aceh-slot.free { background:#eaf7ea; border-color:#b7e0b7; }
.aceh-slot.pending, .aceh-slot.approved, .aceh-slot.rejected { color:#fff; }
.aceh-slot.pending { background:#f39c12; } /* orange attente */
.aceh-slot.approved { background:#e74c3c; } /* rouge réservé */
.aceh-slot.rejected { background:#7f8c8d; } /* gris refus */
.aceh-slot.selected { outline:2px solid #222; }
.aceh-form { margin-top:16px; display:flex; flex-direction:column; gap:8px; }
.aceh-form-row { display:flex; flex-wrap:wrap; gap:8px; }
.aceh-form-row input { flex:1 1 200px; padding:8px; }
.aceh-submit { padding:10px 14px; }
.aceh-msg { margin-top:8px; min-height:1em; }
@media (max-width: 768px){
  .aceh-grid { grid-template-columns: 80px 1fr; }
  .aceh-grid .day-col { display:none; }
}

.aceh-slot.today { outline: 2px solid #0073aa !important; }
.aceh-prev.disabled { opacity: 0.4; pointer-events: none; }

.aceh-grid { grid-template-columns: 100px repeat(5, 1fr); }
.aceh-cell.header.day-col { background:#f1f1f1; font-weight:600; text-align:center; }
.aceh-slot.today { outline:2px solid #0073aa !important; }
.aceh-prev.disabled { opacity:0.4; pointer-events:none; }
/* === Colonne du jour : liseré vertical propre === */

/* Le conteneur de la colonne du jour */
.aceh-grid .aceh-col-today {
    position: relative;
}

/* On neutralise le fond/bordure des créneaux dans la colonne du jour
   si d'autres styles s'appliquent déjà */
.aceh-grid .aceh-col-today .aceh-slot {
    background: transparent !important;
    border-color: transparent !important;
}

/* Entourage de la date du jour (en-tête uniquement) */
.aceh-cell.header.day-col.aceh-today-header{
  position: relative;
  border: 2px solid currentColor;
  border-radius: 10px;
  font-weight: 600;
}

/* Loading */
.aceh-widget.is-loading {
  opacity: 0.65;
  pointer-events: none; /* bloque clics pendant chargement */
}
.aceh-loading{
  margin: 8px 0;
  padding: 8px 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
  font-size: 14px;
}

/* Slot passé */
.aceh-slot.past{
  opacity: 0.35;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* Bandeau sélection */
.aceh-selected-label{
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #d7e3ff;
  border-radius: 10px;
  background: #f4f7ff;
  font-weight: 600;
}
.aceh-slot.unavailable,
.aceh-slot.aceh-unavailable{
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

.aceh-slot.past{
  opacity: .5;
  pointer-events: none;
}

