/* CEO SHIELD V6.3 SIDEBAR-ONLY SAFE MODULE
   IMPORTANT: no body/main height, overflow, flex or layout rules. */
#ceoshield-sidebar.ceo-sidebar-host,
aside.sidebar.ceo-sidebar-host{
  width:240px!important;
  min-width:240px!important;
  max-width:240px!important;
  box-sizing:border-box!important;

  /* V6.3.6 POLICY HEIGHT LOCK
     policy.html의 PC 기준 padding:30px 20px를 공통 모듈 기준으로 고정 */
  padding-top:30px!important;
  padding-right:20px!important;
  padding-bottom:30px!important;
  padding-left:20px!important;

  background:#1f2f45!important;
}
.ceo-sidebar-host .ceo-sidebar-title{
  width:200px!important;height:66px!important;
  margin:0 0 28px!important;padding:0!important;
}
.ceo-sidebar-host .ceo-sidebar-title img{
  display:block!important;width:200px!important;height:66px!important;
  object-fit:contain!important;margin:0!important;padding:0!important;border:0!important;
}
.ceo-sidebar-host .ceo-nav,
.ceo-sidebar-host .ceo-nav:hover,
.ceo-sidebar-host .ceo-nav:focus,
.ceo-sidebar-host .ceo-nav:active{
  appearance:none!important;-webkit-appearance:none!important;
  display:block!important;
  width:200px!important;min-width:200px!important;max-width:200px!important;
  height:60px!important;min-height:60px!important;max-height:60px!important;
  margin:0 0 14px!important;padding:0!important;
  border:0!important;border-radius:0!important;outline:0!important;
  background:transparent!important;box-shadow:none!important;
  transform:none!important;translate:none!important;
  overflow:hidden!important;cursor:pointer!important;
  font-size:0!important;line-height:0!important;color:transparent!important;
}
.ceo-sidebar-host .ceo-nav-img{
  display:block!important;
  width:200px!important;min-width:200px!important;max-width:200px!important;
  height:60px!important;min-height:60px!important;max-height:60px!important;
  margin:0!important;padding:0!important;border:0!important;
  object-fit:contain!important;
  opacity:1!important;visibility:visible!important;
  transform:none!important;filter:none!important;pointer-events:none!important;
}
.ceo-sidebar-host .ceo-master-only{display:none!important;}
html.ceoshield-role-master .ceo-sidebar-host .ceo-master-only{display:block!important;}
.ceo-sidebar-host .ceo-exit{margin-top:220px!important;margin-bottom:0!important;}
@media(max-width:768px){
  .ceo-sidebar-host .ceo-nav,.ceo-sidebar-host .ceo-sidebar-title{display:none!important;}
}
/* CEO SHIELD V6.3.4 EXIT REFERENCE LOCK
   1번 이미지 종료 버튼을 기준으로 고정.
   위 카테고리 PNG 버튼에는 영향 없음. */
.ceo-sidebar-host .ceo-exit,
.ceo-sidebar-host .ceo-exit:hover,
.ceo-sidebar-host .ceo-exit:focus,
.ceo-sidebar-host .ceo-exit:focus-visible,
.ceo-sidebar-host .ceo-exit:active{
  width:200px!important;
  min-width:200px!important;
  max-width:200px!important;
  height:60px!important;
  min-height:60px!important;
  max-height:60px!important;
  margin-top:220px!important;
  margin-right:0!important;
  margin-bottom:0!important;
  margin-left:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  overflow:visible!important;
  cursor:pointer!important;
  position:relative!important;
  left:0!important;
  top:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}

.ceo-sidebar-host .ceo-exit-ui{
  width:200px!important;
  min-width:200px!important;
  max-width:200px!important;
  height:60px!important;
  min-height:60px!important;
  max-height:60px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:26px!important;
  padding:0 0 0 24px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:2px solid #fb7185!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#3b2230 0%,#241723 100%)!important;
  box-shadow:inset 0 0 18px rgba(251,113,133,.08)!important;
  cursor:pointer!important;
  position:relative!important;
  left:0!important;
  top:0!important;
  transform:none!important;
}

.ceo-sidebar-host .ceo-exit:hover .ceo-exit-ui,
.ceo-sidebar-host .ceo-exit:focus .ceo-exit-ui,
.ceo-sidebar-host .ceo-exit:focus-visible .ceo-exit-ui,
.ceo-sidebar-host .ceo-exit:active .ceo-exit-ui{
  width:200px!important;
  height:60px!important;
  padding:0 0 0 24px!important;
  border-width:2px!important;
  border-style:solid!important;
  border-color:#fb7185!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#3b2230 0%,#241723 100%)!important;
  box-shadow:inset 0 0 18px rgba(251,113,133,.08)!important;
  left:0!important;
  top:0!important;
  transform:none!important;
}

.ceo-sidebar-host .ceo-exit-power{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  flex:0 0 30px!important;
  display:block!important;
  overflow:visible!important;
  fill:none!important;
  stroke:#ff7c8d!important;
  stroke-width:2.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}

.ceo-sidebar-host .ceo-exit-text{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#ff7c8d!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.2px!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

/* CEO SHIELD V6.3.5 NON-EXIT HOVER FIX
   종료 버튼은 V6.3.4 그대로 유지.
   상단 5개 PNG 버튼은 hover 시 active PNG, mouseleave 시 normal PNG로 복귀. */
.ceo-sidebar-host .ceo-nav:not(.ceo-exit),
.ceo-sidebar-host .ceo-nav:not(.ceo-exit):hover,
.ceo-sidebar-host .ceo-nav:not(.ceo-exit):focus,
.ceo-sidebar-host .ceo-nav:not(.ceo-exit):active{
  cursor:pointer!important;
  transform:none!important;
  outline:none!important;
  box-shadow:none!important;
}
.ceo-sidebar-host .ceo-nav:not(.ceo-exit) .ceo-nav-img{
  cursor:pointer!important;
}


/* CEO SHIELD V6.3.6 POLICY HEIGHT LOCK
   페이지별 기존 .sidebar top/padding 규칙보다 공통 모듈이 우선함.
   policy.html 기준: padding 30px 20px. */
#ceoshield-sidebar.ceo-sidebar-host,
aside.sidebar.ceo-sidebar-host{
  top:0!important;
  bottom:auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:30px!important;
  padding-right:20px!important;
  padding-bottom:30px!important;
  padding-left:20px!important;
}
