
/* =========================
   Hybrid Table Common
   ========================= */
.hybrid-container {
    display: flex;
    font-size: 14px;
    border: 1px solid #ccc;
    width: 100%;
    max-height: 400px; /* 세로 영역 높이 */
}
.enrollment-attendance .hybrid-container { max-height: unset;}
/* .hybrid-container table */
.enrollment-attendance .hybrid-container table{ border: none}

/* =========================
   Left Table (Fixed)
   ========================= */

.left-table-wrap {
    flex: 0 0 180px; /* 왼쪽 폭 고정 */
    overflow: hidden; /* 스크롤 숨김 */
    border-right: 1px solid #ccc;
    background: #f5f5f5;
}
.enrollment-attendance .left-table-wrap { flex: 0 0 700px; /* 왼쪽 폭 고정 */ border-right: 2px solid #000}
.left-table {
    width: 100%;
    border-collapse: collapse;
}
.left-table th,
.left-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #ddd !important;
    text-align: left;
    white-space: nowrap;
}

.enrollment-attendance td { padding: 4px 6px !important;  background: #fff; }
.enrollment-attendance th { border-bottom: 2px solid #ababab !important; padding: 6px 12px !important; font-size: 14px !important; text-align: center;}


.static-table-wrap .left-table thead tr:first-child {
    height: 111px;
}


/* =========================
   Right Table (Scrollable)
   ========================= */
.right-table-wrap {
    overflow-x: scroll;
    width: 100%;
}

.enrollment-attendance .right-table-wrap.empty { display: flex; align-items: center; justify-content: center;}
.enrollment-attendance .right-table-wrap.empty .noData { font-size: 1.2rem; color: red; text-align: center;}

.right-table {
    width: max-content; /* 내용만큼 넓이 */
    border-collapse: collapse;
}
.right-table th,
.right-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
    text-align: center;
    white-space: nowrap;
}
.right-table th {
    position: sticky;
    top: 0;
    background: #f5f5f5;
    min-width: 110px; /* 각 열 폭 고정 */
    font-weight: normal;
    font-size: 14px;
}

.enrollment-attendance .right-table th ,.enrollment-attendance .right-table td{ min-width: 36px;;}
.enrollment-attendance .right-table th.today { min-width: 72px; background: var(--bs-blue); color: var(--bs-white);font-weight: 600; }
.enrollment-attendance .right-table td.today { background: rgba(13,110,253,.1);}
.enrollment-attendance .right-table td.disabled { }
.right-table td {
    min-width: 90px; /* 각 열 폭 고정 */
}
.right-table .border-right {
    border-right: 2px dashed #ccc;
}

/* =========================
   Right Table Header 색상
   ========================= */
.right-table .header-dark-gray th {
    color: #fff;
    background: #625B71;
}
.right-table .header-gray th {
    color: #fff;
    background: #9589AE;
}

/* =========================
   Row 색상
   ========================= */
.hybrid-container table .group-total td {
    background: #EAEAEB;
    color: #000;
}
.hybrid-container table .submit td {
    background: #CFCFD4;
    color: #000;
}
.right-table .new,
.right-table .renew {
    background: #CDEAFE;
}
.right-table .change {
    background: #E1FDF7;
}
.right-table .refund {
    background: #FEFFED;
}
.right-table .total {
    background: #FFD5D2;
}
