/* FIX29 - single stable mobile full-menu layer */
@media(max-width:760px){
  body.erp29-mobile-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }

  /* 새 메뉴가 열려 있을 때 기존 Sidebar는 화면/입력에서 완전히 제외.
     기존 데이터/메뉴 DOM 자체는 삭제하지 않는다. */
  body.erp29-mobile-menu-open > #root .sidebar{
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
    transform:translateX(-110%)!important;
  }

  .erp29-mobile-menu-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    isolation:isolate!important;
    color-scheme:light!important;
  }

  .erp29-mobile-menu-backdrop{
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    width:100%!important;
    height:100%!important;
    border:0!important;
    border-radius:0!important;
    margin:0!important;
    padding:0!important;
    background:rgba(4,16,34,.54)!important;
    opacity:1!important;
    pointer-events:auto!important;
    appearance:none!important;
  }

  .erp29-mobile-menu-drawer{
    position:absolute!important;
    z-index:1!important;
    inset:0 auto 0 0!important;
    width:min(86vw,390px)!important;
    height:100dvh!important;
    min-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:#102b50!important;
    background-image:linear-gradient(180deg,#12315a 0%,#0d2748 100%)!important;
    color:#dce8f8!important;
    box-shadow:18px 0 42px rgba(3,15,31,.32)!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    isolation:isolate!important;
    padding-top:env(safe-area-inset-top)!important;
    forced-color-adjust:none!important;
  }

  .erp29-mobile-menu-header{
    flex:0 0 auto!important;
    min-height:102px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:18px 14px 16px 18px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    background:transparent!important;
  }

  .erp29-mobile-menu-brand{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }

  .erp29-mobile-menu-logo{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px!important;
    background:#3174dc!important;
    color:#fff!important;
    font-size:22px!important;
    font-weight:900!important;
  }

  .erp29-mobile-menu-brand-text{
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    min-width:0!important;
  }

  .erp29-mobile-menu-brand-text b{
    color:#fff!important;
    font-size:18px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  .erp29-mobile-menu-brand-text small{
    color:#8fa8ca!important;
    font-size:9px!important;
    letter-spacing:1.1px!important;
    white-space:nowrap!important;
  }

  .erp29-mobile-menu-close{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.06)!important;
    color:#e8f0fb!important;
    font-size:26px!important;
    line-height:1!important;
    pointer-events:auto!important;
  }

  .erp29-mobile-menu-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:8px 12px calc(112px + env(safe-area-inset-bottom))!important;
    pointer-events:auto!important;
    touch-action:pan-y!important;
  }

  .erp29-mobile-menu-nav{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
  }

  .erp29-mobile-menu-group{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:12px 0 10px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
  }

  .erp29-mobile-menu-group:last-child{
    border-bottom:0!important;
  }

  .erp29-mobile-menu-group-title{
    display:block!important;
    margin:0 8px 7px!important;
    padding:5px 8px!important;
    color:#829bbb!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1.4!important;
    opacity:1!important;
  }

  .erp29-mobile-menu-item{
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    margin:2px 0!important;
    padding:12px 14px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#cedbed!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    text-align:left!important;
    font:inherit!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.4!important;
    white-space:normal!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(74,132,218,.20)!important;
  }

  .erp29-mobile-menu-item > span:first-child{
    width:24px!important;
    min-width:24px!important;
    flex:0 0 24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#7f9bc0!important;
  }

  .erp29-mobile-menu-item.active{
    background:#2c5594!important;
    color:#fff!important;
    box-shadow:inset 3px 0 0 #6da5ff!important;
  }

  .erp29-mobile-menu-item.active > span:first-child{
    color:#bcd5ff!important;
  }

  .erp29-mobile-menu-item:active{
    background:#244a83!important;
  }
}
