/* query_portal.html 专用精简样式（自全站 style.css 提取） */
:root {--primary-color:#099082;--primary-dark:#06765C;--primary-light:#36B8A2;--secondary-color:#E7F8F5;--accent-color:#E60012;--tech-blue:#0BB39A;--tech-purple:#057A8A;--text-dark:#12312E;--text-light:#4E6C68;--text-lighter:#6F8A86;--white:#FFFFFF;--light-gray:#F4FBFA;--border-color:#D4EFE8;--shadow:0 4px 12px rgba(9,144,130,0.08);--shadow-hover:0 10px 25px rgba(9,144,130,0.15);--glow-shadow:0 0 15px rgba(11,179,154,0.35);--transition:all 0.3s ease;--transition-slow:all 0.5s ease;--tb-modal-duration:0.32s;--tb-modal-ease:cubic-bezier(0.22,1,0.36,1);}
@media (prefers-reduced-motion:reduce) {:root {--tb-modal-duration:0.01ms;}}
* {margin:0;padding:0;box-sizing:border-box;}
body {font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;color:var(--text-dark);line-height:1.6;background:linear-gradient(135deg,var(--light-gray) 0%,var(--secondary-color) 100%);}
.container {max-width:1400px !important;}
a {text-decoration:none;color:inherit;transition:var(--transition);}
.section-title {font-size:32px;color:var(--primary-color);text-align:center;margin-bottom:20px;position:relative;padding-bottom:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.section-title::after {content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100px;height:4px;background:linear-gradient(90deg,var(--tech-blue),var(--tech-purple));border-radius:2px;box-shadow:0 0 10px rgba(9,144,130,0.5);}
.section-subtitle {font-size:16px;color:var(--text-light);text-align:center;margin-bottom:40px;font-weight:400;letter-spacing:2px;text-transform:uppercase;position:relative;}
.section-subtitle::before,.section-subtitle::after {content:"◆";color:var(--tech-blue);margin:0 10px;font-size:12px;}
.section-padding {padding:80px 0;}
.bg-light-blue {background-color:var(--secondary-color);position:relative;overflow:hidden;}
.bgfff {background-color:#fff;}
/* 平台优势 */.feature-item {background-color:var(--white);border-radius:10px;padding:40px 30px;text-align:center;box-shadow:var(--shadow);transition:var(--transition);height:100%;position:relative;overflow:hidden;}
.feature-item:hover {transform:translateY(-10px);box-shadow:var(--shadow-hover),0 0 20px rgba(46,196,166,0.2);}
.feature-item::before {content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,var(--tech-blue),var(--tech-purple));transform:scaleX(0);transform-origin:left;transition:var(--transition);}
.feature-item:hover::before {transform:scaleX(1);}
.feature-icon {font-size:46px;color:var(--primary-color);margin-bottom:25px;transition:var(--transition);}
.feature-item:hover .feature-icon {color:var(--tech-blue);transform:scale(1.1);}
.feature-title {font-size:20px;font-weight:600;margin-bottom:15px;color:var(--text-dark);transition:var(--transition);}
.feature-item:hover .feature-title {color:var(--primary-color);}
.feature-desc {font-size:15px;color:var(--text-light);line-height:1.6;}
/* 页脚 */
.footer {background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));border-top:none;padding:40px 0 20px;position:relative;overflow:hidden;color:rgba(255,255,255,0.9);}
.footer::before {content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 30%,rgba(46,196,166,0.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(15,118,110,0.1) 0%,transparent 50%);z-index:0;}
.footer-title {font-size:18px;font-weight:600;color:var(--white);margin-bottom:20px;position:relative;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,0.2);}
.footer-title::after {content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background:linear-gradient(90deg,var(--tech-blue),var(--tech-purple));border-radius:2px;}
.footer-contact {list-style:none;padding-left:0;position:relative;z-index:1;margin-top:35px;}
.footer-contact li {padding-bottom:20px;padding-top:3px;display:flex;align-items:flex-start;transition:var(--transition);}
.footer-contact li:hover {transform:translateX(5px);}
.footer-contact li i {color:var(--tech-blue);margin-right:18px;font-size:26px;flex-shrink:0;width:20px;text-align:center;}
.footer-contact li span {color:rgba(255,255,255,0.8);font-size:15px;line-height:26px;flex:1;}
.footer-contact li:hover span {color:var(--white);text-shadow:0 0 10px rgba(0,212,255,0.5);}
@media (max-width:768px) {.footer-contact li {margin-bottom:2px;padding-bottom: 10px;}
.footer-contact li i {font-size:22px;margin-right:10px;}
.footer-contact li span {font-size:13px;line-height: 22px;}
.footer .row > div {margin-bottom:0px;text-align:center;}
.footer-contact li {justify-content:center;text-align:left;}
.contact-card{padding: 10px 0;}

}
.qrcode-container {background-color:rgba(255,255,255,0.1);border-radius:8px;max-width:150px;padding:8px;position:relative;z-index:1;transition:var(--transition);border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(10px);margin-top:25px;}
.qrcode-container:hover {transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,212,255,0.2);border-color:rgba(0,212,255,0.3);background-color:rgba(255,255,255,0.15);}
.qrcode-img {width:100%;height:auto;border:1px solid rgba(255,255,255,0.2);border-radius:4px;background-color:var(--white);padding:8px;}
.qrcode-img-info {width:100%;height:100%;color:#01509f;font-size:14px;}
.qrcode-img-info img {width:100%;height:auto;}
/* 留言表单 */.form-group {position:relative;}
.form-control {padding:16px 20px;border:2px solid var(--border-color);border-radius:10px;font-size:15px;transition:var(--transition);width:100%;background-color:rgba(255,255,255,0.9);box-shadow:inset 0 2px 5px rgba(0,0,0,0.03);}
.form-control:focus {border-color:var(--tech-blue);box-shadow:0 0 0 3px rgba(11,179,154,0.2),inset 0 2px 5px rgba(0,0,0,0.03);outline:none;transform:translateY(-2px);}
.contact-card {position:relative;overflow:hidden;height:100%;transition:var(--transition);}
.contact-form-wrapper {padding:5px 0;}
.contact-submit-btn {background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--white);border:none;padding:16px 40px;border-radius:10px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:var(--transition);box-shadow:0 5px 20px rgba(27,94,58,0.3);min-width:180px;border:solid 1px var(--primary-color);}
.contact-submit-btn:hover {transform:translateY(-5px);box-shadow:0 12px 30px rgba(27,94,58,0.4),0 0 25px rgba(46,196,166,0.3);color:var(--white);}
.contact-submit-btn i {font-size:18px;transition:var(--transition);}
.contact-submit-btn:hover i {transform:scale(1.2) rotate(10deg);}
@media (max-width:992px) {.contact-card {padding:30px 25px;margin-bottom:30px;}
}
@media (max-width:768px) {
    .contact-submit-btn {width:100%;}
    .form-control {padding: 10px 15px;}
}
@media (max-width:992px) {.section-title {font-size:20px;}
.feature-item {padding:30px 20px;}
}
@media (max-width:768px) {.section-padding {padding:40px 0;}
}
/* ========== 查询门户 query_portal.html ========== */html:has(body.query-portal-page) {scroll-behavior:smooth;}
body.query-portal-page {--primary-color:#099082;--primary-dark:#067a68;--tech-blue:#0bb39a;--tech-purple:#057a8a;}
.query-portal-page #query-portal-intro,.query-portal-page #query-portal-partners,.query-portal-page #query-portal-features,.query-portal-page #query-results {scroll-margin-top:24px;}
.query-portal-hero {position:relative;display:flex;align-items:center;justify-content:center;padding:150px 0 116px;overflow:hidden;}
.query-portal-hero-bg {position:absolute;inset:0;background-color:#0a3d36;background-image:linear-gradient(168deg,rgba(2,48,42,0.78) 0%,rgba(9,144,130,0.38) 45%,rgba(4,62,54,0.85) 100%),url("../img/main_bg.avif");background-size:cover;background-position:center center;background-repeat:no-repeat;transform:scale(1.04);filter:saturate(1.08) contrast(1.03);}
.query-portal-hero-overlay {position:absolute;inset:0;background:radial-gradient(ellipse 95% 75% at 50% 28%,rgba(9,144,130,0.22) 0%,transparent 58%),radial-gradient(ellipse 120% 80% at 50% 100%,rgba(0,0,0,0.45) 0%,transparent 55%),linear-gradient(168deg,rgba(2,48,42,0.82) 0%,rgba(9,144,130,0.52) 38%,rgba(4,62,54,0.88) 100%);}
.query-portal-hero-inner {position:relative;z-index:2;color:#fff;width:100%;display:flex;justify-content:center;align-items:center;}
.query-portal-hero-stack {width:100%;max-width:1080px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;padding:8px 12px 0;}
.query-portal-hero-stack::before {content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:min(520px,70vw);height:3px;border-radius:3px;background:linear-gradient(        90deg,transparent,rgba(255,255,255,0.55),rgba(184,255,236,0.9),rgba(255,255,255,0.55),transparent    );opacity:0.85;pointer-events:none;}
.query-portal-hero-title-row {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:22px 28px;margin-bottom:26px;}
.query-portal-logo-ring {width:96px;height:96px;display:flex;align-items:center;justify-content:center;flex-shrink:0;    background: rgba(255, 255, 255, .7);border-radius: 48px;padding: 2px;}
.query-portal-logo-circle {width:100%;height:100%;object-fit:contain;}
.query-portal-main-title {margin:0;font-size:clamp(1.85rem,5.2vw,3.15rem);font-weight:800;letter-spacing:0.08em;color:#fff;line-height:1.2;text-shadow:0 2px 24px rgba(0,0,0,0.35),0 0 40px rgba(9,144,130,0.25);}
.query-portal-slogan-pill {display:inline-block;margin:0 0 36px 0;padding:14px 40px;font-size:clamp(14px,1.6vw,17px);font-weight:600;line-height:1.55;color:#12332e;background:rgba(255,255,255,0.93);border-radius:999px;box-shadow:0 12px 40px rgba(0,0,0,0.14),0 0 0 1px rgba(255,255,255,0.6);backdrop-filter:blur(12px);max-width:100%;}
.query-portal-tabs--hero {margin-bottom:24px;}
.query-portal-tabs {display:flex;justify-content:center;flex-wrap:wrap;gap:16px 22px;}
.query-portal-tab {border:2px solid rgba(255,255,255,0.55);background:rgba(255,255,255,0.12);color:#fff;padding:12px 22px 12px 28px;border-radius:999px;font-size:clamp(15px,1.5vw,18px);font-weight:700;cursor:pointer;transition:var(--transition);backdrop-filter:blur(12px);min-width:168px;letter-spacing:0.06em;display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;text-align:center;}
.query-portal-tab-main {display:inline-flex;align-items:center;gap:8px;}
.query-portal-tab-picked {display:none;flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:0.12em;padding:4px 10px;border-radius:999px;background:linear-gradient(180deg,#12b09e 0%,#099082 100%);color:#fff;line-height:1;box-shadow:0 2px 10px rgba(9,144,130,0.45);border:1px solid rgba(255,255,255,0.45);}
.query-portal-tab.active .query-portal-tab-picked {display:inline-flex;align-items:center;justify-content:center;}
.query-portal-tab:hover {background:rgba(255,255,255,0.24);border-color:rgba(255,255,255,0.9);transform:translateY(-1px);}
.query-portal-tab.active {background:#fff;color:#099082;border-color:#fff;box-shadow:0 14px 44px rgba(0,0,0,0.2),0 0 0 1px rgba(9,144,130,0.12),0 0 0 4px rgba(9,144,130,0.18);}
.query-portal-tab:focus-visible {outline:none;box-shadow:0 0 0 3px rgba(255,255,255,0.95),0 0 0 6px rgba(9,144,130,0.55);}
.query-portal-tab.active:focus-visible {box-shadow:0 14px 44px rgba(0,0,0,0.2),0 0 0 1px rgba(9,144,130,0.12),0 0 0 4px rgba(9,144,130,0.18),0 0 0 7px rgba(255,255,255,0.85);}
.query-portal-search-form--hero {width:100%;max-width:900px;margin:0 auto 28px;}
.query-portal-search-row--banner {display:flex;flex-wrap:nowrap;align-items:stretch;border-radius:14px;overflow:hidden;}
.query-portal-search-row--banner .query-portal-search-input {border:none !important;border-radius:0 !important;padding:20px 28px;font-size:clamp(16px,1.5vw,19px);flex:1;min-width:0;color:var(--text-dark);}
.query-portal-search-row--banner .query-portal-search-input::placeholder {color:#8a9a96;}
.query-portal-search-row--banner .query-portal-search-input:focus {box-shadow:none !important;}
.query-portal-search-btn--orange {flex-shrink:0;border:none;background:linear-gradient(180deg,#ffa64a 0%,#e86810 100%);color:#fff;font-weight:800;padding:0 40px;font-size:clamp(16px,1.45vw,18px);min-width:176px;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:10px;text-shadow:0 1px 3px rgba(0,0,0,0.2);letter-spacing:0.08em;}
.query-portal-search-btn--orange:hover {color:#fff;filter:brightness(1.04);}
.query-portal-hero-footline {margin:0;font-size:clamp(14px,1.35vw,16px);line-height:1.75;color:rgba(255,255,255,0.94);text-shadow:0 2px 12px rgba(0,0,0,0.3);max-width:820px;font-weight:500;letter-spacing:0.02em;}
.query-portal-section-constrain {max-width:1200px;margin-left:auto;margin-right:auto;width:100%;}
.query-portal-intro-section .section-title::after,.query-portal-features-section .section-title::after,.query-portal-partners-section .section-title::after {background:linear-gradient(90deg,#099082,#057a8a);}
.query-portal-intro-card {padding:8px 0;}
.query-portal-intro-lead {font-size:17px;line-height:1.75;color:var(--text-dark);margin-bottom:20px;}
.query-portal-intro-stats {margin-bottom:22px;}
.query-portal-stat-box {background:linear-gradient(145deg,rgba(231,248,245,0.95),#fff);border:1px solid rgba(9,144,130,0.2);border-radius:14px;padding:18px 14px;text-align:center;box-shadow:0 8px 24px rgba(9,144,130,0.08);transition:var(--transition);height:100%;}
.query-portal-stat-box:hover {transform:translateY(-3px);box-shadow:0 12px 28px rgba(9,144,130,0.14);border-color:rgba(9,144,130,0.35);}
.query-portal-stat-value {font-size:26px;font-weight:800;color:#099082;line-height:1.15;letter-spacing:0.02em;}
.query-portal-stat-label {font-size:13px;color:var(--text-light);margin-top:6px;font-weight:500;}
.query-portal-intro-text {font-size:15px;line-height:1.8;color:var(--text-light);margin-bottom:20px;}
.query-portal-intro-list {list-style:none;padding:0;margin:0;}
.query-portal-intro-list li {display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--text-dark);margin-bottom:12px;line-height:1.5;}
.query-portal-intro-list i {color:#099082;margin-top:4px;}
.query-portal-intro-visual {border-radius:16px;overflow:hidden;box-shadow:var(--shadow),0 0 28px rgba(46,139,92,0.18);border:1px solid rgba(46,139,92,0.2);background:linear-gradient(180deg,#8fd4b8 0%,#5cb88a 45%,#2e8b5c 100%);background-size:cover;background-position:center;}
.query-portal-intro-visual--tall {position:relative;flex:1 1 auto;align-self:stretch;width:100%;min-height:260px;}
.query-portal-intro-img {display:block;width:100%;height:auto;object-fit:cover;position:relative;z-index:1;}
@media (min-width:992px) {.query-portal-intro-row > .col-lg-6.d-flex {align-items:stretch;}
.query-portal-intro-row > .col-lg-6.d-flex > .query-portal-intro-visual--tall {min-height:440px;height:100%;max-height:none;}
.query-portal-intro-visual--tall .query-portal-intro-img {position:absolute;inset:0;width:100%;height:100%;min-height:440px;object-fit:cover;}
}
@media (max-width:991px) {.query-portal-intro-visual--tall .query-portal-intro-img {min-height:240px;max-height:400px;aspect-ratio:4 / 3;}
}
.query-portal-partner-logo-link {display:block;height:100%;text-decoration:none;color:inherit;outline:none;}
.query-portal-partner-logo-link:focus-visible .query-portal-partner-logo-only {box-shadow:var(--shadow-hover),0 0 0 3px rgba(9,144,130,0.35);}
.query-portal-partner-logo-only {background:#fff;border-radius:14px;border:1px solid rgba(9,144,130,0.12);box-shadow:var(--shadow);padding:12px 8px;display:flex;align-items:center;justify-content:center;min-height:100px;transition:var(--transition);}
.query-portal-partner-logo-only:hover {transform:translateY(-4px);box-shadow:var(--shadow-hover),0 0 20px rgba(9,144,130,0.12);border-color:rgba(9,144,130,0.25);}
.query-portal-partner-logo-only img {max-width:100%;max-height:76px;width:auto;height:auto;object-fit:contain;filter:grayscale(0.25);transition:var(--transition);}
.query-portal-partner-logo-only:hover img {filter:grayscale(0);}
.query-portal-footer {padding:48px 0 24px;}
.query-portal-footer-rich .query-portal-footer-main {padding-bottom:28px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.12);}
.query-portal-footer-bottom {text-align:center;font-size:13px;color:rgba(255,255,255,0.7);}
.query-portal-footer-bottom a {color:rgba(255,255,255,0.88);text-decoration:underline;}
.query-portal-footer-bottom a:hover {color:#fff;}
.query-portal-footer-rich .contact-card {margin-bottom:0;padding:20px 0;border-radius:12px;border:none;}
.query-portal-footer-rich .contact-form-wrapper {padding:0;}
.query-portal-footer-follow {display:flex;flex-direction:column;align-items:center;text-align:center;}
@media (min-width:992px) {.query-portal-footer-follow {align-items:flex-start;text-align:left;}
}
.query-portal-footer-rich .query-portal-footer-follow .qrcode-container {margin-top:12px;}
.query-portal-footer-intro {position:relative;z-index:1;}
.query-portal-footer-intro-brand {display:flex;align-items:center;gap:14px;margin-top:28px;margin-bottom: 14px;flex-wrap:wrap;}
.query-portal-footer-intro-logo {flex-shrink:0;width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,0.25);background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;}
.query-portal-footer-intro-logo-img {width:58px;height:58px;object-fit:contain;}
.query-portal-footer-intro-name {margin:0;font-size:24px;font-weight:600;color:#fff;line-height:1.35;letter-spacing:0.06em;text-shadow:0 2px 4px rgba(0,0,0,0.2);flex:1;min-width:12em;}
.query-portal-footer-intro-text {margin:0;font-size:14px;line-height:1.8;color:rgba(255,255,255,0.82);}
@media (max-width:575px) {.query-portal-footer-intro-brand {justify-content:center;text-align:center;}
.query-portal-footer-intro-name {flex:none;width:100%;min-width:0;}
.query-portal-footer-intro-text {text-align:center;}
}
.query-portal-footer-qrcode-tip {margin:12px 0 0 0;font-size:13px;color:rgba(255,255,255,0.72);line-height:1.5;}
.query-portal-footer-submit {min-width:140px;padding:14px 16px;font-size:14px;gap:8px;white-space:nowrap;}
@media (max-width:991px) {.query-portal-footer-submit {width:100%;justify-content:center;}
}
@media (max-width:991px) {.query-portal-hero {padding-top:100px;padding-bottom:72px;}
.query-portal-main-title {letter-spacing:0.08em;}
.query-portal-tab {min-width:140px;padding:12px 28px;}
}
@media (max-width:576px) {.query-portal-hero {min-height:auto;padding:92px 0 48px;}
.query-portal-hero-bg {transform:scale(1.08);}
.query-portal-hero-title-row {flex-direction:column;}
.query-portal-main-title {letter-spacing:0.06em;font-size: clamp(1.6rem, 5.2vw, 3rem);}
.query-portal-logo-ring {width:84px;height:84px;}
.query-portal-slogan-pill {padding:12px 22px;margin-bottom:28px;}
.query-portal-search-row--banner {flex-direction:column;border-radius:14px;}
.query-portal-search-btn--orange {width:100%;min-width:0;padding:16px 20px;}
}

/* ========== 证书查询结果列表（与 query_portal 同一顶栏视觉） ========== */
.cert-result-page {background:linear-gradient(135deg,var(--light-gray) 0%,var(--secondary-color) 100%);}
.query-portal-hero--result {padding:112px 0 88px;}
.query-portal-hero-back {position:absolute;top:22px;left:max(16px,4vw);z-index:4;display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(255,255,255,.97);color:var(--primary-color);font-size:14px;font-weight:700;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.14),0 0 0 1px rgba(255,255,255,.5);transition:var(--transition);letter-spacing:.03em;}
.query-portal-hero-back:hover {color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.6);}
.cert-query-results-section .section-title.cert-query-results-title {margin-bottom:12px;}
.cert-query-results-section .section-subtitle,.query-portal-query-results-section .section-subtitle {margin-bottom:24px;}
.query-portal-query-results-section .cert-query-results-title {margin-bottom:12px;}
.cert-query-portal-hint {max-width:640px;margin-left:auto;margin-right:auto;}
.cert-query-state {display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 20px;text-align:center;flex-direction:column;color:var(--text-light);}
.cert-query-loading .cert-query-spinner {width:2.5rem;height:2.5rem;color:var(--primary-color)!important;}
.cert-query-error {color:#b42318;background:rgba(180,35,24,0.06);border-radius:12px;border:1px solid rgba(180,35,24,0.2);}
.cert-query-error i {font-size:1.5rem;}
.cert-query-empty i {font-size:2.5rem;opacity:0.5;}
.cert-query-table-wrap {border-radius:12px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(9,144,130,0.12);background:#fff;margin-top: 30px;}
.cert-query-table {margin:0;}
.cert-query-table thead {background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));color:#fff;}
.cert-query-table thead th {border:none;padding:14px 12px;font-weight:600;font-size:14px;white-space:nowrap;}
.cert-query-table tbody td {padding:12px;font-size:14px;color:var(--text-dark);vertical-align:middle;border-color:rgba(9,144,130,0.1);}
.cert-query-table tbody tr:nth-child(even) {background:rgba(9,144,130,0.03);}
.cert-query-table tbody tr:hover {background:rgba(9,144,130,0.08);}
.cert-query-table tbody tr.cert-query-row--revoked {cursor:help;}
.cert-revoked-bs-tooltip .tooltip-inner {max-width:280px;text-align:left;font-size:13px;line-height:1.55;padding:10px 12px;}
.cert-query-loading-inline {margin-bottom:20px;border-radius:12px;border:1px solid rgba(9,144,130,0.18);background:linear-gradient(135deg,#fff,var(--secondary-color));box-shadow:var(--shadow);}
.cert-query-loading-inline__inner {display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 20px;color:var(--text-dark);font-size:15px;font-weight:500;}
.cert-query-loading-inline__spinner {width:1.65rem;height:1.65rem;border-width:0.2rem;color:var(--primary-color);flex-shrink:0;}
.cert-query-loading-inline__text {color:var(--text-light);}
.cert-query-status {display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;background:rgba(9,144,130,0.12);color:var(--primary-dark);}
.cert-query-status--ok {background:rgba(34,197,94,0.15);color:#15803d;}
.cert-query-status--warn {background:rgba(234,179,8,0.2);color:#a16207;}
.cert-query-status--bad {background:rgba(239,68,68,0.12);color:#b91c1c;}
.cert-query-status--muted {background:rgba(100,116,139,0.14);color:#475569;}
.cert-query-loading {padding:2.5rem 1rem;text-align:center;color:var(--text-light);font-size:15px;}
.cert-query-loading .fa-spin {margin-right:8px;color:var(--primary-color);}
.cert-query-error {padding:14px 18px;border-radius:12px;background:rgba(239,68,68,0.08);color:#b91c1c;margin-bottom:16px;font-size:15px;line-height:1.55;}
.cert-query-empty-hint {padding:2rem 1.25rem;text-align:center;color:var(--text-light);font-size:15px;line-height:1.65;border:1px dashed rgba(9,144,130,0.25);border-radius:12px;background:rgba(9,144,130,0.03);}
.cert-query-empty-hint strong {color:var(--text-dark);}
.cert-query-detail-link {color:var(--tech-blue);font-weight:600;}
.cert-query-detail-link:hover {color:var(--primary-dark);text-decoration:underline;}
.cert-query-pagination-inner {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-bottom: 15px;}
.cert-query-page-info {font-size:14px;color:var(--text-light);}
@media (max-width:768px) {.cert-query-table thead th,.cert-query-table tbody td {padding:10px 8px;font-size:13px;}
}
@media (max-width:576px) {.query-portal-hero--result {padding:96px 0 56px;}
.query-portal-hero-back {top:14px;left:12px;padding:8px 14px;font-size:13px;}
}

/* 静态列表页：区块标题 + 空状态（related-cards-empty） */
.cert-query-static-hint {max-width:640px;margin-left:auto;margin-right:auto;line-height:1.6;}
.cert-query-demo-block-title {font-size:17px;font-weight:700;color:var(--primary-color);margin:0 0 16px 0;padding-left:12px;border-left:4px solid var(--tech-blue);}
.cert-query-demo-block-title--spaced {margin-top:3rem;}
.related-cards-empty {border-radius:12px;border:1px solid rgba(9,144,130,0.12);background:linear-gradient(135deg,rgba(231,248,245,0.5),#fff);box-shadow:var(--shadow);overflow:hidden;margin-top: 30px;}
.empty-state {padding:48px 24px;text-align:center;position:relative;}
.empty-state-icon {font-size:48px;color:var(--tech-blue);margin-bottom:20px;line-height:1;}
.empty-state-icon i {opacity:0.9;}
.empty-state-title {font-size:20px;color:var(--text-dark);font-weight:600;margin-bottom:10px;}
.empty-state-desc {font-size:15px;color:var(--text-light);line-height:1.65;margin:0 auto;}
.related-cards-empty[role="alert"] .empty-state-icon {color:#dc2626;}
.related-cards-empty[role="alert"] .empty-state-title {color:#b91c1c;}

/* ========== 报告详情页 report_detail.html ========== */
.report-detail-section {padding-top:56px;padding-bottom:72px;}
.report-detail-header {margin-bottom:36px;}
.report-detail-eyebrow {display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--primary-color);background:rgba(9,144,130,0.1);padding:8px 18px;border-radius:999px;border:1px solid rgba(9,144,130,0.2);}
.report-detail-title {font-size:clamp(1.5rem,4vw,2rem);font-weight:800;color:var(--text-dark);margin:0 0 12px;letter-spacing:0.04em;}
.report-detail-subtitle {font-size:16px;color:var(--text-light);margin:0;}
.report-detail-subtitle strong {color:var(--text-dark);font-weight:700;}
.report-detail-card {border-radius:12px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(9,144,130,0.12);background:#fff;margin-bottom:24px;padding:24px 22px 26px;}
@media (min-width:768px) {.report-detail-card {padding:28px 32px 32px;}
}
.report-detail-card--statement {background:linear-gradient(135deg,rgba(231,248,245,0.65),#fff);}
.report-detail-card-title {font-size:18px;font-weight:700;color:var(--primary-color);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid rgba(9,144,130,0.15);display:flex;align-items:center;gap:10px;}
.report-detail-card-title::before {content:"";width:4px;height:1.1em;border-radius:2px;background:linear-gradient(180deg,var(--tech-blue),var(--tech-purple));flex-shrink:0;}
.report-detail-dl {margin:0;}
.report-detail-dl-row {display:grid;grid-template-columns:minmax(0,160px) 1fr;gap:12px 20px;padding:14px 0;border-bottom:1px solid rgba(9,144,130,0.08);align-items:start;}
.report-detail-dl-row--last {border-bottom:none;padding-bottom:0;}
.report-detail-dl-row--block {grid-template-columns:1fr;}
.report-detail-dl-row--block dt {margin-bottom:6px;}
@media (max-width:576px) {.report-detail-dl-row {grid-template-columns:1fr;gap:4px;}
.report-detail-dl-row--block dt {margin-bottom:4px;}
}
.report-detail-dl dt {font-size:14px;font-weight:600;color:var(--text-light);margin:0;}
.report-detail-dl dd {font-size:15px;color:var(--text-dark);margin:0;line-height:1.65;word-break:break-word;}
.report-detail-code {font-size:14px;background:rgba(9,144,130,0.08);padding:2px 8px;border-radius:6px;color:var(--primary-dark);font-family:ui-monospace,"Cascadia Code","Microsoft YaHei",monospace;}
.report-detail-link-report {display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));padding:10px 20px;border-radius:10px;box-shadow:0 4px 14px rgba(9,144,130,0.35);transition:var(--transition);border:1px solid rgba(255,255,255,0.15);cursor:pointer;font-family:inherit;font-size:15px;line-height:1.4;}
.report-detail-link-report:hover {color:#fff;filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 22px rgba(9,144,130,0.4);}
.report-detail-lead {font-size:15px;color:var(--text-dark);margin:-4px 0 16px;line-height:1.65;}
.report-detail-url-list {list-style:none;padding:0;margin:0;}
.report-detail-url-list li {padding:12px 16px;border-radius:10px;border:1px solid rgba(9,144,130,0.12);background:rgba(231,248,245,0.35);margin-bottom:12px;font-size:14px;line-height:1.65;}
.report-detail-url-list li:last-child {margin-bottom:0;}
.report-detail-url-name {display:inline;font-weight:600;color:var(--text-dark);}
.report-detail-url-name::after {content:"：";font-weight:600;color:var(--text-dark);}
.report-detail-url-link {display:inline;font-size:14px;word-break:break-all;color:var(--tech-blue);font-weight:600;vertical-align:baseline;}
.report-detail-url-link:hover {color:var(--primary-dark);text-decoration:underline;}
.report-detail-statement-list {margin:0;padding-left:1.25rem;font-size:15px;color:var(--text-dark);line-height:1.75;}
.report-detail-statement-list li {margin-bottom:12px;padding-left:4px;}
.report-detail-statement-list li:last-child {margin-bottom:0;}
.report-detail-statement-list a {color:var(--primary-color);text-decoration:none;word-break:break-all;}
.report-detail-statement-list a:hover {text-decoration:underline;color:var(--primary-dark);}
.report-detail-statement-html {font-size:15px;color:var(--text-dark);line-height:1.75;}
.report-detail-statement-html p {margin:0 0 12px;}
.report-detail-statement-html p:last-child {margin-bottom:0;}
.report-detail-statement-html a {color:var(--primary-color);text-decoration:none;word-break:break-all;}
.report-detail-statement-html a:hover {text-decoration:underline;color:var(--primary-dark);}
.report-detail-query-time {text-align:center;font-size:14px;color:var(--text-lighter);margin:32px 0 0;padding-top:20px;border-top:1px dashed rgba(9,144,130,0.2);}
.report-detail-query-time i {margin-right:6px;color:var(--tech-blue);opacity:0.85;}

/* 报告详情 — 查看报告弹层（id 保留 reprotDetailModal，避免与 Bootstrap .modal 全局冲突） */
body.report-detail-modal-open,body.report-pdf-viewer-open {overflow:hidden;}
.report-detail-modal {position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;}
.report-detail-modal[hidden] {display:none !important;}
.report-detail-modal:not([hidden]) {display:flex !important;opacity:0;visibility:hidden;transition:opacity var(--tb-modal-duration) ease,visibility var(--tb-modal-duration) ease;}
.report-detail-modal.tb-modal-show:not([hidden]) {opacity:1;visibility:visible;}
.report-detail-modal-backdrop {position:absolute;inset:0;background:rgba(18,49,46,0.55);backdrop-filter:blur(4px);}
.report-detail-modal-content {position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,0.2),0 0 0 1px rgba(9,144,130,0.12);padding:28px 26px 26px;margin:0;transform:translateY(14px) scale(0.97);opacity:0;transition:transform var(--tb-modal-duration) var(--tb-modal-ease),opacity var(--tb-modal-duration) var(--tb-modal-ease);}
.report-detail-modal.tb-modal-show:not([hidden]) .report-detail-modal-content {transform:translateY(0) scale(1);opacity:1;}
.report-detail-modal-title.modal-title {font-size:1rem;font-weight:800;color:var(--text-dark);margin:0 48px 22px 0;line-height:1.35;letter-spacing:0.03em;}
.report-detail-modal-close.close {position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:10px;background:rgba(9,144,130,0.1);color:var(--primary-dark);font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:var(--transition);}
.report-detail-modal-close.close:hover {background:rgba(9,144,130,0.2);color:var(--primary-color);}
.report-detail-modal-form.search-form {margin:0;}
.report-detail-modal-input-wrap.input-container {position:relative;display:flex;align-items:center;}
.report-detail-modal-input-wrap .fas.fa-key {position:absolute;left:16px;z-index:1;color:var(--tech-blue);font-size:15px;pointer-events:none;}
.report-detail-modal-input-wrap .form-control {padding-left:44px;border:2px solid var(--border-color);border-radius:10px;}
.report-detail-modal-tip.search-tip2 {font-size:14px;color:var(--text-light);margin:0 0 12px;display:flex;align-items:flex-start;gap:8px;line-height:1.55;}
.report-detail-modal-tip .fa-info-circle,.report-detail-modal-tip .fa-check-circle {color:var(--tech-blue);margin-top:3px;flex-shrink:0;}
.report-detail-modal-success .report-detail-modal-tip .fa-check-circle {color:#15803d;}
.report-detail-modal-verify.search_btn_cert,.report-detail-modal-preview.search_btn_cert {width:100%;margin-top:20px;border:none;border-radius:10px;padding:14px 20px;font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:var(--transition);text-decoration:none;box-sizing:border-box;font-family:inherit;}
.report-detail-modal-verify.search_btn_cert {color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));box-shadow:0 6px 20px rgba(9,144,130,0.35);}
.report-detail-modal-verify.search_btn_cert:hover:not(:disabled) {filter:brightness(1.05);color:#fff;}
.report-detail-modal-verify.search_btn_cert:disabled {opacity:0.85;cursor:not-allowed;}
.report-detail-modal-preview.search_btn_cert {margin-top:16px;background:linear-gradient(180deg,#ffa64a 0%,#e86810 100%);color:#fff;box-shadow:0 6px 18px rgba(232,104,16,0.35);}
.report-detail-modal-preview.search_btn_cert:hover {color:#fff;filter:brightness(1.04);}
.report-detail-modal-spinner.spinner {display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,0.35);border-top-color:#fff;border-radius:50%;animation:report-detail-spin 0.65s linear infinite;vertical-align:middle;}
@keyframes report-detail-spin {to {transform:rotate(360deg);}}
.report-detail-modal-error.error-message {margin-top:16px;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.5;color:#b91c1c;background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.25);}
.report-detail-modal-success.success-message {margin-top:8px;padding-top:4px;}
.report-detail-modal-success .report-detail-modal-preview {margin-top:4px;}

/* PDF.js 全屏预览 */
.report-pdf-viewer {position:fixed;inset:0;z-index:1090;display:flex;align-items:stretch;justify-content:center;box-sizing:border-box;}
.report-pdf-viewer[hidden] {display:none !important;}
.report-pdf-viewer:not([hidden]) {display:flex !important;opacity:0;visibility:hidden;transition:opacity var(--tb-modal-duration) ease,visibility var(--tb-modal-duration) ease;}
.report-pdf-viewer.tb-modal-show:not([hidden]) {opacity:1;visibility:visible;}
.report-pdf-viewer-backdrop {position:absolute;inset:0;background:rgba(10,40,36,0.65);backdrop-filter:blur(3px);}
.report-pdf-viewer-panel {position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:min(1200px,100%);margin:12px 16px 16px;background:#fff;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,0.35),0 0 0 1px rgba(9,144,130,0.12);overflow:hidden;transform:translateY(12px) scale(0.985);opacity:0;transition:transform var(--tb-modal-duration) var(--tb-modal-ease),opacity var(--tb-modal-duration) var(--tb-modal-ease);}
.report-pdf-viewer.tb-modal-show:not([hidden]) .report-pdf-viewer-panel {transform:translateY(0) scale(1);opacity:1;}
.report-pdf-viewer-toolbar {flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));color:#fff;}
.report-pdf-viewer-title {font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:10px;}
.report-pdf-viewer-title .fa-file-pdf {opacity:0.95;}
.report-pdf-viewer-tools {display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.report-pdf-viewer-btn {border:none;background:rgba(255,255,255,0.18);color:#fff;padding:8px 12px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;line-height:1;}
.report-pdf-viewer-btn:hover {background:rgba(255,255,255,0.3);color:#fff;}
.report-pdf-viewer-btn--close {background:rgba(255,255,255,0.95);color:var(--primary-dark);padding:8px 16px;}
.report-pdf-viewer-btn--close:hover {background:#fff;color:var(--primary-color);}
.report-pdf-viewer-page,.report-pdf-viewer-zoom {font-size:14px;font-weight:600;min-width:4.5rem;text-align:center;opacity:0.95;}
.report-pdf-viewer-sep {width:1px;height:22px;background:rgba(255,255,255,0.35);margin:0 4px;}
.report-pdf-viewer-body {flex:1;position:relative;overflow:auto;background:#2d3d3a;padding:20px;text-align:center;min-height:280px;-webkit-overflow-scrolling:touch;}
.report-pdf-viewer-body canvas {display:block;margin:0 auto;box-shadow:0 8px 32px rgba(0,0,0,0.35);border-radius:4px;background:#fff;max-width:100%;box-sizing:content-box;}
.report-pdf-viewer-loading {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;color:rgba(255,255,255,0.9);font-weight:600;pointer-events:none;}
.report-pdf-viewer-error {max-width:520px;margin:48px auto;padding:16px 18px;border-radius:10px;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.35);color:#fecaca;font-size:14px;line-height:1.55;text-align:left;}
@media (max-width:576px) {.report-pdf-viewer {align-items:flex-start;padding:0;}
.report-pdf-viewer-panel {margin:0;max-width:100%;min-height:100%;min-height:100dvh;border-radius:0;}
.report-pdf-viewer-body {padding:10px 8px;min-height:200px;}
.report-pdf-viewer-toolbar {flex-direction:column;align-items:stretch;}
.report-pdf-viewer-tools {justify-content:center;}
}

/* 证书详情 — 查看证书多图弹窗 */
body.cert-images-modal-open {overflow:hidden;}
.cert-images-modal {position:fixed;inset:0;z-index:1085;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;}
.cert-images-modal[hidden] {display:none !important;}
.cert-images-modal:not([hidden]) {display:flex !important;opacity:0;visibility:hidden;transition:opacity var(--tb-modal-duration) ease,visibility var(--tb-modal-duration) ease;}
.cert-images-modal.tb-modal-show:not([hidden]) {opacity:1;visibility:visible;}
.cert-images-modal-backdrop {position:absolute;inset:0;background:rgba(18,49,46,0.62);backdrop-filter:blur(3px);}
.cert-images-modal-panel {position:relative;z-index:1;width:100%;max-width:min(920px,100%);max-height:min(94vh,920px);background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,0.35);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(9,144,130,0.15);transform:translateY(16px) scale(0.96);opacity:0;transition:transform var(--tb-modal-duration) var(--tb-modal-ease),opacity var(--tb-modal-duration) var(--tb-modal-ease);}
.cert-images-modal.tb-modal-show:not([hidden]) .cert-images-modal-panel {transform:translateY(0) scale(1);opacity:1;}
.cert-images-modal-header {flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));color:#fff;}
.cert-images-modal-title {margin:0;font-size:17px;font-weight:700;letter-spacing:0.02em;}
.cert-images-modal-close {width:40px;height:40px;border:none;border-radius:10px;background:rgba(255,255,255,0.2);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;padding:0;}
.cert-images-modal-close:hover {background:rgba(255,255,255,0.32);color:#fff;}
.cert-images-modal-stage {flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 10px;background:#eef5f3;min-height:220px;overflow:auto;-webkit-overflow-scrolling:touch;}
.cert-images-modal-stage img {max-width:100%;max-height:min(70vh,720px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 6px 24px rgba(9,144,130,0.12);background:#fff;border:1px solid rgba(9,144,130,0.1);}
.cert-images-nav {flex-shrink:0;width:42px;height:42px;border:none;border-radius:10px;background:rgba(9,144,130,0.12);color:var(--primary-dark);font-size:20px;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;border:1px solid rgba(9,144,130,0.2);}
.cert-images-nav:hover:not(:disabled) {background:rgba(9,144,130,0.2);color:var(--primary-dark);}
.cert-images-nav:disabled {opacity:0.35;cursor:not-allowed;}
.cert-images-footer {flex-shrink:0;padding:10px 16px;text-align:center;font-size:14px;font-weight:600;color:var(--text-light);background:linear-gradient(180deg,#f4fbfa,#fff);border-top:1px solid rgba(9,144,130,0.1);}
.cert-detail-dl-row--detail-actions {align-items:center;}
.cert-detail-dl-row--detail-actions dd {display:flex;align-items:center;}
.cert-detail-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.cert-publish-list {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.cert-publish-item {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px 20px;padding:14px 16px;border:1px solid rgba(9,144,130,0.12);border-radius:12px;background:linear-gradient(180deg,rgba(9,144,130,0.04),rgba(255,255,255,0.6));align-items:center;}
.cert-publish-name {font-size:15px;font-weight:600;color:var(--text-dark);line-height:1.5;}
.cert-publish-url {font-size:14px;color:var(--primary-color);text-decoration:none;word-break:break-all;line-height:1.5;border-bottom:1px solid transparent;transition:var(--transition);}
.cert-publish-url:hover {color:var(--primary-dark);border-bottom-color:rgba(9,144,130,0.35);}
.cert-publish-intro {font-size:15px;color:var(--text-dark);line-height:1.65;margin:0 0 14px;}
.cert-publish-colonlist {list-style:none;margin:0;padding:0;border:1px solid rgba(9,144,130,0.12);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,rgba(9,144,130,0.04),#fff);}
.cert-publish-colonlist li {display:flex;flex-wrap:wrap;align-items:baseline;gap:0;padding:14px 16px;border-bottom:1px solid rgba(9,144,130,0.1);}
.cert-publish-colonlist li:last-child {border-bottom:none;}
.cert-publish-colon-name {font-size:15px;font-weight:600;color:var(--text-dark);flex-shrink:0;}
.cert-publish-colon-sep {color:var(--text-light);margin:0;}
.cert-publish-colonlist a {font-size:15px;color:var(--primary-color);text-decoration:none;word-break:break-all;margin-left:2px;}
.cert-publish-colonlist a:hover {text-decoration:underline;color:var(--primary-dark);}
@media (max-width:576px) {
.cert-publish-item {grid-template-columns:1fr;gap:6px;align-items:start;}
.cert-detail-dl-row--detail-actions dd {display:block;}
}
.cert-detail-link-cert {display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fff;background:linear-gradient(135deg,#2d8f5c,#1d6b45);padding:10px 20px;border-radius:10px;box-shadow:0 4px 14px rgba(45,143,92,0.35);transition:var(--transition);border:1px solid rgba(255,255,255,0.12);cursor:pointer;font-family:inherit;font-size:15px;line-height:1.4;}
.cert-detail-link-cert:hover {color:#fff;filter:brightness(1.05);transform:translateY(-1px);}
