@import "tailwindcss";

@source "../../public/*.html";
@source "../../app/helpers/**/*.rb";
@source "../../app/javascript/**/*.js";
@source "../../app/views/**/*";

@plugin "daisyui";
@plugin "daisyui/theme" {
  name: "lofi";
  default: true;
}

/* Button spinner states for Turbo disable-with functionality */
button .when-disabled,
input[type="submit"] .when-disabled {
  display: none;
}

button[disabled] .when-disabled,
input[type="submit"][disabled] .when-disabled {
  display: flex;
}

button .when-enabled,
input[type="submit"] .when-enabled {
  display: initial;
}

button[disabled] .when-enabled,
input[type="submit"][disabled] .when-enabled {
  display: none;
}

/* FullCalendar Custom Styles */
.fc {
  /* Use theme colors */
  --fc-border-color: oklch(var(--bc) / 0.2);
  --fc-button-bg-color: oklch(var(--p));
  --fc-button-border-color: oklch(var(--p));
  --fc-button-hover-bg-color: oklch(var(--pf));
  --fc-button-hover-border-color: oklch(var(--pf));
  --fc-button-active-bg-color: oklch(var(--pf));
  --fc-button-active-border-color: oklch(var(--pf));
  --fc-today-bg-color: oklch(var(--b2));
}

.fc .fc-toolbar-title {
  font-size: 1.25rem;
  font-weight: 600;
}

.fc .fc-timegrid-slot {
  height: 4rem;
}

.fc .fc-timegrid-slot-label {
  font-size: 0.75rem;
  color: oklch(var(--bc) / 0.6);
}

.fc .fc-col-header-cell {
  padding: 0.75rem 0.5rem;
  background-color: oklch(var(--b1));
  border-color: oklch(var(--bc) / 0.2);
}

.fc .fc-col-header-cell-cushion {
  font-weight: 600;
  color: oklch(var(--bc));
}

.fc .fc-timegrid-event {
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: solid;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
}

.fc .fc-timegrid-event-harness {
  margin-right: 2px;
}

.fc .fc-event-title {
  font-weight: 500;
}

.fc .fc-timegrid-now-indicator-line {
  border-color: oklch(var(--er));
  border-width: 2px;
}

.fc .fc-timegrid-now-indicator-arrow {
  border-color: oklch(var(--er));
}

/* Resource view styling */
.fc-resource-timeline .fc-timeline-slot {
  height: 4rem;
}

.fc-resource-timeline .fc-timeline-header-row {
  background-color: oklch(var(--b1));
}

.fc .fc-resource-timeline-divider {
  background-color: oklch(var(--bc) / 0.1);
  width: 2px;
}

.fc .fc-datagrid-cell {
  padding: 0.5rem;
}

.fc .fc-datagrid-cell-cushion {
  font-weight: 500;
}

/* Background events (shifts) */
.fc .fc-bg-event {
  opacity: 0.3;
}

/* Clickable time slots */
.fc .fc-timegrid-slot:hover {
  background-color: oklch(var(--b2));
  cursor: pointer;
}

/* Event hover */
.fc .fc-event:hover {
  opacity: 0.9;
  cursor: pointer;
}