/* Smart Campus V2G — booking calendar */

.booking-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: .8rem;
  margin: 1.5rem 0 1rem; padding: .9rem 1.2rem;
}
.booking-bar .btn { margin-left: 0; }

.booking-legend {
  display: flex; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1rem; font-size: .9rem;
}
.booking-legend__item { display: flex; align-items: center; gap: .45rem; }
.booking-legend__swatch {
  width: 14px; height: 14px; border-radius: 3px; display: inline-block;
}
.booking-legend__swatch--pending {
  background: #8a96a3;
}

.booking-calendar-wrap { padding: 1rem; overflow: hidden; }
#booking-calendar { min-height: 520px; }

/* FullCalendar tweaks */
.fc { font-family: var(--font); --fc-border-color: var(--c-line); --fc-button-bg-color: var(--c-primary); --fc-button-border-color: var(--c-primary); --fc-button-hover-bg-color: var(--c-primary-d); --fc-button-hover-border-color: var(--c-primary-d); --fc-today-bg-color: rgba(42,157,143,.08); }
.fc .fc-toolbar-title { font-size: 1.25rem; color: var(--c-primary); font-weight: 700; }
.fc .fc-event-time { display: none; }

/* Modal */
.modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.modal[hidden] { display: none; }
.modal__backdrop { position: absolute; inset: 0; background: rgba(16,32,48,.45); }
.modal__panel { position: relative; z-index: 1; width: min(480px, 100%); max-height: 90vh; overflow-y: auto; margin: 0; }
.form-label { display: block; font-size: .9rem; font-weight: 600; color: var(--c-ink-soft); margin-bottom: .25rem; }

@media (max-width: 620px) {
  .fc .fc-toolbar { flex-direction: column; gap: .5rem; }
  #booking-calendar { min-height: 400px; }
}
