﻿/* ===================================================================
   theme.css — 工业风改版（覆盖 style.css 的视觉层，不动功能结构）
   只作用于屏幕；打印样式仍走 style.css 的 @media print
   =================================================================== */

:root{
  --ink:#111417;
  --body:#3C464C;
  --mute:#7C878D;
  --line:#E2E6E8;
  --soft:#F6F8F9;
  --blue:#14506E;
  --yellow:#E9B73C;
}

@media screen{

html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink);background:#fff;font-size:15px;line-height:1.7;
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{letter-spacing:-.02em;color:var(--ink)}
a{color:inherit}
.wrap{width:100%;max-width:none;margin:0;padding-left:clamp(20px,3vw,56px);padding-right:clamp(20px,3vw,56px)}

/* ---------------- 顶栏 ---------------- */
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:none}
.hdr-in{display:flex;align-items:center;gap:40px;height:68px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand .logo{width:30px;height:30px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;border-radius:0}
.brand .bt{display:flex;flex-direction:column;line-height:1.15}
.brand .bt b{font-size:15.5px;letter-spacing:.04em}
.brand .bt i{font-size:9.5px;color:var(--mute);letter-spacing:.16em;font-style:normal}
.nav{margin-left:auto;display:flex;gap:26px;font-size:14px}
.nav a{color:var(--body);padding:4px 0}
.nav a:hover{color:var(--ink)}
.hdr-tel{flex:none;font-size:14px;font-weight:700;color:var(--ink);border:1px solid var(--ink);height:36px;display:inline-flex;align-items:center;padding:0 14px}
.hdr-tel:hover{background:var(--ink);color:#fff}

/* ---------------- 首屏 ---------------- */
.hero{padding:52px 0 0;border-bottom:1px solid var(--line);background:#fff}
.hero-in{display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:clamp(28px,4vw,72px);align-items:center;padding-bottom:44px}
.hero-txt .eyebrow{font-size:12.5px;letter-spacing:.1em;color:var(--blue);margin-bottom:18px}
.hero h1{font-size:52px;line-height:1.12;font-weight:800}
.hero h1 em{font-style:normal;color:var(--blue)}
.lead{margin-top:20px;font-size:15.5px;line-height:1.85;color:var(--body);max-width:27em}
.lead b{color:var(--ink);font-weight:600}
.hero-actions{display:flex;gap:12px;margin-top:30px}
.hero-stats{display:none}

/* 按钮统一 */
.btn{height:48px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;font-size:14.5px;font-weight:600;border-radius:0;border:1px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:#fff}
.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-primary:hover{background:#000}
.btn-ghost{background:#fff;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* 轮播 */
.hero-shot{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.slide.on{opacity:1;z-index:1}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide figcaption{position:absolute;left:0;bottom:0;background:rgba(17,20,23,.86);color:#fff;font-size:11.5px;letter-spacing:.04em;padding:8px 13px}
.dots{position:absolute;right:12px;bottom:12px;display:flex;gap:6px;z-index:2;background:rgba(17,20,23,.42);padding:6px 9px}
.dots button{width:22px;height:2px;background:rgba(255,255,255,.5);border:0;padding:0;cursor:pointer;border-radius:0}
.dots button.on{background:#fff}

/* 数据条 */
.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.hero-metrics div{padding:22px 0 24px;border-right:1px solid var(--line)}
.hero-metrics div:last-child{border-right:0}
.hero-metrics div:not(:first-child){padding-left:24px}
.hero-metrics b{display:block;font-size:24px;letter-spacing:-.02em;line-height:1.25}
.hero-metrics span{font-size:12.5px;color:var(--mute)}

/* ---------------- 目录区 ---------------- */
.layout{display:grid;grid-template-columns:190px 1fr 320px;gap:26px;align-items:start;padding:44px 0 24px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:0}
.sec-head h2{font-size:22px}
.sec-sub{font-size:12.5px;color:var(--mute)}
.tabs{display:flex;gap:20px;height:52px;align-items:center;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:20px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;font-size:14px;color:var(--body);background:none;border:0;padding:0 0 2px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab.on{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:18px}
.card{border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:152px 1fr;align-items:stretch;border-radius:0;box-shadow:none;transition:border-color .15s}
.card:hover{border-color:#C4CCD1;box-shadow:none;transform:none}
.card .thumb{position:relative;height:100%;min-height:148px;overflow:hidden;background:var(--soft)}
.card .thumb img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s}
.card:hover .thumb img{transform:scale(1.03)}
.card .tag{position:absolute;left:0;top:0;background:rgba(17,20,23,.88);color:#fff;font-size:10.5px;letter-spacing:.05em;padding:5px 9px;border-radius:0}
.card-b{padding:14px 16px 14px;display:flex;flex-direction:column;flex:1;min-width:0}
.card h4{font-size:16px;font-weight:700;line-height:1.35}
.card .spec{font-size:12.5px;color:var(--mute);margin-top:5px;line-height:1.55}
.card .note{font-size:11.5px;color:#A9B2B7;margin-top:4px}
.card .row{margin-top:auto;padding-top:9px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:2px;margin-bottom:9px}
.price{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.price small{font-size:11px;font-weight:400;color:var(--mute);margin-left:3px}
.price .from{font-size:11px;color:var(--mute);font-weight:400;margin-right:2px}
.card .ctrl{display:flex;gap:8px}
.card .ctrl .opt,.card .ctrl .inp{flex:1;height:38px;border:1px solid var(--line);background:#fff;font-size:12.5px;padding:0 8px;border-radius:0;color:var(--ink);outline:none}
.card .ctrl .opt:focus,.card .ctrl .inp:focus{border-color:var(--blue)}
.card .ctrl .add{height:38px;padding:0 16px;border:1px solid var(--ink);background:#fff;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:0}
.card .ctrl .add:hover{background:var(--ink);color:#fff}

/* ---------------- 报价清单 ---------------- */
.cart{position:sticky;top:88px;border:1px solid var(--line);background:#fff;padding:0}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--line);margin:0}
.cart-head h3{font-size:15px;font-weight:700}
.pill{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:var(--ink);color:#fff;font-size:11px;padding:0 6px;border-radius:2px;margin-left:6px}
.link-btn{font-size:12.5px;color:var(--mute);background:none;border:0;cursor:pointer}
.link-btn:hover{color:var(--ink)}
.cart-body{padding:0 16px}
.empty{padding:34px 0;text-align:center;color:var(--mute);font-size:13px}
.empty-ico{font-size:26px;opacity:.35;margin-bottom:8px}
.cart-sum{border-top:1px solid var(--line);padding:14px 16px 16px}
.cart-sum .row{display:flex;justify-content:space-between;font-size:13px;color:var(--body);padding:3px 0}
.cart-sum .row.total{font-size:15px;font-weight:700;color:var(--ink);border-top:1px solid var(--line);margin-top:8px;padding-top:10px}
.cart-sum .hint{font-size:11.5px;color:var(--mute);margin-top:8px}
.cart-actions{margin-top:12px}
.cart-actions .btn{width:100%}

/* 清单行 */
.cline{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.cline .nm{font-size:13px;font-weight:600;color:var(--ink)}
.cline .sp{color:var(--mute);font-size:11.5px;margin-top:2px}
.cline .amt{font-weight:700;text-align:right;font-size:13px}
.cline .ops{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:2px}
.cline .len-edit{width:76px;height:26px;border:1px solid var(--line);font-size:12px;padding:0 6px}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line)}
.stepper button{width:24px;height:24px;border:0;background:#fff;cursor:pointer;font-size:14px;line-height:1}
.stepper span{min-width:26px;text-align:center;font-size:12px}
.cline .del{font-size:11.5px;color:var(--mute);background:none;border:0;cursor:pointer;margin-left:auto}
.cline .del:hover{color:#B23B2E}

/* ---------------- 报价单表单区 ---------------- */
.quote-sec{background:var(--soft);border-top:1px solid var(--line);padding:56px 0 64px;margin-top:44px}
.quote-layout{display:grid;grid-template-columns:380px 1fr;gap:32px;align-items:start;margin-top:22px}
.qform{display:grid;gap:14px}
.field label{display:block;font-size:12.5px;color:var(--body);margin-bottom:5px}
.req{color:#B23B2E}
.field input,.field select{width:100%;height:38px;border:1px solid var(--line);background:#fff;padding:0 10px;font-size:13.5px;outline:none;border-radius:0}
.field input:focus,.field select:focus{border-color:var(--blue)}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checks{display:grid;gap:7px}
.chk{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--body)}
.qform-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.qform-actions .btn{height:40px;font-size:13px;padding:0 10px}
.form-tip{font-size:11.5px;color:var(--mute);line-height:1.6}
.paper-wrap{border:1px solid var(--line);background:#fff;padding:18px}

/* ---------------- 关于 / 联系 ---------------- */
.about{padding:64px 0;border-top:1px solid var(--line)}
.about-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.about .eyebrow{font-size:12px;letter-spacing:.1em;color:var(--blue);margin-bottom:14px}
.about h2{font-size:30px;line-height:1.25}
.about p{font-size:14.5px;color:var(--body);margin-top:12px;line-height:1.85}
.about-list{list-style:none;margin-top:18px;display:grid;gap:7px;font-size:13.5px;color:var(--body)}
.about-img{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line)}
.about-img img{width:100%;height:100%;object-fit:cover}

.contact{padding:56px 0;background:var(--ink);color:#fff;border:0}
.contact-in{display:flex;align-items:center;justify-content:space-between;gap:32px}
.contact h2{font-size:28px;color:#fff;letter-spacing:-.02em}
.contact p{color:#9FA9AF;font-size:13.5px;margin-top:6px}
.contact-card{text-align:right}
.contact-card .tel{font-size:30px;font-weight:800;color:#fff;letter-spacing:-.01em;display:block}
.contact-card .muted{font-size:12px;color:#9FA9AF}
.contact .btn-wechat{margin:12px 0;height:40px;padding:0 20px;background:var(--yellow);color:#181203;border:0;font-size:13.5px;font-weight:700;cursor:pointer}
.contact .btn-wechat:hover{background:#F2C65A}

/* ---------------- 页脚 ---------------- */
.foot{border-top:1px solid var(--line);padding:24px 0 28px;font-size:12.5px;color:var(--mute)}
.foot-in{display:flex;justify-content:space-between;align-items:center}
.foot .link-btn{color:var(--mute)}

/* 空态/提示 */
.toast{border-radius:0}

@media(max-width:1100px){
  .layout{grid-template-columns:1fr}
  .cart{position:static}
  .grid{grid-template-columns:repeat(2,1fr)}
  .quote-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .hdr-in{height:60px;gap:16px}
  .nav{display:none}
  .hero-in,.about-in,.contact-in{grid-template-columns:1fr;display:grid;gap:26px}
  .hero h1{font-size:34px}
  .hero-metrics{grid-template-columns:1fr 1fr}
  .hero-metrics div:nth-child(2){border-right:0}
  .grid{grid-template-columns:1fr}
  .contact-in{display:block}
  .contact-card{text-align:left;margin-top:20px}
  .foot-in{flex-direction:column;gap:8px;align-items:flex-start}
}
}

/* ---- 覆盖旧组件的圆角/胶囊风 ---- */
.hdr-tel{border-radius:0 !important;border-color:var(--ink) !important;padding:0 14px !important;height:36px;display:inline-flex;align-items:center}
.hdr-tel:hover{background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important}
.tabs{gap:22px !important;padding-bottom:0 !important;margin-bottom:20px !important;border-bottom:1px solid var(--line)}
.tab{border:0 !important;background:none !important;border-radius:0 !important;padding:0 0 10px !important;font-size:14px !important;color:var(--body) !important;border-bottom:2px solid transparent !important}
.tab:hover{color:var(--ink) !important}
.tab.on{background:none !important;color:var(--ink) !important;border-bottom-color:var(--ink) !important;font-weight:700 !important}
.dots{padding:5px 8px}
.dots button{height:2px}

/* 修复：加入报价按钮文字不可见（旧样式 color:#fff 残留） */
.card .ctrl .add{color:var(--ink) !important;background:#fff !important;border:1px solid var(--ink) !important}
.card .ctrl .add:hover{background:var(--ink) !important;color:#fff !important}
.card .ctrl .opt,.card .ctrl .inp{color:var(--ink) !important;background:#fff !important}

/* 修复 figure 默认 margin 导致轮播图内缩 */
.slide{margin:0 !important}
.slide img{display:block;width:100% !important;height:100% !important;object-fit:cover !important}
figure{margin:0}

/* ---------- 左侧产品分类栏 ---------- */
.layout{grid-template-columns:178px 1fr 330px !important;gap:26px !important}
.catnav{position:sticky;top:88px;border:1px solid var(--line);background:#fff;padding:0 0 8px}
.catnav-t{font-size:11.5px;letter-spacing:.14em;color:var(--mute);padding:13px 14px 9px;border-bottom:1px solid var(--line);margin-bottom:4px}
.catnav .tabs{display:flex !important;flex-direction:column;gap:0;height:auto !important;border:0 !important;overflow:visible !important;margin:0 !important;padding:0 !important}
.catnav .tab{display:flex !important;justify-content:space-between;align-items:center;width:100%;padding:10px 14px !important;border:0 !important;border-left:2px solid transparent !important;background:none !important;font-size:13.5px !important;color:var(--body) !important;text-align:left;cursor:pointer;border-radius:0 !important}
.catnav .tab:hover{background:var(--soft) !important;color:var(--ink) !important}
.catnav .tab.on{background:var(--soft) !important;border-left-color:var(--ink) !important;color:var(--ink) !important;font-weight:700 !important}
.catnav .tab .cnt{font-style:normal;font-size:11px;color:var(--mute);font-weight:400}
.catnav .tab.on .cnt{color:var(--ink)}
.catnav-foot{font-size:11px;color:var(--mute);padding:10px 14px 0;border-top:1px solid var(--line);margin-top:6px}
.catalog .sec-head{margin-bottom:16px}
@media(max-width:1180px){
  .layout{grid-template-columns:150px 1fr 300px !important}
}
@media(max-width:1000px){
  .card{grid-template-columns:120px 1fr}
  .layout{grid-template-columns:1fr !important}

  .layout{grid-template-columns:1fr !important}
  .catnav{position:static;border:0;padding:0;margin-bottom:4px}
  .catnav-t,.catnav-foot{display:none}
  .catnav .tabs{flex-direction:row !important;gap:20px;overflow-x:auto !important;border-bottom:1px solid var(--line) !important}
  .catnav .tab{width:auto;padding:0 0 10px !important;border-left:0 !important;border-bottom:2px solid transparent !important}
  .catnav .tab.on{border-bottom-color:var(--ink) !important;background:none !important}
  .catnav .tab .cnt{display:none}
}

/* ---------- 上传清单 / 图纸 ---------- */
.drop{border-top:1px solid var(--line);margin-top:8px;padding:16px 12px;text-align:center;cursor:pointer;background:#fff}
.drop:hover,.drop.over{background:var(--soft)}
.drop.over{outline:2px dashed var(--blue);outline-offset:-6px}
.drop-ico{width:26px;height:26px;border:1px dashed var(--steel);display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:var(--steel);margin-bottom:8px}
.drop-t{font-size:12.5px;font-weight:700;color:var(--ink)}
.drop-s{font-size:10.5px;color:var(--mute);line-height:1.5;margin-top:3px}
.up-mask{position:fixed;inset:0;background:rgba(17,20,23,.55);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.up-mask[hidden]{display:none}
.up-modal{background:#fff;width:min(780px,96vw);max-height:86vh;display:flex;flex-direction:column}
.up-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.up-head b{font-size:15px}
.up-x{border:0;background:none;font-size:15px;cursor:pointer;color:var(--mute)}
.up-body{padding:16px 18px;overflow:auto}
.up-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.up-table{width:100%;border-collapse:collapse;font-size:13px}
.up-table th{text-align:left;font-weight:400;font-size:11.5px;color:var(--mute);padding:0 8px 8px;border-bottom:1px solid var(--line)}
.up-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.up-n{font-weight:600}
.up-raw{font-size:11px;color:var(--mute);margin-top:2px}
.up-qty{width:64px;height:28px;border:1px solid var(--line);padding:0 6px;font-size:12.5px}
.up-c{font-style:normal;font-size:11px;padding:2px 6px;color:#fff}
.up-c.ok{background:#2E7D5B}.up-c.mid{background:#B98A28}.up-c.low{background:#9AA3A8}
.up-unm{margin-top:14px;font-size:12px;color:var(--body)}
.up-unm ul{margin:6px 0 0 18px}
.up-unm li{margin-bottom:2px}
.up-loading,.up-err{padding:26px 0;text-align:center;color:var(--mute);font-size:13px}
.up-file{font-size:11.5px;color:var(--mute);margin-bottom:10px}
@media(max-width:1000px){
  .card{grid-template-columns:120px 1fr}
  .layout{grid-template-columns:1fr !important}
.drop{margin-top:10px;border:1px dashed var(--line)}}

/* ---------- 修正：左图右文卡片的列宽约束 ---------- */
.card{grid-template-columns:170px minmax(0,1fr) !important;align-items:stretch}
.card .thumb{width:170px !important;min-width:170px !important;max-width:170px !important;height:auto !important;min-height:0 !important;position:relative;align-self:stretch}
.card .thumb img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover}
.card-b{min-width:0;overflow:hidden}
.card h4{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media(max-width:1000px){
  .card{grid-template-columns:120px minmax(0,1fr) !important}
  .card .thumb{width:120px !important;min-width:120px !important;max-width:120px !important}
}


/* ---------- 左侧二级分类 ---------- */
.catnav .subs{display:flex;flex-direction:column;margin:2px 0 6px}
.catnav .sub{display:flex;justify-content:space-between;align-items:center;width:100%;
  padding:7px 14px 7px 26px !important;border:0 !important;background:none !important;
  font-size:12.5px !important;color:#6B767C !important;text-align:left;cursor:pointer;border-radius:0 !important}
.catnav .sub:hover{background:#F4F6F7 !important;color:var(--ink) !important}
.catnav .sub.on{color:var(--ink) !important;font-weight:700 !important;background:#F4F6F7 !important}
.catnav .sub .cnt{font-style:normal;font-size:11px;color:#9AA3A8;font-weight:400}
@media(max-width:1000px){
  .catnav .subs{flex-direction:row;flex-wrap:wrap;gap:8px;padding:8px 0}
  .catnav .sub{padding:4px 10px !important;border:1px solid var(--line) !important;width:auto}
}


/* ============ 侧边栏重做（2026-11-01） ============ */
.catnav{background:#fff;border:1px solid var(--line);padding:18px 0 14px;position:sticky;top:88px}
.catnav-t{font-size:11px;letter-spacing:.14em;color:#9AA3A8;padding:0 18px 10px;text-transform:uppercase}
.catnav-foot{font-size:11.5px;color:#A7AFB4;padding:14px 18px 0;border-top:1px solid #F0F3F4;margin-top:8px}

/* 一级 */
.catnav .tab{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:11px 18px 11px 17px !important;border:0 !important;border-left:3px solid transparent !important;
  background:none !important;color:#4A555C !important;font-size:15px !important;font-weight:500 !important;
  letter-spacing:0;text-align:left;cursor:pointer;border-radius:0 !important;transition:background .12s,color .12s}
.catnav .tab:hover{background:#F7F9FA !important;color:#111417 !important}
.catnav .tab.on{background:#F2F5F6 !important;color:#111417 !important;font-weight:700 !important;border-left-color:#111417 !important}
.catnav .tab .cnt{font-style:normal;font-size:11.5px;font-weight:400;color:#A7AFB4;font-variant-numeric:tabular-nums}
.catnav .tab.on .cnt{color:#5D686F}

/* 二级 */
.catnav .subs{display:flex;flex-direction:column;padding:2px 0 10px;
  background:#FAFBFC;border-left:3px solid #111417}
.catnav .sub{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:7px 18px 7px 30px !important;border:0 !important;background:none !important;
  font-size:13px !important;font-weight:400 !important;color:#6B767C !important;
  text-align:left;cursor:pointer;border-radius:0 !important;position:relative;transition:color .12s,background .12s}
.catnav .sub::before{content:'';position:absolute;left:18px;top:50%;width:4px;height:4px;
  margin-top:-2px;border-radius:50%;background:#C7CFD4;transition:background .12s}
.catnav .sub:hover{color:#111417 !important;background:#F1F4F5 !important}
.catnav .sub.on{color:#14506E !important;font-weight:600 !important;background:#EDF3F6 !important}
.catnav .sub.on::before{background:#14506E}
.catnav .sub .cnt{font-style:normal;font-size:11px;color:#A7AFB4;font-variant-numeric:tabular-nums}

/* 面包屑 */
.sec-title{display:flex;flex-direction:column;gap:5px}
.crumb{font-size:12.5px;color:#7C878D;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.crumb b{color:#111417;font-weight:600}
.crumb i{font-style:normal;color:#C2CACF}
.crumb .clr{border:0;background:none;padding:0;margin-left:4px;font-size:12px;color:#14506E;
  text-decoration:underline;cursor:pointer}

@media(max-width:1000px){
  .catnav{position:static}
  .catnav .subs{flex-direction:row;flex-wrap:wrap;gap:8px;padding:10px 14px;border-left:0}
  .catnav .sub{padding:5px 12px !important;border:1px solid var(--line) !important;width:auto}
  .catnav .sub::before{display:none}
}

/* 二级计数强制右对齐 */
.catnav .sub{width:100% !important;box-sizing:border-box !important;justify-content:flex-start !important}
.catnav .sub > span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catnav .sub > .cnt{margin-left:auto !important;flex:0 0 auto;padding-left:10px}
.catnav .tab{box-sizing:border-box}

/* ============ 二级标签重做 v2（与一级同字号同左对齐） ============ */
.catnav .subs{background:#F7F9FA;border-left:3px solid #111417;padding:6px 0 8px;display:block}
.catnav .sub{display:flex !important;align-items:center !important;width:100% !important;box-sizing:border-box !important;
  padding:9px 18px 9px 17px !important;border:0 !important;background:none !important;
  font-size:15px !important;font-weight:400 !important;color:#5D686F !important;
  text-align:left !important;cursor:pointer;border-radius:0 !important;gap:10px}
.catnav .sub::before{display:none !important;content:none !important}
.catnav .sub > span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catnav .sub > .cnt{margin-left:auto !important;flex:0 0 auto;font-style:normal;font-size:11.5px !important;
  font-weight:400 !important;color:#A7AFB4 !important;font-variant-numeric:tabular-nums}
.catnav .sub:hover{background:#EEF2F4 !important;color:#111417 !important}
.catnav .sub.on{color:#14506E !important;font-weight:600 !important;background:#E8F0F4 !important}
.catnav .sub.on > .cnt{color:#14506E !important}


/* ---------- 试剂架定制弹窗 ---------- */
.rk-mask{position:fixed;inset:0;background:rgba(12,16,18,.55);display:flex;align-items:center;justify-content:center;z-index:95;padding:20px}
.rk-mask[hidden]{display:none}
.rk{background:#fff;width:min(760px,100%);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.rk-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.rk-h b{font-size:16px}
.rk-x{border:0;background:none;font-size:18px;color:#7C878D;cursor:pointer}
.rk-body{padding:20px}
.rk-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.rk-row label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#5D686F}
.rk-row input{height:42px;border:1px solid var(--line);padding:0 10px;font-size:15px;font-weight:600}
.rk-gl{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center;font-size:12.5px;color:#5D686F}
.rk-gl label{display:flex;align-items:center;gap:6px}
.rk-gl input{width:64px;height:38px;border:1px solid var(--line);padding:0 8px;font-size:14px;text-align:center}
.rk-tip{margin-top:14px;font-size:12px;color:#9AA3A8;line-height:1.6}
.rk-f{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid var(--line);background:#FAFBFC}
.rk-sum{display:flex;align-items:baseline;gap:10px;font-size:13px;color:#5D686F}
.rk-sum b{font-size:24px;color:var(--blue);font-weight:800}
.rk-sum i{font-style:normal;font-size:11.5px;color:#9AA3A8}
.rk-add{height:46px;padding:0 28px;background:#111417;color:#fff;border:0;font-size:15px;font-weight:700;cursor:pointer}
@media(max-width:700px){.rk-row{grid-template-columns:repeat(2,1fr)}}

/* 弹窗输入框宽度修正 */
.rk{width:min(880px,100%) !important}
.rk-row{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:14px !important}
.rk-row input{width:100% !important;box-sizing:border-box !important;min-width:0 !important}
.rk-gl input{width:70px !important;min-width:0 !important;box-sizing:border-box !important}


/* 试剂架弹窗：单选、警告、位数只读 */
.rk-row input[readonly]{background:#F4F6F7;color:#5D686F;font-weight:600}
.rk-radio{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:12.5px;color:#3C464C}
.rk-radio input{width:15px;height:15px;accent-color:#14506E}
.rk-gl em{font-style:normal;font-size:11.5px;color:#14506E;margin-left:6px}
.rk-warn{margin-top:12px;padding:10px 12px;background:#FFF4E5;border-left:3px solid #E9B73C;font-size:12.5px;color:#8A6A10;line-height:1.6}
.rk-warn[hidden]{display:none}
.rk-sum em{font-style:normal;font-size:11.5px;color:#14506E;margin-left:8px}


/* 产品卡：材质规格行 */
.card .mats{font-size:11.5px;color:#8A9499;margin-top:4px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}


/* 选配弹窗 + 选配按钮 */
.ad-item{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid #F0F3F4;cursor:pointer;font-size:14px}
.ad-item input{width:17px;height:17px;accent-color:#14506E}
.ad-nm{flex:1;color:#3C464C}
.ad-pc{font-size:13px;color:#14506E;font-variant-numeric:tabular-nums;font-weight:600}
.card .ctrl .optbtn{height:38px;padding:0 12px;border:1px solid var(--line);background:#fff;color:#3C464C;
  font-size:13px;cursor:pointer;display:flex;align-items:center;gap:4px;white-space:nowrap}
.card .ctrl .optbtn:hover{border-color:#111417;color:#111417}
.card .ctrl .optbtn i{font-style:normal;background:#14506E;color:#fff;border-radius:9px;
  min-width:17px;height:17px;line-height:17px;text-align:center;font-size:11px;display:none}
.card .ctrl .optbtn i:not(:empty){display:inline-block}
.ad-names{color:#14506E !important;margin-top:2px}


/* 客户资料智能识别 */
.smart-box{border:1px dashed #C7D0D6;background:#FAFBFC;padding:12px 14px;margin-bottom:14px}
.smart-h{font-size:12.5px;font-weight:700;color:#3C464C;margin-bottom:8px}
.smart-h span{font-weight:400;color:#8A9499;font-size:11.5px;margin-left:6px}
.smart-box textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);padding:9px 11px;
  font-size:13px;line-height:1.6;resize:vertical;font-family:inherit;outline:none}
.smart-box textarea:focus{border-color:var(--blue)}
.smart-row{display:flex;align-items:center;gap:12px;margin-top:9px;flex-wrap:wrap}
.smart-btn{height:34px;padding:0 16px;background:#14506E;color:#fff;border:0;font-size:13px;cursor:pointer}
.smart-btn:hover{background:#0F3E56}
.smart-res{display:flex;gap:6px;flex-wrap:wrap;font-size:11.5px}
.smart-res i{font-style:normal;background:#E8F0F4;color:#14506E;padding:3px 8px}
.smart-none{color:#B24A3C}


/* 选填标签 */
.opt-tag{font-size:10.5px;color:#9AA3A8;border:1px solid #DDE2E5;padding:1px 5px;margin-left:4px;font-weight:400}


/* 选配弹窗内的 AI 助手 */
.ad-ai{border-bottom:1px solid var(--line);background:#F7F9FA;padding:12px 20px 14px}
.ad-ai-h{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.ad-ai-h b{font-size:13px;color:#111417}
.ad-ai-h span{font-size:11.5px;color:#8A9499}
.ad-ai-log{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:9px}
.ad-ai-log:empty{display:none}
.ad-ai-msg{font-size:12.5px;line-height:1.6;padding:7px 10px;max-width:92%;white-space:pre-wrap;word-break:break-word}
.ad-ai-msg.bot{background:#fff;border:1px solid var(--line);color:#3C464C;align-self:flex-start}
.ad-ai-msg.me{background:#14506E;color:#fff;align-self:flex-end}
.ad-ai-row{display:flex;gap:8px}
.ad-ai-row input{flex:1;height:38px;border:1px solid var(--line);padding:0 11px;font-size:13px;outline:none;background:#fff}
.ad-ai-row input:focus{border-color:var(--blue)}
.ad-ai-row button{height:38px;padding:0 18px;background:#14506E;color:#fff;border:0;font-size:13px;cursor:pointer}


/* 备案号 */
.foot .beian{color:#7C878D;text-decoration:none;margin-left:10px;font-size:12px;border-bottom:0}
.foot .beian:hover{color:#111417;text-decoration:underline}
