/* ===== H5 专属样式：容器 / 交互 shim / 组件（配合 app.css 使用） ===== */
html, body{margin:0;padding:0}
body{background:#e8e4dd;-webkit-tap-highlight-color:transparent}
#app{max-width:520px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;box-shadow:0 0 40px rgba(0,0,0,.08)}
#page{min-height:100vh}
#page.tabpage{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
/* 顶栏：浏览器无状态栏/胶囊，固定 44px 内容区 */
#page .bar{padding-top:0 !important;height:44px !important;padding-top:env(safe-area-inset-top)}
/* 按压反馈：原 hover-class="hv" */
.hv{cursor:pointer;-webkit-user-select:none;user-select:none}
.hv:active{transform:scale(.96);opacity:.88}
button{cursor:pointer}
img{-webkit-touch-callout:none}

/* ===== 底部 tab 栏（移植自小程序 custom-tab-bar/index.wxss，rpx→px 按 0.5 换算） ===== */
.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  max-width:520px;margin:0 auto;
  display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;
  background:#ffffff;border-top:1px solid #e7e2da;
  padding-bottom:env(safe-area-inset-bottom);
  padding-bottom:constant(safe-area-inset-bottom); /* 旧 iOS < 11.2 兜底 */
}
.tabbar[hidden]{display:none}
.tabitem{
  -webkit-flex:1;flex:1;
  display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;
  -webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;
  padding:6px 0 5px;cursor:pointer;
}
.icbg{width:28px;height:28px;border-radius:50%;background:transparent;
  display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;
  box-sizing:border-box}
.icbg.on{background:#3f6b5c}
.ic{width:23px;height:23px;display:block}
.txt{font-size:11px;line-height:1.3;color:#9c948c;margin-top:2px}
.txt.on{color:#3f6b5c;font-weight:650}

/* ---------- Toast ---------- */
#__toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%) scale(.9);
  background:rgba(30,28,25,.88);color:#fff;font-size:13.5px;line-height:1.5;padding:9px 16px;border-radius:10px;
  max-width:78vw;opacity:0;pointer-events:none;transition:opacity .18s, transform .18s;z-index:900;text-align:center;word-break:break-word}
#__toast.show{opacity:1;transform:translateX(-50%) scale(1)}

/* ---------- Loading ---------- */
#__loading{position:fixed;inset:0;background:rgba(245,243,239,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:950}
#__loading[hidden]{display:none}
#__loading .spin{width:34px;height:34px;border-radius:50%;border:3px solid #d8d2c8;border-top-color:#3f6b5c;animation:spin .8s linear infinite}
#__loading .txt{font-size:13.5px;color:#6b6560}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Modal ---------- */
#__mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:960;padding:28px}
#__mask[hidden]{display:none}
#__mask .dlg{background:#fff;border-radius:16px;max-width:320px;width:100%;overflow:hidden;animation:dlgIn .16s ease-out}
@keyframes dlgIn{from{transform:scale(.92);opacity:.4}}
#__mask .dtitle{font-size:16.5px;font-weight:650;text-align:center;padding:22px 22px 0;color:#1f1d1a}
#__mask .dcontent{font-size:14.5px;color:#4a4640;line-height:1.65;padding:12px 22px 20px;text-align:center;word-break:break-word}
#__mask .dcontent textarea{width:100%;min-height:110px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;
  padding:10px;font-size:12.5px;line-height:1.5;font-family:inherit;resize:vertical;background:#faf9f6;color:var(--ink)}
#__mask .dbtns{display:flex;border-top:1px solid var(--line)}
#__mask .dbtns button{flex:1;padding:13px 0;font-size:16px;background:#fff;border:none;color:#6b6560}
#__mask .dbtns button + button{border-left:1px solid var(--line);color:var(--accent);font-weight:650}

/* ---------- 输入框占位 ---------- */
.lkin::placeholder{color:#c9c2b8}
input.ansfield::placeholder{color:#c9c2b8;font-weight:400;font-size:16px}

/* ---------- 日期选择 ---------- */
.setinput{cursor:pointer}
input[type="date"].setinput{-webkit-appearance:none;appearance:none}

/* ---------- 查词输入 ---------- */
.lkin{min-width:0}
