a{text-decoration: none;color: #000;}
*{box-sizing: border-box;margin: 0;padding: 0;}
ul,ol,li{margin: 0;padding: 0;list-style: none;}
button{font-weight: 700; font-size: 14px; cursor: pointer; font-family: 'Pretendard';background-color: transparent;border: 0;}

input{font-family: 'Pretendard';outline: none;color: #666;}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox  */
input[type='number'] {
  -moz-appearance: textfield;
}
label {
    cursor: pointer;
    font-weight: 700;
}

input[type='date']::-webkit-calendar-picker-indicator {
    color: #999; /* 아이콘 색상 #999 */
    filter: invert(36%) sepia(0%) brightness(60%) contrast(50%);
    cursor: pointer;
}

input[type="date"] {
    position: relative;
    /* 필요한 경우 input의 크기를 설정합니다 (예: width, height) */
}

/* 웹킷(Chrome, Safari 등) 기반 브라우저 대상 */
input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute; /* 절대 위치 지정 */
    top: 50%;
    padding-left: 80%;
    transform: translateY(-50%);
    right: 10px;
    width: 16px;   ; /* 너비와 높이를 자동으로 설정하여 input 전체를 덮음 */
    height: 16px;
    cursor: pointer; /* 마우스 오버 시 포인터 표시 */
    /* background: transparent; 이 속성만으로도 기본 아이콘을 숨길 수 있습니다 */
}

/* Firefox 대상 (일부 속성만 지원) */
input[type="date"]::-moz-calendar-picker-indicator {
    /* Firefox는 -webkit- 의사 요소만큼의 강력한 제어를 지원하지 않아 제한적일 수 있습니다 */
}



html, body {
	overscroll-behavior:none; 
    background-color: rgba(219, 234, 254, 0.25);
    width: auto;
    min-width: auto;
}

html{
    min-height: 100%;
    height: auto;
    max-height: 100%;
    overflow-y: auto;
}
body{
    background-color: rgba(219, 234, 254, 0.0);
    height: 100%;
    font-family: 'Pretendard';
    -ms-overflow-style: none;
    min-width: auto;
}
body.height-auto{height: auto;min-height: 100%;}


section{height: 100%;min-height: 100%;}

section.w-1920{
    min-width: 1800px;
    min-height: calc(100vh - 17px);
    max-height: 950px;
    height: auto;
}
/* 로그인 페이지 디자인 */
.login-wrap{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 480px;
    margin: 0 auto;

}
.login-inner{
    padding: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 32px;
    width: 100%;
}
.login-icon>svg{margin: 0 auto;}
.login-form{
    width: 100%;
    max-width: 480px;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 1px 20px 32px 0px rgba(153, 153, 153, 0.25);
    background-color: #fff;
}
.login-form>h2{
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 32px;
}

.form-item{margin-bottom: 24px;}
.form-item:last-of-type{margin-bottom: 0;}
.form-item>p{font-size: 13px;font-weight: 600;}
.form-item>input{
    font-size: 14px;
    width: 100%;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #D9D9D9;
    padding: 0 10px;
    margin-top: 5px;
}
.form-item>input:placeholder{color: #999;font-size: 14px;}

.form-error{
    color: #E83F49;
    font-weight: 600;
    font-size: 13px;
}
.btn-login{
    width: 100%;
    height: 40px;
    border-radius: 10px;
    border: 1px solid #007BFF;
    padding: 0 10px;
    margin-top: 5px;
    background-color: #007BFF;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin-top: 30px;
}

/* ======================= */
/* 채팅창-고정 */
.chat-wrap{
    position: fixed;
    right: 0;
    top: calc(80px + 32px);
    z-index: 10;
    display: flex;flex-direction: row-reverse;

}
.chat-btn{
    position: relative;
    background-color: #fff;
    border-radius: 50px 0 0 50px;
    padding: 16px;
    border: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 50px;
    max-height: 50px;
    box-shadow: 1px 20px 32px 0px rgba(153, 153, 153, 0.25);
}


.chat-btn svg{
    width: 20px;
    height: 20px;
}

.chat-btn.active{
    color: #007BFF;
    border-radius: 0;
    border-left: none;
}

.chat-btn.active::after{
    content: '';
    position: absolute;
    top: 0;
    left: -1px;
    width: 2px;
    height: 100%;
    background: #fff;
    z-index: 12;
}


.chat-btn span{
    position: absolute;
    top: 50%;
    right: 8px;
    background-color: #FF0000;
    color: #fff;
    border-radius: 50px;
    min-width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 3px;

}
.chat-inner{
    overflow: hidden;
    display: none;
    flex-direction: column;
    background-color: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 24px 0 24px 24px;
    width: 360px;
    height: calc(100dvh - 160px);
    max-height: calc(100dvh - 160px);
    z-index: 11;
    
}

.chat-btn.active ~ .chat-inner,
.chat-wrap:has(.chat-btn.active) .chat-inner{
    display: flex;
}

.chat-inner>h1{
    padding: 24px;
    font-size: 24px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.chat-inner .chat-close-btn{
    display: none;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    color: #666;
}
.chat-inner .chat-close-btn svg{width: 18px;height: 18px;}
.chat-inner-wrap{
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}
.chat-content>p{font-weight: 600; font-size: 14px; border-bottom: 1px solid #D9D9D9;padding: 0 24px;padding-bottom: 5px;}

.chat-content{
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}
.chat-list-wrap{
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.chat-item{
    background-color: #F9F9F9;
    border: 1px solid #D9D9D9;
    border-radius: 0px 16px 16px 16px;
}
.chat-item-top{
    padding: 12px 16px;
    border-bottom: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.chat-item-top>p{
    font-weight: 600;
    font-size: 14px;
    color: #343434;
    margin: 0;
}
.chat-item-top>span{
    font-size: 13px;
    color: #666;
}
.chat-item-bottom{
    padding: 12px 16px;
}
.chat-item-bottom>p{
    font-size: 13px;
    color: #343434;
    line-height: 1.6;
    margin: 0;
    word-wrap: break-word;
}

.my-chat{
    background-color: rgba(0, 123, 255, 0.1);
    border-color: rgba(0, 123, 255, 0.1);
    border-radius: 16px 0 16px 16px;
}
.chat-del-btn{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.chat-del-btn>button{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    border-radius: 8px;
    background-color: #666666;
    color: #fff;
    cursor: pointer;
}
.chat-del-btn>button>svg{
    width: 16px;
    height: 16px;
}


.last-content{
    margin-top: 24px;
    flex: 0 0 auto;
}
.chat-input{
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background-color: #fff;
    border: none;
    outline: none;
    padding: 24px;


}
.chat-input>textarea{
    padding: 10px;
    width: 100%;
    border: 1px solid #D9D9D9;
    outline: none;
    background-color: transparent;
    font-size: 14px;
    color: #666666;
    border-radius: 10px;
    font-family: 'Pretendard';
    resize: none;
    min-height: 36px;
    max-height: 80px;
    height: 36px;
    overflow-y: hidden;
    line-height: 16px;
}
.chat-input>textarea::placeholder{
    color: #666;
    font-size: 14px;
}
.chat-input>button{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-radius: 8px;
    background-color: #007BFF;
    color: #fff;
    cursor: pointer;
    height: 36px;
    width: 36px;
}
.chat-input>button:hover{
    background-color: #0056b3;
}
.chat-input>button>svg{width: 18px; height: 18px;}


.inner-content{width: 100%;height: 100%;}

/* ======================= */
/* 사이드바 메뉴-고정 */
.fix-menu{
    position: fixed;
    top: 160px;
    left: 32px;
    padding-right: 0;
    height: fit-content;
    z-index: 1;
}
.menu-inner{

    width: 280px;
    background-color: #fff;
    border-radius: 24px;
    padding: 0;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}
.menu-header{
    padding: 24px;
    padding-bottom: 5px;
    border-bottom: 1px solid #D9D9D9;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.menu-list{padding: 8px;display: flex;flex-direction: column;gap: 3px;}
.menu-item{transition: all 0.3s; color: #343434; cursor: pointer; border-radius: 10px; font-weight: bold;font-size: 16px; display: flex;align-items: center;gap: 10px;padding: 16px;}
.menu-item>svg{width: 18px;height: 18px;color: #007BFF; }

.menu-item.active{background-color: rgba(0, 123, 255, 0.1);color: #007BFF;}
.menu-item:hover{background-color: rgba(0, 123, 255, 0.1);color: #007BFF;}
.menu-item.active>svg{color: #007BFF;}
.menu-item:hover>svg{color: #007BFF;}

/* ======================= */
/* 상담문의 */
.fix-inquiry{
    position: fixed;
    bottom: 24px;right: 24px;
    z-index: 9;
}

.inquiry-fab{
    border: 1px solid #007BFF;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 24px;
    background: #007BFF;
    color: #fff;
    box-shadow: 0 20px 32px rgba(153, 153, 153, 0.25);
}
.inquiry-fab:hover{background: #0056b3;}
.inquiry-fab svg{width: 28px;height: 28px;}

.inquiry-modal{
    overflow: auto;
    display: none;
    position: absolute;
    right: 0;
    bottom: 72px; /* 버튼 위로 */
    width: 420px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(1px);
    color: #fff;
    border-radius: 24px;
    padding: 24px;
}
.inquiry-modal.open{display: block;}
.inquiry-header{display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;}
.inquiry-header h2{width: 100%; font-size: 24px; font-weight: 600;display: flex;align-self: center;justify-content: space-between;}

.inquiry-modal .inquiry-close-btn{
    display: none;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    color: #fff;
}
.inquiry-modal .inquiry-close-btn svg{width: 18px;height: 18px;color: #fff;}


.inquiry-close{width: 32px; height: 32px; border-radius: 8px; color: #fff;}
.inquiry-close:hover{background: rgba(255,255,255,0.12);}    

.inquiry-form{display: flex; flex-direction: column; gap: 12px;}
.inq-item input,
.inq-item textarea{
    width: 100%;
    border: none;
    outline: none;
    border-radius: 12px;
    background: #fff;
    color: #333333;
    padding: 12px 14px;
    font-size: 14px;
    font-family: 'Pretendard';
    font-weight: 500;
    resize: none;
}
.inq-item input::placeholder,
.inq-item textarea::placeholder{color: #333;}
.inq-item input{height: 44px;}
.inq-item textarea{min-height: 120px; resize: vertical;resize: none;}
.inq-submit{
    min-height: 45px;
    transition: all 0.3s;
    margin-top: 8px;
    width: 100%;
    height: 44px;
    border-radius: 12px;
    background: #007BFF;
    color: #fff;
    font-weight: 700;
}
.inq-submit:hover{background: #0056b3;}


/* ======================= */
/* 공통 스타일 */
.pl-345{padding-left: 345px;}
.pl-32{padding-left: 32px !important;}
.inner-content h3{gap: 10px; display: flex;align-items: center;justify-content: space-between; font-size: 20px;font-weight: 600;margin-bottom: 24px;position: relative;}
.inner-content h3>.backBtn{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 14px;
    border: 1px solid #D9D9D9;
    color: #343434;
    width: 32px;height: 32px;
}
.inner-content h3>.backBtn>svg{width: 18px;height: 18px;}

.popup-wrap{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1px);
    z-index: 100;
    display: none;
    
}
.popup-wrap.open{display: block;}
.popup-inner{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 800px;
    background-color: #fff;
    border-radius: 24px;
    box-shadow: 1px 20px 32px rgba(153, 153, 153, 0.25);
    overflow-y: auto;
    width: calc(100% - 24px);
    height: auto;
    max-height: calc(100% - 78px);

    
}
.popup-header{position: relative;}
.popup-header>h3{
    display: flex;
    align-items: center;
    font-weight: 600;font-size: 24px;
    padding: 48px 24px 0 24px;
}
.popup-header>p{
    display: block;
    font-size: 16px;
    color: #121212;
    margin-top: 5px;
    padding: 0 24px;
}



/* 커스텀 셀렉트 박스 */
.select_cus{
    position: relative;
    min-width: 150px;
    max-width: 210px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: 1px 8px 16px rgba(153, 153, 153, 0.25);
    border: 1px solid transparent;
    outline: none;
}

.select_cus .trigger{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 26px;
}

.select_cus .trigger svg{
    min-width: 16px;
    min-height: 16px;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.3s;
    color: #333;
}

.select_cus.active .trigger svg{
    transform: rotate(180deg);
}

.select_cus .option{
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
    list-style: none;
    border: 1px solid #D9D9D9;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 10;
    max-height: 200px;
    overflow-y: auto;
}

.select_cus.active .option{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.select_cus .option li{
    padding: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #343434;
    transition: all 0.3s;;
    font-weight: 500;
}

.select_cus .option li:hover{
    background-color: #f5f5f5;
}

.select_cus .trigger_txt{
    font-size: 14px;
    color: #333;
    flex: 1;
}

.select_cus .option li p{
    margin: 0;
}




.select_cus>input[type="text"]{
    background-color: transparent;
    outline: none;
    border: none;
    font-size: 14px;
    width: 100%;
}
.select_cus>input[type="text"]::placeholder{
    color: #666;
    font-size: 14px;
}

.select_cus>button.search-btn{color: #666;}
.select_cus>button.search-btn:hover{color: #007BFF;}



/* 팝업-커스텀 셀렉트 박스 */
.select_cus_time{
    position: relative;
    max-width: fit-content;
    width: 100%;
    max-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
    border: 1px solid #D9D9D9;
}

.select_cus_time .trigger{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.select_cus_time .trigger svg{
    min-width: 16px;
    min-height: 16px;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.3s;
    color: #333;
}

.select_cus_time.active .trigger svg{
    transform: rotate(180deg);
}

.select_cus_time .option{
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
    list-style: none;
    border: 1px solid #D9D9D9;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 10;
    max-height: 200px;
    overflow-y: auto;
}

.select_cus_time.active .option{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.select_cus_time .option li{
    padding: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #343434;
    transition: all 0.3s;
    font-weight: 500;
}

.select_cus_time .option li:hover{
    background-color: #f5f5f5;
}

.select_cus_time .trigger_txt{
    font-size: 14px;
    color: #333;
    flex: 1;
    width: 100%;
}

.select_cus_time .option li p{
    margin: 0;
}










/* ======================= */
/* 일정추가 팝업 디자인 */
.popup-item-box{border-top: 1px solid #D9D9D9;padding: 24px;
    padding-bottom: 0;margin-bottom: 24px;
display: flex;align-items: center;
flex-wrap: wrap;
gap: 16px;
font-size: 14px;
}
.popup-item-box>h3{
    font-size: 18px;
    font-weight: 600;
    color: #121212;
}


.title-item-box{
    border-top: none;border-bottom: 1px solid #D9D9D9;
    padding: 24px 24px 5px 24px;

}

.title-item-box>input{
    width: 100%;
    border: none;
    outline: none;
    background: #fff;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    font-family: 'Pretendard';
}
.title-item-box>input::placeholder{color: #999;}
.popup-item>p{
    padding: 24px 24px 5px 24px;
    padding-top: 0;
    margin-top: 24px;
    font-size: 14px;
    font-weight: 600;
    color: #343434;

}
.popup-item>strong{
    display: inline-block;
    padding: 24px;
    font-size: 14px;
    font-weight: 600;
    color: #343434;
}
.assignee-box{
    display: flex;
    align-items: center;
    gap: 10px;
}
.assignee-name{
    font-size: 18px;
    font-weight: 600;
    color: #343434;
}



.date-box{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
}
.date-box>input{
    color: #666;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    max-width: 150px;
    max-height: 36px;
}

.time-select-group{
    display: flex;
    align-items: center;
    gap: 10px;
}
.time-select-group>span{
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.place-box{
    display: flex;
    align-items: center;
    width: 100%;
}

.place-box>input{
    color: #666;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
}
.place-box>input::placeholder{color: #666;}

.tag-box{
    display: flex;
    align-items: center;
    gap: 10px;
}
.tag-dot{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #D9D9D9;
    color: #fff;
    font-size: 12px;
}

.tag-dot>svg{display: none;}
.tag-dot.red{background-color: #E83F49;}
.tag-dot.orange{background-color: #FFA500;}
.tag-dot.yellow{background-color: #FFD700;}
.tag-dot.green{background-color: #008000;}
.tag-dot.blue{background-color: #0000FF;}
.tag-dot.gray{background-color: #808080;}

.tag-dot.active svg{display: block;}




.popup-footer-btn{display: flex; align-items: center; gap: 8px; padding: 24px 24px 24px 24px; border-top: 1px solid #D9D9D9;}
.popup-footer-btn>button{transition: all 0.3s;border: 1px solid #fff;  display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 16px; border-radius: 12px; color: #fff; font-weight: 700;}
.popup-addBtn{background: #007BFF;}
.popup-addBtn:hover{background: #0056b3;}
.popup-closeBtn{background: #666666;}
.popup-closeBtn:hover{background: #555555;}
.popup-editBtn{background: #007BFF;}
.popup-editBtn:hover{background: #0056b3;}
.popup-dellBtn{background: #E83F49;}
.popup-dellBtn:hover{background: #c72d3d;}


/* ======================= */
/* 일정목록 팝업 디자인 */
.add-btn{position: absolute;
    right: 24px;
    top: 48px;
    height: 36px; display: flex;align-items: center; justify-content: center; gap: 8px; padding: 12px 14px; border-radius: 12px; background: #007BFF; color: #fff; font-weight: 700;}
.add-btn:hover{background: #0056b3;}



.popup-time-box{padding: 0;padding-right: 24px;margin-bottom: 0;}
.popup-time-box:last-of-type{border-bottom: 1px solid #D9D9D9;}
.schedule-list{
    display: flex;
    align-items: center;
}
.popup-header>h3>span{
    margin-right: 5px;
}


.schedule-time{
    display: flex;
    align-items: center;
}


.tag-line{width: 3px; height: 100%;min-height: 100px; background: #10c469; margin-right: 16px;}

.tag-line.red{background: #E83F49;}
.tag-line.orange{background: #FFA500;}
.tag-line.yellow{background: #FFD400;}
.tag-line.green{background: #1CA673;}
.tag-line.blue{background: #007BFF;}
.tag-line.gray{background: #666;}





.time-line{
    color: #666;
    display: flex; flex-direction: column;
    align-items: flex-start;
}
.start-time, .end-time{font-size: 14px; font-weight: 500;}

.schedule-content{
    flex: 1; display: flex; flex-direction: column;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.schedule-assignee{font-size: 13px; color: #666; margin: 0;}
.schedule-title {
    font-size: 16px;
    font-weight: 600;
    color: #343434;
    word-break: break-all;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    display: block;
}
.schedule-location {
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 13px;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    width: 100%;
}
.schedule-location svg{width: 13px; height: 13px; flex-shrink: 0; color: #666;}


.schedule-location>span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    display:inline-block;
    min-width:0;
}

.schedule-btn{display: flex; align-items: center; gap: 8px;}
.schedule-btn>button{display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 12px; border: none; cursor: pointer; transition: all 0.3s;}
.action-btn svg{width: 16px; height: 16px;}
.edit-btn{background-color: #007BFF; color: #fff;}
.edit-btn:hover{background-color: #0056b3;}
.delete-btn{background-color: #E83F49; color: #fff;}
.delete-btn:hover{background-color: #c72d3d;}

/* ======================= */
/* 일정내용 팝업 디자인 */
.popup-header>h3>i{
    display: inline-block;
    width: 24px;
    height: 24px;
    background:#E83F49;
    border-radius:50%;
    margin-right: 10px;
}
.ssignee-list{gap: 10px;}

.assignee-box>p{
    background-color: #F1F1F1;
    border: 1px solid #D9D9D9;
    color: #333;
    border-radius: 10px;
    padding: 10px;
    font-weight: 600;
}


.datetime-box{
    display: flex;
    align-items: center;
    gap: 5px;
}
.datetime-box{
    color: #343434;
    font-weight: 500;
}
.location-box{
    color: #666666;
}
.location-box>svg{width: 14px; height: 14px;}

/* ======================= */
/* 일정삭제 팝업 디자인 */

.popup-delete-wrap .popup-inner{
    max-width: 360px;
}



/* ======================= */
/* 메인 */
.dashboard-wrap{height: 100%;padding-top: 80px;}
.header-wrap{position: fixed;
    height: 80px;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 11;
    background-color: #f6faff;
    border-bottom: 1px solid #D9D9D9;padding: 15px 30px;display: flex;justify-content: space-between;align-items: center;}
.logo-wrap{display: flex;align-items: center;justify-content: flex-start;}

.logo-icon{margin-right: 30px; width: 280px;display: flex;align-items: center;}
.logo-icon>svg{height: 50px;width: fit-content;}
.title-wrap{gap: 15px; display: flex;align-items: center;}
.title-wrap>h1{font-size: 32px;font-weight: 600;}

.title-wrap>button{transition: all 0.3s;display: flex;align-items: center;gap: 5px;background-color: #333;color: #fff; border-radius: 12px;padding: 16px;cursor: pointer;max-height: 36px;}
.title-wrap>button:hover{background-color: #111;}
.title-wrap>button.openBtn,
.title-wrap>button.open-result-btn{
    background-color: #007BFF;
    color: #fff;
}
.title-wrap>button.openBtn:hover{background-color: #0056b3;}
.title-wrap>button.open-result-btn:hover{background-color: #0056b3;}


.title-wrap>button.openBtn{
    display: none;
}

.user-wrap{position: relative;}
.user-icon{cursor: pointer; border: 1px solid #D9D9D9; display: flex; justify-content: center; align-items: center; width: 48px;height: 48px; background-color: #fff;border-radius: 50%;padding: 12px;}
.user-icon>svg{width: 100%;height: 100%;}


.logout-inner{
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    width: max-content;
    min-width: 120px;
    margin-top: 3px;
    background-color: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.logout-inner>div{padding: 15px 10px;color: #666; font-size: 13px; display: flex; align-items: center; gap: 8px;}
.logout-inner>div>svg{color: #000; width: 14px; height: 14px;}
.logout-inner>button{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background-color: transparent;
    color: #666;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    padding: 10px;
    border-top: 1px solid #D9D9D9;
}
.logout-inner>button:hover{
    color: #007BFF;
}

.dashboard-inner{
    display: flex;
    justify-content: flex-end;
    position: relative;
    min-height: 100%;
    height: 100%;
    
}

.inner-wrap{
    padding-top: 32px;
    width: 100%;
    height: 100%;
    position: relative;
}



.inner-content>div{margin-bottom: 24px;}
.inner-content>div:last-of-type{margin-bottom: 0;}
.inner-header{border-bottom: 1px solid #D9D9D9; padding-bottom: 32px;padding-right: 32px;}
.inner-guide{border-bottom: 1px solid #D9D9D9;padding-bottom: 32px;padding-right: 32px;}
.inner-view{border-bottom: 1px solid #D9D9D9;padding-bottom: 32px;padding-right: 32px;}
.inner-view:last-of-type{border-bottom: none;}
.inner-calendar{border-bottom: 1px solid #D9D9D9;padding-bottom: 32px;padding-right: 32px;}
.inner-calendar:last-of-type{border-bottom: none;}
/* ======================= */
/* 목표치 가이드 */
.guide-card{
    background: #fff; border-radius: 24px; box-shadow: 0 20px 32px 0px rgba(0, 23, 54, 0.05);
    display: flex;
    width: fit-content;
}
.guide-card-box{
    border-right: 1px solid #D9D9D9;
}
.guide-card-box:last-of-type{
    border-right: none;
}
.guide-card-box>p{
    color: #343434;
    padding: 24px 24px 5px 24px;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid #D9D9D9;
}
.guide-item-wrap{
    padding: 24px;
    display: flex;
    gap: 10px;
}

.guide-item{
    min-height: 36px;
    border-radius: 12px;
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.guide-item>span{
    font-size: 12px;
}
.bg-r{background: #E83F49;}
.bg-y{background: #FFA500;}
.bg-b{background: #007BFF;}



/* ======================= */
/* 현황 */
.table-card{
    background: #fff; border-radius: 24px; box-shadow: 0 20px 32px 0px rgba(0, 23, 54, 0.05);
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.table-card-wrap{
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.table-card-list{
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.table-card-list>p{
    color: #343434;
    padding: 24px 24px 5px 24px;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid #D9D9D9;
    flex-shrink: 0;
}
.table-list-wrap{
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}



.table-list-scroll{
    flex: 1;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
}
.table-list{
    height: auto;
    font-size:14px; text-align:center;
    min-width: fit-content;
    
}

.table-row{
    display:flex;
    border-top: 1px solid #D9D9D9;
    
}
.table-row:first-child{
    border-top: none;
}
.table-row:last-child{
    border-bottom: 1px solid #D9D9D9;
}


.table-row.header{
    color:#121212; display:flex;
    font-weight: 600;font-size: 14px;
    border-bottom: 1px solid #007BFF;
    
    
}



.table-body{
    color: #333;
    font-weight: 500;
}
.table-body p{font-size: 13px;}







.apt-list .cell{
    min-height: 36px;
    min-width: 150px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    flex: 0 0 150px;

}
.apt-list .cell:first-of-type{
    min-width: 60px;
    flex: 0 0 60px;
}
.apt-list .cell:nth-child(2){
    min-width: 200px;
    flex: 0 0 200px;
}
.apt-list .cell:nth-child(3){
    min-width: 300px;
    flex: 0 0 300px;
}
.apt-list .cell:nth-child(6),
.apt-list .cell:nth-child(9){
    min-width: 80px;
    flex: 0 0 80px;
}

.apt-list .cell:last-of-type{
    border-right: none;
}


.apt-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cell-r{padding: 2.5px 5px;border-radius: 8px;font-weight: 600;color: #E83F49;background-color: rgba(232, 63, 73, 0.2);}
.cell-y{padding: 2.5px 5px;border-radius: 8px;font-weight: 600;color: #FFA500;background-color: rgba(255, 165, 0, 0.2);}
.cell-b{padding: 2.5px 5px;border-radius: 8px;font-weight: 600;color: #007BFF;background-color: rgba(0, 123, 255, 0.2);}




.pagination{
    display: flex;
    align-items: center;
    padding: 24px;
}
.pagination>button{
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: 10px;
    color: #666666;
    font-weight: 500;
    border-radius: 14px;
    font-size: 14px;
    background-color: rgba(255, 255, 255, 0.01);
    transition: all 0.3s;
}

.pagination>button.active{
    background-color: #007BFF;
    color: #fff;
}

.pagination>button:hover{background: rgba(0, 123, 255, 0.1);color: #007BFF;}
.pagination>button.active:hover{background: #007BFF;color: #fff;}


/* ======================= */
/* 캘린더 */
.calendar-card{background: #fff; border-radius: 24px; box-shadow: 0 20px 32px 0px rgba(0, 23, 54, 0.05);}
.calendar{display: grid; grid-template-columns: 320px 1fr;}

.calendar>div{border-right: 1px solid #D9D9D9;}
.calendar>div:last-of-type{border-right: none;}
.aside-wrap>p{max-height: 50px; display: flex;align-items: center;justify-content: space-between; border-bottom: 1px solid #D9D9D9; padding: 24px 24px 5px 24px;font-size: 14px;font-weight: 600;}



.calendar-aside{display: flex; flex-direction: column;}
.cal-aside-header{border-bottom: 1px solid #D9D9D9; display: flex; align-items: center; justify-content: space-between; background: #fff;padding: 24px;}
.cal-current{font-weight: 700; color: #121212; font-size: 32px; display: flex; align-items: center; gap: 4px;}


.cal-nav-btn-wrap{display: flex; align-items: center; gap: 16px;}
.cal-nav-btn{display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50px; background: rgba(0, 123, 255, 0.1); color: #007BFF;}
.cal-nav-btn:hover{background: rgba(0,123,255,.12); color: #007BFF;}
.cal-nav-btn>svg{width: 18px; height: 18px;}

.cal-mini{background: #fff;padding: 24px;border-bottom: 1px solid #D9D9D9;}
.cal-mini-week{display: grid; grid-template-columns: repeat(7, 1fr); font-weight: 600;font-size: 12px; color: #111; text-align: center; margin-bottom: 6px;}
.cal-mini-week .sun{color: #E83F49;}
.cal-mini-grid{display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;}
.mini-day{cursor: unset; position: relative; height: 36px; border-radius: 8px; color: #333; font-size: 14px;font-weight: 500;}
.mini-day.other{opacity: .5;}
.mini-day.selected{background: #007BFF; color: #fff;}
.mini-day.sun{color: #E83F49;}

/* 미니 달력: 날짜 아래 점 표시 */
.mini-dots{position: absolute; left: 50%; bottom: 3px; transform: translateX(-50%); display: flex; gap: 2px;}
.mini-dots .mini-dot{width: 6px; height: 6px; border-radius: 50%; display: inline-block;}
.mini-dots .mini-dot.red{background: #E83F49;border: 1px solid #fff;}
.mini-dots .mini-dot.blue{background: #007BFF;border: 1px solid #fff;}

.cal-mini-footer{padding: 24px;}
.cal-add-btn{display: flex;width: 100%; align-items: center; justify-content: center; gap: 8px; padding: 12px 14px; border-radius: 12px; background: #007BFF; color: #fff;}
.cal-add-btn:hover{background: #0056b3;}

.calendar-main{display: flex; flex-direction: column; gap: 16px;padding: 24px;}
.cal-main-header{display: flex; align-items: center; justify-content: space-between;}
.cal-main-header .left{display: flex; gap: 6px;}
.cal-today{border: 1px solid #E6E6E6; background: #fff; padding: 8px 12px; border-radius: 8px; font-weight: 600; color: #343434;}
.cal-today:hover{background: rgba(0,123,255,.08); color: #007BFF;}

.cal-week{display: grid; grid-template-columns: repeat(7, 1fr);text-align: left; gap: 6px; font-weight: 600; font-size: 20px; color: #121212;}
.cal-week .sun{color: #E83F49;}

.cal-grid{display: flex; flex-wrap: wrap; --cal-gap: 0px; gap: var(--cal-gap);} 
.cal-grid .day-cell{min-height: 120px; flex: 0 0 calc((100% - var(--cal-gap)*6)/7); min-width: 0;}
.day-cell{position: relative; background: #fff; border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 32px;}
.day-cell.other>.day-head{color: #999;}
.day-cell.today{background: rgba(0, 123, 255, 0.1);}
.day-head{font-size: 20px;font-weight: 600; display: flex; align-items: center; justify-content: space-between; gap: 8px;}
.day-cell.sun .day-head{color: #E83F49;}
/* 날짜 옆 원형 버튼 */
.day-next-btn{
    min-width: 22px;
    min-height: 22px;
    width: 22px;
    height: 22px;
    border-radius: 8px;
    border: 1px solid #D9D9D9;
    background: #fff;
    color: #666666;
    display: flex;
    align-items: center;
    justify-content: center;
}
.day-next-btn svg{width: 12px; height: 12px;margin-left: 1px;}
.day-next-btn:hover{background: #f1f1f1; color: #222;}
.event-list{display: flex;flex-direction: column; gap: 4px;}
.event-list li{display: flex;align-items: center; gap: 4px; font-size: 12px; color: #565656; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0;}
.event-list li .title{display: block; flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.event-list .dot{display: inline-block; width: 3px; height: 10px; border-radius: 100px; flex: 0 0 auto;}
.event-list .dot.type-a{background: #007BFF;}
.event-list .dot.type-b{background: #E83F49;}




.item-search{display: flex;align-items: center;justify-content: space-between;gap: 16px;}

.item-search>div{display: flex;align-items: center;gap: 10px;}
.item-search-right{display: flex;gap: 10px;}
.item-search-right>button{transition: all 0.3s;}

.item-select{display: flex;align-items: center;gap: 10px;}

.item{
    display: flex;
    align-items: center;
    gap: 8px;
    color: #333;
    font-size: 14px;
    position: relative;
}

.item>input{
    max-width: 150px;
    height: 36px;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 0 10px;
    background-color: #fff;
    font-size: 14px;
    color: #333;
}
.date-item>input{
    max-width: 150px;
    height: 36px;
    padding: 0 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    outline: none;
    border: 1px solid transparent;
    background-color: #fff;
    box-shadow: 1px 8px 16px rgba(153, 153, 153, 0.25);
} 


/* 달력 datepicker */
.datepicker-wrapper {
    position: relative;
}
[id^="datepicker"]{
    cursor: pointer;
    font-weight: 400;
}
/* #datepicker {
    cursor: pointer;
    font-weight: 400;
} */
[id^="datepicker"]::placeholder{color: #666;}
[id^="datepicker"]:focus {
    outline: none;
}

.datepicker-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    color: #666;
    cursor: pointer;
    z-index: 1;
}

/*  */
.ui-widget.ui-widget-content{
    margin-top: 10px;
    border-color: #D9D9D9 !important;
    padding: 0;
    overflow: hidden !important;
    border-radius: 8px;
}
.ui-widget-header{
    background: #f1f1f1 !important;
    border: none !important;
    border-radius: 0 !important;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next{
    top: 50% !important;
    transform: translateY(-50%) !important;
    border: none !important;
    cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev:hover{
    left: 2px !important;
}

.ui-datepicker .ui-datepicker-next:hover{
    right: 2px !important;
}

.ui-datepicker .ui-datepicker-title select{
    border: none !important;
    outline: none !important;
    margin: 3px !important;;
    padding: 4px !important;
    font-size: 13px !important;
    border-radius: 4px;
}

.ui-datepicker table{
    font-size: 13px !important;
}
.ui-datepicker td{
    padding: 0 !important;
    border: none !important;
}
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight{
    background: rgba(0, 123, 255, 0.1) !important;
    color: #007BFF !important;
    font-weight: 600 !important;
}
.ui-state-default{
    border: none !important;
    background: #fff !important;
    
    border-radius: 4px;
}
.ui-state-active, 
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover{
    background: #007BFF !important;
}
.ui-datepicker td span, .ui-datepicker td a{    
    padding: 6px 4px !important;
    text-align: center !important;
}

/*  */


.excel-btn{
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: #1CA673;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    transition: all 0.3s;
}

.excel-btn:hover{background-color: #168059;}

.agmt-upload-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}

.agmt-upload-btn:hover{
    background-color: #111;
}

.agmt-upload-btn svg{
    width: 16px;
    height: 16px;
    fill: currentColor;
}
.report-upload-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #007BFF;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}

.report-upload-btn:hover{
    background-color: #0056b3;
}

.report-upload-btn svg{
    width: 16px;
    height: 16px;
    fill: currentColor;
}




.sample-excel-btn{
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: #666;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
}

.sample-excel-btn:hover{background-color: #555555;}







/* ======================= */
/* 자료실 */
.fix-menu.pc-block{
    opacity: 1;
    top: 160px;
    left: 32px;
    pointer-events: auto;
    width: auto;
    height: auto;
    background: transparent;
    z-index: 1;
}
.fix-menu.pc-block>.menu-inner{transform: translateX(0);}

.logo-icon.pc-block{
    width: 280px;
}
.inner-content.pc-block{
    display: flex;
    flex-direction: column;
}
.inner-content.pc-block>.inner-header{
    padding-left: 345px;
    flex-shrink: 0;
}

.inner-content.pc-block>.inner-view{
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding-left: 345px;
}
.inner-content.pc-block>.inner-view>h3{
    flex-shrink: 0;
}
.inner-content.pc-block>.inner-view>.table-card{
    flex: 1;
    min-height: 0;
}

.select_cus_search{
    max-width: 310px;
}


.data-list{
    height: 100%;
    min-height: 450px;
}
.data-list .cell{
    min-height: 36px;
    min-width: 150px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0 10px;
    flex: 0 0 150px;
}

.data-list .cell:first-of-type{
    max-width: 760px;
    flex: auto;
    justify-content: flex-start;
    padding-left: 24px;
    text-align: left;
    flex: 0 0 760px;
}

.data-list .cell:nth-child(2){
    min-width: 310px;
    flex: 0 auto;
    justify-content: flex-start;
    text-align: left;
    flex: 0 0 310px;
}

.data-list .cell:last-of-type{
    border-right: none;
}


.reg-btn{
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: #007BFF;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
}
.reg-btn:hover{background-color: #0056b3;}


.data-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.data-list .download-btn{
    background-color: #007BFF;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 6px 16px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;;
}

.data-list .download-btn:hover{
    background-color: #0056b3;
}


.table-body>.table-row:hover{
    background-color: rgba(0, 123, 255, 0.1);
}
.hover-row>.table-body>.table-row:hover{
    cursor: pointer;
}




/* ======================= */
/* 자료실-자료등록 */
.add-reg-card{
    max-width: 993px;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 20px 32px 0px rgba(0, 23, 54, 0.05);
}

.reg-item{width: 100%;}
.reg-item>p{
    position: relative;
    padding: 24px 24px 5px 24px;
    padding-top: 0;
    margin-top: 24px;
    font-size: 14px;
    font-weight: 600;
    color: #343434;

}


.reg-item-box{
    border-top: 1px solid #D9D9D9;padding: 24px;
    padding-bottom: 0;margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 14px;
}

.title-box{width: 100%;max-width: 310px;display: flex;gap: 10px;align-items: center;}
.title-box>input {
    color: #333;
    font-size: 14px;
    font-weight: 400;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    max-height: 36px;
}
.title-box>input::placeholder{color: #333;}


.file-upload-box{
    display: flex;
    align-items: center;
    gap: 10px;

}

.file-name-input-wrap{
    display: flex;
    align-items: center;
    gap: 10px;
}

.file-name-input{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    max-width: 310px;
    max-height: 36px;

}

.file-name-input p{
    flex: 1;
    color: #333333;
    font-size: 14px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-clear-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    margin-left: 12px;
    flex-shrink: 0;
}

.file-clear-btn svg{
    width: 16px;
    height: 16px;
    color: #666;
}

.file-clear-btn:hover svg{
    color: #333;
}

.file-upload-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #007BFF;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 12px;
    padding: 5px 16px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
    min-height: 36px;
}

.file-upload-btn:hover{
    background-color: #0056b3;
}

.file-upload-btn svg{
    width: 16px;
    height: 16px;
    fill: currentColor;
}



/* 자료실-자료상세정보 */
.detail-item{border-bottom: 1px solid #D9D9D9; display: flex;align-items: stretch;}
.detail-item>div{width: 100%;padding: 24px;}
.detail-info{border-right: 1px solid #D9D9D9;}
.detail-info:last-of-type{border-right: none;}

.detail-title>b{
    color: #007BFF;
    font-weight: 600;
    font-size: 16px;
}
.detail-title>h1{
    font-size: 32px;font-weight: 600;color: #121212;
}

.detail-info>span{
    color: #343434;
    font-size: 13px;
    font-weight: 500;
}

.detail-info>h4{
    color: #121212;
    font-size: 20px;
    font-weight: 600;
}


.add-reg-footer-btn{display: flex; align-items: center; gap: 8px; padding: 24px; border-top: 1px solid #D9D9D9;}
.add-reg-footer-btn>button{transition: all 0.3s;border: 1px solid #fff;  display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 16px; border-radius: 12px; color: #fff;}
.add-regBtn{background: #007BFF;}
.add-regBtn:hover{background: #0056b3;}
.reset-btn{background: #666666;}
.reset-btn:hover{background: #555555;}
.toListBtn{background: #666666;}
.toListBtn:hover{background: #555555;}
.editBtn{background: #007BFF;}
.editBtn:hover{background: #0056b3;}
.trashBtn{background: #E83F49;}
.trashBtn:hover{background: #C4333E;}
.back-btn{background: #666666;}
.back-btn:hover{background: #555555;}



/* ======================= */
/* 건물현황 관리 */

.inner-item-search-left{
    display: flex;
    align-items: center;
    gap: 10px;
    
}
.inner-item-search-left>button{
    transition: all 0.3s;
}
.item-search-date{
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #333;
    font-size: 14px;
}
.item-search-date>span{
    display: inline-block;
    min-width: fit-content;
}

.bldg-list{
    min-height: 480px;
}
.bldg-list .cell{
    min-height: 36px;
    min-width: 60px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    flex: 0 0 60px;

}
.bldg-list .cell:first-of-type{
    min-width: 50px;
    flex: 0 0 50px;
}

.bldg-list .cell:nth-child(2){
    min-width: 140px;
    flex: 0 0 140px;
}
.bldg-list .cell:nth-child(4),
.bldg-list .cell:nth-child(15){
    min-width: 80px;
    flex: 0 0 80px;
}
.bldg-list .cell:nth-child(9),
.bldg-list .cell:nth-child(13){
    min-width: 60px;
    flex: 0 0 60px;
}

.bldg-list .cell:nth-child(14){
    min-width: 70px;
    flex: 0 0 70px;
}
.bldg-list .cell:nth-child(17){
    min-width: 130px;
    flex: 0 0 130px;
}
.bldg-list .cell:nth-child(18){
    min-width: 100px;
    flex: 0 0 100px;
}
.bldg-list .cell:nth-child(19){
    min-width: 65px;
    flex: 0 0 65px;
}
.bldg-list .cell:last-of-type{
    border-right: none; 
    min-width: 65px;
    flex: 0 0 65px;
}

.bldg-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bldg-list .cell>p>span{
    font-size: 11px;
    display: block;
    color: #666666;
}

.bldg-list .cell.d-cell{
    min-width: 80px;
    flex: 0 0 80px;
}



.cell-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.cell-btn>button{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: none;
    padding: 5px 10px;
    font-size: 13px;
    color: #fff;
    cursor: pointer;
}

.edit-btn{background: #007BFF;}
.edit-btn:hover{background: #0056b3;}
.detail-btn{background: #666666;}
.detail-btn:hover{background: #555555;}
.upload-btn{background: #007BFF;}
.upload-btn:hover{background: #0056b3;}
.complete-btn{background: #1CA673;}
.complete-btn:hover{background: #168059;}
.del-btn{background: #E83F49;}
.del-btn:hover{background: #c2333c;}



.cell-btn>label.upload-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: none;
    padding: 5px 10px;
    font-size: 13px;
    color: #fff;
    cursor: pointer;
}

.upload-btn:hover{background: #0056b3;}







/* ======================= */
/* 건물현황 등록 */

.st-item{display: block;width: 100%;max-width: 310px;}
.st-item.st-item-date{display: flex; align-items: center; gap: 10px;}
.st-item.st-item-date>div{width: 100%;}
.st-item>span{
    font-weight: 600;font-size: 13px;
    color: #343434;
    margin-bottom: 5px;
    display: block;

}
.st-item.st-item-date>div>span{
    font-weight: 600;font-size: 13px;
    color: #343434;
    margin-bottom: 5px;
    display: block;
}
.st-input-wrap{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.st-input-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.st-input-wrap input{
    width: 100%;
    max-width: 310px;
    max-height: 36px;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
}
.st-input-wrap input::placeholder{color: #333;}
.post-btn{
    width: 100%;
    max-width: 110px;
    max-height: 36px;
    border-radius: 12px;
    background: #007BFF;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
    border: none;
    padding: 10px 16px;
}
.post-btn:hover{background: #0056b3;}

.w-full{width: 100%;max-width: 100%;}
.w-fit{width: fit-content;}



/* 건물현황등록-커스텀 셀렉트 박스 */
.select_cus_bldg{
    position: relative;
    max-width: 100%;
    width: 100%;
    max-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
    border: 1px solid #D9D9D9;
}

.select_cus_bldg .trigger{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.select_cus_bldg .trigger svg{
    min-width: 16px;
    min-height: 16px;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    transition: transform 0.3s;
    color: #333;
}

.select_cus_bldg.active .trigger svg{
    transform: rotate(180deg);
}

.select_cus_bldg .option{
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 8px;
    list-style: none;
    border: 1px solid #D9D9D9;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 10;
    max-height: 200px;
    overflow-y: auto;
}

.select_cus_bldg.active .option{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.select_cus_bldg .option li{
    padding: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #343434;
    transition: all 0.3s;;
    font-weight: 500;
}

.select_cus_bldg .option li:hover{
    background-color: #f5f5f5;
}

.select_cus_bldg .trigger_txt{
    font-size: 14px;
    color: #333;
    flex: 1;
    width: 100%;
}

.select_cus_bldg .option li p{
    margin: 0;
}


/* ======================= */
/* 건물현황관리-상세정보 */

.file-excel-btn{
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: #1CA673;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}

.file-excel-btn:hover{
    background-color: #168059;
}

.file-excel-btn svg{
    width: 16px;
    height: 16px;
    fill: currentColor;
}


.house-list{
    min-height: 490px;
    max-height: 490px;
}
.house-list .cell{
    min-height: 36px;
    min-width: 110px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    flex: 0 0 110px;

}
.house-list .cell:first-of-type,
.house-list .cell:nth-child(2),
.house-list .cell:nth-child(3){
    min-width: 60px;
    flex: 0 0 60px;
}
.house-list .cell:nth-child(7){
    min-width: 65px;
    flex: 0 0 65px;
}

.house-list .cell:nth-child(8){
    flex: 0 0 45px;
    min-width: 45px;
}


.house-list .cell:nth-child(4),
.house-list .cell:nth-child(6),
.house-list .cell:nth-child(15){
    flex: 0 0 80px;
    min-width: 80px;
}

.house-list .cell:nth-child(5),
.house-list .cell:nth-child(13){
    flex: 0 0 100px;
    min-width: 100px;
    
}


.house-list .cell:nth-child(9),
.house-list .cell:nth-child(14){
    flex: 0 0 200px;
    min-width: 200px;
}


.house-list .cell:last-of-type{
    border-right: none;
    flex: 0 0 60px;
    min-width: 60px;
}

.house-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.house-list .cell>p>span{
    font-size: 11px;
    display: block;
    color: #666666;
}
.house-list .cell>p>b{
    font-size: 11px;
    display: block;
    color: #007BFF;
    font-weight: 600;
}



.bk-list-row{background-color: rgba(232, 63, 74, 0.1);}
.house-list .cell>p.black-list{
    overflow: visible;
}
.black-list{
    background-color: rgba(232, 63, 74, 0.2);
    color: #E83F49;
    padding: 2.5px 5px;
    border-radius: 8px;
    font-weight: 600;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: default;
}

/* 블랙리스트 툴팁 */
.black-list::after{
    content: '서명 미응답으로 인한 블랙리스트 등록';
    position: absolute;
    right: -6px;
    top: calc(100% + 8px);
    padding: 5px 10px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease-out, transform 0.15s ease-out;
    z-index: 9;
    box-shadow: 0 16px 32px 0px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
}
.black-list:hover::after{
    opacity: 1;
}





/* ======================= */
/* 건물현황관리-소유자등록(개인)*/
/* 소유자 리스트 */
#datepicker_owner_hbd,#datepicker_trust_hbd,
#datepicker_ownerInc_hbd,#datepicker_trustInc_hbd{
    max-width: 100%;
    width: 100%;
}
.hse-card{max-width: 960px;}
.list-card{
    box-shadow: none;
}
.hse-box>button{
    min-height: 36px;
    padding: 10px 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #D9D9D9;
    color: #454545;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
}

.hse-box>button.on{
    background: #007BFF;
    color: #fff;
    border-color: #007BFF;
}



.hse-list{min-height: auto;}
.hse-list .cell{
    min-height: 36px;
    min-width: 120px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0 10px;
    flex: 0 0 120px;
}

.hse-list .cell:nth-child(3){
    flex: 0 0 50px;
    min-width: 50px;
}
.hse-list .cell:nth-child(4){
    flex: 0 0 250px;
    min-width: 250px;
}

.hse-list .cell:last-of-type{
    border-right: none;
}

.hse-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* 입주자 리스트 */
.hse-list2 .cell:nth-child(3){
    flex: 0 0 130px;
    min-width: 130px;
}

.black-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: #E83F49;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s;
}
.black-btn:hover{background: #C4333E;}



/* ======================= */
/* 건물현황관리-소유자등록(법인) */
.title-box .disabled-field{
    background-color: #F5F5F5;
    color: #666;
    font-size: 14px;
    font-weight: 400;
    border: 1px solid #E0E0E0;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    min-height: 36px;
    display: flex;
    align-items: center;
}




.hse-item-box{
    display: flex;
    flex-direction: column;
    gap: 10px;
}



/* ======================= */
/* 집계  */
.agg-list{
    min-height: 480px;
}
.agg-list .cell{
    min-height: 36px;
    min-width: 90px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    flex: 0 0 90px;

}
.agg-list .cell:first-of-type{
    min-width: 50px;
    flex: 0 0 50px;
}

.agg-list .cell:nth-child(2){
    min-width: 70px;
    flex: 0 0 70px;
}
.agg-list .cell:nth-child(3){
    padding: 0 10px;
    min-width: 400px;
    flex: 0 0 400px;
    justify-content: flex-start;
    text-align: left;
}
.agg-list .cell:nth-child(4){
    min-width: 200px;
    flex: 0 0 200px;
}
.agg-list .cell:nth-child(6),
.agg-list .cell:nth-child(7){
    min-width: 80px;
    flex: 0 0 80px;
}
.agg-list .cell:last-of-type{
    min-width: 180px;
    flex: 0 0 180px;
    border-right: none;
}

.agg-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.agg-list .cell>p>span{
    font-size: 11px;
    display: block;
    color: #666666;
}

.type-b{padding: 2.5px 5px;border-radius: 8px;font-weight: 700;color: #fff;background-color: #007BFF;}
.type-g{padding: 2.5px 5px;border-radius: 8px;font-weight: 700;color: #fff;background-color: #1CA673;}

.out-btn{background-color: #60C846; color: #fff;}
.out-btn:hover{background-color: #4CAF50;}
.in-btn{background-color: #007BFF; color: #fff;}
.in-btn:hover{background-color: #0056b3;}
.report-btn{background-color: #666666; color: #fff;}
.report-btn:hover{background-color: #555555;}


/* ======================= */
/* 집계-외부 리포트 */
.report-card{margin-top: 48px;overflow: hidden;}
.report-title{position: relative;}
.report-title>b{font-weight: 500;font-size: 16px;color: #343434;}
.report-title>h2{position: relative;width: fit-content;  display: block; font-weight: 600;font-size: 24px;color: #121212;}

.report-title-btn{
    position: absolute;
    top: 24px;
    right: 24px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.report-title-btn>button,
.report-title-btn>label{
    display: flex;
    align-items: center;
    gap: 5px;
    max-height: 26px;
    color: #fff;
    border-radius: 8px;
    padding: 10px;
    font-size: 13px;
    transition: all 0.3s;
}
.excel-upload-btn{background-color: #007BFF;}

.excel-upload-btn:hover{background-color: #0056b3;}
.pdf-btn{background-color: #333;}
.pdf-btn:hover{background-color: #111;}



.item-p0{padding: 0;}
.sign-list-wrap{width: 100%;}
.sign-list-wrap .table-list-scroll{overflow: hidden;}
.sign-list{width: 100%;min-width: 0;}
.sign-list .cell{
    min-height: 36px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    flex: 1 1 0;
    min-width: 0;
}


.sign-list .cell>p{
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sign-list .cell>p>span{
    display: block;
}
.sign-list .cell:last-of-type{
    border-right: none;
}

.sign-list>.table-body>.table-row>.cell:first-child{
    font-weight: 600;
    font-size: 14px;
    color: #121212;
}

.reg-item>h2{
    font-weight: 600;font-size: 20px;
    padding: 24px 24px 0 24px;
    margin-top: 24px;
    padding-top: 0;
    font-weight: 600;
    color: #121212;
}
.sign-item-box{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    border-top: none;
    padding: 0;
}
.sign-item-box>div:first-child>.sign-item>div:last-child{
    border-right: 1px solid #D9D9D9;
}
.sign-item{border-top: 1px solid #D9D9D9;}
.sign-info>h4>strong{
    font-size: 20px;
    font-weight: 600;
    color: #007BFF;
}


.total-list{width: 100%;min-width: 0;}
.total-list .cell{
    min-height: 36px;
    min-width: 120px;
    flex: 0 0 120px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
}
.total-list .cell:last-of-type{
    border-right: 1px solid #D9D9D9;
}
.memo-btn{
    position: absolute;
    right: 24px;
    bottom: 5px;
    color: #fff;
    background-color: #007BFF;
    padding: 5px 10px;
    border-radius: 8px;
    transition: all 0.3s;
}
.memo-btn:hover{
    background-color: #0056b3;
}
.reg-item-box>textarea{
    width: 100%;
    resize: none;
    min-height: 200px;
    color: #343434;
    font-family: 'Pretendard';
    font-size: 14px;
    font-weight: 500;
    background-color: #F9F9F9;
    border: 1px solid #E6E6E6;
    border-radius: 16px;
    padding: 16px;
    outline: none;
}

.blue-h4>h4{color: #007BFF;}
.red-h4>h4{color: #E83F49;}


/* ======================= */
/* 집계-내부 리포트 */
.in-item>.detail-info{padding: 24px 12px;}
.in-item>.detail-info>h4 {
    font-size: 16px;
}

.sign-list-in{width: 100%;min-width: 0;}
.sign-list-in>.table-row:hover{background-color: rgba(0, 123, 255, 0.1);}
.sign-list-in>.table-row.active{background-color: rgba(0, 123, 255, 0.1);}
.sign-list-in .cell{
    min-height: 36px;
    min-width: 80px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    flex: 0 0 80px;
}
.sign-list-in .cell:first-of-type{
    min-width: 60px;
    flex: 0 0 60px;
}
.sign-list-in .cell.cell-colspan-2{
    flex: 0 0 140px;
    min-width: 140px;
}

.sign-list-in .cell:nth-child(3),
.sign-list-in .cell:nth-child(5),
.sign-list-in .cell:nth-child(7),
.sign-list-in .cell:nth-child(9){
    min-width: 100px;
    flex: 0 0 100px;
}
.sign-list-in .cell.cell-colspan-3{
    flex: 0 0 100px;
    min-width: 100px;
}
.sign-list-in .cell:nth-child(8){
    min-width: 20px;
    flex: 0 0 20px;
}

.sign-list-in .cell.cell-colspan-4{
    flex: 0 0 260px;
    min-width: 260px;
    justify-content: flex-start;
    text-align: left;
}

.sign-list-in .cell:nth-child(10){
    min-width: 120px;
    flex: 0 0 120px;
}
.sign-list-in .cell.cell-colspan-5{
    flex: 0 0 340px;
    min-width: 340px;
    justify-content: flex-start;
    text-align: left;
    padding: 5px;

}
.sign-list-in .cell.cell-colspan-5>textarea{
    width: 100%;
    resize: none;
    color: #343434;
    font-family: 'Pretendard';
    font-weight: 500;
    border-radius: 8px;
    border: 1px solid #E6E6E6;
    padding: 5px 10px;
    outline: none;
    min-height: 30px;
    max-height: 50px;
    height: 30px;

}
.sign-list-in .cell.cell-colspan-5>textarea:focus{
    transition: all 0.3s;
    border-color: #007BFF;
}

.sign-list-in .cell:last-of-type{
    border-right: none;
    min-width: fit-content;
    flex: 0 0 fit-content;
}


.file-uploadin-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #007BFF;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}

.file-uploadin-btn:hover{
    background-color: #0056b3;
}

.file-uploadin-btn svg{
    width: 16px;
    height: 16px;
    fill: currentColor;
}


.cell-add-btn,.cell-save-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #007BFF;
    border: 1px solid #fff;
    color: #fff;
    padding: 5px 10px;
    border-radius: 8px;
    max-height: 26px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
    max-height: 26px;

}
.cell-add-btn{
    min-width: 26px;
    min-height: 26px;
    max-width: 26px;
    padding: 0;
}

.cell-add-btn:hover,.cell-save-btn:hover{
    background-color: #0056b3;
}

.cell-add-btn svg{
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* ======================= */
/* 집계-상세정보 */

.date-detail-item{padding: 0; gap: 16px;display: block;}
.date-detail-item>div{display: flex;align-items: center;flex-wrap: nowrap;margin-bottom: 0;}
.date-detail-item>div.border-top0{border-top: none;}
.date-detail-item-box{
    background-color: #F6F6F6;
    padding: 24px;
    border-radius: 16px;
    width: 100%;
    font-size: 14px;
    color: #454545;
    font-weight: 600;
}
.date-detail-item-box>h4{
    margin-top: 3px;
    font-size: 18px;
}

.signer-info-card{max-width: 100%;}
.signer-info-card.folded{max-width: 993px;}

.fold-btn{
    position: absolute;
    right: -75px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 10px;
    display: inline-flex;
    align-items: center;
    color: #fff;
    padding: 10px;
    gap: 5px;
    border-radius: 12px;
    background-color: #333;
    transition: all 0.3s;
}

.fold-btn:hover{
    background-color: #111;
}
.open-btn{
    position: absolute;
    right: -85px;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 10px;
    display: none;
    align-items: center;
    color: #fff;
    padding: 10px;
    gap: 5px;
    border-radius: 12px;
    background-color: #007BFF;
    transition: all 0.3s;
}

.open-btn:hover{
    background-color: #0056b3;
}




.history-item-box{display: flex;justify-content: space-between; border-top: none;}

.select_cus_box{
    position: relative;
    min-width: 150px;
    max-width: 150px;
    width: 100%;
    max-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
    border: 1px solid #D9D9D9;
}
.select_cus_box:last-of-type{
    max-width: 100%;
}
.select_cus_box>input[type="text"]{
    width: 100%;
}

.non-sig-btn{
    display: flex;
    align-items: center;
    gap: 5px;
    background-color: #E83F49;
    color: #fff;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: 14px;
    transition: all 0.3s;
}
.non-sig-btn:hover{background-color: #c2333c;}



.signer-list{width: 100%;min-width: 0;}
.signer-list>.table-body>.table-row:hover{
    background-color: rgba(0, 123, 255, 0.1);
    cursor: pointer;
}

.signer-list .cell{
    min-height: 36px;
    min-width: 80px;
    flex: 0 0 80px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}
.signer-list .cell:last-of-type{
    border-right: none;
}

.signer-list .cell label{
    background-color: rgba(0, 123, 255, 0.2);
    border: 1px solid rgba(0, 123, 255, 0.2);
    width: 16px;height: 16px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007BFF;
}
.signer-list .cell input[type="checkbox"]{
    display: none;
}
.signer-list .cell label.checkbox>svg{
    display: none;
}
.signer-list .cell input[type="checkbox"]:checked ~ svg{
    display: flex;
}

.signer-list .cell:nth-child(1){
    min-width: 40px;
    flex: 0 0 40px;
}
.signer-list .cell:nth-child(2),
.signer-list .cell:nth-child(3){
    min-width: 60px;
    flex: 0 0 60px;
}

.signer-list .cell:nth-child(4),
.signer-list .cell:nth-child(6),
.signer-list .cell:nth-child(8){
    min-width: 70px;
    flex: 0 0 70px;
}

.signer-list .cell:nth-child(7){
    min-width: 110px;
    flex: 0 0 110px;
}
.signer-list .cell:nth-child(10),
.signer-list .cell:nth-child(11),
.signer-list .cell:nth-child(12){
    min-width: 160px;
    flex: 0 0 160px;
    justify-content: flex-start;
    text-align: left;
    padding: 0 10px;
}

.signer-list .cell>p.cell-b,
.signer-list .cell>p.cell-r{
    font-size: 12px;
    width: fit-content;
}

.sign-view-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #007BFF;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}

.sign-view-btn:hover{
    background-color: #0056b3;
}

.sign-view-btn-off{
    background-color: #999999;
}
.sign-view-btn-off:hover{
    background-color: #999999;
    cursor: default;
}



.cell_cus_box{
    max-height: 26px;
    min-width: fit-content;
    padding: 5px ;
    border-radius: 8px;
}

.cell_cus_box .trigger_txt{
    font-size: 13px;
}



.select_cus.cell_cus_box .option {
    top: auto;
    bottom: calc(100% + 8px);
    transform: translateY(10px);
}

.select_cus.cell_cus_box.active .option {
    transform: translateY(0);
}

.popup-history-box{margin-top: 24px;}

.popup-confirmBtn{background: #007BFF;}
.popup-confirmBtn:hover{background: #0056b3;}

.history-list{width: 100%;min-width: 0;}
.history-list .cell{
    min-height: 36px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    min-width: 150px;
    flex: 0 0 150px;
}
.history-list .cell:nth-child(3){
    min-width: 100px;
    flex: 0 0 100px;
}
.history-list .cell:nth-child(4){
    min-width: 0;
    flex: 1 1 0;
}

.history-list .cell>p{
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.history-list .cell>p>span{
    display: block;
}
.history-list .cell:last-of-type{
    border-right: none;
}

.history-list>.table-body>.table-row>.cell:nth-child(3){
    font-weight: 600;
    font-size: 14px;
    color: #121212;
}



/* ======================= */
/* 집계-집계표 */
.inner-content.pc-block>.inner-view.summ-view{width: fit-content; gap: 32px; display: flex;flex-direction: unset;}

/* 표 왼쪽 */
.summ-card-left{
    max-width: 1380px;
    overflow: hidden;
}

.summ-list{
    min-height: 720px;
    width: 100%;
}
.top-summ-list{
    min-height: 0;
}
.top-summ-list .cell,
.summ-list .cell{
    min-height: 36px;
    min-width: 60px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 0 60px;

}

.summ-list .cell.cell-bg-red{
    background-color: rgba(255, 0, 0, 0.3);
}
.summ-list .cell:first-of-type,
.summ-list .cell:nth-child(2),
.summ-list .cell:nth-child(6){
    min-width: 40px;
    flex: 0 0 40px;
}

.summ-list .cell:nth-child(4){
    min-width: 200px;
    flex: 0 0 200px;
    padding: 0 4px;
}
.summ-list  .table-body>.table-row>.cell:nth-child(4)>p{
    font-size: 10px;
    white-space: normal;
    overflow: visible;
    text-overflow: visible;
    word-break: break-all;
}


.summ-list .cell:nth-child(5){
    min-width: 100px;
    flex: 0 0 100px;
}

.summ-list .cell:nth-child(15){
    min-width: 80px;
    flex: 0 0 80px;
}

.summ-list .cell:last-of-type{
    border-right: none;
    min-width: 60px;
    flex: 0 0 60px;
}
.summ-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
}
.summ-list .cell>p>span{
    color: #007BFF;
}
.summ-list .cell>p>span.fz10{
    font-size: 10px;
}
.summ-list .cell>b.color-r,
.summ-list .cell>p>span.color-r{
    color: #E83F49;
}
.summ-list .cell>b{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 700;
    font-size: 12px;
    color: #007BFF;
}


.top-summ-list .table-row.header{
    border-bottom: none;
}
.top-summ-list .table-row.header .cell{
    border-bottom: 1px solid #007BFF;
}

.top-summ-list .table-row{
    font-weight: 700;
}

.top-summ-list .table-row.header .cell.cell-colspan-3,
.top-summ-list .table-row .cell.cell-colspan-3{
    min-width: 400px;
    flex: 0 0 400px;
    border-bottom: none;
}

.top-summ-list .cell:nth-child(4){
    min-width: 60px;
    flex: 0 0 60px;
    padding: 0;
}

.top-summ-list .table-row .cell:nth-child(5),
.top-summ-list .table-row .cell:nth-child(6),
.top-summ-list .table-row .cell:nth-child(14){
    min-width: 60px;
    flex: 0 0 60px;
}
.top-summ-list .table-row.header .cell.cell-colspan-7,
.top-summ-list .table-row .cell.cell-colspan-7,
.top-summ-list .table-row.header .cell.cell-colspan-15,
.top-summ-list .table-row .cell.cell-colspan-15{
    min-width: 120px;
    flex: 0 0 120px;
    border-bottom: none;
}
.top-summ-list .table-row .cell:nth-child(10),
.summ-list .cell:nth-child(14){
    min-width: 100px;
    flex: 0 0 100px;
}



.top-summ-list .table-row .cell:nth-child(11){
    min-width: 80px;
    flex: 0 0 80px;
}


/* 표 오른쪽 */
.summ-card-right{
    min-width: 1800px;
    width: 100%;
    overflow: hidden;
}

.summ-list-right{
    min-height: 720px;
}
.top-summ-list-right{
    min-height: 0;
}

.top-summ-list-right .cell,
.summ-list-right .cell{
    min-height: 36px;
    min-width: 60px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 0 0 60px;
    font-size: 12px;
    font-weight: 600;
}
.top-summ-list-right .cell>p,
.summ-list-right .cell>p{
    font-size: 12px;
    font-weight: 600;
}

.summ-list-right .table-row.header .cell.cell-colspan-14{
    min-width: 240px;
    flex: 0 0 240px;
}

.top-summ-list-right .cell:last-of-type,
.summ-list-right .cell:last-of-type{
    border-right: none;
}

.top-summ-list .table-row:hover,
.top-summ-list-right .table-row:hover {
    background-color: transparent;
}

/* 수탁자까지 숨기기 기능 */
.summ-list.folded .table-row .cell:nth-child(-n+11),
.top-summ-list.folded .table-row .cell:nth-child(-n+7) {
    display: none;
}





/* ======================= */
/* 계약발송 */
.send-list{
    min-height: 480px;
}
.send-list .cell{
    min-height: 36px;
    min-width: 100px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    flex: 0 0 100px;

}
.send-list .cell:first-of-type{
    min-width: 50px;
    flex: 0 0 50px;
}
.send-list .cell:nth-child(2),
.send-list .cell:nth-child(7){
    min-width: 200px;
    flex: 0 0 200px;
}
.send-list .cell:last-of-type{
    border-right: none; 
}

.send-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.send-list .cell>p>span{
    font-size: 11px;
    display: block;
    color: #666666;
}

.send-list .cell.d-cell{
    min-width: 80px;
    flex: 0 0 80px;
}

.send-list .table-body>.table-row:hover{
    cursor: pointer;
}

/* ======================= */
/* 계약발송-상세 */

/* 계약발송-상세-알림/팝업 */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.alert-wrap{
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    z-index: 90;
    border-radius: 24px;
    padding: 16px 24px;
    color: #fff;
    font-size: 16px;
    animation: fadeIn 0.3s ease-out;
}
.alert-wrap>.alert-title{font-weight: 700;}
.alert-wrap>.alert-content{font-weight: 600;}

.popup-ed-wrap>.popup-inner{max-width: 360px;}

.ed-item{padding: 24px;}
.popup-date-non-btn{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    font-weight: 700;
    background: #007BFF;
}
.popup-date-non-btn:hover{background: #0056b3;}
.popup-appBtn{background: #007BFF;}
.popup-appBtn:hover{background: #0056b3;}


.bk-input-wrap{width: 100%;}

.bk-input-wrap input {
    width: 100%;
    max-height: 36px;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
}


.select_cus_form{
    position: relative;
    width: 100%;
    max-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
    border: 1px solid #D9D9D9;
}




.popup-upload-box{
    width: 100%;
}
.popup-upload-box>div{
    width: calc(100% - 112px);
}
.upload-item-box>p{
    color: #454545;
}
.popup-upload-box>div>div{
    width: 100%;
    max-width: 100%;
    border-color: #E6E6E6;
    background-color: #F1F1F1;
    color: #666666;
}


.popup-item input[type="text"]::placeholder{color: #666666;}
.popup-item>.title-box>textarea::placeholder{color: #666666;}

.popup-form-wrap>.popup-inner{max-width: 1200px;}
.popup-item-btn{display: flex;align-items: center;padding: 24px;justify-content: space-between;padding-bottom: 0;}
.popup-item-btn-right,
.popup-item-btn-left{
    display: flex;
    gap: 10px;
    align-items: center;
}
.popup-item-btn-right>button,
.popup-item-btn-left>button{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
}
.popup-item-btn-right>button.popup-signBtn{
    background-color: #007BFF;
}
.popup-item-btn-right>button.popup-signBtn:hover{
    background-color: #0056b3;
}

.popup-item-btn-right>button.popup-typeBtn{
    background-color: #FFA500;
}
.popup-item-btn-right>button.popup-typeBtn:hover{
    background-color: #e69100;
}

.popup-item-btn-right>button.popup-contBtn{
    background-color: #1CA673;
}
.popup-item-btn-right>button.popup-contBtn:hover{
    background-color: #17825a;
}

.popup-item-btn-right>button.popup-expireBtn{
    background-color: #333;
}
.popup-item-btn-right>button.popup-expireBtn:hover{
    background-color: #111;
}

.popup-item-btn-right>button.popup-createBtn{
    background-color: #666666;
}
.popup-item-btn-right>button.popup-createBtn:hover{
    background-color: #555555;
}


.popup-item-btn-left>button.popup-prevBtn{
    background-color: #333;
}
.popup-item-btn-left>button.popup-prevBtn:hover{
    background-color: #111;
}

.popup-item-btn-left>button.popup-startBtn{
    background-color: #007BFF;
}
.popup-item-btn-left>button.popup-startBtn:hover{
    background-color: #0056b3;
}


.view-item-box{
    margin-bottom: 0;
    background: #F9F9F9;
}
.view-item-box-inner{
    margin: 0 auto;
    border: 1px solid #E6E6E6;
    position: relative;
}
.view-item-box-inner>img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* 텍스트 박스 오버레이 */
.textbox-item{
    position: absolute;
    border: 1px dashed #FFA500;
    background-color: rgba(255, 165, 0, 0.1);
    pointer-events: auto;
    min-height: 24px;
    width: 100%;
    max-width: 140px;
    event-capture: none;
    cursor: text;

}
.textbox-label{
    position: absolute;
    top: -24px;
    left: 0;
    background-color: #FFA500;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 10;
}

/* 서명 박스 오버레이 */
.signbox-item{
    position: absolute;
    border: 1px dashed #007BFF;
    background-color: rgba(0, 123, 255, 0.1);
    pointer-events: auto;
    min-height: 56px;
    width: 100%;
    max-width: 140px;
}   
.signbox-label{
    position: absolute;
    top: -24px;
    left: 0;
    background-color: #007BFF;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 10;
}

.signbox-deleteBtn{
    position: absolute;
    top: -10px;
    right: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;height: 26px;
    padding: 6px;
    background-color: #E83F49;
    color: #fff;
    border-radius: 12px;
}

/* 안건 박스 오버레이 */
.agbox-item{
    position: absolute;
    border: 1px dashed #1CA673;
    background-color: rgba(28, 166, 115, 0.1);
    pointer-events: auto;
    min-height: 36px;
    width: 100%;
    max-width: 140px;
    /* event-capture: none;
    cursor: pointer; */
}
.agbox-item::before{
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 0;
    border-left: 2px dashed #1CA673;
    transform: translateX(-50%);
} 
.agbox-label{
    position: absolute;
    top: -24px;
    left: 0;
    background-color: #1CA673;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 5px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 10;
}

.ag-check{
    display: flex;align-items: center;
    justify-content: center;
    width: 100%;height: 100%;
    min-height: inherit;
}
.ag-check>button{
    text-align: center;
    min-height: inherit;
    width: 100%;height: 100%;
    transition: all 0.3s;
    color: #fff;
}
.ag-check>button:nth-child(1){
    background-color: rgba(28, 166, 115, 0.8);
    opacity: 0;
}
.ag-check>button:nth-child(1).active{
    opacity: 1;
}
.ag-check>button:nth-child(2){
    background-color: rgba(232, 63, 73, 0.8);
    opacity: 0;
}
.ag-check>button:nth-child(2).active{
    opacity: 1;
}

.agbox-deleteBtn{
    position: absolute;
    top: -10px;
    right: -10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;height: 26px;
    padding: 6px;
    background-color: #E83F49;
    color: #fff;
    border-radius: 12px;
}

.message-item-box{
    display: block;
}
.message-item-box>b{
    margin-bottom: 5px;
    display: block;
    font-weight: 600;
    color: #E83F49;
}
.message-item-box>p{
    color: #121212;
}

.reg-item-box label.agree-checkbox{
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 400;
    position: relative;
    
}

.reg-item-box label.agree-checkbox{
    background-color: rgba(0, 123, 255, 0.2);
    border: 1px solid rgba(0, 123, 255, 0.2);
    width: 16px;
    height: 16px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007BFF;
    cursor: pointer;
}
.reg-item-box label.agree-checkbox input[type="checkbox"]{
    display: none;
}
.reg-item-box label.agree-checkbox > svg{
    display: none;
}
.reg-item-box label.agree-checkbox input[type="checkbox"]:checked ~ svg{
    display: flex;
}





.popup-ag-wrap>.popup-inner{max-width: 360px;}
.ag-add-list{
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ag-add-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
}
.ag-add-row.active{
    background: #F9F9F9;
}
.ag-add-row:hover    {
    background: #F9F9F9;
}
.ag-add-num{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-weight: 700;
    color: #333;
}
.ag-add-tag{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2.5px 5px;
    border-radius: 8px;
    background: #007BFF;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}
.ag-add-tag-single{
    background: #666666;
}
.ag-add-status{
    display: flex;
    align-items: center;
    color: #343434;
    font-size: 16px;
    font-weight: 600;
}




.agmake-item-inner{
    background-color: #f1f1f1;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}


.agmake-item-inner-top{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.agmake-inner-top-item{
    display: flex;
    gap: 24px;
}

.agmake-inner-top-Litem>span,
.agmake-inner-top-Ritem>span{
    font-size: 13px;
    font-weight: 600;
    color: #343434;
    margin-bottom: 5px;
    display: block;
}

.agmake-inner-top-Litem>.agmake-item-btn,
.agmake-inner-top-Ritem>.agmake-item-btn{
    display: flex;
    gap: 10px;
}

.agmake-inner-top-Litem>.agmake-item-btn>button,
.agmake-inner-top-Ritem>.agmake-item-btn>button{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 16px;
    border-radius: 10px;
    background-color: #FFFFFF;
    color: #454545;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid #D9D9D9;
    max-height: 36px;
    min-width: fit-content;
}
.agmake-inner-top-Litem>.agmake-item-btn>button.active,
.agmake-inner-top-Ritem>.agmake-item-btn>button.active{
    border: 1px solid #007BFF;
    background-color: #007BFF;
    color: #fff;
}

.agmake-inner-bot-item>input{
    padding: 10px;
    width: 100%;
    border: 1px solid #D9D9D9;
    outline: none;
    background-color: #fff;
    font-size: 14px;
    color: #121212;
    border-radius: 10px;
    font-family: 'Pretendard';
    resize: none;
    min-height: 36px;
    max-height: 80px;
    height: 36px;
    overflow-y: hidden;
    line-height: 16px;
}


.agmake-item-inner-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.agmake-list-item{
    display: flex;
    align-items: center;
    gap: 10px;
}
.agmake-list-item>input{
    padding: 10px;
    width: 100%;
    border: 1px solid #D9D9D9;
    outline: none;
    background-color: #fff;
    font-size: 14px;
    color: #121212;
    border-radius: 10px;
    font-family: 'Pretendard';
    resize: none;
    min-height: 36px;
}

.agmake-addBtn{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background-color: #fff;
    color: #fff;
    background-color: #007BFF;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    height: 36px;
    width: 36px;
}
.agmake-addBtn:hover{
    background-color: #0056b3;
}

.agmake-list-item-content{
    padding: 10px;
    width: 100%;
    border: 1px solid #D9D9D9;
    outline: none;
    background-color: #F9F9F9;
    font-size: 14px;
    color: #121212;
    border-radius: 10px;
    resize: none;
    min-height: 36px;
    font-weight: 600;   
}

.agmake-delBtn{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background-color: #fff;
    color: #fff;
    background-color: #E83F49;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    height: 36px;
    width: 36px;
}
.agmake-delBtn:hover{
    background-color: #C4333E;
}
.ag-addBtn{
    transition: all 0.3s;
    display: flex;
    align-items: center;
    background-color: #007BFF;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    font-weight: 700;
}
.ag-addBtn:hover{
    background-color: #0056b3;
}


.ag-list-row-wrap{
    display: flex;flex-direction: column;gap: 10px;
}
.ag-list-row-item{
    display: flex;justify-content: space-between;
}
.ag-list-row {
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    max-height: 36px            ;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
}

.agList-row{
    display: flex;flex-direction: column;gap: 10px;
}











/* 계약발송-상세-내용 */
.add-contBtn {
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    background-color: #007BFF;
}
.add-contBtn:hover{
    background-color: #0056b3;
}

.cont-item{max-height: 36px; display: flex;gap: 5px; align-items: center;border: 1px solid #E6E6E6;background-color: #F9F9F9;border-radius: 12px;padding: 8px;}
.cont-item>p{display: flex;align-items: center;gap: 5px;color: #343434;font-weight: 600;font-size: 14px;}
.cont-item>p>span{color: #fff;background-color: #007BFF;border-radius: 8px;padding: 2.5px 5px;font-size: 14px;font-weight: 700;}

.cont-item-btn{display: flex;gap: 10px;align-items: center;}
.cont-link-copyBtn{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 26px;
    padding: 2.5px 5px;
    border-radius: 8px;
    color: #fff;
    background-color: #666666;
}
.cont-link-copyBtn>svg{width: 14px; height: 14px;}
.cont-link-copyBtn:hover{
    background-color: #555555;
}

.cont-delBtn{
    transition: all 0.3s;
    display: flex;
    align-items: center;
    color: #E83F49;
}


.cont-expire-btn{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    background-color: #333;
}
.cont-expire-btn:hover{
    background-color: #111;
}

.send-owner-box{display: flex;gap: 16px;}
.so-item{display: flex;gap: 10px;}
.so-item>.title-box{max-width: fit-content;}
.so-item>.so-owner-box>div{
    padding: 10px 16px;
    display: flex;
    flex-direction: column;
    width: 100%;
    width: fit-content;
    border-radius: 16px;
}
.so-item>.title-box>.g-box{background-color: #F1F1F1;color: #121212;}
.so-item>.title-box>.b-box{background-color: rgba(0, 123, 255, 0.1);color: #007BFF;}
.so-item>.title-box>.r-box{background-color: rgba(232, 63, 74, 0.1);color: #E83F49;}
.so-item>.title-box>div>span{
    font-size: 13px;font-weight: 500;
    color: #343434;
}
.so-item>.title-box>div>h3{
    font-size: 24px;font-weight: 600;margin-bottom: 0;
}
.send-owner-box>.title-box>input::placeholder{
    color: #666;
}
.select_cus_send{
    position: relative;
    max-height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-shadow: none;
    border: 1px solid #D9D9D9;
}

.select_cus_send .trigger{
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.all-select-btn{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    background-color: #007BFF;
}
.all-select-btn:hover{
    background-color: #0056b3;
}
.all-select-cancel-btn{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    background-color: #666666;
}
.all-select-cancel-btn:hover{
    background-color: #555555;
}
.all-resend-btn{
    transition: all 0.3s;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 12px;
    color: #fff;
    background-color: #333333;
}
.all-resend-btn:hover{
    background-color: #111111;
}



.send-owner-list{width: 100%;min-width: 0;}
.send-owner-list .cell{
    min-height: 36px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    flex: 0 0 100px;
    min-width: 100px;
}

.ssend-owner-list .cell>p{
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.send-owner-list .cell>p>span{
    display: block;
}

.send-owner-list .cell label{
    background-color: rgba(0, 123, 255, 0.2);
    border: 1px solid rgba(0, 123, 255, 0.2);
    width: 16px;height: 16px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007BFF;
}
.send-owner-list .cell input[type="checkbox"]{
    display: none;
}
.send-owner-list .cell label.checkbox>svg{
    display: none;
}
.send-owner-list .cell input[type="checkbox"]:checked ~ svg{
    display: flex;
}

.send-owner-list .cell:nth-child(1){
    min-width: 50px;
    flex: 0 0 50px;
}

.send-owner-list .cell:nth-child(4){
    min-width: 60px;
    flex: 0 0 60px;
}
.send-owner-list .cell:nth-child(7){
    flex: 0 0 120px;
    min-width: 120px;
}


.send-owner-list .cell:last-of-type{
    border-right: none;
    flex: 0 0 120px;
    min-width: 120px;
}

.non-black-list {
    background-color: #F1F1F1;
    color: #666666;
    padding: 2.5px 5px;
    border-radius: 8px;
    font-weight: 600;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: default;
}

.send-owner-list .download-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #333;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}

.send-owner-list .download-btn:hover{
    background-color: #111111;
}
.send-owner-list .download-btn-off{
    background-color: #999;
}
.send-owner-list .download-btn-off:hover{
    background-color: #999;
    cursor: default;
}

.send-owner-list .black-list-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background-color: #E83F49;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.3s;
}
.send-owner-list .black-list-btn:hover{
    background-color: #C4333E;
}



.send-owner-list>.table-body>.table-row.bk-list-row:hover{
    background-color: rgba(232, 63, 74, 0.1);
}




/* ======================= */
/* 계약서 관리 */
/* .data2-card-list{
    width: fit-content;
} */

.data2-list{min-height: 380px;}
.data2-list .cell{
    min-height: 36px;
    min-width: 100px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0 10px;
    flex: 0 0 100px;
}

.data2-list .cell:first-of-type{
    min-width: 400px;
    flex: 0 0 400px;
}

.data2-list .cell:nth-child(2){
    flex: 0 0 400px;
    min-width: 400px;
    justify-content: space-between;
}

.data2-list .cell:nth-child(2)>p{
    min-width: 300px;
    flex: 0 0 300px;
}
.data2-list .cell:last-of-type{
    min-width: 200px;
    flex: 0 0 200px;
}


.data2-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.inner-header-tab{
    padding-bottom: 0;
    padding-top: 49px;
}
.item-tab{display: flex;align-items: center;}
.item-tab>button{
    color: #666;
    font-size: 20px;
    font-weight: 700;
    min-width: 180px;
    min-height: 36px;
    padding: 6px 12px;
}
.item-tab>button.on{
    color: #007BFF;
    position: relative;
}
.item-tab>button.on::after{
    position: absolute;
    bottom: -1px;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #007BFF;
}
.left-view>.item-search{
    justify-content: flex-start;
}

/* ======================= */
/* 계약서 관리-새로등록 */
.left-view>h3{
    justify-content: flex-start;
}
.comment-box{
    max-width: 440px;
    flex-direction: column;
    align-items: flex-end;
}
.title-box>textarea {
    color: #333;
    font-size: 14px;
    font-weight: 400;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    min-height:150px;
    resize: none;
    font-family: 'Pretendard';
    font-size: 14px;
    outline: none;
}
.title-box>textarea::placeholder{color: #333;}


.file-list-box{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.file-list-item>p{
    color: #333;
    font-size: 14px;font-weight: 600;
}
.file-list-item>span{
    color: #666;
    font-size: 14px;
    font-weight: 500;
}

.file-list-comment-box{
    font-weight: 400;
    font-size: 14px;
    color: #333;
    background: #F6F6F6;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px;
    width: 100%;
    max-width: 450px;
}

.reg-item-box2{
    padding-bottom: 24px;margin-bottom: 0;
}


/* ======================= */
/* 직원관리 */
.emp-list{min-height: 490px;}
.emp-list .cell{
    min-height: 36px;
    min-width: 150px;
    border-right: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0 10px;
    flex: 0 0 150px;
    
}

.emp-list .cell:nth-child(3){
    min-width: 200px;
    flex: 0 0 200px;
    
}
.emp-list .cell:nth-child(5){
    min-width: 550px;
    flex: 0 0 550px;
    
}



.emp-list .cell>p{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.auth-list{
    display: flex;
    gap: 5px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.auth-list li{
    font-size: 13px;
    font-weight: 600;
    color: #121212;
    background: #F1F1F1;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    padding: 3px 10px;
}

/* ======================= */
/* 직원등록 */
.dup-btn{
    width: 100%;
    max-width: 110px;
    max-height: 36px;
    border-radius: 12px;
    background: #007BFF;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    border: none;
    padding: 10px 16px;
}
.dup-btn:hover{background: #0056b3;}

.dup-success{
    font-weight: 600;font-size: 13px;
    color: #1CA673;
}
.dup-error{
    font-weight: 600;font-size: 13px;
    color: #E83F49;

}


.auth-all-btn{
    display: flex;
    gap: 5px;
}
.auth-all-btn>button{
    width: 100%;
    max-width: 150px;
    border-radius: 10px;
    background: #666;
    color: #fff;
    padding: 5px 10px;
    font-weight: 600;
    font-size: 13px;
}
.auth-all-btn>button.on{
    background: #007BFF;
}
.auth-all-btn>button:hover{background: #555555;}
.auth-all-btn>button.on:hover{background: #007BFF;}

.auth-item{
    flex-direction: column;
}

.auth-item>button,
.auth-item>div{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: #F1F1F1;
    border: 1px solid #D9D9D9;
    border-radius: 10px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #999999;

}
.auth-item>button.auth-btn,
.auth-item>div.auth-btn{
    background-color: rgba(0, 123, 255, 0.1);
    color: #007BFF;
    border-color: #007BFF;
}
.auth-item>button.denied-btn,
.auth-item>div.denied-btn{
    background: #F1F1F1;
    color: #999999;
    border-color: #D9D9D9;
}
.auth-item>button.auth-btn>span,
.auth-item>div.auth-btn>span{

    background-color: rgba(0, 123, 255, 0.2);
    border-radius: 8px;
    padding: 2px 5px;
    font-weight: 600;
    font-size: 12px;
    
}


.auth-item>button.denied-btn>span,
.auth-item>div.denied-btn>span{
    display: none;
}






/* ======================= */
/* 모바일 레이아웃 */
.mo-menu-wrap{display: none;}

.mo-menu-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
}
.mo-menu-btn>svg{width: 22px; height: 22px;}
.mo-menu-btn:hover{background: rgba(0, 123, 255, 0.1);color: #007BFF;}
.mo-close-btn{
    transition: all 0.3s;
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #fff;
}
.mo-close-btn:hover{background: rgba(0, 123, 255, 0.1);color: #007BFF;}


.mo-cal-add-btn{
    width: fit-content;
    display: none;
    padding: 6px 12px;
    border-radius: 12px;
    background: #007BFF;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
}
    











/* ======================= */
/* 반응형 미디어쿼리 */
@media screen and (max-width: 1440px){


    /* 검색 영역 세로 스택 */
    .item-search{flex-wrap: wrap; justify-content: stretch; width: 100%;}
    .item-search>div{flex-wrap: wrap; justify-content: stretch;}

    /* 내부 레이아웃 여백 조정 */
    .inner-content>div{padding-right: 24px;}

    /* 테이블 카드 좌우 스크롤 유지 */
    .table-wrap{border-radius: 16px 16px 0 0;}
    .table{min-width: 1020px;}
    
}


@media screen and (max-width: 1366px) {
    .calendar{grid-template-columns: 1fr;}
    .aside-wrap{display: none;}
    .main-wrap{display: block;}
    .mo-cal-add-btn{display: flex;}
    .guide-col-title{padding: 12px 16px;}
    .table-wrap>p{padding: 12px 16px;}
    .aside-wrap>p{padding: 12px 16px;}



}


@media screen and (max-width: 1200px) {

    /* 모바일 메뉴 버튼 표시 */
    .mo-menu-wrap{display: block;}


    .logo-wrap{gap: 16px;}
    .logo-icon{width: auto;margin-right: 0;}
    .header-wrap{padding: 15px 24px;}
    /* 오프캔버스 레이어: 전환 유지를 위해 항상 렌더 + 페이드 */
    .fix-menu{display: block; position: fixed; top: 0; left: 0; height: 100%; width: 100%; padding-right: 0; z-index: 100; background: transparent; opacity: 0; pointer-events: none; transition: opacity 0.3s ease;}
    .dashboard-wrap.menu-open .fix-menu{opacity: 1; pointer-events: auto;}
    /* 닫힘 전환 중에도 레이어 유지 */
    .dashboard-wrap.is-closing .fix-menu{opacity: 1; pointer-events: auto;}
    .menu-header{align-items: center;}
    .inner-content>div{padding-left: 24px;}

    .mo-close-btn{display: flex;align-items: center;justify-content: center;}



    /* 메뉴 열림 상태: 오프캔버스 */
    .dashboard-wrap.menu-open .fix-menu{display: block; position: fixed; top: 0; left: 0; height: 100%;width: 100%; padding-right: 0; z-index: 100;background-color: rgba(0, 0, 0, 0.5);backdrop-filter: blur(1px);}
    /* 초기 상태: 오프캔버스 패널은 왼쪽 밖에 대기 (전환 없음) */
    .menu-inner{transform: translateX(-100%);} 
    /* 열릴 때만 전환 적용 → 초기 MQ 진입 시 불필요한 슬라이드 방지 */
    .dashboard-wrap.menu-open .menu-inner{height: 100%; border-radius: 0 24px 24px 0; overflow-y: auto; transform: translateX(0); transition: transform 0.3s ease;}
    /* 닫힘 중에도 패널 높이 유지 */
    .dashboard-wrap.is-closing .menu-inner{height: 100%; border-radius: 0 24px 24px 0; overflow-y: auto;}



}



@media screen and (max-width: 1024px){
    .header-wrap {padding: 15px 16px;}

    .inner-content>div{padding-right: 16px;padding-left: 16px;}
    .cal-mini-grid{gap: 4px;}
    .mini-day{height: 32px; font-size: 12px;}
    .cal-grid .day-cell{padding: 4px;}



    .chat-inner>h1{padding: 16px;font-size: 20px;}
    .chat-content>p{padding: 0 16px;}
    .chat-list-wrap{padding: 16px;}
    .chat-input{padding: 16px;}
}


@media screen and (max-width: 768px) {
    .header-wrap{padding: 10px;}
    .title-wrap>h1{display: none;}
    .logo-icon>svg{height: 45px;}
    .inner-guide{padding: 16px;}
    .inner-view{padding: 16px;}
    .inner-header{padding: 16px;}
    .inner-header-tab{padding-bottom: 0;padding-top: 49px;}



    .cal-aside-header{padding: 10px 12px;}
    .cal-current{font-size: 16px;}
    .cal-nav-btn{width: 32px; height: 32px;}


    .inner-content>div{padding-right: 10px;padding-left: 10px;}

}

@media screen and (max-width: 640px){
    .date-row{grid-template-columns: 1fr;}
}



@media screen and (max-width: 586px) {
    .page-dashboard .chat-list-wrap{height: calc(100dvh - 300px);} 

    .item-select{flex-wrap: wrap;width: 100%;}
    .item-search-date{width: 100%;;}
    .item{width: 100%;}
    .item>input{width: 100%;max-width: 100%;}
    .select_cus{width: 100%;max-width: calc(50% - 5px);}
    .item-select>div:last-child{max-width: 100%;}


    
    .assignee-input{width: 100%;}
    .assignee-chips .custom-chip{width: calc(50% - 5px);justify-content: space-between;}
    .field{width: calc(50% - 5px);}
    .time-select-group{width: 100%;}
    .select_cus_time{width: 100%;max-width: calc(100% - 35px);}


    .guide-card{flex-direction: column;}
    .guide-card-box{border-right: none; border-bottom: 1px solid #D9D9D9;}
    .guide-card-box>p{padding: 16px 12px 5px 12px;}

    .guide-item-wrap{padding: 16px 12px;}

    .table-card-list>p{padding: 12px;}
    .pagination{padding: 16px 12px;}

    .calendar-main{padding: 16px 4px;}
    .day-next-btn{border-radius: 5px; width: 18px;height: 18px;min-width: 18px;min-height: 18px;}
    .day-next-btn svg{width: 10px;height: 10px;}

    .cal-week{gap: 4px; font-size: 12px;}

    .mini-day{height: 28px;}
    .day-head{font-size: 12px;}
    .event-list{gap: 2px;}

    .day-cell{gap: 16px;}


    .double-btn{display: none;}
    .field-group{flex-wrap: wrap;}


}


@media screen and (max-width: 480px) {
    .user-icon{width: 40px;height: 40px;padding: 10px;}
    .popup-header>h3{padding: 32px 16px 0 16px;}
    .title-item-box{padding:16px 16px 5px 16px;}
    .popup-item>p{padding:16px 16px 5px 16px;margin-top: 16px;padding-top: 0;}
    .popup-item>strong{padding: 16px;}
    .popup-item-box{padding:16px;margin-bottom: 16px;}
    .popup-time-box{padding: 0;padding-right: 16px;}
    
    .popup-footer-btn{padding:16px 16px 16px 16px;}
    
    .tag-line{margin-right: 8px;}


    .date-box{flex-wrap: wrap;}
    .assignee-box>input{max-width: 100%;}
    .date-box>input{max-width: 100%;}

}



@media screen and (max-width: 440px) {
    /* 모바일 팝업 형태로 전환 */
    .page-dashboard .chat-wrap{
        top: auto;
        bottom: 24px;
        right: 24px;
    }
    .page-dashboard .chat-wrap:has(.chat-btn.active)::before{content: ''; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9;backdrop-filter: blur(1px);}
    .page-dashboard .chat-btn{
        border-radius: 24px;
        width: 56px;
        height: 56px;
        max-width: 56px;max-height: 56px;
        box-shadow: 0 20px 32px rgba(153, 153, 153, 0.25);
    }
    .page-dashboard .chat-btn.active::after{display: none;}


    .page-dashboard .chat-inner{height: fit-content;  position: fixed; left: 16px; right: 16px; top: 50%; transform: translateY(-50%); bottom: 16px; width: auto; max-width: none; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); z-index: 10;max-height: calc(100dvh - 80px);}
    .page-dashboard .chat-inner .chat-close-btn{display: flex;}


    .page-dashboard .fix-inquiry,
    .page-dashboard .chat-wrap{z-index: 10;}
    .page-dashboard .chat-wrap:has(.chat-btn.active){z-index: 11;}
    .page-dashboard .fix-inquiry:has(.inquiry-modal.open){z-index: 11;}
    /* 상담문의 모달: 메인 전용 팝업 형태 */

    .page-dashboard .fix-inquiry:has(.inquiry-modal.open)::before{content: ''; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9; backdrop-filter: blur(1px);}    
    .page-dashboard .inquiry-modal{height: fit-content; position: fixed; left: 16px; right: 16px; top: 50%; transform: translateY(-50%); bottom: 16px; width: auto; max-width: none; border-radius: 16px; padding: 16px; z-index: 10;}
    .page-dashboard .inquiry-header h2{font-size: 20px;}
    .page-dashboard .inquiry-form{max-height: calc(100dvh - 160px); overflow-y: auto;}
    .page-dashboard .inquiry-modal .inquiry-close-btn{display: flex;}

}


@media screen and (max-width: 400px) {
    .inquiry-fab{width: 50px;height: 50px;border-radius: 20px;}
    .inner-content h3 {font-size: 18px;}
    .guide-item {font-size: 13px;}
    .guide-item>span {font-size: 11px;}

    .day-head{gap: 0px;}
    .event-list li{gap: 1px;}

    .page-dashboard .chat-btn{
        width: 50px;
        height: 50px;
        max-width: 50px;
        max-height: 50px;
        border-radius: 20px;
        padding: 10px;
    }

}

@media screen and (max-width: 390px){

}
@media screen and (max-width: 320px){
    .chat-input>textarea{
        padding: 10px 8px;
    }
    .chat-input>textarea::placeholder{
        font-size: 13px;
    }
}



.fix-inquiry{
    display: none;
}
/* 포커스 했을때 라인 색상 변경 */
.date-item>input:focus{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}
.select_cus:focus-within{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}

.select_cus:focus{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}
.select_cus:focus-visible{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}
/* 기존 라인 근처에 추가/수정 */
.select_cus:focus-within,
.select_cus.active {
    border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);
}

.title-box>input:focus{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}
.item>input:focus{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}
.st-input-wrap input:focus{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}

textarea:focus{border: 1px solid #007BFF;box-shadow: 0 0 8px 1px rgba(0, 123, 255, 0.1);}