/* ===== Barre de filtres ===== */
.rscm-filterbar {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #e43425;
  border-radius: 14px;
  padding: .75rem 1rem;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .03);
}

.rscm-filterbar .rscm-field {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.rscm-filterbar label {
  font-weight: 600;
  color: #1d1d1d;
}

.rscm-filterbar .form-select {
  min-width: 220px;
  border: 1px solid #e43425;
  border-radius: 12px;
  padding: .45rem .8rem;
  box-shadow: none;
}

.rscm-filterbar .form-check-input {
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid #dc3545;
}

.rscm-filterbar .form-check-input:checked {
  background-color: #dc3545;
  border-color: #dc3545;
}

/* ===== FullCalendar — header / boutons ===== */
.fc .fc-toolbar-title {
  color: #e43425;
  letter-spacing: .02em;
  font-weight: 700;
}

.fc .fc-button {
  background: #fff;
  border: 1px solid #dc3545;
  color: #dc3545;
  text-transform: capitalize;
  border-radius: 10px;
  padding: .35rem .65rem;
}

.fc .fc-button:hover {
  background: #fbe8e6;
}

.fc .fc-button-primary,
.fc .fc-button.fc-button-active {
  background: #dc3545;
  border-color: #dc3545;
  color: #fff;
}

.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number {
  color: #1d1d1d !important;
  text-decoration: none;
}

.fc .fc-daygrid-day.fc-day-today {
  background: #fff8f7;
}

.fc-theme-standard td,
.fc-theme-standard th {
  border-color: #ececec;
}

/* ===== Events – rendu propre, compact ===== */
.fc .fc-event {
  border: none;
  background: #fff;
  color: #1d1d1d;
  border-radius: 10px;
  padding: .2rem .45rem;
  box-shadow: 0 0 0 1px #fbe8e6 inset;
}

.fc .fc-daygrid-dot-event .fc-event-time {
  font-weight: 700;
}

.fc .fc-daygrid-dot-event .fc-event-title {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fc .fc-list-event-title {
  font-weight: 700;
}

/* Lignes méta (list view) */
.rscm-sub {
  font-size: .78rem;
  opacity: .85;
  margin-top: .1rem;
}

/* Badge Domicile */
.rscm-badge {
  display: inline-block;
  padding: .12rem .4rem;
  border-radius: .45rem;
  font-size: .7rem;
  border: 1px solid currentColor;
}

.rscm-badge-home {
  color: #dc3545;
  background: #fff;
  margin-left: .4rem;
}

/* Popover “+ n de plus” */
.fc-more-popover .fc-popover-body {
  padding: .35rem;
}