.fc th{
    border-style: solid;
    border-width: 1px;
    padding: 0;
    vertical-align: middle;
    font-weight: normal;
}
.fc-widget-header {
    background: none !important;
    height: 60px;
    color: #70757a;
}
.fc-widget-header:last-of-type {
    /*
    border-top:0
    */
}
.fc-time-grid .fc-slats .fc-minor td {
    border-top-style: none
}
.fc-fri { background: none }
.fc-sat { background: none  }
.fc-today { background: none !important  }
.fc-today .fc-day-number {
    background: var(--color-primary);
    color:white;
    border-radius: 50%;
    display: inline-block;
    height: 30px;
    width: 30px;
    text-align: center;
    margin:2px;
    font-size:18px;
    padding: 2px 2px 0 1px;
    font-weight: normal;
}
.fc-day-header.fc-today {
    color: rgba(16,185,129) !important;
    font-weight: normal;
}
.fc-button-group .fc-dayGridMonth-button {

}

.fc-button-group .fc-dayGridMonth-button:hover, .fc-button-group .fc-timeGridWeek-button:hover, .fc-button-group .fc-timeGridDay-button:hover{
    border:1px solid #ddd !important;
    color:#495057;
    background: #f8f9fa;
}
.fc-button-primary:not(:disabled).fc-button-active {
    background-color: rgba(16,185,129) !important;
    border-color: rgba(16,185,129);
}
.fc-button-primary:not(:disabled).fc-button-active:hover {
    color:white;
}
.fc-prev-button:hover, .fc-next-button:hover, .fc-today-button:hover {
    background-color: white !important;
    color:#495057;
    cursor:pointer;
    border-color: #ddd;
}
.fc-today-button:hover{
    background-color: #2C3E50 !important;
    border-color: #2C3E50 !important;
    color: white;
}

.fc-slats tr td {
    height:35px !important;
}
.line-through {
    text-decoration: line-through !important;
}
.fc-time-grid-event-inset {
  background-color: #fffae3 !important;;
  border: 1px solid rgba(16,185,129) !important;
}
.fc-time-grid-event-inset .fc-content {
    background-color: #fffae3 !important;;
}
.booking .fc-slats tr td {
    height:70px !important
}

.booking .fc-time-grid .fc-event.cross-line {
    text-decoration: line-through !important;
    background-color: white !important;
    cursor: not-allowed;
    pointer-events: none;
    color: rgba(0, 0, 0, 0.15) !important;
}
.booking  .fc-time-grid .fc-event, .booking  .fc-time-grid .fc-bgevent
{
    width:105px;
    background-color: #eef4fd !important;
    height:40px;
    border:none;
    margin:10px auto 15px
}
.booking .fc-title {
    font-size:25px;
    text-align: center !important;;
    vertical-align: middle !important;
    line-height: 40px !important;;
    display: block !important;
}
.booking .fc-time-grid-event.fc-short .fc-title {
    font-size:25px;
}

.booking  .fc-axis.fc-time {
    display:none !important
}

.booking .fc-unthemed td, .booking .fc-unthemed th{
    border:none !important
}

.booking .fc-day-header {
    font-size: 25px;
}
.booking .fc-header-toolbar {
    position:absolute !important;
    width:880px
}
.booking .fc-right {
    right: 0;
}
.booking .fc-left {
    left: -30px !important;
    position: absolute;
}

.booking .fc-widget-header {
    margin-bottom: 20px;
}
.fc-view, .fc-view > table {
    border:none !important;
}
.fc-theme-standard th {
    border: none!important;
}
.fc-theme-standard td.fc-timegrid-slot-label, .fc-theme-standard td.fc-timegrid-slot-lane {
    border-top: 1px solid rgb(222, 226, 230,0.5)!important;
}
.fc-theme-standard td {
    border-right: 1px solid rgb(222, 226, 230,0.5)!important;
}
.fc-theme-standard td.fc-timegrid-slot-minor {
    border: none!important;;
}
.fc .fc-bg-event {
    background: rgba(16,185,129, 0.1) !important;
}

