﻿.logtx{
    margin: 10px 0;
    display: block;
    height: 320px;
    overflow-y: auto;
}

.content01 { display: flex; margin:0 10px;}
.content01 .left_box {
	flex-shrink: 0;
	width: 40%;
	margin-right:5px
}
.content01 .right_box {
	flex-shrink: 1;
	width: 60%;
	margin-left:5px
}
.content01 .item {background-color: #fff; }
.content01 .left_box .top {height: 130px; margin-bottom:10px;}
.content01 .left_box .bottom {height: 670px;}
.content01 .right_box .top {height: 380px; margin-bottom:10px}
.content01.right_box .bottom {height: 350px;}
.mBox{
	display:flex; 
}
.mBox .bSub{
	width:97px;
	height:57px;
	background-color:#eaf7fd;
	padding-top:5px;
	padding-left:10px;
	color:#929293;

}
.bSub a{
	color:#3d80bc;
	text-decoration-line : underline;
}

.mbBox{
	border:solid 1px #B7D1EA;
	height:50;
}
.mbBoxT1{
	background-color:#F1F5F8;
	height:50px;
	padding:11px;
	color:#7185C4;
}

.mbBoxB1{
	height:85px;
	padding-top:20px;
	padding-left:22px;
	color:#7185C4;
}

.mbBox1{border:solid 1px #BBBFC8; height:50;}

.main_top_m {
        display: flex;
        justify-content: space-between;
        padding: 11px 20px;
        color: #fff;
        background: #112651;
		position: relative;
}

.main_top_m h3 {
        font-size: 20px;
        align-content: center;
        margin: 0;
        font-weight: 500;
}

.main_top_m h3>span {
        display: inline-block;
        font-size: 14px;
        margin-left: 5px;
        padding-bottom: 5px;
}

.main_top_m2 {
    display: flex;
    justify-content: flex-end;
    color: #fff;
    right: 15px;
    top: 9px;
    position: absolute;
}

.main_top_m2n ul {
        display: flex;
        padding: 0;
        align-items: center;
        margin: 0;
}

.main_top_m2n {
    display: flex;
    justify-content: flex-end;
    color: #fff;
    right: 5px;
    top: 5px;
    position: absolute;
}

.main_top_m2 ul {
        display: flex;
        padding: 0;
        align-items: center;
        margin: 0;
}



.main_top_m3 {
        padding: 0 0 15px 0;
        color: #fff;
        background: #ffffff;
}

.main_top_m3 ul {
        display: flex;
        padding: 0;
        align-items: center;
        margin: 0;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: flex-end;
}
.main_top_m4 {
        display: flex;
        justify-content: flex-end;
        padding: 10px 20px;
        color: #fff;
        background: #ffffff;
        border-bottom: 1px solid #ddd;
		right: 0;
}

.main_top_m4 ul {
        display: flex;
        padding: 0;
        align-items: center;
        margin: 0;
}

.main_top_m5 {
    display: flex;
    justify-content: flex-end;
    color: #fff;
    right: 13px;
    top: 15px;
    position: absolute;
}


.main_top_m5 ul {
        display: flex;
        padding: 0;
        align-items: center;
        margin: 0;
}








.main_top_bt01 {
        width: 110px;
        text-align: center;
        display: block;
        margin-right: 2px;
        align-content: center;
        border-radius: 3px;
        padding: 5px 15px;
        font-size: 14px;
        font-weight: 500;
        transition: .3s;
        background-color: #fff;
        border: 1px solid #a9a9a9;
}
.main_top_bt02 {
        width: 150px;
        text-align: center;
        display: block;
        margin-right: 2px;
        align-content: center;
        border-radius: 3px;
        padding: 5px 15px;
        font-size: 14px;
        font-weight: 500;
        transition: .3s;
        background-color: #fff;
        border: 1px solid #a9a9a9;
}
.main_top_bt03 {
        width: 100%;
        text-align: center;
        display: block;
        margin-right: 2px;
        align-content: center;
        border-radius: 3px;
        padding: 5px 12px;
        font-size: 14px;
        font-weight: 500;
        transition: .3s;
        background-color: #fff;
        border: 1px solid #a9a9a9;
    }

    .main_top_bt03:hover,
    .main_top_bt01:hover {
        text-decoration: none;
    }

    .main_top_m3 li {
        margin: 2px;
    }


    @media (max-width: 700px) {
        .main_top_m {
            flex-direction: column;
        }

        .main_top_m2 ul {
            flex-wrap: wrap;
        }

        .main_top_m2 li {
            width: 32%;
            margin: 2px;
        }

        .main_top_bt01 {
            width: 100%;
            margin-bottom: 3px;
            padding: 5px;
        }

        .main_top_m3 li {
            width: 48%;
        }
    }
.main_top_bt04 {
    width: 48%;
    text-align: left;
    display: inline-block;
    margin: 0.5%;
    align-content: center;
    border-radius: 3px;
    padding: 10px 0px 10px 20px;
    font-size: 14px;
    font-weight: 500;
    transition: .3s;
	background-color: #fff;
    border: 1px solid #a9a9a9;
}
.main_top_bt04:hover {
 color: #fff; background-color: #2e59d9; border: 1px solid  #2653d4;
}
.act01{ color: #fff; background-color: #2e59d9; border: 1px solid  #2653d4;}
.act01:hover{color: #fff; background-color: #4e73df; border: 1px solid  #4e73df; text-decoration: none;}

    .container2 {
        display: flex;
        gap: 10px;
        margin-top: 10px;
        /*  background-color: #f8fcff;
    border: 1px solid #ddd;
    padding: 10px; */
        border-radius: 4px;
        /* box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); */
        /* flex-direction: column; */
        flex-wrap: wrap;
    }

    .container3 {
        display: flex;
        gap: 10px;
        margin-top: 10px;
        /*  background-color: #f8fcff;
    border: 1px solid #ddd;
    padding: 10px; */
        border-radius: 4px;
        /* box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); */
        /* flex-direction: column; */
        flex-wrap: wrap;
    }


	.scrbox-a{height: 393px; overflow-y: auto;}
	.scrbox-b{height: 307px; overflow-y: auto;}
	.scrbox-c{height: 330px; overflow-y: auto;}
	.photo_tx01{
	COLOR: #FFF;
    padding: 10px 5px;
    background: #4e73df;
    margin-top: 10px;
    font-weight: 600;
    font-size: 14px;
	text-align:center;
	border-radius:3px;
	}

    .index_title01 {
        width: 100%;
        padding: 0 10px 10px 0;
        display: block;
        color: #3c3c3c;
        font-weight: 700;
        border-bottom: 2px solid #3c3c3c;
    }

    .photo-section {
        flex: 1;
        padding: 0 5px 0 0;
        /* border-right: 1px solid #ddd */
    }

    .photo-section img {
        margin-top: 10px;
        display: block;
        width: 100%;
        height: 200px;
        object-fit: cover;
        border: 1px solid #ccc;
    }
.photo-section2 img {
    margin-top: 10px;
    display: block;
    width: 98%;
    height: 178px;
    object-fit: cover;
    border: 1px solid #ccc;
}
    .photo-section button {
        background: #444444;
        padding: 10px;
        border-radius: 4px;
        color: #fff;
        font-size: 13px;
        margin-top: 5px;
        width: 100%;
    }

    .info-section {
        flex: 4;
    }

    .info-section2 {
        flex: 1;
    }


    .info-grid {
        display: flex;
       /*  justify-content: space-around; */
        flex-wrap: wrap;
        gap: 6px;
        justify-items: center;
    }

    .info-div4 {width: 24%; position: relative;}

    .info-div3 {width: 32%; position: relative;}
    .info-div3 div{display:inline-block; position: absolute; right:5px;color: #bc0101;}
    .info-div3 div > input{position: absolute; right: 93px;top: 1px;display: inline-block;}
	.info-div3n {width: 29%; position: relative;}
    .info-div3n div{display:inline-block; position: absolute; right:5px;color: #bc0101;}
    .info-div3n div > input{position: absolute;right: 60px;top: 1px;display: inline-block;}
    .info-div2 {width: 64.5%; position: relative;}

	.info-div2n {width: 48.3%; position: relative;top: -2px;}
    .info-div2n > input{ display:inline-block; }
	.info-div2n div > input{position: absolute;right: 40px;top: 40px;display: inline-block;}
    .info-div2n > select{ display:inline-block; }
    .info-div2n li{display:inline-block; width:100px}

	.info-div1n {width: 98%; position: relative;top: -2px;}
    .info-div1n > input{ display:inline-block; }
	.info-div1n div > input{position: absolute;right: 40px;top: 40px;display: inline-block;}
    .info-div1n > select{ display:inline-block; }
    .info-div1n li{display:inline-block; width:150px}



.info_bx{ position: absolute; top: 30px; right: 30px;}
.info_bx > li > label { position: relative; top: 3px;left: 2px;}

.info-div4 li{display:inline-block; width:60px}

.info_bx2{ position: absolute; top: 30px; }
.info_bx2 > li > label {
    position: relative;
    top: 3px;
    left: 2px;
}

.info_bx3 {
    width: 100%;
    display: inline-block;
    /* position: absolute; */
    /* top: 30px; */
    /* right: 30px; */
}
.info_bx3 li{display: inline-block; width:30% !important; font-weight:500; font-size:14px;}
.info_bx3 li > input{display: inline-block; margin-right:10px;}

.bbs_search_box_new3 .info_bx3 label{position: relative;top: 4px;left: 4px}


.info_bx4{position: absolute; top: 30px; left: 30px;}
.info_bx4 > li > label {
    position: relative;
    top: 3px;
    left: 2px;
}


.info_bx5{width: 96%; position: absolute; top: 30px; left: 30px;}
.info_bx5 > li > label {
    position: relative;
    top: 5px;
    left: 2px;
}



.info_bx5 li{display: inline-block; width:13%; font-weight:500; font-size:14px;}
.info_bx5 li > input{display: inline-block; margin-right:10px;}


.info_bx6{
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.info_bx7 {
    position: absolute;
    top: -7px;
    left: 110px;
}







.info-title {
    position: relative;
    width: 97%;
    background: #dbdbdb;
    border-radius: 5px;
    font-size: 14px;
	font-weight:600;
    padding: 10px 15px;
    margin-top: 5px;
}
.info_btn {
    position: absolute;
    right: 0;
    /* padding: 0 20px; */
    border-radius: 0 5px 5px 0;
    background: #673AB7;
    color: #fff;
	font-weight:500;
    padding: 10px 60px;
    top: 0;    transition: .3s;
}
.info_btn:hover {
    background: #551cbb;
    color: #fff;
}


.info-title-b {
    position: relative;
    width: 98%;
	margin-left: 11px;
    background: #3c3c3c;
    border-radius: 5px;
    font-size: 14px;
	font-weight:600;
    padding: 5px 15px;
	color:#fff;
}
.info_btn2 {
    position: absolute;
    right: 0;
    /* padding: 0 20px; */
    border-radius: 0 3px 3px 0;
    background: #673AB7;
    color: #fff;
	font-weight:500;
    padding: 7px 80px;
    top: 1px;    
	transition: .3s;
}
.info_btn2:hover {
    background: #551cbb;
    color: #fff;
}


.info-div1 {
        display: flex;
        width: 100%;
        padding: 0;
        margin: 0;
        flex-direction: column;
        align-content: flex-start;
        align-items: flex-start;
}
.info-div1n {
        display: flex;
        width: 100%;
        padding: 0;
        margin: 0;
        flex-direction: row;
        align-content: flex-start;
        align-items: flex-start;
}
.info-div1 textarea { width: 97%; height: 50px;}

.info-grid label {position: relative;
	    text-indent: 4px;
	    font-size: 14px;
        display: block;
        font-weight: bold;
}

/*     .info-grid input {
        width: 100%;
        padding: 4px;
    } */

    .info-div2 input {
        width: 100%;
        padding: 4px;
    }

    .info-div3 input {
        width: 100%;
        padding: 4px;
    }

    .info-div4 input {
        width: 95%;
        padding: 4px;
    }

    .memo {
        margin-top: 10px;
    }

    .memo textarea {
        width: 100%;
        height: 60px;
    }

    .button-section {
        flex: 1;
        gap: 10px;
    }

    .button-section button {
	    width:100%;
		margin-bottom:4px;
        padding: 8px;
		font-size: 13px;
        background-color: #444;
        color: white;
        border: none;
        border-radius: 4px;
    }

    .highlight-box {
        background-color: #eee;
        padding: 8px;font-size: 13px;
        text-align: center;
        font-weight: bold;
        border-radius: 4px;
    }

    @media (max-width: 1000px) {
        .container2 {
            flex-direction: column;
        }

        .photo-section img {
            width: 200px;
        }

        .photo-section button {
            width: 32.3%;
        }

        .info-div4 {
            width: 20%
        }

        .info-div3 {
            width: 30%
        }

        .info-div2 {
            width: 60%
        }
    }

    .photobox ul {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
    }

    .photobox li {
        width: 80%;
        position: relative;
    }
    .photobox2 ul {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
    }

    .photobox2 li {
        width: 95%;
        position: relative;
    }

    .photobox-a {
        position: absolute;
        right: -30px;
        top: 8px;
        font-weight: 600;
    }

    .photobox-b {
        display: flex;
        width: 100%;
        flex-direction: column;
        margin-bottom: 10px;
        position: relative;
    }


    @media (max-width: 1500px) { 
    .photobox-b{ flex-direction: row;}
  
	.photobox-c { width: 100%;
	display: flex;
    flex-direction: column;
    align-items: center;
}
}


   @media (max-width: 900px) { 
	.button-section {flex-direction: row; flex-wrap: wrap;}
	.highlight-box {width:97%}
	.button-section button {width:48%}
}

    .photobox-d {width: 100%;}

.scrolltb-box {
    width: 100%;
    height: 230px;
    overflow-y: auto;
}
.scrolltb-box2 {
    width: 100%;
    height: 460px;
    overflow-y: auto;
}

.scrolltb-box3 {
    width: 100%;
    height:170px;
    overflow-y: auto;
}
.scrolltb-box4 {
    width: 100%;
    height:305px;
    overflow-y: auto;
}

.scrolltb-box5 {
 
    height:570px;
    /* overflow-y: auto; */
}

.scrolltb-box6 {
 
    height:615px;
    /* overflow-y: auto; */
}
    .scrolltb-box table {}

    .table>tbody>tr>td,
    .table>tbody>tr>th,
    .table>tfoot>tr>td,
    .table>tfoot>tr>th,
    .table>thead>tr>td,
    .table>thead>tr>th {
        vertical-align: middle
    }


/* 탭 */
ul.tabs {
	margin: 0;
	padding: 0;
	float: left;
	list-style: none;
	/* height: 32px */;
	border-bottom: 1px solid #333;
	width: 100%;
}

ul.tabs li {
	float: left;
	margin: 0;
	/* border-radius: 8px 8px 0 0; */
	cursor: pointer;
	padding: 0px 30px;
	font-size:14px;
	height: 40px;
	line-height: 40px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	/* border-bottom: 1px solid #333; */
	background-color: #666;
	color: #ccc;
	overflow: hidden;
	position: relative;
}

.tab_last { border-right: 1px solid #333; }

ul.tabs li:hover {
	background-color: #ccc;
	color: #333;
}

ul.tabs li.active {
background-color: #4e73df;
    color: #ffffff;
    /* border-bottom: 1px solid #fff; */
    display: block;
}

.tab_container {
	border: 1px solid #ddd;
	border-top: none;
	clear: both;
	float: left;
	width: 100%;
	background: #fff;
	overflow: auto;
}

.tab_content {
	/* padding: 20px; */
	display: none;
}

.tab_drawer_heading { display: none; }

@media screen and (max-width: 480px) {
	/* .tabs {
		display: none;
	} */
.tab_drawer_heading {
		background-color: #ccc;
		color: #fff;
		border-top: 1px solid #333;
		margin: 0;
		padding: 5px 20px;
		display: block;
		cursor: pointer;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
	.d_active {
		background-color: #666;
		color: #fff;
	}
}


/* 탭2 */

ul.tabs2 {
	margin: 0;
	padding: 0;
	float: left;
	list-style: none;
	/* height: 32px */;
	border-bottom: 1px solid #333;
	width: 100%;
}

ul.tabs2 li {
	float: left;
	margin: 0;
	/* border-radius: 8px 8px 0 0; */
	cursor: pointer;
	padding: 0px 30px;
	font-size:14px;
	height: 40px;
	line-height: 40px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	/* border-bottom: 1px solid #333; */
	background-color: #666;
	color: #ccc;
	overflow: hidden;
	position: relative;
}

.tab_last2 { border-right: 1px solid #333; }

ul.tabs2 li:hover {
	background-color: #ccc;
	color: #333;
}

ul.tabs2 li.active2 {
    background-color: #4e73df;
    color: #ffffff;
    /* border-bottom: 1px solid #fff; */
    display: block;
}

.tab_container2 {
	border: 1px solid #ddd;
	border-top: none;
	clear: both;
	float: left;
	width: 100%;
	background: #fff;
	overflow: auto;
}

.tab_content2 {
	/* padding: 20px; */
	display: none;
}

.tab_drawer_heading2 { display: none; }





ul.tabs3 {
	margin: 0;
	padding: 0;
	float: left;
	list-style: none;
	/* height: 32px */;
	border-bottom: 1px solid #333;
	width: 100%;
}

ul.tabs3 li {
	float: left;
	margin: 0;
	/* border-radius: 8px 8px 0 0; */
	cursor: pointer;
	padding: 0px 30px;
	font-size:14px;
	height: 40px;
	line-height: 40px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	/* border-bottom: 1px solid #333; */
	background-color: #666;
	color: #ccc;
	overflow: hidden;
	position: relative;
}

.tab_last3 { border-right: 1px solid #333; }

ul.tabs3 li:hover {
	background-color: #ccc;
	color: #333;
}

ul.tabs3 li.active3 {
    background-color: #4e73df;
    color: #ffffff;
    /* border-bottom: 1px solid #fff; */
    display: block;
}

.tab_container3 {
	border: 1px solid #ddd;
	border-top: none;
	clear: both;
	float: left;
	width: 100%;
	background: #fff;
	overflow: auto;
}

.tab_content3 {
	/* padding: 20px; */
	display: none;
}

.tab_drawer_heading3 { display: none; }




.exlist_tx01 {
        position: relative;
    display: block;
    background: #393939;
    height: 40px;
    color: #fff;
    text-indent: 10px;
	font-size:13px;
    /* align-content: center; */
    line-height: 39px;
    clear: both;
}

.exlist-wrap{display:block; position: relative;}
.exlist{
    position: absolute;
    margin: 0 0 5px 10px;
    z-index: 99;
    top:2px;
    left: 450px
}
.exlist li{display: inline-block; font-size:13px; font-weight:500}
.exbox{
display: inline-block;
width:20px; 
height:20px; 
top:4px;
margin-right:5px;
position: relative;
}

.exlist-nm{position: absolute; left:200px; top:6px; display: flex;}
.exlist-nm li:nth-child(odd)){ text-align:left;}
.exlist-nm li:nth-child(even){ text-align:left; color:blue; font-weight:bold; padding-left:5px;}



.revlist {display:flex; padding: 0 5px;}
.revlist li{padding: 6px; width: 30%; display: inline-block;  border-bottom: 1px solid #ddd;}
.revlist li i{padding-right:6px;}
.revlist li:nth-child(2n) {font-weight:bold; width: 68%;  }
.revlist li:nth-child(2n) {font-weight:bold; width: 68%;  }
.revlist li:nth-child(2n):before {font-weight:400; content: ":";margin-right:20px;}
.revlist li:last-child {color:red;}
/* .revlist li:nth-child(7), .revlist li:nth-child(8) { border-bottom: 0;} */


/* ul {
	 margin: 16px -16px;
}
 ul li {
	 display: inline-block;
	 margin: 2px 20px;
} */
/** * Code for checkboxes */
 .checkbox {
	 position: relative;
	 width: 1rem;
	 height: 1rem;
	 margin-right: 0.75rem;
	 cursor: pointer;
	 appearance: none;
	 outline: 0;
	/** * Iterate over map and autogenerate helper classes. * See "https://codepen.io/fxm90/pen/zGjjrJ" for an example */
}
 .checkbox:before {
	 content: '';
	 position: absolute;
	 left: 0;
	 top: 0;
	 z-index: 1;
	 width: 100%;
	 height: 100%;
	 border: 2px solid #a7a7a7;
	 transition: all 0.3s ease-in-out;
}
 .checkbox:checked:before {
	 height: 50%;
	 transform: rotate(-45deg);
	 border-top-style: none;
	 border-right-style: none;
}
 .checkbox--red:checked:before {
	 border-color: #f44336;
}
 .checkbox--pink:checked:before {
	 border-color: #e91e63;
}
 .checkbox--purple:checked:before {
	 border-color: #9c27b0;
}
 .checkbox--deep-purple:checked:before {
	 border-color: #673ab7;
}
 .checkbox--indigo:checked:before {
	 border-color: #3f51b5;
}
 .checkbox--blue:checked:before {
	 border-color: #2196f3;
}
 .checkbox--light-blue:checked:before {
	 border-color: #03a9f4;
}
 .checkbox--cyan:checked:before {
	 border-color: #00bcd4;
}
 .checkbox--teal:checked:before {
	 border-color: #009688;
}
 .checkbox--green:checked:before {
	 border-color: #4caf50;
}
 .checkbox--light-green:checked:before {
	 border-color: #8bc34a;
}
 .checkbox--lime:checked:before {
	 border-color: #cddc39;
}
 .checkbox--yellow:checked:before {
	 border-color: #ffeb3b;
}
 .checkbox--amber:checked:before {
	 border-color: #ffc107;
}
 .checkbox--orange:checked:before {
	 border-color: #ff9800;
}
 .checkbox--deep-orange:checked:before {
	 border-color: #ff5722;
}
 .checkbox--blue-grey:checked:before {
	 border-color: #607d8b;
}
 

.chkbox{font-size:13px;}
.chkbox span{position: relative; top: -3px;}

.numberbox{    
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.numberbox a:hover{text-decoration: none;color: #fff;}
.num_bt01{
	width:32%; height:80px; margin:0.5%;
	border:1px solid #ddd;
	align-content: center;
    text-align: center;
	border-radius:5px;
	background: #582989;
    color: #fff;
   transition: .3s;
}
.num_bt01:hover{background: #400a78;}
.num_bt02{
	width:32%; height:80px; margin:0.5%;
	border:1px solid #ddd;
	align-content: center;
    text-align: center;
	border-radius:5px;
	background:#1f3a89;
    color: #fff;
	transition: .3s;
}
.num_bt02:hover{background: #0e2158;}



/* Awesome Modal CSS */
 .awesome-modal {
	 display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .3);
	 border-radius: 4px;
	 padding: 1rem;
	 width: 90%;
	 max-width: 80%;
	 height: 790px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 /* overflow: hidden; */
	 z-index: 1000; /* 기본 모달 */
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}
/* 모달이 열렸을 때 배경에 클릭 못하게 */
.no-interaction {
  pointer-events: none;
}

.awesome-modal-l {
	 display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 width: 40%;
	 max-width: 30%;
	 height: 330px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 /* overflow: hidden; */
	 z-index: 1000; /* 기본 모달 */
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}
 .awesome-modal-p {
	 display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 width: 50%;
	 max-width: 40%;
	 height: 500px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 /* overflow: hidden; */
	 z-index: 1000; /* 기본 모달 */
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}
 .awesome-modal-c {
	 display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 width: 70%;
	 max-width: 60%;
	 height: 570px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 /* overflow: hidden; */
	 z-index: 1000; /* 기본 모달 */
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}
.awesome-modal,  .awesome-modal-p, .awesome-modal-c  * {backface-visibility: hidden;}
.awesome-modal.modal-second {
     z-index: 1100; /* 두 번째 모달 */
     width: 85%;
     max-width: 75%;
     display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 height: 800px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}

.awesome-modal.modal-second-n {
  z-index: 1100; /* 두 번째 모달 */
     width: 40%;
     max-width: 30%;
     display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 height: 470px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}
.awesome-modal.modal-second-u {
  z-index: 1100; /* 두 번째 모달 */
     width: 40%;
     max-width: 30%;
     display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 height: 680px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 animation: bounce 0.4s ease forwards;
	 pointer-events: auto;  /* 배경 클릭 차단 */
}


.awesome-modal.modal-second-p {
  z-index: 1100; /* 두 번째 모달 */
     width: 50%;
     max-width: 40%;
     display: none;
	 background-color: #fff;
	 box-shadow: 0 0 26px 10000px rgba(0, 0, 0, .6);
	 border-radius: 4px;
	 padding: 1rem;
	 height: 850px;
     overflow-y: auto;
	 position: fixed;
	 top: 50%;
	 left: 50%;
	 transform: translate3d(-50%, -50%, 0);
	 animation: bounce 0.4s ease forwards;
}

/* 배경 어둡게 + 클릭 차단 */
.awesome-modal-backdrop {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 900;
  pointer-events: auto;
}


 .awesome-overlay {
	 display: none;
	 background-color: rgba(0, 0, 0, 0.5);
	 position: fixed;
	 top: 0;
	 bottom: 0;
	 left: 0;
	 right: 0;
	 z-index: 800;
	 overflow: hidden;
	 cursor: default;
} 


 .close-icon {
    position: absolute;
    width: 2rem;
    height: 2rem;
    top: 1rem;
    right: 1rem;
    transition: opacity 0.2s ease;
}
 .close-icon::before, .close-icon::after {
	 content: '';
	 position: absolute;
	 top: 50%;
	 left: 50%;
	 width: inherit;
	 height: 2px;
	 background-color: #999;
}
 .close-icon::before {
	 transform: translate(-50%, -50%) rotate(45deg);
}
 .close-icon::after {
	 transform: translate(-50%, -50%) rotate(135deg);
}
 .modal-title {
    font-size: 26px;
  /*   text-indent: 10px; */
    margin-top: 0;
}
 :target {
	 display: block;
}
 :target ~ .awesome-overlay {
	 display: block;
}
 @keyframes bounce {
	 0% {
		 transform: translate3d(-50%, -50%, 0) scale(0.7);
	}
	 45% {
		 transform: translate3d(-50%, -50%, 0) scale(1.05);
	}
	 80% {
		 transform: translate3d(-50%, -50%, 0) scale(0.95);
	}
	 100% {
		 transform: translate3d(-50%, -50%, 0) scale(1);
	}
}
 #close {
	 position: fixed;
	 top: 50%;
	 transform: translateY(-50%);
}
.stop-scrolling {
	 height: 100%;
	 overflow: hidden;
}
.exlist-nm{position: absolute; left:200px; top:6px; display: flex;}
.exlist-nm li:nth-child(odd)){width:110px; text-align:left;}
.exlist-nm li:nth-child(even){width:130px; text-align:left; color:blue; font-weight:bold; padding-left:5px;}

.save_bt {
    position: relative;
    top: -3px;
	width:150px;
    display: inline-block;
    align-content: center;
    height: 42px;
    text-align: center;
    color: #fff;
    font-size: 15px;
    border-radius: 3px;
    background-color: #4e73df;
    border-color: #4e73df;
}
.save_bt:hover{
    color: #fff;
    background-color: #3558be;
    border-color: #4e73df;
}

.modal_btbox{position: absolute; top: -2px; right: 80px;}


.legend {    
	position: absolute;
    top: 6px;
    color: #fff;
    font-size: 14px;
    left: 150px;
}

.pos {
      display: inline-block;
      width: 20px;
      height: 20px;
      margin-right: 5px;
      vertical-align: middle;
      border: 1px solid #000;
}
.available {
      background-color: #a4c4f4;
}

.unavailable {
      background-color: #c92626;
      border: 2px dotted #000;
}

.label2 {
      margin-right: 15px;   
	  position: relative;
      top: 1px;
}




.locker-bx {   
    display:flex;
    margin-left: 3px;
    color: #000000;
    font-size: 14px;
}

.division {
      display: inline-block;
      width: 20px;
      height: 20px;
      margin-right: 5px;
      vertical-align: middle;
      border: 1px solid #000;
}
.rev {background-color: #ffc107;}
.in-use {background-color: #17e6ff;}
.un-use {background-color: #ebebeb;}
.and {background-color: #e33535;}
.not {background-color: #707070; color:#c9c9c9}
.lesson{background-color:#1be740;}

.label3 {
      margin-right: 15px;   
	  position: relative;
      top: 1px;
}





.pos-button {
	  width:9.9%;
	  height:30px;
	  line-height:30px;
	  padding: 0 7px;
      text-align: center;
      border: 1px solid #333;
      background-color: #a4c4f4; /* 기본 입장 가능 색상 */
      cursor: pointer;
      font-weight: bold;
}

.pos-button.unavailable {
      background-color: #c92626;
      color: #fff;
      border: 2px dotted #000;
}



.locker-container{
    display: flex;
    gap: 5px;
    height: 460px;
    flex-wrap: wrap;
    overflow-y: auto;
    flex-direction: row;
    align-items: flex-start;
    align-content: flex-start;
}

.locker-container2{
    display: flex;
    gap: 5px;
    height: 595px;
    flex-wrap: wrap;
    overflow-y: auto;
    flex-direction: row;
    align-items: flex-start;
    align-content: flex-start;
}
.locker-container3{
    display: flex;
    gap: 4px;
    height: 300px;
    flex-wrap: wrap;
    overflow-y: auto;
    flex-direction: row;
    align-items: flex-start;
    align-content: flex-start;
}
.locker-container4{
    display: flex;
    gap: 4px;
    height: 800px;
    flex-wrap: wrap;
    overflow-y: auto;
    flex-direction: row;
    align-items: flex-start;
    align-content: flex-start;
}

.locker-container5{
    display: flex;
    gap: 5px;
    height: 345px;
    flex-wrap: wrap;
    overflow-y: auto;
    flex-direction: row;
    align-items: flex-start;
    align-content: flex-start;
}


.lokerbox{border:1px solid #ccc; width:9.4%; border-radius: 2px;}
.lokerbox li{font-size:13px; padding:2px 5px; height:25px;}
.lokerbox li:nth-child(1){text-align:left; font-weight:500;}
.lokerbox li:nth-child(2),.lokerbox li:nth-child(3){text-align:right; }
.lokerbox li:nth-child(4){color:red; text-align:right}


.lokerbox2{border:1px solid #ccc; width:6.4%; border-radius: 2px;}
.lokerbox2 li{font-size:13px; padding:2px 5px; height:25px;}
.lokerbox2 li:nth-child(1){text-align:left; font-weight:500;}
.lokerbox2 li:nth-child(2),.lokerbox li:nth-child(3){text-align:right; }
.lokerbox2 li:nth-child(4){color:red; text-align:right}



.product-container{
    display: flex;
    gap: 8px;
	height: 300px;
    flex-wrap: wrap;
    overflow-y: auto;
    flex-direction: row;
    align-items: flex-start;
    align-content: flex-start;
}

.product{ 
    border-radius: 4px;

    display: inline-block;
    padding:  8px;
    border: 1px solid #ccc;
    width: 19.2%;
    text-align: center;

}
.product.on{background : #4e73df; color:#fff;}



.hr-dashed {
display:block;
  border : 0px;    width: 99%;
  border-top: 1px dashed #ddd;
}

.pop_bottom_bt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}


.form-check-input-n {
    position: relative;
    margin-top: 0.3rem;
    top: -3px !important;
    left: 16px !important;
    margin-left: -1.25rem;
}


.img-parent {
  position: relative;
  width: 90%;
  height: 0;
  padding-bottom: 90%;
  }
 .img-parent  img {
  position: absolute;  
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  }
.img-line{
    position: absolute;
    border: 2px solid red;
    top: 50%;
    left: 50%;
    width: 240px;
    height: 240px;
    transform: translate(-50%, -50%);
    z-index: 9;
  }
.img-tx{
    width: 90%;
	font-size:13px;
	display:block;
    padding:5px 10px;
	text-align:center;
    background: #181818;
    color: #abfa50;
}
.img-parent_bt {
    display: flex;
	 width: 90%;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.center-clm {
    display: flex;
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
}

.loker-top{    
    display: flex;
    justify-content: center;
	align-items: center;
    padding: 11px 20px;
    color: #fff;
    background: #112651;
    position: relative;
    flex-direction: column;
}
.loker-top span{font-size:30px;}
.lockerbox2{display: flex; flex-wrap: wrap;justify-content: space-between; 
align-items: flex-start;}

.cafebox{max-width:1300px; width:100%; margin:0 auto;}
.cafemenu ul{white-space:nowrap; 
    overflow-x: SCROLL; text-align:center}
.cafemenu ul li{display:inline-block; padding: 10px 60px;border: 1px solid #ddd;
    border-radius: 4px; margin-right:5px;margin-bottom: 5px;}
.cafemenu ul li.on{background : #4e73df; }
.cafemenu ul li.on a{color:#fff !important;}

/* SAC웹 추가 */
/* 로그인 : 포스번호 select (form-control-user 의 1.5rem 상하 여백에서 글자 잘림 방지) */
form.user select.form-control-user {height: 50px; padding: .75rem 1rem;}
/* 비밀번호 변경 모달 : 내용 높이에 맞춤 */
#modalMgPass {height: auto; max-height: 90vh;}
/* 입주민관리(member) : 준비중 버튼 (얼굴·시설·독서실·헬스장·SMS) */
.button-section button.bt_ready {background-color: #b5b5b5; color: #f2f2f2; cursor: not-allowed;}
/* 입주민관리 : 알림메모 띠 (입주민정보 상단) */
.member_alarm {background: #e74a3b; color: #fff; padding: 8px 12px; font-size: 13px; font-weight: bold;}
/* 입주민관리 : 탭 위 세대 전체 보기 (exlist_tx01 오른쪽) */
.exlist_tx01 .tab_house {position: absolute; right: 12px; top: 0; margin: 0; cursor: pointer;}
.exlist_tx01 .tab_house input {vertical-align: middle; margin-right: 3px;}
/* 입주민관리 : 탭3/탭5 조회 조건 줄 */
.tab_opt {padding: 6px 10px; font-size: 13px; background: #f5f5f5; border-bottom: 1px solid #ddd;}
.tab_opt .form-control {display: inline-block; width: auto; height: 30px; padding: 2px 6px; font-size: 13px;}
.tab_opt label {margin: 0 5px 0 0;}
.tab_opt .serch_bt {display: inline-block;}
/* 입주민관리 : 입주민이동/알림메모/사진 모달 높이를 내용에 맞춤 */
#modalMove, #modalMemo, #modal3 {height: auto; max-height: 90vh;}
#modalMemo {width: 40%; max-width: 40%;}
#modal3 .img-parent {width: 240px; height: 300px; padding-bottom: 0;}
#modal3 .img-tx, #modal3 .img-parent_bt {width: 240px;}
/* 입주민관리 : 검색 페이징 — 두 자리 페이지 번호가 두 줄로 깨지지 않게 (좁은 col-lg-3 폭) */
#mbPaging .pagination {flex-wrap: wrap; justify-content: center;}
#mbPaging .page-link {white-space: nowrap; min-width: 24px; padding: 6px 5px; font-size: 13px; text-align: center;}
/* 수강등록(2-B) modal2 : 회원 요약, 표 높이 */
#modal2 .regi_mbinfo li:nth-child(even) {width: auto; min-width: 90px; padding-right: 20px;}
#modal2 .regi_tb {max-height: 255px;}
/* 수강등록 2-1 : 대분류·소분류 목록(select size=8), 안내 문구 */
.regi_list {height: 232px !important; padding: 2px; font-size: 13px;}
.regi_list option {padding: 4px 6px; border-bottom: 1px solid #eee;}
.regi_msg {min-height: 31px; padding: 5px 4px; font-size: 13px; font-weight: bold; color: #da0000;}
/* 수강등록 2-2 : 선택한 사물함 칸 */
#rcGrid .lokerbox {cursor: pointer;}
#rcGrid .lokerbox.not {cursor: not-allowed;}
#rcGrid .lokerbox.on {border: 2px solid #e74a3b; background: #fff3f2;}
/* 공통 결제 모달 #modalPay (/inc/pay/pay_modal.html) */
#modalPay {width: 560px; max-width: 94%; height: auto; max-height: 94vh;}
#modalPay .pay_total input {font-size: 18px; height: 40px; color: #1f3a89;}
#modalPay .pay_amtgb ul {margin: 2px 0 0; padding: 0;}
#modalPay .pay_amtgb li {display: inline-block; margin-right: 12px; font-size: 14px;}
#modalPay .pay_amtgb li label, #modalPay .pay_chk label {font-weight: normal; text-indent: 0; cursor: pointer;}
#modalPay .pay_amtgb input, #modalPay .pay_chk input {vertical-align: middle; margin: 0 3px 2px 4px;}
#modalPay .pay_remain {flex-direction: row; justify-content: flex-end; padding: 2px 6px; font-size: 14px;}
#modalPay .pay_box > .info-grid {width: 100%;}
#modalPay .info-div3 input, #modalPay .info-div3 select {width: 100%;}
/* 수강등록 2-5 레슨 : 요일 체크·레슨구분 라디오가 글자와 겹치지 않게 */
#modal2-5 .info_bx4 li, #modal2-5 .info_bx5 li {width: auto; margin-right: 10px;}
#modal2-5 .info_bx4 .form-check-input, #modal2-5 .info_bx5 .form-check-input {position: static; margin: 0 3px 0 0; vertical-align: middle;}
#modal2-5 .info_bx4 li > label, #modal2-5 .info_bx5 li > label {display: inline; top: 0; left: 0; text-indent: 0; cursor: pointer;}
/* 사물함관리(3단계) locker.html : 선택 칸 / 이동 모드의 원 칸 (격자 #rcGrid, 칸 마크업은 수강등록 2-2 와 같음) */
.lokerbox.sel {outline: 3px solid #4e73df; outline-offset: -1px;}
.lokerbox.mvsrc {outline: 3px dashed #c30303; outline-offset: -1px;}
.lokerbox.not li:nth-child(4) {color: #ffd2d2;}
/* 사물함관리 : 회원 선택·대여/연장 모달 높이를 내용에 맞춤 */
#modalMbSel, #modalRent {height: auto; max-height: 90vh;}
#modalRent .info-div2n select, #modalRent .info-div2n input {width: 100%;}
/* 사물함 코드관리 locker_set.html : 격자는 읽기전용, 삭제 구분 보기, 번호 추가/삭제 줄, 표 안 삭제 버튼 */
#rcGrid.rc_view .lokerbox {cursor: default;}
.main_top_m5 .ls_delshow {display: flex; align-items: center; margin: 0 12px 0 0; font-size: 13px; color: #fff;}
.main_top_m5 .ls_delshow input {margin: 0 4px 0 0;}
.main_top_m5 .ls_delshow label {margin: 0; cursor: pointer;}
.ls_mast {display: flex; justify-content: flex-end; align-items: center; gap: 5px; font-size: 14px;}
.ls_mast .form-control {width: 100px;}
.ls_mast .main_top_bt01 {margin: 0;}
#rcListBody .basic_bt01, #amtBody .basic_bt01 {padding: 2px 10px; margin: 0; font-size: 12px;}
/* 골프 관리(4단계) golf.html : 타석 격자 #golfGrid — 한 줄 GFJ칸 (style="--gfj:7", 기본 7) */
#golfGrid .lokerbox {width: calc((100% - (var(--gfj, 7) - 1) * 5px) / var(--gfj, 7)); cursor: pointer; position: relative;}
#golfGrid .lokerbox li {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
#golfGrid .lokerbox li:nth-child(2) {text-align: center; font-weight: bold;}
#golfGrid .lokerbox li:nth-child(3) {text-align: center;}
#golfGrid .lokerbox li:nth-child(4) {text-align: center;}
.lokerbox .gno, .lokerbox2 .gno {display: inline-block; min-width: 20px; padding: 0 3px; border-radius: 2px;}
.gno.onl-off, .division.onl-off {background: #FF8080;}
.lokerbox .gf_tag, .lokerbox2 .gf_tag {float: right; margin-left: 2px; padding: 0 3px; font-size: 11px; line-height: 17px; border-radius: 2px; background: rgba(255,255,255,.75); color: #333;}
.lokerbox .gf_tag.warn {background: #c30303; color: #fff;}
/* 반영대기 : 사용중 색 + 사선 (장비 서버가 아직 T_TbGolfUse 를 바꾸지 않음) */
.pending {background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.65) 0, rgba(255,255,255,.65) 4px, transparent 4px, transparent 9px);}
/* 선점(Filler5='1') : 점선 테두리 */
.lokerbox.lock, .lokerbox2.lock {border: 2px dashed #c30303;}
.division.gf_lockmark {background: #fff; border: 2px dashed #c30303;}
/* 종료 임박 깜빡임 (남은 분 < GJT) */
.lokerbox.blink {animation: gfBlink 1s step-start infinite;}
@keyframes gfBlink {50% {opacity: .35;}}
/* 예약 배지 / 슬롯 표 사용중 배지 */
.badge-rev, .badge-use {display: inline-block; padding: 0 6px; font-size: 11px; line-height: 18px; border-radius: 9px; color: #000; font-weight: bold;}
.badge-rev {background: #ffc107;}
.badge-use {background: #17e6ff;}
/* 설정 미지원 경고, 모드 안내, 선택 타석 요약 */
.golf_warn {margin: 0 0 6px; background: #fff3f2; border: 1px solid #e74a3b;}
.gf_modemsg {margin: 6px 3px 0; background: #fffadc; border: 1px solid #f0d36b;}
.gf_selinfo {padding: 8px 10px; font-size: 13px; background: #f5f5f5; border: 1px solid #ddd; border-radius: 3px; min-height: 36px;}
.gf_btns .main_top_bt04 {padding-left: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.main_top_bt04.gf_disabled {color: #e0e0e0; border-color: #777; cursor: not-allowed;}
.main_top_bt04.gf_disabled:hover {color: #e0e0e0; border-color: #777;}
/* 선택 회원 띠 #golfMbBar (카드 머리 아래, main_top_m2 처럼 오른쪽에 버튼) */
.golf_mbbar {display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 10px 3px 0; padding: 6px 10px; font-size: 13px; color: #fff; background: #3a3b45; border-radius: 3px;}
.golf_mbbar ul {display: flex; flex-wrap: wrap; flex: 1; margin: 0; padding: 0; list-style: none;}
.golf_mbbar li {margin-right: 16px; white-space: nowrap;}
.golf_mbbar li b {color: #ffe08a; margin-left: 3px;}
.golf_mbbar .main_top_bt01 {margin: 0; padding: 3px 10px; font-size: 13px; width: auto;}
/* 범례 : 좁은 폭에서 글자가 세로로 깨지지 않게 */
.locker-bx.gf_legend {flex-wrap: wrap; row-gap: 4px;}
.gf_legend .label3 {white-space: nowrap;}
#golfGrid {height: auto; min-height: 110px; max-height: 345px;}
/* 시간 슬롯 / 배정 / 연장 / 전체연장 모달 */
#modalGolfSlot {width: 620px; max-width: 94%; height: auto; max-height: 90vh;}
#modalGolfRev {width: 640px; max-width: 94%; height: auto; max-height: 92vh;}
#modalGolfExt, #modalGolfAllExt {width: 460px; max-width: 94%; height: auto; max-height: 90vh;}
.gf_slotinfo {margin: 8px 0 4px; padding: 6px 8px; font-size: 13px; font-weight: bold; background: #f5f5f5; border-left: 3px solid #4e73df;}
.gf_slotbox {max-height: 380px;}
#slotBody tr.gf_off td, #visitorBody tr.gf_off td {color: #9a9a9a;}
#slotBody tr.gf_off {cursor: default;}
#modalGolfRev .info-div2n input, #modalGolfRev .info-div2n select {width: 100%;}
#modalGolfRev .gf_ltime, #modalGolfRev .gf_memo {width: 100%;}
#modalGolfRev .gf_minbt {display: flex; gap: 5px; align-items: center;}
#modalGolfRev .gf_minbt .basic_bt01 {margin: 0; padding: 6px 12px; font-size: 13px; white-space: nowrap;}
#modalGolfRev .gf_minbt .basic_bt01.on {background: #2e59d9; color: #fff;}
#modalGolfRev .gf_minbt input {position: static; width: 90px !important;}
.gf_extbt {display: flex; gap: 6px; margin: 10px 0;}
.gf_extbt .main_top_bt01 {flex: 1; margin: 0; display: flex; align-items: center; justify-content: center;}
/* 내방객 정보 현황 #modalGolfVisitor (폭 1000px) */
#modalGolfVisitor {width: 1000px; max-width: 96%; height: auto; max-height: 94vh;}
.gf_vtop {display: flex; align-items: center; gap: 6px; flex-wrap: wrap;}
.gf_vtop .main_top_bt01 {margin: 0; width: auto; padding: 6px 14px;}
.gf_vtop .gf_vlegend {margin-left: auto; font-size: 13px;}
.gf_vfloors {margin-top: 8px;}
.visitor-floor {border: 1px solid #ccc; border-radius: 3px; padding: 4px 8px 8px; margin: 0 0 6px; min-height: 70px;}
.visitor-floor legend {width: auto; padding: 0 5px; margin: 0; font-size: 13px; font-weight: bold; color: #c30303;}
.visitor-tees {display: flex; flex-wrap: wrap; gap: 6px;}
.vtee {width: 76px; height: 50px; padding: 2px; border: 1px solid #888; border-radius: 3px; font-size: 13px; font-weight: bold; line-height: 1.25; color: #000; overflow: hidden; cursor: pointer;}
.vtee.and {color: #fff;}
.vtee.sel {outline: 3px solid #4e73df; outline-offset: -1px;}
.gf_vbottom {display: flex; gap: 10px; margin-top: 6px;}
.gf_vlist {flex: 1; min-width: 0;}
.gf_vlist .scrolltb-box {height: 260px;}
.gf_vopt {display: flex; justify-content: space-between; align-items: center; padding: 4px 6px; font-size: 13px; background: #f5f5f5; border-bottom: 1px solid #ddd;}
.gf_vchk input {vertical-align: middle; margin: 0 3px 2px 0;}
.gf_vchk label {margin: 0; cursor: pointer;}
.gf_vside {width: 170px; flex: none; display: flex; flex-direction: column; gap: 6px;}
.gf_vphoto {height: 170px; border: 1px solid #ccc; background: #f2f6fb; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.gf_vphoto img {max-width: 100%; max-height: 100%;}
.gf_vguide {flex: 1; min-height: 70px; padding: 8px; font-size: 13px; font-weight: bold; color: #c30303; border: 1px solid #ccc; border-radius: 8px; word-break: keep-all;}
.gf_vmb {margin: 0; text-align: center;}
.gf_vmb.bygray_n {color: #ddd; cursor: not-allowed;}
/* 골프 공지 */
#golfNotice {min-height: 130px; max-height: 260px; overflow-y: auto;}
#golfNotice .gf_ntitle {margin: 0 0 6px; padding-bottom: 6px; font-weight: bold; border-bottom: 1px solid #ddd;}
#golfNotice .gf_ntitle span {float: right; font-weight: normal; color: #777; font-size: 13px;}
#golfNotice .gf_nbody {line-height: 1.6;}
/* 타석 설정 관리 golf_set.html : 격자 #golfSetGrid (한 줄 GFJ칸, 읽기 전용), 구역·설정값·타석 정보 */
#golfSetGrid {height: auto; max-height: 300px;}
#golfSetGrid .lokerbox2 {width: calc((100% - (var(--gfj, 7) - 1) * 4px) / var(--gfj, 7));}
#golfSetGrid .lokerbox2 li {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
#golfSetGrid .lokerbox2 li:nth-child(4) {color: #555;}
#golfSetGrid .lokerbox2.gs_hide {opacity: .4;}
.gs_gbbox {height: 230px;}
.gs_cfg th {background: #f5f5f5; font-weight: normal; text-align: left; padding: 6px 8px;}
.gs_cfg td {padding: 6px 8px; font-weight: bold;}
.gs_cfg .gs_cfgnote {font-weight: normal; color: #c30303; text-align: right;}
.gs_subtit {margin: 0 0 5px; padding: 0 5px; font-size: 15px; font-weight: bold; color: #292929;}
.gs_usebox {height: auto; max-height: 420px;}
#gs_useBody .form-control {height: 30px; padding: 2px 6px; font-size: 13px;}
#gs_useBody .basic_bt01 {padding: 2px 10px; margin: 0 0 0 4px; font-size: 12px;}
#gs_gbBody .basic_bt01 {padding: 2px 10px; margin: 0 2px; font-size: 12px;}
.gs_lock {color: #c30303; font-weight: bold;}
#modalGolfGb {height: auto; max-height: 90vh; width: 520px; max-width: 94%;}
/* 골프 관리(4단계 잔여) golf.html : 좁은 화면에서 첫 줄 태그(반영대기 등)가 float 로 다음 줄에 밀려 25px 높이 밖으로 잘리던 문제
   → 첫 줄을 flex 로 바꿔 번호 + 태그를 한 줄에, 태그는 남은 폭만큼 줄어들고(… 표시) 칸 title 로 전체 확인 */
#golfGrid .lokerbox li:first-child {display: flex; align-items: center; gap: 2px; overflow: hidden;}
#golfGrid .lokerbox li:first-child .gno {flex: none;}
#golfGrid .lokerbox li:first-child .gf_tag {float: none; flex: 0 1 auto; min-width: 0; margin-left: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
#golfGrid .lokerbox li:first-child .gno + .gf_tag {margin-left: auto; flex-shrink: 0;}
#golfGrid .lokerbox li:first-child .gno {flex-shrink: 1; min-width: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
@media (max-width: 1366px) {
	#golfGrid .lokerbox li {padding: 2px 3px; font-size: 12px;}
	#golfGrid .lokerbox .gf_tag {padding: 0 2px; font-size: 10px; line-height: 16px; letter-spacing: -.5px;}
	#golfGrid .lokerbox .gno {min-width: 16px; padding: 0 2px;}
}
/* 카페테리아 판매(5단계) cafe.html / 일반 상품 판매 product.html : 대분류 탭 #cafeMenu, 상품 버튼 #cafeProduct (색상은 인라인 style) */
#cafeMenu li {padding: 8px 40px; vertical-align: middle; line-height: 1.35; cursor: pointer;}
#cafeMenu li a {display: block; color: inherit; text-decoration: none;}
#cafeMenu li.cf_empty {cursor: default; color: #888; border-style: dashed;}
#cafeProduct .product {width: calc((100% - 32px) / 5); min-height: 64px; line-height: 1.35; word-break: keep-all; cursor: pointer; user-select: none;}
#cafeProduct .product b {display: inline-block; margin-top: 2px;}
#cafeProduct .product:hover {box-shadow: 0 0 0 2px rgba(78,115,223,.45) inset;}
/* 선택(.on) : 인라인 배경색이 있어도 보이도록 outline */
.product.on {outline: 3px solid #e74a3b; outline-offset: -3px;}
#cafeProduct .cf_empty {width: 100%; margin: 20px 0; text-align: center; color: #888;}
/* 장바구니 : 수량 −/+, 무료·포장 배지 */
.cf_cart td {vertical-align: middle;}
.cart_qty {display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;}
.cart_qty a {display: inline-block; width: 20px; height: 20px; line-height: 18px; text-align: center; font-size: 13px; color: #333; border: 1px solid #bbb; border-radius: 3px; background: #f7f7f7; text-decoration: none;}
.cart_qty a:hover {background: #4e73df; border-color: #4e73df; color: #fff;}
.cart_qty b {min-width: 16px; text-align: center;}
.cf_free, .cf_pack {display: inline-block; margin-left: 4px; padding: 0 5px; font-size: 11px; line-height: 17px; border-radius: 9px; font-weight: bold;}
.cf_free {background: #1cc88a; color: #fff;}
.cf_pack {background: #f6c23e; color: #000;}
/* 입주민 정보 : 사진 + 동/호/회원 select (좁은 col-lg-3 에서 select 가 글자 1개 폭으로 줄던 문제), 무료쿠폰 잔여, 준비중 버튼 */
.cf_mbinfo .photo-section2 {flex: 0 0 42%; min-width: 0;}
.cf_mbinfo .photo-section2 img {width: 100%; height: 150px; margin-top: 0;}
.cf_mbinfo .info-section2 {flex: 1 1 0; min-width: 0;}
.cf_mbinfo > .cf_cupon, .cf_mbinfo > .save_bt {flex: 0 0 100%;}
.cf_mbinfo .photobox2 ul {margin: 0; padding: 0;}
.cf_mbinfo .photobox2 li {width: 100%; margin-bottom: 6px;}
.cf_mbinfo .photobox2 select {width: 100%;}
.cf_cupon {width: 100%; margin: 8px 0 0; color: #1f3a89;}
.cf_cupon.cf_cupon0 {background: #fff3f2; color: #c30303;}
.save_bt.cf_disabled {cursor: not-allowed; opacity: .7;}
/* 거래표 / 결제 버튼 */
.cf_trsbox {max-height: 300px;}
.cf_trstb {min-width: 820px;}
.cf_trstb th, .cf_trstb td {white-space: nowrap; padding-left: 4px; padding-right: 4px; font-size: 12px;}
.cf_trstb td {overflow: hidden; text-overflow: ellipsis; max-width: 180px;}
#trsBody tr {cursor: pointer;}
#trsBody input[type="radio"], #mbSelBody input[type="radio"], #rcptBody input[type="radio"] {position: static; margin: 0; vertical-align: middle;}
.cf_paybt {display: block; height: auto; min-height: 46px; padding: 11px 2px; line-height: 1.3; white-space: nowrap;}
.cf_paybt small {display: block; font-size: 11px; font-weight: normal; opacity: .85;}
#btnPanmae {padding-top: 5px; padding-bottom: 5px;}
/* 입주민조회·영수증·카드승인·환불 모달 높이를 내용에 맞춤 */
#modal1, #modal2 {height: auto; max-height: 90vh;}
#modalCardApp, #modalRefund {width: 520px; max-width: 94%; height: auto; max-height: 92vh;}
#modalCardApp .info-div2n select, #modalCardApp .info-div2n input, #modalCardApp .cf_cardtot input {width: 100%;}
#modalCardApp .cf_cardtot input {font-size: 18px; height: 40px; color: #1f3a89;}
.cf_rfsum th {width: 22%; background: #f5f5f5; font-weight: normal; padding: 5px 8px;}
.cf_rfsum td {padding: 5px 8px;}
.cf_rfitem {max-height: 170px;}
.cf_rfcard {margin: 8px 0 0; padding: 8px; background: #fff3f2; border: 1px solid #e74a3b; border-radius: 3px;}
.cf_rfcard .regi_msg {min-height: 0; margin: 0 0 4px; padding: 0;}
.cf_rfopt {margin: 8px 2px 0; font-size: 13px;}
.cf_rfopt input {vertical-align: middle; margin: 0 3px 2px 0;}
/* 일반 상품 판매 : 품목 할인 입력(%/원 전환), 합계 줄, 전체 할인 */
.pd_cartbox {height: auto; min-height: 393px; max-height: 560px; overflow-x: hidden;}
.pd_dc {display: inline-flex; align-items: center; gap: 2px;}
.pd_dc .form-control {width: 42px; height: 24px; padding: 1px 3px; font-size: 12px;}
.pd_dc a {display: inline-block; min-width: 20px; height: 22px; line-height: 20px; text-align: center; font-size: 12px; color: #333; border: 1px solid #bbb; border-radius: 3px; background: #f7f7f7; text-decoration: none;}
.pd_cart tfoot .pd_sumrow td {padding-top: 2px; padding-bottom: 2px; font-size: 13px; border-top: 0;}
.pd_dcall {display: flex; align-items: center; gap: 4px; margin: 6px 0 0; padding: 6px; font-size: 13px; background: #f5f5f5; border: 1px solid #ddd; border-radius: 3px;}
.pd_dcall span {white-space: nowrap;}
.pd_dcall .form-control {height: 28px; padding: 2px 4px; font-size: 13px;}
.pd_dcall select.form-control {width: 105px; flex: none;}
.pd_dcall input.form-control {flex: 1; min-width: 50px;}
.pd_dcall .basic_bt01 {margin: 0; padding: 3px 10px; font-size: 12px; white-space: nowrap;}
.pd_paybt {height: 70px; font-size: 18px;}
/* 카페·상품 코드관리(5단계) cafe_set.html / product_set.html : 대분류표·상품표, 검색 줄, 등록 모달 */
.cs_gbbox, .cs_spbox {height: auto; min-height: 300px; max-height: 560px;}
#csGbBody tr, #psGbBody tr {cursor: pointer;}
.cs_gbtb .exbox, .cs_sptb .exbox {top: 0; vertical-align: middle; text-align: center; font-size: 12px; line-height: 18px;}
#csGbBody .basic_bt01, #psGbBody .basic_bt01, #csSpBody .basic_bt01, #psSpBody .basic_bt01 {display: inline-block; padding: 2px 7px; margin: 0 1px; font-size: 12px;}
#csGbBody td:last-child, #psGbBody td:last-child, #csSpBody td:nth-last-child(-n+2), #psSpBody td:nth-last-child(-n+2) {white-space: nowrap;}
.cs_sptb {min-width: 720px;}
.cs_search {display: flex; align-items: center; gap: 6px; margin: 8px 3px 0; font-size: 14px; white-space: nowrap;}
.cs_search .form-control {width: 220px;}
.cs_search .serch_bt {flex: none; width: auto; margin: 0; padding-left: 16px; padding-right: 16px;}
.cs_search label {margin: 0 0 0 auto; font-size: 13px; cursor: pointer;}
.cs_search label input {vertical-align: middle; margin: 0 3px 2px 0;}
#modalSpGb {width: 600px; max-width: 94%; height: auto; max-height: 92vh;}
#modalSp {width: 720px; max-width: 94%; height: auto; max-height: 94vh;}
.cs_modal .info-div2n input, .cs_modal .info-div2n select, .cs_modal .info-div3 input, .cs_modal .info-div3 select,
.ps_modal .info-div2n input, .ps_modal .info-div2n select, .ps_modal .info-div3 input, .ps_modal .info-div3 select {width: 100%;}
.cs_modal .info-div1 > input, .ps_modal .info-div1 > input {width: 100%;}
.cs_color {height: 34px; padding: 2px 4px; cursor: pointer;}
.cs_preview {display: flex; align-items: center; justify-content: center; min-height: 34px; padding: 4px 8px; font-size: 13px; text-align: center; line-height: 1.3; border: 1px solid #ccc; border-radius: 4px;}
.cs_preview.product {width: 100%; min-height: 50px; flex-direction: column;}
.cs_pos {margin: 2px 0 0; padding: 0;}
.cs_pos li {width: 9.5% !important; min-width: 44px; margin: 0 0 4px; white-space: nowrap;}
.cs_pos li input {margin: 0 2px 0 0; vertical-align: middle;}
.cs_pos li label {position: static !important; display: inline; margin: 0; text-indent: 0; cursor: pointer;}
.cs_posall {margin-left: 8px; font-size: 12px; font-weight: normal; text-decoration: underline;}
.cs_cck label {font-weight: normal; text-indent: 0; cursor: pointer;}
.cs_cck input {vertical-align: middle; margin: 0 4px 2px 0;}
/* 회원분석·영업분석 리포트(6단계) 공통 : /mb_sheet/_report_template.html, /js/report.js */
/* 검색 줄 : bbs_search_box_a3 의 nth-child 고정 폭을 풀고 항목별 폭 */
.rpt_srch li {width: auto !important; margin: 0 8px 5px 0 !important;}
.rpt_srch li.rs_lb {width: 100px !important; font-weight: bold; white-space: nowrap;}
.rpt_srch li.rs_lb2 {margin-left: 6px !important; white-space: nowrap; color: #555;}
.rpt_srch li.rs_wave {margin: 0 4px 5px 0 !important;}
.rpt_srch .form-control {width: 150px;}
.rpt_srch li.rs_s .form-control {width: 90px;}
.rpt_srch li.rs_l .form-control {width: 220px;}
.rpt_srch li.rs_chk {display: flex; flex-wrap: wrap; align-items: center; white-space: nowrap;}
.rpt_srch li.rs_chk input {position: static; margin: 0 4px 0 0; vertical-align: middle;}
.rpt_srch li.rs_chk label {margin: 0 14px 0 0; font-weight: normal; cursor: pointer;}
.rpt_srch li.rs_chk label.bold {font-weight: bold;}
.rpt_srch li.rs_multi {max-width: calc(100% - 120px); row-gap: 4px;}
.rpt_srch li.rs_tx, .rpt_srch .rs_tx {font-size: 12px; color: #888; white-space: nowrap;}
/* 버튼줄 : 준비중 버튼 */
.rpt_btns .basic_bt01.rpt_ready {background: #b5b5b5; border-color: #b5b5b5; color: #f2f2f2; cursor: not-allowed;}
/* 합계 줄 */
.rpt_sum {display: flex; flex-wrap: wrap; gap: 4px 22px; text-align: left; padding: 8px 14px; font-size: 14px;}
.rpt_sum span {white-space: nowrap;}
.rpt_sum b {margin: 0 2px 0 4px; color: #1f3a89;}
.rpt_sum b.red {color: #da0000;}
/* 표 */
.rpt_tbox.rpt_auto {height: auto; max-height: 520px;}
.rpt_tb th, .rpt_tb td {white-space: nowrap; vertical-align: middle;}
.rpt_tb td.txt_l {white-space: normal; min-width: 120px;}
.rpt_tb thead th {position: sticky; top: 0; z-index: 1; background: #f8f9fc;}
.rpt_tb tfoot tr.rpt_total td {background: #f1f3f9; font-weight: bold; border-top: 2px solid #292929;}
.rpt_tb tbody tr.rpt_empty td {padding: 30px 0; color: #888;}
.rpt_tb tbody tr.rpt_pre td {color: #2e59d9;}
.rpt_tb input[type="radio"], .rpt_tb input[type="checkbox"] {position: static; margin: 0; vertical-align: middle;}
#rptBody tr[onclick] {cursor: pointer;}
.rpt_bz tbody td.txt_l {padding-left: 16px;}
/* 상태 배지 (유효 라카) */
.rpt_st {display: inline-block; min-width: 40px; padding: 0 6px; font-size: 12px; line-height: 19px; border-radius: 9px; font-weight: bold;}
.rpt_st.st_use {background: #17e6ff; color: #000;}
.rpt_st.st_rev {background: #ffc107; color: #000;}
.rpt_st.st_end {background: #d1d3e2; color: #555;}
.rpt_st.st_notrs {margin-left: 4px; background: #fff3f2; color: #c30303; border: 1px solid #e74a3b;}
.rpt_note {margin: -10px 3px 14px; font-size: 12px; color: #888;}
/* 인쇄 머리 (화면에서는 숨김) */
.rpt_phead {display: none;}
/* 카드전표 수기입력 모달 (영수증 리스트) */
#modalCardInfo {width: 560px; max-width: 94%; height: auto; max-height: 92vh;}
#modalCardInfo .info-div2n select, #modalCardInfo .info-div2n input {width: 100%;}
/* 인쇄 : A4 가로 (이름 있는 page — 80mm 영수증·배정표 @page 와 겹치지 않게) */
@page rpt {size: A4 landscape; margin: 8mm;}
@media print {
	.rpt_wrap {page: rpt;}
	#accordionSidebar, .topbar, .sticky-footer, .scroll-to-top, #modalBackdrop,
	.rpt_wrap .main_top_m, .rpt_search, .rpt_btns, .rpt_paging, .rpt_nop, #modalCardInfo {display: none !important;}
	body, #wrapper, #content-wrapper, #content2 {background: #fff !important; margin: 0 !important; padding: 0 !important;}
	#wrapper {display: block !important;}
	.rpt_wrap .container-fluid {padding: 0 !important; margin: 0 !important; max-width: none !important;}
	.rpt_phead {display: block; margin: 0 0 3mm;}
	.rpt_phead h2 {margin: 0 0 1mm; font-size: 15pt; font-weight: bold; color: #000;}
	.rpt_phead .rpt_pinfo {display: flex; justify-content: space-between; gap: 6mm; font-size: 9pt; color: #000;}
	.rpt_sum {margin: 0 0 2mm !important; padding: 1mm 2mm; font-size: 9pt; background: none !important; border: 1px solid #999; color: #000;}
	.rpt_sum b {color: #000;}
	.rpt_card {margin: 0 !important; border: 0 !important; box-shadow: none !important;}
	.rpt_tbox, .rpt_tbox.rpt_auto {height: auto !important; max-height: none !important; overflow: visible !important;}
	.rpt_tmin {min-width: 0 !important; width: 100% !important;}
	.rpt_tb {width: 100% !important; font-size: 8pt; border-collapse: collapse; color: #000;}
	.rpt_tb.rpt_wide {font-size: 6.5pt;}
	.rpt_tb th, .rpt_tb td {width: auto !important; padding: 1px 3px !important; border: 1px solid #999 !important; white-space: normal; overflow-wrap: anywhere; position: static !important;}
	.rpt_tb thead {display: table-header-group;}
	.rpt_tb thead th {background: #eee !important;}
	.rpt_tb tr {page-break-inside: avoid; break-inside: avoid;}
	.rpt_tb tfoot tr.rpt_total td {background: #eee !important;}
	.rpt_tb, .rpt_tb th, .rpt_tb td, .rpt_st, .red {-webkit-print-color-adjust: exact; print-color-adjust: exact;}
	.rpt_note {margin: 2mm 0 0; font-size: 8pt; color: #000;}
}
/* 입주민관리 2단계-C : 탭 행 더블클릭 (연기·변경·보류·양도·환불) */
#tab1Body tr[data-uid], #tab2Body tr[data-uid], #tab4Body tr[data-uid] {cursor: pointer;}
/* 수강 정보 변경 #modalSkUpt : 요약 + 처리 버튼 5개 + 패널(.sk_panel) */
#modalSkUpt {height: auto; max-height: 94vh;}
#modalSkUpt .sk_btns .main_top_bt01 {width: auto; min-width: 92px; margin-left: 3px; white-space: nowrap;}
#modalSkUpt .main_top_bt01.bygray_n {color: #ddd; border-color: #777; cursor: not-allowed;}
#modalSkUpt .info-div4 input, #modalSkUpt .info-div4 select, #modalSkUpt .info-div2n > input, #modalSkUpt .info-div1 > input {width: 100%;}
#modalSkUpt .sk_msg {min-height: 0; padding: 0 12px 6px;}
#modalSkUpt .sk_msg:empty {display: none;}
.sk_panel {border: 2px solid #4e73df;}
.sk_panel .info-title-b {width: auto; margin: 10px 10px 0;}
.sk_panel .info-section {padding: 0 6px;}
.sk_panel .row {margin-left: 0; margin-right: 0;}
.sk_subtit {display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; font-size: 14px; font-weight: bold; color: #292929;}
.sk_subtit .normal {font-weight: normal; color: #777;}
.sk_selbt {width: auto; padding: 3px 12px; font-size: 13px; white-space: nowrap;}
/* 기간 입력 (시작 ~ 종료 + "n 일간") */
#modalSkUpt .sk_term {display: flex; flex-wrap: wrap; align-items: center;}
#modalSkUpt .sk_term > label {flex: 0 0 100%;}
#modalSkUpt .sk_term > input[type="date"] {flex: 1 1 0; min-width: 0; width: auto;}
.sk_wave {display: inline-block; width: 14px; text-align: center;}
.sk_days {margin-left: 6px; color: #1f3a89; font-weight: bold;}
/* 읽기 표시칸 (기연기횟수, 변경 종료일, 양도 금액) */
.sk_view {min-height: 31px; padding: 5px 8px; font-size: 14px; background: #f5f5f5; border: 1px solid #d1d3e2; border-radius: 3px;}
.sk_info {display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 4px 0 0; padding: 8px 12px; font-size: 14px; list-style: none; background: #fffadc; border: 1px solid #f0d36b; border-radius: 3px;}
.sk_info b {margin-left: 4px;}
/* 양수인 이름 + [회원 선택] */
#ydPanel .sk_recv {width: calc(100% - 120px) !important; display: inline-block;}
#ydPanel .sk_recv + .sk_selbt {display: inline-block; vertical-align: top; margin-left: 4px; padding: 6px 12px;}
/* 양도 부속 목록 */
.sk_subbox {height: auto; max-height: 190px; margin: 0 6px;}
#ydSubBody .sk_subopt label {margin: 0 10px 0 0; font-weight: normal; cursor: pointer; white-space: nowrap;}
#ydSubBody .sk_subopt input {position: static; margin: 0 3px 0 0; vertical-align: middle;}
/* 양수인 선택 : #modalSkUpt 위 2중 모달 */
#modalYdMbSel {z-index: 1100; width: 880px; max-width: 96%; height: auto; max-height: 90vh;}
/* 환불 금액 입력 #modalRefund (member.html — cafe.html 의 같은 id 520px 규칙보다 넓게, #modalSkUpt 위) */
#modalRefund.mb_hb {width: 700px; max-width: 96%; z-index: 1050;}
.mb_hb .hb_racabt {display: flex; gap: 4px; margin: 8px 0 0;}
.mb_hb .hb_racabt .main_top_bt01 {width: auto; min-width: 80px;}
.mb_hb .hb_calc, .mb_hb .hb_cond, .mb_hb .hb_amtgb {margin: 8px 0 0; padding: 6px 8px; font-size: 13px; background: #f8f9fc; border: 1px solid #d1d3e2; border-radius: 3px;}
.mb_hb .hb_calctit {display: inline-block; margin: 0 10px 4px 0; font-weight: bold; color: #292929;}
.mb_hb .hb_formula {display: flex; flex-wrap: wrap; align-items: flex-end; gap: 4px 6px; margin: 0; padding: 0; list-style: none;}
.mb_hb .hb_formula li {text-align: center;}
.mb_hb .hb_formula .hb_lb {display: block; font-size: 12px; color: #555;}
.mb_hb .hb_formula b {display: inline-block; min-width: 72px; padding: 3px 6px; text-align: right; background: #fff; border: 1px solid #ccc; border-radius: 3px;}
.mb_hb .hb_formula .hb_op {padding-bottom: 4px; font-weight: bold; white-space: nowrap;}
.mb_hb .hb_formula .hb_res b {color: #c30303; border-color: #e74a3b;}
.mb_hb .hb_radio {display: inline-flex; flex-wrap: wrap; gap: 2px 16px; margin: 0; padding: 0; list-style: none; vertical-align: top;}
.mb_hb .hb_radio label {margin: 0; font-weight: normal; cursor: pointer; white-space: nowrap;}
.mb_hb .hb_radio input {position: static; margin: 0 3px 2px 0; vertical-align: middle;}
.mb_hb .hb_pen {display: flex; align-items: center; gap: 6px; margin: 6px 0 0;}
.mb_hb .hb_pen label {margin: 0; white-space: nowrap;}
.mb_hb .hb_pen .form-control {width: 130px; height: 30px; padding: 2px 6px;}
.mb_hb .hb_pen .main_top_bt01 {width: auto; margin: 0; padding: 4px 12px; font-size: 13px;}
.mb_hb .hb_amt .info-div3 input {width: 100%;}
.mb_hb .hb_amt #hb_HbAmt {font-size: 16px; color: #c30303;}
.mb_hb .cf_rfcard .info-div3 input {width: 100%;}
.mb_hb .hb_bigo > input {width: 100%;}
.mb_hb .hb_date {height: 28px; padding: 2px 6px; font-size: 13px;}
.mb_hb .hb_notice {margin: 8px 0 0; padding: 6px; font-size: 13px; font-weight: bold; text-align: center; color: #c30303;}
@media (max-width: 1199px) {
	#modalSkUpt .info-div4 {width: 48%;}
	#modalSkUpt .info-div2n {width: 98%;}
	#modalSkUpt .sk_btns {position: static; flex-wrap: wrap; margin-top: 6px;}
}
@media (max-width: 700px) {
	#modalSkUpt .info-div4 {width: 98%;}
	.mb_hb .hb_amt .info-div3, .mb_hb .cf_rfcard .info-div3 {width: 98%;}
	.mb_hb .cf_rfsum th {width: 30%;}
}
/* 환경설정(7단계-B) config/*.html 공통 : 접두 cfg_ (compinfo·allcode·skcode·skban·lesson·cloth·mbcode·agentcfg) */
/* 안내 띠 / 작은 안내문 / 읽기전용 표시 */
.cfg_notice {padding: 8px 12px; font-size: 13px; color: #1f3a89; background: #fffadc; border: 1px solid #f0d36b; border-radius: 3px;}
.cfg_notice .fa-lock {color: #c30303;}
.cfg_note {margin: 4px 0 0; font-size: 12px; font-weight: normal; color: #777; word-break: keep-all;}
.cfg_ro {display: inline-block; margin-left: 4px; padding: 0 6px; font-size: 11px; font-weight: normal; line-height: 17px; color: #555; background: #eaecf4; border-radius: 9px; text-indent: 0;}
.cfg_linkbt {margin-left: 8px; font-size: 12px; font-weight: normal; text-decoration: underline;}
/* 입력 폼 : info-grid 안 input/select 를 칸 폭에 맞춤 */
.cfg_form, .cfg_modal .info-grid {row-gap: 6px;}
.cfg_form .info-div2n input, .cfg_form .info-div2n select, .cfg_form .info-div3 input, .cfg_form .info-div3 select, .cfg_form .info-div4 input, .cfg_form .info-div4 select, .cfg_form .info-div1 > input,
.cfg_modal .info-div2n input, .cfg_modal .info-div2n select, .cfg_modal .info-div3 input, .cfg_modal .info-div3 select, .cfg_modal .info-div4 input, .cfg_modal .info-div4 select, .cfg_modal .info-div1 > input {width: 100%;}
.cfg_form input[readonly], .cfg_modal input[readonly] {background: #f5f5f5;}
.cfg_form input[type="radio"], .cfg_form input[type="checkbox"], .cfg_modal input[type="radio"], .cfg_modal input[type="checkbox"] {width: auto !important;}
/* 라디오·체크 한 줄 (info-grid label 의 block·굵게 해제) */
.cfg_radio {display: flex; flex-wrap: wrap; gap: 2px 14px; margin: 4px 0 0; padding: 0; list-style: none;}
.cfg_radio label, .cfg_chkline label, .cfg_chkrow label, .cfg_pane label {display: inline-block; margin: 0 12px 0 0; font-weight: normal; text-indent: 0; cursor: pointer; white-space: nowrap;}
.cfg_chkline > label:first-child {display: block; font-weight: bold;}
.cfg_radio input, .cfg_chkline input, .cfg_chkrow input {position: static; margin: 0 3px 2px 0; vertical-align: middle;}
.cfg_chkline {padding-top: 4px;}
/* 고정 폭 입력 */
.cfg_w130 {width: 130px !important;}
.cfg_w160 {width: 160px !important;}
.cfg_w200 {width: 200px !important;}
/* 목록 상자 높이 */
.cfg_listbox {height: auto; min-height: 260px; max-height: 560px;}
.cfg_listbox tbody tr[onclick], .cfg_colbox tbody tr[onclick], .cfg_grpbox tbody tr[onclick] {cursor: pointer;}
.cfg_listbox .basic_bt01, .cfg_colbox .basic_bt01, .cfg_keybox .basic_bt01 {display: inline-block; padding: 2px 8px; margin: 0 1px; font-size: 12px;}
.cfg_mintb {min-width: 980px;}
/* 탭 (tabs3 재사용) */
.cfg_tabs ul.tabs3 {margin: 0; padding: 0; list-style: none; overflow: hidden;}
.cfg_tabs ul.tabs3 li {padding: 0 22px;}
.cfg_pane {display: none;}
.cfg_pane.cfg_on {display: block;}
.cfg_panebar {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 6px 4px;}
.cfg_panebar .main_top_bt01 {margin: 0;}
/* 업체정보 : 영수증 하단 문구 표 */
.cfg_infotb td {padding: 4px 6px;}
.cfg_infotb input[type="radio"] {position: static; margin: 0; vertical-align: middle;}
.cfg_infotb label {margin: 0; cursor: pointer;}
.cfg_infotb .form-control {height: 30px; padding: 2px 6px; font-size: 13px;}
/* 수강코드 : 입력줄 */
.cfg_editbar {margin: 8px 3px 10px; padding: 8px 10px; background: #f5f5f5; border: 1px solid #ddd; border-radius: 3px;}
.cfg_editrow {display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 6px; font-size: 14px;}
.cfg_editrow:last-child {margin-bottom: 0;}
.cfg_lb {min-width: 46px; font-weight: bold; white-space: nowrap;}
.cfg_view {min-width: 70px; padding: 4px 8px; font-size: 13px; background: #fff; border: 1px solid #d1d3e2; border-radius: 3px;}
.cfg_btnrow {justify-content: flex-end;}
.cfg_btnrow .main_top_bt01 {width: auto; min-width: 90px; margin: 0;}
.main_top_bt01.bygray_n {color: #ddd; border-color: #777; cursor: not-allowed;}
/* 수강종목반 : 3열 (1200px 미만 세로 쌓기 = col-12 col-xl-*), 머리 버튼, 정렬 줄 */
.cfg_colbox {height: 480px;}
.cfg_hbt {top: 9px;}
.cfg_hbt .main_top_bt01 {width: auto; margin: 0 0 0 3px; padding: 3px 9px; font-size: 13px;}
.cfg_bantb {min-width: 720px;}
.cfg_bantb td.txt_l {white-space: normal; word-break: keep-all;}
.cfg_sortbar {display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 6px 8px;}
.cfg_sortbar .basic_bt01 {margin: 0; padding: 3px 12px; font-size: 12px;}
/* 수강반 포스 20칸 (자리별 숫자) */
.cfg_pos {display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0 0; padding: 0; list-style: none;}
.cfg_pos li {display: flex; flex-direction: column; align-items: center; width: 38px;}
.cfg_pos li label {margin: 0; font-size: 11px; font-weight: normal; text-indent: 0;}
.cfg_modal .cfg_pos li input {width: 34px; height: 28px; padding: 2px; text-align: center;}
/* 모달 크기 */
.cfg_modal {height: auto; max-height: 92vh;}
.cfg_msmall {width: 480px; max-width: 94%;}
#modalSkBan {width: 900px; max-width: 96%;}
#modalLesson {width: 760px; max-width: 96%;}
#modalCgConfirm, #modalCgHist {width: 900px; max-width: 96%;}
/* 레슨 : 레슨 일자 목록 */
.cfg_dayadd {display: flex; align-items: center; gap: 6px;}
.cfg_dayadd .basic_bt01 {margin: 0; padding: 5px 12px; font-size: 13px;}
.cfg_daylist {display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 0; padding: 0; list-style: none;}
.cfg_daylist li {padding: 1px 8px; font-size: 12px; background: #eaecf4; border-radius: 9px; white-space: nowrap;}
.cfg_daylist li a {margin-left: 4px; color: #c30303; text-decoration: none;}
/* 기초설정 : 그룹 목록(스크롤 고정 높이), 키 표, 위험 키, 변경 행, 저장 줄 */
.cfg_srch {margin: 8px 6px 0;}
.cfg_srch .form-control {flex: 1; width: auto; min-width: 0;}
.cfg_grpbox {height: 560px;}
.cfg_keybox {height: auto; min-height: 300px; max-height: 560px;}
.cfg_keytb {min-width: 760px;}
.cfg_keytb td.txt_l {white-space: normal; word-break: break-all;}
.cfg_cell {height: 28px; padding: 2px 6px; font-size: 13px;}
.cfg_yn {margin: 0; font-weight: normal; cursor: pointer;}
.cfg_yn input {position: static; margin: 0 3px 2px 0; vertical-align: middle;}
.cfg_riskmark {color: #e74a3b; margin-right: 3px;}
.cfg_riskrow td:nth-child(3) {color: #c30303;}
tr.cfg_changed td {background: #fff3cd;}
.cfg_savebar {display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 8px 10px; font-size: 14px; border-top: 1px solid #ddd;}
.cfg_savebar > span {margin-right: auto;}
.cfg_savebar b {color: #c30303; font-size: 16px;}
.cfg_risk_box {padding: 10px 12px; font-size: 13px; color: #c30303; background: #fff3f2; border: 2px solid #e74a3b; border-radius: 3px;}
.cfg_risk_box p {margin: 0 0 4px;}
.cfg_risk_box label {margin: 4px 0 0; font-weight: bold; cursor: pointer;}
.cfg_risk_box input {position: static; margin: 0 4px 2px 0; vertical-align: middle;}
.cfg_confbox {height: auto; max-height: 360px;}
@media (max-width: 1199px) {
	.cfg_colbox {height: auto; min-height: 160px; max-height: 360px;}
	.cfg_grpbox {height: 260px;}
}
@media (max-width: 700px) {
	.cfg_modal .info-div4, .cfg_modal .info-div2n, .cfg_form .info-div4, .cfg_form .info-div2n {width: 98%;}
	.cfg_w200 {width: 100% !important;}
}
/* 관리설정(7단계-A) manage/*.html 공통 : 접두 mg_ (staff·buser·pos·prgauth·aptgb·mbupload) — 7-B cfg_ 클래스와 같이 씀 */
/* FJS(안면) 표시 묶음 : .mg_wrap 에 mg_fjs 가 있을 때만 보임 */
.mg_wrap:not(.mg_fjs) .mg_face {display: none !important;}
/* 표 : 선택 가능한 행, Y/N 배지, 현재 포스, 퇴사, 표 아래 안내 */
.mg_seltb tbody tr[onclick] {cursor: pointer;}
.mg_seltb tbody tr[onclick]:hover td {background: #f1f5ff;}
.mg_mintb {min-width: 900px;}
.mg_yn {display: inline-block; min-width: 36px; padding: 0 6px; font-size: 12px; line-height: 19px; color: #999; border-radius: 9px;}
.mg_yn.on {background: #1cc88a; color: #fff; font-weight: bold;}
.mg_tag {display: inline-block; margin-left: 4px; padding: 0 6px; font-size: 11px; line-height: 17px; color: #fff; background: #4e73df; border-radius: 9px;}
tr.mg_cur td {background: #eef3ff;}
tr.mg_out td {color: #999;}
.mg_foot {margin: 4px 12px 10px;}
.mg_warn {color: #c30303;}
.mg_warn:empty {display: none;}
.mg_btmbar {display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; padding: 0 10px 10px;}
.mg_btmbar > .cfg_note {margin: 0 auto 0 0;}
.mg_btmbar .basic_bt01 {margin: 0;}
.mg_wrap .basic_bt01.bg_red, .mg_wrap .main_top_bt01.bg_red {color: #fff !important; border-color: #c30303;}
/* 입력 + 버튼 한 줄, 전화 3칸, 단위 붙은 입력 (info-div* 의 div>input absolute 규칙 해제) */
.mg_inbt, .mg_tel, .mg_unit {display: flex; align-items: center; gap: 4px;}
.mg_inbt > input, .mg_tel > input, .mg_unit > input {position: static !important; flex: 1 1 0; min-width: 0; width: auto !important;}
.mg_inbt > .basic_bt01 {flex: 0 0 auto; margin: 0; padding: 6px 10px; font-size: 13px; white-space: nowrap;}
.mg_inbt > .mg_radio {flex: 0 0 auto; margin: 0;}
.mg_unit > span {flex: 0 0 auto; font-size: 13px; color: #555; white-space: nowrap;}
.mg_unit > .mg_wave {width: 12px; text-align: center;}
.mg_wrap .cfg_radio li {width: auto;}
/* 직원 모달 : 사진(좌) + 2열 정보(우) */
#modalStaff {width: 1000px; max-width: 96%;}
#modalStaff .mg_staffbox {display: flex; flex-wrap: nowrap; align-items: flex-start;}
#modalStaff .mg_photo {flex: 0 0 170px;}
#modalStaff .mg_photo img {height: 210px;}
#modalStaff .info-section {flex: 1 1 auto; min-width: 0;}
#modalStaff .info-div4.mg_span3 {width: 72.6%;}
#modalStaff .info-div1 textarea {width: 100%;}
.mg_facebox {margin: 8px 0 0; padding: 6px 8px; font-size: 13px; text-align: center; background: #f8f9fc; border: 1px solid #d1d3e2; border-radius: 3px;}
/* 포스 모달 : 읽기 전용 장비 표 */
#modalPos {width: 760px; max-width: 96%;}
.mg_robox {height: auto; max-height: 260px;}
.mg_rotb th {width: 18%; background: #f8f9fc; font-weight: bold; white-space: nowrap;}
.mg_rotb td {width: 32%; word-break: break-all;}
/* 메뉴권한 : 스위치 상태 띠, 직원 표, 권한 표 */
.mg_swbox {display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px;}
.mg_swbadge {flex: 0 0 auto; padding: 2px 10px; font-size: 12px; font-weight: bold; color: #fff; background: #858796; border-radius: 10px; white-space: nowrap;}
.mg_sw_on {color: #155724; background: #e6f6ec; border-color: #1cc88a;}
.mg_sw_on .mg_swbadge {background: #1cc88a;}
.mg_warnbox {color: #c30303; background: #fff3f2; border-color: #e74a3b;}
.mg_staffpick {height: auto; min-height: 260px; max-height: 600px;}
.mg_hbtns .main_top_bt01 {width: auto; margin-left: 3px; padding-left: 10px; padding-right: 10px; white-space: nowrap;}
.mg_authbox {height: auto; min-height: 300px; max-height: 600px;}
.mg_authmin {min-width: 680px;}
.mg_authtb thead th {position: sticky; top: 0; z-index: 1; background: #f8f9fc;}
.mg_authtb td, .mg_authtb th {vertical-align: middle;}
.mg_authtb input[type="checkbox"] {position: static; width: 16px; height: 16px; margin: 0; vertical-align: middle; cursor: pointer;}
.mg_hchk {display: inline-flex; flex-direction: column; align-items: center; gap: 2px; margin: 0; font-weight: bold; cursor: pointer;}
.mg_authtb td.mg_grp {font-weight: bold; color: #1f3a89; white-space: nowrap;}
.mg_authtb tr.mg_grpfirst td {border-top: 2px solid #b7bfd9;}
.mg_authtb tbody tr:hover td {background: #f6f8ff;}
.mg_copyfrom {margin: 0 0 4px; font-size: 14px;}
.mg_copybox {height: auto; max-height: 300px;}
.mg_copybox input[type="checkbox"] {position: static; width: auto; margin: 0; vertical-align: middle;}
/* 세대구분 : 동 목록, 생성 폼, 미리보기, 호 목록 */
.mg_dongbox {height: auto; min-height: 300px; max-height: 640px;}
.mg_hobox {height: auto; min-height: 160px; max-height: 340px;}
.mg_genrow {display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 18px; padding: 12px 14px 6px;}
.mg_genitem > label {display: block; margin: 0 0 3px; font-size: 13px;}
.mg_genitem .mg_unit > input {flex: 0 0 64px; width: 64px !important;}
.mg_genitem .mg_unit > input#ag_DongAddr {flex: 0 0 96px; width: 96px !important;}	/* 7-A 통합: 동 입력 placeholder 잘림 */
.mg_genbt {display: flex; gap: 4px; margin-left: auto;}
.mg_genbt .main_top_bt01, .mg_upbt .main_top_bt01, .mg_applybar .main_top_bt01 {width: auto; min-width: 96px; margin: 0; white-space: nowrap;}
.mg_preview {margin: 4px 14px 6px; padding: 8px 12px; background: #fffadc; border: 1px solid #f0d36b; border-radius: 3px;}
.mg_sum {display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; padding: 0; font-size: 14px; list-style: none;}
.mg_sum li {white-space: nowrap;}
.mg_sum b {margin: 0 2px 0 4px; color: #1f3a89;}
.mg_sum b.red {color: #da0000;}
.mg_pvlist {margin: 6px 0 0; font-size: 12px; color: #555; word-break: keep-all;}
.mg_pvlist:empty {display: none;}
/* 입주민 일괄등록 : 단계, 업로드, 열 안내, 판정 배지, 결과 로그 */
.mg_steps {display: flex; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none;}
.mg_steps li {flex: 1 1 0; padding: 8px 10px; font-size: 14px; color: #888; background: #f1f1f1; border-radius: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.mg_steps li b {display: inline-block; width: 22px; height: 22px; margin-right: 6px; line-height: 22px; text-align: center; color: #fff; background: #b5b5b5; border-radius: 50%;}
.mg_steps li.mg_on {color: #fff; font-weight: bold; background: #4e73df;}
.mg_steps li.mg_on b {color: #4e73df; background: #fff;}
.mg_steps li.mg_done {color: #1f3a89; background: #e3e9fb;}
.mg_steps li.mg_done b {background: #1cc88a;}
.mg_upbox {padding: 12px 14px 4px;}
.mg_upbox > label {display: block; margin: 0 0 4px; font-size: 13px;}
.mg_upbox input[type="file"] {height: auto; padding: 5px 8px;}
.mg_upbt {display: flex; justify-content: flex-end; gap: 4px; margin: 8px 0 0;}
.mg_upbt .basic_bt01 {margin: 0; padding: 6px 12px;}
.mg_colguide {margin: 6px 14px 12px; font-size: 13px;}
.mg_colguide > p {margin: 0 0 4px;}
.mg_guidetb th, .mg_guidetb td {padding: 4px 2px; text-align: center; vertical-align: middle;}
.mg_guidetb th {background: #f8f9fc;}
.mg_guidetb tbody td:first-child {color: #999;}
.mg_sub {font-size: 11px; color: #888;}
.mg_rules {margin: 6px 0 0; padding-left: 18px; color: #555;}
.mg_rules li {margin: 2px 0; word-break: keep-all;}
.mg_erronly {display: flex; align-items: center; margin: 0; font-size: 13px; color: #fff; cursor: pointer; white-space: nowrap;}
.mg_erronly input {position: static; margin: 0 4px 0 0;}
.mg_sumbar {padding: 8px 14px; background: #f8f9fc; border-bottom: 1px solid #e3e6f0;}
.mg_pvbox {height: auto; min-height: 260px; max-height: 520px;}
.mg_pvmin {min-width: 940px;}	/* QA T-048: 변경 내용 열 추가 후 고정 폭 합 765 + 마지막 열 175 */
.mg_pvtb thead th {position: sticky; top: 0; z-index: 1; background: #f8f9fc;}
.mg_pvtb td {vertical-align: middle;}
.mg_jd {display: inline-block; min-width: 40px; padding: 0 6px; font-size: 12px; line-height: 19px; font-weight: bold; text-align: center; border-radius: 9px;}
.mg_jd_new {color: #fff; background: #4e73df;}
.mg_jd_upt {color: #000; background: #ffc107;}
.mg_jd_err {color: #fff; background: #e74a3b;}
tr.mg_rowerr td {background: #fff3f2;}
tr.mg_rowerr td.mg_bad {color: #c30303; font-weight: bold;}
/* 오류 행만 보기 : Mu_Filter() 가 표에 mg_errfilter 토글 */
.mg_errfilter tbody tr:not(.mg_rowerr) {display: none;}
.mg_log {height: auto; max-height: 300px; margin: 0; padding: 8px 14px 8px 32px; overflow-y: auto; font-size: 13px;}
.mg_log li {margin: 1px 0;}
.mg_log li.mg_logerr {color: #c30303;}
.mg_log:empty {display: none;}
@media (max-width: 1199px) {
	#modalStaff .info-div4, #modalStaff .info-div4.mg_span3 {width: 48.3%;}
	.mg_genbt {margin-left: 0;}
}
@media (max-width: 700px) {
	#modalStaff .mg_staffbox {flex-direction: column;}
	#modalStaff .mg_photo {flex: 0 0 auto; width: 160px;}
	#modalStaff .info-section {margin-left: 0 !important;}
	#modalStaff .info-div4, #modalStaff .info-div2n, #modalStaff .info-div4.mg_span3 {width: 98%;}
	.mg_steps {flex-direction: column;}
}
/* 시설관리(7단계-C) facility/*.html : 공통 fc_ · 달력 fc_ · 배치판 fb_ · 예약리스트 fl_ · 독서실 rst_ · 접수기간 su_ · 휴일 hd_ · 시간제어 cr_ · 시설구분 cc_ */
/* 공통 : 모달 안 입력 칸, 입력+버튼, 라디오 줄, 읽기 표시, 안내·경고 */
.fc_grid {row-gap: 6px;}
.fc_grid .info-div4 input, .fc_grid .info-div4 select, .fc_grid .info-div2n input, .fc_grid .info-div2n select, .fc_grid .info-div1 > input {width: 100%;}
.fc_grid input[readonly] {background: #f5f5f5;}
.fc_grid .info-div4.fc_span3 {width: 73.4%;}
.fc_grid label .normal, .fc_revmodal label .normal, .cc_modal label .normal {font-weight: normal; color: #777;}
.fc_inbt {display: flex; align-items: center; gap: 4px;}
.fc_inbt > input {position: static !important; flex: 1 1 0; min-width: 0; width: auto !important;}
.fc_inbt > .basic_bt01 {flex: 0 0 auto; margin: 0; padding: 6px 10px; font-size: 13px; white-space: nowrap;}
.fc_radio {display: flex; flex-wrap: wrap; gap: 2px 16px; margin: 6px 0 0; padding: 0; list-style: none;}
.fc_radio li {width: auto !important;}
.fc_radio label {display: inline-block; margin: 0; font-weight: normal; text-indent: 0; cursor: pointer; white-space: nowrap;}
.fc_radio input {position: static; width: auto !important; margin: 0 4px 2px 0; vertical-align: middle;}
.fc_view {min-height: 31px; padding: 5px 8px; font-size: 14px; background: #f5f5f5; border: 1px solid #d1d3e2; border-radius: 3px;}
.fc_note {margin: 6px 2px 0; font-size: 12px; color: #777; word-break: keep-all;}
.fc_note:empty {display: none;}
.fc_warn {margin: 8px 0 0; padding: 8px 10px; font-size: 13px; font-weight: bold; color: #c30303; background: #fff3f2; border: 1px solid #e74a3b; border-radius: 3px; word-break: keep-all;}
.fc_warn:empty {display: none;}
.fc_amt {font-size: 16px; font-weight: bold; color: #1f3a89;}
.save_bt.fc_btfree {background: #1cc88a;}
/* 모달 크기 (기본 awesome-modal-* 높이 고정 해제) */
#modalRev {width: 920px; max-width: 96%; height: auto; max-height: 94vh;}
#modalRsAssign {width: 760px; max-width: 96%; height: auto; max-height: 94vh;}
#modalRevCancel {width: 760px; max-width: 96%; height: auto; max-height: 90vh;}
#modalFcMbSel, #modalRsMbSel {height: auto; max-height: 90vh;}
.fc_revmodal .card {margin-bottom: 8px !important;}
.fc_revmodal .container2 {padding-top: 6px; padding-bottom: 8px;}
/* 예약 등록 : 사용일 목록 칩, 상품 표 */
.fc_datelist {display: flex; flex-wrap: wrap; gap: 4px; margin: 4px 0 0; padding: 0; list-style: none;}
.fc_datelist li {padding: 2px 4px 2px 10px; font-size: 13px; background: #eaecf4; border-radius: 10px; white-space: nowrap;}
.fc_datelist li a {display: inline-block; margin-left: 4px; padding: 0 4px; color: #c30303; font-weight: bold; text-decoration: none;}
.fc_datelist li.fc_we {background: #e3e9fb;}
.fc_datelist li.fc_hol {background: #ffe3e0; color: #c30303;}
.fc_datelist li.fc_empty {padding: 2px 0; background: none; color: #999; white-space: normal;}
.fc_spbox {height: auto; max-height: 200px; margin: 0 6px;}
.fc_sptb td {vertical-align: middle;}
.fc_sptb input[type="checkbox"] {position: static; width: 16px; height: 16px; margin: 0; vertical-align: middle;}
.fc_sptb td label {margin: 0; font-weight: normal; cursor: pointer;}
.fc_sptb .fc_qty {width: 64px; height: 28px; margin: 0 auto; padding: 2px 6px;}
/* 예약 취소 확인 */
.fc_cnbox {height: auto; max-height: 240px;}
#fc_cnBody tr.fc_past td {color: #c30303;}
.fc_cnpay {margin: 8px 0 0; padding: 8px 10px; font-size: 14px; background: #fffadc; border: 1px solid #f0d36b; border-radius: 3px;}
.fc_cnmodal .save_bt.bg_red {background: #e74a3b;}
/* 달력 상단 줄 : 시설·면 / 월 이동 / 범례 */
.fc_toolbar {display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding: 10px 10px 6px;}
.fc_tsel {display: flex; gap: 6px;}
.fc_tsel .form-control {width: 150px;}
.fc_month {display: flex; align-items: center; gap: 6px;}
.fc_mbt {display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: #292929; border: 1px solid #bbb; border-radius: 3px; background: #fff; text-decoration: none;}
.fc_mbt:hover {color: #fff; background: #4e73df; border-color: #4e73df; text-decoration: none;}
.fc_ym {min-width: 96px; font-size: 20px; font-weight: bold; text-align: center; color: #1f3a89;}
.fc_month .fc_tdbt {margin: 0 0 0 4px; padding: 5px 12px; font-size: 13px;}
.fc_month .hd_year {width: 110px; font-weight: bold;}
.fc_legend {flex-wrap: wrap; row-gap: 4px; margin-left: auto; font-size: 13px;}
.fc_legend .label3 {white-space: nowrap; margin-right: 12px;}
.division.fc_app, .fc_chip.fc_app {border: 1px dashed #b07d00; background-color: #fff3c4;}
.fc_lg {display: inline-flex; align-items: center; white-space: nowrap;}
.info-div1 > .fc_view, .info-div1 > .fc_datelist, .info-div1 > .cc_splist, .info-div1 > .fc_inbt {align-self: stretch;}
.fc_holmark {display: inline-block; width: 20px; height: 20px; margin-right: 5px; line-height: 18px; font-size: 12px; font-weight: bold; text-align: center; color: #e74a3b; border: 1px solid #e74a3b; border-radius: 50%; vertical-align: middle;}
/* 달력 표 (7열 고정) */
.fc_calwrap {padding: 0 10px 12px; overflow-x: auto;}
.fc_cal {min-width: 840px; table-layout: fixed;}
.fc_cal thead th {padding: 6px 0; font-size: 14px; background: #f8f9fc;}
.fc_cal thead th.fc_sun {color: #e74a3b;}
.fc_cal thead th.fc_sat {color: #2e59d9;}
.fc_cal td.fc_day {height: 112px; padding: 3px 4px; text-align: left; vertical-align: top; cursor: pointer; overflow: hidden;}
.fc_cal td.fc_day:hover {background: #f6f8ff;}
.fc_dhead {display: flex; align-items: center; gap: 4px; margin: 0 0 2px; white-space: nowrap; overflow: hidden;}
.fc_dnum {font-size: 14px; font-weight: bold; color: #292929;}
.fc_hname {min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 11px; color: #e74a3b;}
.fc_cnt {margin-left: auto; font-size: 11px; color: #777;}
.fc_cal td.fc_sun .fc_dnum, .fc_cal td.fc_hol .fc_dnum {color: #e74a3b;}
.fc_cal td.fc_sat .fc_dnum {color: #2e59d9;}
.fc_cal td.fc_hol {background: #fff7f6;}
.fc_cal td.fc_today {background: #fffadc;}
.fc_cal td.fc_today .fc_dnum {display: inline-block; min-width: 22px; padding: 0 4px; color: #fff; text-align: center; background: #4e73df; border-radius: 11px;}
.fc_cal td.fc_sel {box-shadow: inset 0 0 0 2px #4e73df;}
.fc_cal td.fc_other {background: #fafafa; cursor: default;}
.fc_cal td.fc_other .fc_dnum {color: #c8c8c8;}
.fc_chips {margin: 0; padding: 0; list-style: none;}
.fc_chip {margin: 0 0 2px; padding: 0 4px; font-size: 11px; line-height: 17px; color: #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid rgba(0,0,0,.12); border-radius: 2px; cursor: pointer;}
.fc_chip b {margin-right: 3px;}
.fc_chip:hover {box-shadow: 0 0 0 1px #4e73df;}
.fc_more {padding: 0 4px; font-size: 11px; color: #4e73df; cursor: pointer;}
/* 달력 오른쪽 : 선택일 표, 상세, 상태 배지 */
.fc_seltop {font-size: 18px;}
.fc_seltop span {font-size: 14px;}
.fc_daybox {height: auto; min-height: 120px; max-height: 300px;}
.fc_daytb td {vertical-align: middle; font-size: 12px;}
#fc_DayBody tr {cursor: pointer;}
.fc_st {display: inline-block; padding: 0 6px; font-size: 11px; line-height: 18px; font-weight: bold; color: #000; border-radius: 9px; white-space: nowrap;}
.fc_st.st1 {background: #fff3c4; border: 1px dashed #b07d00;}
.fc_st.st2 {background: #ffc107;}
.fc_st.st4 {background: #17e6ff;}
.fc_dvinfo {margin: 8px 0 0; padding: 6px 8px; font-size: 13px; list-style: none; background: #f8f9fc; border: 1px solid #e3e6f0; border-radius: 3px;}
.fc_dvinfo li {display: flex; gap: 8px; padding: 2px 0;}
.fc_dvinfo li span {flex: 0 0 64px; color: #777;}
.fc_dvinfo li b {flex: 1; min-width: 0; font-weight: normal; word-break: break-all;}
.fc_btns .main_top_bt01 {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
/* 배치판 · 독서실 격자 (locker #rcGrid 규칙과 같게) */
#fbGrid .lokerbox, #rsGrid .lokerbox {cursor: pointer;}
#fbGrid .lokerbox li, #rsGrid .lokerbox li {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.lokerbox.msel {outline: 3px solid #1cc88a; outline-offset: -1px;}
.lokerbox.fb_mbs {border-left: 5px solid #1be740;}
.division.fb_mbsmark {border-left: 5px solid #1be740;}
.fb_cap {margin-left: 2px; font-size: 11px; font-weight: normal; color: #555;}
.fb_subtit {margin: 10px 0 4px; font-size: 14px; font-weight: bold; color: #292929;}
.fb_subtit .normal {font-weight: normal; color: #777;}
.fb_nextbox {height: auto; min-height: 60px; max-height: 150px;}
.rst_tg {display: inline-block; margin-left: 2px; padding: 0 3px; font-size: 10px; line-height: 15px; font-weight: normal; color: #333; background: rgba(255,255,255,.75); border-radius: 2px;}
.rst_in {display: inline-block; margin-left: 2px; padding: 0 4px; font-size: 10px; line-height: 15px; font-weight: bold; color: #fff; background: #1cc88a; border-radius: 2px;}
.fc_legend .rst_in {margin: 0 5px 0 0; line-height: 18px; vertical-align: middle;}
/* 예약 리스트 : 상태 배지 (rpt_st 와 같이 씀), 취소 행 */
.rpt_st.fl_st1 {background: #fff3c4; color: #000; border: 1px dashed #b07d00;}
.rpt_st.fl_st2 {background: #ffc107; color: #000;}
.rpt_st.fl_st3 {background: #d1d3e2; color: #555;}
.rpt_st.fl_st4 {background: #17e6ff; color: #000;}
.rpt_tb tbody tr.fl_cancel td {color: #9a9a9a;}
.rpt_tb tbody tr.fl_cancel td.txt_r {text-decoration: line-through;}
/* 독서실 접수기간 */
.su_tb th, .su_tb td {vertical-align: middle;}
.su_tb th.su_gb {background: #f8f9fc; font-weight: bold;}
.su_tb .mg_unit {justify-content: center;}
.su_tb .mg_unit > select {position: static; flex: 0 0 80px; width: 80px;}
.su_tb .mg_unit > input[type="date"] {flex: 1 1 150px; max-width: 170px;}
.su_tb .mg_unit > input[type="time"] {flex: 1 1 110px; max-width: 130px;}
.su_preview {margin: 10px 0 0; padding: 8px 12px; font-size: 14px; background: #fffadc; border: 1px solid #f0d36b; border-radius: 3px;}
.su_preview b {margin: 0 2px; color: #1f3a89;}
.su_preview b.red {color: #c30303;}
.su_rules {padding: 10px 14px 10px 30px;}
/* 휴일관리 : 12개월 미니 달력 */
.hd_months {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 4px 10px 12px;}
.hd_month {border: 1px solid #d1d3e2; border-radius: 3px; overflow: hidden;}
.hd_mtit {padding: 4px 8px; font-size: 14px; font-weight: bold; color: #fff; background: #3a3b45;}
.hd_cal {width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12px;}
.hd_cal th {padding: 3px 0; font-weight: normal; text-align: center; color: #555; background: #f8f9fc;}
.hd_cal th:first-child {color: #e74a3b;}
.hd_cal th:last-child {color: #2e59d9;}
.hd_cal td {height: 24px; padding: 0; text-align: center; vertical-align: middle; border-top: 1px solid #f0f0f0;}
.hd_cal td.hd_day {cursor: pointer;}
.hd_cal td.hd_day:hover {background: #eef3ff;}
.hd_cal td.hd_sun, .hd_mk.hd_sun {color: #e74a3b;}
.hd_cal td.hd_sat {color: #2e59d9;}
.hd_cal td.hd_hol, .hd_mk.hd_hol {color: #fff; font-weight: bold; background: #e74a3b;}
.hd_cal td.hd_hol:hover {background: #c9302c;}
.hd_cal td.hd_today {box-shadow: inset 0 0 0 1px #f0b400; font-weight: bold;}
.hd_cal td.hd_sel, .hd_mk.hd_sel {box-shadow: inset 0 0 0 2px #4e73df;}
.hd_mk {display: inline-block; width: 22px; height: 20px; margin-right: 5px; line-height: 20px; font-size: 12px; text-align: center; vertical-align: middle; border: 1px solid #d1d3e2; border-radius: 2px;}
.hd_listbox {height: auto; min-height: 120px; max-height: 330px;}
#hd_ListBody tr {cursor: pointer;}
#hd_ListBody .basic_bt01 {padding: 2px 7px; margin: 0; font-size: 12px;}
/* 시간제어 */
.cr_allday {display: inline-block; padding: 0 8px; font-size: 12px; line-height: 19px; font-weight: bold; color: #fff; background: #e74a3b; border-radius: 9px;}
#crBody tr.cr_past td {color: #9a9a9a;}
#crBody .basic_bt01, #ccBody .basic_bt01, #rkBody .basic_bt01 {display: inline-block; padding: 2px 8px; margin: 0 1px; font-size: 12px;}
/* 시설구분 : 모달, 상품 체크 목록 */
#modalCmCode {width: 680px; max-width: 96%;}
.cc_splist {margin-top: 6px; padding: 6px 8px; background: #f8f9fc; border: 1px solid #e3e6f0; border-radius: 3px;}
.cc_splist li {width: auto;}
.cc_splist li.cc_lost {color: #c30303;}
.cc_amt {font-size: 12px; color: #777;}
@media (max-width: 1399px) {
	.hd_months {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 1199px) {
	.fc_legend {margin-left: 0;}
	.fc_grid .info-div4 {width: 48.3%;}
	.fc_grid .info-div4.fc_span3 {width: 98%;}
	.hd_months {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 700px) {
	.fc_grid .info-div4, .fc_grid .info-div2n {width: 98%;}
	.fc_tsel .form-control {width: 130px;}
	.hd_months {grid-template-columns: minmax(0, 1fr);}
}
/* 조식관리(7단계-D) breakfast/*.html : 접두 bk_(상품) bs_(운영시간) bl_(예약) bt_(예약 거래) — 7-A mg_ · 7-B cfg_ · 6단계 rpt_ 클래스와 같이 씀 */
/* 운영시간 : 구간 표, 미사용 줄 흐리게 */
.bs_tb th, .bs_tb td {vertical-align: middle; text-align: center;}
.bs_tb th.bs_gb {background: #f8f9fc; font-weight: bold;}
.bs_tb input[type="checkbox"] {position: static; width: auto; margin: 0 3px 2px 0; vertical-align: middle;}
.bs_tb label.bs_chk {display: inline; margin: 0; font-weight: normal; text-indent: 0; cursor: pointer;}
.bs_tb .mg_unit {justify-content: center;}
.bs_tb .mg_unit > input[type="time"] {flex: 1 1 110px; max-width: 130px;}
.bs_tb tr.bs_off td, .bs_tb tr.bs_off th.bs_gb {color: #9a9a9a;}
.bs_tb tr.bs_off input[type="time"] {background: #f5f5f5; color: #9a9a9a;}
.bs_tb .basic_bt01 {display: inline-block; margin: 0; padding: 2px 8px; font-size: 12px;}
#bs_BKJWCnt {max-width: 120px;}
/* 조식 상품 : 모달, 마감 입력 줄, 목록 */
#modalBkProduct {width: 820px; max-width: 96%;}
.bk_modal .mg_unit > input[type="date"], .bk_modal .mg_unit > input[type="time"] {flex: 1 1 0;}
.bk_limit {flex-wrap: wrap;}
.bk_limit > input {flex: 0 0 64px !important; width: 64px !important;}
.bk_cnt {margin-left: 6px; font-size: 13px; font-weight: normal;}
.bk_mintb {min-width: 1250px;}
#bk_Body .basic_bt01 {display: inline-block; padding: 2px 8px; margin: 0 1px; font-size: 12px;}
#bk_Body tr.bk_past td {color: #9a9a9a;}
.bk_gb {display: inline-block; min-width: 38px; padding: 0 6px; font-size: 12px; line-height: 19px; font-weight: bold; border-radius: 9px;}
.bk_gb1 {background: #fff3c4; color: #7a5600;}
.bk_gb2 {background: #d7f5e6; color: #0b6b3f;}
.bk_gb3 {background: #e3e8fb; color: #1f3a89;}
/* 예약 · 예약 거래 : 구분 배지(rpt_st 와 같이), 하단 결제 상세 */
.rpt_st.bl_st1 {background: #ffc107; color: #000;}
.rpt_st.bl_st2 {background: #d1d3e2; color: #555;}
.bk_dtltitle {margin-left: 6px; font-size: 13px; font-weight: normal;}
.bl_dtlbox {height: auto; min-height: 80px; max-height: 220px;}
#modalBkRefund {width: 560px; max-width: 94%; height: auto; max-height: 92vh;}
@media print {
	.bk_noprint {display: none !important;}
}
@media (max-width: 700px) {
	.bs_tb .mg_unit {flex-wrap: wrap;}
	.bk_limit > input {flex: 0 0 56px !important; width: 56px !important;}
}
/* 원격관리 메뉴 모달(7단계-E) inc/remote_modal.html : 접두 rm_ */
#modalRemote.rm_modal {width: 520px; max-width: 94%; height: auto; max-height: 92vh;}
.rm_note {margin: 6px 2px 10px;}
.rm_list {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none;}
.rm_list .rm_bt {display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 76px; margin: 0; padding: 8px 6px; color: #1f3a89; background: #f8f9fc; border: 1px solid #d1d3e2; text-decoration: none;}
.rm_list .rm_bt:hover {color: #fff; background: #4e73df; border-color: #4e73df;}
.rm_list .rm_bt i {margin-bottom: 4px; font-size: 20px;}
.rm_list .rm_bt span {font-weight: bold;}
.rm_list .rm_bt em {font-size: 11px; font-style: normal; color: #777;}
.rm_list .rm_bt:hover em {color: #e3e8fb;}
.rm_list .rm_main {color: #fff; background: #1cc88a; border-color: #17a673;}
.rm_list .rm_main em {color: #eafff5;}
.rm_list .rm_main:hover {background: #17a673; border-color: #13855c;}
.rm_list li.rm_wide {grid-column: 1 / -1;}
.rm_list .rm_sub {color: #555;}
@media (max-width: 480px) {
	.rm_list {grid-template-columns: minmax(0, 1fr);}
}
/* QA T-014 (2026-10-20 디자인) : 1366·1920 폭 한 줄 정렬
   입주민관리 검색 패널(.bbs_search_box_a4 / _a2 는 member.html 에서만 사용) : 줄바꿈 없이 입력칸이 남는 폭을 차지 */
.bbs_search_box_a4 ul, .bbs_search_box_a2 ul {flex-wrap: nowrap;}
.bbs_search_box_a4 li:nth-child(1), .bbs_search_box_a4 li:nth-child(3) {flex: 1 1 0; width: auto; min-width: 0;}
.bbs_search_box_a4 li:nth-child(2), .bbs_search_box_a4 li:nth-child(4) {flex: none; width: auto; margin-right: 6px; white-space: nowrap;}
.bbs_search_box_a4 li:nth-child(4) {margin-right: 0;}
.bbs_search_box_a2 li:nth-child(2) {flex: 0 0 32%; width: auto; min-width: 0;}
.bbs_search_box_a2 li:nth-child(3) {flex: 1 1 0; width: auto; min-width: 0;}
.bbs_search_box_a2 li:nth-child(4) {flex: none; width: auto; margin-right: 0;}
.bbs_search_box_a2 .serch_bt {display: block; white-space: nowrap; padding-left: 10px; padding-right: 10px;}
#mbListBody td {white-space: nowrap;}
/* 사물함 칸(#rcGrid : locker / locker_set / member 수강등록 사물함) : 종료일(2026-12-19)·회원명·금액 한 줄 */
#rcGrid .lokerbox li {padding: 2px 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
#rcGrid .lokerbox li:nth-child(2) {font-size: 12px; letter-spacing: -.2px;}
/* QA T-016 (2026-10-20 디자인) : 모달 열림 효과 동안 크기·위치가 바뀌어 클릭이 다른 칸에 들어가는 문제
   bounce(0.4s, 0.7→1.05→0.95→1 배율) 대신 짧은 페이드(0.18s, 0.97→1 배율, 넘침 없음) + 효과 중에는 클릭 무시 */
.awesome-modal, .awesome-modal-l, .awesome-modal-p, .awesome-modal-c,
.awesome-modal.modal-second, .awesome-modal.modal-second-n, .awesome-modal.modal-second-u, .awesome-modal.modal-second-p {animation: sacModalIn .18s ease-out both;}
@keyframes sacModalIn {
	0% {opacity: 0; transform: translate3d(-50%, -50%, 0) scale(.97); pointer-events: none;}
	99% {pointer-events: none;}
	100% {opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); pointer-events: auto;}
}
/* member 수강등록 사물함(#modal2-2) : 1366 폭에서 칸이 66px 라 종료일이 잘려 1600px 미만에서는 한 줄 8칸 */
@media (max-width: 1599px) {
	#modal2-2 #rcGrid .lokerbox {width: calc((100% - 35px) / 8);}
}
/* QA T-022 (2026-10-20 디자인) : 1366 폭 범례·버튼 줄바꿈
   범례(.locker-bx : locker / locker_set / rseat / cm_board / member 수강등록 사물함) : 글자는 한 줄, 자리가 모자라면 항목 단위로 다음 줄 */
.locker-bx {flex-wrap: wrap; align-items: center; row-gap: 4px;}
.locker-bx .label3 {white-space: nowrap; margin-right: 10px;}
.locker-bx .label3:last-child {margin-right: 0;}
/* 처리 버튼 묶음(.lockerbox2 : rseat / cm_board / locker) : '이용요금 수정' 등 버튼 글자 한 줄 */
.lockerbox2 .main_top_bt01 {white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-left: 4px; padding-right: 4px;}
/* 골프 운영 모드 3종 (v1.2 M장, 2026-10-21 디자인) golf.html · golf_set.html
   모드 class(body 또는 컨테이너 하나) : gmode_rev2 = ① 2차예약형 / gmode_line = ② 줄서기형 / gmode_time = ③ 타임제어형
   요소 class : gm_rev2 / gm_line / gm_time = 그 모드에서만 보임, gm_nt = ①② 에서만 보임, gm_none = 모드 class 가 없을 때만 보임
   모드 class 가 없으면 gm_* 요소는 모두 숨김(기존 ③ 화면은 그대로) */
.gm_rev2:not(.gmode_rev2 *):not(.gmode_rev2),
.gm_line:not(.gmode_line *):not(.gmode_line),
.gm_time:not(.gmode_time *):not(.gmode_time),
.gm_nt:not(.gmode_rev2 *):not(.gmode_line *):not(.gmode_rev2):not(.gmode_line) {display: none !important;}
.gmode_rev2 .gm_none, .gmode_line .gm_none, .gmode_time .gm_none {display: none !important;}
/* ①② 에서는 기존(③) 범례 · 내방객 범례 · 사이드 안내 문구를 숨김 (새 범례/안내가 그 자리에 보임) */
.gmode_rev2 .gf_legend.gm_rev2 ~ .gf_legend:not(.gm_rev2):not(.gm_line),
.gmode_line .gf_legend.gm_line ~ .gf_legend:not(.gm_rev2):not(.gm_line),
.gmode_rev2 .gf_vlegend.gm_rev2 ~ .gf_vlegend:not(.gm_rev2):not(.gm_line),
.gmode_line .gf_vlegend.gm_line ~ .gf_vlegend:not(.gm_rev2):not(.gm_line),
.gmode_rev2 #gf_selInfo + p:not(.gf_help),
.gmode_line #gf_selInfo + p:not(.gf_help) {display: none !important;}
/* ① 2차예약형 : 온라인 예약불가/가능 버튼 숨김 (VB GolfManager 10516) */
.gmode_rev2 #btnOnlineOff, .gmode_rev2 #btnOnlineOn {display: none !important;}
/* ①② : 타석설정 [타석 정보] 표의 예약단위(GTimeCnt) 열 숨김 — 값은 그대로 저장 (M.8) */
.gmode_rev2 .gs_coltime, .gmode_line .gs_coltime {display: none !important;}
/* 1차예약(녹색) / 2차예약(보라) — 칸 첫 줄·범례·내방객 버튼 공통 (레슨 #1be740 과 구분되는 청록 계열 녹색) */
.r1 {background-color: #00c000;}	/* VB frmTbGolfUseList lblUseR1 &H0000C000& */
.r2 {background-color: #5248ce; color: #fff;}	/* VB lblUseR2 &H00CE4852& (BGR) */
.vtee.r1, .vtee.r2 {color: #000;}
/* 칸 배지 : 1차 hh:mm / 2차 hh:mm / 대기 n (기존 .badge-rev 와 같은 모양) */
.badge-r1, .badge-r2, .badge-q {display: inline-block; padding: 0 6px; font-size: 11px; line-height: 18px; border-radius: 9px; color: #000; font-weight: bold; white-space: nowrap;}
.badge-r1, .badge-q {background: #3cc48a;}
.badge-r2 {background: #b48cf2;}
#golfGrid .lokerbox li .badge-r1 + .badge-r2 {margin-left: 2px;}
@media (max-width: 1366px) {
	#golfGrid .lokerbox .badge-r1, #golfGrid .lokerbox .badge-r2, #golfGrid .lokerbox .badge-q {padding: 0 3px; font-size: 10px; letter-spacing: -.5px;}
}
/* ① 2차예약형 칸 4줄 (2026-10-21 수정) : 1차·2차 배지 두 개가 칸 폭에 안 들어가면 잘리지 않고 2단으로 내려감
   (칸 높이는 같은 줄 칸끼리 함께 늘어남, 한 개만 있거나 폭이 넉넉하면 기존처럼 한 줄 25px) */
.gmode_rev2 #golfGrid {align-items: stretch;}
.gmode_rev2 #golfGrid .lokerbox li:nth-child(4) {display: flex; flex-wrap: wrap; justify-content: center; align-content: center; gap: 1px 2px; height: auto; min-height: 25px; white-space: normal; overflow: visible;}
.gmode_rev2 #golfGrid .lokerbox li:nth-child(4) .badge-r1, .gmode_rev2 #golfGrid .lokerbox li:nth-child(4) .badge-r2 {flex: none; margin: 0; max-width: 100%; line-height: 17px; overflow: hidden; text-overflow: ellipsis;}
@media (max-width: 1366px) {
	.gmode_rev2 #golfGrid .lokerbox li:nth-child(4) {padding: 2px 2px;}
	.gmode_rev2 #golfGrid .lokerbox li:nth-child(4) .badge-r1, .gmode_rev2 #golfGrid .lokerbox li:nth-child(4) .badge-r2 {padding: 0 3px; line-height: 15px; letter-spacing: -.5px;}
}
/* 타이틀 옆 운영 모드 배지 #golfModeBadge */
.gf_modebadge {display: inline-block; margin-left: 10px; padding: 1px 10px; font-size: 12px; line-height: 20px; font-weight: bold; vertical-align: middle; color: #fff; background: #858796; border-radius: 10px; white-space: nowrap;}
.gf_modebadge b {font-weight: bold;}
.gmode_rev2 .gf_modebadge {background: #7a4fd0;}
.gmode_line .gf_modebadge {background: #1f9d68;}
.gmode_time .gf_modebadge {background: #4e73df;}
/* 배정 창 단계 라벨 #revStage (①②) */
.gf_revstage {margin: 8px 0 0; padding: 6px 10px; font-size: 15px; font-weight: bold; text-align: center; color: #1f3a89; background: #eef2fc; border: 1px solid #c9d4f5; border-radius: 3px;}
.gf_revstage.st1 {color: #0f6b44; background: #e6f7ef; border-color: #3cc48a;}
.gf_revstage.st2 {color: #4b2a96; background: #f1eafd; border-color: #b48cf2;}
.gf_revstage.stq {color: #0f6b44; background: #e6f7ef; border-color: #3cc48a;}
.gf_revstage .gf_revqno {margin-left: 6px; font-size: 13px; color: #c30303;}
/* ② 빈 시간 선택 #modalGolfGap / ②③ 행 선택 #modalGolfRows */
#modalGolfGap, #modalGolfRows {width: 560px; max-width: 94%; height: auto; max-height: 90vh;}
#gapBody tr.gf_off td, #rowsBody tr.gf_off td {color: #9a9a9a;}
#gapBody tr.gf_off, #rowsBody tr.gf_off {cursor: default;}
.gf_gapbt .save_bt {white-space: nowrap;}
@media (max-width: 600px) {
	.gf_gapbt .save_bt {width: auto; padding-left: 10px; padding-right: 10px;}
}
/* ② 대기 목록 팝오버 #golfQueue (position:fixed, JS 가 left/top 지정) */
.gf_queue {position: fixed; z-index: 1040; width: 340px; max-width: calc(100vw - 16px); background: #fff; border: 1px solid #4e73df; border-radius: 4px; box-shadow: 0 4px 14px rgba(0,0,0,.25); font-size: 13px;}
.gf_queue .gf_qhead {display: flex; align-items: center; justify-content: space-between; padding: 6px 10px; color: #fff; background: #4e73df; border-radius: 3px 3px 0 0;}
.gf_queue .gf_qclose {color: #fff; font-size: 16px; line-height: 1; text-decoration: none;}
.gf_queue .gf_qbody {max-height: 260px; overflow-y: auto;}
.gf_queue table {width: 100%; margin: 0;}
.gf_queue th, .gf_queue td {padding: 4px 6px; text-align: center; white-space: nowrap;}
.gf_queue td:nth-child(3) {text-align: left; overflow: hidden; text-overflow: ellipsis; max-width: 110px;}
.gf_queue tr.gf_gap td {color: #8a8a8a; font-style: italic; background: #f7f7f7;}
.gf_queue .gf_qfoot {display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 6px 10px; background: #f5f5f5; border-top: 1px solid #ddd; border-radius: 0 0 3px 3px;}
.gf_queue .gf_qfoot .basic_bt01 {margin: 0; padding: 2px 12px; font-size: 12px;}
/* ① 단계 목록 #gf_stageList (사이드, 선택 타석) */
.gf_stagelist {margin: 8px 0 0; padding: 6px 10px; list-style: none; font-size: 13px; background: #fff; border: 1px solid #ddd; border-radius: 3px;}
.gf_stagelist li {padding: 3px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.gf_stagelist li + li {border-top: 1px dashed #e3e3e3;}
.gf_stagelist li .badge-use, .gf_stagelist li .badge-r1, .gf_stagelist li .badge-r2 {margin-right: 4px; min-width: 52px; text-align: center;}
.gf_stagelist li.gf_none {color: #9a9a9a;}
/* 타석설정 [운영 모드] 카드 #cardGolfMode */
.gs_mode {padding: 10px 12px 8px;}
.gs_modenow {display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 14px;}
.gs_modenow .gs_modename {font-size: 16px; color: #1f3a89;}
.gs_modenow .gs_modekeys {color: #555; font-size: 13px;}
.gs_modenow .gs_modebusy {margin-left: auto; font-size: 13px; font-weight: bold; color: #c30303;}
.gs_modewarn {margin: 8px 0 0;}
.gs_modelist {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none;}
.gs_modelist li {position: relative; padding: 8px 10px 8px 34px; border: 1px solid #d1d3e2; border-radius: 4px; background: #f8f9fc;}
.gs_modelist li .form-check-input {position: absolute; left: 12px; top: 11px; margin: 0;}
.gs_modelist li label {display: block; margin: 0; cursor: pointer; font-size: 14px; line-height: 1.45;}
.gs_modelist li label em {display: block; font-style: normal; font-size: 13px; color: #555; word-break: keep-all;}
.gs_modelist .gs_modekey {margin-left: 4px; font-size: 11px; color: #777; white-space: nowrap;}
.gs_modelist .gs_modetime {display: block; font-size: 12px; color: #1f3a89;}
.gs_modelist .gs_modetime:empty {display: none;}
.gs_modelist li:has(.form-check-input:checked) {background: #eef2fc; border-color: #4e73df; box-shadow: 0 0 0 1px #4e73df inset;}
.gs_modenote {margin: 6px 0 0; font-size: 12px; color: #777;}
@media (max-width: 991px) {
	.gs_modelist {grid-template-columns: minmax(0, 1fr);}
	.gs_modenow .gs_modebusy {margin-left: 0;}
}
/* 운영 모드 변경 확인 #modalGolfModeConfirm (기초설정 확인창 .cfg_modal · .cfg_risk_box 재사용) */
#modalGolfModeConfirm {width: 560px; max-width: 94%;}
.gs_mcchg {display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px; font-size: 16px; font-weight: bold; background: #f5f5f5; border-radius: 3px;}
.gs_mcchg .gs_mcfrom {color: #777;}
.gs_mcchg .gs_mcto {color: #1f3a89;}
.gs_mcchg i {color: #c30303;}
.gs_mckeys {margin: 6px 0 0; text-align: center; font-size: 13px; color: #555;}
