/* ===== 移动端外壳 v1 (通用：sys / root / ghad8) =====
   仅 html.m-shell 下生效；桌面端（无 m-shell class）完全不受影响。 */
html.m-shell, html.m-shell body { overscroll-behavior: none !important; }
html.m-shell { padding-top: 48px; }
html.m-shell .adm-side,
html.m-shell .adm-top { display: none !important; }
html.m-shell .adm-main { margin-left: 0 !important; display: block !important; }
html.m-shell .adm-body {
  padding: 8px !important;
  padding-bottom: 64px !important;
  min-height: calc(100vh - 48px - 64px) !important;
}

/* 顶部栏 */
.m-topbar {
  position: fixed; top: 0; left: 0; right: 0; height: 48px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 12px; background: #0A0F1C; color: #E8ECF5;
  z-index: 9999; border-bottom: 1px solid #26314D;
}
.m-topbar .m-menu-btn {
  font-size: 22px; line-height: 1; color: #E8ECF5; background: none; border: none; padding: 4px;
}
.m-topbar .m-title { font-size: 15px; font-weight: 600; flex: 1; text-align: center; }
.m-topbar .m-refresh {
  font-size: 13px; padding: 6px 12px; border: 1px solid #B8860B;
  border-radius: 8px; color: #B8860B; background: transparent;
}

/* 底部 Tab */
.m-tabbar {
  position: fixed; left: 0; right: 0; bottom: 0; height: 54px;
  display: flex; background: #0A0F1C; border-top: 1px solid #26314D;
  z-index: 9999; padding-bottom: env(safe-area-inset-bottom);
}
.m-tabbar .m-tab {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 2px; font-size: 11px; color: #A8B4CC;
  text-decoration: none;
}
.m-tabbar .m-tab.active { color: #B8860B; }
.m-tabbar .m-tab .ico { font-size: 18px; line-height: 1; }

/* 抽屉 */
.m-drawer-mask { position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 10000; display: none; }
.m-drawer {
  position: fixed; top: 0; left: 0; bottom: 0; width: 80%; max-width: 320px;
  background: #0A0F1C; z-index: 10001; transform: translateX(-100%);
  transition: transform .2s ease; overflow: auto; padding: 16px; box-sizing: border-box;
}
.m-drawer.open { transform: translateX(0); }
.m-drawer .m-drawer-h { display: flex; justify-content: space-between; align-items: center; color: #E8ECF5; font-size: 15px; margin-bottom: 12px; }
.m-drawer a { display: block; padding: 14px 8px; color: #E8ECF5; border-bottom: 1px solid #1a2238; text-decoration: none; font-size: 14px; }
.m-drawer a.active { color: #B8860B; }
