/* ===== iOS Style Calendar ===== */

.schedule-calendar .fc-theme-standard .fc-scrollgrid {
  border: 0;
}

/* Toolbar */
.schedule-calendar .fc .fc-toolbar.fc-header-toolbar {
  margin-bottom: 8px;
}

.schedule-calendar .fc .fc-toolbar-title {
  font-size: 16px;
  font-weight: 600;
  color: #1d1d1f;
}

/* Buttons */
.schedule-calendar .fc .fc-button {
  background: transparent;
  border: 0;
  font-size: 13px;
  color: #007aff;
  padding: 4px 8px;
}

.schedule-calendar .fc .fc-button:hover {
  background: rgba(0, 122, 255, 0.08);
  border-radius: 8px;
}

.schedule-calendar .fc .fc-button-primary:not(:disabled).fc-button-active {
  background: rgba(0, 122, 255, 0.12);
  color: #007aff;
}

/* Grid */
.schedule-calendar .fc-theme-standard td,
.schedule-calendar .fc-theme-standard th {
  border: 1px solid rgba(0, 0, 0, 0.04);
}

/* Day header */
.schedule-calendar .fc .fc-col-header-cell-cushion {
  padding: 6px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #6e6e73;
}

/* Day numbers */
.schedule-calendar .fc-daygrid-day-number {
  color: #1d1d1f;
  font-weight: 500;
}

/* Today highlight */
.schedule-calendar .fc .fc-day-today {
  background: rgba(0, 122, 255, 0.06);
}

/* Events (pill style) */
.schedule-calendar .fc-h-event {
  background: #007aff;
  border: 0;
  border-radius: 12px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: 500;
}

/* Softer multi-day events */
.schedule-calendar .fc-daygrid-event {
  border-radius: 10px;
  padding: 2px 6px;
}

/* Remove heavy outlines */
.schedule-calendar .fc-daygrid-event.fc-event-end,
.schedule-calendar .fc-daygrid-event.fc-event-start {
  outline: none;
  margin: 2px 4px;
}

/* Popover */
.schedule-calendar .fc-theme-standard .fc-popover {
  border: 0;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.schedule-calendar .fc-theme-standard .fc-popover-header {
  background: transparent;
  color: #1d1d1f;
  font-weight: 600;
}

/* List view */
.schedule-calendar .fc-theme-standard .fc-list {
  border: 0;
}

.schedule-calendar .fc .fc-list-event:hover td {
  background: rgba(0, 0, 0, 0.03);
}

/* Dot events */
.schedule-calendar .fc-daygrid-event-dot,
.schedule-calendar .fc-list-event-dot {
  border: 4px solid #007aff;
}

/* External events (clean card) */
#external-events {
  padding: 12px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px 0 rgba(14, 17, 22, .1),
    0 1px 2px -1px rgba(25, 29, 36, .05);
}

#external-events h4 {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 8px;
}

#external-events .fc-event {
  margin: 4px 0;
  border-radius: 8px;
  background: aliceblue;
  padding: 5px 12px;
}

#external-events .fc-event .fc-event-main {
  font-size: 12px;
  color: #1d1d1f;
}

/* Typography */
.schedule-calendar .fc table {
  font-size: 13px;
  color: #1d1d1f;
}

.fc-direction-ltr {
  direction: ltr;
  text-align: left;
  background: #fff;
  padding: 16px;
  border-radius: 10px;
}