@charset "utf-8";
/* Horizontal Align */
.xm .pull-right{float:right}
.xm .pull-left{float:left}
/* DL Horizontal */
.xm .dl-horizontal{*zoom:1}
.xm .dl-horizontal:before,
.xm .dl-horizontal:after{display:table;line-height:0;content:""}
.xm .dl-horizontal:after{clear:both}
.xm .dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.xm .dl-horizontal dd{margin-left:180px}
/* Form Control Reset */
.xm form{margin:0 0 20px}
.xm fieldset{padding:0;margin:0;border:0}
.xm label,
.xm input,
.xm button,
.xm select,
.xm textarea{font-weight:normal;line-height:20px}
.xm label{display:block;margin-bottom:5px}
.xm label.x_inline{display:inline-block;margin-right:12px}
.xm select,
.xm textarea,
.xm input[type="text"],
.xm input[type="password"],
.xm input[type="datetime"],
.xm input[type="datetime-local"],
.xm input[type="date"],
.xm input[type="month"],
.xm input[type="time"],
.xm input[type="week"],
.xm input[type="number"],
.xm input[type="email"],
.xm input[type="url"],
.xm input[type="search"],
.xm input[type="tel"],
.xm input[type="color"]{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;line-height:20px;color:#555555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}
.xm input,
.xm textarea{width:206px}
.xm textarea{height:auto}
.xm textarea,
.xm input[type="text"],
.xm input[type="password"],
.xm input[type="datetime"],
.xm input[type="datetime-local"],
.xm input[type="date"],
.xm input[type="month"],
.xm input[type="time"],
.xm input[type="week"],
.xm input[type="number"],
.xm input[type="email"],
.xm input[type="url"],
.xm input[type="search"],
.xm input[type="tel"],
.xm input[type="color"]{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear 0.2s, box-shadow linear 0.2s;-moz-transition:border linear 0.2s, box-shadow linear 0.2s;-o-transition:border linear 0.2s, box-shadow linear 0.2s;transition:border linear 0.2s, box-shadow linear 0.2s}
.xm textarea:focus,
.xm input[type="text"]:focus,
.xm input[type="password"]:focus,
.xm input[type="datetime"]:focus,
.xm input[type="datetime-local"]:focus,
.xm input[type="date"]:focus,
.xm input[type="month"]:focus,
.xm input[type="time"]:focus,
.xm input[type="week"]:focus,
.xm input[type="number"]:focus,
.xm input[type="email"]:focus,
.xm input[type="url"]:focus,
.xm input[type="search"]:focus,
.xm input[type="tel"]:focus,
.xm input[type="color"]:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6)}
.xm input[type="radio"],
.xm input[type="checkbox"]{margin:0;line-height:normal}
.xm input[type="file"],
.xm input[type="image"],
.xm input[type="submit"],
.xm input[type="reset"],
.xm input[type="button"],
.xm input[type="radio"],
.xm input[type="checkbox"]{width:auto}
.xm select,
.xm input[type="file"]{height:30px;*margin-top:4px;line-height:30px}
.xm select{background-color:#ffffff;border:1px solid #cccccc}
.xm select[multiple],
.xm select[size]{height:auto}
.xm select:focus,
.xm input[type="file"]:focus,
.xm input[type="radio"]:focus,
.xm input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
.xm input:-moz-placeholder, 
.xm textarea:-moz-placeholder {color:#999999}
.xm input:-ms-input-placeholder, 
.xm textarea:-ms-input-placeholder {color:#999999}
.xm input::-webkit-input-placeholder, 
.xm textarea::-webkit-input-placeholder {color:#999999}
.xm input,
.xm textarea{margin-left:0}
.xm input[disabled],
.xm select[disabled],
.xm textarea[disabled],
.xm input[readonly],
.xm select[readonly],
.xm textarea[readonly]{cursor:not-allowed;background-color:#eeeeee}
.xm input[type="radio"][disabled],
.xm input[type="checkbox"][disabled],
.xm input[type="radio"][readonly],
.xm input[type="checkbox"][readonly]{background-color:transparent}
.xm input:focus:invalid, 
.xm textarea:focus:invalid, 
.xm select:focus:invalid {color:#b94a48;border-color:#ee5f5b}
.xm input:focus:invalid:focus, 
.xm textarea:focus:invalid:focus, 
.xm select:focus:invalid:focus {border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}
/* Forms */
.xm .form-horizontal .control-group{margin-bottom:20px;*zoom:1}
.xm .form-horizontal .control-group:before,
.xm .form-horizontal .control-group:after{display:table;line-height:0;content:""}
.xm .form-horizontal .control-group:after{clear:both}
.xm .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}
.xm .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}
.xm .form-horizontal .controls:first-child{*padding-left:180px}
.xm .form-horizontal .help-block{margin-bottom:0}
.xm .form-horizontal input+.help-block,
.xm .form-horizontal select+.help-block,
.xm .form-horizontal textarea+.help-block,
.xm .form-horizontal .input-prepend+.help-block,
.xm .form-horizontal .input-append+.help-block{margin-top:10px}
.xm .help-block,
.xm .help-inline{color:#595959}
.xm .help-block{display:block;margin-bottom:10px}
.xm .help-inline{margin:0;display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}
.xm .input-append,
.xm .input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}
.xm .input-append input,
.xm .input-prepend input,
.xm .input-append select,
.xm .input-prepend select{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
.xm .input-append input:focus,
.xm .input-prepend input:focus,
.xm .input-append select:focus,
.xm .input-prepend select:focus{z-index:2}
.xm .input-append .add-on,
.xm .input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc}
.xm .input-append .add-on,
.xm .input-prepend .add-on,
.xm .input-append .btn,
.xm .input-prepend .btn{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}
.xm .input-append .active,
.xm .input-prepend .active{background-color:#a9dba9;border-color:#46a546}
.xm .input-prepend .add-on,
.xm .input-prepend .btn{margin-right:-1px}
.xm .input-prepend .add-on:first-child,
.xm .input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}
.xm .input-append input,
.xm .input-append select{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}
.xm .input-append input+.btn-group .btn:last-child,
.xm .input-append select+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
.xm .input-append .add-on,
.xm .input-append .btn,
.xm .input-append .btn-group{margin-left:-1px}
.xm .input-append .add-on:last-child,
.xm .input-append .btn:last-child,
.xm .input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
.xm .input-prepend.input-append input,
.xm .input-prepend.input-append select{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}
.xm .input-prepend.input-append input+.btn-group .btn,
.xm .input-prepend.input-append select+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
.xm .input-prepend.input-append .add-on:first-child,
.xm .input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}
.xm .input-prepend.input-append .add-on:last-child,
.xm .input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}
.xm .input-prepend.input-append .btn-group:first-child{margin-left:0}
.xm .form-horizontal input,
.xm .form-horizontal textarea,
.xm .form-horizontal select,
.xm .form-horizontal .help-inline,
.xm .form-horizontal .input-prepend,
.xm .form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}
.xm .form-horizontal .hide{display:none}
.xm .control-group{margin-bottom:10px}
/* Tabs */
.xm .nav{margin:0 0 20px 0;padding:0;list-style:none}
.xm .nav>li>a{display:block}
.xm .nav>li>a:hover,
.xm .nav>li>a:focus{text-decoration:none;background-color:#eeeeee}
.xm .nav-tabs{*zoom:1}
.xm .nav-tabs:before,
.xm .nav-tabs:after{display:table;line-height:0;content:""}
.xm .nav-tabs:after{clear:both}
.xm .nav-tabs>li{float:left}
.xm .nav-tabs>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}
.xm .nav-tabs{border-bottom:1px solid #ddd}
.xm .nav-tabs>li{margin-bottom:-1px}
.xm .nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}
.xm .nav-tabs>li>a:hover,
.xm .nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #dddddd}
.xm .nav-tabs>.active>a,
.xm .nav-tabs>.active>a:hover,
.xm .nav-tabs>.active>a:focus{color:#555555;cursor:default;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent}
/* Table */
.xm .table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:20px}
.xm .table th,
.xm .table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd}
.xm .table th{font-weight:bold}
.xm .table thead th{vertical-align:bottom}
.xm .table caption+thead tr:first-child th,
.xm .table caption+thead tr:first-child td,
.xm .table colgroup+thead tr:first-child th,
.xm .table colgroup+thead tr:first-child td,
.xm .table thead:first-child tr:first-child th,
.xm .table thead:first-child tr:first-child td{border-top:0}
.xm .table tbody+tbody{border-top:2px solid #dddddd}
.xm .table-striped tbody>tr:nth-child(odd)>td,
.xm .table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
.xm .table-hover tbody tr:hover>td,
.xm .table-hover tbody tr:hover>th{background-color:#f5f5f5}
/* Pangination */
.xm .pagination{margin:20px 0}
.xm .pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05)}
.xm .pagination ul>li{display:inline}
.xm .pagination ul>li>a,
.xm .pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0}
.xm .pagination ul>li>a:hover,
.xm .pagination ul>li>a:focus,
.xm .pagination ul>.active>a,
.xm .pagination ul>.active>span{background-color:#f5f5f5}
.xm .pagination ul>.active>a,
.xm .pagination ul>.active>span{color:#999999;cursor:default}
.xm .pagination ul>.disabled>span,
.xm .pagination ul>.disabled>a,
.xm .pagination ul>.disabled>a:hover,
.xm .pagination ul>.disabled>a:focus{color:#999999;cursor:default;background-color:transparent}
.xm .pagination ul>li:first-child>a,
.xm .pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}
.xm .pagination ul>li:last-child>a,
.xm .pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}
.xm .pagination-centered{text-align:center}
/* Member module customize */
.xm,
.xm input,
.xm textarea,
.xm select,
.xm button,
.xm table{font-size:13px}
.xm em{font-style:normal;color:#f00}
.xm h1{font-size:22px}
.xm .nav a,
.xm .btn{text-decoration:none}
.xm .dl-horizontal>dd{margin-bottom:10px}
.xm .table{border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.xm .table>caption{text-align:left;font-weight:bold}
.xm .table>caption>.pull-right{position:relative;top:-8px}
.xm .signin{width:400px;margin:30px auto;background-color:#ffffff;border:1px solid #999;border-radius:6px;box-shadow:0 3px 7px #ccc;box-sizing:border-box}
.xm .signin>.login-header{padding:9px 15px;border-bottom:1px solid #eee}
.xm .signin>.login-header>h1{margin:0;font-size:16px;line-height:1.4;font-weight:600;color:#666}
.xm .signin>.login-header>h1>i{opacity:.5;filter:alpha(opacity=50);margin:2px 0 0 0}
.xm .signin>.login-body{max-height:400px;padding:15px}
.xm .signin>.login-body>*:first-child{margin-top:0}
.xm .signin>.login-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;color:#ccc}
.xm .signin>.login-footer:before,
.xm .signin>.login-footer:after{display:table;line-height:0;content:"";clear:both}
.xm .signin>.login-footer>a{text-decoration:none}
.xm .signin>.login-footer>a:hover,
.xm .signin>.login-footer>a:active,
.xm .signin>.login-footer>a:focus{text-decoration:underline}
.xm .signin .control-group{position:relative;padding:0 14px 0 0;margin:0;clear:both}
.xm .signin .control-group:before{content:"";display:block;clear:both}
.xm .signin .captcha{margin-bottom:10px}
.xm .signin form{margin:0}
.xm .signin fieldset{margin:0}
.xm .signin label{cursor:pointer;display:inline-block}
.xm .signin input[type="text"],
.xm .signin input[type="email"],
.xm .signin input[type="password"]{width:100%}
.xm .signin input[type="checkbox"]{margin:0}
.xm .signin .btn{border-radius:2px;overflow:visible;font-size:14px;line-height:18px;padding:3px 9px}
.xm .signin .submit{position:absolute;top:0;right:0}
.xm .signin #warning{margin-right:-14px}
.xm .signin #warning>p{margin:10px 0}
.xm .agreement{border:1px solid #ddd;padding:15px 15px 10px 15px;border-radius:5px;background:#f8f8f8;margin-bottom:15px}
.xm .agreement>.title{padding: 0 0 10px 0;margin:0 0 10px 0;border-bottom:1px dotted #ccc; font-size:16px;font-weight:bold}
.xm .agreement>.text{max-height:200px;overflow:auto}
.xm .agreement>.confirm{padding:10px 0 0 0;margin:10px 0 0 0;border-top:1px dotted #ccc}
@media all and (max-width:480px){.xm .signin{margin:0;width:100%}}
@media all and (min-width:768px){.xm .dl-horizontal>dt{margin-bottom:10px}}


/* =========================================================
   KSMS MEMBER SKIN
   ========================================================= */
.ksms-member{
	--ksms-member-main:#159a92;
	--ksms-member-dark:#0b625e;
	--ksms-member-soft:#eff9f8;
	--ksms-member-line:#d7e8e6;
	--ksms-member-text:#2d3433;
	--ksms-member-muted:#7d8785;
	width:100%;
	box-sizing:border-box;
	font-family:"Pretendard","Noto Sans KR",sans-serif;
	color:var(--ksms-member-text);
}
.ksms-member *{box-sizing:border-box}
.ksms-member-layout{
	display:grid;
	grid-template-columns:224px minmax(0,1fr);
	gap:34px;
	align-items:start;
	width:100%;
}
.ksms-member-sidebar{
	overflow:hidden;
	border:1px solid #e1e9e8;
	border-radius:10px;
	background:#fff;
	box-shadow:0 8px 24px rgba(9,85,81,.04);
}
.ksms-member-user{
	display:flex;
	align-items:center;
	gap:12px;
	padding:21px 17px;
	background:linear-gradient(135deg,var(--ksms-member-dark),var(--ksms-member-main));
	color:#fff;
}
.ksms-member-avatar{
	width:45px;
	height:45px;
	flex:0 0 45px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	border:2px solid rgba(255,255,255,.75);
	border-radius:50%;
	background:rgba(255,255,255,.16);
	font-size:12px;
	font-weight:900;
}
.ksms-member-avatar img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.ksms-member-greeting{
	min-width:0;
}
.ksms-member-greeting small{
	display:block;
	margin-bottom:2px;
	font-size:11px;
	opacity:.82;
}
.ksms-member-greeting strong{
	display:block;
	overflow:hidden;
	color:#fff;
	font-size:15px;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.ksms-member-side-title{
	padding:15px 17px 9px;
	color:#3a4442;
	font-size:14px;
	font-weight:850;
}
.ksms-member-side-menu{
	list-style:none;
	margin:0 !important;
	padding:0 9px 12px !important;
	border:0 !important;
}
.ksms-member-side-menu li{
	float:none !important;
	margin:0 0 3px !important;
}
.ksms-member-side-menu li a{
	min-height:38px;
	display:flex !important;
	align-items:center;
	gap:10px;
	padding:0 11px !important;
	border:0 !important;
	border-radius:6px !important;
	background:transparent !important;
	color:#596260 !important;
	font-size:12px;
	font-weight:700;
	line-height:1.35 !important;
	text-decoration:none !important;
}
.ksms-member-side-menu li a:hover{
	background:#f5f9f8 !important;
	color:var(--ksms-member-dark) !important;
}
.ksms-member-side-menu li.active a{
	background:var(--ksms-member-main) !important;
	color:#fff !important;
	box-shadow:0 4px 10px rgba(21,154,146,.15);
}
.ksms-member-menu-dot{
	width:5px;
	height:5px;
	flex:0 0 5px;
	border-radius:50%;
	background:#b8c4c2;
}
.ksms-member-side-menu li.active .ksms-member-menu-dot{
	background:#fff;
}
.ksms-member-content{
	min-width:0;
}
.ksms-member-single{
	width:100%;
}

/* 기존 상단 탭이 혹시 다른 템플릿에서 남아 있어도 숨김 */
.ksms-member>.nav-tabs,
.ksms-member-content>.nav-tabs{
	display:none !important;
}

.ksms-member-panel{
	overflow:hidden;
	border:1px solid #e3e8e7;
	border-radius:11px;
	background:#fff;
	box-shadow:0 8px 28px rgba(0,0,0,.025);
}
.ksms-member-panel-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:76px;
	padding:18px 24px;
	border-bottom:2px solid var(--ksms-member-main);
}
.ksms-member-eyebrow{
	display:block;
	margin-bottom:3px;
	color:var(--ksms-member-main);
	font-size:9px;
	font-weight:900;
	letter-spacing:1.6px;
}
.ksms-member-panel h1,
.ksms-member-content>h1{
	margin:0;
	color:#252b2a;
	font-size:21px;
	line-height:1.3;
	font-weight:850;
	letter-spacing:-.7px;
}
.ksms-member-info-list{
	display:grid;
	grid-template-columns:150px minmax(0,1fr);
	margin:0 !important;
	padding:8px 24px 15px;
}
.ksms-member-info-list dt,
.ksms-member-info-list dd{
	float:none !important;
	width:auto !important;
	min-height:43px;
	display:flex;
	align-items:center;
	margin:0 !important;
	padding:9px 12px;
	border-bottom:1px solid #edf0ef;
	box-sizing:border-box;
}
.ksms-member-info-list dt{
	justify-content:flex-start;
	background:#fbfcfc;
	color:#505957;
	font-size:12px;
	font-weight:800;
	text-align:left !important;
}
.ksms-member-info-list dd{
	color:#353b3a;
	font-size:12px;
}
.ksms-member-info-list .ksms-empty{
	color:#bbc1c0 !important;
}
.ksms-member-info-list em{
	margin-right:4px;
	color:#e34d43 !important;
}
.ksms-member-actions{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin:0 !important;
	padding:16px 24px 22px;
}
.ksms-member .ksms-member-actions .btn{
	min-height:37px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 13px;
	border:1px solid #d9dfde;
	border-radius:6px;
	background:#fff;
	color:#58615f;
	font-size:11px;
	font-weight:750;
	text-shadow:none;
	box-shadow:none;
}
.ksms-member .ksms-member-actions .btn:hover{
	background:#f7f9f9;
	border-color:#cdd6d4;
}
.ksms-member .ksms-member-actions .ksms-member-primary{
	border-color:var(--ksms-member-main);
	background:var(--ksms-member-main);
	color:#fff;
}
.ksms-member .ksms-member-actions .ksms-member-primary:hover{
	border-color:var(--ksms-member-dark);
	background:var(--ksms-member-dark);
	color:#fff;
}
.ksms-member .ksms-member-actions .ksms-member-danger{
	color:#a94b43;
}

/* 나머지 회원 페이지 공통 정리 */
.ksms-member-content>h1{
	margin:0 0 15px;
	padding:0 0 13px;
	border-bottom:2px solid var(--ksms-member-main);
}
.ksms-member-content .table{
	overflow:hidden;
	border:1px solid #e3e8e7;
	border-radius:8px;
	background:#fff;
}
.ksms-member-content .table th{
	background:#f8faf9;
	color:#454d4b;
}
.ksms-member-content .table td,
.ksms-member-content .table th{
	border-color:#e8edec;
	font-size:12px;
}
.ksms-member-content .btn{
	border-radius:5px;
}
.ksms-member-content input[type="text"],
.ksms-member-content input[type="email"],
.ksms-member-content input[type="password"],
.ksms-member-content input[type="search"],
.ksms-member-content select,
.ksms-member-content textarea{
	border-color:#d9dfde;
	box-shadow:none;
}
.ksms-member-content input:focus,
.ksms-member-content select:focus,
.ksms-member-content textarea:focus{
	border-color:var(--ksms-member-main);
	box-shadow:0 0 0 3px rgba(21,154,146,.08);
}
.ksms-member-content .pagination ul>.active>a,
.ksms-member-content .pagination ul>.active>span{
	background:var(--ksms-member-main);
	color:#fff;
}

/* KSMS SUB 우측 content 상단 여백과 맞춤 */
@media(min-width:901px){
	body:has(.ksms-member-layout) .ksms-sub .content,
	body:has(.ksms-member-layout) .content{
		padding-top:0 !important;
	}
}

@media(max-width:900px){
	.ksms-member-layout{
		grid-template-columns:1fr;
		gap:20px;
	}
	.ksms-member-sidebar{
		border-radius:9px;
	}
	.ksms-member-side-menu{
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:4px;
	}
	.ksms-member-side-menu li{
		margin:0 !important;
	}
}
@media(max-width:560px){
	.ksms-member-user{
		padding:17px 14px;
	}
	.ksms-member-side-menu{
		grid-template-columns:1fr;
	}
	.ksms-member-panel-head{
		min-height:auto;
		padding:16px;
	}
	.ksms-member-info-list{
		grid-template-columns:1fr;
		padding:4px 15px 12px;
	}
	.ksms-member-info-list dt{
		min-height:auto;
		padding:11px 8px 3px;
		border-bottom:0;
		background:#fff;
		color:#7a8381;
	}
	.ksms-member-info-list dd{
		min-height:35px;
		padding:3px 8px 10px;
	}
	.ksms-member-actions{
		display:grid;
		grid-template-columns:1fr 1fr;
		padding:14px 15px 18px;
	}
}


/* =========================================================
   KSMS MEMBER SIGNUP v1.1
   ========================================================= */
.ksms-signup-panel{
	overflow:hidden;
	max-width:980px;
	margin:0 auto;
	border:1px solid #e3e8e7;
	border-radius:12px;
	background:#fff;
	box-shadow:0 10px 32px rgba(0,0,0,.03);
}
.ksms-signup-head{
	padding:24px 28px 20px;
	border-bottom:2px solid var(--ksms-member-main);
	background:linear-gradient(135deg,#fff 0%,#f7fbfa 100%);
}
.ksms-signup-head h1{
	margin:0;
	color:#252b2a;
	font-size:25px;
	line-height:1.3;
	font-weight:850;
	letter-spacing:-1px;
}
.ksms-signup-head p{
	margin:7px 0 0;
	color:#7b8583;
	font-size:12px;
	line-height:1.6;
}
.ksms-signup-body{
	padding:22px 28px 28px;
}
.ksms-signup-form,
.ksms-signup-form-inner{
	margin:0;
}
.ksms-signup-form .control-group{
	display:grid;
	grid-template-columns:150px minmax(0,1fr);
	align-items:center;
	min-height:54px;
	margin:0 !important;
	padding:0;
	border-bottom:1px solid #edf0ef;
}
.ksms-signup-form .control-label{
	width:auto !important;
	margin:0 !important;
	padding:0 15px 0 0 !important;
	color:#4e5856;
	font-size:12px;
	font-weight:800;
	text-align:right;
}
.ksms-signup-form .controls{
	margin-left:0 !important;
	padding:8px 0;
}
.ksms-signup-form input[type="text"],
.ksms-signup-form input[type="email"],
.ksms-signup-form input[type="password"],
.ksms-signup-form input[type="url"],
.ksms-signup-form input[type="tel"],
.ksms-signup-form input[type="date"],
.ksms-signup-form select{
	width:100%;
	max-width:420px;
	height:40px;
	box-sizing:border-box;
	padding:0 12px;
	border:1px solid #d8dfdd;
	border-radius:7px;
	background:#fff;
	color:#303735;
	font-size:12px;
	box-shadow:none;
}
.ksms-signup-form textarea{
	width:100%;
	max-width:620px;
	min-height:100px;
	box-sizing:border-box;
	padding:10px 12px;
	border:1px solid #d8dfdd;
	border-radius:7px;
	box-shadow:none;
}
.ksms-signup-form input:focus,
.ksms-signup-form select:focus,
.ksms-signup-form textarea:focus{
	border-color:var(--ksms-member-main);
	box-shadow:0 0 0 3px rgba(21,154,146,.08);
	outline:none;
}
.ksms-signup-form .help-block,
.ksms-signup-form .help-inline,
.ksms-signup-form .description{
	display:inline-block;
	margin:5px 0 0 10px;
	color:#8a9391;
	font-size:11px;
	line-height:1.5;
}
.ksms-signup-form .required,
.ksms-signup-form em{
	color:#e05247;
	font-style:normal;
}
.ksms-signup-form input[type="radio"],
.ksms-signup-form input[type="checkbox"]{
	accent-color:var(--ksms-member-main);
}
.ksms-signup-form label.radio,
.ksms-signup-form label.checkbox,
.ksms-signup-form .radio,
.ksms-signup-form .checkbox{
	margin-right:14px;
	color:#56605e;
	font-size:12px;
}
.ksms-signup-actions{
	display:flex;
	justify-content:flex-end;
	gap:8px;
	margin:22px 0 0 !important;
	padding-top:18px;
	border-top:1px solid #e9edec;
}
.ksms-signup-actions .btn{
	min-width:92px;
	height:40px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 17px;
	border:1px solid #d7dfdd;
	border-radius:7px;
	background:#fff;
	color:#5c6664;
	font-size:12px;
	font-weight:800;
	box-shadow:none;
	text-shadow:none;
}
.ksms-signup-actions .btn:hover{
	background:#f7faf9;
}
.ksms-signup-actions .ksms-signup-primary,
.ksms-signup-actions .btn-primary{
	border-color:var(--ksms-member-main) !important;
	background:var(--ksms-member-main) !important;
	color:#fff !important;
}
.ksms-signup-actions .ksms-signup-primary:hover,
.ksms-signup-actions .btn-primary:hover{
	border-color:var(--ksms-member-dark) !important;
	background:var(--ksms-member-dark) !important;
}

/* 기본 테이블형 회원가입 화면도 KSMS 스타일로 흡수 */
.ksms-signup-table{
	width:100%;
	margin:0 !important;
	border-collapse:collapse;
}
.ksms-signup-table th,
.ksms-signup-table td{
	padding:10px 12px !important;
	border-color:#edf0ef !important;
	vertical-align:middle;
}
.ksms-signup-table th{
	width:150px;
	background:#fbfcfc;
	color:#4e5856;
	font-size:12px;
	font-weight:800;
	text-align:right;
}
.ksms-signup-table td{
	font-size:12px;
}

@media(max-width:700px){
	.ksms-signup-head{
		padding:20px 18px 17px;
	}
	.ksms-signup-head h1{
		font-size:22px;
	}
	.ksms-signup-body{
		padding:16px 18px 22px;
	}
	.ksms-signup-form .control-group{
		grid-template-columns:1fr;
		align-items:start;
		padding:10px 0;
	}
	.ksms-signup-form .control-label{
		padding:0 0 6px !important;
		text-align:left;
	}
	.ksms-signup-form .controls{
		width:100%;
		padding:0;
	}
	.ksms-signup-form input[type="text"],
	.ksms-signup-form input[type="email"],
	.ksms-signup-form input[type="password"],
	.ksms-signup-form input[type="url"],
	.ksms-signup-form input[type="tel"],
	.ksms-signup-form input[type="date"],
	.ksms-signup-form select,
	.ksms-signup-form textarea{
		max-width:none;
	}
	.ksms-signup-form .help-block,
	.ksms-signup-form .help-inline,
	.ksms-signup-form .description{
		display:block;
		margin:6px 0 0;
	}
	.ksms-signup-actions{
		display:grid;
		grid-template-columns:1fr 1fr;
	}
	.ksms-signup-actions .btn{
		width:100%;
	}
}


/* =========================================================
   KSMS MEMBER SIGNUP v1.2
   항목명 | 입력칸 | 안내문구 3열 구조
   ========================================================= */

/* v1.1의 2열 레이아웃을 3열로 재정의 */
.ksms-signup-form .control-group{
	display:grid !important;
	grid-template-columns:150px minmax(320px, 500px) minmax(220px, 1fr) !important;
	align-items:center !important;
	column-gap:18px;
	min-height:58px;
	padding:8px 0 !important;
	border-bottom:1px solid #edf0ef;
}

/* 항목명은 왼쪽 */
.ksms-signup-form .control-label{
	grid-column:1;
	width:auto !important;
	margin:0 !important;
	padding:0 !important;
	color:#424c4a;
	font-size:12px;
	font-weight:800;
	text-align:left !important;
	justify-self:start;
}

/* 입력 영역은 가운데 */
.ksms-signup-form .controls,
.ksms-signup-form .ksms-signup-controls{
	grid-column:2 / 4;
	display:grid;
	grid-template-columns:minmax(320px, 500px) minmax(220px, 1fr);
	align-items:center;
	column-gap:18px;
	width:100%;
	margin:0 !important;
	padding:0 !important;
}

/* 실제 입력칸은 가운데 열 */
.ksms-signup-form .controls > input[type="text"],
.ksms-signup-form .controls > input[type="email"],
.ksms-signup-form .controls > input[type="password"],
.ksms-signup-form .controls > input[type="url"],
.ksms-signup-form .controls > input[type="tel"],
.ksms-signup-form .controls > input[type="date"],
.ksms-signup-form .controls > select,
.ksms-signup-form .ksms-signup-controls > input[type="text"],
.ksms-signup-form .ksms-signup-controls > input[type="email"],
.ksms-signup-form .ksms-signup-controls > input[type="password"],
.ksms-signup-form .ksms-signup-controls > input[type="url"],
.ksms-signup-form .ksms-signup-controls > input[type="tel"],
.ksms-signup-form .ksms-signup-controls > input[type="date"],
.ksms-signup-form .ksms-signup-controls > select{
	grid-column:1;
	width:100% !important;
	max-width:none !important;
	height:42px !important;
	padding:0 13px;
	border:1px solid #d8dfdd;
	border-radius:7px;
	box-sizing:border-box;
}

/* textarea */
.ksms-signup-form .controls > textarea,
.ksms-signup-form .ksms-signup-controls > textarea{
	grid-column:1;
	width:100% !important;
	max-width:none !important;
}

/* 도움말/안내문구는 오른쪽 열 */
.ksms-signup-form .controls > .help-block,
.ksms-signup-form .controls > .help-inline,
.ksms-signup-form .controls > .description,
.ksms-signup-form .controls > .ksms-signup-help,
.ksms-signup-form .ksms-signup-controls > .help-block,
.ksms-signup-form .ksms-signup-controls > .help-inline,
.ksms-signup-form .ksms-signup-controls > .description,
.ksms-signup-form .ksms-signup-controls > .ksms-signup-help{
	grid-column:2;
	display:block !important;
	margin:0 !important;
	padding:0 !important;
	color:#7d8785;
	font-size:11px;
	line-height:1.55;
	white-space:normal;
}

/* 입력칸 뒤에 순수 텍스트 노드만 있는 경우를 위한 보정:
   controls 내부 요소들이 여러 개일 때 첫 입력 후 요소는 오른쪽으로 */
.ksms-signup-form .controls > :not(input):not(select):not(textarea):not(label):not(.btn):not(.input-append):not(.input-prepend),
.ksms-signup-form .ksms-signup-controls > :not(input):not(select):not(textarea):not(label):not(.btn):not(.input-append):not(.input-prepend){
	grid-column:2;
}

/* 날짜 입력처럼 input-append 구조가 있으면 가운데 열 유지 */
.ksms-signup-form .controls > .input-append,
.ksms-signup-form .controls > .input-prepend,
.ksms-signup-form .ksms-signup-controls > .input-append,
.ksms-signup-form .ksms-signup-controls > .input-prepend{
	grid-column:1;
	width:100%;
	max-width:500px;
}

/* 라디오/체크박스 행은 가운데 열부터 사용 */
.ksms-signup-form .controls > label.radio,
.ksms-signup-form .controls > label.checkbox,
.ksms-signup-form .controls > .radio,
.ksms-signup-form .controls > .checkbox,
.ksms-signup-form .ksms-signup-controls > label.radio,
.ksms-signup-form .ksms-signup-controls > label.checkbox,
.ksms-signup-form .ksms-signup-controls > .radio,
.ksms-signup-form .ksms-signup-controls > .checkbox{
	grid-column:1 / 3;
	display:inline-flex;
	align-items:center;
	margin-right:18px;
}

/* 생일 삭제 버튼 등 보조버튼 */
.ksms-signup-form .controls > .btn,
.ksms-signup-form .ksms-signup-controls > .btn{
	grid-column:2;
	justify-self:start;
	min-height:34px;
	margin:0;
}

/* 회원가입 카드 폭을 조금 넓힘 */
.ksms-signup-panel{
	max-width:1120px;
}

/* 모바일/태블릿 */
@media(max-width:980px){
	.ksms-signup-form .control-group{
		grid-template-columns:140px minmax(260px,1fr) !important;
		column-gap:16px;
	}
	.ksms-signup-form .controls,
	.ksms-signup-form .ksms-signup-controls{
		grid-column:2;
		grid-template-columns:1fr;
		row-gap:6px;
	}
	.ksms-signup-form .controls > .help-block,
	.ksms-signup-form .controls > .help-inline,
	.ksms-signup-form .controls > .description,
	.ksms-signup-form .controls > .ksms-signup-help,
	.ksms-signup-form .ksms-signup-controls > .help-block,
	.ksms-signup-form .ksms-signup-controls > .help-inline,
	.ksms-signup-form .ksms-signup-controls > .description,
	.ksms-signup-form .ksms-signup-controls > .ksms-signup-help{
		grid-column:1;
		margin-top:2px !important;
	}
	.ksms-signup-form .controls > .btn,
	.ksms-signup-form .ksms-signup-controls > .btn{
		grid-column:1;
	}
}

@media(max-width:700px){
	.ksms-signup-form .control-group{
		grid-template-columns:1fr !important;
		padding:11px 0 !important;
	}
	.ksms-signup-form .control-label{
		grid-column:1;
		margin-bottom:7px !important;
	}
	.ksms-signup-form .controls,
	.ksms-signup-form .ksms-signup-controls{
		grid-column:1;
		grid-template-columns:1fr;
	}
}


/* KSMS MEMBER SIGNUP v1.3 - 안내문구 완성 */
.ksms-signup-choice-group{
	grid-column:1;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px 18px;
	min-height:42px;
}
.ksms-signup-choice-group label{
	display:inline-flex;
	align-items:center;
	gap:5px;
	margin:0 !important;
	color:#56605e;
	font-size:12px;
}
.ksms-signup-form .ksms-signup-controls > .ksms-signup-choice-group + .ksms-signup-help{
	grid-column:2 !important;
}
@media(max-width:980px){
	.ksms-signup-form .ksms-signup-controls > .ksms-signup-choice-group + .ksms-signup-help{
		grid-column:1 !important;
	}
}


/* =========================================================
   KSMS MEMBER SIGNUP v1.4 - 약관/개인정보 확인 절차
   ========================================================= */
.ksms-consent-section{
	margin:0 0 28px;
	padding:22px;
	border:1px solid #dfe8e6;
	border-radius:10px;
	background:#f9fcfb;
}
.ksms-consent-heading{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:16px;
}
.ksms-consent-step{
	display:block;
	margin-bottom:5px;
	color:var(--ksms-member-main);
	font-size:9px;
	font-weight:900;
	letter-spacing:1.5px;
}
.ksms-consent-heading h2,
.ksms-signup-section-title h2{
	margin:0;
	color:#29312f;
	font-size:17px;
	line-height:1.35;
	font-weight:850;
	letter-spacing:-.5px;
}
.ksms-consent-heading p{
	margin:5px 0 0;
	color:#7f8987;
	font-size:11px;
	line-height:1.55;
}
.ksms-consent-all{
	flex:0 0 auto;
	display:inline-flex !important;
	align-items:center;
	gap:7px;
	margin:0 !important;
	padding:9px 12px;
	border:1px solid #cfe2df;
	border-radius:7px;
	background:#fff;
	color:var(--ksms-member-dark);
	font-size:12px;
	font-weight:850 !important;
	cursor:pointer;
}
.ksms-consent-all input,
.ksms-consent-check input{
	width:16px !important;
	height:16px !important;
	margin:0 !important;
	flex:0 0 16px;
}
.ksms-consent-list{
	display:grid;
	gap:10px;
}
.xm .ksms-consent-card{
	margin:0;
	padding:0;
	border:1px solid #dfe7e5;
	border-radius:8px;
	background:#fff;
	overflow:hidden;
}
.ksms-consent-card-head{
	min-height:52px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:11px 14px;
}
.ksms-consent-check{
	min-width:0;
	display:flex !important;
	align-items:center;
	gap:8px;
	margin:0 !important;
	cursor:pointer;
}
.ksms-consent-title{
	overflow:hidden;
	color:#3c4543;
	font-size:12px;
	font-weight:800;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.ksms-consent-badge{
	display:inline-flex;
	align-items:center;
	height:21px;
	padding:0 7px;
	border-radius:10px;
	font-size:9px;
	font-weight:900;
}
.ksms-consent-badge.required{
	background:#eaf7f5;
	color:var(--ksms-member-dark);
}
.ksms-consent-badge.optional{
	background:#f0f2f2;
	color:#7f8886;
}
.ksms-consent-toggle{
	flex:0 0 auto;
	height:30px;
	padding:0 10px;
	border:1px solid #d7e0de;
	border-radius:6px;
	background:#fff;
	color:#687270;
	font-size:10px;
	font-weight:800;
	cursor:pointer;
}
.ksms-consent-toggle:hover{
	border-color:#bcd5d1;
	background:#f6fbfa;
	color:var(--ksms-member-dark);
}
.xm .ksms-consent-card>.ksms-consent-content{
	display:none;
	max-height:240px;
	overflow:auto;
	margin:0;
	padding:16px 17px;
	border-top:1px solid #e8edec;
	background:#fbfcfc;
	color:#606966;
	font-size:11px;
	line-height:1.75;
}
.xm .ksms-consent-card>.ksms-consent-content.is-open{
	display:block;
}
.ksms-consent-content p,
.ksms-consent-content div,
.ksms-consent-content li{
	font-size:11px;
	line-height:1.75;
}
.ksms-consent-guide{
	display:flex;
	gap:10px;
	margin-top:12px;
	padding:11px 13px;
	border-radius:7px;
	background:#eef7f6;
}
.ksms-consent-guide strong{
	flex:0 0 auto;
	color:var(--ksms-member-dark);
	font-size:10px;
	font-weight:900;
}
.ksms-consent-guide p{
	margin:0;
	color:#66716f;
	font-size:10px;
	line-height:1.6;
}
.ksms-signup-section-title{
	margin:2px 0 7px;
	padding:2px 0 12px;
	border-bottom:2px solid #36413f;
}
@media(max-width:700px){
	.ksms-consent-section{
		padding:17px 15px;
	}
	.ksms-consent-heading{
		align-items:flex-start;
		flex-direction:column;
		gap:12px;
	}
	.ksms-consent-all{
		align-self:stretch;
		justify-content:center;
	}
	.ksms-consent-card-head{
		align-items:flex-start;
	}
	.ksms-consent-check{
		align-items:flex-start;
		flex-wrap:wrap;
	}
	.ksms-consent-title{
		max-width:calc(100% - 25px);
		white-space:normal;
	}
}


/* =========================================================
   KSMS MEMBER SIGNUP v1.5 - 독립 약관 팝업 확인
   ========================================================= */
.ksms-native-agreements{
	position:absolute !important;
	left:-99999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
}
.ksms-policy-checklist{display:grid;gap:10px}
.ksms-policy-row{
	display:flex;align-items:center;justify-content:space-between;gap:18px;
	min-height:76px;padding:14px 15px;border:1px solid #dfe7e5;border-radius:9px;background:#fff;
	transition:border-color .18s ease,background-color .18s ease;
}
.ksms-policy-row.is-confirmed{border-color:#a9d5ca;background:#f4fbf8}
.ksms-policy-row-main{min-width:0;display:flex;align-items:flex-start;gap:12px}
.ksms-policy-status{
	flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
	min-width:62px;height:24px;padding:0 8px;border-radius:12px;background:#eef1f0;color:#7e8986;
	font-size:9px;font-weight:900;
}
.ksms-policy-row.is-confirmed .ksms-policy-status{background:#dff3eb;color:#1f6c52}
.ksms-policy-row strong{display:block;margin:1px 0 4px;color:#34413e;font-size:12px;font-weight:900}
.ksms-policy-row p{margin:0;color:#84908c;font-size:10px;line-height:1.55}
.ksms-policy-open{
	flex:0 0 auto;height:34px;padding:0 12px;border:1px solid #cfe0dc;border-radius:7px;background:#fff;
	color:var(--ksms-member-dark);font-size:10px;font-weight:900;cursor:pointer;
}
.ksms-policy-open:hover{background:#f4faf8;border-color:#b7d3cc}
@media(max-width:700px){
	.ksms-policy-row{align-items:stretch;flex-direction:column}
	.ksms-policy-open{width:100%}
}
