/* =========================================================
   V102 NAV + ADMIN CENTER TUNE
   ========================================================= */

/* ---------------------------------------------------------
   상단 네비 전체
   --------------------------------------------------------- */
.topbar,
header,
.nav,
.desktop-nav{
  overflow: visible !important;
}

.desktop-nav{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}

/* 메뉴 버튼: 세로 줄바꿈 방지 */
.desktop-nav a,
.desktop-nav button,
.desktop-nav .nav-btn,
.topbar a,
.topbar button{
  writing-mode:horizontal-tb !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  line-break:auto !important;
  text-orientation:mixed !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;

  width:auto !important;
  min-width:92px !important;
  min-height:54px !important;
  padding:0 16px !important;

  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  letter-spacing:-0.02em !important;
  border-radius:18px !important;
}

/* 너무 좁아서 2줄 되는 메뉴들 약간 더 확보 */
.desktop-nav a[href*="recruit"],
.desktop-nav a[href*="matchmaker"],
.desktop-nav a[href*="stats"],
.desktop-nav a[href*="champion"],
.desktop-nav a[href*="records"],
.desktop-nav a[href*="chemistry"],
.desktop-nav .nav-btn{
  min-width:104px !important;
}

/* ---------------------------------------------------------
   검색 버튼
   박스는 줄이고, 내부는 가로 정렬
   --------------------------------------------------------- */
.topbar [id*="Search"],
.topbar [class*="search"],
header [id*="Search"],
header [class*="search"]{
  writing-mode:horizontal-tb !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
}

/* 검색 열기 버튼 추정 셀렉터들 */
#openSearchV97,
#globalSearchOpen,
.search-trigger,
.search-launch,
.topbar .search-btn,
header .search-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  min-width:150px !important;
  width:150px !important;
  max-width:150px !important;
  min-height:52px !important;
  padding:0 14px !important;

  font-size:16px !important;
  font-weight:800 !important;
  border-radius:18px !important;
}

/* 검색 안의 단축키 배지 */
#openSearchV97 kbd,
#globalSearchOpen kbd,
.search-trigger kbd,
.search-launch kbd,
.topbar .search-btn kbd,
header .search-btn kbd{
  min-width:auto !important;
  padding:5px 10px !important;
  font-size:12px !important;
  line-height:1 !important;
  border-radius:10px !important;
}

/* ---------------------------------------------------------
   관리자 버튼
   박스 대비 글자가 작았던 부분 수정
   --------------------------------------------------------- */
#adminCenterEntryV100,
#adminButtonV99{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:165px !important;
  width:auto !important;
  min-height:54px !important;
  padding:0 18px !important;

  font-size:18px !important;
  font-weight:900 !important;
  line-height:1 !important;
  border-radius:18px !important;

  white-space:nowrap !important;
  word-break:keep-all !important;
}

/* ---------------------------------------------------------
   관리센터 전체 크기/가독성 보정
   --------------------------------------------------------- */
.v100-shell{
  width:min(1460px, calc(100% - 32px)) !important;
}

.v100-hero h1{
  font-size:38px !important;
}

.v100-hero p{
  font-size:15px !important;
  line-height:1.5 !important;
}

.v100-panel{
  border-radius:24px !important;
}

.v100-panel-head{
  padding-bottom:14px !important;
}

.v100-panel-head h2{
  font-size:24px !important;
  line-height:1.2 !important;
}

.v100-panel-head p,
.v100-panel p,
.v100-panel small{
  font-size:15px !important;
  line-height:1.5 !important;
}

/* 상단 요약 카드 */
.v100-stat{
  min-height:116px !important;
  padding:22px !important;
}

.v100-stat strong{
  font-size:28px !important;
  line-height:1.1 !important;
}

.v100-stat small,
.v100-stat p{
  font-size:14px !important;
  line-height:1.45 !important;
}

/* 서버 상태 / 행 영역 */
.v100-row{
  min-height:92px !important;
  padding:22px 0 !important;
  align-items:center !important;
}

.v100-row > *{
  font-size:16px !important;
  line-height:1.45 !important;
}

.v100-row strong,
.v100-row b,
.v100-row-main strong{
  font-size:19px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}

.v100-row small,
.v100-row span,
.v100-row-main small{
  font-size:15px !important;
  line-height:1.45 !important;
}

/* 관리센터 버튼류 */
.v100-shortcuts a,
.v100-shortcuts button{
  min-height:56px !important;
  padding:0 18px !important;
  font-size:16px !important;
  font-weight:800 !important;
  border-radius:16px !important;
}

/* ---------------------------------------------------------
   모바일/작은 해상도
   --------------------------------------------------------- */
@media (max-width: 1400px){
  .desktop-nav a,
  .desktop-nav button,
  .desktop-nav .nav-btn{
    min-width:84px !important;
    padding:0 12px !important;
    font-size:15px !important;
  }

  #openSearchV97,
  #globalSearchOpen,
  .search-trigger,
  .search-launch,
  .topbar .search-btn,
  header .search-btn{
    width:138px !important;
    min-width:138px !important;
  }

  #adminCenterEntryV100,
  #adminButtonV99{
    min-width:150px !important;
    font-size:17px !important;
  }
}

@media (max-width: 1100px){
  .desktop-nav{
    gap:8px !important;
    overflow-x:auto !important;
  }

  .desktop-nav a,
  .desktop-nav button,
  .desktop-nav .nav-btn{
    min-width:78px !important;
    min-height:48px !important;
    font-size:14px !important;
  }

  #openSearchV97,
  #globalSearchOpen,
  .search-trigger,
  .search-launch,
  .topbar .search-btn,
  header .search-btn{
    width:128px !important;
    min-width:128px !important;
    min-height:48px !important;
    font-size:14px !important;
  }

  #adminCenterEntryV100,
  #adminButtonV99{
    min-width:138px !important;
    min-height:48px !important;
    font-size:15px !important;
  }
}


