/* ===== 中交招采宝 H5 · 国央企蓝白风格 ===== */
:root{
  --blue-900:#08306B;
  --blue-800:#0A3D7A;
  --blue-700:#0B4DA2;
  --blue-600:#0E63C9;
  --blue-100:#E8F1FB;
  --blue-050:#F4F8FD;
  --red:#C8161E;
  --gold:#C9A24B;
  --ink:#1A2533;
  --ink-2:#4A5A6A;
  --line:#DCE6F2;
  --white:#FFFFFF;
  --radius:14px;
  --shadow:0 4px 18px rgba(10,61,122,.08);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;
  color:var(--ink);
  background:var(--blue-050);
  line-height:1.55;
  font-size:14px;
  max-width:480px;
  margin:0 auto;
  min-height:100vh;
  box-shadow:0 0 40px rgba(0,0,0,.05);
  padding-bottom:64px; /* 给底部导航留白 */
}

/* 全局搜索栏（即搜即查） */
.search-bar{
  position:sticky;top:0;z-index:40;
  background:var(--white);padding:10px 14px;border-bottom:1px solid var(--line);
}
.search-box{
  display:flex;align-items:center;gap:8px;
  background:var(--blue-050);border:1px solid var(--line);
  border-radius:22px;padding:9px 12px;
  flex-wrap:nowrap;overflow:hidden;
}
.search-box:focus-within{border-color:var(--blue-600);background:#fff;}
.search-ico{flex:none;}
.search-box input{
  flex:1;min-width:0;border:none;background:transparent;outline:none;
  font-size:14px;color:var(--ink);
}
.search-clear{
  display:none;flex:none;border:none;background:var(--line);color:var(--ink-2);
  width:22px;height:22px;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;
}
/* 搜索条数下拉（搜索框下方） */
.search-count{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:8px;padding:0 4px;
}
.sc-label{font-size:13px;color:var(--ink-2);flex:none;}
.sc-select{
  appearance:none;-webkit-appearance:none;
  border:1px solid var(--line);border-radius:16px;
  padding:5px 26px 5px 12px;font-size:13px;color:var(--ink);background:var(--blue-050);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%230B4DA2' stroke-width='1.5' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;
}
.sc-select:focus{outline:none;border-color:var(--blue-600);background-color:#fff;}
.sc-hint{font-size:12px;color:var(--blue-600);flex:none;}
.sc-ai{
  border:1px solid var(--line);border-radius:16px;background:#f3f5f8;
  padding:5px 12px;font-size:13px;color:var(--ink-2);cursor:pointer;flex:none;font-weight:600;
  transition:all .15s ease;
}
.sc-ai.on{background:linear-gradient(135deg,#0B4DA2,#1b7fe0);border-color:#0B4DA2;color:#fff;box-shadow:0 2px 8px rgba(11,77,162,.25);}
.sc-ai:active{transform:scale(.97);}
.search-ai-hint{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin:8px 4px 0;font-size:12px;color:var(--ink-2);
}
.sah-k{color:var(--blue-600);font-weight:600;flex:none;}
.sah-chip{
  background:var(--blue-050);border:1px solid #cfe3f7;color:#0c5bba;
  border-radius:12px;padding:2px 9px;font-size:12px;
}


/* 空状态 */
.empty-state{
  text-align:center;color:var(--ink-2);font-size:13.5px;
  padding:34px 18px;background:var(--blue-050);border-radius:12px;border:1px dashed var(--line);
}

/* 我的订阅管理 */
.badge-sub{
  font-size:11px;color:var(--blue-700);border:1px solid var(--blue-700);
  border-radius:10px;padding:1px 8px;font-weight:600;margin-left:auto;
}
.sub-manage{
  background:var(--blue-050);border:1px solid var(--line);border-radius:14px;
  padding:14px;margin-bottom:16px;
}
.sub-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.kw-chip{
  display:inline-flex;align-items:center;gap:4px;
  background:var(--blue-700);color:#fff;font-size:13px;font-weight:600;
  padding:6px 8px 6px 12px;border-radius:18px;user-select:none;
}
.kw-remove{
  border:none;background:rgba(255,255,255,.25);color:#fff;
  width:18px;height:18px;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0;
}
.kw-remove:active{background:rgba(255,255,255,.45);}
.kw-chip.readonly{background:var(--ink-2);padding:6px 12px;}
.add-kw{display:flex;gap:8px;}
.add-kw input{
  flex:1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  font-size:14px;background:#fff;color:var(--ink);outline:none;
}
.add-kw input:focus{border-color:var(--blue-600);}
.add-kw button{
  flex:none;border:none;background:var(--blue-700);color:#fff;font-weight:700;
  font-size:14px;padding:0 18px;border-radius:10px;cursor:pointer;
}
.add-kw button:active{background:var(--blue-800);}

/* 底部导航 */
.bottom-nav{
  position:fixed;left:50%;transform:translateX(-50%);bottom:0;
  width:100%;max-width:480px;height:56px;z-index:60;
  display:flex;background:var(--white);border-top:1px solid var(--line);
  box-shadow:0 -2px 12px rgba(10,61,122,.08);
}
.nav-item{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  color:var(--ink-2);font-size:11px;cursor:pointer;user-select:none;transition:.15s;
}
.nav-item svg{display:block;}
.nav-item.active{color:var(--blue-700);font-weight:700;}
.nav-item.active svg{filter:drop-shadow(0 1px 2px rgba(11,77,162,.3));}
.nav-item:active{background:var(--blue-050);}

/* 顶部红条 */
.top-bar{height:4px;background:linear-gradient(90deg,var(--red) 0 33%,#fff 33% 66%,var(--blue-700) 66% 100%);}

/* 通道横幅（channels.html 带参进入时显示） */
.ch-banner{background:#0A3D7A;color:#fff;font-size:12.5px;line-height:1.4;padding:9px 14px;text-align:center;}
.ch-banner b{color:#ffd56b;}

/* 头部 */
.app-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;background:var(--white);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:30;
}
.brand{display:flex;align-items:center;gap:10px;}
.emblem svg{display:block;border-radius:50%;}
.brand-name{font-size:18px;font-weight:800;color:var(--blue-800);letter-spacing:1px;}
.brand-sub{font-size:11px;color:var(--ink-2);letter-spacing:.5px;}
.header-btn{ /* 需求2：蓝框白底蓝字、小一号，区别于搜索框 */
  background:#fff;color:var(--blue-700);font-size:12px;font-weight:600;
  padding:5px 12px;border:1px solid var(--blue-700);border-radius:16px;text-decoration:none;
  line-height:1.2;box-shadow:none;
}
.header-btn:active{transform:scale(.96);}
/* 登录后头部会员级别徽标（需求：登录即显示用户级别） */
.header-tier{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;line-height:1.2;white-space:nowrap;margin-right:8px;}
.header-tier.tier-admin{background:#3a2a00;color:#ffd76a;border:1px solid #ffd76a;}
.header-tier.tier-diamond{background:linear-gradient(135deg,#1f3a5f,#2b5a8a);color:#cfe6ff;border:1px solid #6fa8dc;}
.header-tier.tier-gold{background:linear-gradient(135deg,#f6e2a8,#e8c45a);color:#5a3d00;border:1px solid #d8b25a;}
.header-tier.tier-standard{background:#eef1f6;color:#7a8699;border:1px solid #d6deea;}

/* Hero（合并原 update-bar + hero，去重简化） */
.hero{
  background:linear-gradient(160deg,var(--blue-800) 0%,var(--blue-700) 55%,var(--blue-600) 100%);
  color:#fff;padding:0;position:relative;overflow:hidden;
}
.hero-inner{position:relative;z-index:1;padding:12px 14px 14px;}
.hero-top{
  display:flex;justify-content:space-between;align-items:center;font-size:11px;
  color:rgba(255,255,255,.9);margin-bottom:8px;
}
#ub-collected{background:rgba(255,255,255,.18);padding:2px 10px;border-radius:10px;font-weight:600;color:#fff;}
.hero-title{font-size:17px;font-weight:800;line-height:1.3;margin:0 0 6px;letter-spacing:.5px;}
.hero-desc{font-size:12px;color:rgba(255,255,255,.85);margin:0 0 10px;line-height:1.45;}
.hero-stats{display:flex;gap:6px;}
.stat{flex:1;min-width:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  border-radius:10px;padding:8px 4px;text-align:center;backdrop-filter:blur(2px);}
.stat-num{font-size:clamp(14px,4.4vw,19px);font-weight:800;color:#fff;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.stat-label{font-size:10px;color:rgba(255,255,255,.85);margin-top:4px;white-space:nowrap;}

/* 区块通用 */
.section{background:var(--white);margin:10px 0;padding:20px 16px;}
.section-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.sec-bar{width:4px;height:18px;background:var(--blue-700);border-radius:2px;}
.section-title{font-size:18px;font-weight:800;color:var(--blue-800);margin:0;}
.badge-live{
  font-size:11px;color:var(--red);border:1px solid var(--red);border-radius:10px;
  padding:1px 8px;font-weight:600;animation:pulse 1.8s infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.5;}}
.section-tip{font-size:13px;color:var(--ink-2);margin:0 0 14px;}

/* 关键词 chips */
.chips{display:flex;flex-wrap:wrap;gap:9px;}
.chip{
  font-size:13px;padding:7px 14px;border-radius:18px;
  background:var(--blue-050);color:var(--blue-700);
  border:1px solid var(--line);cursor:pointer;transition:.15s;user-select:none;
}
.chip.active{background:var(--blue-700);color:#fff;border-color:var(--blue-700);font-weight:600;}
.chip:active{transform:scale(.95);}

/* 类型切换 tab */
.type-tabs{display:flex;gap:8px;margin-bottom:14px;}
.type-tab{
  font-size:13px;padding:6px 16px;border-radius:18px;cursor:pointer;user-select:none;transition:.15s;
  background:var(--blue-050);color:var(--blue-700);border:1px solid var(--line);
}
.type-tab.active{background:var(--red);color:#fff;border-color:var(--red);font-weight:700;}
.type-tab:active{transform:scale(.95);}

/* 列表 */
.list-meta{font-size:12px;color:var(--ink-2);margin-bottom:12px;}
.sort-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:12px;}
.sort-hint{color:var(--ink-2);}
.sort-chip{display:inline-block;padding:4px 12px;border-radius:14px;background:var(--blue-050);color:var(--blue-700);border:1px solid var(--line);cursor:pointer;user-select:none;}
.sort-chip.active{background:var(--blue-700);color:#fff;border-color:var(--blue-700);font-weight:700;}
.sort-count{margin-left:auto;color:var(--ink-2);font-size:11px;}
.search-tip{font-size:12px;color:var(--ink-2);text-align:center;padding:14px 10px;background:var(--blue-050);border-radius:var(--radius);margin-top:4px;}
.bid-list{display:flex;flex-direction:column;gap:12px;}
.bid-card{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--white);box-shadow:var(--shadow);transition:.15s;
}
.bid-card:active{transform:translateY(1px);}
.bid-top{
  display:flex;justify-content:space-between;align-items:center;
  background:var(--blue-100);padding:8px 12px;border-bottom:1px solid var(--line);
}
.bid-type{font-size:12px;font-weight:700;color:var(--blue-800);}
.bid-date{font-size:12px;color:var(--ink-2);}
.bid-body{padding:12px;cursor:pointer;}
.bid-title{font-size:15px;font-weight:700;color:var(--ink);line-height:1.45;margin:0 0 10px;}
.bid-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2);}
.bid-meta b{color:var(--blue-700);font-weight:600;}
.bid-amount{
  margin-top:10px;font-size:13px;color:var(--red);font-weight:700;
  background:rgba(200,22,30,.07);border-radius:8px;padding:6px 10px;display:inline-block;
}
.bid-src{margin-top:8px;font-size:11px;color:#8A98A8;}

/* 会员卡 */
.vip-card{
  background:linear-gradient(160deg,#0A3D7A,#0B4DA2);border-radius:var(--radius);
  padding:22px 18px;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.vip-card::before{
  content:"";position:absolute;right:-30px;bottom:-30px;width:140px;height:140px;
  background:radial-gradient(circle,rgba(201,162,75,.25),transparent 70%);
}
.vip-price{display:flex;align-items:baseline;gap:2px;position:relative;z-index:1;}
.vip-yen{font-size:18px;font-weight:700;}
.vip-num{font-size:40px;font-weight:800;line-height:1;}
.vip-unit{font-size:14px;opacity:.9;}
.vip-name{font-size:14px;color:var(--gold);font-weight:600;margin:4px 0 16px;position:relative;z-index:1;}
.vip-list{list-style:none;padding:0;margin:0 0 18px;position:relative;z-index:1;}
.vip-list li{
  font-size:13.5px;padding:7px 0 7px 26px;position:relative;color:rgba(255,255,255,.95);
  border-bottom:1px dashed rgba(255,255,255,.18);
}
.vip-list li:last-child{border-bottom:none;}
.vip-list li::before{
  content:"";position:absolute;left:2px;top:11px;width:12px;height:12px;
  background:var(--gold);border-radius:50%;
}
.vip-cta{
  display:block;text-align:center;background:var(--gold);color:#3A2A00;font-weight:700;
  padding:12px;border-radius:24px;text-decoration:none;position:relative;z-index:1;
}
.vip-cta:active{transform:scale(.98);}

/* 订阅表单 */
.sub-form{display:flex;flex-direction:column;gap:14px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field-label{font-size:13px;font-weight:600;color:var(--ink);}
.field input{
  border:1px solid var(--line);border-radius:10px;padding:12px;font-size:15px;
  background:var(--blue-050);color:var(--ink);outline:none;
}
.field input:focus{border-color:var(--blue-600);background:#fff;}
.check-group{display:flex;flex-wrap:wrap;gap:8px;}
.check{
  font-size:13px;padding:7px 13px;border-radius:18px;border:1px solid var(--line);
  background:var(--blue-050);color:var(--ink-2);cursor:pointer;user-select:none;transition:.15s;
}
.check.on{background:var(--blue-700);color:#fff;border-color:var(--blue-700);font-weight:600;}
.check-more{background:#fff;border-style:dashed;color:var(--blue-700);font-weight:600;}
.check-more.on{background:var(--blue-700);color:#fff;border-style:solid;}

/* 工程局多选弹窗 */
.bureau-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:210;align-items:flex-end;justify-content:center;}
.bureau-modal{display:flex;flex-direction:column;width:100%;max-width:680px;background:#fff;border-radius:18px 18px 0 0;max-height:75vh;}
.bureau-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);}
.bureau-title{font-size:16px;font-weight:700;color:var(--ink);}
.bureau-close{background:none;border:none;color:var(--ink-2);font-size:14px;cursor:pointer;padding:4px 8px;}
.bureau-body{flex:1;overflow-y:auto;padding:14px 16px 20px;}
.bureau-tip{font-size:12px;color:var(--ink-2);margin:0 0 12px;}
.bureau-grid{display:flex;flex-wrap:wrap;gap:10px;}
.bureau-grid-item{font-size:14px;padding:9px 15px;border-radius:20px;}
.bureau-actions{display:flex;gap:10px;padding:12px 16px 24px;border-top:1px solid var(--line);}
.bureau-btn{flex:1;border:none;border-radius:22px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;}
.bureau-btn-clear{background:var(--blue-050);color:var(--ink);}
.bureau-btn-ok{background:var(--blue-700);color:#fff;}
.bureau-btn:active{transform:scale(.98);}

/* 央企通道选择弹层 */
.soe-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:215;align-items:flex-end;justify-content:center;}
.soe-modal{display:flex;flex-direction:column;width:100%;max-width:680px;background:#fff;border-radius:18px 18px 0 0;max-height:78vh;}
.soe-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);}
.soe-title{font-size:16px;font-weight:700;color:var(--ink);}
.soe-close{background:none;border:none;color:var(--ink-2);font-size:14px;cursor:pointer;padding:4px 8px;}
.soe-scope{padding:10px 16px;background:var(--blue-050);font-size:13px;color:#0B4DA2;font-weight:600;border-bottom:1px solid var(--line);}
.soe-body{flex:1;overflow-y:auto;padding:14px 16px 16px;}
.soe-tip{font-size:12px;color:var(--ink-2);margin:0 0 12px;line-height:1.5;}
.soe-grid{display:flex;flex-wrap:wrap;gap:10px;}
.soe-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 13px;border-radius:20px;border:1px solid var(--line);background:#f7f9fc;cursor:pointer;user-select:none;}
.soe-item.on{border-color:var(--blue-700);background:#eaf2fe;color:#0B4DA2;font-weight:600;}
.soe-item.disabled{opacity:.55;cursor:not-allowed;background:#f1f1f1;}
.soe-item input{accent-color:var(--blue-700);}
.soe-lock{font-size:11px;color:#c8930a;}
.soe-actions{display:flex;gap:10px;padding:12px 16px 24px;border-top:1px solid var(--line);}
.soe-btn{flex:1;border:none;border-radius:22px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;}
.soe-btn-all{background:linear-gradient(135deg,#c8930a,#e0aa1a);color:#fff;}
.soe-btn-clear{background:var(--blue-050);color:var(--ink);}
.soe-btn-ok{background:var(--blue-700);color:#fff;}
.soe-btn:active{transform:scale(.98);}
.search-soe-btn{margin:8px 0 2px;width:100%;border:1px solid #cfe0f7;background:#fff;color:#0B4DA2;font-size:13px;font-weight:600;border-radius:20px;padding:9px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
.search-soe-btn:active{background:#eef4fd;}

/* 扫码支付弹窗 */
.pay-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:220;align-items:center;justify-content:center;}
.pay-modal{display:flex;flex-direction:column;width:90%;max-width:360px;background:#fff;border-radius:16px;overflow:hidden;}
.pay-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--blue-800);color:#fff;}
.pay-title{font-size:16px;font-weight:700;}
.pay-close{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;padding:4px 8px;opacity:.85;}
.pay-body{padding:20px 20px 24px;text-align:center;}
.pay-plan-name{font-size:15px;color:var(--ink-2);margin-bottom:4px;}
.pay-amount{font-size:36px;font-weight:800;color:var(--blue-800);margin-bottom:16px;}
.pay-yen{font-size:20px;font-weight:600;margin-right:2px;}
.pay-label{font-size:15px;font-weight:700;color:var(--blue-700);margin-right:4px;vertical-align:6px;}
.pay-origin-text{font-size:14px;font-weight:500;color:#94a3b8;margin-left:8px;vertical-align:6px;text-decoration:line-through;}
.pay-qr-wrap{position:relative;width:240px;height:240px;margin:0 auto 14px;border-radius:12px;overflow:hidden;border:1px solid var(--line);}
.pay-qr-wrap img{width:240px;height:240px;display:block;}
.pay-qr-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f8f9fb;font-size:13px;color:var(--ink-2);}
.pay-status{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:var(--ink-2);margin-bottom:8px;}
.pay-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--blue-100);border-top-color:var(--blue-700);border-radius:50%;animation:paySpin .7s linear infinite;}
@keyframes paySpin{to{transform:rotate(360deg);}}
.pay-success{color:#07c160;font-size:15px;font-weight:700;}
.pay-error{color:#e64340;font-size:14px;}
.pay-hint{font-size:12px;color:var(--ink-3);margin-bottom:6px;}
.pay-expire{font-size:12px;color:var(--ink-3);}
.pay-deeplink{display:flex;flex-direction:column;align-items:center;gap:6px;margin:2px 0 10px;}
.pay-weixin-btn{background:#07c160;color:#fff;border:none;border-radius:26px;padding:12px 22px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(7,193,96,.3);width:100%;max-width:260px;}
.pay-weixin-btn:active{opacity:.88;}
.pay-deeplink-tip{font-size:11px;color:var(--ink-3);text-align:center;}
.pay-raw{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px;font-size:11px;color:var(--ink-3);}
.pay-raw code{display:block;max-width:260px;word-break:break-all;background:#f3f5f8;padding:6px 8px;border-radius:8px;font-size:10px;line-height:1.4;color:var(--ink-2);}
.pay-raw-copy{background:var(--blue-700);color:#fff;border:none;border-radius:8px;padding:5px 14px;font-size:12px;cursor:pointer;}

.sub-btn{
  background:var(--blue-700);color:#fff;border:none;border-radius:26px;
  padding:14px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(11,77,162,.3);
}
.sub-btn:active{transform:scale(.98);}
.sub-note{font-size:11px;color:#8A98A8;text-align:center;}

/* 底部 */
.app-footer{
  background:var(--blue-900);color:#fff;text-align:center;padding:26px 16px 30px;
}
.footer-brand{font-size:18px;font-weight:800;letter-spacing:2px;}
.footer-line{font-size:12px;color:rgba(255,255,255,.8);margin-top:6px;}
.footer-muted{color:rgba(255,255,255,.55);}
.footer-copyright{font-size:11px;color:rgba(255,255,255,.4);margin-top:14px;}

/* Toast */
.toast{
  position:fixed;left:50%;bottom:60px;transform:translateX(-50%) translateY(20px);
  background:rgba(26,37,51,.95);color:#fff;font-size:14px;padding:11px 20px;border-radius:22px;
  opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:88%;text-align:center;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* 在线实时结果标记 */
.tag-online{background:#e6f7ec;color:#0a8a3e;font-size:11px;padding:1px 7px;border-radius:4px;font-weight:600;margin-left:6px;}
.bid-status{background:#eaf1fb;color:#1a56c4;font-size:11px;padding:1px 7px;border-radius:4px;margin-left:4px;}
.bid-card.online{border-left:3px solid #0a8a3e;}
.list-sub{font-size:13px;color:#5a6b7e;font-weight:700;margin:16px 2px 8px;padding-left:9px;border-left:3px solid var(--blue-700);}

/* 搜索按钮：白底蓝字，严格限制尺寸，防止微信/手机浏览器默认样式覆盖 */
.search-btn{
  flex:none;flex-shrink:0;
  background:#fff !important;color:var(--blue-700) !important;
  font-weight:600;font-size:12px;
  padding:0 9px;border:1px solid var(--blue-700);border-radius:12px;
  cursor:pointer;height:24px;line-height:22px;
  -webkit-appearance:none;appearance:none;outline:none;box-shadow:none;
  white-space:nowrap;box-sizing:border-box;
}
.search-btn:hover,.search-btn:active,.search-btn:focus{
  background:#fff !important;color:var(--blue-800) !important;
  box-shadow:none !important;outline:none !important;
}
.search-box input:disabled{color:#9aa7b5;cursor:not-allowed;}

/* 登录 / 注册弹层 */
.auth-mask{
  display:none;position:fixed;inset:0;z-index:120;
  background:rgba(8,18,40,.55);backdrop-filter:blur(2px);
  align-items:center;justify-content:center;padding:24px;
}
.auth-card{
  position:relative;
  width:100%;max-width:340px;background:#fff;border-radius:18px;padding:22px 20px;
  box-shadow:0 12px 40px rgba(0,0,0,.25);animation:authpop .2s ease;
}
@keyframes authpop{from{transform:scale(.94);opacity:.6;}to{transform:scale(1);opacity:1;}}
.auth-tabs{display:flex;gap:8px;margin-bottom:18px;}
.auth-tab{
  flex:1;text-align:center;font-size:15px;font-weight:700;color:var(--ink-2);
  padding:8px 0;border-bottom:2px solid transparent;cursor:pointer;
}
.auth-tab.active{color:var(--blue-700);border-bottom-color:var(--blue-700);}
.auth-form{display:flex;flex-direction:column;gap:14px;}
.auth-field{display:flex;flex-direction:column;gap:6px;}
.auth-field span{font-size:13px;font-weight:600;color:var(--ink);}
.auth-field input{
  border:1px solid var(--line);border-radius:10px;padding:12px;font-size:15px;
  background:var(--blue-050);color:var(--ink);outline:none;
}
.auth-field input:focus{border-color:var(--blue-600);background:#fff;}
.auth-field-pwd{position:relative;}
.auth-field-pwd input{padding-right:46px;}
.pwd-eye{
  position:absolute;right:10px;top:25px;width:28px;height:28px;border:none;background:transparent;
  font-size:18px;line-height:1;cursor:pointer;opacity:.55;padding:0;
}
.pwd-eye:hover{opacity:.9;}
.pwd-eye.on{opacity:.95;}
.auth-submit{
  background:var(--blue-700);color:#fff;border:none;border-radius:26px;
  padding:13px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(11,77,162,.3);margin-top:4px;
}
.auth-submit:active{transform:scale(.98);}
/* 验证码行：输入框 + 获取按钮 横排 */
.auth-field-code{flex-direction:column;}
.auth-field-code .code-row,
.auth-field-code{position:relative;}
.auth-field-code input{width:100%;box-sizing:border-box;padding-right:118px;}
.code-btn{
  position:absolute;right:8px;top:30px;height:34px;line-height:34px;padding:0 12px;
  border:none;border-radius:18px;background:var(--blue-600);color:#fff;font-size:13px;font-weight:600;cursor:pointer;
}
.code-btn:disabled{background:#B7C6DA;cursor:not-allowed;}
.auth-hint{font-size:11px;color:#8A98A8;text-align:center;line-height:1.5;}
.auth-hint-top{margin:-4px 0 14px;font-size:12.5px;font-weight:600;color:var(--ink-2);}
.auth-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;background:transparent;color:#A9B5C2;font-size:18px;line-height:1;cursor:pointer;border-radius:50%;transition:background .15s;}
.auth-close:active{background:rgba(0,0,0,.06);}
.app-version{text-align:center;font-size:12px;color:#fff;opacity:.85;margin-top:10px;letter-spacing:.5px;}
.auth-guest{margin-top:16px;text-align:center;}
.auth-guest a{font-size:12.5px;color:var(--ink-2);text-decoration:underline;}

/* 套餐卡片 */
.plans{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.plan-card{
  position:relative;border:1px solid var(--line);border-radius:14px;padding:16px 16px 16px;
  background:#fff;box-shadow:var(--shadow);
}
.plan-card.hot{border-color:var(--red);background:linear-gradient(180deg,#fff,#fff6f6);}
.plan-tag{
  position:absolute;top:12px;right:12px;
  background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:10px;
  max-width:46%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.plan-name{font-size:15px;font-weight:700;color:var(--blue-800);padding-right:64px;}
.plan-price{display:flex;align-items:baseline;gap:1px;margin:8px 0 12px;color:var(--red);}
.plan-yen{font-size:16px;font-weight:700;}
.plan-price > :not(.plan-yen):not(.plan-unit){font-size:32px;font-weight:800;line-height:1;}
.plan-unit{font-size:13px;color:var(--ink-2);font-weight:600;margin-left:2px;}
.plan-btn{
  width:100%;border:none;background:var(--blue-700);color:#fff;font-weight:700;
  font-size:15px;padding:11px;border-radius:22px;cursor:pointer;
}
.plan-btn:active{background:var(--blue-800);}
.plan-card.hot .plan-btn{background:var(--red);}
.plan-card.hot .plan-btn:active{background:#a51219;}

/* ===== 账户页 ===== */
/* 个人资料头 */
.ac-profile{display:flex;align-items:center;gap:14px;padding:18px 16px;background:linear-gradient(135deg,#0c5bba,#1d8fe1);border-radius:18px;color:#fff;box-shadow:0 8px 20px rgba(12,91,186,.18);}
.ac-profile.guest{background:linear-gradient(135deg,#5b6b82,#7c8aa0);box-shadow:0 8px 20px rgba(91,107,130,.18);}
.ac-avatar{position:relative;cursor:pointer;overflow:hidden;width:54px;height:54px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.6);font-size:24px;font-weight:800;color:#fff;}
.ac-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
.ac-avatar-edit{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;border:1px solid rgba(255,255,255,.7);}
.ac-actions{margin-left:auto;flex:none;display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.ac-order-btn{border:1.5px solid rgba(255,255,255,.9);background:rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:700;padding:6px 14px;border-radius:14px;cursor:pointer;white-space:nowrap;}
.ac-order-btn:active{background:rgba(255,255,255,.32);}
.ac-switch-btn{border:1.5px solid rgba(255,255,255,.55);background:transparent;color:rgba(255,255,255,.92);font-size:12px;font-weight:600;padding:5px 14px;border-radius:14px;cursor:pointer;white-space:nowrap;}
.ac-switch-btn:active{background:rgba(255,255,255,.18);}
.ac-id{flex:1;min-width:0;}
.ac-name{font-size:18px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ac-pill{display:inline-block;margin-top:7px;font-size:12px;font-weight:700;padding:3px 11px;border-radius:12px;background:rgba(255,255,255,.22);}
.ac-pill.guest{background:rgba(0,0,0,.18);}
.ac-pill.member{background:rgba(255,255,255,.25);}
.ac-pill.trial{background:#f59e0b;}
.ac-pill.admin{background:#9f7aea;}

/* 会员卡 */
.ac-memcard{border-radius:16px;padding:15px 16px;margin-top:14px;color:#fff;box-shadow:0 6px 16px rgba(20,40,80,.12);}
.ac-memcard.member{background:linear-gradient(135deg,#0c5bba,#1d8fe1);}
.ac-memcard.trial{background:linear-gradient(135deg,#f59e0b,#fbbf24);}
.ac-memcard.admin{background:linear-gradient(135deg,#6b46c1,#9f7aea);}
.ac-mem-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.ac-mem-name{font-size:16px;font-weight:800;}
.ac-mem-exp{font-size:12px;opacity:.9;flex:none;}
.ac-mem-ben{margin-top:8px;font-size:12.5px;opacity:.92;line-height:1.5;}

/* 信息行 */
.ac-info{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 14px;box-shadow:var(--shadow);}
.ac-row{display:flex;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);font-size:14px;gap:10px;}
.ac-row:last-child{border-bottom:none;}
.ac-ic{width:22px;flex:none;text-align:center;font-size:15px;}
.ac-k{color:var(--ink-2);flex:none;}
.ac-v{margin-left:auto;color:var(--ink);font-weight:600;}

/* 区块标题 */
.ac-section{display:flex;align-items:center;gap:7px;margin:20px 2px 10px;font-size:15px;font-weight:800;color:var(--blue-800);}
.ac-sec-ic{font-size:16px;}

/* 游客权益卡 */
.ac-tip-card{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);}
.ac-tip-title{font-size:14px;font-weight:800;color:var(--blue-800);margin-bottom:10px;}
.ac-ben-list{margin:0;padding-left:18px;}
.ac-ben-list li{font-size:13px;color:var(--ink-2);line-height:1.9;}
.ac-tip{font-size:12.5px;color:var(--ink-2);margin:14px 2px 8px;line-height:1.6;}

/* 按钮 */
.ac-btn{
  width:100%;border:none;background:var(--blue-700);color:#fff;font-weight:700;
  font-size:15px;padding:13px;border-radius:24px;cursor:pointer;margin-top:18px;
}
.ac-btn:active{transform:scale(.98);}
.ac-btn.logout{background:#fff;color:var(--red);border:1px solid var(--red);}
.ac-btn.logout:active{background:#fff0f0;}

/* 套餐权益说明 */
.plan-perk{font-size:12.5px;color:var(--ink-2);margin:6px 0 14px;line-height:1.5;}

/* 会员权益对比表：横向滑动 + 首列固定，解决手机上列太窄 */
.tier-table-wrap{margin:18px 0 12px;}
.tier-table-scroll{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  border-radius:14px;border:1px solid var(--line);
  background:#fff;box-shadow:var(--shadow);
}
.tier-table{
  width:100%;min-width:460px;border-collapse:collapse;
  font-size:13px;line-height:1.45;
}
.tier-table th,.tier-table td{
  padding:12px 10px;text-align:center;vertical-align:middle;
  min-width:92px;
}
/* 行分隔线用内阴影，避免 sticky 单元格边框被盖住 */
.tier-table tbody tr:not(:last-child) th,
.tier-table tbody tr:not(:last-child) td{
  box-shadow:inset 0 -1px 0 0 #eef2f7;
}
/* 表头 */
.tier-table thead th{
  background:var(--blue-800);color:#fff;font-weight:700;
  position:sticky;top:0;z-index:2;
}
.tier-table thead th:first-child{
  background:var(--blue-900);
  position:sticky;left:0;z-index:3;
}
/* 首列（功能/权益）固定 */
.tier-table tbody th{
  background:#f8fafc;text-align:left;font-weight:600;color:var(--ink);
  position:sticky;left:0;z-index:1;
  min-width:118px;max-width:150px;padding-left:12px;
}
.tier-table tbody tr:nth-child(even) td{background:#fbfcfe;}
.tier-table tbody tr:nth-child(even) th{background:#f1f5f9;}
/* 状态图标 */
.tier-table .yes{color:#0a9b5e;font-weight:700;font-size:15px;}
.tier-table .no{color:#c5ccd4;font-weight:700;font-size:15px;}
/* 价格项拆行 */
.tier-price-line{font-size:11.5px;line-height:1.65;white-space:nowrap;}
.tier-price-line:not(:last-child){
  border-bottom:1px dashed #dbe4ee;padding-bottom:3px;margin-bottom:3px;
}
/* 表头小标签 */
.tier-head-tag{display:block;font-size:10px;opacity:.85;font-weight:600;margin-top:2px;}

/* 游客提示 */
.guest-tip{
  text-align:center;color:var(--ink-2);font-size:13px;padding:24px 14px;
  background:var(--blue-050);border-radius:12px;border:1px dashed var(--line);
}

/* 登录：记住账号 / 错误提示 */
.auth-remember{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);user-select:none;}
.auth-remember input{width:15px;height:15px;}
.auth-msg{display:none;font-size:13px;font-weight:600;margin:-4px 0 2px;padding:8px 10px;border-radius:8px;}
.auth-msg.error{display:block;color:var(--red);background:rgba(200,22,30,.08);}
.auth-msg.ok{display:block;color:#0a8a3e;background:#e6f7ec;}

/* 游客体验按钮 */
.guest-btn{
  width:100%;border:1px dashed var(--blue-700);background:var(--blue-050);color:var(--blue-700);
  font-size:13.5px;font-weight:600;padding:11px;border-radius:12px;cursor:pointer;
}
.guest-btn:active{background:var(--blue-100);}

/* 企业资料表单 */
.profile-form{margin-top:16px;background:var(--blue-050);border:1px solid var(--line);border-radius:14px;padding:14px;}
.pf-title{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800;color:var(--blue-800);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--blue-100);}
.pf-sec-ic{font-size:16px;}
.pf-sec-sub{font-size:12px;font-weight:600;color:var(--ink-2);margin-left:4px;}
.pf-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.pf-field span{font-size:13px;font-weight:600;color:var(--ink);}
.pf-field input{
  border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:14px;
  background:#fff;color:var(--ink);outline:none;
}
.pf-field input:focus{border-color:var(--blue-600);}
.pf-save{
  width:100%;border:none;background:var(--blue-700);color:#fff;font-weight:700;
  font-size:15px;padding:12px;border-radius:22px;cursor:pointer;
}
.pf-save:active{background:var(--blue-800);}
.pf-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px;min-height:24px;}
.pf-tag{display:inline-flex;align-items:center;gap:4px;background:var(--blue-700);color:#fff;font-size:12.5px;padding:5px 10px;border-radius:14px;}
.pf-tag.custom{background:#fff;color:var(--blue-700);border:1px solid var(--blue-700);}
.pf-tag button{border:none;background:rgba(255,255,255,.25);color:#fff;width:18px;height:18px;border-radius:50%;font-size:12px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;}
.pf-tag.custom button{background:var(--blue-050);color:var(--blue-700);}
.pf-addrow{display:flex;gap:8px;}
.pf-addrow input{flex:1;}
.pf-addrow button{flex:none;border:1px solid var(--blue-600);background:#fff;color:var(--blue-700);font-weight:600;font-size:13px;padding:0 14px;border-radius:10px;cursor:pointer;}
.pf-addrow button:active{background:var(--blue-050);}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.pf-chip{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:12.5px;padding:6px 11px;border-radius:16px;cursor:pointer;}
.pf-chip.on{background:var(--blue-700);color:#fff;border-color:var(--blue-700);}
.pf-custom-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}

/* 标讯详情同域弹窗 */
.detail-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;align-items:stretch;justify-content:center;}
.detail-modal{display:flex;flex-direction:column;width:100%;max-width:680px;background:#fff;height:100%;}
.detail-bar{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--blue-700);color:#fff;flex:none;}
.detail-title{font-size:15px;font-weight:700;}
.detail-close{border:none;background:rgba(255,255,255,.18);color:#fff;font-size:14px;padding:6px 14px;border-radius:18px;cursor:pointer;}
.detail-close:active{background:rgba(255,255,255,.32);}
.detail-frame{width:100%;flex:1;border:none;background:#fff;}

/* 账户页状态徽标配色 */
.ac-banner.trial{background:linear-gradient(135deg,#f59e0b,#fbbf24);}

/* ===== 全局响应式适配（图片/文字/不同手机屏幕） ===== */
/* 任意图片都不超出屏幕宽度，按比例缩放 */
img{max-width:100%;height:auto;display:block;}
/* 长标题/长文本可换行，避免撑破布局 */
.bid-title,.bid-meta,.brand-name,.brand-sub,.vip-name,.plan-name,.section-title,.hero-title,.list-sub,.ac-row b,.stat-num{
  overflow-wrap:break-word;word-break:break-word;
}
/* flex 子项允许收缩，防止长内容把容器撑宽导致横向滚动 */
.brand,.hero-top,.bid-top,.sort-bar,.sub-keywords,.chips,.check-group,.bureau-grid{
  min-width:0;
}
.brand-text{min-width:0;}
.brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw;}
.brand-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw;}

/* 详情 iframe 自适应，不撑破页面 */
.detail-frame{width:100%;min-width:0;}

/* 小屏手机（≤360px）收紧间距，保证文字与图片对齐不拥挤 */
@media (max-width:360px){
  body{font-size:14px;}
  .app-header{padding:10px 12px;}
  .hero{padding:0;}
  .section{padding:16px 12px;}
  .bid-body{padding:10px;}
  .plan-card{padding:14px;}
  .vip-card{padding:18px 14px;}
  .brand-name{font-size:18px;}
  .search-box{padding:8px 12px;}
  .bottom-nav{height:54px;}
}
/* 大屏（>480px，如平板）内容居中且限制宽度，避免拉伸变形 */
@media (min-width:481px){
  body{border-radius:0;}
}

/* ============ 中交智慧专家 ============ */
.expert-intro{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0c5bba,#1d8fe1);color:#fff;border-radius:12px;padding:10px 12px;margin-bottom:10px;box-shadow:0 4px 12px rgba(12,91,186,.16);}
.expert-avatar{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex:0 0 auto;}
.expert-info{min-width:0;}
.expert-name{font-size:15px;font-weight:700;}
.expert-desc{font-size:11px;opacity:.9;margin-top:1px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* 智能体选择器（双智能体左右横排、扁一点） */
.expert-agents{display:flex;flex-direction:row;gap:8px;margin-bottom:10px;}
.ea-pick{flex:1;display:flex;align-items:center;gap:8px;text-align:left;background:#fff;border:1.5px solid #e3ecf5;border-radius:12px;padding:8px 10px;cursor:pointer;transition:.15s;min-width:0;}
.ea-pick:hover{border-color:#9cc6ee;background:#f5faff;}
.ea-pick.on{border-color:#0c5bba;background:linear-gradient(135deg,#eaf3ff,#dcecff);box-shadow:0 3px 10px rgba(12,91,186,.12);}
.ea-pick-emoji{font-size:18px;flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#eef6ff;border-radius:8px;}
.ea-pick.on .ea-pick-emoji{background:#0c5bba;filter:none;}
.ea-pick-main{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.ea-pick-name{font-size:13px;font-weight:700;color:#173a5e;}
.ea-pick-role{font-size:10.5px;color:#6b7c8e;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ea-pick-avatar{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:0 0 auto;background:#eef6ff;}
.ea-pick.on .ea-pick-avatar{box-shadow:0 0 0 2px #0c5bba;}
.ea-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:0 0 auto;align-self:flex-end;margin-right:2px;box-shadow:0 1px 4px rgba(0,0,0,.14);background:#eef6ff;}
.ea-msg.ai{align-items:flex-end;}
/* 流式输出时的光标闪烁 */
.ea-msg.ai.streaming .ea-bubble::after{content:"";display:inline-block;width:7px;height:14px;background:#0c5bba;margin-left:2px;vertical-align:-2px;animation:eaBlink 1s steps(2) infinite;}
@keyframes eaBlink{0%{opacity:1}50%{opacity:0}100%{opacity:1}}
.expert-ctx{background:#fff7e6;border:1px solid #ffe0a3;color:#9a6a00;border-radius:10px;padding:8px 10px;font-size:12px;margin-bottom:10px;}
.expert-ctx .ea-clear{float:right;cursor:pointer;color:#c08a00;font-weight:700;}
.expert-chat{min-height:52vh;max-height:64vh;overflow-y:auto;padding:4px 2px 8px;display:flex;flex-direction:column;gap:10px;}
.ea-msg{display:flex;}
.ea-msg.me{justify-content:flex-end;}
.ea-msg.ai{justify-content:flex-start;}
.ea-bubble{max-width:84%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;}
.ea-msg.me .ea-bubble{background:#0c5bba;color:#fff;border-bottom-right-radius:4px;}
.ea-msg.ai .ea-bubble{background:#f2f5f9;color:#1d2733;border-bottom-left-radius:4px;}
.expert-empty{color:#8a97a6;font-size:13px;line-height:1.7;text-align:center;padding:12px 16px;}
.ea-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;justify-content:center;}
.ea-chip{max-width:100%;background:#eef5ff;border:1px solid #cfe0f5;color:#0c5bba;font-size:12.5px;line-height:1.3;
  border-radius:14px;padding:7px 12px;cursor:pointer;text-align:left;transition:.15s;font-family:inherit;}
.ea-chip:active{background:#dcebff;border-color:#9cc6ee;}
/* 首页中交智库入口卡 */
.home-expert-card{background:linear-gradient(135deg,#0c5bba,#1d8fe1);color:#fff;border-radius:16px;padding:14px;
  box-shadow:0 8px 22px rgba(12,91,186,.18);}
.he-left{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.he-avatar{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.18);display:flex;align-items:center;
  justify-content:center;font-size:18px;font-weight:800;flex:0 0 auto;}
.he-name{font-size:15px;font-weight:800;}
.he-sub{font-size:11.5px;color:rgba(255,255,255,.85);margin-top:1px;}
.he-desc{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.92);margin:0 0 8px;}
.he-points{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:5px;}
.he-points li{font-size:12.5px;line-height:1.4;color:#fff;}
.he-btn{display:block;width:100%;border:none;background:#fff;color:#0c5bba;font-weight:800;font-size:14px;
  padding:11px;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.12);}
.he-btn:active{transform:translateY(1px);}
.expert-input-bar{position:fixed;left:0;right:0;bottom:56px;display:flex;align-items:flex-end;gap:8px;padding:8px 72px 8px 10px;background:#fff;border-top:1px solid #eef1f5;box-shadow:0 -4px 12px rgba(0,0,0,.05);z-index:30;}
.ei-upload{border:none;background:#eef6ff;color:#0c5bba;font-size:18px;border-radius:10px;width:40px;height:40px;flex:0 0 auto;cursor:pointer;}
#expert-input{flex:1;border:1px solid #dde3ea;border-radius:12px;padding:10px 12px;font-size:14px;resize:none;max-height:90px;line-height:1.4;font-family:inherit;}
.ei-live{border:1px solid #cfe3f7;background:#eef6ff;color:#0c5bba;font-size:12.5px;font-weight:700;border-radius:10px;height:40px;padding:0 10px;flex:0 0 auto;cursor:pointer;white-space:nowrap;}
.ei-live.on{background:#0c5bba;color:#fff;border-color:#0c5bba;box-shadow:0 0 0 3px rgba(12,91,186,.18);}
.ei-live:active{transform:scale(.97);}
.ei-send{border:none;background:#0c5bba;color:#fff;font-size:15px;font-weight:700;border-radius:12px;padding:0 16px;height:40px;flex:0 0 auto;cursor:pointer;}
.ei-send:active{background:#0a4d9e;}
.ei-mic,.ei-wxfile{border:none;background:#eef6ff;color:#0c5bba;font-size:18px;border-radius:10px;width:40px;height:40px;flex:0 0 auto;cursor:pointer;}
.ei-mic.on{background:#0c5bba;color:#fff;animation:eaMicPulse 1s ease-in-out infinite;}
@keyframes eaMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(12,91,186,.5);}50%{box-shadow:0 0 0 6px rgba(12,91,186,0);}}
.ei-mic:active,.ei-wxfile:active{transform:scale(.95);}
.ea-tts{border:none;background:rgba(12,91,186,.08);color:#0c5bba;font-size:13px;line-height:1;border-radius:8px;padding:4px 6px;margin-left:8px;cursor:pointer;flex:0 0 auto;vertical-align:middle;}
.ea-tts:active{background:rgba(12,91,186,.2);}

/* 参考来源（知识源 B/C） */
.ea-msg.src{justify-content:stretch;}
.ea-src{font-size:12px;font-weight:700;color:#0c5bba;padding:8px 10px;background:#eef6ff;border-radius:10px;line-height:1.5;}
.ea-src-list{font-size:11.5px;color:#5b6b82;padding:8px 10px;background:#f7f9fc;border:1px dashed #dbe4ee;border-radius:10px;line-height:1.7;}
.ea-src-list.live{background:#fff7ed;border-color:#fed7aa;color:#9a5b12;}

/* 资质匹配评分卡片 */
.match-card{width:100%;background:#fff;border:1px solid #e3edf7;border-radius:12px;padding:12px;margin:2px 0;box-shadow:0 4px 14px rgba(12,91,186,.08);}
.mc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.mc-title{font-size:14px;font-weight:800;color:#0c5bba;}
.mc-verdict{font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;}
.mc-verdict.good{background:#dcfce7;color:#166534;}
.mc-verdict.warn{background:#fff4d6;color:#92670a;}
.mc-verdict.bad{background:#fee2e2;color:#991b1b;}
.mc-overall{font-size:13px;color:#475569;margin-bottom:10px;}
.mc-overall b{font-size:22px;color:#0c5bba;margin:0 2px;}
.mc-overall-max{color:#94a3b8;font-size:12px;}
.mc-row{display:flex;align-items:center;gap:8px;margin:6px 0;}
.mc-label{flex:0 0 auto;width:78px;font-size:12px;color:#334155;text-align:right;}
.mc-track{flex:1;height:8px;background:#eef2f7;border-radius:6px;overflow:hidden;}
.mc-fill{display:block;height:100%;background:linear-gradient(90deg,#1d8fe1,#0c5bba);border-radius:6px;}
.mc-val{flex:0 0 auto;width:28px;text-align:right;font-size:12px;font-weight:700;color:#0c5bba;}
.mc-sec{margin-top:10px;padding-top:8px;border-top:1px dashed #e5ecf3;}
.mc-sec-t{font-size:12px;font-weight:700;color:#0c5bba;margin-bottom:4px;}
.mc-list{margin:0;padding-left:18px;}
.mc-list li{font-size:12.5px;color:#334155;line-height:1.7;}

/* 标讯卡片“问专家”按钮（位于 bid-foot，不遮挡时间） */
.bid-ask{position:static;border:1px solid #cfe3f7;background:#eef6ff;color:#0c5bba;font-size:12px;font-weight:600;border-radius:20px;padding:5px 12px;cursor:pointer;z-index:2;}
.bid-ask:active{background:#dcecff;}

/* ============ 套餐卡片美化 ============ */
.plan-card{position:relative;background:#fff;border:1px solid #eef1f5;border-radius:16px;padding:18px;margin-bottom:12px;box-shadow:0 4px 14px rgba(20,40,80,.06);overflow:hidden;}
.plan-card.hot{border:1.5px solid #ffb74d;background:linear-gradient(160deg,#fffdf7,#fff6e9);}
.plan-tag{display:inline-block;background:#0c5bba;color:#fff;font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;margin-bottom:8px;}
.plan-card.hot .plan-tag{background:#ff8a3d;}
.plan-name{font-size:16px;font-weight:700;color:#1d2733;}
.plan-price{margin:6px 0 12px;color:#0c5bba;font-weight:800;}
.plan-yen{font-size:16px;vertical-align:top;margin-right:1px;}
.plan-price{font-size:30px;}
.plan-unit{font-size:13px;color:#8a97a6;font-weight:600;margin-left:3px;}
.plan-btn{width:100%;border:none;background:#0c5bba;color:#fff;font-size:15px;font-weight:700;border-radius:12px;padding:11px 0;cursor:pointer;transition:.15s;}
.plan-btn:active{background:#0a4d9e;}
.plan-card.active-plan{border:1.5px solid #2ecc71;}
.plan-card.active-plan .plan-btn{background:#2ecc71;}
.plan-card.active-plan .plan-btn::after{content:" · 当前生效中";font-size:12px;font-weight:600;}

/* 账户页会员卡渐变 */
.ac-banner.member{background:linear-gradient(135deg,#0c5bba,#1d8fe1);}
.ac-banner.trial{background:linear-gradient(135deg,#f59e0b,#fbbf24);}
.ac-banner.admin{background:linear-gradient(135deg,#6b46c1,#9f7aea);}

/* =========================================================
   v2 设计刷新（对标 链家/贝壳 的干净卡片化风格）
   本段位于文件末尾，按 CSS 层叠规则覆盖上方同名规则。
   ========================================================= */

/* —— 重新定义调色板：更明亮专业的品牌蓝 + 克制金/红 —— */
:root{
  --blue-900:#0A2A55;
  --blue-800:#0E47A0;
  --blue-700:#1665D8;   /* 主色：更干净明亮的应用蓝 */
  --blue-600:#2E7DE0;
  --blue-100:#EAF2FE;
  --blue-050:#F4F7FB;
  --red:#E23B2E;        /* 警示红：更现代 */
  --gold:#BF9B4F;       /* 高级金：克制 */
  --ink:#16202B;
  --ink-2:#5B6B7B;
  --ink-3:#8A98A8;
  --line:#E8EDF3;
  --white:#FFFFFF;
  --bg:#F3F6FA;         /* 链家式冷灰底 */
  --radius:14px;
  --shadow:0 4px 16px rgba(16,32,48,.07);
  --sh-1:0 2px 8px rgba(16,32,48,.06);
  --sh-2:0 8px 24px rgba(16,32,48,.09);
  --r-pill:999px;
  --primary:#1665D8;
  --primary-deep:#0E47A0;
  --accent:#BF9B4F;
}

/* 全局背景改为冷灰，白卡浮起（链家同款灰底白卡） */
body{background:var(--bg);max-width:480px;}

/* 顶部红条：更细更精致 */
.top-bar{height:3px;background:linear-gradient(90deg,var(--red) 0 33%,#fff 33% 66%,var(--primary) 66% 100%);}

/* 头部：柔和阴影 */
.app-header{border-bottom:1px solid var(--line);}
.brand-name{letter-spacing:.5px;}

/* 搜索栏：胶囊更圆润 */
.search-box{border-radius:var(--r-pill);box-shadow:var(--sh-1);}

/* —— Hero：更通透的渐变 + 精致统计（紧凑，约原一半高度） —— */
.hero{
  background:linear-gradient(155deg,var(--blue-800) 0%,var(--primary) 55%,var(--blue-600) 100%);
  padding:0;border-radius:0 0 22px 22px;
  box-shadow:0 10px 30px rgba(14,71,160,.22);
}
.hero::after{width:160px;height:160px;right:-40px;top:-40px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);}
.hero-title{font-size:16px;letter-spacing:.5px;}
.hero-desc{font-size:12px;}
.hero-stats{gap:6px;}
.stat{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.20);border-radius:10px;padding:8px 4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);}
.stat-num{font-size:clamp(14px,4.4vw,19px);font-weight:800;line-height:1.1;text-shadow:0 2px 4px rgba(0,0,0,.15);overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.stat-label{font-size:10px;letter-spacing:.5px;margin-top:4px;opacity:.95;}

/* —— 区块标题：更现代 —— */
.section{margin:12px 10px;border-radius:18px;padding:20px 16px;box-shadow:var(--sh-1);}
.sec-bar{width:5px;height:18px;border-radius:3px;background:linear-gradient(180deg,var(--primary),var(--blue-600));}
.section-title{font-size:16px;letter-spacing:.3px;}

/* —— 关键词 chips / 类型 tab：统一圆角与阴影 —— */
.chip{border-radius:var(--r-pill);box-shadow:var(--sh-1);}
.chip.active{box-shadow:0 4px 12px rgba(22,101,216,.30);}
.type-tab{border-radius:var(--r-pill);}
.type-tab.active{box-shadow:0 4px 12px rgba(226,59,46,.28);}

/* —— 标讯卡片：Lianjia 房源卡式 —— */
.bid-list{gap:14px;}
.bid-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--white);
  box-shadow:var(--sh-1);
  overflow:hidden;
  transition:transform .15s, box-shadow .15s;
}
.bid-card:active{transform:translateY(2px);box-shadow:var(--sh-2);}
.bid-top{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;
  background:linear-gradient(180deg,#F7FAFF,#FFFFFF);
  border-bottom:1px solid var(--line);
}
.bid-type{
  font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--r-pill);
  background:var(--blue-100);color:var(--primary-deep);
}
.bid-type.t-tender{background:#E6F0FF;color:#0E47A0;}
.bid-type.t-win{background:#E3F7EC;color:#0E7A3A;}
.bid-type.t-change{background:#FFF2DC;color:#9A6A00;}
.bid-type.t-default{background:#EEF1F5;color:#5B6B7B;}
.bid-date{margin-left:auto;font-size:12px;color:var(--ink-3);}
.bid-body{padding:14px;}
.bid-title{font-size:15px;font-weight:800;color:var(--ink);line-height:1.45;margin:0 0 12px;letter-spacing:.2px;}
.bid-meta{display:flex;flex-wrap:wrap;gap:8px;}
.bm{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--blue-050);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:4px 11px;font-size:12.5px;color:var(--ink-2);
}
.bm-k{color:var(--ink-3);font-size:11.5px;}
.bm b{color:var(--ink);font-weight:700;}
.bid-metric{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:12px;padding:10px 12px;
  background:#FFF8F2;border:1px solid #FBE3D5;border-radius:12px;
  font-size:13px;color:#9A4A12;font-weight:600;line-height:1.5;
}
.bid-metric .bm-ic{font-size:14px;}
.bid-metric .bm-txt{flex:1;min-width:140px;}
.bid-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px;border-top:1px solid var(--line);background:#FBFCFE;
}
.bid-detail{font-size:13.5px;color:var(--primary);font-weight:600;}
.bid-ask{
  position:static;
  border:1px solid var(--primary);background:#fff;color:var(--primary);
  font-size:13px;font-weight:700;padding:7px 16px;border-radius:var(--r-pill);cursor:pointer;
  transition:.15s;
}
.bid-ask:active{background:var(--primary);color:#fff;transform:scale(.97);}
.tag-online{margin-left:6px;}
.bid-status{margin-left:6px;}

/* —— 会员卡 / 套餐 —— */
.vip-card{
  background:linear-gradient(160deg,var(--blue-800),var(--primary));
  border-radius:18px;box-shadow:var(--sh-2);
}
.vip-price .vip-num{font-size:42px;}
.vip-name{color:var(--gold);}
.vip-cta{background:linear-gradient(135deg,#D8B25A,var(--gold));color:#3A2A00;box-shadow:0 6px 16px rgba(191,155,79,.35);}
.plans{gap:14px;}
.plan-card{border-radius:16px;box-shadow:var(--sh-1);padding:18px 16px;}
.plan-card.hot{border-color:var(--accent);background:linear-gradient(180deg,#fff,#FFFaf0);}
.plan-tag{background:linear-gradient(135deg,#D8B25A,var(--gold));}
.plan-name{color:var(--blue-800);}
.plan-price{color:var(--red);}
.plan-btn{border-radius:var(--r-pill);box-shadow:0 4px 12px rgba(22,101,216,.25);}
.plan-card.hot .plan-btn{background:linear-gradient(135deg,#D8B25A,var(--gold));color:#3A2A00;box-shadow:0 4px 12px rgba(191,155,79,.3);}

/* —— 统一主按钮圆角 —— */
.sub-btn,.auth-submit,.ac-btn,.pf-save{border-radius:var(--r-pill);box-shadow:0 4px 12px rgba(22,101,216,.22);}

/* —— 账户页（覆盖硬编码蓝） —— */
.ac-profile{background:linear-gradient(135deg,var(--primary-deep),var(--blue-600));box-shadow:0 8px 22px rgba(22,101,216,.20);}
.ac-memcard.member{background:linear-gradient(135deg,var(--primary-deep),var(--blue-600));}
.ac-banner.member{background:linear-gradient(135deg,var(--primary-deep),var(--blue-600));}

/* —— 专家页 —— */
.expert-intro{background:linear-gradient(135deg,var(--primary-deep),var(--blue-600));border-radius:16px;box-shadow:0 8px 22px rgba(22,101,216,.18);}
.expert-avatar{border-radius:14px;}
/* 快捷区：2x2 服务卡片 */
.expert-quick{flex-wrap:wrap;gap:10px;}
.eq-btn{
  flex:0 0 calc(50% - 5px);
  text-align:left;
  border-radius:14px;
  padding:14px 13px;
  display:flex;flex-direction:column;gap:3px;
  box-shadow:var(--sh-1);
  background:#fff;color:var(--primary-deep);border:1px solid #E0EAF7;
  font-size:14px;
}
.eq-btn:active{background:var(--blue-050);transform:scale(.98);}
.ei-upload{background:var(--blue-050);color:var(--primary);}
.ei-live{background:var(--blue-050);color:var(--primary);border-color:#D6E6FA;}
.ei-live.on{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,101,216,.18);}
.ei-send{background:var(--primary);}
.ei-send:active{background:var(--primary-deep);}
.ea-msg.me .ea-bubble{background:var(--primary);}
.ea-src{color:var(--primary);background:var(--blue-050);}
.ea-src-list.live{background:#FFF7ED;border-color:#FBD9B0;color:#9A5B12;}

/* —— 资质匹配评分卡 —— */
.match-card{border-color:#E3EDF7;box-shadow:var(--sh-1);}
.mc-title{color:var(--primary);}
.mc-fill{background:linear-gradient(90deg,var(--blue-600),var(--primary));}
.mc-val{color:var(--primary);}

/* —— 底部导航：更清晰图标 + 激活胶囊 —— */
.bottom-nav{box-shadow:0 0 0 1px var(--line), 0 -4px 16px rgba(16,32,48,.06);}
.nav-item{font-size:11px;color:var(--ink-3);gap:3px;padding:6px 0;}
.nav-item svg{width:23px;height:23px;}
.nav-item.active{
  color:var(--primary);font-weight:700;
  background:linear-gradient(180deg,rgba(22,101,216,.00),rgba(22,101,216,.10));
  border-radius:0;
}
.nav-item.active svg{filter:drop-shadow(0 2px 4px rgba(22,101,216,.35));transform:translateY(-1px);}
.nav-item:active{background:var(--blue-050);}

/* 小屏微调 */
@media (max-width:360px){
  .section{padding:16px 12px;margin:10px 8px;}
  .bid-body{padding:12px;}
  .eq-btn{flex:0 0 calc(50% - 4px);font-size:13px;}
}

/* ===== 批次2：第二页（我的订阅）新样式 ===== */
.sub-gate{padding:48px 18px;display:flex;justify-content:center;}
.gate-card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px 22px;text-align:center;max-width:340px;}
.gate-icon{font-size:38px;margin-bottom:8px;}
.gate-title{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:10px;}
.gate-desc{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:18px;}
.gate-btn{display:inline-block;background:linear-gradient(135deg,var(--blue-700),var(--blue-600));color:#fff;border:none;border-radius:24px;padding:11px 28px;font-size:15px;font-weight:700;box-shadow:0 6px 16px rgba(11,77,162,.3);cursor:pointer;}
.gate-btn:active{transform:translateY(1px);}
.gate-sub{margin-top:14px;font-size:12px;color:var(--ink-3);}

.sub-update-btn{margin-left:auto;background:#fff;border:1.5px solid var(--blue-600);color:var(--blue-700);font-size:12px;font-weight:700;padding:5px 12px;border-radius:16px;cursor:pointer;}
.sub-update-btn:active{background:var(--blue-050);}

.check-inline{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);cursor:pointer;}
.check-inline input{width:16px;height:16px;accent-color:var(--blue-600);}

.push-settings{background:var(--blue-050);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:4px 0 14px;}
.push-row{display:flex;align-items:center;gap:10px;padding:7px 0;}
.push-row + .push-row{border-top:1px dashed var(--line);}
.push-label{font-size:13px;font-weight:600;color:var(--ink);min-width:84px;}
.push-row input[type=email]{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;}
.push-row button{background:var(--blue-700);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;}
.push-row button.off{background:var(--ink-3);}
.push-state{font-size:13px;color:var(--ink-3);}

/* ---- 收藏功能 ---- */
.bid-fav{
  margin-left:auto;
  border:1px solid #e3b04a;background:#fff7e8;color:#c8860a;
  font-size:12px;font-weight:700;border-radius:20px;padding:5px 12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:3px;transition:.15s;
}
.bid-fav .fav-ic{font-size:13px;line-height:1;}
.bid-fav.on{background:#fff0e6;border-color:#C8102E;color:#C8102E;}
.bid-fav.on .fav-ic{color:#C8102E;}
.bid-fav:active{transform:scale(.97);}
.sec-fav{
  margin-left:auto;
  border:1px solid var(--primary);background:#fff;color:var(--primary);
  font-size:12px;font-weight:700;border-radius:20px;padding:4px 10px;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;transition:.15s;
}
.sec-fav:active{background:var(--primary);color:#fff;}
.fav-count{background:#C8102E;color:#fff;border-radius:10px;font-size:11px;padding:0 6px;min-width:16px;text-align:center;line-height:16px;}
.fav-mask{display:none;position:fixed;inset:0;background:rgba(8,20,40,.5);z-index:60;align-items:center;justify-content:center;padding:16px;}
.fav-modal{width:100%;max-width:680px;max-height:86vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px rgba(10,61,122,.3);}
.fav-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--blue),#0d4a93);color:#fff;}
.fav-title{font-size:16px;font-weight:700;}
.fav-count-tip{font-size:13px;opacity:.9;margin-left:6px;font-weight:400;}
.fav-close{background:rgba(255,255,255,.16);border:none;color:#fff;padding:5px 12px;border-radius:14px;cursor:pointer;font-size:13px;}
.fav-list{padding:12px;overflow-y:auto;}
.fav-empty{text-align:center;color:var(--ink-3);padding:50px 16px;font-size:14px;line-height:1.9;}

/* ===== 批次3：套餐优惠价（红字大 + 原价划掉）===== */
.plan-promo-price{display:flex;align-items:baseline;gap:1px;margin:10px 0 2px;color:var(--red);font-weight:800;font-size:34px;line-height:1;}
.plan-promo-price .plan-yen{font-size:18px;font-weight:700;}
.plan-promo-price .plan-unit{font-size:13px;color:#8a97a6;font-weight:600;margin-left:2px;}
.plan-origin{font-size:13px;color:#9aa7b5;margin-bottom:12px;}
.plan-origin s{color:#b8c0cc;text-decoration:line-through;}

/* ===== 批次4：企业实名认证（上传营业执照 / 法人身份证）===== */
.pf-img-preview{margin-top:8px;}
.pf-img-preview img{display:block;max-width:140px;max-height:100px;border:1px solid var(--line);border-radius:8px;object-fit:cover;}
.pf-declare{margin:4px 0 14px;}
.pf-submit,.pf-save{width:100%;background:linear-gradient(135deg,var(--red),#a51219);color:#fff;border:none;border-radius:var(--r-pill);padding:12px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(200,22,30,.28);}
.pf-submit:disabled{opacity:.6;}

/* ===== 移动端智能适配增强（刘海屏安全区 + 极小屏兜底 + 横屏）===== */
/* 刘海屏 / 全面屏：底部导航与搜索栏不被圆角/Home 条遮挡 */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  body{ padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .bottom-nav{ height: calc(56px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); }
  .search-bar{ padding-top: calc(10px + env(safe-area-inset-top)); }
  .app-header{ padding-top: calc(12px + env(safe-area-inset-top)); }
}
/* 375 及以下：精简次要信息，保证一屏信息密度 */
@media (max-width:375px){
  .brand-sub{ display:none; }
  .search-box input{ font-size:13px; }
  .hero-title{ font-size:15px; }
  .hero-desc{ font-size:11px; }
  .stat-num{ font-size:13px; }
  .stat-label{ font-size:9px; }
  .nav-item{ font-size:10px; }
}
/* 320 极小屏兜底 */
@media (max-width:320px){
  .bottom-nav{ font-size:10px; }
  .nav-item span{ font-size:10px; }
  .plan-promo-price{ font-size:28px; }
  .app-header{ padding:10px 12px; }
}
/* 横向小屏（折叠屏半屏 / 横握手机）避免底部导航过高挤占内容 */
@media (max-height:480px) and (orientation:landscape){
  .bottom-nav{ height:46px; }
  .hero{ padding:0; }
  .hero-inner{ padding:8px 14px 10px; }
}
/* 桌面 / 平板：移动视图居中，并给两侧留白不贴边 */
@media (min-width:481px){
  body{ border-radius:0; }
}

/* ===== AI 投标可行性速评弹窗 ===== */
.review-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:210;align-items:center;justify-content:center;}
.review-modal{
  width:min(92vw,520px);max-height:82vh;display:flex;flex-direction:column;
  background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.review-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;background:linear-gradient(135deg,#0B4DA2,#1b7fe0);color:#fff;
}
.review-title{font-size:15px;font-weight:700;}
.review-close{border:none;background:rgba(255,255,255,.18);color:#fff;font-size:13px;border-radius:14px;padding:4px 12px;cursor:pointer;}
.review-close:active{background:rgba(255,255,255,.32);}
.review-proj{padding:12px 16px;background:#f6f9fd;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink);line-height:1.5;}
.review-proj b{color:#0c2a52;}
.rp-meta{display:block;font-size:12px;color:var(--ink-2);margin-top:3px;}
.rp-hint{display:block;margin-top:8px;padding:8px 10px;background:#fff7e6;border:1px solid #ffe1a8;border-radius:8px;font-size:12px;color:#8a5a00;line-height:1.6;}
.rp-hint .hl{color:#c8161e;font-weight:700;}
.review-body{padding:16px;overflow-y:auto;flex:1;font-size:14px;line-height:1.75;color:var(--ink);}
.review-think{color:var(--ink-2);font-size:13.5px;text-align:center;padding:18px 0;}
.review-text{white-space:pre-wrap;word-break:break-word;}
.review-err{color:#991b1b;background:#fee2e2;border-radius:10px;padding:10px 12px;font-size:13.5px;}
.bid-review{position:static;border:1px solid #d6e8d2;background:#eef9ec;color:#2f7d32;font-size:12px;font-weight:600;border-radius:20px;padding:5px 12px;cursor:pointer;z-index:2;}
.bid-review:active{background:#dcefd6;}

/* ===== 新增 AI 功能 v1.13 样式 ===== */
/* 搜索结果 AI 解读按钮 */
.search-summary-btn{
  margin:8px 0 2px;width:100%;border:1px solid #cfe0f7;background:#eef4fd;color:#0B4DA2;
  font-size:13px;font-weight:600;border-radius:20px;padding:7px 12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.search-summary-btn:active{background:#dce8fb;}

/* 首页 AI 标讯日报卡片 */
.home-daily-card{
  background:linear-gradient(135deg,#0B4DA2,#1565c0);border-radius:14px;padding:14px;color:#fff;
  box-shadow:0 6px 18px rgba(11,77,162,.25);
}
.hd-left{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.hd-icon{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.hd-name{font-size:15px;font-weight:700;}
.hd-sub{font-size:12px;opacity:.85;}
.hd-desc{font-size:13px;line-height:1.6;opacity:.92;margin:4px 0 10px;}
.hd-btn{border:none;background:#fff;color:#0B4DA2;font-size:13px;font-weight:700;border-radius:20px;padding:8px 18px;cursor:pointer;}
.hd-btn:active{transform:scale(.98);}

/* 收藏页 AI 工具条 + 智能推荐 */
.fav-ai-tools{display:flex;gap:8px;padding:10px 14px 4px;}
.fav-ai-btn{flex:1;border:1px solid #cfe0f7;background:#eef4fd;color:#0B4DA2;font-size:13px;font-weight:600;border-radius:20px;padding:8px 10px;cursor:pointer;}
.fav-ai-btn:active{background:#dce8fb;}
.fav-recommend{padding:6px 14px 10px;}
.fav-rec-head{font-size:13px;font-weight:700;color:#0B4DA2;margin:6px 0 8px;}

/* 通用 AI 弹窗（搜索解读 / 日报 / 分类） */
.genai-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:230;align-items:center;justify-content:center;}
.genai-modal{width:min(92vw,540px);max-height:84vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35);}
.genai-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(135deg,#0B4DA2,#1b7fe0);color:#fff;}
.genai-title{font-size:15px;font-weight:700;}
.genai-close{border:none;background:rgba(255,255,255,.18);color:#fff;font-size:13px;border-radius:14px;padding:4px 12px;cursor:pointer;}
.genai-close:active{background:rgba(255,255,255,.32);}
.genai-body{padding:16px;overflow-y:auto;flex:1;font-size:14px;line-height:1.8;color:var(--ink);}
.genai-text{white-space:pre-wrap;word-break:break-word;}
.genai-think{color:var(--ink-2);font-size:13.5px;text-align:center;padding:18px 0;}
.genai-err{color:#991b1b;background:#fee2e2;border-radius:10px;padding:10px 12px;font-size:13.5px;}

/* 全站 AI 客服浮窗 */
.ai-fab{
  position:fixed;right:16px;bottom:78px;width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#0B4DA2,#1b7fe0);color:#fff;font-size:24px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:240;
  box-shadow:0 8px 22px rgba(11,77,162,.4);border:none;
}
.ai-fab:active{transform:scale(.94);}
.ai-chat-fab{
  position:fixed;right:16px;bottom:140px;width:min(86vw,340px);height:min(64vh,460px);
  background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 14px 40px rgba(0,0,0,.3);z-index:241;
}
.acf-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(135deg,#0B4DA2,#1b7fe0);color:#fff;}
.acf-title{font-size:14px;font-weight:700;}
.acf-close{border:none;background:rgba(255,255,255,.2);color:#fff;font-size:14px;border-radius:12px;width:26px;height:26px;cursor:pointer;}
.acf-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f5f8fc;}
.acf-msg{max-width:84%;font-size:13.5px;line-height:1.6;padding:8px 11px;border-radius:12px;word-break:break-word;}
.acf-msg.me{align-self:flex-end;background:#0B4DA2;color:#fff;border-bottom-right-radius:4px;}
.acf-msg.ai{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px;}
.acf-input-bar{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line);background:#fff;}
.acf-input-bar textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;font-family:inherit;max-height:80px;}
.acf-send{border:none;background:#0B4DA2;color:#fff;font-size:13px;font-weight:700;border-radius:10px;padding:0 14px;cursor:pointer;}

/* v1.14：弹窗 / AI 客服朗读按钮 + 语音输入按钮 */
.bar-speak{border:none;background:rgba(255,255,255,.2);color:#fff;font-size:15px;line-height:1;border-radius:12px;width:28px;height:28px;cursor:pointer;flex-shrink:0;}
.bar-speak:active{background:rgba(255,255,255,.36);}
.bar-speak:disabled{opacity:.5;cursor:default;}
.acf-mic{border:none;background:#eef4fd;color:#0B4DA2;font-size:18px;line-height:1;border-radius:50%;width:36px;height:36px;cursor:pointer;flex-shrink:0;}
.acf-mic:active{background:#dce8fb;}
.acf-mic.on{background:#0B4DA2;color:#fff;animation:pulse 1s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(11,77,162,.5);}70%{box-shadow:0 0 0 8px rgba(11,77,162,0);}100%{box-shadow:0 0 0 0 rgba(11,77,162,0);}}
/* 速评卡朗读按钮（深色标题栏适配） */
.review-bar .bar-speak{background:rgba(255,255,255,.2);}

/* 分享浮层（需求：小程序/H5 分享给好友） */
.share-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center;}
.share-sheet{width:100%;max-width:520px;background:#fff;border-radius:16px 16px 0 0;padding:18px 18px 26px;animation:shareUp .22s ease;}
@keyframes shareUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.share-head{display:flex;align-items:center;justify-content:space-between;}
.share-title{font-size:16px;font-weight:800;color:var(--blue-800);}
.share-close{border:0;background:transparent;font-size:18px;color:#999;padding:4px 8px;}
.share-sub{font-size:12px;color:#888;margin:6px 0 14px;line-height:1.5;}
.share-link-box{display:flex;gap:8px;align-items:stretch;}
#share-url{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:12px;color:#444;background:#f7f9fc;}
.share-copy{border:0;background:var(--blue-700);color:#fff;font-size:13px;font-weight:700;padding:0 18px;border-radius:8px;white-space:nowrap;}
.share-copy:active{opacity:.85;}
.share-tip{font-size:12px;color:#07a35a;margin-top:10px;min-height:16px;}
.share-mini-tip{font-size:12px;color:#0B4DA2;background:#eef4ff;border-radius:8px;padding:10px 12px;margin-top:12px;line-height:1.5;}
.share-chan{font-size:12px;color:#888;margin-top:12px;line-height:1.5;}

/* ===== 备案号 ===== */
.site-footer{text-align:center;padding:18px 14px 28px;font-size:11px;color:#9aa8b8;background:var(--blue-050);line-height:1.6;}
.site-footer a{color:#7a8fa3;text-decoration:none;}
.site-footer a:hover{color:var(--blue-700);text-decoration:underline;}
