/*
 * 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.
 */

/* Modal dialog centering */
dialog[open] {
  margin: auto;
}

/* Calendar block selection — contained ring via pseudo-element */
.calendar-selected {
  z-index: 10 !important;
}

.calendar-selected::before {
  content: '';
  position: absolute;
  inset: 3px 1px;
  border: 1.5px solid rgba(59, 130, 246, 0.4);
  border-radius: 6px;
  pointer-events: none;
  z-index: 1;
}

/* Restore list styles inside prose (Tailwind preflight strips them) */
.prose ul {
  list-style-type: disc;
  padding-left: 1.5em; }

.prose ol {
  list-style-type: decimal;
  padding-left: 1.5em; }

.prose li {
  margin: 0.15em 0; }

.prose ul ul {
  list-style-type: circle; }

/* Suppress browser focus ring on selected calendar blocks (custom ring replaces it) */
.calendar-selected a:focus,
.calendar-selected a:focus-visible {
  outline: none;
}

/* Filter transition for search-filter blocks. Declared once here rather than
   written inline per block on each filter() pass — that was a major source of
   keystroke jank on the calendar (250+ blocks × style writes per keystroke). */
[data-search-filter-target="block"] {
  transition: opacity 0.15s ease, filter 0.15s ease;
}