/* Popups live outside the scrolling rail so neither labels nor menus are clipped. */
.topai-menu-source-panel { display: none !important; }
.topai-sidebar-popup, .topai-sidebar-tooltip {
  position: fixed;
  z-index: 1800;
  box-sizing: border-box;
  margin: 0;
  color: #19334d;
  background: #fff;
  border: 1px solid #d8e5ee;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(16, 48, 70, .2);
  font: 14px/1.45 Arial, "Microsoft YaHei", sans-serif;
}
.topai-sidebar-popup { width: 260px; overflow: auto; padding: 7px; }
.topai-sidebar-title { padding: 10px 11px; margin-bottom: 5px; border-bottom: 1px solid #e4edf3; font-weight: 700; }
.topai-sidebar-popup > .topai-sidebar-panel {
  position: static !important;
  display: flex !important;
  flex-direction: column;
  gap: 3px;
  min-width: 0 !important;
  width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}
.topai-sidebar-panel > button, .topai-sidebar-panel > a {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 39px;
  margin: 0; padding: 9px 11px; border: 0; border-radius: 7px;
  background: transparent; color: #344f62; text-align: left; white-space: normal;
  font: inherit; cursor: pointer;
}
.topai-sidebar-panel > :is(button, a):hover, .topai-sidebar-panel > :is(button, a).active { background: #eaf6fb; color: #096782; }
.topai-sidebar-panel :is(button, a):focus-visible { outline: 2px solid #087e9c; outline-offset: -2px; }
.topai-sidebar-panel .admin-nav-icon { display: inline-grid; width: 24px; height: 24px; flex: 0 0 24px; color: #217287; background: #edf6f9; border-color: #d5e6ed; }
.topai-sidebar-tooltip { width: max-content; max-width: 260px; padding: 10px 14px; background: #19334d; border-color: #19334d; color: #fff; white-space: normal; pointer-events: none; }
.has-sidebar-popup { outline: 2px solid rgba(13, 134, 166, .45); outline-offset: -2px; }

.admin-sidebar .admin-sidebar-close, .admin-nav-backdrop { display: none; }
@media (min-width: 901px) {
  body[data-app="admin"] #app { grid-template-columns: 262px minmax(0, 1fr); }
  body[data-app="admin"][data-sidebar="collapsed"] #app { grid-template-columns: 78px minmax(0, 1fr); }
  body[data-app="admin"] .admin-sidebar { position: sticky; top: 0; height: 100vh; overflow: auto; }
  body[data-app="admin"] .admin-sidebar nav { grid-template-columns: 1fr; }
  body[data-app="admin"] .admin-sidebar.collapsed { align-items: center; padding: 18px 9px; }
  body[data-app="admin"] .admin-sidebar.collapsed .admin-brand b,
  body[data-app="admin"] .admin-sidebar.collapsed .admin-menu-group summary > span,
  body[data-app="admin"] .admin-sidebar.collapsed .admin-nav-label,
  body[data-app="admin"] .admin-sidebar.collapsed .admin-menu-group summary::after,
  body[data-app="admin"] .admin-sidebar.collapsed .admin-menu-group > div { display: none; }
  body[data-app="admin"] .admin-sidebar.collapsed summary,
  body[data-app="admin"] .admin-sidebar.collapsed nav > button { justify-content: center; }
}
@media (max-width: 900px) {
  body[data-app="admin"] #app, body[data-app="admin"][data-sidebar="collapsed"] #app { display: block; }
  body[data-app="admin"] .admin-sidebar,
  body[data-app="admin"] .admin-sidebar.collapsed {
    position: fixed; z-index: 1500; inset: 0 auto 0 0; width: min(300px, calc(100vw - 48px));
    height: 100dvh; max-height: 100dvh; padding: 24px 14px;
    align-items: stretch; overflow: auto;
  }
  body[data-app="admin"][data-sidebar="collapsed"] .admin-sidebar { visibility: hidden; pointer-events: none; transform: translateX(-100%); }
  body[data-app="admin"] .admin-sidebar nav { grid-template-columns: 1fr; }
  body[data-app="admin"] .admin-sidebar .admin-brand { padding-right: 34px; }
  body[data-app="admin"] .admin-sidebar .admin-brand img { width: 148px; height: auto; }
  body[data-app="admin"] .admin-sidebar .admin-brand b,
  body[data-app="admin"] .admin-sidebar .admin-nav-label,
  body[data-app="admin"] .admin-sidebar .admin-menu-group summary > span { display: inline; }
  body[data-app="admin"] .admin-sidebar-close {
    display: flex; position: absolute; top: 12px; right: 12px;
    width: 36px; height: 36px; min-height: 36px; padding: 0; align-items: center; justify-content: center;
  }
  body[data-app="admin"][data-sidebar="expanded"] .admin-nav-backdrop {
    display: block; position: fixed; z-index: 1499; inset: 0; width: 100%; height: 100%;
    border: 0; background: rgba(13, 30, 44, .44); cursor: default;
  }
  body.admin-mobile-nav-open { overflow: hidden; }
}
