/* 高度自适应：dvh + -webkit-fill-available，适配各种屏幕与 WebView */
html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: -webkit-fill-available;
  overflow: hidden;
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  overflow: hidden;
  box-sizing: border-box;
  position: fixed;
  inset: 0;
}
* { box-sizing: border-box; }

/* ===== 全局统一按钮高度：所有尺寸按钮高度一致且更高，圆角统一 ===== */
.el-button {
  --el-component-size: 40px;
  height: 40px;
  border-radius: 8px;
}
.el-button--small {
  --el-component-size: 40px;
  height: 40px;
  padding: 8px 14px;
  font-size: 14px;
}
.el-button--large {
  --el-component-size: 40px;
  height: 40px;
}
.el-button--text,
.el-button.is-link {
  height: auto;
  border: none;
  background: transparent;
}
#app {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 100%;
  min-height: -webkit-fill-available;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  /* 仅安全区，无固定上下边距；优先用原生 MainActivity 注入的 --safe-top/--safe-bottom
   （Capacitor 7 edge-to-edge 下 env() 会返回 0），env() 作为兜底。
   页面容器跟随 #app content-box（flex:1），天然避开状态栏，适配所有机型 */
  padding-top: constant(safe-area-inset-top);
  padding-top: var(--safe-top, env(safe-area-inset-top));
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: var(--safe-bottom, env(safe-area-inset-bottom));
}
