/* ===========================================================
   广州必维技术检测有限公司 — 站点样式（一比一复刻版式）
   主色 #B71E23 / 页脚 #130F34 / 容器 1180px
   =========================================================== */
:root{
  --red:#b71e23;
  --red-dark:#9a171b;
  --dark:#130F34;
  --green:#0CAC40;
  --ink:#333;
  --muted:#888;
  --line:#e6e6e6;
  --bg:#fff;
  --wrap:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:#fff;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:14px;line-height:1.8;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;border:0;}
ul,ol{list-style:none;}
.clearfix::after{content:"";display:block;clear:both;}
.wrap{width:var(--wrap);margin:0 auto;}

/* ---------------- 顶部条 ---------------- */
.topbar{background:var(--dark);color:#cdd;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;font-size:13px;}
.topbar a{color:#cdd;margin-left:14px;}

/* ---------------- 页头 ---------------- */
.header001{background:#fff;}
.header_padding{border-top:4px solid var(--red);}
.header_container{width:var(--wrap);margin:0 auto;}
.header_left{float:left;padding:14px 0;}
.logo{max-height:58px;}
.header_right{float:right;}
.nav{height:86px;display:flex;align-items:center;}
.nav>ul{display:flex;}
.nav .nLi{position:relative;}
.nav .nLi>a,.nav .nav1{display:block;padding:0 22px;height:86px;line-height:86px;font-size:16px;color:#222;transition:.2s;}
.nav .nLi:hover>.nav1,.nav .nav1.cur{color:var(--red);}
.nav .nLi:hover{background:#fafafa;}
.nav .sub{position:absolute;top:86px;left:0;min-width:150px;background:#fff;border:1px solid var(--line);
  border-top:2px solid var(--red);display:none;z-index:50;box-shadow:0 6px 16px rgba(0,0,0,.08);}
.nav .nLi:hover .sub{display:block;}
.nav .sub li a{display:block;padding:10px 18px;font-size:14px;color:#444;border-bottom:1px solid #f2f2f2;}
.nav .sub li a:hover{background:var(--red);color:#fff;}

/* ---------------- Banner ---------------- */
.banner{position:relative;height:420px;background:#1b1640 center/cover no-repeat;
  background-image:url(//cdn.xuansiwei.com/hy9706629/upfile/img/220926/focus_img_6331017bb4c39.jpg);}
.banner .mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,15,52,.55),rgba(19,15,52,.15));}
.banner .cap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;width:90%;}
.banner .cap h1{font-size:40px;letter-spacing:4px;text-shadow:0 2px 12px rgba(0,0,0,.4);}
.banner .cap p{margin-top:14px;font-size:16px;opacity:.92;}

/* ---------------- 区块标题 ---------------- */
.sec{padding:46px 0;}
.sec-t{text-align:center;margin-bottom:30px;}
.sec-t h2{font-size:26px;color:#222;display:inline-block;position:relative;padding-bottom:12px;}
.sec-t h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:54px;height:3px;background:var(--red);}
.sec-t .en{display:block;color:var(--muted);font-size:13px;letter-spacing:2px;margin-top:6px;text-transform:uppercase;}

/* ---------------- 首页三栏 ---------------- */
.cols{display:flex;gap:26px;}
.col{flex:1;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.2s;}
.col:hover{box-shadow:0 8px 22px rgba(0,0,0,.08);transform:translateY(-3px);}
.col .pic{height:180px;background:#eee center/cover no-repeat;}
.col .body{padding:18px;min-height:150px;}
.col .body h3{font-size:17px;color:var(--red);margin-bottom:8px;}
.col .body p{color:#666;font-size:13px;}
.col .more{display:inline-block;margin-top:12px;color:var(--red);font-size:13px;}
.intro{background:#f7f7f9;}

/* ---------------- 列表 ---------------- */
.list{display:flex;flex-direction:column;gap:0;}
.list li{border-bottom:1px dashed var(--line);}
.list li a{display:flex;justify-content:space-between;padding:14px 4px;color:#444;transition:.15s;}
.list li a:hover{color:var(--red);padding-left:12px;}
.list li .date{color:var(--muted);font-size:13px;}

/* ---------------- 面包屑 ---------------- */
.crumb{background:#f5f5f7;border-bottom:1px solid var(--line);}
.crumb .wrap{padding:12px 0;color:var(--muted);font-size:13px;}
.crumb a{color:#555;}
.crumb .arrow{margin:0 8px;color:#bbb;}

/* ---------------- 内容 ---------------- */
.article{padding:40px 0;}
.article .lead{background:#fafafa;border-left:4px solid var(--red);padding:18px 22px;color:#555;margin-bottom:26px;line-height:2;}
.article p{margin-bottom:16px;color:#444;line-height:2;}
.about-side{float:right;width:300px;background:#f7f7f9;border:1px solid var(--line);padding:18px;margin-left:24px;margin-bottom:16px;}
.about-side h4{font-size:16px;color:var(--red);margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:8px;}
.about-side ul li{margin:8px 0;}
.about-side ul li a{color:#555;}
.about-side ul li a:hover{color:var(--red);}

/* ---------------- 报告查询 ---------------- */
.query-hero{background:var(--dark);color:#fff;padding:54px 0;text-align:center;}
.query-hero h2{font-size:28px;letter-spacing:3px;}
.query-hero p{margin-top:14px;color:#c9c6e6;line-height:2;max-width:780px;margin-left:auto;margin-right:auto;}
.search_box{display:flex;justify-content:center;align-items:center;gap:0;margin-top:30px;flex-wrap:wrap;}
.search_box .title{color:#fff;font-size:16px;margin-right:10px;}
.search_box .keyword_box{background:#fff;border-radius:3px 0 0 3px;overflow:hidden;}
.search_box .keyword{width:360px;height:48px;border:0;padding:0 16px;font-size:15px;outline:none;}
.search_box .submit{height:48px;border:0;background:var(--green);color:#fff;font-size:16px;padding:0 34px;cursor:pointer;border-radius:0 3px 3px 0;letter-spacing:2px;}
.search_box .submit:hover{background:#0a9436;}

/* 结果页 */
.result{padding:40px 0;min-height:300px;}
.result .card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;max-width:880px;margin:0 auto;}
.result dl{padding:22px 26px;border-bottom:1px solid #f0f0f0;display:flex;gap:14px;}
.result dl:last-child{border-bottom:0;}
.result dt{width:96px;flex:none;color:var(--muted);font-weight:bold;}
.result dd{color:#222;flex:1;word-break:break-word;}
.result dd img{max-height:340px;border:1px solid var(--line);}
.result .pdf_dl a{display:inline-block;background:var(--red);color:#fff;padding:10px 26px;border-radius:3px;}
.result .pdf_dl a:hover{background:var(--red-dark);}
.result .notfound{text-align:center;color:#999;padding:60px 0;font-size:16px;}
.result .qr{text-align:center;padding:18px 0;}
.result .qr canvas,.result .qr img{margin:0 auto;}
.result .items{margin-top:10px;}
.result .items table{width:100%;border-collapse:collapse;font-size:13px;}
.result .items th,.result .items td{border:1px solid var(--line);padding:8px 10px;text-align:left;}
.result .items th{background:#f7f7f9;color:#555;}
.result .items .ok{color:var(--green);font-weight:bold;}
.cert-head{background:var(--red);color:#fff;text-align:center;padding:16px;font-size:18px;letter-spacing:2px;}

/* ---------------- 留言表单 ---------------- */
.form{display:flex;flex-direction:column;gap:16px;max-width:560px;margin:0 auto;}
.form label{font-size:14px;color:#555;}
.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:3px;padding:11px 14px;font-size:14px;outline:none;font-family:inherit;}
.form input:focus,.form textarea:focus{border-color:var(--red);}
.form textarea{min-height:130px;resize:vertical;}
.form button{background:var(--red);color:#fff;border:0;padding:12px 30px;font-size:15px;border-radius:3px;cursor:pointer;letter-spacing:2px;align-self:flex-start;}
.form button:hover{background:var(--red-dark);}
.form .tip{color:var(--muted);font-size:13px;}
.form .ok{color:var(--green);}
.form .err{color:var(--red);}
.contact-info{background:#f7f7f9;border:1px solid var(--line);padding:22px;border-radius:4px;margin-bottom:26px;line-height:2;}

/* ---------------- 页脚 ---------------- */
.footer001{background:var(--dark);color:#cfccea;margin-top:40px;}
.footer_padding{padding:40px 0;}
.footer_top{display:flex;gap:40px;}
.footer_top_l{flex:1;}
.footer_top_l .nav .one_ul{margin-bottom:8px;}
.footer_top_l .nav .one_ul>.one_a{display:inline-block;color:#fff;font-weight:bold;font-size:15px;margin-bottom:4px;}
.footer_top_l .nav .two_ul{display:flex;flex-wrap:wrap;gap:6px 16px;padding-left:0;}
.footer_top_l .nav .two_ul .two_a{color:#a9a6cf;font-size:13px;}
.footer_top_l .nav .two_ul .two_a:hover{color:#fff;}
.footer_top_r{flex:1;color:#bdbae0;font-size:13px;}
.footer_bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 0;color:#9b98c4;font-size:13px;text-align:center;}
.footer_bottom .statement{margin-top:6px;opacity:.8;}

/* ---------------- 管理后台 ---------------- */
.admin-wrap{max-width:560px;margin:30px auto;}
.admin-wrap .panel{border:1px solid var(--line);border-radius:6px;padding:24px;margin-bottom:20px;}
.admin-wrap h3{font-size:18px;color:var(--red);margin-bottom:16px;}
.admin-wrap .row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.admin-wrap .row label{font-size:13px;color:#555;}
.admin-wrap .row input,.admin-wrap .row textarea{border:1px solid var(--line);border-radius:3px;padding:10px 12px;font-size:14px;font-family:inherit;}
.admin-wrap .row textarea{min-height:90px;}
.admin-wrap button{background:var(--red);color:#fff;border:0;padding:10px 24px;border-radius:3px;cursor:pointer;letter-spacing:1px;}
.admin-wrap button.ghost{background:#eee;color:#555;}
.admin-wrap .msg{margin-top:10px;font-size:13px;}
.admin-wrap .ok{color:var(--green);}
.admin-wrap .err{color:var(--red);}
.admin-wrap .tabs{display:flex;gap:8px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
.admin-wrap .tabs .tab{background:#f2f3f5;color:#555;padding:8px 16px;font-size:13px;border-radius:3px;letter-spacing:0;}
.admin-wrap .tabs .tab.active{background:var(--red);color:#fff;}
.admin-wrap .code-row{display:flex;gap:8px;align-items:stretch;}
.admin-wrap .code-row input{flex:1;min-width:0;}
.admin-wrap .code-row button{white-space:nowrap;padding:10px 14px;}
.admin-wrap .admin-list table.items{border-collapse:collapse;}
.admin-wrap .admin-list table.items th,.admin-wrap .admin-list table.items td{border:1px solid var(--line);padding:8px 10px;text-align:left;}
.admin-wrap .admin-list table.items th{background:#fafafa;color:#555;font-weight:normal;}
.admin-bar{background:var(--dark);color:#fff;padding:10px 0;font-size:13px;}
.admin-bar .wrap{display:flex;justify-content:space-between;align-items:center;}
.admin-bar a{color:#cdd;}

/* ---------------- 后台组件（编号生成 / PDF 录入 / 结果 / 列表管理 / 系统） ---------------- */
.admin-wrap{max-width:960px;margin:30px auto;}
.admin-wrap .panel{border:1px solid var(--line);border-radius:6px;padding:24px;margin-bottom:20px;background:#fff;}
.admin-wrap .panel h2{font-size:18px;color:var(--red);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #f0f0f0;}
.admin-wrap .panel-body{font-size:14px;color:#444;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;}
.form-grid .field{display:flex;flex-direction:column;gap:6px;}
.form-grid .field.wide{grid-column:1 / -1;}
.form-grid .field label{font-size:13px;color:#555;}
.form-grid .field input,.form-grid .field textarea,.form-grid .field select{
  border:1px solid var(--line);border-radius:3px;padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;color:#222;}
.form-grid .field input:focus,.form-grid .field textarea:focus,.form-grid .field select:focus{border-color:var(--red);outline:none;}
.form-grid .field textarea{min-height:110px;resize:vertical;line-height:1.7;}
.field.inline{display:flex;gap:10px;align-items:center;}
.field.inline input{flex:1;min-width:0;}

.btn{display:inline-block;background:var(--red);color:#fff;border:0;padding:10px 22px;border-radius:3px;cursor:pointer;font-size:14px;letter-spacing:1px;font-family:inherit;}
.btn:hover{background:var(--red-dark);}
.btn.block{display:block;width:100%;}
.btn.ghost{background:#eee;color:#555;}
.btn.ghost:hover{background:#e2e2e2;}
.btn.sm{padding:7px 14px;font-size:13px;}
.btn.red{background:var(--red);}
.mono{font-family:Consolas,Menlo,monospace;}
.hint{color:var(--muted);font-size:13px;line-height:1.7;}
.hint a{color:var(--red);}

.alert{padding:12px 16px;border-radius:4px;font-size:13px;line-height:1.7;margin-bottom:14px;}
.alert-info{background:#eef4fb;color:#2c5a8a;border:1px solid #d4e3f5;}
.alert-ok{background:#e9f8ee;color:#1f7a3d;border:1px solid #c7ecd2;}
.alert-err{background:#fdecec;color:#b3261e;border:1px solid #f3c9c7;}

.table-wrap{overflow-x:auto;}
table.data{width:100%;border-collapse:collapse;font-size:13px;background:#fff;}
table.data th,table.data td{border:1px solid var(--line);padding:9px 12px;text-align:left;}
table.data th{background:#f7f7f9;color:#555;font-weight:600;white-space:nowrap;}
table.data tbody tr:hover{background:#fafafa;}
table.data a{color:var(--red);}

.kv{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.kv .row{display:flex;gap:14px;padding:11px 14px;border-bottom:1px solid #f0f0f0;}
.kv .row:last-child{border-bottom:0;}
.kv .k{width:120px;flex:none;color:var(--muted);font-size:13px;}
.kv .v{flex:1;word-break:break-all;}

.steps{margin:0;padding-left:20px;line-height:2;color:#555;font-size:13px;}
.steps li{list-style:decimal;margin-bottom:4px;}

.tool-grid{display:flex;gap:30px;flex-wrap:wrap;align-items:flex-start;}
.tool-grid>div:first-child{flex:1;min-width:280px;}
.qr-result{flex:none;text-align:center;}
.qr-canvas-box{width:210px;height:210px;border:1px solid var(--line);border-radius:4px;padding:8px;background:#fff;display:inline-block;}
.qr-result .meta{margin-top:10px;font-size:12px;color:var(--muted);word-break:break-all;max-width:240px;}

.admin-bar{background:var(--dark);color:#fff;padding:10px 0;font-size:13px;}
.admin-bar .wrap{display:flex;justify-content:space-between;align-items:center;}
.admin-bar a{color:#cdd;}

/* 后台登录门（authPanel 由 JS 渲染） */
.gate{max-width:420px;margin:20px auto;background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px;}
.gate h2{font-size:18px;color:var(--red);margin-bottom:8px;}
.gate>p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:18px;}
.auth-tabs{display:flex;gap:8px;margin-bottom:16px;}
.auth-tabs .auth-tab{background:#f2f3f5;color:#555;border:0;padding:8px 16px;font-size:13px;border-radius:3px;cursor:pointer;font-family:inherit;}
.auth-tabs .auth-tab.active{background:var(--red);color:#fff;}
.auth-pane .field{margin-bottom:12px;}
.auth-pane .field input{width:100%;border:1px solid var(--line);border-radius:3px;padding:11px 13px;font-size:14px;font-family:inherit;}
.auth-pane .field input:focus{border-color:var(--red);outline:none;}
.auth-pane .field.inline{display:flex;gap:8px;align-items:center;}
.auth-pane .field.inline input{flex:1;min-width:0;}
.auth-pane .hint{margin-top:10px;font-size:12px;color:var(--muted);text-align:center;}
.gate-msg{min-height:18px;font-size:13px;}
.gate-msg.ok{color:var(--green);}
.gate-msg.err{color:var(--red);}
.gate-msg.info{color:var(--muted);}

/* ---------------- 响应式 ---------------- */
@media(max-width:1200px){
  .wrap,.header_container{width:96%;}
  .banner{height:320px;}
  .nav .nav1{padding:0 14px;font-size:15px;}
}
@media(max-width:768px){
  .cols{flex-direction:column;}
  .nav{height:auto;flex-wrap:wrap;}
  .nav .nav1{height:54px;line-height:54px;}
  .search_box .keyword{width:70vw;}
  .about-side{float:none;width:auto;margin:0 0 16px;}
}

/* 报告编号自定义 + 重复校验 */
.no-check-row{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}
.no-dup{font-size:13px;font-weight:600}
.no-dup.checking{color:#5c6f83}
.no-dup.ok{color:var(--green)}
.no-dup.dup{color:var(--red)}
.footer_admin{margin-top:8px;font-size:12px}
.footer_admin a{color:#9aa3b2;text-decoration:none}
.footer_admin a:hover{color:var(--red);text-decoration:underline}
.no-dup.checkerr{color:var(--red)}
