

    .schedule-wrapper {
      width: 100%; 
      max-width: 1200px; /* 2트랙이므로 최대 너비 살짝 조정 */
      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), Session A, Session B (2분할) */
      grid-template-columns: 85px repeat(2, minmax(320px, 1fr));
      /* 로우 구성: 헤더(70px), 10분 단위의 57개 로우 (08:30 ~ 18:00) */
      grid-template-rows: 70px repeat(57, minmax(0, 1fr));
      border-bottom: 1px solid #b5b5b5;
      background-color: #ffffff;
      position: relative;
      gap: 0;
    }

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

    .session { padding: 0 1rem; }

    /* 상단 헤더 스타일 */
    .header {
      background-color: #0070c0; /* 이미지와 유사한 톤의 블루 */
      color: #ffffff;
      text-align: center;
      font-weight: 700;
      font-size: 1.1rem; 
      line-height: 1.5;
      position: relative;
       z-index: 10;
    }

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

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

    /* 좌측 시간축 스타일 */
    .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', sans-serif;
      z-index: 2;
    }

    /* 공통 눈금선 기본 형태 */
    .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.85rem;
      line-height: 1.3;
      border-top: 1px solid #b5b5b5;
      z-index: 3;
      transition: box-shadow 0.2s, transform 0.2s;
    }

    .session:hover {
      z-index: 10;
      transform: scale(1.002);
          box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;

    }

    .session-title {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: center;
      font-size: 1.3rem;
      padding: 0 1rem;
      color: #111;
    }

    /* 컬러 클래스 (이미지 기반) */
    .bg-gray { background-color: #ededed; }
    .bg-lightblue { background-color: #e4f1f9; }
    .bg-white { background-color: #ffffff; }
    .bg-pink { background-color: #fff1fb; }
    .bg-yellow { background-color: #fffae2; }


    /* 가로/세로선 스타일 (배경 그리드) */
    .grid-v-line {
      pointer-events: none;
      z-index: 1;
    }
    .grid-h-line {
      border-bottom: 1px dashed #e5e5e5;
      pointer-events: none;
      z-index: 1;
    }
    .grid-h-line.header-line {
      border-bottom: 0 solid #334155;
      z-index: 5;
    }

    /* 반응형 스타일 */
    .schedule-container::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    .schedule-container::-webkit-scrollbar-thumb {
      background-color: #b5b5b5;
    }

    @media (max-width: 959px) {
      .schedule-wrapper { overflow-x: auto; -ms-overflow-style: none; }
      .schedule-container {
        height: auto;
        grid-template-rows: 60px repeat(57, minmax(20px, auto));
        grid-template-columns: 60px repeat(2, minmax(260px, 1fr));
      }
      .session-title {
        -webkit-line-clamp: unset;
        font-size: 1rem; padding: 0 0.5rem;}
      .time-cell { font-size: 0.95rem; }
    }

    @media only screen and (max-width: 767px){
      .time-cell { font-size: 0.85rem; }
      .schedule-container { grid-template-columns: 60px repeat(2, minmax(120px, 1fr)); }
      .schedule-wrapper {padding-top:2rem;}
      .session {padding: 0 5px;}
      .day-title .day {font-size:1.1rem;} 
      .header {font-size:1rem;}
  }