.fc-day-past .fc-bg-event {
    background: none !important;
}
.fc-day-past  .fc-bg-event .fc-title {
    display: none;
}
.custom-day-header .day-of-week {
    color: rgba(0,0,0,.5) !important;
}
.custom-day-header .day-of-month {
    font-weight: bold;
    font-size: 20px;
    color: rgba(0,0,0,.5) !important;
    display: block;
    height: 40px;
}
.accountCalendar .ant-picker-cell-selected .ant-picker-cell-inner {
    background: rgba(16,185,129) !important;
    border: 0!important;
    color: white;
    border-radius: 4px!important;
    font-weight: bold;
}
.accountCalendar .events-added {
    border:0 !important;
    background: rgba(16,185,129, 0.1) !important;
}
.accountCalendar .ant-picker-calendar-date-today .events-added {
    background: none;
    border:0!important;
}
.accountCalendar .ant-picker-calendar-date-today:before {
    border:0!important;
}
.accountCalendar .ant-picker-calendar-date-today {
    background: rgba(16,185,129) !important;
    border: 0!important;
    color: white;
    border-radius: 12px !important;
    font-weight: bold;
}
.accountCalendar .fc-multimonth-daygrid .backgroundEvent {
    background: rgba(16,185,129, 0.1) !important;
}
.accountCalendar .fc-multimonth-daygrid-table .backgroundEvent.fc-day-disabled{
    background: hsla(0,0%, 82%, .3) !important;
}
.accountCalendar .fc .fc-toolbar.fc-header-toolbar {
    margin: 0;
    padding:0;
}
.accountCalendar .ant-picker-cell-selected .ant-picker-cell-inner:before {
    border: 0!important;
}
.accountCalendar .ant-picker-cell-selected .ant-picker-cell-inner .ant-picker-calendar-date-value {
    color: white;
}
.ant-picker-content th{
    color: rgba(0,0,0,.5) !important;
}
.fc-col-header-cell.fc-day-today .custom-day-header .day-of-month{
    background: rgb(239, 94, 172) !important;
    font-weight: bold;
    color: white !important;
    border-radius: 20px;
    height: 40px;
    width: 40px;
    vertical-align: middle;
    text-align:center;
    display: block;
    font-size: 20px;
    line-height: 40px;
}
.fc-timegrid-slot-label-cushion {
    font-size:10px;
    color: rgba(0,0,0,.5) !important;
}

.fc-timegrid-now-indicator-line  {
    height: 2px; /* Increase the thickness of the line */
    border: 1px dashed rgb(239, 94, 172) !important;

}

/* Style the arrow that appears on the now indicator */
.fc-timegrid-now-indicator-arrow {
    border-width: 10px 33px 10px 11px;
    border-radius: 0px 10px 10px 0px;
    border-color: rgb(239, 94, 172) !important; /* Change the arrow color to match the line */
}
.fc-event-past {
    background: rgb(32, 201, 151, 0.6) !important;
}
.fc-day-grid-event:has(.not-confirmed) {
    background: white !important;
    border:1px solid rgb(32, 201, 151) !important;
}
.ant-picker-calendar-mode-switch {
    display: none;
}

/* ===========================================
 * FULLCALENDAR DARK MODE OVERRIDES
 * =========================================== */

/* Calendar container background */
.dark-theme .fc {
    background: var(--color-bg-container);
}

/* Table borders and backgrounds */
.dark-theme .fc th,
.dark-theme .fc td {
    border-color: var(--color-border) !important;
}

.dark-theme .fc-scrollgrid {
    border-color: var(--color-border) !important;
}

.dark-theme .fc-scrollgrid-section > td {
    border-color: var(--color-border) !important;
}

/* Header (day names) */
.dark-theme .fc-widget-header,
.dark-theme .fc-col-header-cell {
    background: var(--color-bg-elevated) !important;
    color: var(--color-text-secondary) !important;
}

.dark-theme .fc-col-header-cell-cushion {
    color: var(--color-text-secondary) !important;
}