/* =========================================================
   V102.1 TOP MENU FIT
   메인 ~ 케미까지만 작게 조정
   검색 / 관리센터 / 관리자 버튼은 기존 크기 유지
   ========================================================= */


/* 전체 상단바가 화면 밖으로 튀어나가지 않도록 */
.topbar .shell.nav{
  display:flex !important;
  align-items:center !important;

  width:min(
    100%,
    1700px
  ) !important;

  max-width:100% !important;

  padding-left:18px !important;
  padding-right:18px !important;

  gap:8px !important;

  overflow:visible !important;
}


/* ---------------------------------------------------------
   메인 ~ 케미 메뉴 영역
   --------------------------------------------------------- */

.desktop-nav{
  display:flex !important;

  align-items:center !important;
  justify-content:flex-start !important;

  flex:1 1 auto !important;

  min-width:0 !important;

  gap:3px !important;

  overflow:visible !important;

  white-space:nowrap !important;
}


/*
 * V102에서 min-width 92~104px 강제로 줬던 것을 해제.
 * 각 메뉴 글자 길이만큼만 차지하도록 변경.
 */
.desktop-nav > a,
.desktop-nav > button,
.desktop-nav .nav-btn{

  flex:
    0 1 auto !important;

  width:auto !important;

  min-width:0 !important;
  max-width:none !important;

  min-height:46px !important;

  padding:
    0 9px !important;

  border-radius:12px !important;

  font-size:14px !important;
  font-weight:800 !important;

  line-height:1 !important;

  white-space:nowrap !important;
  word-break:keep-all !important;

  writing-mode:
    horizontal-tb !important;

  text-orientation:
    mixed !important;
}


/*
 * 기존 V102에서 특정 메뉴를
 * 104px 이상으로 강제했던 것도 무효화
 */
.desktop-nav a[href*="recruit"],
.desktop-nav a[href*="matchmaker"],
.desktop-nav a[href*="stats"],
.desktop-nav a[href*="champion"],
.desktop-nav a[href*="records"],
.desktop-nav a[href*="chemistry"],
.desktop-nav .nav-btn{

  min-width:0 !important;

}


/* JS로 추가된 메뉴들 */
#recordsEntryV91,
#championsEntryV92,
#awardsEntryV94,
#chemistryEntryV96{

  min-width:0 !important;

  width:auto !important;

  padding:
    0 9px !important;

  font-size:14px !important;

  white-space:nowrap !important;

}


/* ---------------------------------------------------------
   검색 버튼
   지금 크기가 괜찮다고 했으므로 유지하되
   쓸데없는 빈 공간만 방지
   --------------------------------------------------------- */

#globalSearchButtonV97{

  flex:
    0 0 auto !important;

  width:auto !important;

  min-width:135px !important;
  max-width:150px !important;

  min-height:50px !important;

  padding:
    0 12px !important;

  white-space:nowrap !important;

}


/* ---------------------------------------------------------
   관리센터 / 관리자
   현재 크기 유지
   --------------------------------------------------------- */

#adminCenterEntryV100{

  flex:
    0 0 auto !important;

  width:auto !important;

  min-width:145px !important;

  min-height:50px !important;

  padding:
    0 15px !important;

  font-size:17px !important;

  white-space:nowrap !important;

}


#adminButtonV99{

  flex:
    0 0 auto !important;

  width:auto !important;

  min-width:120px !important;

  min-height:50px !important;

  padding:
    0 14px !important;

  font-size:16px !important;

  white-space:nowrap !important;

}


/* DB 상태도 압축 */
#dbStatus{

  flex:
    0 0 auto !important;

  width:auto !important;

  min-width:0 !important;

  margin-left:2px !important;

  white-space:nowrap !important;

}


/* ---------------------------------------------------------
   화면 폭별 자동 축소
   가로 스크롤 대신 메뉴가 조금씩 작아짐
   --------------------------------------------------------- */

@media(max-width:1550px){

  .desktop-nav{
    gap:2px !important;
  }


  .desktop-nav > a,
  .desktop-nav > button,
  .desktop-nav .nav-btn,
  #recordsEntryV91,
  #championsEntryV92,
  #awardsEntryV94,
  #chemistryEntryV96{

    min-width:0 !important;

    padding:
      0 7px !important;

    font-size:13px !important;

  }


  #globalSearchButtonV97{
    min-width:125px !important;
  }


  #adminCenterEntryV100{
    min-width:132px !important;

    font-size:15px !important;
  }


  #adminButtonV99{
    min-width:108px !important;

    font-size:14px !important;
  }

}


@media(max-width:1300px){

  .desktop-nav > a,
  .desktop-nav > button,
  .desktop-nav .nav-btn,
  #recordsEntryV91,
  #championsEntryV92,
  #awardsEntryV94,
  #chemistryEntryV96{

    padding:
      0 5px !important;

    font-size:12px !important;

  }


  #globalSearchButtonV97{

    min-width:105px !important;

    padding:
      0 8px !important;

  }


  #adminCenterEntryV100{

    min-width:115px !important;

    padding:
      0 10px !important;

    font-size:14px !important;

  }


  #adminButtonV99{

    min-width:95px !important;

    padding:
      0 9px !important;

    font-size:13px !important;

  }

}


/* 데스크톱에서 가로 스크롤바 자체가 생기지 않게 */
@media(min-width:901px){

  html,
  body{
    overflow-x:hidden !important;
  }


  .desktop-nav{
    overflow-x:visible !important;
  }

}

