[id^="event-calendar-"] {
    margin: 30px 0;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    
    .fc {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    }
   
    
    .fc-header-toolbar {
      margin-bottom: 20px;
      
      .fc-toolbar-title {
        font-size: 1.75rem;
        font-weight: 600;
        text-transform: capitalize;
        color: #2c3e50;
      }
      
      .fc-button {
        background: #7fbf3f;
        border: none;
        border-radius: 6px;
        padding: 8px 16px;
        font-weight: 500;
        transition: all 0.3s ease;
        
        &:hover {
          background: #669d32;
          transform: translateY(-1px);
          box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3);
        }
        
        &:active {
          transform: translateY(0);
        }
      }
    }
    
    .fc-daygrid-day {
      border-color: #e8ecf0;
      transition: background 0.2s ease;
      
      &:hover:not(.fc-day-closed) {
        background: #f8f9fa;
      }
    }
    
    .fc-day-other {
      background: #f5f5f5 !important;
      opacity: 0.5;
      
      .fc-daygrid-day-number {
        visibility: hidden;
      }
      
      .fc-daygrid-day-events {
        display: none;
      }
      
      .fc-daygrid-day-frame {
        pointer-events: none;
      }
    }
    
    .fc-day-closed {
      background: #f5f5f5 !important;
      opacity: 0.6;
      position: relative;
      
      .fc-daygrid-day-frame {
        pointer-events: none;
      }
      
      .fc-daygrid-day-number {
        color: #95a5a6;
      }
      
      .fc-day-closed-label {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #7f8c8d;
        font-weight: 600;
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        z-index: 10;
      }
    }
    
    .fc-daygrid-day-top {
      margin-bottom: 4px;
    }
    
    .fc-daygrid-day-number {
      font-weight: 500;
      color: #34495e;
      padding: 4px 6px;
    }
    
    .fc-col-header-cell {
      background: #ecf0f1;
      border-color: #d5dbdb;
      padding: 12px 0;
      
      .fc-col-header-cell-cushion {
        font-weight: 600;
        color: #2c3e50;
        text-transform: uppercase;
        font-size: 0.85rem;
        letter-spacing: 0.5px;
      }
    }

    .fc-daygrid-event-dot {
      border: calc(var(--fc-daygrid-event-dot-width)/2) solid #7fbf3f !important;
    }

    a.fc-event:hover {
      color: white !important;
    } 

    .fc-event {
      cursor: pointer;
      border: none;
      border-radius: 4px;
      padding: 4px 8px;
      margin: 2px 0;
      font-size: 0.85rem;
      font-weight: 500;
      background: #EC008C;
      color: #fff;
      transition: all 0.2s ease;
      
      &:hover {
        transform: translateX(2px);
        box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
      }
     
      
      .fc-event-title {
        font-weight: 500;
      }
    }
    
    .fc-day-today {
      background: #e8f5e9 !important;
      
      .fc-daygrid-day-number {
        color: #2e7d32;
        font-weight: 700;
      }
    }
    
    .fc-scrollgrid {
      border: none;
    }
    
    .fc-scrollgrid-section-header {
      border: none;
    }
  }


  
  /* Responsive Mobile */
  @media (max-width: 768px) {
    [id^="event-calendar-"] {
      margin: 15px 0;
      height: 570px;
      padding: 12px;
      border-radius: 8px;
    }
    
    [id^="event-calendar-"] .fc-header-toolbar {
      flex-direction: column;
      gap: 12px;
      margin-bottom: 15px;
    }
    
    [id^="event-calendar-"] .fc-toolbar-chunk {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    [id^="event-calendar-"] .fc-toolbar-title {
      font-size: 1.25rem;
      margin: 0;
    }
    
    [id^="event-calendar-"] .fc-button {
      padding: 6px 12px;
      font-size: 0.85rem;
    }
    
    [id^="event-calendar-"] .fc-button-group {
      display: flex;
      gap: 4px;
    }
    
    [id^="event-calendar-"] .fc-col-header-cell {
      padding: 8px 2px;
    }
    
    [id^="event-calendar-"] .fc-col-header-cell-cushion {
      font-size: 0.7rem;
      letter-spacing: 0;
      padding: 0 2px;
    }
    
    [id^="event-calendar-"] .fc-daygrid-day {
      min-height: 60px;
    }
    
    [id^="event-calendar-"] .fc-daygrid-day-number {
      font-size: 0.85rem;
      padding: 2px 4px;
    }
    
    [id^="event-calendar-"] .fc-day-closed-label {
      font-size: 0.7rem !important;
      letter-spacing: 0.5px;
    }
    
    [id^="event-calendar-"] .fc-event {
      font-size: 0.7rem;
      padding: 2px 4px;
      margin: 1px 0;
      line-height: 1.2;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    
    [id^="event-calendar-"] .fc-daygrid-day-events {
      margin-top: 2px;
    }
  }
  
  @media (max-width: 480px) {
    [id^="event-calendar-"] {
      padding: 10px 8px;
      margin: 10px 0;
    }
    
    [id^="event-calendar-"] .fc-toolbar-title {
      font-size: 1.1rem;
    }
    
    [id^="event-calendar-"] .fc-button {
      padding: 5px 10px;
      font-size: 0.75rem;
    }
    
    [id^="event-calendar-"] .fc-col-header-cell-cushion {
      font-size: 0.65rem;
    }
    
    [id^="event-calendar-"] .fc-daygrid-day {
      min-height: 50px;
    }
    
    [id^="event-calendar-"] .fc-daygrid-day-number {
      font-size: 0.8rem;
    }
    
    [id^="event-calendar-"] .fc-event {
      font-size: 0.65rem;
      padding: 1px 3px;
    }
  }
  