/* BuyBridge App 壳 —— 分页形态，不是缩窄的网页。
   🔴 T68：底部只有 tab 栏。公司注册号/地址/法律链接全部收在「我的 → 关于」。 */

.tj-app{
  background:var(--tj-bg); color:var(--tj-ink);
  min-height:100vh; min-height:100dvh;
  padding-bottom:calc(64px + env(safe-area-inset-bottom));
  overscroll-behavior-y:none;
}

/* ── 顶栏 ── */
.ap-top{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; gap:var(--tj-s3);
  padding:calc(env(safe-area-inset-top) + 12px) var(--tj-s5) 12px;
  background:rgba(251,250,247,.9); backdrop-filter:saturate(180%) blur(14px);
  border-bottom:var(--bb-hair);
}
.ap-top .bb-seal{width:30px; height:30px; font-size:.74rem}
.ap-title{font-family:var(--tj-font-display); font-weight:600; font-size:1.06rem; letter-spacing:-.015em}
.ap-top .bb-lang{margin-inline-start:auto; padding:7px 10px; font-size:.72rem; flex:none; white-space:nowrap}
.ap-top .bb-lang svg{flex:none}

/* ── 视图 ── */
.ap-main{padding:var(--tj-s5) var(--tj-s5) var(--tj-s8)}
.ap-view{display:none; animation:apIn .22s var(--tj-ease)}
.ap-view.is-on{display:block}
@keyframes apIn{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}
@media (prefers-reduced-motion:reduce){ .ap-view{animation:none} }
.ap-h{font-size:1.68rem; letter-spacing:-.028em; line-height:1.16; margin:var(--tj-s3) 0 var(--tj-s5)}

.ap-input{border:1.5px solid var(--tj-ink); border-radius:var(--tj-r3); background:var(--tj-surface); padding:14px var(--tj-s4); margin-bottom:var(--tj-s3)}
.ap-input:focus-within{box-shadow:var(--tj-ring)}
.ap-input input{width:100%; border:0; background:none; outline:none; font-family:var(--tj-font-mono); font-size:.9rem; color:var(--tj-ink)}
.ap-wide{width:100%; padding:15px}
.ap-hint{margin-top:var(--tj-s4); font-size:.76rem; color:var(--tj-ink-3); line-height:1.55}

.ap-list{display:flex; flex-direction:column; gap:var(--tj-s4); margin-top:var(--tj-s5)}
.ap-card{background:var(--tj-surface); border:var(--bb-hair); border-radius:var(--tj-r3); padding:var(--tj-s5); box-shadow:var(--tj-sh1)}
.ap-card-h{display:flex; align-items:center; gap:var(--tj-s3); margin-bottom:var(--tj-s4); flex-wrap:wrap}
.ap-card-id{font-family:var(--tj-font-mono); font-weight:600; font-size:.9rem}
.ap-card-amt{margin-inline-start:auto; font-family:var(--tj-font-mono); font-weight:600; font-variant-numeric:tabular-nums}
.ap-empty{text-align:center; color:var(--tj-ink-3); padding:var(--tj-s8) var(--tj-s4); border:1px dashed var(--tj-line); border-radius:var(--tj-r3); font-size:.9rem}

/* ── 我的 ── */
.ap-me{background:var(--tj-surface); border:var(--bb-hair); border-radius:var(--tj-r3); padding:var(--tj-s5); margin:var(--tj-s4) 0 var(--tj-s6)}
.ap-me-mail{font-family:var(--tj-font-mono); font-size:.88rem; word-break:break-all}
.ap-me-sub{font-size:.78rem; color:var(--tj-ink-3); margin-top:4px}
.ap-menu{list-style:none; margin:0; padding:0; background:var(--tj-surface); border:var(--bb-hair); border-radius:var(--tj-r3); overflow:hidden}
.ap-menu li{display:flex; align-items:center; border-bottom:1px solid var(--tj-line-soft)}
.ap-menu li:last-child{border-bottom:0}
.ap-menu a,.ap-menu button{flex:1; text-align:start; background:none; border:0; padding:16px var(--tj-s5); font:inherit; font-size:.94rem; color:var(--tj-ink); text-decoration:none; cursor:pointer}
.ap-menu button.is-danger{color:var(--tj-err)}
.ap-menu li i{padding-inline-end:var(--tj-s5); color:var(--tj-ink-3); font-style:normal}
.ap-menu li:active{background:var(--tj-surface-2)}

.ap-about{margin-top:var(--tj-s6); background:var(--tj-surface); border:var(--bb-hair); border-radius:var(--tj-r3); padding:var(--tj-s5)}
.ap-about-l{font-size:.83rem; color:var(--tj-ink-2); line-height:1.62; margin-top:var(--tj-s2)}
.ap-about-l a{color:var(--tj-accent)}
.ap-legal{display:flex; flex-wrap:wrap; gap:var(--tj-s2) var(--tj-s4); margin-top:var(--tj-s4); padding-top:var(--tj-s4); border-top:1px dashed var(--tj-line)}
.ap-legal a{font-size:.8rem; color:var(--tj-ink-2); text-decoration:none; border-bottom:1px solid var(--tj-line)}
.ap-copy{margin-top:var(--tj-s4); font-size:.7rem; color:var(--tj-ink-3)}

/* ── 底部 Tab 栏 ── */
.ap-tabbar{
  position:fixed; inset-inline:0; bottom:0; z-index:50;
  display:grid; grid-template-columns:repeat(5,1fr);
  background:rgba(255,255,255,.94); backdrop-filter:saturate(180%) blur(16px);
  border-top:var(--bb-hair);
  padding-bottom:env(safe-area-inset-bottom);
}
.ap-tab{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  background:none; border:0; cursor:pointer; padding:9px 2px 8px;
  color:var(--tj-ink-3); font-family:var(--tj-font-body); font-size:.63rem; letter-spacing:.01em;
  -webkit-tap-highlight-color:transparent; transition:color var(--tj-dur);
}
.ap-tab svg{width:21px; height:21px}
.ap-tab.is-on{color:var(--tj-ink)}
.ap-tab.is-on svg{stroke:var(--tj-accent)}
/* 中间凸起主钮 */
.ap-tab-main{
  color:#fff; align-self:center; justify-self:center;
  width:50px; height:50px; border-radius:50%; margin-top:-16px;
  background:var(--tj-accent); box-shadow:0 6px 18px rgba(200,16,46,.34);
  padding:0;
}
.ap-tab-main svg{width:23px; height:23px; stroke:#fff!important}
.ap-tab-main:active{transform:scale(.94)}

/* 桌面上把 App 收成手机宽度居中，看着仍是 App 不是网页 */
@media(min-width:720px){
  .tj-app{max-width:460px; margin:0 auto; border-inline:var(--bb-hair); min-height:100vh}
  .ap-tabbar{max-width:460px; margin:0 auto}
}
.ap-out{margin-top:var(--tj-s5)}
.ap-out.is-err{background:var(--tj-err-bg); border:1px solid var(--tj-err-line); color:var(--tj-err-ink); border-radius:var(--tj-r3); padding:var(--tj-s4); font-size:.87rem}
.ap-out-t{font-size:.88rem; color:var(--tj-ink-2); margin-bottom:var(--tj-s4); line-height:1.55}
.ap-price{display:flex; align-items:center; gap:var(--tj-s3)}
.ap-price .mono{color:var(--tj-ink-3); font-size:.85rem; white-space:nowrap}
.ap-place{margin-top:var(--tj-s5)}
