/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* FullCalendar customizations - Remove all borders except hourly dividers */

/* Remove all borders from the calendar */
.fc .fc-timegrid-slot {
  border: none;
}

.fc .fc-timegrid-col {
  border: none;
}

.fc .fc-col-header-cell {
  border: none;
}

.fc .fc-timegrid-axis {
  border: none;
}

/* Remove border above time labels and position them next to hour lines */
.fc .fc-timegrid-slot-label {
  border: none;
  transform: translateY(-50%);
}

.fc .fc-timegrid-slot-label-frame {
  border: none;
  color: #4b5563;
  font-size: 0.75rem;
}

.fc .fc-timegrid-slot-label-cushion {
  border: none;
}

/* Target the specific td element for time labels */
.fc td.fc-timegrid-slot-label {
  border: none;
}

/* Remove calendar container borders */
.fc {
  border: none;
}

.fc-theme-standard td,
.fc-theme-standard th {
  border: none;
}

.fc .fc-scrollgrid {
  border: none;
}

.fc .fc-scrollgrid-sync-table {
  border: none;
}

/* Remove vertical day dividers */
.fc .fc-timegrid-col-frame {
  border-left: none;
  border-right: none;
}

/* Then explicitly show only hourly borders */
.fc .fc-timegrid-slot-major {
  border-top: 1px solid #d1d5db;
}

/* Backup method for hourly slots */
.fc .fc-timegrid-slot-lane[data-time$=":00:00"] {
  border-top: 1px solid var(--fc-event-border-color);
}

/* Control cell height */
.fc .fc-timegrid-slot {
  height: 2.5em;
}

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

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

.fc-v-event .fc-event-title-short {
  text-wrap: nowrap;
  text-overflow: ellipsis;
}

.fc-timegrid-event .fc-event-main {
  padding: 0.25rem;
}

.calendar-drop-target {
  border: 2px dashed #3b82f6; /* Tailwind blue-500 */
  background-color: #dbeafe !important; /* Tailwind blue-100 */
}

.calendar-drop-target .fc-event-main-frame {
  color: #1d4ed8; /* Tailwind blue-700 */
}

/* disable safari link preview */
.todo-item a {
  -webkit-touch-callout: none;
}

.tba-style:focus-within {
  outline: 3px solid #094ece80;
}
.tba-style:focus {
  outline-offset: 2px;
  outline: 2px solid #0000;
}
.tba-style:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #094ece80;
}

/* Make long urls break instead of overflowing */
.todo-item-description {
  word-break: break-word;
}
