﻿@charset "UTF-8";
/*font*/
@font-face{font-family:'Noto Sans Korean';font-style:normal;font-weight:300;src:url(/font/NotoSansKR-Light-Hestia.eot),url(/font/NotoSansKR-Light-Hestia.eot?#iefix) format('embedded-opentype'),url(/font/NotoSansKR-Light-Hestia.woff) format('woff'),url(/font/NotoSansKR-Light-Hestia.otf) format('opentype')}
@font-face{font-family:'Noto Sans Korean';font-style:normal;font-weight:400;src:url(/font/NotoSansKR-Regular-Hestia.eot),url(/font/NotoSansKR-Regular-Hestia.eot?#iefix) format('embedded-opentype'),url(/font/NotoSansKR-Regular-Hestia.woff) format('woff'),url(/font/NotoSansKR-Regular-Hestia.otf) format('opentype')}
@font-face{font-family:'Noto Sans Korean';font-style:normal;font-weight:600;src:url(/font/NotoSansKR-Medium-Hestia.eot),url(/font/NotoSansKR-Medium-Hestia.eot?#iefix) format('embedded-opentype'),url(/font/NotoSansKR-Medium-Hestia.woff) format('woff'),url(/font/NotoSansKR-Medium-Hestia.otf) format('opentype')}
@font-face{font-family:'Noto Sans Korean';font-style:normal;font-weight:700;src:url(/font/NotoSansKR-Bold-Hestia.eot),url(/font/NotoSansKR-Bold-Hestia.eot?#iefix) format('embedded-opentype'),url(/font/NotoSansKR-Bold-Hestia.woff) format('woff'),url(/font/NotoSansKR-Bold-Hestia.otf) format('opentype')}
/*reset*/html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
html{min-width: 1280px}
body{font-family: 'Noto Sans Korean';-webkit-font-smoothing: none;color: #fff; overflow: hidden;}
ul,dl,li,label{list-style: none;text-decoration: none;color: #666}
#map{width: calc(100% - 410px);height: 100vh;margin-left: 410px;background-image: url('/images/pre_background.png');background-color: #2c313c;overflow: hidden !important;position: fixed !important;}
#map.full{width: calc(100% - 70px);margin-left: 70px;}
.header{height: 58px;border-bottom: 2px solid #eee}
.logo{display: flex; justify-content: center;}
.logo img {width: 280px; height: 120px;}
.nav{width: 409px;height: 100vh;background-color: transparent;position: absolute;top: 0;left: 0;z-index: 1;box-shadow: 0px 1px 4px 3px rgba(0,0,0,0.25);border-right: 1px solid #eee}
.nav.fold{left: -412px}
.nav-menu{width: 70px;height: 100vh;background-color: #1a1d21;position: fixed;left: 0;top: 0;z-index: 2;box-shadow: 2px 0 8px rgba(0,0,0,0.4);border-right: 1px solid #2a2f38}
.nav-menu-item{height: 50px;text-align: center;background-color: #1a1d21;line-height: 150%;user-select: none;font-size: 12px;padding: 15px 0;color: #aab0bc;font-weight: 300;transition: color 0.15s}
.nav-menu-item::before{content: '';display: inline-block;width: 36px;height: 36px;background-repeat: no-repeat;background-position: center;background-color: #2a2f38;box-shadow: 0 2px 6px rgba(0,0,0,0.3);border-radius: 6px;transition: background-color 0.15s}
.nav-menu-item[data-menu=home]::before{background-image: url('/images/ic-nav-menu-1.png')}
.nav-menu-item[data-menu=search]::before{background-image: url('/images/ic-nav-menu-2.png')}
.nav-menu-item[data-menu=billboard]::before{background-image: url('/images/ic-nav-menu-3.png')}
.nav-menu-item[data-menu=manage]::before{background-image: url('/images/ic-nav-menu-4.png')}
.nav-menu-item:hover::before{background-color: #4a7fd4;cursor: pointer}
.nav-menu-item:hover{cursor: pointer;color: #fff}
.nav-menu-item:hover.on{cursor: default}
.on.nav-menu-item::before{background-color: #4a7fd4;cursor: default}
.on.nav-menu-item{color: #fff}
.nav-wrap{position: fixed;top: 0;left: 0;width: 410px;height: 100vh;z-index: 1;box-shadow: 2px 0 8px rgba(0,0,0,0.4)}
.nav-wrap.hide{left: -340px}
.nav-title{margin-left: 70px;padding: 20px 10px;font-size: 20px;font-weight: bold;background-color: #1a1d21;color: #fff;border-bottom: 1px solid #2a2f38;letter-spacing: -0.5px}
.nav-content{width: 340px;height: calc(100% - 60px);background-color: #1a1d21;overflow: hidden;margin-left: 70px}
.nav-toggle{position: absolute;width: 28px;height: 53px;right: -28px;top: 67px;background-color: #1a1d21;cursor: pointer;border-radius: 0 26px 26px 0;box-shadow: 5px 0px 4px 0px rgba(0,0,0,0.25);user-select: none;color: #fff;text-align: center}
.nav-toggle::before{content: '';width: 28px;height: 53px;background-image: url('/images/ic-arrow-w-thin.png');display: inline-block;background-repeat: no-repeat;background-position: center center}
.nav-toggle:hover::before{opacity: .7;}
.closed.nav-toggle::before{background-image: url('/images/ic-arrow-e-thin.png')}
.main-title{height: 59px;border-bottom: 1px solid #eee}
.main-title-logo{float: left;display: flex;justify-content: center;align-items: center;padding: 13px 2px 13px 3px}
.main-title-text{width: calc(100% - 90px);height: calc(100% - 10px);float: left;padding: 5px 10px;line-height: 140%;font-size: 18px;font-weight: bold;color: #000}
.left{float: left}
.right{float: right}
#mapInfoWrap{position: absolute;top: 10px;left: calc(40vw + 70%);z-index: 1;display: inline-block;min-width: 222px;width: max-content;}
#mapInfo{z-index: 1;padding: 14px 15px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,.3);border-radius: 3px;word-spacing: 10px;display: inline-block;font-size: 12px;;font-weight: 600}
#mapInfo > img{vertical-align: bottom}
#mapInfo > span{cursor: pointer;user-select: none}
#mapInfo > span::after{content: '';display: inline-block;background-image: url('/images/ic-arrow-n.png');width: 6px;height: 3px;vertical-align: middle;margin-left: 5px;background-repeat: no-repeat;background-size: 6px 3px}
#mapInfo.empty > span::after, #mapInfo.sejong > span:nth-child(3)::after{display: none}
#mapInfo > span.select{color: #7da2e1;font-weight: bold}
#mapInfo > span:hover{text-decoration: underline;opacity: .8}
#mapInfoList{position: absolute;top: 55px;left: calc(100% + 20px);z-index: 1;display: inline-block}
.mapinfo-list{min-height: 100px;max-height: 200px;overflow-y: auto;border-radius: 3px;box-shadow: 0px 1px 4px 2px rgba(0,0,0,0.25);background-color: #22252a}
.mapinfo-list-item{padding: 10px 15px;min-width: 85px;user-select: none;color: #fff;font-size: 12px}
.mapinfo-list-item:hover{background-color: #305ca6;cursor: pointer}
.mapinfo-list-item.select{background-color: #305ca6}
.content-title{padding: 18px 0 18px 20px;letter-spacing: -1px;border-bottom: 1px solid #2a2f38}
.content-title-text{font-size: 17px;font-weight: bold;color: #fff}
.content-article{padding: 10px}
.article-section{padding: 10px;background-color: #1a1d21;line-height: 170%;border-radius: 3px;font-size: 14px;font-weight: 300;text-align: justify;margin-bottom: 10px}
.section-title{padding: 5px 0;border-bottom: 2px solid #ccc;}
.section-title-text{font-weight: bold}
@keyframes showwrap {from {padding: 0;}to {padding: 10px;}}
@keyframes hidewrap {from {padding: 10px;}to {padding: 0;}}
.accordion-wrap{height: 0;overflow: hidden;padding: 0;animation: hidewrap .3s}
.accordion-wrap::-webkit-scrollbar {width: 8px;}
.accordion-wrap::-webkit-scrollbar-track {background: #1a1d21; border-radius: 4px;}
.accordion-wrap::-webkit-scrollbar-thumb {background-color: #555c6b;border-radius: 4px;}
.accordion-wrap::-webkit-scrollbar-thumb:hover {background: #6b7280;}
.custom-accordion{height: calc(100% - 80px)}
.accordion-title{position: relative;color: #aab0bc;padding: 16px 0;text-align: center;background-color: #2d3035;font-size: 14px;border-top: none;border-bottom: 1px solid #1a1d21;cursor: pointer;user-select: none;transition: color 0.15s, background-color 0.15s}
.accordion-title:hover{background-color: #2a2f38;color: #fff}
.select.accordion-title:hover{opacity: 1}
.accordion-title::before{content: '';display: block;position: absolute;right: 10px;top: calc(50% - 12px);width: 24px;height: 24px;border-radius: 50%;background-color: #1a1d21;background-image: url('/images/ic-arrow-s.png');background-position: center center;background-repeat: no-repeat}
.select.accordion-title::before{background-color: #4a7fd4;background-image: url('/images/ic-arrow-n-b.png');}
.accordion-title.select{cursor: default;font-weight: bold;color: #fff;background-color: #2a2f38;border-left: 3px solid #4a7fd4}
.accordion-title.select + .accordion-wrap{padding: 10px;animation: showwrap .3s}
.accordion-subtitle{font-size: 13px;font-weight: bold;padding: 8px 10px;background-color: #2a2f38;border-radius: 3px 3px 0 0;color: #c5cad3;letter-spacing: 0.3px}
.accordion-subtitle.wms{margin-top: 30px;}
.accordion-content{padding: 12px 10px;background-color: #2d3035;font-size: 14px;border-radius: 0 0 3px 3px;margin-bottom: 10px;/*min-height: 26px*/}
.accordion-content.wms-list{margin-bottom: 0px;height: 160px; overflow-y: auto;}
.accordion-content.wms{margin-bottom: 0px;}
.accordion-content.wms-list::-webkit-scrollbar {width: 12px; /* 스크롤바의 너비 */}
.accordion-content.wms-list::-webkit-scrollbar-track {background: #fff;  border-radius: 6px; margin: 2px;}
.accordion-content.wms-list::-webkit-scrollbar-thumb {background-color: #888;border-radius: 4px;}
.accordion-content.wms-list::-webkit-scrollbar-thumb:hover {background: #555; /* 스크롤바 호버 색상 */}
.accordion-div{height: 28px;line-height: 28px;margin-bottom: 10px;font-size: 14px;font-weight: 600;color: #fff}
.accordion-div::before{content: '';display: inline-block;width: 5px;height: 5px;margin: 7px 6px 3px 5px;background-color: #fff}
.accordion-div.wms::before{content: none;}
.opt.accordion-div::before{display: none;}
.accordion-div:last-child{margin-bottom: 0}
.accordion-label{color: #fff;float: right;font-size: 14px}
.accordion-button{float: right}
.accordion-buttons{text-align: center;padding-top: 3px}
.popup-dialog::-webkit-scrollbar {width: 8px;}
.popup-dialog::-webkit-scrollbar-track {background: #1a1d21; border-radius: 4px;}
.popup-dialog::-webkit-scrollbar-thumb {background-color: #fff;border-radius: 4px;opacity: .7;}
.popup-dialog::-webkit-scrollbar-thumb:hover {background: #dde1e8;}
.popup-title{margin-bottom: 10px;color: #fff;font-weight: bold;font-size: 14px;}
.popup-title::before{content:'';display:inline-block;width:5px;height:5px;margin:7px 6px 3px 0;background-color:#7da2e1}
.popup-article{line-height: 150%;margin-bottom: 20px;background-color: #2d3035;padding: 10px;border-radius: 3px}
.popup-article.loc{margin-bottom: 0}
.popup-article.road{margin-bottom: 0}
.popup-article.desc{font-size: 14px;font-weight: normal;text-align: justify}
.popup-article li{font-size: 14px;font-weight: 600;color: #fff}
.popup-article li:before{content: '·';letter-spacing: 2px}
.popup-article li.jibun::before,.popup-article li.road::before,.popup-article li.loc-utmk::before,.popup-article li.loc-wgs84::before{display: inline-block;background-color: #2a2f38;border: 1px solid #3a3f4a;border-radius: 8px;font-size: 10px;color: #c5cad3;padding: 2px 0;width: 38px;text-align: center;margin-right: 5px;line-height: 100%}
.popup-article li.jibun::before{content:'지번'}
.popup-article li.jibun:hover {cursor: pointer}
.popup-article li.road::before{content:'도로명'}
.popup-article li.road:hover {cursor: pointer;}
.popup-article li.loc-wgs84::before{content:'좌표1'}
.popup-article li.loc-wgs84:hover {cursor: pointer}
.popup-article li.loc-utmk::before{content:'좌표2'}
.popup-article li.loc-utmk:hover {cursor: pointer}
.popup-map{height: 350px;margin-bottom: 10px;background-color: #2d3035;padding: 10px;border-radius: 3px}
.popup-chart{height: auto;margin-bottom: 10px;background-color: #2d3035;padding: 10px;border-radius: 3px}
.popup-chart canvas{background-color: #fff}
/*.popup-two-chart{display: flex; align-items: flex-start; flex-wrap: wrap;height: auto;margin-bottom: 10px;background-color: #2d3035;padding: 10px;border-radius: 3px}*/
.popup-two-chart{display: flex; align-items: flex-start; flex-wrap: nowrap; overflow-x: auto;height: auto;margin-bottom: 10px;background-color: #2d3035;padding: 10px;border-radius: 3px}
.popup-two-chart canvas{background-color: #fff; width:auto; max-width:none;height: 250px;}
.popup-image{height: 250px;margin-bottom: 10px}
.popup-image.wms{height: auto; min-height: 150px; background-color:#fff}
.popup-table{margin-bottom: 20px;padding: 10px;background-color: #2d3035;position: relative;border-radius: 3px}
.popup-table::after{content: attr(data-subscript);display: inline-block;position: absolute;right: 10px;top: 0;font-size: 10px;color: #aab0bc}
.popup-table-idn{margin-bottom: 20px;padding: 10px;background-color: #2d3035;position: relative;overflow: visible;border-radius: 3px}
.popup-table-idn::after{content: attr(data-subscript);display: inline-block;position: absolute;right: 10px;top: 0;font-size: 10px;color: #ddd; pointer-events: none;z-index: 0;}
.popup-container {display: flex;justify-content: space-between;}
.popup-link{position: absolute; top: -30px; right: 10px; z-index: 2;}
.popup-link a {color: #fff !important;}
.popup-description {padding: 10px;}
.popup-description ul {padding-left: 10px;}
.popup-description li {color: #ffffff !important;list-style-type: disc !important;margin-bottom: 10px;font-size: 13px;line-height: 1.2;}
.w1,.w2,.w3,.w4,.w5,.w6,.w7,.w8,.w9,.w10,.w11,.w12,.w13,.w14,.w15,.w16,.w17,.w18,.w19,.w20,.w21, .aw1, .aw2, .aw3{color: #7da2e1;font-size: 15px;font-weight: normal}
.flexcenter_bt{display: flex; justify-content:space-between; flex-direction: row; align-items: center; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex;}
.flexcenter_bt input, .flexcenter_bt select {text-align: center;}
/* .mapshortcut{padding: 10px 8px;background-color: #fff;display: inline-block;border-radius: 2px;user-select: none;cursor: pointer;color: #666;box-shadow: 0px 1px 4px 2px rgba(0,0,0,0.25)}
.mapshortcut:hover{opacity: .8} */
#sexAgeDrawType{display: none}
.csel{user-select: none;display: none}
.csel + label{color: #fff;cursor: pointer;font-weight: 600;font-size: 14px}
.csel + label::before{vertical-align: -10%}
.csel + label:hover{opacity: .8}
.csel[type=radio] + label::before{content:'';display: inline-block;width: 16px;height: 16px;background-image: url('/images/radio-de.png');margin-right: 3px}
.csel[type=radio]:checked + label::before{background-image: url('/images/radio-ck.png')}
.csel[type=checkbox] + label::before{content:'';display: inline-block;width: 16px;height: 16px;background-image: url('/images/check-de.png');margin-right: 3px}
.csel[type=checkbox]:checked + label::before{background-image: url('/images/check-ck.png')}
.cbox{-webkit-font-smoothing:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:13px;border:1px solid #4a5060;background-color:#343944;border-radius:4px;padding:3px 20px 3px 10px;height:28px;width:128px;color:#dde1e8;outline:0;font-family:'Noto Sans Korean';display:inline-block;background-image:url(/images/ic-arrow-n.png);background-repeat:no-repeat;background-position:calc(100% - 10px) center}
.cbox::before{content:'';position:absolute;display:inline-block;background-image:url(/images/ic-arrow-n.png);width:10px;height:5px;background-repeat:no-repeat}
.cbox:hover{cursor: pointer;opacity: .8}
.cbox::-ms-expand{display: none}
.cbox.indestry{width:200px}
#billPopup{display:none;width:330px;height:auto;background-color:#1a1d21;box-shadow:0 6px 24px rgba(0,0,0,0.6);border-radius:5px;user-select:none;position:relative;padding:0;overflow:hidden;border:1px solid #3a3f4a}
.bill-popup-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#2a2f38;border-bottom:1px solid #3a3f4a}
.bill-popup-title-sub{font-size:10px;color:#aab0bc;font-weight:400;display:block;margin-bottom:2px}
.bill-popup-title{font-size:14px;font-weight:700;color:#fff;flex:1;min-width:0;letter-spacing:0.2px}
.bill-popup-close{color:#fff!important;font-size:20px;line-height:1;cursor:pointer;background:none!important;border:none!important;transform:rotate(45deg);padding:0;flex-shrink:0;margin-left:10px}
.bill-popup-body{padding:12px}
.bill-info-row{display:flex;align-items:baseline;line-height:1.7}
.bill-info-lbl{color:#aab0bc;width:80px;flex-shrink:0;font-size:12px}
.bill-info-val{color:#dde1e8;flex:1;min-width:0;overflow:hidden;word-break:break-word;font-size:12px}
.bill-divider{border:none;border-top:1px solid #2a2f38;margin:6px 0}
.stat-grid{display:flex;gap:6px;margin-top:8px}
.stat-box{flex:1;background-color:#2d3035;border-radius:3px;padding:7px 10px}
.stat-box-lbl{font-size:10px;color:#aab0bc;margin-bottom:3px}
.stat-box-val{font-size:14px;font-weight:700;color:#7da2e1}
.bill-popup-gap{gap: 8px;}
.bill-popup-footer{display:flex;padding:10px 12px 12px;border-top:1px solid #3a3f4a;background:#22252a;justify-content:center}
.bill-popup-footer .bill-cbtn,.bill-popup-footer .plan-cbtn{flex:1;margin-right:0 !important;font-size:13px;padding:7px 0;border-radius:5px}
.bill-popup-footer .cbtn{width:100%;background-color:#4a7fd4!important;color:#fff!important;margin-right:0}
.bill-popup-footer .cbtn:active{background-color:#3a6ab5!important}
.cmpn-viz-type-group{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:4px 0}
.cmpn-viz-btn{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px 8px;border:1px solid #3a3f4a;border-radius:5px;background:#2a2f38;color:#aab0bc;cursor:pointer;font-family:'Noto Sans Korean';font-size:11px;font-weight:600;transition:border-color .15s,background .15s;width:100%}
.cmpn-viz-btn img{width:28px;height:28px;object-fit:contain}
.cmpn-viz-btn:hover{border-color:#4a7fd4;background:#1c2a3d;color:#fff}
.cmpn-viz-btn.is-active{border-color:#4a7fd4;background:#1c2a3d;box-shadow:inset 0 0 0 1px rgba(74,127,212,.3);color:#fff}
.bill-cmpn-btn:disabled {
    background-color: #3a3f4a !important;
    color: #8f98a8 !important;
    cursor: default;
    opacity: 1 !important;
}
.bill-cmpn-btn:disabled:hover,
.bill-cmpn-btn:disabled:active {
    opacity: 1 !important;
    cursor: default;
}
.tooltip-title{font-size: 16px;font-weight: bold;}
.tooltip-title::after{content: attr(data-category);font-size: 12px;color: #999;margin-left: 5px}
.tooltip-add{font-size: 12px}
.tooltip-old{margin-bottom: 10px}
#helpTooltip{color: #393d43}
#detailTourPopup{display: none;width: 250px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,0.3);border-radius: 5px;user-select: none;position: relative;cursor: pointer}
.popup-close-btn{color: #fff;position: absolute;right:10px;top:10px;text-shadow: 0 0 6px #000}
.popup-close-btn:hover{opacity: .8}
.tour-popup-img > img{border-radius: 5px 5px 0 0;}
.tour-popup-contents{padding: 10px}
.tour-popup-title{font-size: 16px;color: #fff;margin-bottom: 7px;font-weight: bold;white-space: nowrap;overflow: hidden}
.tour-popup-add{font-size: 14px;color: #fff;margin-bottom: 5px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.tour-popup-desc{font-size: 14px;color: #999;margin-bottom: 5px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
#tour::before{display: inline-block;content:'';width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-top: 15px solid #22252a;position: absolute;top: 100%;left: calc(50% - 10px);}
#tooltipPopup{display: none;background-color: #fff;color: #666;font-size: 12px;padding: 5px;border-radius: 2px;box-shadow: 0px 1px 4px 3px rgba(0,0,0,0.25);}
#visitorPopup{display: none;background-color: #fff;color: #666;font-size: 12px;padding: 5px;border-radius: 2px;box-shadow: 0px 1px 4px 3px rgba(0,0,0,0.25);}
.footer-table{display:none;position: fixed;bottom: 0;right: 0;width: calc(100% - 430px);height: 180px;background-color: #1a1d21;z-index: 1;padding: 12px;border-top: 2px solid #4a7fd4}
.footer-table.full{width: calc(100% - 90px)}
#attrTable, #dataAttrTable{overflow-x: auto; overflow-y: hidden;border: none;border-radius: 4px;max-height: 350px;min-height: 60px}
#attrTable > table{width: 100%; table-layout: fixed; border-collapse: collapse}
#dataAttrTable > table{min-width: 100%; table-layout: auto}
#attrTable > table tr, #dataAttrTable > table tr{border-bottom: 1px solid #3a3f4a}
#attrTable > table tr:nth-child(even) td, #dataAttrTable > table tr:nth-child(even) td{background-color: #262b33}
#attrTable > table th, #dataAttrTable > table th{background-color: #2a2f38;font-weight: bold;letter-spacing: 0.5px;border-right: 1px solid #3a3f4a;}
#attrTable > table td, #dataAttrTable > table td{background-color: #22252A;border-right: 1px solid #2d3035;}
#dataAttrTable > table th:nth-child(1), #dataAttrTable > table td:nth-child(1),
#dataAttrTable > table th:nth-child(3), #dataAttrTable > table td:nth-child(3){text-align:center;}
#attrTable > table th:last-child, #dataAttrTable > table th:last-child{border-right: none}
#attrTable > table td:last-child, #dataAttrTable > table td:last-child{border-right: none}
#attrTable > table th,#attrTable > table td, #dataAttrTable > table th, #dataAttrTable > table td{text-align: left;vertical-align: middle;color: #fff;padding: 6px 8px;white-space: nowrap;font-size: 13px;text-overflow: ellipsis;overflow: hidden;}
#attrTable > table tr:hover td, #dataAttrTable > table tr:hover td{background-color: #1e2a40;cursor: pointer;color: #7da2e1;transition: background-color 0.15s}
#attrTable > table tr.select td, #dataAttrTable > table tr.select td{background-color: #1e2a40;cursor: default;color: #7da2e1}
#attrTable > table tr:first-child th, #dataAttrTable > table tr:first-child th{position: sticky;top: 0}
#attrTable::-webkit-scrollbar {width: 8px;}
#attrTable::-webkit-scrollbar-track {background: #1a1d21; border-radius: 4px;}
#attrTable::-webkit-scrollbar-thumb {background-color: #555c6b;border-radius: 4px;}
#attrTable::-webkit-scrollbar-thumb:hover {background: #6b7280;}
#attrTablePaging{text-align: center;position: absolute;bottom: 0;width: 100%;left:0;padding: 5px 0}
#dataAttrTablePaging{text-align: center;width: 100%;padding: 12px 0 0}
#dataTableList,
#noticeTableList{height:400px;display:flex;flex-direction:column;margin-bottom:0}
#dataTableList #dataAttrTable,
#noticeTableList #dataAttrTable{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}
.table-span{text-align: center; vertical-align: middle;}
.none-select{user-select: none}
.poisearch-result{padding: 12px 10px}
.poisearch-result:hover{background-color: #305ca6;cursor: pointer}
.search-result-wrap{background-color: #393d43}
.result-list-name{font-size: 14px;color: #fff}
.result-list-name + .result-list-addr_jibun, .result-list-fest_nm{margin-top: 10px}
.result-list-addr_jibun + .result-list-addr_road{margin-top: 5px}
.result-list-fest_nm + .result-list-fest_season, .result-list-fest_place{margin-top: 5px}
.result-list-addr_jibun,.result-list-addr_road,.result-list-fest_nm,.result-list-fest_season,.result-list-fest_place{color: #fff;font-size: 13px;/* 12px;*/text-overflow: ellipsis;white-space: nowrap;overflow: hidden}
.result-list-addr_jibun,.result-list-addr_road,.result-list-fest_place{padding: 1px}
.result-list-addr_jibun::before,.result-list-addr_road::before,.result-list-fest_nm::before,.result-list-fest_season::before,.result-list-fest_place::before{display: inline-block;background-color: #474c53;border: 1px solid #999;border-radius: 8px;font-size: 10px;color: #ddd;padding: 2px 0;width: 38px;text-align: center;margin-right: 5px}
.result-list-addr_jibun::before{content: '지번'}
.result-list-addr_road::before{content: '도로명'}
.bus-stop-result .result-list-addr_jibun::before{content: '정류장 번호';width: 58px}
.bus-stop-result .result-list-addr_road::before{content: '주소'}
.bus-stop-result .result-list-fest_place::before{content: '정류장유형';width: 58px}
.result-list-fest_nm::before{content: '축제명'}
.result-list-fest_season::before{content: '축제기간'}
.result-list-fest_place::before{content: '축제위치'}
.result-none{text-align: center;font-size: 14px;font-weight: 400}
.seach-count{color: #7da2e1}
.seach-count::after{content: '건';color: #fff}
.search-wrap{height: calc(100% - 254px);overflow-y: scroll}
.mng-medium-search-wrap{overflow-y: auto;}
.mng-medium-search-wrap::-webkit-scrollbar{width: 8px;}
.mng-medium-search-wrap::-webkit-scrollbar-track{background: #1a1d21; border-radius: 4px; margin: 1px;}
.mng-medium-search-wrap::-webkit-scrollbar-thumb{background-color: #555c6b; border-radius: 4px;}
.mng-medium-search-wrap::-webkit-scrollbar-thumb:hover{background: #6b7280;}
.search-paging{text-align: center;padding: 15px 0 10px 0;font-size: 14px;}
#searchPopup{width: 270px;height: 70px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,0.3);border-radius: 5px;user-select: none;position: relative;padding: 10px}
.wms-div{padding: 0, 0, 15px, 0}
#layerSearchBtns .cbtn.wms{width: 100%}
.checkbox-item{margin-right: 10px;}
.wms-minus-button {background-color: #4a7fd4;color: white; border-radius: 50%;width: 20px;height: 20px;cursor: pointer;border: none; box-shadow: none;}
.wms-minus-button:hover {background-color: #4a7fd4;opacity: .8;box-shadow: none;}
.cbox.wms{width:180px;}
.ctext.wms{width:158px;}
.wms-text:hover{cursor: pointer;}
.image-wms{width: 60%;margin-left: 3px; margin-top: 20px;}
.switch{position: relative;display: inline-block;width: 50px;height: 20px;float: right;}
.switch input{opacity: 0;width: 0;height: 0;}
.slider{position: absolute;cursor: pointer;top: 0;left: 0;right: 0;bottom: 0;background-color: #ccc;-webkit-transition: .4s;transition: .4s;}
.slider:before {position: absolute;content: "";height: 16px;width: 16px;left: 3px;bottom: 2px;background-color: white;-webkit-transition: .4s;transition: .4s;}
input:checked + .slider {background-color: #305ca6;}
input:focus + .slider {box-shadow: 0 0 1px #305ca6;}
input:checked + .slider:before {-webkit-transform: translateX(28px);-ms-transform: translateX(28px);transform: translateX(28px);}
.slider.round {	border-radius: 10px;}
.slider.round:before {border-radius: 50%;}
.notice-div-data,.notice-div-notice{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:center;min-height:30px;padding:2px 4px;border-bottom:1px solid rgba(148,163,184,.12);border-radius:3px;transition:background-color .15s,color .15s}
.notice-div-data:last-child,.notice-div-notice:last-child{border-bottom:none}
.notice-div-data:hover,.notice-div-notice:hover{background-color:rgba(255,255,255,.05)}
.notice-div{min-width:0;padding:0 8px 0 0;height:auto;line-height:18px;font-size:13px;font-weight:400;color:#dde1e8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.notice-div:hover{opacity:1}
.notice-label{justify-self:end;color:#8f98a8;font-size:12px;white-space:nowrap}
.home-list-empty{text-align:center;color:#8f98a8;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;pointer-events:none}

/* 캠페인 진행 현황 상태 바 */
.notice-div-data.data-status-item{display:block;padding:5px 8px;min-height:unset}
.data-status-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.data-status-title{font-size:13px;color:#dde1e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.data-status-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap;flex-shrink:0;border:1px solid rgba(255,255,255,0.12)}
.data-status-badge.wait{background-color:#3a3f4a;color:#dde1e8}
.data-status-badge.sent{background-color:#674b1f;color:#ffd796}
.data-status-badge.done{background-color:#1f5d43;color:#9ee7c1}
.data-status-badge.fail{background-color:#5d1f1f;color:#ffaaaa}
.cmpn-status-badge.fail{background-color:#5d1f1f;color:#ffaaaa}
.data-status-track{height:4px;background-color:#2c3038;border-radius:2px;overflow:hidden;margin-bottom:4px}
.data-status-fill{height:100%;border-radius:2px;width:0;transition:width .3s ease}
.data-status-fill.wait{width:10%;background-color:#4a5060}
.data-status-fill.sent{width:60%;background:linear-gradient(90deg,#674b1f,#ffd796);animation:status-pulse 1.4s ease-in-out infinite}
.data-status-fill.done{width:100%;background:linear-gradient(90deg,#1f5d43,#9ee7c1)}
.data-status-fill.fail{width:100%;background-color:#5d1f1f}
.data-status-date{font-size:11px;color:#6b7a90;display:flex;justify-content:space-between;}
.data-status-date span:first-child{width:80px;flex-shrink:0;}
.data-status-date span:nth-child(2){flex:1;text-align:center;}
.data-status-date span:last-child{width:80px;flex-shrink:0;text-align:right;}
@keyframes status-pulse{0%,100%{opacity:1}50%{opacity:0.55}}
.home-list-popup{display:flex !important;flex-direction:column;box-sizing:border-box}
.home-list-popup .popup-title{flex-shrink:0}
.home-list-popup .popup-table{flex:0 0 auto;min-height:400px;width:100%;box-sizing:border-box;padding:12px;background-color:rgba(24,33,47,.92);border:1px solid #3a3f4a;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.home-list-dialog.ui-dialog{z-index:2302!important}
.home-view-dialog.ui-dialog{z-index:2304!important}
.home-list-dialog .ui-dialog-content,.home-view-dialog .ui-dialog-content{overflow:visible !important}
#popCampaignDetail .com-tbl-body tr{border-bottom:none}
#popCampaignDetail .com-tbl-body td{border-right:none}
.home-list-popup #dataAttrTable{box-sizing:border-box;border:1px solid #3a3f4a;border-radius:6px;background-color:#1a1d21;overflow-x:hidden;overflow-y:auto}
.home-list-popup #dataAttrTable > table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;flex:0 0 auto}
.home-list-popup #dataAttrTable > table tr{border-bottom:none}
.home-list-popup #dataAttrTable > table th{height:34px;padding:0 10px;background-color:#1a1d21;border-right:none;border-bottom:1px solid #3a3f4a;color:#aab0bc;font-size:12px;font-weight:700;letter-spacing:0;text-align:center}
.home-list-popup #dataAttrTable > table td{height:34px;padding:0 10px;background-color:#22252a;border-right:none;border-bottom:1px solid rgba(148,163,184,.16);font-size:13px;line-height:34px}
.home-list-popup #dataAttrTable > table tr:nth-child(even) td{background-color:#1f2937}
.home-list-popup #dataAttrTable > table td:nth-child(1){color:#8f98a8;font-size:12px}
.home-list-popup #dataAttrTable > table td:nth-child(2){color:#dde1e8;font-weight:600}
.home-list-popup #dataAttrTable > table td:nth-child(3){color:#8f98a8;font-weight:400}
.home-list-popup #dataAttrTable > table td:nth-child(4){color:#aab0bc;font-size:12px}
.home-list-popup #dataAttrTable > table tr:hover td{background-color:rgba(255,255,255,.05);color:#fff}
.home-list-popup #dataAttrTable > table tr:hover td:nth-child(3),.home-list-popup #dataAttrTable > table tr:hover td:nth-child(4){color:#aab0bc}
.home-list-popup #dataAttrTable > table tr.select td{background-color:rgba(255,255,255,.05);color:#fff}
.home-list-popup #dataAttrTable > table tr.select td:first-child{box-shadow:inset 3px 0 0 #7da2e1}
.home-list-popup .home-empty-msg{flex:1;display:flex;align-items:center;justify-content:center;color:#8f98a8;font-size:13px;background-color:#22252a;border-radius:0 0 6px 6px}
.home-list-popup #dataAttrTablePaging{padding-top:8px}
.home-popup-paging{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;flex-shrink:0}
.home-popup-paging .paging-total{position:absolute;left:0;top:50%;transform:translateY(-50%);color:#8f98a8;font-size:12px;white-space:nowrap;padding:0;min-height:auto;line-height:normal}
.home-popup-paging .paging-number{display:inline-flex;align-items:center;gap:4px}
.home-popup-paging .paging-btn{width:52px;height:28px;padding:0;border-radius:5px;border:1px solid #3a3f4a;background-color:#1a1d21;color:#aab0bc;cursor:pointer}
.home-popup-paging .paging-btn:hover,.home-popup-paging .paging-number-btn:hover{border-color:#7da2e1;color:#fff}
.home-popup-paging .paging-number-btn{width:28px;height:28px;border-radius:5px;border:1px solid #3a3f4a;background-color:#1a1d21;color:#aab0bc;cursor:pointer}
.home-popup-paging .paging-number-btn.select{background-color:#4a7fd4;border-color:#7da2e1;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.home-overview{height:calc(100% - 57px);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
.home-notice-section{flex-shrink:0}
.home-campaign-section{flex:1;display:flex;flex-direction:column;min-height:0}
.home-campaign-section .accordion-content{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.35) transparent}
.home-campaign-section .accordion-content::-webkit-scrollbar{width:8px}
.home-campaign-section .accordion-content::-webkit-scrollbar-track{background:transparent}
.home-campaign-section .accordion-content::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.35);border-radius:4px}
.home-overview::-webkit-scrollbar{width:8px}
.home-overview::-webkit-scrollbar-track{background:transparent;border-radius:4px}
.home-overview::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.35);border-radius:4px}
.home-overview::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,0.6)}
.ic-plus{float: right;cursor: pointer;}
/* .home-title{margin-bottom: 10px;color: #353535;font-weight: bold} */
.home-table{border: 1px solid #ddd;margin-bottom: 15px;max-height: 430px;min-height: 430px}
.notice-data-header{display: flex;align-items: stretch;}
.header-column,.header-value{padding: 10px; float:left;font-size: 14px;display: flex;align-items: center;}
.header-column{background-color: #2d3035; width:calc(20% - 20px)}
.header-value{width:calc(80% - 20px);}
.notice-data-body{border-top: 1px solid #ddd;border-bottom: 1px solid #ddd; padding: 10px; height:242px; overflow-y: scroll;line-height: 150%; clear:both;}
.notice-data-attach{display: none;cursor: pointer;border-bottom: 1px solid #ddd;overflow: auto;}
.attach-column, .attach-value{padding:10px; float:left;font-size: 14px}
.attach-column{width:calc(20% - 20px); background-color: #2d3035}
.attach-value{width:calc(80% - 20px); min-width: calc(80% - 20px);}
.footer-column, .footer-value{padding:10px; float:left;font-size: 14px}
.footer-column{width:calc(20% - 20px); background-color: #2d3035}
.footer-value{width:calc(80% - 20px);}
.header-value input{width:calc(80% - 20px);}
.notice-data-body textarea {width: 99%;height: 200px;}
/* .tooltip-draw{position: fixed;display: inline-block;z-index: 100;font-size: 13px;color: #666;background-color: #fff;padding:3px 25px 3px 5px;border-radius: 5px;box-shadow: 0px 1px 4px 3px rgba(0,0,0,0.25);white-space: nowrap; position: relative;} */
.tooltip-draw{position: fixed;display: inline-block;z-index: 100;font-size: 13px;color: #666;background-color: #fff;padding:3px 5px;border-radius: 5px;box-shadow: 0px 1px 4px 3px rgba(0,0,0,0.25);white-space: nowrap;}
.tooltip-draw.hidden{display: none}
.tooltip-button{background-color: gray; color: white; border: 1px; border-radius: 3px; margin-left: 3px;}
.notice-data-footer{display: flex;align-items: stretch;border-top: 1px solid #ddd;border-bottom: 1px solid #ddd;}
.footer-value{width:calc(80% - 20px);}
/*common table*/
.com-tbl{width:100%;background-color:#2a2f38;border:1px solid #3a3f4a;border-radius:4px;overflow:hidden}
.com-tbl-head{overflow-x:hidden}
.com-tbl-head table{width:100%;table-layout:fixed}
.com-tbl-head tr{border-bottom:2px solid #4a5060;background-color:#2a2f38}
.com-tbl-body::-webkit-scrollbar-corner{background-color:#1a1d21}
.com-tbl-head td{padding:8px 10px;color:#c5cad3;font-weight:bold;text-align:center;font-size:13px;letter-spacing:0.4px;border-right:1px solid #3a3f4a}
.com-tbl-head td:last-child{border-right:none}
.com-tbl-head .rowspan{vertical-align:middle}
.com-tbl-body{/*min-height: 70px;*/max-height:150px;overflow-y:hidden}
.com-tbl-body table{width:100%;table-layout:fixed}
.com-tbl-body.extend{max-height:5000px}
.com-tbl-body.plan-extend{max-height:500px;overflow-y:auto}
.com-tbl-body.localmoney{max-height:300px;overflow-y:scroll}
.com-tbl-body.identify{max-height:500px;overflow-y:auto}
.com-tbl-body td{padding:7px 10px;white-space:nowrap;color:#dde1e8;text-align:center;font-size:13px;border-right:1px solid #2d3035}
.com-tbl-body td:last-child{border-right:none}
.com-tbl-body tr{background-color:#22252a;border-bottom:1px solid #4a5060}
.com-tbl-body tr:nth-child(even) td{background-color:#262b33}
.com-tbl-body td.bold{font-weight:bold;color:#fff}
.com-tbl-body td.center{text-align:center}
.com-tbl-body tr:hover td{background-color:#1e2a40;color:#7da2e1;cursor:pointer;transition:background-color 0.15s}
.com-tbl-body tr.selected td{background-color:#1e2a40;color:#7da2e1;cursor:default}
.com-tbl-body::-webkit-scrollbar{width:8px;height:8px}
.com-tbl-body::-webkit-scrollbar-track{background:#1a1d21;border-radius:4px;margin:1px}
.com-tbl-body::-webkit-scrollbar-thumb{background-color:#555c6b;border-radius:4px}
.com-tbl-body::-webkit-scrollbar-thumb:hover{background:#6b7280}
.cmpn-status-badge{display:inline-block;min-width:38px;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:700;line-height:1.2;text-align:center;border:1px solid rgba(255,255,255,0.18)}
.cmpn-status-badge.wait{background-color:#3a3f4a;color:#dde1e8}
.cmpn-status-badge.sent{background-color:#674b1f;color:#ffd796}
.cmpn-status-badge.done{background-color:#1f5d43;color:#9ee7c1}
.mng-medium-add-cursor canvas{cursor:grab !important}
.mng-medium-add-cursor:active canvas{cursor:grabbing !important}
.rowspan-value-middle{padding:0;vertical-align:middle;border-right:1px solid #3a3f4a}
.toolbar-maptype{position: fixed;right: 75px;top: 10px;/* width: 160px; */height: 40px;border-radius: 3px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,.3);color: #ddd;font-size: 9px}
.toolbar-maptype-item{display: inline-block;width: 39px;text-align: center;user-select: none;border-right: 1px solid #151618;height: 20px;padding: 2px 0;line-height: 110%}
.toolbar-maptype-item::before{content: '';display: inline-block;width: 34px;height: 20px;background-repeat: no-repeat;background-position: center;border: 1px solid #999}
.toolbar-maptype-item[data-map-type=none]::before{background-image: url('/images/ic_map_type_none.png')}
.toolbar-maptype-item[data-map-type=normal]::before{background-image: url('/images/ic_map_type_normal.png')}
.toolbar-maptype-item[data-map-type=gray]::before{background-image: url('/images/ic_map_type_gray.png')}
.toolbar-maptype-item[data-map-type=satellite]::before{background-image: url('/images/ic_map_type_satellite.png')}
.toolbar-maptype-item[data-map-type=midnight]::before{background-image: url('/images/ic_map_type_midnight.png')}
.toolbar-maptype-item.on{color: #7da2e1;cursor: pointer}
.toolbar-maptype-item:hover{opacity: .8;cursor: pointer}
.on.toolbar-maptype-item:hover{cursor: default}
.on.toolbar-maptype-item::before{border-color: #7da2e1}
.toolbar-maptype-item:last-child{border-right: none;width: 40px}
.toolbar-map{position: fixed;right: 15px;top: 60px;width: 40px;/* height: 440px; */border-radius: 3px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,.3);color: #ddd;font-size: 9px}
.toolbar-map-item{display: inline-block;width: 40px;text-align: center;user-select: none;border-bottom: 1px solid #151618;height: 29px;padding: 5px 0;line-height: 120%}
.on.toolbar-map-item{color: #7da2e1;cursor: default}
.toolbar-map-item:active{color: #7da2e1;cursor: pointer}
.toolbar-map-item:hover{cursor: pointer;opacity: .8}
.toolbar-map-item:last-child{height: 30px;border-bottom: none}
.toolbar-map-item::before{content: '';display: inline-block;width: 14px;height: 14px;background-repeat: no-repeat}
.toolbar-map-item[data-map-func=maphome]::before{background-image: url('/images/ic-map-tool-1-de.png')}
.toolbar-map-item[data-map-func=maphome]:active::before{background-image: url('/images/ic-map-tool-1-ac.png')}
.toolbar-map-item[data-map-func=zoomin]::before{background-image: url('/images/ic-map-tool-plus-de.png')}
.toolbar-map-item[data-map-func=zoomin]:active::before{background-image: url('/images/ic-map-tool-plus-ac.png')}
.toolbar-map-item[data-map-func=zoomout]::before{background-image: url('/images/ic-map-tool-minus-de.png')}
.toolbar-map-item[data-map-func=zoomout]:active::before{background-image: url('/images/ic-map-tool-minus-ac.png')}
.toolbar-map-item[data-map-func=savemap]::before{background-image: url('/images/ic-map-tool-2-de.png')}
.toolbar-map-item[data-map-func=savemap]:active::before{background-image: url('/images/ic-map-tool-2-ac.png')}
.toolbar-map-item[data-map-func=measureline]::before{background-image: url('/images/ic-map-tool-3-de.png')}
.toolbar-map-item[data-map-func=measureline]:active::before,.on.toolbar-map-item[data-map-func=measureline]::before{background-image: url('/images/ic-map-tool-3-ac.png')}
.toolbar-map-item[data-map-func=measurearea]::before{background-image: url('/images/ic-map-tool-4-de.png')}
.toolbar-map-item[data-map-func=measurearea]:active::before,.on.toolbar-map-item[data-map-func=measurearea]::before{background-image: url('/images/ic-map-tool-4-ac.png')}
.toolbar-map-item[data-map-func=maplayers]::before{background-image: url('/images/ic-map-tool-6-de.png')}
.toolbar-map-item[data-map-func=maplayers]:active::before,.on.toolbar-map-item[data-map-func=maplayers]::before{background-image: url('/images/ic-map-tool-6-ac.png')}
.toolbar-map-item[data-map-func=loctranslate]::before{background-image: url('/images/ic-map-tool-8-de.png')}
.toolbar-map-item[data-map-func=loctranslate]:active::before,.on.toolbar-map-item[data-map-func=loctranslate]::before{background-image: url('/images/ic-map-tool-8-ac.png')}
.toolbar-map-item[data-map-func=favoritearea]::before{background-image: url('/images/ic-map-tool-9-de.png')}
.toolbar-map-item[data-map-func=favoritearea]:active::before,.on.toolbar-map-item[data-map-func=favoritearea]::before{background-image: url('/images/ic-map-tool-9-ac.png')}
.toolbar-map-item[data-map-func=roadview]::before{background-image: url('/images/ic-map-tool-10-de.png')}
.toolbar-map-item[data-map-func=roadview]:active::before,.on.toolbar-map-item[data-map-func=roadview]::before{background-image: url('/images/ic-map-tool-10-ac.png')}
.toolbar-map-item[data-map-func=view3d]::before{background-image: url('/images/ic-map-tool-11-de.png')}
.toolbar-map-item[data-map-func=view3d]:active::before,.on.toolbar-map-item[data-map-func=view3d]::before{background-image: url('/images/ic-map-tool-11-ac.png')}
.toolbar-map-item[data-map-func=identify]::before{background-image: url('/images/ic-map-tool-12-de.png')}
.toolbar-map-item[data-map-func=identify]:active::before,.on.toolbar-map-item[data-map-func=identify]::before{background-image: url('/images/ic-map-tool-12-ac.png')}
.cbtn{font-family: 'Noto Sans Korean';font-size: 14px;font-weight: 600;border-radius: 3px;color: #fff;text-align: center;padding: 8px 0;outline: none;border: none;width: 100px;margin-right: 5px}
.cbtn:last-child{margin-right: 0}
.cbtn:hover{opacity: .8;cursor: pointer}
.cbtn.main{background-color: #4a7fd4}
.cbtn.main:active{background-color: #3a6ab5}
.cbtn.sub{background-color: #4a7fd4}
.cbtn.sub:active{background-color: #3a6ab5}
.cbtn.profile-action-btn{background-color:#4a7fd4}
.cbtn.profile-action-btn:active{background-color:#3a6ab5}
.cbtn.wms{font-size: 12px; width: 70px; background-color: #4a7fd4}
.cbtn.wms:active{font-size: 12px; width: 70px; background-color: #3a6ab5}
.p10{padding: 10px}
.mb0{margin-bottom: 0}
.mb10{margin-bottom: 10px}
.ctext{border: 1px solid #999;border-radius: 3px;background-color: #474c53;color: #fff;opacity: .7;font-size: 14px;padding: 3px 10px;width: 105px;font-weight: 600;outline: none;font-family: 'Noto Sans Korean'}
.ctext::-webkit-search-decoration{display:none}
.ctext::-ms-clear,.ctext::-ms-reveal {display: none; width : 0; height: 0}
.ctext:focus{border-color: #fff;opacity: 1}
.csearch{border: 1px solid #4a5060;border-radius: 3px;background-color: #343944;color: #dde1e8;opacity: .9;font-size: 14px;padding: 9px 35px 9px 10px;width: 100%;font-weight: 600;outline: none;font-family: 'Noto Sans Korean';-webkit-appearance: none;appearance: none}
.csearch::-webkit-search-decoration{display:none}
.csearch::-ms-clear,.csearch::-ms-reveal {display: none; width : 0; height: 0}
.csearch:focus{border-color: #7da2e1;opacity: 1}
.csearch:not(:placeholder-shown){background-color: #343944;color: #dde1e8}
.csearch:-webkit-autofill,.csearch:-webkit-autofill:hover,.csearch:-webkit-autofill:focus{-webkit-box-shadow: 0 0 0 30px #343944 inset !important;-webkit-text-fill-color: #dde1e8 !important}
.search-btn{right: 12px;top: 10px;background-image: url('/images/ic-search-de.png');display: inline-block;width: 20px;height: 20px;background-color: transparent;outline: none;border: none;position: absolute;}
.search-btn:hover{cursor: pointer;opacity: .8}
.search-btn:active{background-image: url('/images/ic-search-ac.png')}
.paging-btn{background-color: #474c53;border: 1px solid #999;border-radius: 12px;font-size: 12px;color: #fff;font-weight: 600;padding: 2px 0;width: 48px;text-align: center;outline: none;font-family: 'Noto Sans Korean'}
.paging-btn:hover{opacity: .8;cursor: pointer}
.paging-btn:active{background-color: #4a7fd4}
.paging-number-btn{background-color:#474c53;border:1px solid #999;border-radius:50%;color:#999;padding:0;outline:0;font-family:'Noto Sans Korean';width:24px;height:24px;font-size:13px;font-weight:600;text-align:center}
.paging-number-btn.select{background-color:#4a7fd4;font-weight:700;color:#fff;border-color:#fff}
.paging-number-btn:hover{opacity: .8;cursor: pointer}
.paging-number-btn:active{background-color: #4a7fd4}
.paging-number{margin: 0 5px}
.paging-number .paging-number-btn{margin: 0 2px}
.paging-total{position: absolute; left: 10px;font-size: 12px;color: #999;font-weight: bold;padding: 2px 10px;min-height: 18px; line-height: 18px; text-align: center;outline: none;font-family: 'Noto Sans Korean'}
.paging-total::before{content: '전체: ';font-weight: normal}
.paging-total::after{content: '건';font-weight: normal}
.map-geocording,.map-reg-favorite{cursor: crosshair}
.toolbar-info-icon{position:fixed;right:15px;top:10px;z-index:150}
.toolbar-info-icon img:hover{opacity:.8;cursor:pointer}
.toolbar-info-popup{position:fixed;right:15px;top:60px;z-index:300;width:260px;background-color:#2a2f38;border:1px solid #3a3f4a;border-radius:12px;padding:20px 24px;display:none;box-shadow:0 8px 32px rgba(0,0,0,.48),0 2px 8px rgba(0,0,0,.24)}
.toolbar-info-popup::before{position:absolute;content:'';right:14px;top:-6px;display:block;width:0;height:0;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:6px solid #2a2f38}
.toolbar-pw-popup{position:fixed;right:15px;top:130px;z-index:300;width:260px;background-color:#2a2f38;border:1px solid #3a3f4a;border-radius:12px;padding:20px 24px 24px;display:none;box-shadow:0 8px 32px rgba(0,0,0,.48),0 2px 8px rgba(0,0,0,.24)}
.toolbar-pw-popup::before{position:absolute;content:'';right:14px;top:-6px;display:block;width:0;height:0;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:6px solid #2a2f38}
.pw-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.pw-popup-title{font-size:14px;font-weight:700;color:#fff}
.pw-popup-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#8f98a8;font-size:16px;cursor:pointer;border-radius:4px;padding:0;transition:background-color .15s,color .15s;line-height:1}
.pw-popup-close:hover{background-color:rgba(255,255,255,.08);color:#fff}
.pw-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.pw-label{font-size:12px;font-weight:600;color:#aab0bc}
.pw-input{width:100%;box-sizing:border-box;height:34px;padding:0 10px;background-color:#1a1d21;border:1px solid #3a3f4a;border-radius:6px;color:#dde1e8;font-size:13px;font-family:'Noto Sans Korean';outline:none;transition:border-color .15s;color-scheme:dark}
.pw-input:focus{border-color:#2E578E}
.pw-input::placeholder{color:#8f98a8;font-size:12px}
.pw-save-btn{width:100%;height:36px;margin-top:4px;background-color:#3B6FB6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;font-family:'Noto Sans Korean';cursor:pointer;transition:filter .15s}
.pw-save-btn:hover{filter:brightness(1.15)}
.pw-tooltip-wrap{position:relative;display:inline-flex;align-items:center;margin-left:4px}
.pw-tooltip-icon{font-size:12px;color:#fff;cursor:pointer;line-height:1}
.pw-tooltip-icon:hover{color:#dde1e8}
.pw-tooltip-box{display:none;position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);width:200px;padding:8px 10px;background:#1a1d21;border:1px solid #3a3f4a;border-radius:6px;font-size:11px;color:#aab0bc;line-height:1.6;white-space:normal;z-index:400}
.pw-tooltip-box::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#3a3f4a}
.pw-tooltip-wrap:hover .pw-tooltip-box{display:block}
.info-popup-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #3a3f4a}
.info-profile-name{font-size:15px;font-weight:700;color:#fff;line-height:1.4}
.info-profile-greeting{font-size:12px;color:#aab0bc;margin-top:2px}
.modify-box{display:flex;justify-content:center;gap:10px;align-items:center}
.modify-box a{display:block;text-decoration:none}
.modify-box .cbtn{background-color:#3B6FB6;width:70px;margin-right:0}
.modify-box .cbtn:hover{opacity:1;filter:brightness(1.15)}
.favorite-list{background-color: #393d43}
.favorite-list li{padding: 12px 30px 12px 10px;font-size: 14px;color: #fff;position: relative;user-select: none;white-space: nowrap;text-overflow: ellipsis;overflow: hidden}
.favorite-list li.select{background-color: #305ca6;cursor: default}
.favorite-list li:hover{background-color: #305ca6;cursor: pointer}
.favorite-list li .ic-plus{position: absolute;right: 5px;cursor: pointer;transform: rotate(45deg);font-size: 12px}
.favorite-list li .ic-plus:hover::before{opacity: .8}
.favorite-regist-wrap .ctext{width: calc(100% - 20px)}
.favorite-point-overlay{border-radius: 50%;margin: 20px;height: 10px;width: 10px;background: rgba(255, 0, 0, 1);box-shadow: 0 0 0 0 rgba(255, 0, 0, 1);transform: scale(1);animation: pulse 2s infinite}
@keyframes pulse {0% {transform: scale(0.95);box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7)}70% {transform: scale(1);box-shadow: 0 0 0 10px rgba(255, 0, 0, 0)}100% {transform: scale(0.95);box-shadow: 0 0 0 0 rgba(255, 0, 0, 0)}}
.nodata{height: 20px;text-align: center;}
.notice-popup{display:none;position:fixed;top:45vh;left:50vw;z-index:50;width:220px;text-align:center;padding:14px 15px;background-color:rgba(255,255,255,.8);user-select:none;box-shadow:0 0 6px 0 rgb(0 0 0 / 30%);border-radius:3px;font-size:14px;font-weight:600}
.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#login-modal{ background-color: rgba(0,0,0,.4); position: absolute; width: 100%; height: 100%; top: 0; z-index: 100; display: -webkit-flex;color: #ccc; margin: auto;}
#login-modal .login-box{ background-color:rgba(255,255,255,1); width: 320px; height: 280px; position: relative; border-radius: 15px; padding: 25px;}
.login-box .logo{padding-top: 10px; margin-bottom: 10px;}
.login-form input[type=text]{ border: 1px solid #ccc; height: 32px; border-radius: 5px; width: 92%; margin-bottom: 10px; padding-left: 16px;}
.login-form input[type=password]{ border: 1px solid #ccc; height: 32px; border-radius: 5px; width: 92%; margin-bottom: 10px; padding-left: 16px;}
.login-form-button{font-size: 1.2rem; color: #fff; background-color: #007bff; border-color: #007bff; border: 1px solid #ccc; height: 44px; border-radius: 5px; width: 92%; margin-bottom: 10px; padding-left: 16px;}
#login-modal #login.cbtn.main:hover{background-color:#3a6ab5;opacity:1}
.login-title{font-size:18px; color:#393d43; text-align:center;font-weight: bold;margin-bottom: 20px;}
.login-success{display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; gap:14px; padding:20px 0; animation:fadeInUp 0.3s ease;}
.login-success-icon{width:52px; height:52px; border-radius:50%; background:#28a745; display:flex; align-items:center; justify-content:center; animation:popIn 0.35s cubic-bezier(0.34,1.56,0.64,1);}
.login-success-icon::after{content:''; display:block; width:14px; height:22px; border:3px solid #fff; border-top:none; border-left:none; transform:rotate(45deg) translate(-2px,-2px);}
.login-success-msg{font-size:15px; color:#393d43; font-weight:600; letter-spacing:0.3px;}
@keyframes fadeInUp{from{opacity:0; transform:translateY(8px);}to{opacity:1; transform:translateY(0);}}
@keyframes popIn{from{transform:scale(0.3);}to{transform:scale(1);}}

div.vis-network {background-color: white;}

.result-list-name{font-size: 14px;color: #fff}
.result-list-name + .result-list-addr_jibun{margin-top: 10px}
.result-list-addr_jibun + .result-list-addr_road{margin-top: 5px}
.result-list-addr_jibun,.result-list-addr_road{color: #fff;font-size: 12px;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;padding: 1px}
.result-list-addr_jibun::before,.result-list-addr_road::before{display: inline-block;background-color: #474c53;border: 1px solid #999;border-radius: 8px;font-size: 10px;color: #ddd;padding: 2px 0;width: 38px;text-align: center;margin-right: 5px}
.result-list-addr_jibun::before{content: '지번'}
.result-list-addr_road::before{content: '도로명'}
.bus-stop-result .result-list-addr_jibun::before{content: '정류장 번호';width: 58px}
.bus-stop-result .result-list-addr_road::before{content: '주소'}
.bus-stop-result .result-list-fest_place::before{content: '정류장유형';width: 58px}

/*.ic-plus{float: right;cursor: pointer;}*/
#basicTourPopup{display: none;width: 260px;height: 295px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,0.3);border-radius: 5px;user-select: none;position: relative;padding: 15px}
#basicFestPopup{display: none;width: 260px;height: 320px;background-color: #22252a;box-shadow: 0 0 6px 0 rgba(0,0,0,0.3);border-radius: 5px;user-select: none;position: relative;padding: 15px}

#basicTourPopupBasicInfoBtn, #basicFestPopupBasicInfoBtn{margin-left: 5px; margin-top: 10px;}
#basicTourPopupReportBtn, #basicFestPopupReportBtn{margin-left: 5px; margin-top: 10px;}
#basicTourPopupCloseBtn, #basicFestPopupCloseBtn{margin-left: 5px; margin-top: 10px;}

.bill-cbtn.main , .plan-cbtn.main{background-color: #4a7fd4}
.bill-cbtn.main:active, .plan-cbtn:active{background-color: #3a6ab5}

.bill-cbtn, .plan-cbtn{font-family: 'Noto Sans Korean';font-size: 14px;font-weight: 600;border-radius: 3px;color: #fff;text-align: center;padding: 7px 0;outline: none;border: none;width: 95px; /*margin-top: 17px; margin-right: 13px*/}
/*.bill-cbtn{font-family: 'Noto Sans Korean';font-size: 14px;font-weight: 600;border-radius: 3px;color: #fff;text-align: center;padding: 8px 0;outline: none;border: none;width: 90px; margin-top: 10px; margin-right: 5px}*/
.bill-cbtn:last-child,.plan-cbtn:last-child{margin-right: 0}
.bill-cbtn:hover,.plan-cbtn:hover{opacity: .8;cursor: pointer}
.bill-cbtn.main,.plan-cbtn.main{background-color: #4a7fd4}
.bill-cbtn.main:active,.plan-cbtn.main:active{background-color: #3a6ab5}
.bill-cbtn.sub,.plan-cbtn.sub{background-color: #4a7fd4}
.bill-cbtn.sub:active,.plan-cbtn.sub:active{background-color: #3a6ab5}

.bill-cbtn.tourpopup, .bill-cbtn.festpopup{font-family: 'Noto Sans Korean';font-size: 14px;font-weight: 600;border-radius: 3px;color: #fff;text-align: center;padding: 8px 0;outline: none;border: none;width: 76px; margin-top: 10px; margin-right: 5px}

/* 로드뷰 */
#roadviewPopup{overflow: hidden; padding: 0px 0px}
.panel-body{height:100%; padding-top: 2px;  padding-left: 4px;}
#roadview-angle{display: inline-block;width: 100px;height: 50px;background: url('/images/roadview_arc2.png') no-repeat 0 0;position: relative}
.roadview-marker{position: absolute;top: calc(50% - 37px);left: calc(50% - 25px)}

.tour_thumb, .fest_thumb{width: 250px;height: 162px;}

/*버스정류장광고_효과분석_캠페인별 분석*/
.companybtn {-webkit-font-smoothing:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:14px;border:1px solid #999;background-color:#474c53;border-radius:3px;height:28px;width:100px;color:#fff;outline:0;font-family:'Noto Sans Korean';display:inline-block;}
.companybtn:hover{opacity: .8;cursor: pointer}
.companybtn:active{background-color: #383C42}
.cmpn-popup-search-div{display: flex; gap: 20px; align-items: center;}
.cmpn-popup-input-wrap{position: relative; flex: 1 1 auto;}
#searchKeyword{height: 36px;}
.enable-input{border: 1px solid #fff;}
#cmpnReviewTable > .accordion-div > .accordion-label > span.review{color: #8AABC5;}

/*캠페인별 분석 - 캠페인 등록*/
.manage-input-style{border: 1px solid #4a5060; border-radius: 4px; width: 320px; height: 28px; background-color: #343944; box-sizing: border-box;}
.manage-input-style select{height: 28px; width: 100%; background-color: #343944; color: #dde1e8; border: none; outline: none; padding: 0 8px; -webkit-appearance: none; font-family: 'Noto Sans Korean'; font-size: 13px;}
.mbtn{font-family: 'Noto Sans Korean';font-weight: 600;border-radius: 5px;text-align: center;outline: none;border: none;width: 80px;color: #fff;background:#4a7fd4;}
.mbtn:hover{background: #4a7fd4; opacity: .8; cursor: pointer;}
.manage-controls {display: flex; flex-direction: column; gap: 5px;}
.manage-actions{display: inline-flex; gap: 10px;}
.attr-info li .manage-controls,
.attr-info li .manage-actions{ background: transparent; }
#billcmpnmanageadd > .popup-title > span{float: right;}
/* 캠페인 등록/수정 폼 — 라벨 고정 + 컨트롤 전체 너비 채움 */
#billcmpnmanageadd .attr-info li.flexcenter_bt { justify-content: flex-start; gap: 10px; }
#billcmpnmanageadd .attr-info li.flexcenter_bt > p { flex: 0 0 70px; white-space: nowrap; }
#billcmpnmanageadd .attr-info li.flexcenter_bt > .input-style,
#billcmpnmanageadd .attr-info li.flexcenter_bt > .manage-controls,
#billcmpnmanageadd .attr-info li.flexcenter_bt > #thumbnail-container { flex: 1; width: auto; min-width: 0; box-sizing: border-box; }
/*캠페인별 분석 - 캠페인 등록 사진 안내 오버레이*/
#billcmpnmanageadd #thumbnail-container { position: relative; overflow: hidden; height: 220px; }
#billcmpnmanageadd #thumbnail-container .clickable-overlay,
#billcmpnmanageadd #thumbnail-container #thumbnail { width: 100%; height: 100%; object-fit: cover; display: block; }
#billcmpnmanageadd #thumbnail-container #thumbnail { opacity: 0; transition: opacity 0.15s ease; }
#billcmpnmanageadd #thumbnail-container.has-image #thumbnail { opacity: 1; }
#billcmpnmanageadd #thumbnail-container .clickable-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(57, 61, 67, 0.72);
    cursor: pointer;
}
#billcmpnmanageadd #thumbnail-container.has-image .clickable-overlay {
    display: none;
}
#billcmpnmanageadd #thumbnail-container .thumbnail-guide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    padding: 0 20px;
}
#billcmpnmanageadd #thumbnail-container .thumbnail-guide-icon {
    width: 56px;
    height: 56px;
    background: url("/images/no-image.png") no-repeat center center / contain;
    opacity: 0.9;
}
#billcmpnmanageadd #thumbnail-container .thumbnail-guide-text {
    color: #f3f6fb;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}
/*캠페인별 분석 - 캠페인 등록 매체 입력/버튼 정렬*/
#billcmpnmanageadd .manage-input-style { flex: 1; width: auto; min-width: 0; }
#billcmpnmanageadd .text-style { width: 100%; height: 120px; box-sizing: border-box; }
#billcmpnmanageadd .text-style textarea { min-height: 120px; }
#billcmpnmanageadd .manage-actions {
    width: 100%;
    justify-content: center;
}
#billcmpnmanageadd #spot_list {
    scrollbar-width: thin;
    scrollbar-color: #555c6b #1a1d21;
}
#billcmpnmanageadd #spot_list::-webkit-scrollbar {
    width: 8px;
}
#billcmpnmanageadd #spot_list::-webkit-scrollbar-track {
    background: #1a1d21;
    border-radius: 4px;
    margin: 1px;
}
#billcmpnmanageadd #spot_list::-webkit-scrollbar-thumb {
    background-color: #555c6b;
    border-radius: 4px;
}
#billcmpnmanageadd #spot_list::-webkit-scrollbar-thumb:hover {
    background: #6b7280;
}
body > div.ui-widget-overlay{background: #000;}
#manageSearchResultTable { --box-h: 300px; --head-h: 32px; }
#spotSearchResultTable { --box-h: 140px; --head-h: 32px; }
#manageSearchResultTable .com-tbl,
#spotSearchResultTable .com-tbl{ max-height: none; }
#manageSearchResultTable .com-tbl-head,
#spotSearchResultTable .com-tbl-head{ /* 필요 시 높이 고정 가능 */ }
#manageSearchResultTable .com-tbl-body,
#spotSearchResultTable .com-tbl-body{
    max-height: calc(var(--box-h) - var(--head-h));
    overflow-y: auto !important;    /* 인라인/기존 규칙 덮어쓰기 */
    overflow-x: hidden;             /* 가로바로 가림 방지(필요 시) */
    box-sizing: border-box;
}
/*캠페인별 분석 - 캠페인 등록 매체 확인/달력 입력창*/
#billcmpnmanageadd #spotSearchResultTable {
    --box-h: 240px;
    min-height: 240px;
}
#billcmpnmanageadd #spotSearchResultTable.nodata {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-bottom: 16px;
}
#camStartYmd, #camEndYmd{
    background: url("/images/calendar-black.png") no-repeat right 8px center / 16px 16px;
    padding-right: 28px;       /* 아이콘 자리 확보 */
    background-color:#fff;     /* 필요 시 입력 배경색 */
    box-sizing: border-box;
    cursor: pointer;
    color: #1f2329 !important;
    font-weight: 600;
}

/*사업자 검색 시 결과*/
.cmpn-result{padding: 12px 10px; text-align: center;height: 40px;box-sizing: border-box;background-color: #393d43;}
.cmpn-result:hover{background-color: #4E91DF;cursor: pointer}
.cmpn-result-none {height: 100%;display: flex;align-items: center;justify-content: center ;color: #fff;padding-top: 5px;}
.company-item-wrap {background-color: #393d43;max-height: 110px;overflow-y: auto;border: 1px solid #999;}
.company-item {padding: 8px;border: 1px solid rgba(153, 153, 153, 0.5);text-align: center;color: #fff;cursor: pointer;}
.company-item:hover {background-color: #22252a;color: #4E91DF;}
.company-item.selected {background-color: #22252a;color: #4E91DF;}

/*캠페인 검색 결과*/
.cmpn-table-wrapper {max-height: 125px;overflow-y: auto;display: block;}
.cmpn-table {width: 100%;border-collapse: collapse;color: #fff;font-size: 14px; }
.cmpn-table thead th {background-color: #2d3035;color: #fff;text-align: center;padding: 6px 8px; border: 1px solid rgba(153, 153, 153, 0.5); font-weight: bold;position: sticky; top:0;}
.cmpn-table tbody tr:hover td {background-color: #22252a;color: #4E91DF;}
.cmpn-table tbody tr.selected td {background-color: #22252a;color: #4E91DF;}
.cmpn-table tbody td {background-color: #393d43;padding: 8px;border: 1px solid rgba(153, 153, 153, 0.5); vertical-align: middle;text-align: center;color: #fff;cursor: pointer;}


/*버스정류장광고_상세팝업_효과분석_사진대지 사진 썸네일*/
.clickable-overlay {position: absolute; width: 470px; height: 350px; background-color: rgba(128, 128, 128, 0.5); /* 회색 배경, 투명도 조절 가능 */ pointer-events: auto; /* 클릭 가능하도록 설정 */}
#thumbnail-container {flex: 40%;height: 350px;margin-bottom: 10px;background-color: #393d43;padding: 10px}
#picForm {flex: 60%;}
#thumbnail {width: 470px; height: 350px;}
.img_chk_bt {display: flex; justify-content: flex-end; align-items: center;}
#lbl_chkbox {color: white;}
.pic-tbl-nm {width: 100px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}

/* 버스정류장_상세팝업_start*/
.ad-popup-info-container{display: flex; align-items: flex-start; justify-content: space-between;}
.ad-popup-info-container > .ad-popup-info{width:100%; min-width: 0;}
.ad-popup-info .popup-ad_type {overflow: hidden;text-overflow: ellipsis;white-space: nowrap; width: 100%;display: block; }
.popup-box {margin: 2px 0 3px 0; }
.popup-box div { margin-bottom: 5px;color: #fff;font-size: 13px;}
.popup-ad_type::before{content:'';display:inline-block;width:3px;height:3px;margin:7px 6px 3px 0;background-color:#fff; border-radius: 100%;}
.text-style{ border: 1px solid #4a5060; border-radius: 4px; width: 300px; height: 70px; display: inline-block; background-color: #343944;}
.text-style textarea {width: 100%; height: 100%; box-sizing: border-box; resize: none; background: none; color: #dde1e8; outline: none; padding: 4px 6px; font-size: 13px; font-family: 'Noto Sans Korean';}
.popup-ad_color {color: #6C94DA; font-weight: 600}
/* hideOverlayBtn은 .bill-popup-header 내 flex로 처리 */
/* 버스정류장_상세팝업_end*/

/* 버스정류장광고_상세팝업_기본정보_start */
.attr-info{ font-size: 14px;}
.attr-info li{ margin-bottom: 5px; color: #fff;}
.attr-info li p{ font-size: 13px; color: #fff; margin-bottom: 4px;}
.attr-info li div{ background-color: #343944; border-radius: 4px;}
.attr-info li div input{ background: none; width: 100%; font-size: 13px; display: inline-block; color: #dde1e8; outline: none; }
.attr-info li div select{ background-color: #343944; color: #dde1e8; border: none; width: 100%; font-size: 13px; outline: none; }
.attr-info li p:last-child{ width: 385px; line-height: 34px; background-color: #343944; border-radius: 4px;}
.input-style{ border: 1px solid #4a5060; border-radius: 4px; width: 300px; height: 28px; background-color: #343944; }
.input-style-half{ border: 1px solid #4a5060; border-radius: 4px; width: 45%; height: 28px; background-color: #343944;}
.input-style input[type=text],
.input-style input[type=number],
.input-style input[type=search],
.input-style-half input[type=text],
.input-style-half input[type=number],
.input-style-half input[type=search]{ border: none; background: none; width: 100%; height: 90%; display: inline-block; color: #dde1e8; outline: none; padding: 0 8px;}
.input-style i{ color: #6b7280;}
.input-style select{width: 300px; height: 28px; background-color: #343944; color: #dde1e8; border: none; outline: none; -webkit-appearance: none; padding: 0 8px;}
/* 버스정류장광고_상세팝업_기본정보_end */

/* 버스정류장광고_플래닝_분석속성_멀티 셀렉트 박스_start*/
.multi-select-container {position: relative;
    box-sizing: border-box;
    height: 28px;
    line-height: 22px;
    width: 128px;
    outline: 0;
    appearance: none;
    font-size: 13px;
    border: 1px solid #4a5060;
    background-color: #343944;
    border-radius: 4px;
    padding: 3px 20px 3px 10px;
    color: #dde1e8;
    font-family: 'Noto Sans Korean';
    display: inline-block;
    background-image: url(/images/ic-arrow-n.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
}
.multi-select-button:hover{
    cursor: pointer;
    opacity: .8
}
.multi-select-menu {
    background: #343944;
    padding: 5px;
    border: 1px solid #4a5060;
    font-family: 'Noto Sans Korean';
    box-sizing: border-box;
    max-height: 200px;
    overflow-y: auto;
}
.multi-select-container .multi-select-menu {
    display: none;             /* 기본 숨김 */
    position: absolute;
    bottom: 100%;              /* 버튼 위로 붙이기 */
    left: 0;
    z-index: 1000;
    min-width: 100%;
}
.multi-select-container.multi-select-container--open .multi-select-menu {
    display: block;
}
.multi-select-menuitem, .multi-select-selectall {
    display: block;
    width: 100%;
    margin-bottom: 4px;
    color: #fff;
    font-size: 14px;
    height: 25px;
}
.multi-select-menuitem input[type="checkbox"] {
    margin-right: 6px;
    vertical-align: middle;
}
.multi-select-menuitem:hover, .multi-select-menuitem:hover::before, .multi-select-selectall:hover, .multi-select-selectall:hover::before{
    background-color: #305ca6;
    cursor: pointer
}
.multi-select-selectall span{
    color: #fff;
}
.multi-select-container--open .multi-select-menu {
    display: block;
}
.multi-select-container--open .multi-select-button:after {
    border-width: 0 0.4em 0.4em 0.4em;
    border-color: transparent transparent #999 transparent;
}
/* 버스정류장광고_플래닝_분석속성_멀티 셀렉트 박스_end*/

#conStartYmd, #conEndYmd, #adPackageYm, #cmpnPlanYm{
    background: url("/images/calendar-white.png") no-repeat right 8px center / 16px 16px;
    cursor: pointer;
}

/*달력 색 변경*/
/* 같은 달의 일반 날짜(클릭 가능한 a) */
.ui-datepicker .ui-datepicker-calendar a.ui-state-default,
.ui-datepicker .ui-datepicker-calendar a.ui-state-default:link,
.ui-datepicker .ui-datepicker-calendar a.ui-state-default:visited {
    color: #ffffff !important;
}

/* 다른 달 날짜나 비활성 날짜(클릭 불가 span) */
.ui-datepicker .ui-datepicker-calendar span.ui-state-default {
    color: #393d43 !important;
}

/* 오늘 */
.ui-datepicker .ui-datepicker-calendar .ui-state-highlight {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* 선택된 날짜 */
.ui-datepicker .ui-datepicker-calendar .ui-state-active {
    color: #fff !important;
    background: #1F50B5 !important;
}

/* hover */
.ui-datepicker .ui-datepicker-calendar a.ui-state-hover {
    color: #1F50B5 !important;
}

/* 팝업 전체의 기본 글자색을 강제 */
select.mtz-monthpicker {
    color: #000000 !important;
}

/* 개별 월 셀(구조에 따라 하나라도 걸리게 폭넓게) */
.mtz-monthpicker .monthpicker-month,
.mtz-monthpicker .ui-state-default,
.mtz-monthpicker .ui-button,
.mtz-monthpicker a,
.mtz-monthpicker span,
.mtz-monthpicker div {
    color: #ffffff !important;
    cursor: pointer !important;
}

/* 선택됨(Active) */
.mtz-monthpicker .ui-state-active,
.mtz-monthpicker .monthpicker-selected {
    color: #fff !important;
    background: #1F50B5 !important;
    font-weight: 700;
}

/* hover */
.mtz-monthpicker .monthpicker-month:hover,
.mtz-monthpicker a:hover,
.mtz-monthpicker .ui-state-hover {
    color: #1F50B5 !important;
    cursor: pointer !important;
}

/* ===== 관리 - 광고주 관리 ====== */
#manageAccordion > .accordion-wrap {
    display: flex;
    flex-direction: column;
}
.mng-company-result-none, .mng-campaign-result-none {display: flex;align-items: center;justify-content: center ;color: #fff;padding-top: 5px;}
.mng-company-result {margin-top: 15px;}
.mng-company-result + div.accordion-content {height:auto; min-height:0;}
.mng-company-cnt, .mng-campaign-cnt {color: #4a7fd4;}
/* 개별 아이템 기본 스타일 */
.mng-item {
    padding: 10px 20px;
    border-bottom: 1px solid #495057;
    background-color: #343a40;
}

/* 활성화 상태 (파란색 배경) */
.mng-item.selected, .mng-item:hover {
    background-color: #335ca3 !important; /* 이미지의 파란색 계열 */
    border-bottom: none;
    cursor: pointer;
}

/* 제목 (00기획) */
.mng-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
}
.mng-title + .mng-info {
    margin-top: 10px;
}

/* 정보 한 줄 (담당자/연락처 행) */
.mng-info {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}

/* 라벨 (둥근 테두리 버튼 형태) */
.mng-label {
    display: inline-block;
    width: 80px;
    text-align: center;
    padding: 3px 0;
    border: 1px solid #666E88;
    border-radius: 15px;
    font-size: 12px;
    margin-right: 15px;
    opacity: 0.8;
}

/* 값 (이름/번호) */
.mng-value {
    color: #C3C7D3;
    font-size: 12px;
}

.mng-company-result-div{
    height: 100%;
    overflow: hidden ;
}

#mngCompanyResult, #mngCampaignResult {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

#mngListArea, #mngCamListArea {
    flex: 1;
    overflow-y: auto;
    min-height: 25px;
}

#mngListArea::-webkit-scrollbar, #mngCamListArea::-webkit-scrollbar { width: 8px; }
#mngListArea::-webkit-scrollbar-track, #mngCamListArea::-webkit-scrollbar-track { background: #1a1d21; border-radius: 4px; }
#mngListArea::-webkit-scrollbar-thumb, #mngCamListArea::-webkit-scrollbar-thumb { background-color: #555c6b; border-radius: 4px; }
#mngListArea::-webkit-scrollbar-thumb:hover, #mngCamListArea::-webkit-scrollbar-thumb:hover { background: #6b7280; }

#mngPagingArea , #mngCamPagingArea {
    flex-shrink: 0; /* 페이징 영역 크기 고정 */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 17px;
}

#mngcompanyedit > ul.attr-info > li.flexcenter_bt > div.input-style {width: 300px;}

.medMngFavoriteBtn {
    position: absolute;
    right: 2.2em;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #d7dce5;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.medMngFavoriteBtn.on {
    color: #ffd24a;
}

.mng-medium-favorite-title {
    flex: 0 0 auto;
    color: #dce2eb;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
}

.mng-medium-favorite-campaign {
    flex: 0 1 150px;
    min-width: 90px;
    overflow: hidden;
    color: #4a7fd4;
    font-size: 13px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mng-medium-favorite-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.mng-medium-grid-popup .cmpn-popup-input-wrap {
    flex: 0 0 180px;
    width: 180px;
    min-width: 0;
    position: relative;
}

.mng-medium-favorite-panel {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: none;
    width: calc(100% - 430px);
    /*height: 230px;*/
    padding: 12px;
    border-top: 2px solid #4a7fd4;
    background-color: #1a1d21;
    box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.32);
    overflow: hidden;
    transform: translateY(18px);
    opacity: 0;
    transition: transform 0.18s ease, opacity 0.18s ease, bottom 0.3s ease;
}

.mng-medium-favorite-panel.above-table {
    bottom: 190px;
}

.nav-wrap.hide ~ .mng-medium-favorite-panel {
    width: calc(100% - 90px);
}

.mng-medium-favorite-panel.is-open {
    display: flex !important;
    flex-direction: column;
    transform: translateY(0);
    opacity: 1;
}

.mng-medium-grid-popup .csearch {
    width: 100%;
    height: 28px;
    padding-right: 34px;
    font-size: 13px;
}

.mng-medium-grid-popup .search-btn {
    top: 4px;
    right: 8px;
}

.mng-medium-grid-popup .cbox {
    flex: 0 0 150px;
    width: 150px;
    height: 28px;
    font-size: 13px;
}

.mng-medium-favorite-map-only {
    flex: 0 0 82px;
    display: flex;
    align-items: center;
    gap: 3px;
    color: #d7dce5;
    font-size: 12px;
    white-space: nowrap;
}

.mng-medium-favorite-map-only input {
    flex: 0 0 auto;
}

.mng-medium-favorite-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.mng-medium-favorite-notice {
    font-size: 12px;
    padding-right: 5px;
    color: #9ea7b3;
}

#mngMediumFavoriteBatchAddBtn {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 132px;
    height: 28px;
    margin-right: 0 !important;
    padding: 0 10px;
    font-size: 13px;
    line-height: 28px;
}

.mng-medium-favorite-close {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: #d7dce5;
    font-size: 20px;
    line-height: 22px;
    cursor: pointer;
}

.mng-medium-favorite-close:hover {
    color: #fff;
}

.mng-medium-cluster-popup {
    width: 340px;
    max-height: 300px;
    border: 1px solid #4a5060;
    border-radius: 4px;
    background-color: #1a1d21;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32);
    overflow: hidden;
}

.mng-medium-cluster-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 34px;
    padding: 0 10px;
    border-bottom: 1px solid #3a3f4a;
    background-color: #2a2f38;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

.mng-medium-cluster-close {
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: #d7dce5;
    font-size: 20px;
    line-height: 22px;
    cursor: pointer;
}

.mng-medium-cluster-list {
    max-height: 266px;
    overflow-y: auto;
}

.mng-medium-cluster-item {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid #3a3f4a;
    background-color: #22252A;
    color: #d7dce5;
    text-align: left;
    cursor: pointer;
}

.mng-medium-cluster-item:hover {
    background-color: #1e2a40;
}

.mng-medium-cluster-item strong,
.mng-medium-cluster-item span,
.mng-medium-cluster-item em {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mng-medium-cluster-item strong {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-size: 13px;
}

/* 겹친 매체 목록에서 제목은 말줄임 처리하고 즐겨찾기 별은 우측에 고정한다. */
.mng-medium-cluster-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mng-medium-cluster-favorite-star {
    flex: 0 0 auto;
    color: #ffd54f;
    font-size: 14px;
    font-style: normal;
    line-height: 1;
}

.mng-medium-cluster-item span {
    margin-top: 3px;
    color: #7da2e1;
    font-size: 12px;
}

.mng-medium-cluster-item em {
    margin-top: 3px;
    color: #9ea7b3;
    font-size: 12px;
    font-style: normal;
}

.mng-medium-favorite-count {
    height: 18px;
    color: #9ea7b3;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

.mng-medium-grid-popup .mng-medium-popup-table {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    display: block;
}

.mng-medium-grid-popup .cmpn-table-wrapper {
    display: block;
    height: 146px;
    max-height: none;
    min-height: 146px;
    border: none;
    border-radius: 4px;
    overflow: hidden;
}

.mng-medium-grid-popup .cmpn-table-wrapper::-webkit-scrollbar { width: 8px; }
.mng-medium-grid-popup .cmpn-table-wrapper::-webkit-scrollbar-track { background: #1a1d21; border-radius: 4px; }
.mng-medium-grid-popup .cmpn-table-wrapper::-webkit-scrollbar-thumb { background-color: #555c6b; border-radius: 4px; }
.mng-medium-grid-popup .cmpn-table-wrapper::-webkit-scrollbar-thumb:hover { background: #6b7280; }

.mng-medium-grid-popup .cmpn-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: #fff;
    font-size: 13px;
}

.mng-medium-grid-popup .cmpn-table th {
    background-color: #2a2f38;
    font-weight: bold;
    letter-spacing: 0.5px;
    border: none;
    border-right: 1px solid #3a3f4a;
}

.mng-medium-grid-popup .cmpn-table td {
    background-color: #22252A;
    border: none;
    border-right: 1px solid #2d3035;
}

.mng-medium-grid-popup .cmpn-table th,
.mng-medium-grid-popup .cmpn-table td {
    box-sizing: border-box;
    padding: 2px;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mng-medium-grid-popup .cmpn-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.mng-medium-grid-popup .cmpn-table tr {
    border-bottom: 1px solid #3a3f4a;
}

.mng-medium-grid-popup .cmpn-table tr:nth-child(even) td {
    background-color: #262b33;
}

.mng-medium-grid-popup .cmpn-table tr:hover td {
    background-color: #1e2a40;
    color: #7da2e1;
    cursor: pointer;
    transition: background-color 0.15s;
}

.mng-medium-grid-popup .cmpn-table .mng-medium-empty-row td {
    height: 141px;
    text-align: center;
    color: #9ea7b3;
    cursor: default;
}

.mng-medium-grid-popup .cmpn-table .mng-medium-empty-row:hover td {
    background-color: #22252A;
    color: #9ea7b3;
}

.mng-medium-favorite-paging {
    box-sizing: border-box;
    height: 33px;
    padding-top: 5px;
    text-align: center;
}

/* 즐겨찾는 매체는 1번 컬럼 체크박스의 기본 마진 때문에 행 높이가 24.06px로 측정된다.
   버스정류장은 체크박스가 없어 텍스트만으로는 더 낮으므로(2px 패딩 시 22.1px), 같은 높이로 맞추기 위해 상하 패딩만 늘린다. */
#mngMediumBusStopPopup .cmpn-table th,
#mngMediumBusStopPopup .cmpn-table td {
    padding: 5px 2px;
}

#mngMediumFavoritePopup .cmpn-table tbody td:first-child {
    text-align: center;
}

#mngMediumBusStopPopup .cmpn-popup-input-wrap {
    flex: 0 0 320px;
    width: 320px;
}

#manageAccordion .accordion-title[data-type="mng_media"].select + .accordion-wrap {
    overflow: hidden !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
}

#manageAccordion .accordion-title[data-type="mng_media"].select + .accordion-wrap::-webkit-scrollbar {
    display: none;
}

.mng-medium-grid-popup .cmpn-table tbody tr.active td {
    background-color: #22344d;
    color: #fff;
}

#mngMediumFavoritePopup .favoriteDeleteBtn {
    border: 0;
    background: transparent;
    color: #d7dce5;
    cursor: pointer;
}
#mediumManageDialog ul.attr-info li.flexcenter_bt { gap: 10px; }
#mediumManageDialog ul.attr-info li.flexcenter_bt > p { flex: 0 0 80px; white-space: nowrap; }
#mediumManageDialog ul.attr-info li.flexcenter_bt > div.input-style { width: 260px; }
#mediumManageDialog ul.attr-info li.flexcenter_bt > div.input-style input,
#mediumManageDialog ul.attr-info li.flexcenter_bt > div.input-style select {
    height: 100%;
    box-sizing: border-box;
    text-align: center;
    line-height: 28px;
}
#mediumManageDialog ul.attr-info li.flexcenter_bt > div.input-style select {
    width: 100%;
    padding: 0 28px;
    text-align-last: center;
    background-image: url(/images/ic-arrow-n.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
}
#mediumManageDialog .input-style.is-readonly,
#mediumManageDialog .input-style.is-disabled {
    border-color: #3a3f4a;
    background-color: #2a2f38;
}
#mediumManageDialog .input-style.is-readonly input,
#mediumManageDialog .input-style.is-disabled input,
#mediumManageDialog .input-style.is-disabled select,
#mediumManageDialog .input-style input[readonly],
#mediumManageDialog .input-style input:disabled,
#mediumManageDialog .input-style select:disabled {
    color: #8f98a8 !important;
    cursor: not-allowed;
    opacity: 1;
}
#mngcampaignedit .input-style.is-disabled,
#mngcampaignedit .accordion-label.is-disabled {
    border-color: #3a3f4a;
    background-color: #2a2f38;
}
#mngcampaignedit .input-style.is-disabled input,
#mngcampaignedit .accordion-label.is-disabled select,
#mngcampaignedit .input-style input:disabled,
#mngcampaignedit .accordion-label select:disabled {
    color: #8f98a8 !important;
    cursor: not-allowed;
    opacity: 1;
}
#mediumManageDialog .input-style:not(.is-readonly):not(.is-disabled):focus-within {
    border-color: #6f93d3;
}
#mediumManageDialog .radius-stepper {
    display: flex;
    align-items: center;
    overflow: hidden;
}
.medium-period-range {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.medium-period-range input[type=text] {
    flex: 0 0 auto;
    width: 112px;
    min-width: 0;
    height: 100%;
    text-align: left;
    padding: 0 0 0 6px;
}
.medium-period-sep {
    flex: 0 0 auto;
    padding: 0 4px;
    color: #6b7280;
}
#mediumManageDialog .radius-stepper input[type=number] {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 100%;
    text-align: center;
    padding: 0 8px;
    -moz-appearance: textfield;
}
#mediumManageDialog .radius-stepper input[type=number]::-webkit-outer-spin-button,
#mediumManageDialog .radius-stepper input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#mediumManageDialog .radius-step-btn {
    flex: 0 0 28px;
    width: 28px;
    height: 100%;
    border: 0;
    border-right: 1px solid #4a5060;
    background: #4a7fd4;
    color: #dde1e8;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}
#mediumManageDialog .radius-step-btn:last-child {
    border-right: 0;
    border-left: 1px solid #4a5060;
}
#mediumManageDialog .radius-step-btn:hover {
    background: #4a7fd4;
    opacity: .8;
}
#mediumManageDialog .radius-step-btn:disabled {
    color: #7b8494;
    background: #2a2f38;
    cursor: default;
}
/* ===== 관리 - 매체 관리 ====== */
#mngMediumMapSearchClearBtn {
    float: right;
    font-size: 11px;
    color: #8a94a8;
    background: transparent;
    border: 1px solid #4a5060;
    border-radius: 4px;
    padding: 2px 8px;
    cursor: pointer;
    line-height: 1.6;
}

#mngMediumMapSearchClearBtn:hover {
    border-color: rgba(200, 80, 80, 0.5);
    color: #c87878;
    background: rgba(200, 80, 80, 0.08);
}
#manageAccordion > #manageMediumSection > .accordion-wrap {
    overflow-y: auto !important;
    scrollbar-width: auto !important;   /* ← Firefox 스크롤바 복원 */
}

#manageAccordion > #manageMediumSection > .accordion-wrap::-webkit-scrollbar {
    display: block !important; /* ← Chrome/Safari 스크롤바 복원 */
    width: 8px;
}

.mng-medium-section,
.mng-medium-searchbox,
.mng-medium-result-card,
.mng-medium-bottom-sheet,
.mng-medium-map-popup,
.bill-result-card{
    color: #fff;
}

.mng-medium-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mng-medium-field-label {
    font-size: 14px;
    color: #fff;
}

.mng-medium-field-actions {
    display: flex;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.mng-medium-result-card,
.bill-result-card{
    border: 1px solid #4a5060;
    background-color: #393d43;
    padding: 14px 14px 10px;
    border-radius: 4px;
}

.mng-medium-result-row,
.bill-result-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.mng-medium-result-row:last-child,
.bill-result-row:last-child {
    margin-bottom: 0;
}

.mng-medium-result-label,
.bill-result-label{
    position: relative;
    padding-left: 12px;
    color: #dce2eb;
    font-size: 14px;
    font-weight: 600;
}

.mng-medium-result-label::before,
.bill-result-label::before{
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #dce2eb;
}

.mng-medium-result-value, .bill-result-value {
    color: #dde1e8;
    font-size: 14px;
    text-align: right;
}

#mngcompanyedit > ul.attr-info > li.flexcenter_bt > div.input-style {width: 300px;}
#mediumManageDialog ul.attr-info li.flexcenter_bt { gap: 10px; }
#mediumManageDialog ul.attr-info li.flexcenter_bt > p { flex: 0 0 80px; white-space: nowrap; }
#mediumManageDialog ul.attr-info li.flexcenter_bt > div.input-style { width: 260px; }
#mediumManageDialog ul.attr-info li.flexcenter_bt > div.input-style select {
    width: 100%;
    padding-right: 28px;
    background-image: url(/images/ic-arrow-n.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
}
/* ===== 관리 - 매체 관리 ====== */
.mng-medium-section,
.mng-medium-searchbox,
.mng-medium-result-card,
.mng-medium-bottom-sheet,
.mng-medium-map-popup,
.bill-result-card{
    color: #fff;
}

.mng-medium-field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mng-medium-field-label {
    font-size: 14px;
    color: #fff;
}

.mng-medium-field-actions {
    display: flex;
    justify-content: flex-end;
    flex: 0 0 auto;
}

.mng-medium-result-card,
.bill-result-card{
    border: 1px solid #4a5060;
    background-color: #393d43;
    padding: 14px 14px 10px;
    border-radius: 4px;
}

.mng-medium-result-row,
.bill-result-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.mng-medium-result-row:last-child,
.bill-result-row:last-child {
    margin-bottom: 0;
}

.mng-medium-result-label,
.bill-result-label{
    position: relative;
    padding-left: 12px;
    color: #dce2eb;
    font-size: 14px;
    font-weight: 600;
}

.mng-medium-result-label::before,
.bill-result-label::before{
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #dce2eb;
}

.mng-medium-actions, .cmpn-actions{
    display: flex;
    gap: 6px;
    margin: 10px 0 14px;
}

.mng-medium-add-btn {
    flex: 1 1 0;
    width: auto;
    margin-right: 0;
}

.mng-medium-add-btn.is-adding {
    background-color: #4a7fd4 !important;
}

.mng-medium-add-btn:disabled {
    background-color: #3a3f4a !important;
    color: #8f98a8 !important;
    cursor: default;
    opacity: 1 !important;
}

.mng-medium-add-btn:disabled:hover {
    opacity: 1 !important;
    cursor: default;
}

.mng-medium-actions .cbtn, .cmpn-actions .cbtn, #mngCompanySearchBtns .cbtn, #mngCampaignSearchBtns .cbtn {
    flex: 1 1 0;
}

.mng-medium-searchbox .input-style {
    width: 100%;
    margin-bottom: 8px;
}

.mng-medium-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #d9dde5;
}

.mng-medium-list-title {
    margin-top: 12px;
}

#mngMediumSearchCount {
    color: #4a7fd4;
}

.mng-medium-list-wrap {
    height: 240px;
    padding: 0;
}

.mng-medium-search-list {
    height: 100%;
    overflow-y: auto;
    border: 1px solid #4a5060;
    background-color: #2e333b;
}
.mng-medium-search-list::-webkit-scrollbar {width: 8px;}
.mng-medium-search-list::-webkit-scrollbar-track {background: #1a1d21; border-radius: 4px; margin: 1px;}
.mng-medium-search-list::-webkit-scrollbar-thumb {background-color: #555c6b; border-radius: 4px;}
.mng-medium-search-list::-webkit-scrollbar-thumb:hover {background: #6b7280;}

.mng-medium-search-item {
    padding: 10px 10px 8px;
    border-bottom: 1px solid #454b55;
    cursor: pointer;
}

.mng-medium-search-item.active {
    background-color: #22252a;
}

.mng-medium-search-name {
    margin-bottom: 8px;
    color: #7da2e1;
    font-size: 14px;
}

.mng-medium-search-address {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
    color: #d7dbe3;
    font-size: 12px;
}

.mng-medium-chip {
    min-width: 32px;
    padding: 1px 4px;
    border-radius: 3px;
    background-color: #4b5058;
    color: #fff;
    font-size: 11px;
    text-align: center;
}

.mng-medium-grid-wrap {
    padding: 0;
    margin-top: 10px;
}

.mng-medium-bottom-sheet {
    border: 1px solid #626975;
    background-color: #30353d;
    overflow: hidden;
}

.mng-medium-bottom-sheet-head,
.mng-medium-bottom-sheet-row {
    display: grid;
    grid-template-columns: 62px 72px 84px 150px 110px 96px 70px 78px 62px;
    align-items: center;
}

.mng-medium-bottom-sheet-head {
    background-color: #4b515c;
    border-bottom: 1px solid #686f7c;
}

.mng-medium-bottom-sheet-head span,
.mng-medium-bottom-sheet-row span {
    display: block;
    padding: 8px 6px;
    border-right: 1px solid #626975;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    text-align: center;
}

.mng-medium-bottom-sheet-head span:last-child,
.mng-medium-bottom-sheet-row span:last-child {
    border-right: none;
}

.mng-medium-bottom-sheet-body {
    max-height: 180px;
    overflow-y: auto;
}

.mng-medium-bottom-sheet-row {
    border-bottom: 1px solid #4c525d;
    cursor: pointer;
}

.mng-medium-bottom-sheet-row:hover span,
.mng-medium-bottom-sheet-row.active span {
    background-color: #22252a;
    color: #4E91DF;
}

.mng-medium-hidden {
    display: none;
}

.mng-medium-map-popup {
    position: absolute;
    z-index: 20;
    width: 360px;
    padding: 12px;
    background-color: #1a1d21;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
    border-radius: 4px;
    overflow: hidden;
}

#cmpnSearchPopup {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#cmpnSearchResultTable {
    flex: 1;
    min-height: 0;
    margin-bottom: 0;
}

#cmpnSearchResultTable.nodata {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 광고대행사/캠페인 검색 팝업 - 데이터 현황 팝업과 동일 스타일 */
#cmpnSearchPopup .popup-title {
    background-color: transparent;
    border-bottom: 1px solid #35393f;
    padding: 4px 0 6px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7a90;
    letter-spacing: 0.4px;
    margin-bottom: 8px;
}
#cmpnSearchPopup .popup-title::before {
    display: none;
}
#cmpnSearchPopup .accordion-content {
    background-color: transparent;
    padding: 0 0 12px;
}
#cmpnSearchPopup .popup-table {
    background-color: rgba(24, 33, 47, 0.92);
    border: 1px solid #3a3f4a;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    border-radius: 6px;
    padding: 0;
    overflow: hidden;
}
#cmpnSearchPopup .com-tbl {
    background-color: #1a1d21;
    border: none;
    border-radius: 0;
}
#cmpnSearchPopup .com-tbl-head tr {
    border-bottom: 1px solid #3a3f4a;
    background-color: #1a1d21;
}
#cmpnSearchPopup .com-tbl-head td {
    background-color: #1a1d21;
    color: #aab0bc;
    font-size: 12px;
    font-weight: 700;
}
#cmpnSearchPopup .com-tbl-body tr {
    background-color: #22252a;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}
#cmpnSearchPopup .com-tbl-body tr:nth-child(even) td {
    background-color: #1f2937;
}
#cmpnSearchPopup .com-tbl-body tr:hover td {
    background-color: rgba(255, 255, 255, 0.05);
    color: #fff;
}
#cmpnSearchPopup .com-tbl-body tr.selected td {
    background-color: rgba(255, 255, 255, 0.05);
    color: #fff;
}
#cmpnSearchPopup .com-tbl-body tr.selected td:first-child {
    box-shadow: inset 3px 0 0 #7da2e1;
}

#mngMediumFavoritePopup {
    top: 220px;
    left: 470px;
}

.mng-medium-favorite-panel#mngMediumFavoritePopup {
    top: auto;
    left: auto;
}

.ui-dialog #mngMediumFavoritePopup {
    top: auto;
    left: auto;
}

#mngMediumPopupSkeleton {
    width: 360px;
}

.mng-medium-popup-title {
    position: relative;
    display: block;
    padding: 0 24px 0 0;
    background-color: transparent;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.mng-medium-popup-title:not(.popup-title) span::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: 7px 6px 3px 0;
    background-color: #7da2e1;
    vertical-align: top;
}

.medium-manage-title {
    position: relative;
    margin-bottom: 0;
    padding: .5em 1em;
    background: #2a2f38;
    background-image: none;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    border-bottom: 1px solid #fff;
    cursor: move;
    user-select: none;
}

.medium-manage-title-text {
    display: block;
    margin: .1em 0;
    width: 90%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mng-medium-popup-close {
    position: absolute;
    right: .6em;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.mng-medium-popup-body {
    padding: 12px;
    background-color: #1a1d21;
    border-radius: 3px;
}

.mng-medium-popup-body.popup-table {
    margin-bottom: 0;
}

.mng-medium-popup-table {
    padding: 12px;
    background-color: #1a1d21;
}

.mng-medium-popup-row {
    display: grid;
    grid-template-columns: 86px 1fr;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.mng-medium-popup-row label {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

.mng-medium-popup-row .input-style {
    width: 100%;
}

.mng-medium-popup-row .input-style input,
.mng-medium-popup-row .input-style select {
    width: 100%;
}

.mng-medium-popup-row .input-style select {
    padding-right: 28px;
    background-image: url(/images/ic-arrow-n.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
}

.mng-medium-popup-actions {
    display: flex;
    gap: 8px;
    padding: 12px 10px 0;
    background-color: transparent;
}

.mng-medium-popup-actions .cbtn {
    flex: 1 1 0;
}

.mng-medium-popup-actions .cbtn.main {
    background-color: #4a7fd4;
}

.mng-medium-popup-actions .cbtn.main:active {
    background-color: #3a6ab5;
}

.mng-medium-popup-actions .cbtn.main:disabled {
    background-color: #3a3f4a !important;
    color: #8f98a8 !important;
    cursor: default;
    opacity: 1 !important;
}

.mng-medium-popup-actions .cbtn.main:disabled:hover,
.mng-medium-popup-actions .cbtn.main:disabled:active {
    background-color: #3a3f4a !important;
    opacity: 1 !important;
    cursor: default;
}

.mng-medium-manage-popup .mng-medium-popup-row label {
    white-space: nowrap;
}

#mngcompanyedit > ul.attr-info > li.flexcenter_bt > div.input-style {width: 300px;}

/* 관리 탭 - mng-item 카드 스타일 개선 */
#manageAccordion .mng-item {
    padding: 12px 14px;
    background-color: #252930;
    border: 1px solid #3e4a5c;
    border-bottom: 1px solid #3e4a5c;
    border-radius: 6px;
    margin-bottom: 8px;
    transition: border-color 0.12s ease, background-color 0.12s ease;
}
#manageAccordion .mng-item:last-child {
    margin-bottom: 0;
}
#manageAccordion .mng-item.selected,
#manageAccordion .mng-item:hover {
    background-color: #263550 !important;
    border-color: #4a7fd4 !important;
    cursor: pointer;
}
#manageAccordion .mng-title {
    font-size: 13px;
    font-weight: 600;
    color: #dce6f5;
    margin-bottom: 8px;
}
#manageAccordion .mng-title + .mng-info {
    margin-top: 0;
}
#manageAccordion .mng-info {
    margin-bottom: 4px;
    gap: 8px;
    overflow: hidden;
}
#manageAccordion .mng-label {
    width: 64px;
    flex-shrink: 0;
    border: none;
    border-radius: 3px;
    background-color: #3a3f4a;
    color: #8f9ab0;
    font-size: 11px;
    padding: 2px 4px;
    margin-right: 0;
    opacity: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#manageAccordion .mng-value {
    color: #b0bcd0;
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* 캠페인 패딩 !important 덮어쓰기 */
#mngCampaignResult > #mngCamListArea > .mng-item {
    padding: 12px 14px !important;
}

/* 관리/효과분석 탭 - accordion-div 네모 제거 및 폰트 조정 */
#manageAccordion .accordion-div::before,
#billboardAccordion .accordion-div::before {
    display: none;
}
#manageAccordion .accordion-div,
#billboardAccordion .accordion-div {
    color: #b0b8c8;
    font-size: 13px;
}

/* 관리 탭 전체 - 입력박스 폰트/높이/색 통일 */
#manageAccordion .ctext,
#manageAccordion .cbox {
    font-size: 13px;
    font-weight: 400;
    height: 28px;
    box-sizing: border-box;
}
#manageAccordion .ctext {
    background-color: #343944;
    border-color: #4a5060;
    color: #dde1e8;
    opacity: 0.9;
}
#manageAccordion .ctext:focus {
    border-color: #7da2e1;
    opacity: 1;
}
#manageAccordion .ctext::placeholder,
#manageMediumSection .csearch::placeholder {
    font-size: 12px;
}

/* 매체 관리 검색창 높이 ctext/cbox와 통일 + 돋보기 버튼 수직 중앙 정렬 */
#manageMediumSection .csearch {
    height: 28px;
    box-sizing: border-box;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 13px;
    font-weight: 400;
}
#manageMediumSection .search-btn {
    top: 50%;
    transform: translateY(-50%);
}

/* 광고대행사명 입력창 - 검색 버튼 너비와 일치*/
#mngCompanyNam {
    width: 145px;
}
/* 캠페인명 입력창 */
#mngCampaignNam {
    width: 128px;
}

/* 관리/효과분석/홈 탭 섹션 헤더 개선 */
#manageAccordion .accordion-subtitle,
#billboardAccordion .accordion-subtitle,
#homeArticle .accordion-subtitle {
    background-color: transparent;
    border-bottom: 1px solid #35393f;
    border-radius: 0;
    padding: 4px 0 6px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7a90;
    letter-spacing: 0.4px;
    margin-bottom: 6px;
}
#manageAccordion .accordion-content,
#billboardAccordion .accordion-content,
#homeArticle .accordion-content {
    background-color: transparent;
    border-radius: 0;
}
#homeArticle .accordion-content {
    padding: 0;
    position: relative;
}
#manageMediumSection .accordion-div {
    color: #b0b8c8;
    font-size: 13px;
}
#manageMediumSection .accordion-div::before {
    display: none;
}

/* 관리/효과분석 탭 전체 버튼 폰트/패딩 본문 라벨과 균형 맞춤 */
#manageMediumSection .mng-medium-actions .cbtn,
#manageMediumSection .companybtn,
#mngCompanySearchBtns .cbtn,
#mngCampaignSearchBtns .cbtn,
#billCmpnSearchBtns .cbtn,
#billboardAccordion .companybtn {
    font-size: 13px;
    font-weight: 500;
    padding: 6px 10px;
}

/* 효과분석 - 검색결과 카드 개선 (매체관리 카드와 동일) */
#billboardAccordion .bill-result-card {
    padding: 0;
    border: 1px solid #3e4a5c;
    background-color: #252930;
    border-radius: 6px;
    overflow: hidden;
}
#billboardAccordion .bill-result-row {
    height: 36px;
    padding: 0 14px;
    margin-bottom: 0;
    border-bottom: 1px solid #2f3540;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
#billboardAccordion .bill-result-row:last-child {
    border-bottom: none;
}
#billboardAccordion .bill-result-label {
    padding-left: 0;
    color: #8f9ab0;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
}
#billboardAccordion .bill-result-label::before {
    display: none;
}
#billboardAccordion .bill-result-value {
    color: #dce6f5;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 검색/효과분석 - 검색 버튼 cbtn 스타일 통일 */
#manageMediumSection .companybtn,
#billboardAccordion .companybtn {
    border: none;
    height: auto;
    background-color: #4a7fd4;
}
#manageMediumSection .companybtn:hover {
    opacity: 0.8;
}

/* 매체 관리 - '검색어' 레이블만 accordion-subtitle 스타일로 */
#manageMediumSection .accordion-content.mb0 .accordion-div {
    height: auto;
    line-height: normal;
    padding: 4px 0 6px;
    margin-bottom: 6px;
    border-bottom: 1px solid #35393f;
    font-size: 11px;
    font-weight: 700;
    color: #6b7a90;
    letter-spacing: 0.4px;
}
#manageMediumSection .accordion-content.mb0 .accordion-div::before {
    display: none;
}

/* 매체 관리 - 검색 입력 폰트 조정 (높이 블록과 합산) */

/* 매체 관리 - 체크박스 라벨 균형 조정 */
#manageMediumSection .csel[type=checkbox] + label {
    font-weight: 400;
    font-size: 13px;
    color: #b0b8c8;
}
#manageMediumSection .csel[type=checkbox] + label::before {
    vertical-align: middle;
}

/* 매체관리 검색 결과 카드 개선 */
.mng-medium-result-card {
    padding: 0;
    border: 1px solid #3e4a5c;
    background-color: #252930;
    border-radius: 6px;
    overflow: hidden;
}
.mng-medium-result-card .mng-medium-result-row {
    height: 36px;
    padding: 0 14px;
    margin-bottom: 0;
    border-bottom: 1px solid #2f3540;
    gap: 8px;
}
.mng-medium-result-card .mng-medium-result-row:last-child {
    border-bottom: none;
}
.mng-medium-result-card .mng-medium-result-label {
    padding-left: 0;
    color: #8f9ab0;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
}
.mng-medium-result-card .mng-medium-result-label::before {
    display: none;
}
.mng-medium-result-card .mng-medium-result-value {
    color: #dce6f5;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== 관리 - 캠페인 관리 ====== */
#mngCampaignSearchBtns, #mngCompanySearchBtns{
    display: flex;
    gap: 6px;
}
.mng-campaign-result {margin-top: 15px;}
.mng-campaign-result + div.accordion-content {/*height: 380px;*/height:auto; min-height: 0;}
.input-style input.mng-cam-datepicker{
    background: url("/images/calendar-white.png") no-repeat right 8px center / 16px 16px;
    cursor: pointer;
    padding-right: 28px;       /* 아이콘 자리 확보 */
    /*background-color:#343944;     /* 필요 시 입력 배경색 */
    box-sizing: border-box;
    color: #dde1e8 !important;
    font-weight: 600;
}
#mngCampaignResult > #mngCamListArea > .mng-item {/*padding: 10px 5px !important;*/padding: 12px !important;}
/*#mngCampaignResult > #mngCamListArea > .mng-item > .mng-info > .mng-label {!*width: 60px !important;*!width: 63px !important;}*/

/* ===== HOME - 공지사항 빈 슬롯 ===== */
.notice-div-empty {
    opacity: 0.35;
    pointer-events: none;
    cursor: default;
}
.notice-div-empty .notice-div {
    color: #4a5060;
}

/* ===== HOME - 인트로 배너 ===== */
.home-intro {
    background-color: #1e2229;
    border-radius: 4px;
    padding: 10px 12px;
    margin-bottom: 10px;
    border: 1px solid #2c3038;
}
.home-intro-desc {
    font-size: 12px;
    font-weight: 300;
    color: #ffffff;
    line-height: 1.8;
    letter-spacing: 0.2px;
}