/* Version: v1.5.0 (2026-08-01) | White-first logout contrast (topbar PC/mobile) */
.adm-topbar-right {
  display: flex; align-items: center; gap: 0.65rem; flex-shrink: 0; margin-left: auto;
}
.adm-lang-mount { position: relative; z-index: 40; }
.adm-lang-wrap { position: relative; }
.adm-lang-flag-img {
  width: 1.25rem; height: 0.95rem; object-fit: cover;
  border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  flex-shrink: 0; display: block;
}
.adm-lang-btn {
  display: flex; align-items: center; gap: 0.45rem;
  min-width: 7rem; padding: 0.45rem 0.8rem; border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #E8F4F2; font-size: 0.78rem; font-weight: 600; cursor: pointer;
}
.adm-lang-btn:hover {
  border-color: rgba(45, 212, 191, 0.45);
  background: rgba(45, 212, 191, 0.08);
}
.adm-lang-chevron {
  margin-left: auto; font-size: 0.62rem; opacity: 0.65;
  transition: transform 0.15s ease;
}
.adm-lang-wrap.is-open .adm-lang-chevron { transform: rotate(180deg); }
.adm-lang-menu {
  position: absolute; right: 0; top: calc(100% + 0.45rem);
  width: 13.5rem; max-height: 70vh; overflow-y: auto;
  border-radius: 18px; border: 1px solid #D5E8E5;
  background: #fff; box-shadow: 0 16px 40px rgba(6, 20, 22, 0.28);
  padding: 0.35rem; z-index: 60;
}
.adm-lang-item {
  display: flex; align-items: center; gap: 0.65rem; width: 100%;
  border: 0; background: transparent; border-radius: 12px;
  padding: 0.55rem 0.7rem; text-align: left; cursor: pointer;
  color: #0A2428; font-size: 0.84rem; font-weight: 600;
}
.adm-lang-item:hover { background: #F2FAF9; }
.adm-lang-item.is-active { background: #E6F7F5; color: #0F5C61; font-weight: 700; }
.adm-lang-item-label { flex: 1; }
.adm-lang-label {
  max-width: 5.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* 데모: 상단 언어선택 금지 · 홈 버튼만 */
body.demo-console-body .adm-lang-wrap,
body.demo-console-body .adm-lang-btn,
body.demo-console-body .adm-lang-menu {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 로그인 후(총괄·파트너): 언어팩 강제 숨김 */
body[data-adm-page] .adm-lang-wrap,
body[data-adm-page] .adm-lang-btn,
body[data-adm-page] .adm-lang-menu,
body[data-ptn-view]:not(.demo-console-body) .adm-lang-wrap,
body[data-ptn-view]:not(.demo-console-body) .adm-lang-btn,
body[data-ptn-view]:not(.demo-console-body) .adm-lang-menu {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 데모 상단 홈 — White topbar 대비 */
.adm-topbar-home {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  padding: 0.5rem 0.95rem; border-radius: 9999px;
  border: 1.5px solid #0F5C61;
  background: #F2FAF9;
  color: #0F5C61;
  font-size: 0.8rem; font-weight: 800;
  text-decoration: none; white-space: nowrap;
  line-height: 1.2;
}
.adm-topbar-home:hover {
  background: #0F5C61;
  border-color: #0F5C61;
  color: #FFFFFF;
}
.adm-topbar-home i { font-size: 0.82rem; color: inherit; }
.adm-topbar-home-label { color: inherit; font-weight: 800; }
@media (max-width: 480px) {
  .adm-topbar-home { padding: 0.48rem 0.8rem; min-height: 2.25rem; }
  .adm-topbar-home-label { font-size: 0.75rem; }
}

/* 로그인 후 상단 로그아웃 — White topbar 대비 (연분홍 #FECACA 금지) */
.adm-topbar-logout {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  padding: 0.5rem 0.95rem; border-radius: 9999px;
  border: 1.5px solid #F87171;
  background: #FEF2F2;
  color: #B91C1C;
  font-size: 0.8rem; font-weight: 800; cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
  box-shadow: 0 1px 2px rgba(185, 28, 28, 0.08);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.adm-topbar-logout:hover {
  background: #FEE2E2;
  border-color: #DC2626;
  color: #991B1B;
  box-shadow: 0 4px 12px rgba(185, 28, 28, 0.12);
}
.adm-topbar-logout:active {
  background: #DC2626;
  border-color: #DC2626;
  color: #FFFFFF;
}
.adm-topbar-logout i { font-size: 0.82rem; color: inherit; }
.adm-topbar-logout-label {
  color: inherit;
  font-weight: 800;
  letter-spacing: -0.01em;
}
@media (max-width: 480px) {
  .adm-topbar-logout { padding: 0.48rem 0.8rem; min-height: 2.25rem; }
  .adm-topbar-logout-label { font-size: 0.75rem; }
}

/* 모바일: 상단 로그아웃 항상 선명하게 */
html.adm-mobile .adm-topbar-logout,
body.adm-body .adm-topbar-logout {
  color: #B91C1C;
  background: #FEF2F2;
  border-color: #F87171;
}

.al-right { position: relative; }
.al-lang-bar {
  position: absolute; top: 1.1rem; right: 1.1rem; z-index: 30;
}
.al-lang-bar .adm-lang-btn {
  min-width: 7.5rem;
  border: 1px solid #D5E8E5;
  background: #fff;
  color: #0A2428;
  box-shadow: 0 6px 18px rgba(6, 20, 22, 0.12);
}
.al-lang-bar .adm-lang-btn:hover {
  border-color: #0F5C61;
  background: #F2FAF9;
}
@media (max-width: 900px) {
  .al-lang-bar { top: 0.75rem; right: 0.75rem; }
}
