
.clickable {
cursor: pointer !important
}

:root {
  --bs-primary: #2967B0;
  --bs-primary-rgb: 41, 103, 176;
  --bs-link-color: #2967B0;
  --bs-link-hover-color: #1e4e87;
}

/* Buttons */
.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #1e4e87;
  border-color: #1e4e87;
}

/* Sidebar Menü Highlight */
.menu-item.active > .menu-link {
  background-color: rgba(41, 103, 176, 0.1); /* leicht transparentes Blau */
  color: #2967B0;
  font-weight: 600;
}

.menu-link:hover {
  color: #2967B0;
}

[data-bs-theme="dark"] {
  --bs-primary: #4a9cff;
  --bs-primary-rgb: 74, 156, 255;
}

.logo-dark,
.logo-light {
  display: none;
}

[data-bs-theme="light"] .logo-light {
  display: inline;
}

[data-bs-theme="dark"] .logo-dark {
  display: inline;
}

/* ===== Sneat x FullCalendar – Look & Feel ===== */
.app-calendar-wrapper .fc {
  --fc-border-color: var(--bs-border-color);
  --fc-page-bg-color: var(--bs-body-bg);
  --fc-neutral-bg-color: color-mix(in sRGB, var(--bs-base-color, #000) 6%, var(--bs-card-bg, #fff));
  --fc-today-bg-color: color-mix(in sRGB, var(--bs-primary) 8%, var(--bs-card-bg));
  --fc-event-bg-color: var(--bs-primary);
  --fc-event-border-color: var(--bs-primary);
  --fc-event-text-color: var(--bs-primary-contrast, #fff);
  --fc-button-text-color: var(--bs-primary);
  --fc-button-bg-color: color-mix(in sRGB, var(--bs-paper-bg, #fff) 60%, var(--bs-primary));
  --fc-button-border-color: color-mix(in sRGB, var(--bs-paper-bg, #fff) 60%, var(--bs-primary));
  --fc-button-hover-bg-color: var(--bs-primary);
  --fc-button-hover-border-color: var(--bs-primary);
  --fc-button-active-bg-color: var(--bs-primary);
  --fc-button-active-border-color: var(--bs-primary);
}

.app-calendar-wrapper .card { border: 0; -webkit-box-shadow: var(--bs-box-shadow-sm); box-shadow: var(--bs-box-shadow-sm); }
.app-calendar-wrapper .card-body { padding: 1rem 1.25rem; }

/* Toolbar */
.app-calendar-wrapper .fc .fc-toolbar { gap: .5rem; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.app-calendar-wrapper .fc .fc-toolbar-chunk { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.app-calendar-wrapper .fc .fc-toolbar-title { color: var(--bs-heading-color); font-weight: 600; }

/* Buttons */
.app-calendar-wrapper .fc .fc-button {
  border-radius: .5rem;
  padding: .42rem 1rem;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.app-calendar-wrapper .fc .fc-prev-button,
.app-calendar-wrapper .fc .fc-next-button {
  background: transparent; border-color: transparent;
}
.app-calendar-wrapper .fc .fc-prev-button .fc-icon,
.app-calendar-wrapper .fc .fc-next-button .fc-icon { color: var(--bs-heading-color); }

/* Grid + cells */
.app-calendar-wrapper .fc .fc-col-header-cell-cushion { padding-block: .55rem; color: var(--bs-heading-color); }
.app-calendar-wrapper .fc .fc-daygrid-day-number { padding: .35rem; font-weight: 500; }
.app-calendar-wrapper .fc .fc-daygrid-day { -webkit-transition: background-color .15s ease; transition: background-color .15s ease; }
.app-calendar-wrapper .fc .fc-daygrid-day:hover { background-color: color-mix(in sRGB, var(--bs-primary) 6%, transparent); }

/* Event chips */
.app-calendar-wrapper .fc .fc-event {
  border: 0; border-radius: .375rem;
  font-size: .8125rem; font-weight: 500;
  padding: .25rem .5rem;
}
.app-calendar-wrapper .fc .fc-timegrid-event .fc-event-time { font-size: .75rem; }

/* All-day dot removal (cleaner) */
.app-calendar-wrapper .fc .fc-daygrid-event-dot { display: none; }

/* “Private” / danger events (optional helper classes) */
.app-calendar-wrapper .fc .fc-event.event-danger { --fc-event-bg-color: var(--bs-danger); --fc-event-border-color: var(--bs-danger); }
.app-calendar-wrapper .fc .fc-event.event-warning { --fc-event-bg-color: var(--bs-warning); --fc-event-border-color: var(--bs-warning); color: var(--bs-dark); }
.app-calendar-wrapper .fc .fc-event.event-success { --fc-event-bg-color: var(--bs-success); --fc-event-border-color: var(--bs-success); }

/* TimeGrid slots */
.app-calendar-wrapper .fc .fc-timegrid-slot { block-size: 4em; }
.app-calendar-wrapper .fc .fc-timegrid-axis-cushion,
.app-calendar-wrapper .fc .fc-timegrid-slot-label-cushion {
  font-size: .8125rem; color: var(--bs-secondary-color);
}

/* List view */
.app-calendar-wrapper .fc .fc-list { border: 0; }
.app-calendar-wrapper .fc .fc-list-table th { background: var(--bs-body-bg); color: var(--bs-heading-color); border: 0; }
.app-calendar-wrapper .fc .fc-list-event:hover td { background-color: color-mix(in sRGB, var(--bs-primary) 6%, var(--bs-paper-bg, #fff)); }

/* Today cell subtle highlight */
.app-calendar-wrapper .fc .fc-day-today { background-clip: padding-box; }

/* Standardfarbe für Events */
.app-calendar-wrapper .fc .fc-event {
  border: 0;
  border-radius: .375rem;
  font-size: .8125rem;
  font-weight: 500;
  padding: .25rem .5rem;

  /* Sneat-Primärfarbe als Standard */
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff; /* Weißer Text */
}