/* FullCalendar CSS minimo per evitare problemi CDN */
.fc {
  direction: ltr;
  text-align: left;
}

.fc table {
  border-collapse: collapse;
  border-spacing: 0;
}

.fc th, .fc td {
  border-style: solid;
  border-width: 1px;
  padding: 0;
  vertical-align: top;
}

.fc-daygrid-day-frame {
  position: relative;
  min-height: 100px;
}

.fc-daygrid-day-events {
  margin-bottom: 1px;
}

.fc-daygrid-event {
  margin-bottom: 1px;
}

.fc-event {
  border: 1px solid #3788d8;
  background-color: #3788d8;
  color: #fff;
  font-size: .85em;
  cursor: pointer;
  display: block;
  padding: 2px 4px;
  border-radius: 3px;
}

.fc-event:hover {
  opacity: 0.8;
}

.fc-event-title {
  font-weight: bold;
}

.fc-daygrid-day-number {
  padding: 4px;
  color: #666;
}

.fc-day-today {
  background-color: #f0f8ff;
}

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

.fc-button {
  border: 1px solid #ccc;
  background: #f7f7f7;
  color: #333;
  padding: 4px 8px;
  border-radius: 3px;
  cursor: pointer;
}

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

.fc-button-primary {
  background: #007cba;
  color: #fff;
  border-color: #007cba;
}

.fc-button-primary:hover {
  background: #005a87;
}

.fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
}

.fc-toolbar-title {
  font-size: 1.75em;
  margin: 0;
}

.fc-daygrid-day {
  border: 1px solid #ddd;
}

.fc-daygrid-day:hover {
  background-color: #f5f5f5;
}

/* Colori per stati turni */
.fc-event.vsm-available {
  background-color: #28a745;
  border-color: #28a745;
}

.fc-event.vsm-urgent {
  background-color: #ffc107;
  border-color: #ffc107;
  color: #000;
}

.fc-event.vsm-complete {
  background-color: #6c757d;
  border-color: #6c757d;
}
