/* --- Index Page Summary Table Specific Styles --- */

/* General Styling */
.summary-table {
    table-layout: fixed; /* 칼럼 폭을 균등하게 계산 */
    width: 100%;         /* 테이블 전체를 화면에 맞춤 */
}

.page-index .summary-table th,
.page-index .summary-table td {
    padding: 0.3vh 0.1vw;       /* vh/vw 단위로 반응형 패딩 */
    text-align: center;
    font-size: var(--summary-font-size);
    line-height: clamp(1.5em, 4vh, 8em);      /* 기본 줄 간격 */
}

/* Custom column widths */
.page-index .summary-table #summary-col-1 {
        width: 2.5%;    
}
.page-index .summary-table #summary-col-2 {
    width: 2.5%;                  /* 퍼센트 단위로 반응형 */
}
.page-index .summary-table #summary-col-3 {
    width: 6%;
}
.page-index .summary-table #TotalValue {
    width: 7.5%;
}

/* D-Group Labels */
.page-index .summary-table .sub-item-header,
.page-index .summary-table .punch-merged-cell {
    font-size: calc(var(--summary-font-size) * 1);
}

/* Data Cells */
.page-index .summary-table .discipline-value {
     font-size: calc(var(--summary-font-size) * 1);
}

/* Progress Bar Spacing */
.page-index .main-item .progress-bar-container:first-child {
    margin-bottom: 3vh;
     font-size: calc(var(--summary-font-size) * 1);
}


/* --- Progress Bar Spacing Control --- */
.page-index .main-item .progress-bar-container:first-child {
    margin-bottom: 1.5vh; /* Use viewport height for responsive spacing between the two graphs */
    font-size: calc(var(--summary-font-size) * 1); /* Make font size responsive and slightly smaller */
    /* 원하는 간격으로 조정하세요 (예: 0.5vh, 10px 등) */
}

/* Index-specific tbody padding */
body.page-index .summary-table tbody td {
    padding: 1.1vh 0;
}

/* Mobile (≤768px) */
@media (max-width: 768px) {
    html { overflow-x: visible; }
    #summary-container {
        overflow-x: auto;
        width: auto;
    }
    .summary-table {
        table-layout: auto;
        width: auto;
        min-width: 768px; /* 모바일에서 스크롤 유도 */
    }
    .summary-table th, .summary-table td {
        font-size: clamp(9px, 1.5vw, 16px);
        width: auto;
        line-height: 1.4;
    }
}

@media (min-width: 1920px) {
  body.page-index .summary-table tbody td {
    padding: 1.1vh 0 !important;
  }
}

@media (min-width: 2560px) {
  body.page-index .summary-table tbody td {
    padding: 1.5vh 0 !important;
  }
}

@media (min-width: 3840px) {
  body.page-index .summary-table tbody td {
    padding: 1.7vh 0 !important;
  }
}

/* Base font size variable */
body.page-index {
    --summary-font-size: clamp(12px, 1vw, 17px);
    padding: 2px;
}

/* Discipline header overrides */
body.page-index .discipline-header {
    cursor: default !important;
}
body.page-index .summary-table thead th.discipline-header:hover {
    background-color: #343a40 !important;
}
