@charset "utf-8";

#layout-170 {
    z-index: 1 !important;
    overflow: visible !important;
}

@font-face {
    font-family: 'RoundedFixedsys';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/DungGeunMo.woff') format('woff');
    font-display: swap;
}

/* 전체 wrapper */
.sched-list {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 헤더 */
.cal-nav {
    width: 100%;
}
.cal-nav h2 {
    font-size: 12px;
    font-family: 'RoundedFixedsys';
    font-weight: normal;
    line-height: 36px;
    height: 36px;
    color: #0000ff;
    background-color: #bbbbbb;
    margin: 0;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* << < > >> 버튼 
.cal-nav h2 .cal-nav-btn {
    color: #0000ff;
    text-decoration: none;
    font-family: 'RoundedFixedsys';
    font-size: 12px;
    line-height: 34px;
    padding: 0 3px;
}
.cal-nav h2 .cal-nav-btn:hover { color: #fff; }
*/

/* 년월 타이틀 */
.cal-nav h2 .cal-title {
    color: #0000ff;
    text-decoration: none;
    font-family: 'RoundedFixedsys';
    font-size: 12px;
}
/* 관리자(a태그)만 호버 시 흰색 */
.cal-nav h2 a.cal-title:hover { color: #fff; cursor: pointer; }
/* 일반유저(span태그)는 그대로 */
.cal-nav h2 span.cal-title { cursor: default; }

/* 테이블 */
.sched-list .theme-list {
    border-collapse: collapse;
    width: 100%;
    border: none !important;
    table-layout: fixed;
}

/* 요일 헤더 */
.sched-list .theme-list th {
    padding: 0;
    font-size: 12px;
    font-family: 'RoundedFixedsys';
    line-height: 22px;
    height: 22px;
    background-color: #bbbbbb;
    color: #000;
    border: none !important;
    border-top: 1px solid #000 !important;
    border-bottom: 1px solid #000 !important;
    border-right: 1px solid #000 !important;
    text-align: center;
}
.sched-list .theme-list thead th:last-child { border-right: none !important; }

/* 날짜 칸 */
.sched-list .theme-list td {
    padding: 0;
    font-size: 12px;
    height: 22px;
    line-height: 22px;
    background: none;
    border: none !important;
    border-bottom: 1px solid #000 !important;
    border-right: 1px solid #000 !important;
    vertical-align: middle;
    text-align: center;
    position: relative;
    cursor: default;
}

/* 일요일(첫번째열) 숫자 빨강
.sched-list .theme-list td.left i { color: red; }

/* 토요일(마지막열) 숫자 파랑 
.sched-list .theme-list td.right i { color: blue; }
*/

.sched-list .theme-list td:last-child  { border-right: none !important; }
.sched-list .theme-list tbody tr:last-child td { border-bottom: none !important; }

/* 빈 칸 */
.sched-list .theme-list td.noday { background: none; }

/* 날짜 숫자 */
.sched-list .theme-list td i {
    font-size: 12px;
    font-family: 'RoundedFixedsys';
    line-height: 22px;
    height: 22px;
    display: block;
    font-style: normal;
    position: relative;
    z-index: 32;  /* sched-bars보다 위 */
    color: #fff;
    pointer-events: none;
}

/* 오늘 - inset 선 */
.sched-list .theme-list td.today {
    position: relative;
    z-index: 33;
    /* box-shadow 제거 */
}

/* inset 테두리를 ::after로 최상단에 올리기 */
.sched-list .theme-list td.today::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px #fff;
    z-index: 100;
    pointer-events: none;  /* 클릭 이벤트 방해 안 함 */
}

/* 빈 칸 (날짜가 없는 곳) 배경색 설정 */
.sched-list .theme-list td.noday {
    background-color: #bbbbbb !important; 
    border-bottom: 1px solid #000 !important;
    border-right: 1px solid #000 !important;
}

/* 맨 오른쪽 칸은 오른쪽 테두리 제외 (기존 스타일 유지) */
.sched-list .theme-list td.noday:last-child {
    border-right: none !important;
}

/* 지난 날짜 */
.sched-list .theme-list td.past::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    
    background-color: #000;
    
    /* 대각선 */
    /* 
    background: linear-gradient(
        to bottom right,
        transparent calc(50% - 0.5px),
        rgba(0,0,0) calc(50% - 0.5px),
        rgba(0,0,0) calc(50% + 0.5px),
        transparent calc(50% + 0.5px)
    );
    */
    z-index: 20;
    pointer-events: none;
}

/* 팝업 */
.sched-list .popup_layer {
    position: absolute;
    display: none;
    bottom: 100%;
    left: 0;
    transform: none;
    z-index: 1000;
    background: rgba(0,0,0,0.75);
    color: #fff;
    white-space: normal;
    word-break: keep-all;
    min-width: 172.85px;
    width: max-content; 
    pointer-events: none;
    border: 1px solid #0000ff;
    box-sizing: border-box;
    margin-bottom: 1px;
}

/* 1번째 칸(일요일) - 왼쪽 기준 */
.sched-list .left .popup_layer { left: 50%; transform: translateX(-50%); /*left: 0; transform: none;*/ }

/* 2번째 칸 - 가운데에서 30.5px 오른쪽 */
.sched-list .center-r .popup_layer { left: 50%; transform: translateX(-50%); /*left: calc(50% + 30.5px); transform: translateX(-50%);*/ }

/* 3,4,5번째 칸 - 가운데 */
.sched-list .center .popup_layer { left: 50%; transform: translateX(-50%); }

/* 6번째 칸 - 가운데에서 30.5px 왼쪽 */
.sched-list .center-l .popup_layer { left: 50%; transform: translateX(-50%); /*left: calc(50% - 30.5px); transform: translateX(-50%);*/ }

/* 7번째 칸(토요일) - 오른쪽 기준 */
.sched-list .right .popup_layer { left: 50%; transform: translateX(-50%); /*left: auto; right: 0; transform: none;*/ }

.sched-list .left .popup_layer  { left: 0; transform: none; }
.sched-list .right .popup_layer { left: auto; right: 0; transform: none; }
.sched-list .popup_layer .popup_title {
    font-size: 12px;
    height: 36px;
    font-family: 'Dotum';
    border-bottom: 1px solid #0000ff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    line-height: 36px;
    box-sizing: border-box;
}

.sched-list .popup_layer .popup_title .s_lock i {
    font-size: 9px;
    transform: translateY(-0.5px);
    margin-right: 2px;
}

.sched-list .popup_layer .popup_cont {
    font-size: 11px;
    line-height: 21px;
    height: 21px;
    font-family: 'Dotum';
    word-break: keep-all;
    padding: 0 10px;
}

/* 팝업 제목 링크 스타일 */
.popup_title_link {
    color: inherit;
    text-decoration: none;
}

/* sched-bar 호버 (관리자 클래스 있을 때만) */
.is-admin .sched-bar {
    cursor: pointer;
}
.is-admin .sched-bar:hover {
    opacity: 0.7;
}

/* 일정 색상 */
.sched-list .theme-list td.color_1 { background: none; }
.sched-list .theme-list td.color_2 { background: none; }
.sched-list .theme-list td.color_3 { background: none; }
.sched-list .theme-list td.color_4 { background: none; }
.sched-list .theme-list td.icon    { background: none; }

/* 일정 바 */
.sched-list .sched-bars {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 31;
    pointer-events: none;
}

.sched-list .sched-bar {
    position: relative;
    width: 100%;
    flex: 1;
    pointer-events: auto;
}

/* 팝업 위치 - sched-bar 기준 */
.sched-list .left .sched-bar .popup_layer,
.sched-list .center-r .sched-bar .popup_layer { left: 0; transform: none; }

.sched-list .center .sched-bar .popup_layer { left: 50%; transform: translateX(-50%); }

.sched-list .center-l .sched-bar .popup_layer,
.sched-list .right .sched-bar .popup_layer { left: auto; right: 0; transform: none; }