    /* 전체 페이지 및 컨테이너 스타일 초기화 */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    

    .schedule-wrapper {
      width: 100%; 
      max-width: 1400px;
      margin: 0 auto;
      background-color: #ffffff;
        overflow-x: auto; -ms-overflow-style: none;

    }
    .schedule-wrapper::-webkit-scrollbar{display:none;}

    /* CSS Grid 본체 (한 화면에 맞춰 배치되도록 설정) */
    .schedule-container {
      display: grid;
      /* 컬럼 구성: 시간축(85px), Day 1, Day 2, Day 3 (3일 균등 분할) */
      grid-template-columns: 85px repeat(3, minmax(320px, 1fr));
      /* 로우 구성: 헤더(70px), 10분 단위의 74개 로우 (위쪽 빈칸 2개 삭제 반영) */
      grid-template-rows: 70px repeat(74, minmax(0, 1fr));
      border-bottom: 1px solid #b5b5b5;
    }

    /* 공통 셀 스타일 */
    .header, .time-cell, .session {
      background-color: #ffffff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      overflow: hidden;
    }

 .session {padding:0 1rem;}


    /* 상단 학회 일자 헤더 스타일 */
    .header {
      background-color: #103a5f; /* 신뢰감을 주는 네이비 블루 */
      color: #ffffff;
      text-align: center;
      font-weight: 700;
      font-size: 1rem; line-height: 1.5;
    }

    .day-title {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }

    .day-title .day {
      font-size: 1rem;
      letter-spacing: 0.5px;
    }

    .day-title .theme {
      font-weight: 400;
      color: #c4c4c4;
      text-align: center;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    /* 좌측 시간축 스타일 (요청하신 눈금 구조 반영) */
    .time-cell {
      position: relative;
      border-right: 1px solid #b5b5b5; /* 메인 세로축 선 */
      color: #103a5f85;
      font-size: 1.1rem;
     padding-right: 5px;
      justify-content: flex-start;
      text-align: right;
      font-family: Bebas Neue;
    }

    /* 공통 눈금선 기본 형태 */
    .time-cell::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      height: 1px;
      background-color: #c2c2c2;
    }

    /* 10분 단위: 짧은 눈금 (텍스트 없음) */
    .time-cell.tick-10::before {
      width: 8px;
      background-color: #cecece;
    }

    /* 30분 및 정각 단위: 긴 전체 가로선 (텍스트 표시) */
    .time-cell.tick-30::before {
      width: 100%;
      background-color: #b5b5b5;
      height: 1px;

    }

    /* 개별 학회 세션 카드 스타일 */
    .session {

      font-size: 0.8rem;
      line-height: 1.3;
      background-color: #eff6ff;
    }

    .session:hover {
      background-color: #dbeafe;
      transform: scale(1.002);
    }

    .session-time {
      font-size: 0.7rem;
      color: #2563eb;
      margin-bottom: 3px;
      font-weight: 700;
      display:none;
    }

    .session-title {
      display: -webkit-box;
      -webkit-line-clamp: 3; /* 영역 내 가독성을 위해 최대 3줄 제한 */
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: center;
     font-size: 1rem;
     padding:0 2rem;
    }
    

    /* 브레이크 (커피/점심시간) 스타일 - 그레이 톤 */
    .session.break {
      background-color: #f1f5f9;
      align-items: center;
      text-align: center;
    }
    
    .session.break .session-title {
      color: #545454;
    }

    /* 만찬 및 특별 이벤트 스타일 - 은은한 보라색 톤 */
    .session.event {
      background-color: #f3e8ff;
      align-items: center;
      text-align: center;
    }

    .session.event .session-time {
    }

    .session.event .session-title {
    }

    /* 반응형 및 스크롤바 디자인 (데스크톱 내부 스크롤 대응) */
    .schedule-container::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .schedule-container::-webkit-scrollbar-thumb {
      background-color: #b5b5b5;
    }

    /* 화면 해상도가 낮아지거나 태블릿/모바일 환경일 때 가로 스크롤 허용 */
    @media (max-width: 1024px) {
      .schedule-wrapper {
        overflow-x: auto; -ms-overflow-style: none;
      }
      .schedule-container {
        height: auto;
        min-height: 1200px;
        grid-template-rows: 60px repeat(74, minmax(20px, auto));
        grid-template-columns: 60px repeat(3, minmax(260px, 1fr));
      }
      .session-title {
        -webkit-line-clamp: unset; /* 모바일스크롤 모드에선 텍스트 다 보여줌 */
        font-size: .8rem; padding: 0 1rem;}
        .day-title .theme {font-size:.8rem;}
        .time-cell {font-size: 1rem;}

    .schedule-wrapper::-webkit-scrollbar{display:none;}
    }
  


@media only screen and (max-width: 767px){
          .day-title .theme {font-size:.75rem;}
          .time-cell {font-size: .9rem;}
          .schedule-container {grid-template-columns: 60px repeat(3, minmax(240px, 1fr));}
          .agenda {flex-wrap: wrap;}
}






    /* === ADDED CSS FOR GRID LINES & COLORS === */
    .schedule-container {
      background-color: #ffffff; /* 컨테이너 배경 흰색 */
      position: relative;
      gap: 0; /* 기존 갭 제거하고 직접 선을 그립니다 */
    }

    /* 가로/세로선 스타일 */
    .grid-v-line {
      border-right: 1px solid #b5b5b5;
      pointer-events: none;
      z-index: 1;
    }
    .grid-h-line {
      border-bottom: 1px dashed #e5e5e5; /* 10분 단위는 점선 */
      pointer-events: none;
      z-index: 1;
    }
   
    .grid-h-line.header-line {
      border-bottom: 0 solid #334155; /* 헤더 아래 굵은 선 */
      z-index: 5;
    }


    /* 세션은 흰색 베이스에 테두리로 요일 구분하거나, 아주 연한 배경색 적용 */
    .session {
      border-top: 1px solid #b5b5b5;
      z-index: 3;
      background-color: #ffffff;
      margin: 0; /* 겹치지 않게 약간 여백 */
      transition: box-shadow 0.2s, transform 0.2s;
    }
    .session:hover {
      box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
      z-index: 10;
    }
    
    .session.day1-session {background: #fff2ec; border-right:1px solid #b5b5b5;}
    .session.day2-session {background: #e7f6f5; border-right:1px solid #b5b5b5;}
    .session.day3-session {background: #fffae2;}

    /* 타임 셀 선명하게 */
    .time-cell {
      z-index: 2;
    }