/* Day numbers */
.dark-theme .fc-daygrid-day-number {
    color: var(--color-text) !important;
}

.dark-theme .fc-day-other .fc-daygrid-day-number {
    color: var(--color-text-tertiary) !important;
}

/* Time grid labels (left side times) */
.dark-theme .fc-timegrid-axis-cushion,
.dark-theme .fc-timegrid-slot-label-cushion {
    color: var(--color-text-secondary) !important;
}

.dark-theme .fc-timegrid-axis {
    color: var(--color-text-secondary) !important;
}

/* Time grid slots */
.dark-theme .fc-timegrid-slot {
    border-color: var(--color-border-light) !important;
}

.dark-theme .fc-timegrid-slot-minor {
    border-color: var(--color-border-light) !important;
}

/* Day grid cells */
.dark-theme .fc-daygrid-day {
    background: var(--color-bg-container) !important;
}

.dark-theme .fc-daygrid-day:hover {
    background: var(--color-bg-hover) !important;
}

.dark-theme .fc-day-today {
    background: var(--color-bg-hover) !important;
}

/* Buttons */
.dark-theme .fc-button-primary {
    background-color: var(--color-bg-container) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

.dark-theme .fc-button-primary:hover {
    background-color: var(--color-bg-hover) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

.dark-theme .fc-button-primary:not(:disabled).fc-button-active {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: white !important;
}

.dark-theme .fc-button-group .fc-dayGridMonth-button:hover,
.dark-theme .fc-button-group .fc-timeGridWeek-button:hover,
.dark-theme .fc-button-group .fc-timeGridDay-button:hover {
    background: var(--color-bg-hover) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

.dark-theme .fc-prev-button:hover,
.dark-theme .fc-next-button:hover {
    background-color: var(--color-bg-hover) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

.dark-theme .fc-today-button:hover {
    background-color: var(--color-bg-elevated) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
}

/* Events */
.dark-theme .fc-event {
    border-color: var(--color-primary) !important;
}

.dark-theme .fc-event-past {
    background: rgba(16, 185, 129, 0.4) !important;
}

/* Popover */
.dark-theme .fc-popover {
    background: var(--color-bg-elevated) !important;
    border-color: var(--color-border) !important;
}

.dark-theme .fc-popover-header {
    background: var(--color-bg-container) !important;
    color: var(--color-text) !important;
}

.dark-theme .fc-popover-body {
    background: var(--color-bg-elevated) !important;
}

/* More link */
.dark-theme .fc-more-link {
    color: var(--color-primary) !important;
}

/* Multimonth view */
.dark-theme .fc-multimonth {
    background: var(--color-bg-container) !important;
    border-color: var(--color-border) !important;
}

.dark-theme .fc-multimonth-header {
    background: var(--color-bg-elevated) !important;
}

.dark-theme .fc-multimonth-title {
    color: var(--color-text) !important;
}

/* List view */
.dark-theme .fc-list {
    border-color: var(--color-border) !important;
}

.dark-theme .fc-list-day th {
    background: var(--color-bg-elevated) !important;
}

.dark-theme .fc-list-day-cushion {
    background: var(--color-bg-elevated) !important;
    color: var(--color-text) !important;
}

.dark-theme .fc-list-event:hover td {
    background: var(--color-bg-hover) !important;
}

/* Booking specific */
.dark-theme .booking .fc-time-grid .fc-event,
.dark-theme .booking .fc-time-grid .fc-bgevent {
    background-color: rgba(16, 185, 129, 0.15) !important;
}

.dark-theme .booking .fc-time-grid .fc-event.cross-line {
    background-color: var(--color-bg-container) !important;
    color: var(--color-text-disabled) !important;
}

.dark-theme .fc-time-grid-event-inset {
    background-color: rgba(255, 250, 227, 0.1) !important;
}

.dark-theme .fc-time-grid-event-inset .fc-content {
    background-color: rgba(255, 250, 227, 0.1) !important;
}

/* Calendar event styling */
.dark-theme .fc-day-grid-event:has(.not-confirmed) {
    background: var(--color-bg-container) !important;
}