@charset "utf-8";

/* FullCalendar shadcn 스타일 개선 */
.fc-view-harness {
  border-top: none;
  border-radius: 0;
  overflow: hidden;
}

/* 스크롤 제거 - 모바일만 적용 */
@media (max-width: 768px) {
  .fc-view-harness {
    overflow: visible !important;
    height: auto !important;
  }
  .fc-scroller {
    overflow: visible !important;
    height: auto !important;
  }
  .fc-scroller-liquid-absolute {
    position: relative !important;
  }
}

/* PC에서는 정상 높이 유지 */
@media (min-width: 769px) {
  .fc-view-harness {
    min-height: 600px;
  }
  .fc-scroller {
    overflow-y: auto;
  }
}

/* 달력 컨테이너 border/shadow 제거 */
#bo_list {
  box-shadow: none !important;
  border: none !important;
}

/* 토/일 글자색상 및 배경색상 */
.fc-day-sun a, .fc-day-sun a.fc-daygrid-day-number { color:#ef4444; font-weight:500; }
.fc-day-sat a, .fc-day-sat a.fc-daygrid-day-number { color:#3b82f6; font-weight:500; }
.fc-day-sat { background: #f0f9ff; display:none; }
.fc-day-sun { background: #fef2f2; display:none; }

/* 달력 헤더 (월 ~ 토) - shadcn 스타일 */
.fc-col-header-cell {
  height:48px;
  vertical-align: middle !important;
  background:#f9fafb;
  border: 1px solid #e5e7eb !important;
  border-bottom: 2px solid #d1d5db !important;
  font-weight:600;
  color:#374151;
  font-size:14px;
}
.fc .fc-col-header-cell-cushion {
  padding:12px 8px !important;
}

/* 글쓰기 텍스트 및 배경 색상 선택 */
.clr-list {list-style:none;}
.clr-list > .clr-title { height:26px; line-height:26px; margin-right:10px; }
.clr-list:after {display:block;visibility:hidden;clear:both;content:''}
.clr-list > li {float:left}
.clr-list > li .btn-color {display:block; margin: 0 1px; width:26px; height:26px; border-radius: 3px; border:1px solid #ccc; }
.clr-list > li .user-color { outline:none; border:1px solid #ccc; width:70px !important; text-align:center; }
.color-sample { display:block; width:100%; height:30px; line-height:30px; text-align:center; background:#3788D8; color:#ffffff; border-radius:5px; }

/* 달력 툴바 - shadcn 스타일 */
.fc-toolbar-chunk:nth-child(1) { text-align:left; }
.fc-toolbar-chunk:nth-child(2) { text-align:center; }
.fc-toolbar-chunk:nth-child(3) { text-align:right; }
.fc-toolbar-chunk > h2 {
  display: inline-block;
  padding-top:0 !important;
  font-size:20px;
  font-weight:700;
  color:#1f2937;
}

/* 툴바 버튼 - shadcn 스타일 */
.fc .fc-button {
  border:1px solid #e5e7eb !important;
  background:#ffffff !important;
  color:#374151 !important;
  border-radius:8px !important;
  padding:8px 16px !important;
  font-weight:500 !important;
  font-size:14px !important;
  transition:all 0.2s ease !important;
  box-shadow:0 1px 2px 0 rgba(0,0,0,0.05) !important;
}
.fc .fc-button:hover {
  background:#f9fafb !important;
  border-color:#667eea !important;
  color:#667eea !important;
  transform:translateY(-1px);
  box-shadow:0 2px 4px rgba(102,126,234,0.1) !important;
}
.fc .fc-button-active {
  background:linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  border-color:transparent !important;
  color:#ffffff !important;
  box-shadow:0 4px 6px -1px rgba(102,126,234,0.3) !important;
}
.fc-prev-button { display:inline-block; }
.fc-next-button { display:inline-block; margin-left:8px !important; }
.fc .fc-today-button {
  margin-left:8px !important;
}

/* 월 버튼 - 기본 숨김 (10등급만 표시) */
.fc-dayGridMonth-button,
.fc-dayGridWeek-button,
.fc-dayGridDay-button {
  display: none !important;
}
/* 10등급일 때만 표시 */
body.admin-level-10 .fc-dayGridMonth-button,
body.admin-level-10 .fc-dayGridWeek-button,
body.admin-level-10 .fc-dayGridDay-button {
  display: inline-block !important;
}

/* 카테고리 - shadcn 스타일 */
.category {
  display:inline-flex;
  align-items:center;
  background:#ffffff;
  color:#374151;
  height:auto;
  line-height:1;
  padding:8px 16px !important;
  text-align:center;
  margin-right:8px;
  border-radius:8px;
  cursor:pointer;
  border:1px solid #e5e7eb;
  font-weight:500;
  font-size:14px;
  transition:all 0.2s ease;
}
.category:hover {
  background:#f9fafb;
  border-color:#667eea;
  color:#667eea;
  transform:translateY(-1px);
  box-shadow:0 2px 4px rgba(102,126,234,0.1);
}
.category-active {
  background:linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  color:#ffffff !important;
  border-color:transparent !important;
  box-shadow:0 4px 6px -1px rgba(102,126,234,0.3) !important;
}

/* 이벤트 바 - 모던 스타일 */
.fc-event-main-frame {
  height:auto;
  min-height:30px;
  line-height:1.5;
  font-size:13px;
  padding:6px 10px;
  font-weight:500;
}
.fc-daygrid-event {
  font-size:13px !important;
  border-radius:8px !important;
  border:none !important;
  box-shadow:0 1px 3px 0 rgba(0,0,0,0.12), 0 1px 2px 0 rgba(0,0,0,0.08) !important;
  margin:3px 6px !important;
  cursor:pointer;
  transition:all 0.2s ease;
}
.fc-daygrid-event:hover {
  transform:translateY(-2px);
  box-shadow:0 6px 12px -2px rgba(0,0,0,0.2) !important;
}

/* 날짜 글자 크기 - 개선 */
/* 2026-03-10: 10일 등 2자리 날짜 깨짐 방지 - 글씨 축소 */
.fc-daygrid-day-number {
  font-size:12px;
  font-weight:600;
  color:#1f2937;
  padding:10px;
}
/* 2026-03-10: width 고정 → min-width + nowrap으로 2자리 날짜 줄바꿈 방지 */
.fc-day-today .fc-daygrid-day-number {
  background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color:#ffffff !important;
  border-radius:10px;
  min-width:30px;
  height:30px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  white-space:nowrap;
  box-shadow: 0 4px 6px -1px rgba(102,126,234,0.3);
}

/* 오늘 날짜 배경 */
.fc-day-today {
  background:#f0f4ff !important;
  border-color:#bfdbfe !important;
}

/* 글쓰기 버튼 */
.rumi-write { position:absolute; top:6px; left:7px; font-size:15px; color:#ccc; cursor:pointer; }
.rumi-write:hover { background:#dd6666; color:#fff; border-radius:50%; padding:5px; top:1px; left:2px}

/* 날짜/음력/공휴일 높이 */
.fc-daygrid-day-top { height:auto; padding:8px; }

/* 달력 셀 스타일 개선 */
.fc-daygrid-day {
  background:#ffffff;
  transition:all 0.2s ease;
  border: 1px solid #e5e7eb !important;
}
.fc-daygrid-day:hover {
  background:#f9fafb;
  border-color:#cbd5e1 !important;
}
.fc-daygrid-day-frame {
  min-height:100px;
  padding:4px;
}

/* 달력 테두리 - shadcn 스타일 */
.fc-theme-standard td,
.fc-theme-standard th {
  border-color:#e5e7eb !important;
}
.fc-scrollgrid {
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1) !important;
}
.fc-scrollgrid-section > * {
  border-color: #e5e7eb !important;
}
.fc-scrollgrid-sync-table {
  border-color: #e5e7eb !important;
}

/* 음력 / 공휴일 */
.rumi-lunarday { position: absolute; top: 20px; right: 5px; font-size: 10px; color:#888;display:none }
.rumi-lunarholiday { position: absolute; top: 5px; left: 25px; font-size: 11px; color:#FF2F2F; }
.week-rumi-lunarset { display: block; width:100%; }
.week-rumi-lunarday { display:inline-block; font-size: 11px; color:#888; }
.week-rumi-lunarholiday { display:inline-block;  font-size: 11px; color:#FF2F2F; margin-left:8px; }

/* fullcalendar 설정 */
.wz_tbl_1,.wz_tbl_1 th,.wz_tbl_1 td{border:0;}
.wz_tbl_1{width:100%;text-align:center;margin: 7px 0 0px;}
.wz_tbl_1 table {clear:both;width:100%;border-collapse:collapse;border-spacing:0;background-color:#fff}
.wz_tbl_1 tbody, .wz_tbl_1 tr, .wz_tbl_1 td {vertical-align:middle}
.wz_tbl_1 caption{display:none}
.wz_tbl_1 th { height:37px; padding:3px 0px; border:1px solid #dcdcdc;color:#666;text-align:center;font-weight:bold;background-color: #fbfbfb;}
.wz_tbl_1 td { height:37px; padding:3px 5px; border:1px solid #e5e5e5; color:#4c4c4c; text-align:left;}
.wz_tbl_1 th span.last:after {border:none;}
.wz_tbl_1 td .numberic {text-align:right;padding-right:4px;}
.wz_tbl_1 ul li { display:inline-block; margin-right:10px; }

/* 일정 상세보기 (view.skin.php) - shadcn 스타일 */
#bo_v_info .info-row {
    display: block;
    margin-bottom: 12px;
    width: 100%;
}

#bo_v_info .info-label {
    display: block;
    padding: 8px 12px;
    background: #374151;
    color: #fff;
    border-radius: 8px 8px 0 0;
    font-weight: 500;
    font-size: 13px;
}

#bo_v_info .info-content {
    display: block;
    padding: 12px 16px;
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-top: none;
    border-radius: 0 0 8px 8px;
    font-size: 14px;
    line-height: 1.6;
}

#bo_v_info .info-content strong {
    font-weight: 600;
    color: #1f2937;
}