/* Small custom tweaks layered on top of Tailwind (Play CDN). */

body {
  font-family: Arial, Tahoma, sans-serif;
}

/*
 * Safety-net defaults for form controls.
 *
 * Tailwind's Preflight resets every element's border-width to 0, so a
 * control styled only with a border-COLOR utility (e.g. "border-gray-300")
 * renders with no visible border/padding at all unless a border-WIDTH
 * utility ("border") is also present. All current templates already pair
 * the two, but :where() (zero specificity) guarantees any input/select/
 * textarea added later without the full utility list still looks correct,
 * and can still be fully overridden by any Tailwind class.
 */
:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
  select,
  textarea
) {
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  background-color: #fff;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: #1f2937;
  box-sizing: border-box;
}

:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
  select,
  textarea
):focus {
  outline: none;
  border-color: #002F87;
  box-shadow: 0 0 0 2px rgba(0, 47, 135, 0.3);
}

:where(input[type="checkbox"], input[type="radio"]) {
  border: 1px solid #d1d5db;
}

/* Keep long Thai titles / URLs from breaking table layout on narrow screens. */
table {
  word-break: break-word;
}

/* FullCalendar: nudge default look to match the CRA palette without a build step. */
.fc {
  font-family: Arial, Tahoma, sans-serif;
  --fc-border-color: #e5e7eb;
  --fc-today-bg-color: #ffe4c433;
  --fc-button-bg-color: #002F87;
  --fc-button-border-color: #002F87;
  --fc-button-hover-bg-color: #003087;
  --fc-button-hover-border-color: #003087;
  --fc-button-active-bg-color: #EC722E;
  --fc-button-active-border-color: #EC722E;
}

.fc .fc-toolbar-title {
  color: #002F87;
  font-weight: 800;
  font-size: 1.1rem;
}

.fc-event {
  cursor: pointer;
  border: none !important;
}

.status-badge {
  letter-spacing: 0.01em;
}

.pagination-link.opacity-40 {
  cursor: default;
}

textarea.font-mono {
  white-space: pre;
}
