/* === 각 page 추가 css === */

/* === cp_login === */
.p_bg{background: #fafbfe;}
.br-rs{border-radius: 0.25em !important;}

.search_g>span{color: #979797; cursor: pointer;}
.search_g>span:hover{text-decoration: underline;}

.id_fs_wt01{font-weight: normal;}
.card{border-color: #e0e2e7 !important; box-shadow: none;}

/* === CP_join === */
.text_line{padding: 0 0 5px 3px; border-bottom: 2px solid #144cc5;}
.form-height{height: calc(2.88rem + 2px) !important;}
.c_login:hover{color: #144cc5;}

/* === 내 계정 관리 page style / (** 반응형 table style 다름 **)  === */
.pageTable{width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;}
.br-bt02{border-top: 2px solid #333;}
.table-row{white-space: nowrap;}
.table-row, .pageTable-header, .pageTable-data{border-bottom: 1px solid #ddd; text-align: left;}
.pageTable-header, .pageTable-data{padding: 0.6rem 0.7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; /* th, th(span) 단어 줄넘침 방지 */}
.pageTable-header{
    background-color: #F9F9F9;
    width: 150px; min-width: 150px; max-width: 150px; /* th, th(span) width 자동조절 */
}
.pageTable-data{width: auto;}
.pageTable-header{white-space: normal; /* th, th(span) width 160px 초과 시 자동 넘침 */}

.pageTable-data input, .pageTable-data select {width: 100%; box-sizing: border-box; margin: 0 !important;}
.inputTxt-No{border: 0 !important; background: #fff !important;}
.mr-3-m-2{margin-right: 1rem !important;}

/* 빈칸 여백용 코드추가 */
.blank-th-item{background-color: #fff !important; overflow: hidden; text-indent: -999999px;}
.blank-td-item{overflow: hidden; text-indent: -999999px;}

/* === 어드민관리>메뉴설정>메뉴관리 === */
.b-rd{border-radius: 0.25rem !important;}
.b-rd02{border-radius: 0.45rem !important;}

/* === 사용자 권한관리 === */
.page-link{color: #222e47;}
.page-item.active .page-link{z-index: 3; color: #fff; background-color: #9DB2BF;}
.system-menu table{border-collapse: separate; border-spacing: 0 8px;}
.system-menu table td:first-child{margin-right: 10px;}

.user_table h5{margin-bottom: 0 !important;}

.bg-color{background: #dee2e6}

/* === 본사관리 : 홈페이지 설정 === */
.image-wrapper{margin-bottom: 0 !important;}
.image-wrapper>img{width: 38px; cursor: pointer;}

/* === 가맹점 관리 : 가맹점등록 === */
.min150-m{min-width: 150px; margin-left: 0;}
#checkMerchantId, .br-tb-Right{border-top-right-radius: 0.25rem !important; border-bottom-right-radius: 0.25rem !important;}
.br-tb-Right0{border-top-right-radius: 0; border-bottom-right-radius: 0;}
.br-tb-Left{border-top-left-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important;}
.br-tb-Left0{border-top-left-radius: 0; border-bottom-left-radius: 0;}
.resetBtn{cursor: pointer;}

/* === 가맹점관리 등록&관리 팝업(테이블 관련 추가 CSS) === */
.modal-lg-w{max-width: 900px !important; margin: 0 auto;}
.popupTable{width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;}
.scroll-x{overflow-x: auto;}
.popupTable02{width: 100%; table-layout: auto; border-collapse: separate; border-spacing: 0; white-space: nowrap; overflow-x: auto;}
.table-row{white-space: nowrap;}
.table-row, .popupTable-header, .popupTable-data{border-bottom: 1px solid #ddd; text-align: left;}
.popupTable-header, .popupTable-data{padding: 0.6rem 0.7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; /* th, th(span) 단어 줄넘침 방지 */}
.popupTable-header{
    background-color: #F9F9F9;
    width: 110px; min-width: 110px; max-width: 110px; /* th, th(span) width 자동조절 */
}
.popupTable-data{width: auto;}
.popupTable-header{white-space: normal; word-break: keep-all /* th, th(span) width 160px 초과 시 자동 넘침 */}
.popupTable input, .popupTable select{width: 100%; box-sizing: border-box; margin: 0 !important;}
input.inputTxt-No2{border: 0 !important; background: #fff !important; font-size: 1.3rem !important; padding: 0.375rem 0 !important;}
input.inputTxt-No3{border: 0 !important; background: #fff !important; font-size: 1rem !important; padding: 0.375rem 0 !important;}
input.inputTxt-No2[disabled]{color: #064acb !important; font-weight: 500;}
input.inputTxt-No3[disabled]{color: #35609b !important; font-weight: 500;}

/* === 팝업창 메뉴 정렬(ul class) === */
.pop-btn-w55{min-width: 55px !important;}
.pop-li-w344{width: 344px !important;}
.pop-li-w342{width: 342px !important;}
.pop-t-w80{min-width: 80px !important;}
.pop-t-w100{min-width: 100px !important;}
.pop-t-w125{min-width: 125px !important;}
.pop-my-3>li{margin: 4px 0 !important;}

/* === 팝업창 총판/상위 table === */
.b-cb{border-bottom: 1px solid #ddd;}
.b-cbNo{border-bottom: none;}

/* === 팝업창 : 매출전표 === */
.border-tb0{border-bottom: 2px solid #343a40 !important; border-top: none !important;}
.border-b0{border-bottom: 1px solid #dee2e6;}
.bg-color02{background: #f8f8f8;}

/* === 팝업창 : 추가정보란 부분 === */
.crystal{width: 100%; display: flex; flex-wrap: wrap;}
.crystal-item{width: 50%; display: flex; flex-wrap: wrap; flex-direction: column; font-size: 0.9rem !important;}
.th-txt{width: 100%; max-width: 75px; font-weight: 600;}

/* === 팝업창 : 신용카드 거래내역 부분 === */
.crystal02{width: 100%; display: flex; flex-wrap: wrap;}
.crystal-item02{width: 50%; display: flex; flex-wrap: wrap; flex-direction: column;}
.w-95-mw-85{width: 95px !important;}
.th-txt02{width: 100%; font-weight: 600;}

/* === 본사관리 : 홈페이지 설정 === */
.image-wrapper{margin-bottom: 0 !important;}
.image-wrapper>img{width: 38px; cursor: pointer;}

/* === 가맹점 관리 : 가맹점등록 === */
.min150-m{min-width: 150px; margin-left: 0;}
#checkMerchantId, .br-tb-Right{border-top-right-radius: 0.25rem !important; border-bottom-right-radius: 0.25rem !important;}
.br-tb-Right0{border-top-right-radius: 0; border-bottom-right-radius: 0;}
.br-tb-Left{border-top-left-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important;}
.br-tb-Left0{border-top-left-radius: 0; border-bottom-left-radius: 0;}
.resetBtn{cursor: pointer; padding: 0.4rem 0.7rem;}

/* === 재정산 달력(cp) === */
.table-mHeight{display: block; width: 100%; height: 12px;}

.holidayBg{background: #fff2f2 !important;}
.holidayCenter{display: flex; align-items: center; justify-content: center;}
.holidayCenter>div{margin-top: 0 !important;}

.item-title-bg{border-radius: 5px; background: #EEF7FF; color: #144cc5 !important; border: none !important;}
.item-title-bg02{border-radius: 5px; background: #ededed; color: #818181 !important; border: none !important;}
.item-no-Bbg{border: none !important;}
.left-text, .right-text{padding: 5px 8px;}
.left-text02, .right-text02{padding: 2px;}
.left-text{font-weight: 600;}
.m-circle{
    display: inline-block; width: 10px; height: 10px; 
    border-radius: 50%; margin-right: 2px;
}
.m-circleBg01{background-color: #144cc5;}
.m-circleBg02{background-color: #00c78e;}
.m-circleBg03{background-color: #E00543;}


/* === 반응형 === */
@media all and (max-width:1140px){
    /* 가맹점관리 등록&관리 팝업(테이블 관련 추가 CSS) */
    .modal-lg-w{max-width: 880px !important; margin: 0 auto;}
    .popupTable-header, .popupTable-data{padding: 0.6rem 0.7rem;}
    input.inputTxt-No2{font-size: 1.3rem !important;}
    input.inputTxt-No3{font-size: 1rem !important;}

    /* === 사용자 권한관리 === */
    .date-search-wrap>.date-select{width: 100% !important; margin-bottom: 0.5rem !important;}
    .date-search-wrap>.date-select-bt{width: 20% !important;}
    .btn_wid100{width: 100% !important;}

    /* === 팝업창 메뉴 정렬(ul class) === */
    .ma650-no-w100{max-width: 100%;}
    .textarea{width: 100%;}

    /* === 재정산 달력(cp) === */
    .fc-event{margin: 0 !important;}
    .table-mHeight{height: 6px;}

    /* 1140PX 모바일형일때 모바일형 재정산 달력 style */
    .fc-list-event-title>div{padding: 7px 0 0 0;}
    .fc-list-day-cushion, .fc-cell-shaded{background: #fff !important;}
    .fc-list-day-cushion a{font-weight: 400 !important; color: #8d8d8d !important;}
    .fc-data-Cstyle{background: #ebf2fb !important;}
    .fc-data-Cstyle a{color: #212529 !important;}
    .m1140-h100{height: 100%;}
    #calendar{height: 100vh;}
    .item-title-bg, .item-title-bg02{padding : 5px !important;}
    .left-text, .right-text{padding: 2px 8px;}
    .left-text, .right-text, .left-text02, .right-text02{font-size: 0.95rem;}
    .fc .fc-list-table td {padding: 8px 10px !important;}
    .left-text02, .right-text02{padding: 2px 8px;}
}

@media all and (max-width:960px){
    /* === 마스터 공지사항 편집에디터 상단바 크기 조절 === */
    .note-btn-group .note-btn{font-size: 12px !important; padding: .28rem .50rem !important;}

    /* === 내 계정 관리 page style / (** 반응형 table style 다름 **)  === */
    .pageTable, .pageTable tbody, .pageTable tfoot, .pageTable-data, .table-row{display: block;}
    .pageTable-header, .pageTable-data{padding: 0.6rem 0.7rem;}
    .pageTable-header{display: none;}
    .pageTable-data{position: relative; padding-left: 165px;}
    .m-br-bt0{border-bottom: none !important;}
    .m-br-btT1{border-top: 1px solid #6e7c8a;}
    .pageTable-data input{width: 100%;}

    .pageTable-data>span{
        position: absolute; left: 0; top: 0;
        width: 150px; min-width: 150px; max-width: 150px; height: 100%;
        display: flex; align-items: center;
        background-color: #f0f0f0; font-weight: bold;
        padding: 0.6rem 0.7rem;
        box-sizing: border-box; border-right: 1px solid #ddd;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .pageTable-data>span{white-space: normal; word-break: keep-all; line-height: 1.25rem;}

    /* 빈칸 여백용 코드추가 */
    .blank-td-item>span{display: none;}
    .blank-td-item{display: none !important;}

    /* 가맹점관리 등록&관리 팝업(테이블 관련 추가 CSS) */
    .modal-lg-w{max-width: 680px !important;}
    .popupTable{font-size: 0.9rem !important;}
    .popupTable, .popupTable tbody, .popupTable tfoot, .popupTable-data, .table-row{display: block;}
    .popupTable-header, .popupTable-data{padding: 0.6rem 0.7rem;}
    .popupTable-header{display: none;}
    .popupTable-data{position: relative; padding-left: 115px;}
    .popupTable-data input{width: 100%;}
    input.inputTxt-No2{font-size: 1.15rem !important;}
    input.inputTxt-No3{font-size: 1rem !important;}

    .popupTable-data>span.popup-label{
        position: absolute; left: 0; top: 0;
        width: 100px; min-width: 100px; max-width: 100px; height: 100%;
        display: flex; align-items: center;
        background-color: #f0f0f0; font-weight: bold;
        padding: 0.6rem 0.7rem;
        box-sizing: border-box; border-right: 1px solid #ddd;
        white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .h75-d-flex{height: 75px !important; display: flex; align-items: center;}
    .popupTable-data>span.popup-label{white-space: normal; word-break: keep-all; line-height: 1.25rem;}

    /* === 사용자 권한관리 === */
    .date-search-wrap>.date-select{width: 100% !important; margin-bottom: 0.5rem !important;}
    .date-search-wrap>.date-select-bt{width: 20% !important;}
    .btn_wid100{width: 100% !important;}

    /* === 어드민관리>메뉴설정>메뉴관리 === */
    .mt-lg24{margin-top: 24px !important;}

    /* === 팝업창 메뉴 정렬(ul class) === */
    .modal-footer{flex-wrap:nowrap !important; justify-content: space-between !important;}
    .pop-li-w344, .li-w-fill{width: 100% !important;}
    .ul-fl-wrap{flex-wrap: wrap !important;}
    .h-scroll{max-height: 450px !important; overflow-y: scroll !important;}
    .ma650-no-w100{max-width: 100%;}
    .textarea{width: 100%;}
    .m-w100{width: 100% !important;}
    .col-form-label{line-height: 1.1 !important;}
    .pop-my-3>li{margin: 2px 0 !important;}
    .lg-mb-1{margin-bottom: 1rem;}
    .md-w-100{width: 100% !important;}
    .lg-py-07{padding-top: 0.7rem !important; padding-bottom: 0.7rem !important;}

    /* === 팝업창 : 추가정보란 부분 === */
    .crystal{flex-direction: row !important; align-items: center !important;}
    .crystal-item{width: 100% !important; flex-direction: row !important; align-items: center !important; margin: 0 !important;}
}

@media all and (max-width:767px){
    /* === 마스터 공지사항 편집에디터 상단바 크기 조절 === */
    .note-toolbar{gap: 0 !important;}
    .note-btn-group .note-btn{font-size: 12px !important; padding: .25rem .45rem !important;}

    /* === 내 계정 관리 page style / (** 반응형 table style 다름 **)  === */
    .pageTable-header, .pageTable-data{padding: 0.6rem 0.8rem;}
    .pageTable-data{position: relative; padding-left: 165px;}
    .pageTable-data>span{padding: 0.6rem 0.8rem;}

    /* === 가맹점 관리 : 가맹점등록 === */
    .min150-m{min-width: 100%; margin-left: 0;}
    .mt-450-0{margin-top: 0.5rem !important;}

    /* 가맹점관리 등록&관리 팝업(테이블 관련 추가 CSS) */
    .modal-lg-w{max-width: 500px !important;}
    .popupTable, .popupTable input, .popupTable select, .popupTable-data button{font-size: 0.9rem !important;}
    .popupTable select{height: calc(2.25rem + 0px)!important;}
    .popupTable-header, .popupTable-data{padding: 0.6rem 0.7rem;}
    .popupTable-data{position: relative; padding-left: 110px;}
    input.inputTxt-No2{font-size: 1.15rem !important;}
    input.inputTxt-No3{font-size: 1rem !important;}

    .popupTable-data>span.popup-label{width: 95px; min-width: 95px; max-width: 95px; padding: 0.6rem 0.7rem;}

    /* === 팝업창 메뉴 정렬(ul class) === */
    .md-flex{display: flex; align-items: center; gap: 0.8em;}
    .md-min-w65{min-width: 65px}

    /* === 팝업창 : 추가정보란 부분 === */
    .crystal{flex-direction: row !important; align-items: center !important;}
    .crystal-item{width: 100% !important; flex-direction: row !important; align-items: center !important; margin: 0 !important;}
}

@media all and (max-width:575px){
    /* cp_login */
    .card02{border: none !important; background: #fafbfe;}
    .card_Bp575{padding: 1rem !important;}

    /* === 내 계정 관리 page style / (** 반응형 table style 다름 **)  === */
    .pageTable-header, .pageTable-data{padding: 0.6rem 0.85rem;}
    .pageTable-data{position: relative; padding-left: 145px;}
    .pageTable-data>span{padding: 0.6rem 0.85rem; width: 130px; min-width: 130px; max-width: 130px;}
    .font-cardFree{font-size: 0.9rem !important; padding: 0.375rem 0.65rem !important;}

    /* === 본사관리 : 홈페이지 설정 === */
    .btn_wid100-2{width: 100% !important;}

    /* === 가맹점 관리 : 가맹점등록 === */
    .min150-m{min-width: 100%; margin-left: 0;}

    /* 가맹점관리 등록&관리 팝업(테이블 관련 추가 CSS) */
    .modal-lg-w{max-width: 500px !important;}
    .popupTable-header, .popupTable-data{padding: 0.6rem 0.7rem;}
    .popupTable-data{position: relative; padding-left: 110px;}
    input.inputTxt-No2{font-size: 1.15rem !important;}
    input.inputTxt-No3{font-size: 1rem !important;}

    .popupTable-data>span.popup-label{width: 95px; min-width: 95px; max-width: 95px; padding: 0.6rem 0.7rem;}

    /* === 팝업창 : 신용카드 거래내역 부분 === */
    .w-95-mw-85{width: 90px !important;}

    /* === 재정산 달력(cp) === */
    /* 모바일형일때 모바일형 재정산 달력 style */
    .fc-list-event-title>div{padding: 7px 0 0 0;}
    .item-title-bg, .item-title-bg02{padding : 5px !important;}
    .left-text, .right-text{padding: 2px 0;}
    .left-text, .right-text, .left-text02, .right-text02{font-size: 0.95rem;}
    .left-text02, .right-text02{padding: 2px 0;}
}

@media all and (max-width:450px){
    /* cp_login */
    .card02{border: none !important; background: #fafbfe;}
    .card_Bp575{padding: 1rem !important;}

    /* === 내 계정 관리 page style / (** 반응형 table style 다름 **)  === */
    .pageTable{font-size: 0.9rem !important;}
    .pageTable-header, .pageTable-data{padding: 0.6rem 0.75rem;}
    .pageTable-data{position: relative; padding-left: 125px;}
    .pageTable-data>span{padding: 0.6rem 0.75rem; width: 110px; min-width: 110px; max-width: 110px;}
    .mr-3-m-2{margin-right: 0.7rem !important;}

    /* === 본사관리 : 홈페이지 설정 === */
    .btn_wid100-2{width: 100% !important;}

    /* === 가맹점 관리 : 가맹점등록 === */
    .min150-m{min-width: 100%; margin-left: 0; margin-bottom: 0.5rem;}
    .mb-gap2{gap: 0.5em !important;}
    .m-gap2{gap: 0.5em !important; margin-bottom: 0.5rem;}
    .btn-wrap{margin-top: 0.5rem !important;}

    /* 가맹점관리 등록&관리 팝업(테이블 관련 추가 CSS) */
    .modal-lg-w{max-width: 90% !important;}
    .popupTable{font-size: 0.85rem !important;}
    .popupTable input, .popupTable select, .popupTable-data button{font-size: 0.85rem !important;}
    .popupTable select{height: calc(2.25rem - 2px)!important;}
    .popupTable-header{padding: 0.6rem 0.7rem;}
    .popupTable-data{position: relative; padding-left: 110px;}
    input.inputTxt-No2{font-size: 1.15rem !important;}
    input.inputTxt-No3{font-size: 1rem !important;}

    .popupTable-data>span.popup-label{width: 95px; min-width: 95px; max-width: 95px; padding: 0.6rem 0.7rem;}

    /* === 사용자 권한관리 === */
    .date-search, .word-search, .date-search-wrap{flex-wrap: wrap;}
    .gap0-1{gap: 0.8em;}
    .date-search-wrap>.date-select-bt{width: 100% !important;}

    /* === 팝업창 : 신용카드 거래내역 부분 === */
    .w-95-mw-85{width: 80px !important;}
    .m-fs8 .fs-9{ font-size: 0.85rem !important;}
}

/* 툴바가 2줄로 나누어지도록 설정 */
.note-toolbar {
    display: flex;
    flex-wrap: wrap; /* 항목들이 자동으로 두 줄로 나뉘게 설정 */
    justify-content: flex-start;
    gap: 5px; /* 항목들 사이에 여백 추가 */
}
.note-btn-group .note-btn {
    background-color: #fff;
}
.note-editable img, #memo img {
    max-width: 100%;   /* 이미지의 최대 너비를 부모 요소에 맞춤 */
    height: auto;      /* 이미지 비율을 유지하며 높이 조정 */
}

/* 컨테이너 */
.policy-days{display:flex;gap:10px;flex-wrap:wrap}

/* 기본(해제 상태): 흰 바탕 + 검은 글자, 넓이/높이 여유 */
.policy-days label{
    position:relative;display:inline-flex;align-items:center;justify-content:center;
    padding:10px 16px;min-width:64px;height:40px;
    border:1px solid #212529;border-radius:10px;
    background:#fff;color:#212529;font-weight:600;line-height:1;cursor:pointer;
    user-select:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;
}

/* 체크박스 시각 숨김(접근성 OK) */
.policy-days label > input[type="checkbox"]{
    position:absolute;opacity:0;width:1px;height:1px;margin:-1px;
    clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;
}

/* ✅ 선택됨: 검은 바탕 + 흰 글자 */
.policy-days label:has(input:checked){
    background:#212529;color:#fff;border-color:#212529;
    /*box-shadow:0 0 0 .15rem rgba(0,0,0,.12);*/
}

/* 호버 */
.policy-days label:hover{ background:#f6f6f6 }
.policy-days label:has(input:checked):hover{ background:#000;border-color:#000 }

/* 키보드 포커스 */
.policy-days label:has(input:focus-visible){
    outline:2px solid rgba(0,0,0,.35);outline-offset:2px;
}







/* 비밀번호 */
.pw-card{max-width:420px;margin:24px auto;padding:24px;border:1px solid #eee;border-radius:12px;background:#fff}
.pw-title{font-weight:600;text-align:center}
.otp-group{display:flex;gap:8px;justify-content:center;margin-top:16px}
.otp-input{width:42px;height:48px;text-align:center;font-size:22px;border:1px solid #ccc;border-radius:8px;background:#f9f9f9}
.pinpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:320px;margin:20px auto 0}
.pinpad .key,.pinpad .del{height:48px;font-size:18px;border:1px solid #ccc;border-radius:8px;background:#fff}
.pinpad .key:active,.pinpad .del:active{background:#f2f2f2}