:root {
    --bp-blue: #0a5cff;
    --bp-cyan: #13b7d6;
    --bp-green: #00d76a;
    --bp-navy: #06122e;
    --bp-slate: #516173;
    --bp-soft: #f4fbff;
    --bp-line: #dce8f5;
    --bp-gradient: linear-gradient(135deg, #0a5cff 0%, #13b7d6 48%, #00d76a 100%);
}
* { box-sizing: border-box; }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--bp-navy); background: #fff; }
a { color: var(--bp-blue); text-decoration: none; }
a:hover { color: #0744bf; }
.top-strip { background: var(--bp-navy); }
.bio-navbar .nav-link { font-weight: 650; color: #17213b; margin-inline: .15rem; }
.bio-navbar .nav-link.active, .bio-navbar .nav-link:hover { color: var(--bp-blue); }
.brand-logo { width: 245px; max-height: 64px; object-fit: contain; }
.footer-logo, .hero-logo { width: 235px; max-width: 100%; object-fit: contain; }
.btn-bio { background: var(--bp-gradient); color: #fff; border: 0; box-shadow: 0 12px 28px rgba(10,92,255,.2); }
.btn-bio:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 16px 35px rgba(10,92,255,.28); }
.text-slate { color: var(--bp-slate); }
.bg-soft { background: var(--bp-soft); }
.bg-navy { background: radial-gradient(circle at top left, rgba(19,183,214,.22), transparent 35%), var(--bp-navy); }
.py-lg-6 { padding-block: 6.5rem !important; }
.hero-section { background: linear-gradient(180deg, #fff 0%, #f7fbff 100%); }
.hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 12% 20%, rgba(10,92,255,.14), transparent 24%), radial-gradient(circle at 90% 10%, rgba(0,215,106,.17), transparent 22%), radial-gradient(circle at 75% 85%, rgba(19,183,214,.13), transparent 30%); }
.eyebrow { display: inline-flex; align-items: center; gap: .35rem; color: var(--bp-blue); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; font-size: .75rem; }
.eyebrow.light { color: #7ee6ff; }
.hero-card, .content-card, .summary-card, .feature-card, .product-card, .filter-panel, .coa-panel, .cta-card, .sidebar-card { border: 1px solid var(--bp-line); border-radius: 28px; background: #fff; }
.hero-card { padding: 2rem; }
.lab-card { position: relative; overflow: hidden; }
.lab-card:before { content: ''; position: absolute; width: 220px; height: 220px; right: -60px; top: -60px; background: var(--bp-gradient); opacity: .12; border-radius: 50%; }
.molecule-art { min-height: 210px; border-radius: 24px; background: linear-gradient(135deg, #eef8ff, #f6fff9); position: relative; overflow: hidden; border: 1px solid var(--bp-line); }
.molecule-art:before, .molecule-art:after { content: ''; position: absolute; background: var(--bp-gradient); height: 6px; border-radius: 10px; transform-origin: left; }
.molecule-art:before { width: 170px; left: 100px; top: 90px; transform: rotate(26deg); }
.molecule-art:after { width: 160px; left: 110px; top: 125px; transform: rotate(-31deg); }
.molecule-art span { position: absolute; width: 34px; height: 34px; border-radius: 50%; background: var(--bp-gradient); box-shadow: 0 12px 30px rgba(10,92,255,.18); }
.molecule-art span:nth-child(1) { left: 70px; top: 78px; }
.molecule-art span:nth-child(2) { left: 160px; top: 110px; width: 48px; height: 48px; }
.molecule-art span:nth-child(3) { right: 95px; top: 78px; }
.molecule-art span:nth-child(4) { right: 140px; bottom: 42px; }
.molecule-art span:nth-child(5) { left: 95px; bottom: 48px; }
.mini-panel, .metric-card, .info-tile, .qr-tile { border: 1px solid var(--bp-line); border-radius: 18px; padding: 1rem; background: rgba(255,255,255,.86); }
.mini-panel strong, .mini-panel small, .metric-card span, .metric-card small, .info-tile small, .info-tile strong { display: block; }
.metric-card span { font-size: 1.5rem; font-weight: 900; background: var(--bp-gradient); -webkit-background-clip: text; color: transparent; }
.metric-card small, .info-tile small { color: var(--bp-slate); font-size: .78rem; }
.section-heading h2 { font-weight: 850; max-width: 760px; margin-inline: auto; }
.section-heading p { color: var(--bp-slate); max-width: 650px; margin-inline: auto; }
.feature-card, .content-card, .summary-card, .filter-panel, .product-card, .coa-panel, .cta-card, .sidebar-card { padding: 1.35rem; box-shadow: 0 18px 50px rgba(6,18,46,.06); }
.feature-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(135deg, rgba(10,92,255,.12), rgba(0,215,106,.12)); color: var(--bp-blue); font-size: 1.35rem; margin-bottom: 1rem; }
.feature-card p, .product-card p { color: var(--bp-slate); }
.product-card { display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(6,18,46,.12); }
.product-card h5 a { color: var(--bp-navy); }
.product-visual { height: 150px; border-radius: 22px; background: linear-gradient(135deg, #eef8ff, #f4fff8); display: grid; place-items: center; position: relative; overflow: hidden; }
.vial-shape { width: 72px; height: 110px; border: 5px solid transparent; background: linear-gradient(#fff,#fff) padding-box, var(--bp-gradient) border-box; border-radius: 18px 18px 22px 22px; position: relative; }
.vial-shape:before { content: ''; position: absolute; left: 12px; right: 12px; top: -22px; height: 22px; border: 5px solid var(--bp-blue); border-bottom: 0; border-radius: 10px 10px 0 0; background: #fff; }
.vial-shape span { position: absolute; width: 35px; height: 35px; border-radius: 50%; background: var(--bp-gradient); left: 18px; top: 43px; opacity: .8; }
.status-badge { position: absolute; top: 12px; right: 12px; }
.tag-chip { display: inline-flex; padding: .35rem .65rem; border-radius: 999px; background: #eef7ff; color: #226; font-weight: 650; font-size: .72rem; }
.price { color: var(--bp-navy); font-weight: 900; }
.page-hero { background: radial-gradient(circle at 10% 20%, rgba(10,92,255,.13), transparent 28%), radial-gradient(circle at 86% 25%, rgba(0,215,106,.15), transparent 25%), #f8fcff; border-bottom: 1px solid var(--bp-line); }
.page-hero h1 { font-weight: 900; margin-top: .5rem; }
.page-hero p { color: var(--bp-slate); max-width: 720px; font-size: 1.1rem; }
.compliance-alert { background: #eefbff; border: 1px solid #c8f1fb; color: #10314d; border-radius: 20px; }
.empty-state, .success-panel { padding: 3rem; border: 1px dashed #b8c9dd; border-radius: 28px; background: #fbfdff; }
.product-detail-hero { background: linear-gradient(180deg, #fff, #f8fcff); }
.product-media-large { min-height: 460px; border-radius: 34px; border: 1px solid var(--bp-line); background: radial-gradient(circle at 70% 20%, rgba(0,215,106,.15), transparent 26%), linear-gradient(135deg, #eef8ff, #fff); position: relative; display: grid; place-items: center; overflow: hidden; }
.vial-hero { width: 150px; height: 250px; border: 8px solid transparent; background: linear-gradient(#fff,#fff) padding-box, var(--bp-gradient) border-box; border-radius: 36px 36px 48px 48px; position: relative; box-shadow: 0 30px 80px rgba(10,92,255,.12); }
.vial-hero:before { content: ''; position: absolute; left: 26px; right: 26px; top: -45px; height: 45px; border: 8px solid var(--bp-blue); border-bottom: 0; border-radius: 16px 16px 0 0; background: #fff; }
.vial-hero span { position: absolute; inset: 76px 34px auto; height: 72px; border-radius: 50%; background: var(--bp-gradient); }
.floating-doc { position: absolute; left: 24px; top: 32px; background: #fff; border: 1px solid var(--bp-line); border-radius: 999px; padding: .65rem 1rem; box-shadow: 0 18px 40px rgba(6,18,46,.08); font-weight: 700; }
.floating-doc.two { left: auto; right: 24px; top: auto; bottom: 32px; }
.price-box { border: 1px solid var(--bp-line); border-radius: 22px; padding: 1rem; background: #fff; }
.price-box small { display: block; color: var(--bp-slate); }
.qty-input { width: 82px; }
.doc-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .75rem; border-radius: 999px; background: #eef7ff; color: #18315b; font-weight: 700; font-size: .8rem; }
.info-tile strong { font-size: .95rem; }
.qr-tile { display: flex; gap: .75rem; align-items: center; background: #fff; }
.article-mini, .article-card, .article-row { display: block; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; padding: 1rem; background: rgba(255,255,255,.08); color: #fff; height: 100%; }
.article-mini span, .article-card span, .article-row span { display: block; color: var(--bp-cyan); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .5rem; }
.article-mini strong { display: block; color: #fff; }
.article-mini small { color: rgba(255,255,255,.68); }
.article-card { background: #fff; color: var(--bp-navy); border-color: var(--bp-line); }
.article-card h5, .article-row h5 { color: var(--bp-navy); }
.article-card p, .article-row p { color: var(--bp-slate); margin-bottom: 0; }
.article-row { background: #fff; border-color: var(--bp-line); color: var(--bp-navy); display: flex; justify-content: space-between; gap: 1rem; }
.narrow { max-width: 880px; }
.article-body { font-size: 1.05rem; line-height: 1.8; }
.filter-panel { top: 95px; }
.summary-card { top: 95px; }
.summary-row { display: flex; justify-content: space-between; padding: .85rem 0; border-bottom: 1px solid var(--bp-line); }
.summary-row.total { font-size: 1.15rem; border-bottom: 0; }
.cart-line { display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--bp-line); }
.cart-line:last-child { border-bottom: 0; }
.stepper { display: flex; flex-wrap: wrap; gap: .55rem; }
.stepper span { padding: .5rem .9rem; border-radius: 999px; background: #eef2f7; color: var(--bp-slate); font-weight: 800; font-size: .8rem; }
.stepper .active { background: var(--bp-gradient); color: #fff; }
.stepper .done { background: #eafff3; color: #08753f; }
.attestation-box { display: flex; gap: .5rem; padding: 1rem; border: 1px solid var(--bp-line); border-radius: 18px; margin-bottom: .75rem; background: #fbfdff; cursor: pointer; }
.glossary-term { padding: .8rem 0; border-bottom: 1px solid var(--bp-line); }
.glossary-term strong, .glossary-term span { display: block; }
.glossary-term span { color: var(--bp-slate); }
.clean-list { list-style: none; padding-left: 0; margin-bottom: 0; display: grid; gap: .75rem; }
.clean-list i { color: var(--bp-green); margin-right: .45rem; }
.doc-row { display: block; padding: .75rem 0; border-bottom: 1px solid var(--bp-line); }
.doc-row span, .doc-row small { display: block; }
.order-box { border: 1px solid var(--bp-line); border-radius: 18px; padding: 1rem; background: #fbfdff; }
.order-box strong, .order-box span, .order-box small { display: block; }
.sidebar-card { display: grid; gap: .35rem; }
.sidebar-card a { color: var(--bp-navy); padding: .75rem .9rem; border-radius: 14px; font-weight: 750; }
.sidebar-card a.active, .sidebar-card a:hover { background: #eef7ff; color: var(--bp-blue); }
.admin-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 820px; background: #f5f8fc; }
.admin-sidebar { background: var(--bp-navy); padding: 1.25rem; color: #fff; }
.admin-logo { width: 210px; background: #fff; border-radius: 16px; padding: .25rem; margin-bottom: 1rem; }
.admin-sidebar a { display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.72); padding: .85rem 1rem; border-radius: 16px; font-weight: 750; }
.admin-sidebar a.active, .admin-sidebar a:hover { background: rgba(255,255,255,.1); color: #fff; }
.admin-main { padding: 2rem; }
.admin-topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.admin-topbar h1 { font-weight: 900; margin-bottom: .25rem; }
.admin-topbar p { color: var(--bp-slate); margin-bottom: 0; }
.admin-kpi, .admin-card { background: #fff; border: 1px solid var(--bp-line); border-radius: 24px; padding: 1.25rem; box-shadow: 0 16px 40px rgba(6,18,46,.06); }
.admin-kpi span, .admin-kpi small { display: block; color: var(--bp-slate); }
.admin-kpi strong { display: block; font-size: 2.2rem; line-height: 1; margin: .35rem 0; color: var(--bp-blue); }
.admin-kpi.warning strong { color: #c88700; }
.admin-kpi.success strong { color: #0f9b55; }
.admin-kpi.info strong { color: var(--bp-cyan); }
.rule-item { padding: .85rem 0; border-bottom: 1px solid var(--bp-line); }
.rule-item:last-child { border-bottom: 0; }
.rule-item strong, .rule-item span { display: block; }
.rule-item span { color: var(--bp-slate); }
.progress-row { display: flex; justify-content: space-between; align-items: center; padding: .7rem 0; border-bottom: 1px solid var(--bp-line); }
.site-footer { background: var(--bp-navy); }
.footer-links a, .site-footer a { color: rgba(255,255,255,.68); }
.footer-links a:hover, .site-footer a:hover { color: #fff; }
.footer-icon { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); color: #fff !important; }
@media (max-width: 991.98px) {
    .brand-logo { width: 200px; }
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; }
    .cart-line { grid-template-columns: 1fr; }
    .py-lg-6 { padding-block: 4rem !important; }
}
@media (max-width: 575.98px) {
    .brand-logo { width: 170px; }
    .hero-card, .content-card, .summary-card, .feature-card, .product-card, .filter-panel, .coa-panel, .cta-card { border-radius: 22px; padding: 1rem; }
    .display-4 { font-size: 2.35rem; }
    .product-media-large { min-height: 340px; }
}
