/* ═══════════════════════════════════════
   Facilities Module Styles
   ═══════════════════════════════════════ */

.fc .fc-toolbar-title { font-size: 1.1rem; }
.fc .fc-button { font-size: 0.8rem; padding: 4px 10px; }
.fc .fc-timegrid-slot { height: 2.5em; }
.fc .fc-event { border-radius: 4px; font-size: 0.75rem; padding: 2px 4px; cursor: pointer; }
.fc .fc-bg-event { opacity: 0.15; }

.pool-card .reading-value { font-size: 1.5rem; font-weight: 600; }
.pool-card .reading-label { font-size: 0.75rem; color: #6c757d; }

.parking-spot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 8px; }
.parking-spot { width: 60px; height: 40px; border: 2px solid #dee2e6; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 600; }
.parking-spot.occupied { background: #ffeeba; border-color: #ffc107; }
.parking-spot.available { background: #d4edda; border-color: #28a745; }
.parking-spot.vip { background: #cce5ff; border-color: #007bff; }

.event-timeline { position: relative; padding-left: 30px; }
.event-timeline::before { content: ''; position: absolute; left: 10px; top: 0; bottom: 0; width: 2px; background: #dee2e6; }
.event-timeline-item { position: relative; margin-bottom: 20px; }
.event-timeline-item::before { content: ''; position: absolute; left: -24px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: #007bff; border: 2px solid #fff; }

.maintenance-priority-critical { border-left: 4px solid #dc3545 !important; }
.maintenance-priority-high { border-left: 4px solid #fd7e14 !important; }
.maintenance-priority-medium { border-left: 4px solid #ffc107 !important; }
.maintenance-priority-low { border-left: 4px solid #28a745 !important; }