/* ===== frappe-gantt 커스텀 스타일 ===== */

/* 헤더 배경 */
.gantt .grid-header {
  fill: #f0f4ff;
  stroke: #dce3f0;
  stroke-width: 1;
}

/* 상단 텍스트 (월 이름 / 연도) */
.gantt .upper-text {
  font-size: 13px;
  font-weight: 700;
  fill: #3b5998;
}

/* 하단 텍스트 (일 번호 / 월 이름) */
.gantt .lower-text {
  font-size: 11px;
  font-weight: 500;
  fill: #64748b;
}

/* 그리드 라인 */
.gantt .grid-row { fill: #ffffff; }
.gantt .grid-row:nth-child(even) { fill: #f8fafc; }
.gantt .row-line { stroke: #f1f5f9; }
.gantt .tick { stroke: #e8ecf1; stroke-dasharray: none; }

/* 월 구분선 — 헤더 아래부터 차트 끝까지 */
.gantt .month-divider {
  stroke: #475569;
  stroke-width: 1;
  stroke-dasharray: 6 4;
  opacity: 0.35;
  pointer-events: none;
}

/* 주말/공휴일 배경 */
.gantt .day-highlight {
  pointer-events: none;
}

/* 오늘 표시 (주황 하이라이트) */
.gantt .today-highlight {
  fill: rgba(255, 109, 1, 0.08);
  stroke: #ff6d01;
  stroke-width: 2;
}

/* 바 스타일 */
.gantt .bar { rx: 5; ry: 5; }
.gantt .bar-label { font-size: 11px; font-weight: 600; fill: #fff; }
.gantt .bar-progress { opacity: 0.2; }

/* 간트 컨테이너 — 메인 차트 영역 */
.gantt-container {
  background: var(--bg);
  overflow-x: auto;
  overflow-y: auto;
}

.gantt-container svg.gantt {
  display: block;
}

/* 가로 스크롤바 */
.gantt-container::-webkit-scrollbar { height: 6px; width: 6px; }
.gantt-container::-webkit-scrollbar-track { background: transparent; }
.gantt-container::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
.gantt-container::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* 간트 팝업 숨기기 (커스텀 모달 사용) */
.gantt .popup-wrapper { display: none !important; }

/* 바 커서 */
.gantt .bar-wrapper { cursor: pointer; }
.gantt .handle { cursor: ew-resize; }

/* 바 호버 — 약간 밝게 + 살짝 올림 */
.bar-wrapper .bar { transition: filter 0.15s, transform 0.15s; }
.bar-wrapper:hover .bar { filter: brightness(1.1) drop-shadow(0 1px 3px rgba(0,0,0,0.15)); }
.bar-wrapper.saving .bar {
  fill: #fbbc04 !important;
  filter: brightness(1.03) drop-shadow(0 1px 3px rgba(251,188,4,0.35));
}
.bar-wrapper.save-error .bar {
  fill: #ea4335 !important;
  stroke: #ea4335;
  stroke-width: 2;
}

/* 바 선택(클릭) — 테두리 강조 */
.bar-wrapper.selected .bar {
  filter: brightness(1.05) drop-shadow(0 0 0 2px rgba(255,109,1,0.8));
  stroke: #ff6d01;
  stroke-width: 2;
}
