/*
 * index.css
 * 메인 대시보드 레이아웃 조정
 */

#dBody {
    position: fixed;
    left: 180px;
    right: 0px;
    top: 0;
    bottom: 0;
    padding: 8px;
    background: #191918;
}

.body-container {
    position: relative;
    right: 30px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    /* box-shadow: 0 10px 40px rgba(0, 0, 0, 0.28); */
    margin: 20px; /* dBody 검은 배경이 보이도록 여백 추가 */
    height: calc(100% - 40px); /* 여백을 고려한 높이 조정 */
}

.header-section {
    /* flex: 0 0 8vh; */
    flex: 0 0 8vh;
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 50px;
    border-bottom: 1px solid #ececec;
}

.greeting-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.greeting-text {
    font-size: 24px;
    /* font-weight: 600; */
    color: #1f1e1b;
    margin: 0;
}

.location-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #7b7973;
}

.notification-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f6f4ef;
    cursor: pointer;
}

/* 알림 아이콘 크기 조정 */
.notification-icon img {
    width: 40px;
}

.middle-section {
    /* flex: 0 0 25vh; */
    /* min-height: 200px; */
    display: flex;
    justify-content: center;
    /* gap: 14px; */
    gap: 18px;
    padding: 14px 20px;
    position: relative;
    z-index: 1; /* AI 옵션 리스트보다 낮게 */
}

.todo-section {
    flex: 0 0 57%;
    border-radius: 18px;
    padding: 0px;
    display: flex;
    overflow: hidden;
}

.todo-frame-wrapper {
    position: relative;
    flex: 1;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
}

/* 투두리스트 wrap */
.todo-frame {
    /* --todo-scale: 0.6; */
    --todo-scale: 1;
    width: calc(100% / var(--todo-scale));
    height: calc(120% / var(--todo-scale));
    border: none;
    transform-origin: top left;
    transform: scale(var(--todo-scale));
    overflow: hidden;
}

.weather-section {
    flex: 0 0 38%;
    width: 80%;
    /* padding: 10px; */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.weather-section {
    width: auto;
}

.weather-frame-wrapper {
    position: relative;
    flex: 1;
    overflow: hidden;
    background: #ffffff;
}

.weather-frame {
    --weather-scale: 0.9;
    /* width: calc(110% / var(--weather-scale)); */
    display: block;
    width: calc(100% / var(--weather-scale));
    height: calc(100% / var(--weather-scale));
    border: none;
    transform-origin: top left;
    transform: scale(var(--weather-scale));
}

.bottom-section {
    flex: 1;
    display: flex;
    /* flex-direction: column; */
    /* align-items: center; */
    /* padding: 5px; 패딩을 최소화하여 달력이 더 많은 공간 차지 */
    /* align-content: stretch; */

    padding-left: 50px;
    padding-right: 32px;
    margin: 0;
    /* gap: 16px; */
}

.view-label {
    font-size: 14px;
    font-weight: 500;
    color: #7b7973;
}

.frame-wrapper {
    flex: 1;
    position: relative;
    display: block;
    background: #ffffff;
    /* border-radius: 20px; */
    overflow: hidden;
    padding: 0;
}

.scaled-frame {
    /* --frame-scale: 0.78; */
    --frame-scale: 1;
    width: calc(100% / var(--frame-scale));
    height: calc(100% / var(--frame-scale)); /*높이를 110%에서 100%로 조정하여 더 많이 채움 
    /* height: 100%; */
    border: none;
    transform-origin: top left;
    transform: scale(var(--frame-scale));
    background: transparent;
}

.menu-item.active .menu-text {
    color: #ffb246;
}

.menu-item.active img {
    filter: brightness(1.2);
}

@media (max-width: 1440px) {
    .scaled-frame {
        --frame-scale: 0.72;
    }

    .todo-frame {
        --todo-scale: 0.68;
    }

    .weather-frame {
        --weather-scale: 0.68;
    }
}

@media (max-width: 1280px) {
    .middle-section {
        flex-direction: column;
        flex: 0 0 auto;
        min-height: unset;
        padding: 0px;
    }

    .todo-section,
    .weather-section {
        flex: 1 1 auto;
    }

    .todo-frame {
        --todo-scale: 0.75;
    }

    .weather-frame {
        --weather-scale: 0.75;
    }
}
