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

/* Tabulator: 데이터 없을 때 tableholder 배경 그라디언트(행 구분선) 제거 */
.tabulator .tabulator-tableholder {
  background: none !important;
}

/* resizable-columns=false 그리드: 컬럼 너비 조절 핸들 비활성화 */
[data-grid-resizable-columns-value="false"] .tabulator-col-resize-handle {
  display: none !important;
  pointer-events: none !important;
}

/* ─────────────────────────────────────────────────────────────────
   캘린더 (v1 § B-1, owner: Joy)
   vibe canon js_bundle/fullcalendar — FullCalendar 6.1.20 토큰 정합
   ───────────────────────────────────────────────────────────────── */
.fc {
  font: var(--db-text-label-2);
  color: var(--db-color-text);
}
/* 헤더툴바 가로 정렬 강제 — 기본 CSS가 깨질 경우 대비 */
.fc .fc-toolbar.fc-header-toolbar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: var(--db-space-3);
  margin-bottom: var(--db-space-3);
}
.fc .fc-toolbar-chunk,
.fc .fc-toolbar-chunk > div {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: var(--db-space-2);
}
.fc .fc-toolbar-title {
  font: var(--db-text-heading-2);
  color: var(--db-color-text-strong);
  margin: 0;
  white-space: nowrap;
}
.fc .fc-button-primary {
  background: var(--db-color-fill-light) !important;
  border-color: var(--db-color-outline) !important;
  color: var(--db-color-text) !important;
}
.fc .fc-button-primary:hover {
  background: var(--db-color-fill-medium) !important;
}
.fc .fc-button-primary:not(:disabled).fc-button-active {
  background: var(--db-color-primary) !important;
  color: var(--db-color-on-primary) !important;
  border-color: var(--db-color-primary) !important;
}
.fc .fc-daygrid-day.fc-day-today {
  background-color: var(--db-color-cautionary-bg) !important;
}
.fc .fc-daygrid-day[aria-current="true"] {
  background-color: var(--db-color-fill-light) !important;
  outline: 2px solid var(--db-color-primary);
  outline-offset: -2px;
}
.fc .fc-daygrid-day-frame {
  min-height: 72px;
  position: relative;
}

/* 날짜 숫자 + count 배지를 한 줄에 분리 (겹침 방지) — flex space-between */
.fc .fc-daygrid-day-top {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  padding: 4px 6px;
  width: 100%;
}
.fc .fc-daygrid-day-number {
  font: var(--db-text-label-2);
  color: var(--db-color-text-strong);
  padding: 0;
}

/* 일별 count 배지 (Stimulus calendar_controller#_renderDayCell 가 삽입) — inline */
.db-calendar__count {
  background: var(--db-color-primary);
  color: var(--db-color-on-primary);
  font: var(--db-text-caption-1);
  padding: 2px 6px;
  border-radius: var(--db-radius-pill);
  min-width: 20px;
  text-align: center;
}
.db-calendar__count--overflow {
  background: var(--db-color-negative);
}

/* ─────────────────────────────────────────────────────────────
   주말/공휴일 색칠 (holidays-plan §3.8)
   - 일요일 = 빨강 / 토요일 = 파랑
   - 공휴일 = 빨강 + 굵게 (Stimulus가 .db-calendar__day--holiday 클래스 박음)
   ───────────────────────────────────────────────────────────── */
.fc .fc-day-sun .fc-daygrid-day-number {
  color: var(--db-color-negative);
}
.fc .fc-day-sat .fc-daygrid-day-number {
  color: var(--db-color-primary);
}
.fc .db-calendar__day--holiday .fc-daygrid-day-number {
  color: var(--db-color-negative);
  font-weight: 700;
}
