:root{
  --blue:#2f5bff;
  --blue-2:#3b6bff;
  --ink:#1b1b1b;
  --muted:#9a9a9a;
  --line:#f0f0f0;
  --sheet-max:645px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  color:var(--ink);
  background:#12306e;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}

/* 主图容器 */
.page{
  max-width:var(--sheet-max);
  margin:0 auto;
  min-height:100vh;
  background:linear-gradient(180deg,#7fb2f7 0%,#3f79ea 12%,#2f5bff 55%,#1c46d6 100%);
  padding-bottom:120px;
}
.hero{width:100%;height:auto}
.hero-foot{height:16px}
.page-err{max-width:var(--sheet-max);margin:0 auto;min-height:100vh;background:#fff;color:#333;
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}
.page-err h3{margin:0 0 10px;font-size:19px}
.page-err p{margin:0;color:#8d8d8d;font-size:14px}

/* 底部条 */
.tabbar{
  position:fixed;left:50%;transform:translateX(-50%);bottom:0;
  width:100%;max-width:var(--sheet-max);z-index:60;
  display:flex;align-items:center;gap:14px;
  padding:8px 16px calc(8px + env(safe-area-inset-bottom));
  background:#fff;border-top:1px solid #e9e9e9;
  box-shadow:0 -6px 20px rgba(15,40,110,.14);
}
.tab-order{
  flex:0 0 auto;width:62px;border:0;background:transparent;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:4px 0;cursor:pointer;color:#3a3a3a;font-size:13px;line-height:1.2;
}
.tab-order:active{opacity:.6}
.tab-cta{
  flex:1 1 auto;height:52px;border:0;border-radius:26px;cursor:pointer;
  background:linear-gradient(90deg,#3b6bff 0%,#2f57f5 100%);
  color:#fff;font-size:19px;font-weight:700;letter-spacing:2px;
  box-shadow:0 6px 16px rgba(47,87,245,.35);
}
.tab-cta:active{transform:translateY(1px);filter:brightness(.96)}

/* 弹层 */
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.open{display:block}
.mask{position:absolute;inset:0;background:rgba(0,0,0,.45);animation:fade .18s ease}
.sheet{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:100%;max-width:var(--sheet-max);max-height:94vh;overflow-y:auto;
  background:#fff;border-radius:16px 16px 0 0;
  padding-bottom:calc(14px + env(safe-area-inset-bottom));
  animation:up .22s ease;box-shadow:0 -10px 30px rgba(0,0,0,.2);
}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes up{from{transform:translate(-50%,40px);opacity:.4}to{transform:translate(-50%,0);opacity:1}}

.sheet-head{position:relative;padding:18px 0 12px;text-align:center}
.sheet-head h2{margin:0;font-size:21px;font-weight:700;letter-spacing:1px}
.sheet-x{
  position:absolute;right:14px;top:12px;width:32px;height:32px;border:0;border-radius:50%;
  background:#efefef;color:#555;font-size:14px;line-height:32px;cursor:pointer;padding:0;
}
.sheet-back{
  position:absolute;left:10px;top:10px;width:34px;height:34px;border:0;background:transparent;
  font-size:26px;line-height:1;color:#555;cursor:pointer;padding:0;
}
.sheet-body{padding:0 20px 8px}

/* 智能填写 */
.sec-title{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:700;margin:4px 0 6px}
.sec-title i{display:block;width:4px;height:17px;border-radius:2px;background:var(--blue)}
.sec-hint{margin:0 0 10px;font-size:13px;color:#f04a3a}

.paste{background:#f5f5f5;border-radius:6px;padding:10px 10px 8px}
.paste textarea{
  width:100%;border:0;background:transparent;resize:none;outline:none;
  font-size:14px;line-height:1.5;color:#333;font-family:inherit;min-height:56px;
}
.paste textarea::placeholder{color:#a9a9a9;font-size:13.5px;line-height:1.4}
.paste-ops{display:flex;justify-content:flex-end;gap:12px;align-items:center}
.btn-ghost{
  border:0;background:#e3e3e3;color:#555;font-size:13px;
  padding:6px 14px;border-radius:4px;cursor:pointer;
}
.btn-mini{
  border:0;background:var(--blue);color:#fff;font-size:13px;font-weight:600;
  padding:6px 18px;border-radius:4px;cursor:pointer;
}
.btn-ghost:active,.btn-mini:active{opacity:.75}

/* 表单行 */
.field{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:15px 0}
.field label{flex:0 0 80px;font-size:16px;color:#1b1b1b}
.field input{
  flex:1 1 auto;min-width:0;border:0;outline:none;background:transparent;
  font-size:15.5px;color:#1b1b1b;font-family:inherit;
}
.field input::placeholder{color:#bcbcbc;font-size:14.5px}
.field-pick{cursor:pointer}
.pick-value{flex:1 1 auto;color:#bcbcbc;font-size:14.5px}
.pick-value.set{color:#1b1b1b}
.chev{flex:0 0 auto}

/* 证件照上传 */
.photo-wrap{margin-top:18px}
.photo-block{margin-bottom:18px}
.photo-tip{margin:0 0 10px;font-size:13.5px;line-height:1.55;color:#333}
.photo-tiles{display:flex;gap:12px;align-items:flex-start}
.ph-tile{
  flex:0 0 46%;min-height:96px;border:1.2px dashed #dcdcdc;border-radius:8px;background:#fafafa;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  font-size:14px;color:#555;cursor:pointer;padding:10px;
}
.ph-tile:active{background:#f2f4ff}
.ph-tile.filled{border-color:#2f5bff;color:#2f5bff}
.ph-tile svg{display:block}
.ph-prev{flex:1 1 auto;min-width:0;height:96px;border-radius:8px;object-fit:cover;background:#f5f5f5;display:none}
.ph-prev.show{display:block}
.ph-badge{margin-top:8px;font-size:12.5px;color:#12934a}

/* 协议 */
.agree{display:flex;gap:8px;margin:16px 0 6px;cursor:pointer;align-items:flex-start}
.agree input{position:absolute;opacity:0;width:0;height:0}
.agree-box{
  flex:0 0 auto;width:19px;height:19px;border-radius:50%;border:1.5px solid #c9c9c9;
  display:flex;align-items:center;justify-content:center;margin-top:2px;transition:.15s;
}
.agree-box svg{opacity:0;transition:.15s}
.agree input:checked + .agree-box{background:var(--blue);border-color:var(--blue)}
.agree input:checked + .agree-box svg{opacity:1}
.agree-text{font-size:13px;line-height:1.55;color:#333}
.agree-text a{color:#2f6bff;text-decoration:none}

.submit{
  width:100%;height:50px;margin:14px 0 8px;border:0;border-radius:25px;cursor:pointer;
  background:linear-gradient(90deg,#3b6bff,#2f57f5);color:#fff;
  font-size:18px;font-weight:700;letter-spacing:4px;
  box-shadow:0 8px 20px rgba(47,87,245,.3);
}
.submit:active{filter:brightness(.95)}
.submit[disabled]{background:#c3cdf1;box-shadow:none;cursor:not-allowed}
.foot-note{margin:0 0 6px;text-align:center;font-size:12px;color:#b0b0b0}

/* 地区列表 */
.pick-body{padding-bottom:10px}
.pick-list{list-style:none;margin:0;padding:0;max-height:66vh;overflow-y:auto}
.pick-list li{
  padding:15px 4px;border-bottom:1px solid var(--line);font-size:16px;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
}
.pick-list li:active{background:#f6f8ff}
.pick-list li.sel{color:var(--blue);font-weight:600}
.pick-list li .hint{font-size:12.5px;color:#a8a8a8;font-weight:400}
.sheet-pick{max-height:82vh}

/* 我的订单 */
.order-list{list-style:none;margin:6px 0 0;padding:0}
.order-list li{border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;color:#333}.order-list .on{font-weight:700;font-size:15px;margin-bottom:6px;color:#111}
.order-list .om{color:#777;line-height:1.7}
.order-list .st{display:inline-block;padding:1px 8px;border-radius:10px;background:#eef3ff;color:#2f5bff;font-size:12px;margin-left:6px}
.empty{color:#aaa;font-size:14px;text-align:center;padding:28px 0}

/* 订单查询 */
.q-banner{
  margin:2px 0 14px;height:88px;border-radius:6px;
  background:linear-gradient(120deg,#1f6bff 0%,#2f8bff 55%,#3ea0ff 100%);
  color:#fff;font-size:26px;font-weight:800;letter-spacing:3px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(31,107,255,.25);
  position:relative;overflow:hidden;
}
.q-banner:after{
  content:'';position:absolute;left:14px;right:14px;top:12px;bottom:12px;
  border:1.5px solid rgba(255,255,255,.45);border-radius:2px;
  clip-path:polygon(0 0,26% 0,26% 2px,74% 2px,74% 0,100% 0,100% 100%,74% 100%,74% calc(100% - 2px),26% calc(100% - 2px),26% 100%,0 100%);
}
.q-input{
  width:100%;height:46px;border:1px solid #e2e6ef;border-radius:5px;background:#fbfbfb;
  padding:0 14px;font-size:15px;color:#222;outline:none;font-family:inherit;
}
.q-input::placeholder{color:#a9aeb9}
.q-input:focus{border-color:#2f6bff;background:#fff}
.q-btn{
  width:100%;height:44px;margin:14px 0 8px;border:0;border-radius:5px;cursor:pointer;
  background:#2f6bff;color:#fff;font-size:16px;font-weight:600;letter-spacing:2px;
}
.q-btn:active{filter:brightness(.95)}
.q-btn[disabled]{background:#b9c8f5;cursor:not-allowed}
.q-empty{display:none;flex-direction:column;align-items:center;justify-content:center;padding:30px 0 36px;color:#b9bec8}
.q-empty p{margin:10px 0 0;font-size:14px}
.q-empty.show{display:flex}
.q-card{border:1px solid #eef1f7;border-radius:8px;padding:12px 14px;margin-bottom:12px;background:#fafbff}
.q-card .q-line{font-size:13.5px;color:#555;line-height:1.85}
.q-card .q-line b{color:#1b1b1b}
.q-card .q-no{font-size:13px;color:#2f6bff;font-weight:600;margin-bottom:4px}
.q-card .q-st{display:inline-block;padding:1px 8px;border-radius:10px;background:#eef3ff;color:#2f5bff;font-size:12px;margin-left:6px}

/* toast */
.toast{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  background:rgba(0,0,0,.78);color:#fff;font-size:14.5px;line-height:1.5;
  padding:12px 20px;border-radius:8px;max-width:78vw;text-align:center;
  opacity:0;pointer-events:none;transition:.2s;z-index:200;
}
.toast.show{opacity:1}

/* 桌面端：改成居中的卡片弹层 */
@media (min-width:700px){
  .sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:14px;animation:none}
  @keyframes up{from{opacity:0}to{opacity:1}}
}
