/* 药材谷 PC 门户 · 浅底国风公共样式 (r380 P1) */
:root{
  --bg:#f7f4ec; --panel:#ffffff; --line:#e2dcc8; --line2:#d5cdb4;
  --green:#145c43; --green-l:#1c7a5a; --green-p:#eef4ef;
  --gold:#B8860B; --gold-l:#d9a520;
  --ink:#2f2a20; --ink2:#5a5340; --ink3:#8a8168;
  --red:#c0392b;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{width:1220px;margin:0 auto}
@media(max-width:1260px){.wrap{width:auto;padding:0 16px}}

/* 顶部细条 */
.topbar{background:#f0ece0;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink3)}
.topbar .wrap{display:flex;align-items:center;height:32px}
.topbar .l{margin-right:auto}
.topbar a{margin-left:16px;color:var(--ink2)}
.topbar a:hover{color:var(--green)}
.topbar .login{color:var(--green);font-weight:bold}

/* 头部 */
.head{background:var(--panel);border-bottom:2px solid var(--green)}
.head .wrap{display:flex;align-items:center;padding:16px 0;gap:28px}
.logo{display:flex;align-items:center;gap:10px;white-space:nowrap}
.logo .mark{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,#145c43,#1c7a5a);color:#f5e6b8;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:bold}
/* r477 王先生令：每页左上角放真 logo（img.mark 替换文字块，绿底不再需要） */
.logo img.mark{background:none;object-fit:cover;display:block}
.logo .t1{font-size:22px;font-weight:bold;color:var(--green);letter-spacing:2px}
.logo .t2{font-size:11px;color:var(--ink3);letter-spacing:1px}
.search{flex:1;display:flex;max-width:620px}
.search .sw{flex:1;display:flex;border:2px solid var(--green);border-radius:4px 0 0 4px;overflow:hidden;background:#fff}
.search select{border:none;background:#f4f1e8;color:var(--green);font-size:13px;padding:0 8px;border-right:1px solid var(--line);outline:none}
.search input{flex:1;border:none;outline:none;padding:10px 12px;font-size:14px;color:var(--ink)}
.search button{background:var(--green);color:#fff;border:none;padding:0 30px;font-size:15px;cursor:pointer;border-radius:0 4px 4px 0}
.search button:hover{background:var(--green-l)}
.head .quick{margin-left:auto;display:flex;gap:10px}
.head .quick a{padding:9px 16px;border-radius:4px;font-size:13px;border:1px solid var(--green);color:var(--green)}
.head .quick a.primary{background:var(--green);color:#fff}
.head .quick a:hover{background:var(--green);color:#fff}

/* 主导航 */
.nav{background:var(--green)}
.nav .wrap{display:flex;align-items:stretch;height:44px}
.nav .cat-btn{background:#0f4735;color:#f5e6b8;display:flex;align-items:center;gap:6px;padding:0 15px;font-size:13.5px;font-weight:bold;cursor:default;white-space:nowrap;flex:0 0 auto}
.nav .menu{display:flex;align-items:center;gap:0;margin-left:6px;flex:1 1 auto;min-width:0;
  overflow:hidden}
.nav .menu a{color:#e8f2ed;padding:0 10px;height:44px;display:flex;align-items:center;font-size:13px;white-space:nowrap}
.nav .menu a.on,.nav .menu a:hover{background:#0f4735;color:#fff}
/* ★ r1004 修「导航文字重叠」（王先生图7 实拍）：
   实测：menu 区（flex:1）排到 left=1340，right 区从 left=991 开始
   → **menu 溢出压在 right 上**，出现「药材谷AI 智库测绘 / 大模型对话台」叠字。
   ★ 关键：这套规则**会被 header 组件的后注入样式覆盖**（实测 overflow/背景/z-index 全部没生效）
   → 必须用 **!important** 强压。
   治法三件套：
     ① menu 区 overflow:hidden → 多余菜单项被裁掉，不外溢
     ② right 区加不透明绿底 + position:relative + z-index → 压在上层
     ③ right 区 white-space:nowrap → 内部不换行
   （左侧菜单若被裁掉，可用「全功能导航」进全部功能，入口不丢） */
.nav .menu{overflow:hidden !important;position:relative;z-index:1 !important}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:4px;flex:0 0 auto;
  white-space:nowrap;background:#0f4735 !important;position:relative !important;
  z-index:20 !important;padding-left:10px}
.nav .right a{color:#f5e6b8;font-size:13px;padding:0 10px;height:44px;display:flex;align-items:center;white-space:nowrap}
.nav .right a:hover{background:#0f4735}
.nav .right .hot{background:var(--gold);color:#fff;border-radius:3px;height:28px;padding:0 10px;align-self:center}
/* r473 全产业服务导航下拉（王先生 20:20 拍板：导航里放一产/二产/三产直达；只加不改） */
.nav .menu .navdrop{position:relative;display:flex;align-items:stretch}
.nav .menu .navdrop > a{color:#e8f2ed;padding:0 10px;height:44px;display:flex;align-items:center;font-size:13px;white-space:nowrap}
.nav .menu .navdrop > a.on,.nav .menu .navdrop:hover > a{background:#0f4735;color:#fff}
.nav .menu .navdrop .drop{display:none;position:absolute;top:44px;left:0;background:#fff;border:1px solid #dcd6c6;
  border-radius:0 0 8px 8px;box-shadow:0 6px 18px rgba(20,92,67,.16);min-width:176px;z-index:60;overflow:hidden}
.nav .menu .navdrop:hover .drop{display:block}
.nav .menu .navdrop .drop a{display:block;height:auto;padding:10px 14px;font-size:13px;color:#2a2620;border-bottom:1px solid rgba(15,74,54,.08)}
.nav .menu .navdrop .drop a:last-child{border-bottom:none}
.nav .menu .navdrop .drop a:hover{background:#f2f7f4;color:#145c43}

/* 面包屑 */
.crumb{font-size:13px;color:var(--ink3);padding:14px 0}
.crumb a:hover{color:var(--green)}
.crumb b{color:var(--green);font-weight:normal}

/* 布局：主区 + 侧栏 */
.layout{display:flex;gap:20px;align-items:flex-start;padding-bottom:40px}
.side{width:220px;flex-shrink:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.side .st{background:var(--green-p);color:var(--green);font-weight:bold;padding:12px 16px;border-bottom:1px solid var(--line);font-size:15px}
.catlist{padding:6px 0}
.catgrp{padding:6px 14px}
.catgrp .gt{color:var(--gold);font-weight:bold;font-size:13px;margin-bottom:4px}
.catgrp .gi{font-size:12.5px;color:var(--ink2);line-height:1.9}
.catgrp .gi a{margin-right:10px;color:var(--ink2)}
.catgrp .gi a:hover{color:var(--green)}
.main{flex:1;min-width:0}

/* 卡片 */
.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:16px}
.card h3{font-size:16px;color:var(--green);margin-bottom:10px;padding-left:10px;border-left:3px solid var(--gold)}

/* 筛选条 */
.filter{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 16px 12px;margin-bottom:14px}
.frow{display:flex;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13px}
.frow:last-child{border-bottom:none}
.frow .k{width:56px;color:var(--ink3);flex-shrink:0;padding-top:2px}
.frow .v{flex:1;min-width:0;color:var(--ink2);word-break:break-word}
.frow .v a{display:inline-block;padding:1px 10px;margin:0 4px 4px 0;border-radius:3px;font-size:12.5px}
.frow .v.az{display:flex;flex-wrap:wrap;gap:2px 4px}
.frow .v.az a{margin:0}
.frow .v a:hover{color:var(--green)}
.frow .v a.on{background:var(--green);color:#fff}
.az{display:flex;flex-wrap:wrap;gap:2px}
.az a{width:24px;height:22px;line-height:22px;text-align:center;border-radius:3px;font-size:12px;color:var(--ink2)}
.az a:hover{background:var(--green-p);color:var(--green)}
.az a.on{background:var(--gold);color:#fff}

/* 视图切换 */
.vtabs{display:flex;gap:8px;align-items:center;margin-bottom:12px;min-width:0;flex-wrap:wrap}
.vtabs .t{padding:6px 15px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:13px;color:var(--ink2);cursor:pointer}
.vtabs .t.on{background:var(--green);color:#fff;border-color:var(--green)}
.vtabs .sort{margin-left:auto;font-size:13px;color:var(--ink3)}
.vtabs .sort a{margin-left:14px;padding:4px 10px;border-radius:3px}
.vtabs .sort a.on{color:var(--red);font-weight:bold}

/* 卡片网格 */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1260px){.grid{grid-template-columns:repeat(3,1fr)}}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:.15s;display:flex;flex-direction:column}
.gcard:hover{box-shadow:0 4px 14px rgba(20,92,67,.14);transform:translateY(-2px)}
.gcard .img{height:140px;background:linear-gradient(135deg,#eef4ef,#e3ede6);display:flex;align-items:center;justify-content:center;color:#a9c3b5;font-size:13px;position:relative}
/* r455 图令：头图真图 + 图上药名浮层（图名对标，未命中回药名文字） */
.gcard .img img{width:100%;height:100%;object-fit:cover;display:block}
.gcard .img .pnm{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.62));color:#fff;font-size:12.5px;font-weight:600;padding:10px 9px 4px;text-align:left}
.dcard .h img{width:30px;height:30px;object-fit:cover;border-radius:4px;vertical-align:-9px;margin-right:7px;background:#f4f1e8;border:1px solid var(--line)}
/* r455：行情表行 / 撮合雷达头 小缩略图 */
.tbl td.nm img{width:26px;height:26px;object-fit:cover;border-radius:4px;vertical-align:-8px;margin-right:7px;background:#f4f1e8;border:1px solid var(--line)}
.mzq .hd img{width:30px;height:30px;object-fit:cover;border-radius:4px;background:#f4f1e8;border:1px solid var(--line);flex-shrink:0}
.mc-hd img{width:30px;height:30px;object-fit:cover;border-radius:4px;background:#f4f1e8;border:1px solid var(--line);flex-shrink:0;align-self:center}
.gcard .img .bd{position:absolute;top:8px;left:8px;background:var(--green);color:#fff;font-size:11px;padding:1px 7px;border-radius:3px}
.gcard .img .pp{position:absolute;top:8px;right:8px;background:rgba(184,134,11,.92);color:#fff;font-size:11px;padding:1px 7px;border-radius:3px}
.gcard .bd2{padding:10px 12px;flex:1;display:flex;flex-direction:column;gap:5px}
.gcard .nm{font-size:15px;font-weight:bold;color:var(--ink)}
.gcard .nm .ok{display:inline-block;width:14px;height:14px;background:var(--green);color:#fff;border-radius:50%;font-size:10px;line-height:14px;text-align:center;vertical-align:1px;margin-left:4px}
.gcard .mt{font-size:12.5px;color:var(--ink3)}
.gcard .mt b{color:var(--ink2);font-weight:normal}
.gcard .qty{color:var(--red);font-weight:bold}
.gcard .ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);padding-top:7px;font-size:12px;color:var(--ink3)}
.gcard .tel{color:var(--gold)}
.gcard .fee{color:var(--green);font-size:11.5px}

/* 表格视图 */
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:13px}
.tbl th{background:var(--green-p);color:var(--green);padding:10px 8px;border:1px solid var(--line);font-weight:bold;white-space:nowrap}
.tbl td{padding:9px 8px;border:1px solid var(--line);color:var(--ink2);text-align:center}
.tbl tr:hover td{background:#fbfaf4}
.tbl .nm{font-weight:bold;color:var(--ink);text-align:left;padding-left:12px}
.tbl .price{color:var(--red)}
.tbl .tel{color:var(--gold);cursor:pointer}
.tbl .tel:hover{text-decoration:underline}

/* 需求卡 */
/* ★ r1004 王先生定版：采购大厅求购卡与首页 .gcard **同口径**
   —— 一排四个（原来 3 列，与首页/供应大厅都不一致）
   —— 方框：纯白底 + 1px 边框 + 6px 圆角（原来只有边框无圆角阴影）
   —— 内容撑开 + 同排等高（Grid stretch），不再出现长短不一 */
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}
@media(max-width:1260px){.dgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.dgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.dgrid{grid-template-columns:1fr}}
.dcard{background:var(--panel);border:1px solid var(--line);border-radius:6px;
  padding:14px 16px;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);min-height:0;
  transition:box-shadow .16s,border-color .16s,transform .16s}
.dcard:hover{border-color:#145c43;box-shadow:0 4px 14px rgba(20,92,67,.14);
  transform:translateY(-2px)}
.dcard .h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.dcard .h .nm{font-size:16px;font-weight:bold;color:var(--ink)}
.dcard .h .ok{width:15px;height:15px;background:var(--green);color:#fff;border-radius:50%;font-size:10px;line-height:15px;text-align:center}
.dcard .h .days{margin-left:auto;background:#fbeceb;color:var(--red);font-size:12px;padding:2px 9px;border-radius:10px;font-weight:bold}
.dcard .row{font-size:13px;color:var(--ink3);margin:3px 0}
.dcard .row b{color:var(--ink2);font-weight:normal}
.dcard .f{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line);display:flex;align-items:center;font-size:12px;color:var(--ink3)}
.dcard .f .tel{color:var(--gold)}
.dcard .f .bid{margin-left:auto;background:var(--green);color:#fff;padding:4px 14px;border-radius:4px;font-size:12.5px}
.dcard .f .bid:hover{background:var(--green-l)}

/* 详情 */
.dwrap{display:flex;gap:20px;align-items:flex-start}
.dmain{flex:1;min-width:0}
.dside{width:300px;flex-shrink:0}
.dtitle{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 20px;margin-bottom:14px}
.dtitle h1{font-size:22px;color:var(--green);margin-bottom:6px}
.dtitle .meta{font-size:13px;color:var(--ink3)}
.dnine{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 20px 14px;margin-bottom:14px}
.dnine table{width:100%;border-collapse:collapse;font-size:13.5px}
.dnine th{width:96px;text-align:left;color:var(--ink3);font-weight:normal;padding:11px 0;vertical-align:top;border-bottom:1px dashed var(--line)}
.dnine td{color:var(--ink);padding:11px 0;border-bottom:1px dashed var(--line)}
.dnine tr:last-child th,.dnine tr:last-child td{border-bottom:none}
.mcard{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:14px}
.mcard h4{font-size:15px;color:var(--green);margin-bottom:10px}
.mcard .r{display:flex;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line)}
.mcard .r:last-of-type{border-bottom:none}
.mcard .r .k{width:80px;color:var(--ink3)}
.mcard .r .v{flex:1;color:var(--ink2)}
.mcard .btn{display:block;text-align:center;background:var(--green);color:#fff;padding:9px;border-radius:4px;margin-top:10px;font-size:14px}
.mcard .btn:hover{background:var(--green-l)}
.mcard .btn.ghost{background:#fff;color:var(--green);border:1px solid var(--green)}

/* 页脚 */
.foot{background:#2b2820;color:#b7ae95;margin-top:20px;padding:26px 0 18px;font-size:12.5px}
.foot .cols{display:flex;gap:40px;padding-bottom:16px;border-bottom:1px solid #3f3a2c}
.foot .col h5{color:#e5dcc0;font-size:14px;margin-bottom:8px}
.foot .col a{display:block;color:#b7ae95;line-height:1.9}
.foot .col a:hover{color:var(--gold-l)}
.foot .bot{padding-top:14px;line-height:1.9;color:#8f866e;text-align:center}
.foot .bot .disc{color:#a89e82;margin-bottom:6px}
.foot .bot .cert{color:#8f866e}

/* 通用 */
.pager{display:flex;justify-content:center;align-items:center;gap:6px;padding:20px 0;font-size:13px;color:var(--ink3)}
.pager a{padding:5px 11px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink2)}
.pager a.on{background:var(--green);color:#fff;border-color:var(--green)}
.pager a:hover{border-color:var(--green);color:var(--green)}
.pager a.on:hover{color:#fff}
.pager a.dis{opacity:.4;cursor:not-allowed;border-color:var(--line);color:var(--ink3);pointer-events:none}
.pager .pgtot{color:#8a8168;margin-left:6px;font-size:12.5px}
.zprov a.on{color:#145c43;font-weight:bold;background:#eef6f1;border-radius:3px}
.banner{background:linear-gradient(120deg,#145c43,#1c7a5a);border-radius:6px;color:#fff;padding:20px 26px;margin-bottom:16px;display:flex;align-items:center;gap:20px}
.banner .bt{font-size:19px;font-weight:bold;color:#f5e6b8}
.banner .bs{font-size:13px;color:#cfe3da;margin-top:4px}
.banner .bb{margin-left:auto;background:var(--gold);color:#fff;padding:9px 22px;border-radius:4px;font-size:14px;white-space:nowrap}
.banner .bb:hover{background:var(--gold-l)}
.banner.gold{background:linear-gradient(120deg,#a9760b,#c9982c)}
.banner.gold .bt{color:#fff}
.banner.gold .bs{color:#fbf0d4}
.banner.gold .bb{background:#145c43;color:#fff}
.banner.gold .bb:hover{background:#1c7a5a}
.quotebar{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 18px;margin-bottom:16px;display:flex;align-items:center;gap:18px;font-size:13px;color:var(--ink2);overflow:hidden}
.quotebar .lb{color:var(--green);font-weight:bold;flex-shrink:0}
.quotebar .it{white-space:nowrap}
.quotebar .it b{color:var(--ink)}
.quotebar .up{color:var(--red)}
.quotebar .down{color:#1a8c4e}
.hint{background:#fdf8e8;border:1px solid #ecdfb0;border-radius:6px;padding:10px 16px;font-size:12.5px;color:#8a7a45;margin-bottom:14px}
.hint b{color:#8a6d1a}

/* 行情中心标签页（驾驶舱 / 明细 互链，r382） */
.dash-tabs{display:flex;gap:8px;align-items:center;margin:12px 0 4px}
.dash-tabs a{padding:7px 18px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:13.5px;color:var(--ink2)}
.dash-tabs a.on{background:var(--green);color:#fff;border-color:var(--green);font-weight:bold}
.dash-tabs .meta{margin-left:auto;font-size:12.5px;color:var(--ink3)}
.dash-tabs .meta b{color:var(--gold)}

/* ============ r383 差异化视图 A：供应大厅「产地货盘」 ============ */
.pan-kpis{display:flex;gap:12px;margin-bottom:14px}
.pan-kpi{flex:1;background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 16px;display:flex;align-items:center;gap:12px}
.pan-kpi .ic{width:38px;height:38px;border-radius:8px;background:var(--green-p);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:bold;flex-shrink:0}
.pan-kpi .ic.g{background:#fdf6e3;color:var(--gold)}
.pan-kpi .v{font-size:21px;font-weight:bold;color:var(--green);line-height:1.15}
.pan-kpi .v small{font-size:12px;color:var(--ink3);font-weight:normal;margin-left:2px}
.pan-kpi .k{font-size:12px;color:var(--ink3)}
.pan-body{display:flex;gap:16px;align-items:flex-start}
.pan-list{width:326px;flex-shrink:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pan-list .hd{background:var(--green-p);color:var(--green);font-weight:bold;padding:10px 14px;font-size:14px;border-bottom:1px solid var(--line);display:flex;align-items:center}
.pan-list .hd span{margin-left:auto;font-size:11.5px;color:var(--ink3);font-weight:normal}
.pan-item{padding:9px 14px;border-bottom:1px dashed var(--line);cursor:pointer}
.pan-item:last-child{border-bottom:none}
.pan-item:hover{background:#fbfaf4}
.pan-item.on{background:#f4f8f5;border-left:3px solid var(--green);padding-left:11px}
.pan-item .l1{display:flex;align-items:center;font-size:13.5px}
.pan-item .nm{font-weight:bold;color:var(--ink)}
.pan-item .ct{margin-left:auto;font-size:12px;color:var(--ink3)}
.pan-item .ct b{color:var(--gold)}
.pan-item .bar{height:6px;background:#efe9d8;border-radius:3px;margin-top:6px;overflow:hidden}
.pan-item .bar i{display:block;height:100%;background:linear-gradient(90deg,#1c7a5a,#B8860B);border-radius:3px}
.pan-item .l2{font-size:11.5px;color:var(--ink3);margin-top:4px}
.pan-main{flex:1;min-width:0}
.pan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1260px){.pan-grid{grid-template-columns:repeat(2,1fr)}}
.pcard{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column}
.pcard .t{display:flex;align-items:center;gap:6px}
.pcard .n{font-size:15px;font-weight:bold;color:var(--ink)}
.pcard .spec{background:var(--green-p);color:var(--green);font-size:11px;padding:1px 7px;border-radius:3px}
.pcard .r{font-size:12.5px;color:var(--ink3);margin-top:5px}
.pcard .r b{color:var(--ink2);font-weight:normal}
.pcard .q{color:var(--red);font-weight:bold}
.pcard .f{margin-top:9px;padding-top:8px;border-top:1px dashed var(--line);display:flex;align-items:center;font-size:12px;color:var(--ink3)}
.pcard .f a{margin-left:auto;color:var(--green);font-weight:bold}
.pan-empty{padding:26px;text-align:center;color:var(--ink3);font-size:13px}

/* ============ r383 差异化视图 B：采购大厅「供需撮合雷达」 ============ */
.mz-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.mz-kpi{background:#fff;border:1px solid var(--line);border-radius:6px;padding:13px 16px;position:relative;overflow:hidden}
.mz-kpi:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}
.mz-kpi.gold:before{background:var(--gold)}
.mz-kpi.red:before{background:var(--red)}
.mz-kpi .v{font-size:23px;font-weight:bold;color:var(--ink);line-height:1.2}
.mz-kpi .v small{font-size:12px;color:var(--ink3);font-weight:normal;margin-left:3px}
.mz-kpi .k{font-size:12.5px;color:var(--ink3);margin-top:1px}
.mzq{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:12px;overflow:hidden}
.mzq .hd{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fcfbf6}
.mzq .hd .n{font-size:17px;font-weight:bold;color:var(--ink)}
.mzq .hd .s{background:var(--green-p);color:var(--green);font-size:11.5px;padding:2px 8px;border-radius:3px}
.mzq .hd .days{margin-left:auto;background:#fbeceb;color:var(--red);font-size:12px;padding:2px 10px;border-radius:10px;font-weight:bold}
.mzq .bd{display:flex;align-items:stretch}
.mzq .facts{width:242px;flex-shrink:0;padding:12px 16px;border-right:1px dashed var(--line);font-size:12.5px;color:var(--ink3);line-height:1.75}
.mzq .facts b{color:var(--ink2);font-weight:normal}
.mzq .dims{flex:1;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;gap:9px;min-width:0}
.dim{display:flex;align-items:center;gap:9px;font-size:12.5px}
.dim .dk{width:54px;color:var(--ink3);flex-shrink:0}
.dim .dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;font-size:10px;line-height:16px;text-align:center;color:#fff;font-weight:bold}
.dim .dot.y{background:#1c7a5a}
.dim .dot.n{background:#d3ccb6}
.dim .dv{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mzq .score{width:182px;flex-shrink:0;padding:12px 16px;border-left:1px dashed var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}
.mzq .score .num{font-size:27px;font-weight:bold;line-height:1}
.mzq .score .num small{font-size:12px;color:var(--ink3);font-weight:normal}
.mzq .score .lb{font-size:11.5px;color:var(--ink3)}
.mzq .score .meter{width:100%;height:7px;background:#efe9d8;border-radius:4px;overflow:hidden}
.mzq .score .meter i{display:block;height:100%;border-radius:4px}
.mzq .score .btn{margin-top:3px;background:var(--green);color:#fff;padding:6px 16px;border-radius:4px;font-size:12.5px;white-space:nowrap}
.mzq .score .btn.off{background:#fff;border:1px solid var(--gold);color:var(--gold)}
.gaps{background:#fff;border:1px dashed #dccfa4;border-radius:6px;padding:14px 16px;margin-bottom:12px}
.gaps .hd{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.gaps .hd .t{font-size:15px;font-weight:bold;color:var(--gold)}
.gaps .hd .d{font-size:12.5px;color:var(--ink3)}
.gapchips{display:flex;flex-wrap:wrap;gap:8px}
.gapchip{background:#fdf8e8;border:1px solid #ecdfb0;border-radius:4px;padding:5px 11px;font-size:12.5px;color:#8a6d1a;display:flex;align-items:center;gap:7px}
.gapchip b{color:#7a5c10}
.gapchip .qt{background:#fff;border-radius:3px;padding:0 6px;font-size:11.5px}
.gapchip .go{color:var(--green);font-size:11.5px;border-left:1px solid #e3d6a6;padding-left:7px}

/* ============ r383 详情页「大模型点评」 ============ */
.llm-card{background:linear-gradient(150deg,#fbfdfb,#f4f8f5);border:1px solid #cfe0d6}
.llm-card h4{display:flex;align-items:center;gap:6px}
.llm-card h4 .tag{margin-left:auto;font-size:11px;color:var(--ink3);font-weight:normal}
.llm-out{font-size:13px;color:var(--ink2);line-height:1.85;margin-top:9px;min-height:22px}
.llm-out.err{color:#8a7a45}
.llm-out p{margin:0 0 7px}
.llm-src{margin-top:9px;padding-top:8px;border-top:1px dashed #cfe0d6;font-size:11.5px;color:var(--ink3)}
.llm-src .m{display:inline-block;background:#e7f0ea;color:var(--green);border-radius:3px;padding:1px 7px;margin-right:6px}
.llm-dots i{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin-right:3px;animation:llmb 1.1s infinite}
.llm-dots i:nth-child(2){animation-delay:.18s}
.llm-dots i:nth-child(3){animation-delay:.36s}
@keyframes llmb{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* ============ r384 产业服务 / 智库（全产业链） ============ */
/* 产业链条：一产→二产→三产 */
.chain{display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:14px 0 16px}
.chain .node{flex:1;padding:16px 20px;position:relative;cursor:pointer;transition:.15s}
.chain .node+.node{border-left:1px dashed var(--line2)}
.chain .node:hover{background:#fbfdfb}
.chain .node .no{font-size:12px;color:var(--gold);font-weight:bold;letter-spacing:1px}
.chain .node .tt{font-size:17px;font-weight:bold;color:var(--green);margin:3px 0 6px}
.chain .node .dd{font-size:12.5px;color:var(--ink3);line-height:1.7}
.chain .node .kv{margin-top:9px;font-size:12px;color:var(--ink2)}
.chain .node .kv b{color:var(--red)}
.chain .arrow{display:flex;align-items:center;padding:0 2px;color:var(--line2);font-size:18px}

/* 服务统计横条 */
.kbar{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
@media(max-width:1260px){.kbar{grid-template-columns:repeat(3,1fr)}}
.kcell{background:#fff;border:1px solid var(--line);border-radius:6px;padding:14px 16px;text-align:center}
.kcell .n{font-size:26px;font-weight:bold;color:var(--green);line-height:1.2}
.kcell .n small{font-size:13px;color:var(--ink3);font-weight:normal;margin-left:2px}
.kcell .l{font-size:12.5px;color:var(--ink3);margin-top:4px}

/* 板块卡（带图标） */
.secgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1260px){.secgrid{grid-template-columns:repeat(2,1fr)}}
.seccard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;transition:.15s;display:flex;flex-direction:column}
.seccard:hover{box-shadow:0 4px 14px rgba(20,92,67,.12);transform:translateY(-2px)}
.seccard .ico{width:42px;height:42px;border-radius:9px;background:var(--green-p);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}
.seccard .tt{font-size:16px;font-weight:bold;color:var(--ink);margin-bottom:4px}
.seccard .tt .cn{font-size:12px;color:var(--gold);font-weight:normal;margin-left:6px}
.seccard .dd{font-size:12.5px;color:var(--ink3);line-height:1.75;flex:1}
.seccard .tg{margin-top:11px;display:flex;flex-wrap:wrap;gap:6px}
.seccard .tg span{font-size:11.5px;background:#f4f1e8;color:var(--ink2);border-radius:3px;padding:2px 8px}
.seccard .tg span b{color:var(--red)}
.seccard .go{margin-top:12px;color:var(--green);font-size:13px;font-weight:bold}

/* 工位/加工厂卡 */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:1260px){.fgrid{grid-template-columns:repeat(2,1fr)}}
.fcard2{background:#fff;border:1px solid var(--line);border-radius:6px;padding:13px 15px}
.fcard2 .h{display:flex;align-items:flex-start;gap:8px;margin-bottom:7px}
.fcard2 .h .no{font-size:11px;color:var(--ink3);background:#f4f1e8;border-radius:3px;padding:1px 6px;flex-shrink:0;margin-top:2px}
.fcard2 .h .n{font-size:14.5px;font-weight:bold;color:var(--ink);line-height:1.4}
.fcard2 .tg2{display:inline-block;font-size:11.5px;background:var(--green-p);color:var(--green);border-radius:3px;padding:1px 8px;margin:0 5px 5px 0}
.fcard2 .mt{font-size:12.5px;color:var(--ink3);margin-top:3px}
.fcard2 .mt b{color:var(--ink2);font-weight:normal}
.fcard2 .rm{font-size:12px;color:var(--ink2);margin-top:5px;padding-top:5px;border-top:1px dashed var(--line);line-height:1.6}
.fcard2 .cap{color:var(--red);font-weight:bold}
.st-tag{display:inline-block;font-size:11.5px;border-radius:9px;padding:1px 9px;font-weight:bold}

/* 工艺链 */
.craftrow{display:flex;flex-wrap:wrap;gap:8px}
.craft{background:#fbf9f2;border:1px solid var(--line);border-radius:5px;padding:8px 12px;font-size:12.5px;color:var(--ink2)}
.craft b{color:var(--green);font-size:13px}
.craft .h{color:var(--gold);font-weight:bold}

/* 时间线（气象预警） */
.tl2{position:relative;padding-left:20px}
.tl2:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line2)}
.tl2 .it{position:relative;padding:0 0 14px 4px}
.tl2 .it:before{content:"";position:absolute;left:-19px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--green);border:2px solid #fff;box-shadow:0 0 0 2px var(--line2)}
.tl2 .it.warn:before{background:var(--red)}
.tl2 .it .hd{font-size:13.5px;font-weight:bold;color:var(--ink)}
.tl2 .it .hd .lv{font-size:11.5px;border-radius:3px;padding:1px 7px;margin-left:6px;color:#fff;font-weight:bold}
.tl2 .it .mt{font-size:12.5px;color:var(--ink3);margin-top:3px}
.tl2 .it .ad{font-size:12.5px;color:var(--green);margin-top:3px}

/* 专家卡 */
.egrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:1260px){.egrid{grid-template-columns:repeat(3,1fr)}}
.ecard{background:#fff;border:1px solid var(--line);border-radius:6px;padding:14px;text-align:center;transition:.15s}
.ecard:hover{box-shadow:0 4px 12px rgba(20,92,67,.12)}
.ecard .av{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#145c43,#1c7a5a);color:#f5e6b8;font-size:20px;font-weight:bold;display:flex;align-items:center;justify-content:center;margin:0 auto 9px}
.ecard .n{font-size:14.5px;font-weight:bold;color:var(--ink)}
.ecard .ti{font-size:12px;color:var(--green);margin-top:2px}
.ecard .fd{font-size:12px;color:var(--ink3);margin-top:5px}
.ecard .og{font-size:11.5px;color:var(--ink3);margin-top:3px}
.ecard .bt{margin-top:9px}
.ecard .bt a{font-size:12px;color:var(--green);border:1px solid var(--green);border-radius:3px;padding:3px 12px}

/* 知识库卡 */
.kbgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:1260px){.kbgrid{grid-template-columns:1fr}}
.kbcard2{background:#fff;border:1px solid var(--line);border-radius:6px;padding:14px 16px}
.kbcard2 .ct{display:inline-block;font-size:11.5px;background:var(--green-p);color:var(--green);border-radius:3px;padding:1px 8px;margin-bottom:6px}
.kbcard2 .tt{font-size:14.5px;font-weight:bold;color:var(--ink);margin-bottom:5px}
.kbcard2 .cc{font-size:12.5px;color:var(--ink2);line-height:1.75}
.kbcard2 .sf{font-size:11.5px;color:var(--ink3);margin-top:7px;padding-top:6px;border-top:1px dashed var(--line)}

/* 药典条目 */
.pcard2{background:linear-gradient(150deg,#fbfdfb,#f4f8f5);border:1px solid #cfe0d6;border-radius:6px;padding:14px 16px}
.pcard2 .n{font-size:15px;font-weight:bold;color:var(--green)}
.pcard2 .nf{font-size:12.5px;color:var(--ink2);margin:4px 0}
.pcard2 .ef{font-size:12.5px;color:var(--ink2);line-height:1.7}
.pcard2 .tb{font-size:12px;color:var(--red);margin-top:5px}
.pcard2 .sf{font-size:11.5px;color:var(--ink3);margin-top:6px}

/* 通用小标签行 */
.tabbars{display:flex;gap:7px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.tabbars a{padding:6px 15px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:13px;color:var(--ink2)}
.tabbars a.on{background:var(--green);color:#fff;border-color:var(--green);font-weight:bold}
.tabbars .sp{margin-left:auto;font-size:12.5px;color:var(--ink3)}

/* ============ r386 土地流转专区（差异化可视化） ============ */
/* 可流转面积构成带：整幅横条按土壤类型分段，段宽∝亩数 */
.lstrip{display:flex;height:40px;border-radius:6px;overflow:hidden;border:1px solid var(--line);margin:6px 0 0}
.lstrip .seg{position:relative;min-width:3px;transition:.15s;cursor:default}
.lstrip .seg:hover{filter:brightness(1.1);outline:2px solid #fff;outline-offset:-2px}
.lstrip .seg span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap;overflow:hidden}
.legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:11px}
.legend .lg{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2)}
.legend .lg i{width:13px;height:13px;border-radius:3px;display:inline-block;flex-shrink:0}
.legend .lg b{color:var(--ink);font-weight:bold}
.legend .lg em{color:var(--ink3);font-style:normal;font-size:11.5px}

/* 省份流转榜：横条长度∝该省面积 */
.provrow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line)}
.provrow:last-child{border-bottom:0}
.provrow .pname{width:76px;font-size:13px;color:var(--ink);font-weight:bold;flex-shrink:0}
.provrow .pbar{flex:1;height:16px;background:#f2efe4;border-radius:3px;overflow:hidden}
.provrow .pbar i{display:block;height:100%;background:linear-gradient(90deg,#1c7a5a,#145c43);border-radius:3px}
.provrow .pnum{width:132px;text-align:right;font-size:12.5px;color:var(--ink3);flex-shrink:0}
.provrow .pnum b{color:var(--green);font-size:13.5px}

/* 地块矩阵：每块地一个方块，色=状态 */
.lmatrix{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;padding-top:6px}
@media(max-width:1260px){.lmatrix{grid-template-columns:repeat(5,1fr)}}
.ltile{border-radius:6px;padding:9px 10px;color:#fff;cursor:pointer;transition:.15s;min-height:74px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.ltile:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(20,92,67,.22)}
.ltile .tp{font-size:11.5px;opacity:.92}
.ltile .tm{font-size:15px;font-weight:bold;margin-top:2px}
.ltile .tm small{font-size:11px;font-weight:normal;opacity:.9}
.ltile .th{font-size:11px;margin-top:3px;opacity:.92;line-height:1.4}
.ltile .tk{position:absolute;top:7px;right:8px;font-size:10.5px;background:rgba(255,255,255,.9);color:#145c43;border-radius:3px;padding:1px 5px;font-weight:bold}
.ltile.st-listed{background:linear-gradient(140deg,#1c7a5a,#145c43)}
.ltile.st-dealed{background:linear-gradient(140deg,#9aa39b,#78827a)}
.ltile.st-locked{background:linear-gradient(140deg,#c9a227,#a5811a)}
.ltile.st-verified{background:linear-gradient(140deg,#2b8f68,#1c7a5a)}
.ltile.st-pending{background:linear-gradient(140deg,#b0a68c,#8a8168)}
.ltile .fbar{position:absolute;left:0;bottom:0;height:3px;background:rgba(255,255,255,.55)}

/* 地块详情：流转条件格 */
.lkv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:4px}
.lkv .c{background:#fbfaf4;border:1px solid var(--line);border-radius:6px;padding:11px 13px}
.lkv .c .k{font-size:12px;color:var(--ink3)}
.lkv .c .v{font-size:16px;font-weight:bold;color:var(--green);margin-top:3px}
.lkv .c .v small{font-size:12px;color:var(--ink3);font-weight:normal;margin-left:2px}
.lkv .c .v.red{color:var(--red)}

/* ===== r387 土地流转整板块 · 全国省级行政区下沉 ===== */
.cardsub{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cardsub a{font-size:13px;padding:6px 16px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink2);transition:.15s}
.cardsub a:hover{border-color:var(--green);color:var(--green);background:var(--green-p)}
.ldcov{display:flex;flex-wrap:wrap;gap:6px;padding-top:6px}
.ldcov .cv{width:80px;height:48px;border-radius:5px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.15s;background:#fff}
.ldcov .cv b{font-size:12.5px;color:var(--ink3);font-weight:bold;line-height:1.1}
.ldcov .cv span{font-size:10px;color:#a29a86;margin-top:3px}
.ldcov .cv.has{background:linear-gradient(140deg,#1c7a5a,#145c43);border-color:#145c43}
.ldcov .cv.has b{color:#fff}
.ldcov .cv.has span{color:#d6e8df}
.ldcov .cv:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(20,92,67,.18)}
.ldcov .cv.sel{outline:2px solid var(--gold);outline-offset:1px}
.ldrbar{display:flex;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed var(--line);margin-top:14px}
.ldrbar .rb{flex:1;min-width:132px;border:1px solid var(--line);border-radius:6px;padding:9px 12px;background:#fbfaf4}
.ldrbar .rb .rn{font-size:13.5px;font-weight:bold;color:var(--green)}
.ldrbar .rb .rv{font-size:12px;color:var(--ink3);margin-top:3px}
.ldrbar .rb .rv b{color:var(--ink)}
.pgrp{margin-bottom:14px}
.pgrp-h{display:flex;align-items:center;gap:10px;padding:4px 0 8px 9px;border-left:3px solid var(--gold);margin-bottom:4px}
.pgrp-h b{font-size:14.5px;color:var(--green)}
.pgrp-h span{font-size:12px;color:var(--ink3)}
.pgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
@media(max-width:1260px){.pgrid{grid-template-columns:repeat(4,1fr)}}
.pcard{border:1px solid var(--line);border-radius:6px;padding:10px 11px;background:#fff;cursor:pointer;transition:.15s;min-height:94px;display:flex;flex-direction:column}
.pcard:hover{box-shadow:0 4px 12px rgba(20,92,67,.13);transform:translateY(-2px)}
.pcard.has{background:#f3f8f5;border-color:#cfe0d8}
.pcard.sel{outline:2px solid var(--gold);outline-offset:1px}
.pcard .pch{display:flex;align-items:center;justify-content:space-between;gap:6px}
.pcard .pcn{font-size:14px;font-weight:bold;color:var(--ink)}
.pcard.has .pcn{color:var(--green)}
.pcard .pct{font-size:10px;border-radius:3px;padding:1px 6px;background:#f4f1e8;color:var(--ink3);white-space:nowrap}
.pcard.has .pct{background:var(--green);color:#fff}
.pcard .pcd{font-size:11px;color:var(--ink3);line-height:1.55;margin-top:6px;flex:1}
.pcard .pcf{font-size:11.5px;color:var(--ink3);margin-top:6px;border-top:1px dashed var(--line);padding-top:6px}
.pcard .pcf b{color:var(--green);font-size:13.5px}
.pcard.empty{background:#fcfcfa;border-style:dashed}
.pcard.empty .pcn{color:#8a8168}
.ldflow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:4px}
.ldflow .fs{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fbfaf4;position:relative}
.ldflow .fn{font-size:12px;font-weight:bold;color:var(--gold);letter-spacing:1px}
.ldflow .ft{font-size:13px;font-weight:bold;color:var(--green);margin:2px 0 4px}
.ldflow .fd{font-size:11.5px;color:var(--ink3);line-height:1.6}

/* ===== r390 土地流转 · 意向登记（banner 双入口 + 登记页）===== */
.banner .bbwrap{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.banner .bbwrap .bb{margin-left:0}
.banner .bb.alt{background:transparent;border:1px solid rgba(255,255,255,.62);color:#fff}
.banner .bb.alt:hover{background:rgba(255,255,255,.15)}

/* ===== r393 行情驾驶舱加厚（小标题 / 迷你数字）===== */
.card h3 .dsub{font-size:11.5px;color:#8a8168;font-weight:400;margin-left:8px}
.dmini-n{font-size:20px;font-weight:800;color:#145c43;line-height:1.25}
.dmini-l{font-size:11.5px;color:#8a8168;margin-top:1px}

/* ===== r394 行情每日快照（累积日历 + 台账表） ===== */
.snapcell{display:inline-block;width:15px;height:15px;border-radius:3px;background:#eee9db;border:1px solid #e2dbc9}
.snapcell.on{background:#1a8c4e;border-color:#157a44}
.snapcell.today{background:#fff;border:2px solid #B8860B;box-shadow:0 0 0 2px rgba(184,134,11,.18)}
.snaptbl{width:100%;border-collapse:collapse;font-size:12.5px}
.snaptbl th{background:#f7f4ec;color:#5c5442;font-weight:700;text-align:left;padding:8px 10px;border-bottom:1px solid #e6e0cd;white-space:nowrap}
.snaptbl td{padding:8px 10px;border-bottom:1px solid #f0ecdf;color:#2f2a20}
.snaptbl tbody tr:hover{background:#fbfaf4}

/* ===== r395 药市档案 + 品种速查档案 ===== */
.mpgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
.mpcard{border:1px solid #e6e0cd;border-radius:8px;padding:11px 13px;background:#fdfcf7}
.mpcard:hover{border-color:#d9cba6;box-shadow:0 1px 6px rgba(184,134,11,.10)}
.mph{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mph b{font-size:14px;color:#145c43}
.mpb{font-size:11px;color:#8a8168;background:#f2eddd;border-radius:9px;padding:1px 8px}
.mpt{margin-left:auto;font-size:11px;border-radius:9px;padding:1px 8px;font-weight:600}
.mpt.tr-stable{background:rgba(138,129,104,.12);color:#8a8168}
.mpt.tr-weak{background:rgba(26,140,78,.12);color:#1a8c4e}
.mpt.tr-strong{background:rgba(192,57,43,.10);color:#c0392b}
.mps{font-size:11.5px;color:#8a8168;margin:6px 0 8px;line-height:1.5;min-height:34px}
.mppwrap{display:flex;gap:10px;flex-wrap:wrap;padding-top:2px}
.mpp{font-size:11.5px;color:#5c5442}
.mpp b{font-size:13px;color:#2f2a20;font-weight:800}
.mpp em{font-style:normal;font-size:10.5px;margin-left:3px}
.mpd{font-size:11.5px;color:#8a8168;margin-top:9px;padding-top:7px;border-top:1px dashed #e6e0cd}
.hfchips{display:flex;flex-wrap:wrap;gap:7px;padding-top:4px}
.hfchip{font-size:12px;color:#5c5442;background:#f4f0e2;border:1px solid #e6e0cd;border-radius:13px;padding:3px 12px;cursor:pointer;transition:.15s}
.hfchip:hover{border-color:#B8860B;color:#145c43}
.hfchip.on{background:#145c43;color:#fff;border-color:#145c43}
@media (max-width:1080px){.mpgrid{grid-template-columns:repeat(2,1fr)}}

/* ===== r396 行情驾驶舱交互增强：详情抽屉 / 快讯检索台 / 品种对比 ===== */
.drawer-mask{position:fixed;inset:0;background:rgba(20,40,32,.34);opacity:0;pointer-events:none;transition:.2s;z-index:60}
.drawer-mask.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:540px;max-width:93vw;background:#fdfcf7;box-shadow:-8px 0 28px rgba(0,0,0,.18);transform:translateX(103%);transition:transform .26s cubic-bezier(.4,0,.2,1);z-index:61;display:flex;flex-direction:column}
.drawer.on{transform:translateX(0)}
.drawer .dh{padding:13px 18px;background:linear-gradient(135deg,#145c43,#1c7a5a);color:#fff;display:flex;align-items:center;gap:10px;flex:0 0 auto}
.drawer .dh .dt b{font-size:17px}
.drawer .dh .dt span{display:block;font-size:11.5px;opacity:.86;margin-top:2px}
.drawer .dh .dx{margin-left:auto;cursor:pointer;font-size:22px;line-height:1;opacity:.85;border:0;background:transparent;color:#fff;padding:0 2px}
.drawer .dh .dx:hover{opacity:1}
.drawer .db{padding:14px 18px 26px;overflow:auto;flex:1}
.dsec{margin-top:14px}
.dsec:first-child{margin-top:0}
.dsec>h4{font-size:13px;color:#145c43;margin:0 0 7px;display:flex;align-items:center;gap:6px}
.dsec>h4::before{content:'';width:3px;height:13px;background:#B8860B;border-radius:2px;display:inline-block}
.dkbox{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:4px}
.dkbox .kb{border:1px solid #e6e0cd;border-radius:7px;padding:8px 10px;background:#fbfaf4}
.dkbox .kb i{font-style:normal;display:block;font-size:11px;color:#8a8168}
.dkbox .kb b{font-size:15px;color:#2f2a20;font-weight:800;display:block;margin-top:2px}
.dsrc{font-size:11.5px;color:#5c5442;background:#f4f0e2;border:1px solid #e6e0cd;border-radius:7px;padding:7px 11px;margin-bottom:12px;line-height:1.6}
.dsrc b{color:#145c43}
.clk{cursor:pointer}
.clk:hover{background:#fbf8ee}
.hfchip.sm{font-size:11.5px;padding:2px 10px}
.nsearch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.nsearch input{flex:1;min-width:150px;border:1px solid #e6e0cd;border-radius:7px;padding:6px 11px;font-size:12.5px;color:#2f2a20;background:#fbfaf4;outline:none}
.nsearch input:focus{border-color:#B8860B}
.nsearch .nc{font-size:11.5px;color:#8a8168;white-space:nowrap}
.cmpgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.cmphead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.cmphead select{border:1px solid #e6e0cd;border-radius:7px;padding:6px 10px;font-size:13px;color:#145c43;font-weight:700;background:#fbfaf4;outline:none}
.cmphead select:focus{border-color:#B8860B}
.cmpvs{font-size:12px;font-weight:800;color:#B8860B}
.cmptbl{width:100%;border-collapse:collapse;font-size:12.5px}
.cmptbl th{background:#f7f4ec;color:#5c5442;font-weight:700;text-align:left;padding:7px 10px;border-bottom:1px solid #e6e0cd}
.cmptbl td{padding:7px 10px;border-bottom:1px solid #f0ecdf;color:#2f2a20}
.cmptbl td.win{background:rgba(184,134,11,.10);font-weight:800}
@media (max-width:1080px){.cmpgrid{grid-template-columns:1fr}.dkbox{grid-template-columns:repeat(3,1fr)}}

/* ===== r397 行情明细页：真筛选 + 排序表 + 品种报价抽屉 ===== */
.qfcard{padding:12px 16px}
.qfrow{display:flex;align-items:flex-start;gap:10px;margin:7px 0;flex-wrap:wrap}
.qfrow .qk{flex:0 0 auto;font-size:12.5px;color:#8a8168;font-weight:700;padding-top:4px;min-width:46px}
.qfrow .qk.sm{margin-left:4px;min-width:auto}
.qvs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qf{font-size:12px;color:#5c5442;background:#f4f0e2;border:1px solid #e6e0cd;border-radius:13px;padding:2.5px 11px;cursor:pointer;transition:.15s;user-select:none}
.qf:hover{border-color:#B8860B;color:#145c43}
.qf.on{background:#145c43;color:#fff;border-color:#145c43}
.qf.az{min-width:22px;text-align:center;padding:2px 8px}
.qf.az.dim{opacity:.32;cursor:default}
.qf.az.dim:hover{border-color:#e6e0cd;color:#5c5442}
.qf i{font-style:normal;opacity:.72;font-size:11px}
.qf.reset{background:#fff;border-color:#d9cba6;color:#B8860B;margin-left:auto}
.qf.reset:hover{background:#fdf7e6}
.qinput{flex:1;min-width:180px;border:1px solid #e6e0cd;border-radius:7px;padding:6px 11px;font-size:12.5px;color:#2f2a20;background:#fbfaf4;outline:none}
.qinput:focus{border-color:#B8860B}
.qcnt{font-size:11.5px;color:#8a8168;white-space:nowrap}
.qsep{display:inline-block;width:1px;height:16px;background:#e6e0cd;margin:0 4px}
.qtbl th.sorth:hover{color:#B8860B}
.tbl tr.qrow{cursor:pointer}
.tbl tr.qrow:hover{background:#fbf8ee}

/* ===== r398 药企集采专区 · 撮合看板（漏斗 / 匹配卡 / 热度条） ===== */
.radar-funnel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fbfaf4;border:1px solid #e6e0cd;border-radius:8px;padding:12px 16px;margin-top:6px}
.radar-funnel .rf{min-width:92px}
.radar-funnel .rf .rv{font-size:22px;font-weight:800;color:#2f2a20;line-height:1.2}
.radar-funnel .rf .rl{font-size:11.5px;color:#8a8168;margin-top:2px}
.radar-funnel .ra{color:#d9cba6;font-size:16px}
.radar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rcard{border:1px solid #e6e0cd;border-radius:8px;padding:11px 13px;background:#fdfcf7}
.rcard:hover{border-color:#d9cba6;box-shadow:0 1px 6px rgba(184,134,11,.10)}
.rch{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.rch b{font-size:14.5px;color:#145c43}
.rf-tag{font-size:11px;color:#1a8c4e;background:#eef4ef;border-radius:9px;padding:1px 8px;font-weight:600}
.rcr{display:flex;justify-content:space-between;font-size:12.5px;color:#5c5442;margin:4px 0}
.rcr b{color:#2f2a20}
.rcbar{height:7px;background:#f2eddd;border-radius:4px;overflow:hidden;margin:8px 0 5px}
.rcbar i{display:block;height:100%;background:linear-gradient(90deg,#145c43,#1a8c4e);border-radius:4px}
.rcf{font-size:11.5px;color:#8a8168}
.rcf b{color:#145c43}
.hotr{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:12.5px}
.hotn{width:72px;color:#2f2a20;font-weight:700;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hotb{flex:1;height:14px;background:#f2eddd;border-radius:3px;overflow:hidden}
.hotb i{display:block;height:100%;background:linear-gradient(90deg,#1a8c4e,#B8860B);border-radius:3px}
.hotv{width:120px;color:#8a8168;text-align:right;white-space:nowrap}
@media(max-width:1080px){.radar-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== r399 PC 门户首页升级（门户格局：Hero / 总览 / 板块导航 / 三栏速览 / 大模型入口）===== */
.hm-hero{display:grid;grid-template-columns:1fr 372px;gap:16px;margin:6px 0 18px}
.hm-brand{position:relative;overflow:hidden;border-radius:10px;padding:26px 30px;color:#f4f0e2;
  background:linear-gradient(132deg,#0d3f2e,#145c43 52%,#1c7a5a);box-shadow:0 8px 22px rgba(20,92,67,.18)}
.hm-brand::after{content:'';position:absolute;right:-70px;top:-70px;width:250px;height:250px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,165,32,.30),rgba(217,165,32,0) 70%)}
.hm-brand .bt{font-size:26px;font-weight:bold;letter-spacing:1px;line-height:1.35}
.hm-brand .bt em{font-style:normal;color:#f0c85a}
.hm-brand .bs{font-size:13.5px;color:#cfe3d9;margin-top:10px;line-height:1.8;max-width:640px}
.hm-brand .cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;position:relative;z-index:1}
.hm-brand .cta a{padding:10px 20px;border-radius:6px;font-size:13.5px;font-weight:bold}
.hm-brand .cta a.p{background:#f0c85a;color:#3d2f06}
.hm-brand .cta a.p:hover{background:#ffd977}
.hm-brand .cta a.s{border:1px solid rgba(255,255,255,.55);color:#f4f0e2}
.hm-brand .cta a.s:hover{background:rgba(255,255,255,.14)}
.hm-ov{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:10px;overflow:hidden}
.hm-ov a{background:#fff;padding:13px 15px;display:block;transition:.15s}
.hm-ov a:hover{background:#fbf8ee}
.hm-ov .v{font-size:23px;font-weight:bold;color:var(--green);line-height:1.2}
.hm-ov .v small{font-size:12px;font-weight:normal;color:var(--ink3);margin-left:3px}
.hm-ov .l{font-size:12px;color:var(--ink2);margin-top:2px}
.hm-ov .d{font-size:11px;color:var(--ink3);margin-top:3px}
.hm-sechd{display:flex;align-items:center;margin:20px 0 12px}
.hm-sechd h2{font-size:17px;color:var(--green);padding-left:10px;border-left:3px solid var(--gold)}
.hm-sechd .more{margin-left:auto;font-size:12.5px;color:var(--ink3)}
.hm-sechd .more:hover{color:var(--green)}
.hm-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}
.hm-navcard{border:1px solid var(--line);border-radius:8px;background:#fff;padding:15px 17px;transition:.15s;display:block}
.hm-navcard:hover{border-color:var(--green);box-shadow:0 6px 16px rgba(20,92,67,.10);transform:translateY(-1px)}
.hm-navcard .ic{width:34px;height:34px;border-radius:7px;background:var(--green-p);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:18px;float:left;margin-right:11px}
.hm-navcard .t{font-size:15px;font-weight:bold;color:var(--green);line-height:34px}
.hm-navcard .s{font-size:12px;color:var(--ink3);margin-top:9px;clear:both;line-height:1.7;min-height:38px}
.hm-navcard .k{border-top:1px dashed var(--line);margin-top:9px;padding-top:8px;display:flex;gap:16px}
.hm-navcard .k div{font-size:11.5px;color:var(--ink3)}
.hm-navcard .k b{display:block;font-size:15px;color:var(--gold);font-weight:bold}
.hm-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}
.hm-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hm-idx{background:linear-gradient(135deg,#fbf8ee,#f4efe0);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:12px}
.hm-idx .n{font-size:12.5px;color:var(--ink3)}
.hm-idx .v{font-size:30px;font-weight:bold;color:var(--green);line-height:1.25}
.hm-idx .v span{font-size:14px;margin-left:8px;font-weight:bold}
.hm-idx .r{font-size:11.5px;color:var(--ink3);margin-top:2px}
.up{color:#c0392b}.down{color:#1a8c4e}.flat{color:#8a8168}
.hm-row{display:flex;align-items:center;font-size:12.5px;padding:6px 0;border-bottom:1px dashed var(--line)}
.hm-row:last-child{border-bottom:none}
.hm-row .nm{flex:1;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-row .pr{width:78px;text-align:right;color:var(--ink2)}
.hm-row .cg{width:66px;text-align:right;font-weight:bold}
.hm-rank{display:flex;align-items:center;gap:9px;font-size:12.5px;margin:7px 0}
.hm-rank .rp{width:60px;color:var(--ink);font-weight:bold}
.hm-rank .rb{flex:1;height:12px;background:#f2eddd;border-radius:3px;overflow:hidden}
.hm-rank .rb i{display:block;height:100%;background:linear-gradient(90deg,#145c43,#B8860B);border-radius:3px}
.hm-rank .rv{width:104px;text-align:right;color:var(--ink3);font-size:11.5px}
.hm-mini{display:grid;grid-template-columns:repeat(17,1fr);gap:3px;margin:8px 0 4px}
.hm-mini i{height:16px;border-radius:3px;background:#eeeadb;display:block}
.hm-mini i.on{background:linear-gradient(135deg,#145c43,#1c7a5a)}
.hm-mini i.on:hover{outline:2px solid var(--gold)}
.hm-tag{display:inline-block;padding:1px 7px;border-radius:3px;font-size:11px;background:var(--green-p);color:var(--green);margin:0 4px 4px 0}
.hm-tag.g{background:#fdf6e0;color:#8a6d1a}
.hm-tag.r{background:#fbeceb;color:#c0392b}
.hm-ask{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.hm-ask a{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.6);border-radius:6px;
  padding:10px 12px;font-size:12.5px;color:#2f2a20;line-height:1.6;transition:.15s}
.hm-ask a:hover{background:#fff;border-color:#f0c85a}
.hm-mdl{border-radius:10px;padding:22px 26px;color:#f4f0e2;margin:18px 0;
  background:linear-gradient(120deg,#1b1a14,#2f2a20 60%,#4a3f22)}
.hm-mdl .bt{font-size:19px;font-weight:bold}
.hm-mdl .bt em{font-style:normal;color:#f0c85a}
.hm-mdl .bs{font-size:12.5px;color:#cfc6a8;margin-top:6px}
.hm-mdl .note{font-size:11px;color:#9a927b;margin-top:10px}
@media(max-width:1180px){.hm-hero{grid-template-columns:1fr}.hm-nav,.hm-3col,.hm-2col,.hm-ask{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.hm-nav,.hm-3col,.hm-2col,.hm-ask{grid-template-columns:1fr}.hm-mini{grid-template-columns:repeat(9,1fr)}}

/* ===== r400 药企集采 · 招标项目详情页 ===== */
.bdt-head{display:grid;grid-template-columns:1fr 372px;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:20px 24px;margin:6px 0 16px}
.bdh-st{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.bdh-badge{padding:2px 10px;border-radius:4px;font-size:12px;font-weight:bold}
.bdh-no{font-size:11.5px;color:var(--ink3)}
.bdt-head h1{font-size:22px;color:var(--green);line-height:1.4;letter-spacing:.5px}
.bdh-meta{font-size:13px;color:var(--ink2);margin-top:9px;line-height:1.9}
.bdh-meta b{color:var(--ink)}
.bdh-r{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:8px;overflow:hidden}
.bdh-cell{background:#fbfaf4;padding:11px 13px}
.bdh-cell .n{font-size:15px;font-weight:bold;color:var(--green);line-height:1.35;word-break:break-all}
.bdh-cell .l{font-size:11px;color:var(--ink3);margin-top:2px}
.bd-req{background:#fbfaf4;border-left:3px solid var(--gold);border-radius:0 6px 6px 0;padding:14px 16px;
  font-size:13.5px;color:var(--ink);line-height:1.95}
.bd-empty{padding:22px;text-align:center;color:var(--ink3);font-size:13px;background:#fbfaf4;border-radius:6px}
.bd-tl{position:relative;padding-left:6px}
.bd-tl-n{position:relative;padding:0 0 16px 22px;border-left:2px solid #e2dcc8}
.bd-tl-n:last-child{border-left-color:transparent;padding-bottom:0}
.bd-tl-n .dot{position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;
  background:var(--green);border:2px solid #fff;box-shadow:0 0 0 2px #cfe0d6}
.bd-tl-n.off .dot{background:#d5cdb4;box-shadow:0 0 0 2px #eeeadb}
.bd-tl-n.hi .dot{background:var(--gold);box-shadow:0 0 0 2px #f0e0b0}
.bd-tl-n .tt{font-size:12.5px;color:var(--ink3)}
.bd-tl-n .tv{font-size:14px;color:var(--ink);font-weight:bold;margin-top:1px}
.bd-tl-n.off .tv{color:#a89f88;font-weight:normal}
.bd-chain{border-radius:8px;padding:14px 16px;background:#fbfaf4;border:1px solid var(--line)}
.bd-chain.ok{background:#f2f8f4;border-color:#cfe0d6}
.bd-chain .cc{font-size:13.5px;font-weight:bold;color:var(--green);margin-bottom:8px}
.bd-chain .cl{font-size:11px;color:var(--ink3);margin-top:8px}
.bd-chain .cv{font-size:12px;color:var(--ink);font-family:Consolas,monospace;word-break:break-all;margin-top:2px}
.bd-chain .cv2{font-size:12.5px;color:var(--ink2);line-height:1.8;margin-top:3px}
.bd-sim{display:block;padding:11px 13px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;transition:.15s}
.bd-sim:hover{border-color:var(--green);background:#fbfaf4}
.bd-sim .sn{font-size:13px;color:var(--ink);font-weight:bold;line-height:1.5}
.bd-sim .sm{font-size:11.5px;color:var(--ink3);margin-top:6px;display:flex;align-items:center;gap:8px}
.bd-nav{display:flex;align-items:center;gap:12px;margin:4px 0 16px}
.bd-nb{flex:1;text-align:center;padding:11px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;
  font-size:12.5px;color:var(--green);transition:.15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-nb:hover{border-color:var(--green);background:#fbfaf4}
.bd-nb.mid{flex:0 0 170px;background:var(--green);color:#fff;border-color:var(--green);font-weight:bold}
.bd-nb.mid:hover{background:var(--green-l)}
.bd-nb.off{color:#b8b0a0;background:#f7f5ee;cursor:default}
.bd-nb.off:hover{border-color:var(--line);background:#f7f5ee}
@media(max-width:1180px){.bdt-head{grid-template-columns:1fr}.bd-nav{flex-wrap:wrap}.bd-nb{flex:1 1 100%}}
.bd-chain.warn{background:#fdf8ec;border-color:#efe0b8}
.bd-chain.warn .cc{color:#8a6d1a}

/* ===== r401 首页归一 · 全产业链十大板块段 ===== */
.hm-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.hm-ch{position:relative;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 13px;display:block;transition:.15s;cursor:pointer;overflow:hidden}
.hm-ch:hover{border-color:var(--green);box-shadow:0 4px 12px rgba(20,92,67,.10);transform:translateY(-1px)}
.hm-ch .no{position:absolute;right:10px;top:7px;font-size:21px;font-weight:800;color:#ece5cc;line-height:1}
.hm-ch .ic{font-size:18px;line-height:1}
.hm-ch .t{font-size:13.5px;font-weight:bold;color:var(--green);margin-top:7px;line-height:1.4}
.hm-ch .s{font-size:11.5px;color:var(--ink3);margin-top:5px;line-height:1.65;min-height:50px}
.hm-ch .d{border-top:1px dashed var(--line);margin-top:8px;padding-top:7px;font-size:11.5px;color:#8a6d1a;line-height:1.7}
.hm-ch .ln{margin-top:8px;font-size:11.5px;line-height:1.9}
.hm-ch .ln a{margin-right:10px;color:var(--green)}
.hm-ch .ln a:hover{color:var(--gold)}
.hm-chain-note{font-size:11.5px;color:var(--ink3);margin-top:10px;line-height:1.8}
@media(max-width:1180px){.hm-chain{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hm-chain{grid-template-columns:repeat(2,1fr)}}

/* ===== r401b 首页 · 十二类中药材图鉴 ===== */
.hm-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.hm-cat{border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px 14px;display:block;transition:.15s}
.hm-cat:hover{border-color:var(--green);box-shadow:0 4px 12px rgba(20,92,67,.10);transform:translateY(-1px)}
.hm-cat .ch{display:flex;align-items:baseline;justify-content:space-between}
.hm-cat .cn{font-size:14.5px;font-weight:bold;color:var(--green)}
.hm-cat .cc{font-size:13px;color:#8a6d1a;font-weight:bold;white-space:nowrap}
.hm-cat .cc small{font-weight:normal;color:var(--ink3);font-size:11px}
.hm-cat .hl2{margin-top:9px;line-height:1.9}
.hm-tag2{display:inline-block;padding:2px 9px;border-radius:3px;background:#f2ede0;border:1px solid #e7e0cb;color:#3a342b;font-size:11.5px;margin:0 6px 6px 0;line-height:1.6}
.hm-cat:hover .hm-tag2{background:#fbf8ee}
.hm-cat .more2{display:inline-block;margin-top:4px;font-size:11.5px;color:var(--ink3)}
.hm-cat:hover .more2{color:var(--gold)}
.hm-cats-note{font-size:11.5px;color:var(--ink3);margin-top:10px;line-height:1.8}
@media(max-width:1180px){.hm-cats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.hm-cats{grid-template-columns:repeat(2,1fr)}}

/* ===== r402 首页恢复（r381 实拍 1:1）· 平台服务六格 ===== */
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.svcgrid .sg{border:1px solid var(--line);border-radius:6px;padding:12px 14px;display:block;transition:.15s;background:#fff}
.svcgrid .sg:hover{border-color:var(--green);box-shadow:0 4px 10px rgba(20,92,67,.10)}
.svcgrid .sg b{display:block;font-size:14.5px;color:var(--green)}
.svcgrid .sg span{display:block;font-size:12px;color:var(--ink3);margin-top:5px;line-height:1.6}
@media(max-width:900px){.svcgrid{grid-template-columns:1fr 1fr}}

/* ===== r403 大模型卡内按钮（.llm-card .btn 一直漏写，此处补齐；含招标详情新增评估卡）===== */
.llm-card .btn{display:inline-block;background:var(--green);color:#fff;padding:8px 20px;border-radius:4px;
  font-size:13.5px;margin-top:4px;cursor:pointer;transition:.15s}
.llm-card .btn:hover{background:var(--green-l)}
.llm-card .btn.ghost{background:#fff;color:var(--green);border:1px solid var(--green)}
.llm-card .btn.ghost:hover{background:#f2f8f4}

/* ===== r411 供求「真撮合中心」（对外页 · 浅底国风）===== */
.mc-hero{background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:6px;padding:16px 20px;margin-bottom:12px}
.mc-h1{font-size:20px;font-weight:bold;color:var(--green);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mc-badge{font-size:11.5px;font-weight:normal;color:#fff;background:var(--green);border-radius:10px;padding:2px 10px}
.mc-h2{font-size:13px;color:var(--ink2);margin-top:8px;line-height:1.75}
.mc-h3{font-size:12px;color:var(--ink3);margin-top:7px;line-height:1.7;border-top:1px dashed var(--line);padding-top:7px}
.mc-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.mc-in{flex:1;box-sizing:border-box;padding:9px 12px;border:1px solid var(--line2);border-radius:4px;font-size:13.5px;outline:none;color:var(--ink);background:#fff}
.mc-in:focus{border-color:var(--green)}
.mc-btn{display:inline-block;background:var(--green);color:#fff;padding:8px 18px;border-radius:4px;font-size:13px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:.15s}
.mc-btn:hover{background:var(--green-l)}
.mc-btn.ghost{background:#fff;color:var(--green);border:1px solid var(--green)}
.mc-btn.ghost:hover{background:#f2f8f4}
.mc-load{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px;text-align:center;color:var(--ink3);font-size:13.5px}
.mc-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}
.mc-kc{background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px 8px;text-align:center}
.mc-kc b{display:block;font-size:22px;line-height:1.2}
.mc-kc span{display:block;font-size:12px;color:var(--ink3);margin-top:4px}
@media(max-width:900px){.mc-kpi{grid-template-columns:repeat(3,1fr)}}
.mc-sec{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 16px 16px;margin-bottom:12px}
.mc-sec h3{font-size:15px;color:var(--green);margin:12px 0;border-bottom:2px solid var(--green);padding-bottom:8px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mc-sec h3 em{font-size:12px;font-weight:normal;color:var(--ink3);font-style:normal}
.mc-pair{display:flex;gap:14px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:6px;padding:12px 14px;margin-bottom:10px;background:#fdfcf8}
.mc-sc{width:62px;flex-shrink:0;border-radius:6px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0}
.mc-sc b{font-size:23px;line-height:1}
.mc-sc span{font-size:11px;margin-top:3px}
.mc-bd{flex:1;min-width:0}
.mc-hd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.mc-hd b{font-size:16px;color:var(--ink)}
.mc-tier{font-size:12px;font-weight:bold}
.mc-cand{font-size:11.5px;color:var(--ink3);margin-left:auto}
.mc-dims{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.mc-dim{font-size:12px;border-radius:3px;padding:2px 8px}
.mc-dim.ok{background:var(--green-p);color:var(--green);border:1px solid #cfe3d8}
.mc-dim.no{background:#fbeeec;color:var(--red);border:1px solid #f0d5d0}
.mc-w{font-size:11.5px;color:var(--ink3);align-self:center}
.mc-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:760px){.mc-two{grid-template-columns:1fr}}
.mc-side{background:#fff;border:1px solid var(--line);border-radius:5px;padding:9px 11px}
.mc-tag{display:inline-block;font-size:11px;border-radius:3px;padding:1px 8px;margin-bottom:6px}
.mc-tag.sup{background:#eef4ef;color:var(--green);border:1px solid #cfe3d8}
.mc-tag.dem{background:#fdf6e3;color:#8a6d1f;border:1px solid #ecd9a5}
.mc-l{font-size:12.5px;color:var(--ink2);line-height:1.85}
.mc-l b{color:var(--ink)}
.mc-ct{font-size:12px;color:var(--ink3);margin-top:5px;border-top:1px dashed var(--line);padding-top:5px}
.mc-more{color:var(--green);font-size:12px;margin-left:6px;text-decoration:none}
.mc-more:hover{text-decoration:underline}
.mc-fee{font-size:11.5px;color:var(--ink3);margin-top:9px;border-top:1px dashed var(--line);padding-top:7px}
.mc-gap{border:1px solid var(--line);border-left:3px solid var(--red);border-radius:5px;padding:10px 12px;margin-bottom:9px;background:#fdfcf8}
.mc-gh{display:flex;align-items:baseline;gap:9px;margin-bottom:5px}
.mc-gh b{font-size:15px;color:var(--ink)}
.mc-gh span{font-size:12px;color:var(--ink3)}
.mc-gap .mc-btn{margin-top:8px}
.mc-note{font-size:13px;color:var(--ink3);padding:8px 2px}
.mc-empty{background:#fff;border:1px dashed var(--line2);border-radius:6px;padding:30px 22px;text-align:center}
.mc-et{font-size:15px;color:var(--green);font-weight:bold}
.mc-ed{font-size:13px;color:var(--ink2);line-height:1.9;margin-top:9px}
.mc-ed a{color:var(--green)}
.mc-ea{margin-top:14px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ===== r412 撮合中心 · 配对卡内「大模型撮合建议」（真流式）===== */
.mc-llm{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.mc-llm-btn{font-size:12.5px;padding:6px 14px}
.mc-llm-out{font-size:13px;color:var(--ink2);line-height:1.85;margin-top:9px;min-height:22px}
.mc-llm-out.err{color:#8a7a45}
.mc-llm-out p{margin:0 0 7px}
.mc-llm .llm-src{font-size:11.5px;color:var(--ink3);margin-top:8px;padding-top:7px;border-top:1px dashed #cfe0d6;line-height:1.75}
.mc-llm .llm-src b{color:#8a6d1f}

/* ===== r419 行业公开货源参考（供应/采购大厅）===== */
.lvgrid5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:1260px){.lvgrid5{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.lvgrid5{grid-template-columns:repeat(3,1fr)}}
.lvgrid5 .gcard .img{height:86px;font-size:14px}
.lvnote{font-size:12px;color:#8a8168;background:#faf7ee;border:1px dashed #ddd3b8;border-radius:5px;padding:8px 12px;line-height:1.8;margin-bottom:12px}
.lvc .lvs{font-size:11px;color:#a39a82;margin-top:2px;line-height:1.6}
.lvchips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.lvchips span{font-size:11.5px;background:#f4f1e8;color:#5a5648;border-radius:3px;padding:2px 8px}
.lvchips .lvm{background:transparent;color:#B8860B;font-weight:bold}

/* ===== r439 体检整改：需求筛选结果条 + 挂牌卡参考价 ===== */
.fbar{background:#fbf9f3;border:1px dashed #ddd3b8;border-radius:6px;padding:8px 14px;margin:-8px 0 14px;font-size:12.5px;color:var(--ink2)}
.fbar b{color:var(--red);font-size:14px}
.fbar a{color:var(--green);margin-left:10px;text-decoration:underline}
.rrow{display:flex;align-items:baseline;gap:8px;margin:2px 0 6px}
.rprice{color:var(--red);font-size:19px;font-weight:bold;letter-spacing:-.5px}
.rprice .rmb{font-size:12px;margin-right:1px}
.rprice .unit{font-size:11px;color:var(--ink3);font-weight:normal;margin-left:2px}
.rprice .ref{font-size:10.5px;color:var(--ink3);font-weight:normal;border:1px solid var(--line2);border-radius:2px;padding:0 4px;margin-left:4px;vertical-align:middle}
.rprice.neg{color:var(--ink3);font-size:14px;font-weight:normal}
.rrow .qq{font-size:11.5px;color:var(--ink3);margin-left:auto}

/* ★ r1005（王先生 2026-11-05 00:03：「图片和药材名要对得上」）
   —— 卡片主图改为**药材谷品种真图**（图 = 药材名，严格对应）；
      供应商的**真实实拍图**降为右下角「实拍」小徽标，点击看大图（不丢真实企业实拍）。 */
.yc-shot-badge{position:absolute;right:6px;bottom:6px;display:block;width:40px;height:40px;
  z-index:3;text-decoration:none;line-height:0;}
.yc-shot-badge img{display:block;width:40px;height:40px;object-fit:cover;border-radius:5px;
  border:2px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.2);background:#f4f1e8;}
.yc-shot-badge i{position:absolute;left:0;right:0;bottom:-1px;font-style:normal;font-size:9px;
  text-align:center;color:#fff;background:rgba(20,92,67,.86);border-radius:0 0 4px 4px;
  line-height:12px;letter-spacing:.5px;}
.yc-shot-badge:hover{opacity:.9;}
/* 品种真图占位（品种图库没有该品种时显示，绝不拿别的品种的图充数） */
.img-nopic{color:#8a8168;font-size:13px;letter-spacing:.5px;text-align:center;}
.img-nopic b{font-size:15px;color:#5c5543;}
/* 卡片图区要能承载绝对定位的实拍徽标 */
.gcard,.ysr-card,.sc-card,.dm-card,.rd-card{position:relative;}
.gcard > .img,.gcard > img{position:relative;}
