:root{--navy:#123a6b;--blue:#1f5fa8;--light:#eef4fb;--line:#d8e1ec;--text:#1d2733;--muted:#6b7785;--green:#2e7d32;--red:#b3261e}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#f7f9fc}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1380px;margin:0 auto;padding:0 18px}
.staging{background:#fff3cd;color:#7a5b00;text-align:center;padding:4px;font-size:12px}
.top{background:var(--navy);color:#fff}.top .wrap{display:flex;align-items:center;justify-content:space-between;height:56px;gap:16px}
.brand{color:#fff;font-weight:600;font-size:17px}.brand .logo{background:#fff;color:var(--navy);border-radius:4px;padding:2px 6px;margin-right:6px;font-weight:800}
.top nav a{color:#dfe9f6;margin-left:16px}.top nav a:hover{color:#fff}.basketlink b{background:#ffb703;color:#222;border-radius:10px;padding:0 7px;margin-left:3px}
main{padding:18px 18px 40px}h1{font-size:24px;margin:6px 0 6px;color:var(--navy)}h2{font-size:17px;color:var(--navy);margin:18px 0 8px}
.lede{color:var(--muted);margin:0 0 14px;max-width:900px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;white-space:nowrap}
.layout{display:grid;grid-template-columns:270px 1fr;gap:18px;align-items:start}
.filters{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;position:sticky;top:8px;max-height:calc(100vh - 16px);overflow:auto}
.filters label{display:block;margin:0 0 8px;font-weight:600;font-size:12px;color:#344}.filters input[type=search],.filters input[type=number],.filters input:not([type]){width:100%;padding:6px;border:1px solid var(--line);border-radius:5px;font-weight:400}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}label.chk{font-weight:400!important;display:flex!important;gap:6px;align-items:center;margin:2px 0!important}
.facet{border:0;border-top:1px solid var(--line);padding:8px 0 4px;margin:6px 0}.facet legend{font-weight:700;font-size:12px;color:var(--navy);padding:0}.facet.long{max-height:210px;overflow:auto}
.facet .n{color:var(--muted);margin-left:auto;font-size:11px}.btns{margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
button{background:var(--blue);color:#fff;border:0;border-radius:5px;padding:7px 12px;cursor:pointer;font-size:13px}button:hover{background:var(--navy)}button.primary{background:var(--green)}button[disabled]{background:#9aa;cursor:not-allowed}
.results{min-width:0}.rhead{margin-bottom:8px}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}
table.grid{border-collapse:collapse;width:100%;background:#fff}.grid th,.grid td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.grid th{background:var(--light);font-size:12px;white-space:nowrap;position:sticky;top:0}.grid th a{color:var(--navy)}.grid tr:hover td{background:#fafcff}.num{text-align:right;white-space:nowrap}
.badge{display:inline-block;background:#e3eefc;color:var(--blue);border-radius:9px;font-size:10px;padding:0 6px;margin-left:5px;vertical-align:middle}.badge.g{background:#e6f4ea;color:var(--green)}.badge.r{background:#fde8e7;color:var(--red)}
.bform{margin:0}.bform button{padding:3px 8px;font-size:12px;white-space:nowrap}.bform button.in{background:var(--green)}
.pager{margin:12px 0;display:flex;gap:6px}.pager a{padding:4px 9px;border:1px solid var(--line);border-radius:4px;background:#fff}.pager a.cur{background:var(--blue);color:#fff}
.crumbs{color:var(--muted)}.dhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.dhead h1{margin:0}.sub{margin:4px 0 0;color:var(--muted)}.pricebox{text-align:right;min-width:180px}.price{font-size:26px;font-weight:700;color:var(--navy)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px;margin-top:14px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px}.card.wide{grid-column:1/-1}
.card h2{margin-top:0}dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:6px 14px;margin:0}dt{color:var(--muted);font-size:12px}dd{margin:0;white-space:normal;overflow-wrap:anywhere}
.flash{background:#e6f4ea;border:1px solid #b7dfc0;padding:8px 12px;border-radius:6px;margin-bottom:12px}.err{background:#fde8e7;border:1px solid #f3b9b4;padding:8px 12px;border-radius:6px;margin:8px 0}.err.big{font-size:15px}
form.quote,form.login{max-width:640px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}form.quote label,form.login label{display:block;margin-bottom:10px;font-weight:600;font-size:12px}
form.quote input,form.quote textarea,form.login input,form.login select{width:100%;padding:7px;border:1px solid var(--line);border-radius:5px;font:inherit;font-weight:400}.hp{position:absolute;left:-5000px}
.tot td{font-weight:700}.warn{color:var(--red)}form.inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:10px 0}form.inline label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:3px}
form.inline input,form.inline select,.bulkbar input,.bulkbar select{padding:5px;border:1px solid var(--line);border-radius:4px}.bulkbar{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
tr.flagged td{background:#fff7e0}tr.unm td{background:#fbfbfb;color:#777}.sticky{position:sticky;bottom:0;background:#f7f9fc;padding:10px 0;border-top:1px solid var(--line)}
textarea.mono{width:100%;font-size:12px}pre{white-space:pre-wrap;font-size:12px}.pin.saved{border-color:var(--green);background:#eef9f0}.pin.bad{border-color:var(--red)}
.foot{border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding:16px 0;background:#fff}
@media(max-width:900px){.layout{grid-template-columns:1fr}.filters{position:static;max-height:none}.top nav a{margin-left:8px;font-size:12px}.dhead{flex-direction:column}.pricebox{text-align:left}}

.pricebox .lead{margin-top:6px;font-weight:600;color:#1f5fa8}
.pricebox .por{font-size:20px;font-weight:700;color:var(--navy)}
/* cbi-inventory build 2026-10-09 phase3 (deployed from box via signed /api/deploy) */

/* sticky "Request a quote (N)" bar */
.quotebar{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:999px;background:var(--navy,#12305a);color:#fff!important;font-weight:700;font-size:16px;text-decoration:none!important;box-shadow:0 6px 20px rgba(0,0,0,.25);white-space:nowrap}
.quotebar:hover{filter:brightness(1.12)}
.quotebar[hidden]{display:none}
.quotebar .qbarrow{font-size:18px}
body.pub{padding-bottom:84px}
@media (max-width:640px){.quotebar{left:12px;right:12px;transform:none;justify-content:center;bottom:max(12px,env(safe-area-inset-bottom));padding:15px 18px;font-size:17px}}
/* order flow */
.pricebox .price{font-size:26px;font-weight:700;color:var(--navy,#12305a)}
.pricebox .origin{margin:6px 0;font-weight:600}
.shiprow td{background:#f7fafc}
.shipnote{margin-top:4px;padding:6px 8px;background:#fff8e6;border:1px solid #f2d48a;border-radius:4px;font-size:13px}
.flow .box{border:1px solid #d8e1ec;border-radius:6px;padding:8px 10px;margin:8px 0}
.flow textarea{width:100%;font:12px Consolas,monospace}
.steps{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:8px 0}
.steps li{font-size:12px;padding:3px 8px;border-radius:999px;background:#eef2f7;color:#5b6b7c}
.steps li.done{background:#dcefe2;color:#1d6b3a}.steps li.cur{background:var(--navy,#12305a);color:#fff;font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.chip{padding:4px 10px;border:1px solid #d8e1ec;border-radius:999px;text-decoration:none}
.ok{color:#15803d;font-weight:600}
.stats{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}.stats>div{flex:1 1 160px;background:#f4f7fb;border:1px solid #dde5ef;border-radius:10px;padding:14px 16px}.stats b{display:block;font-size:1.8em;color:#0b4f8a}
ul.counts{columns:2;padding-left:18px;margin:0}ul.counts li{margin:3px 0;break-inside:avoid}@media(max-width:640px){ul.counts{columns:1}}
form.signup{max-width:640px}form.signup button{margin-top:10px}
.landing{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);grid-template-areas:"stats form";gap:24px;align-items:start}
.land-stats{grid-area:stats;min-width:0}.land-form{grid-area:form}.land-form .card{margin-top:0}
.land-stats .stats{margin-top:0}.land-form form.signup .row2{display:block}
@media(min-width:861px) and (min-height:640px){.land-form{position:sticky;top:16px}}
@media(max-width:860px){.landing{grid-template-columns:1fr;grid-template-areas:"form" "stats"}}
.hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.signup-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:10px;padding:24px;box-shadow:0 4px 16px rgba(18,58,107,.08)}
.signup-card h2{margin:0 0 4px;font-size:20px;color:var(--navy);line-height:1.3}
.signup-card .sc-sub{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.45}
.sc-form{display:flex;flex-direction:column;gap:14px;margin:0}
.sc-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:600;color:var(--text)}
.sc-field input{box-sizing:border-box;width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;font-size:15px;background:#fff;color:var(--text);margin:0}
.sc-field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,95,168,.18)}
.signup-card .sc-btn{width:100%;height:44px;margin-top:4px;font-size:15px;font-weight:600;border-radius:6px;background:var(--blue)}
.signup-card .sc-btn:hover{background:var(--navy)}
.sc-return{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}
.sc-return summary{cursor:pointer;color:var(--blue);list-style:none;text-align:center}.sc-return summary::-webkit-details-marker{display:none}
.sc-return[open] summary{margin-bottom:12px}
.signup-card .sc-btn2{background:#fff;color:var(--blue);border:1px solid var(--blue)}.signup-card .sc-btn2:hover{background:var(--light)}
.sc-note{margin:12px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.sc-err{background:#fdecea;color:var(--red);border-radius:6px;padding:8px 12px;margin:0 0 12px;font-size:13px}
.hp{display:none!important}
.signup-card .sc-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:860px){.land-form{margin-top:8px}.signup-card{padding:20px}}
.bshort,.mbar{display:none}
.top nav.dnav{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}
@media(max-width:760px){
 .top .wrap{height:52px;padding:0 14px;gap:10px}
 .bname,.dnav{display:none!important}.bshort{display:inline;margin-left:8px;font-size:16px;white-space:nowrap}
 .brand{font-size:16px;white-space:nowrap;display:flex;align-items:center}
 .mbar{display:flex;align-items:center;gap:6px}
 .mbasket{display:flex;align-items:center;gap:4px;color:#fff;padding:8px;border-radius:6px}.mbasket:hover{text-decoration:none;background:rgba(255,255,255,.1)}
 .mbasket b{background:#ffb703;color:#222;border-radius:10px;padding:0 7px;font-size:12px;line-height:18px}
 .mnav{position:relative}.mnav summary{list-style:none;cursor:pointer;color:#fff;padding:8px;border-radius:6px;display:flex}.mnav summary::-webkit-details-marker{display:none}.mnav[open] summary{background:rgba(255,255,255,.12)}
 .mmenu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(18,58,107,.18);min-width:210px;padding:6px 0;z-index:50;display:flex;flex-direction:column}
 .mmenu a,.mmenu span{color:var(--text)!important;margin:0!important;padding:10px 16px;font-size:15px;white-space:nowrap}.mmenu a:hover{background:var(--light);text-decoration:none}
 .mmenu #whoami{font-size:12px;color:var(--muted)!important;border-top:1px solid var(--line);order:99}
}
.signup-card .sc-sub2{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.45}
.sc-code{letter-spacing:6px;font-size:20px!important;text-align:center;font-variant-numeric:tabular-nums}
.sc-ok{background:#e8f5ec;color:#1a7f37;border-radius:6px;padding:8px 12px;margin:0 0 12px;font-size:13px}
.sc-links{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.sc-links form{margin:0}
.signup-card .sc-link{background:none;border:0;padding:0;color:var(--blue);font-size:13px;cursor:pointer;height:auto;width:auto}.signup-card .sc-link:hover{text-decoration:underline;background:none}

/* selection-first page */
.agebox{margin:0 0 8px}.agebox select{background:#fff;font-size:13px}.agebox .lbl{display:block;font-weight:600;font-size:12px;color:#344;margin:0 0 4px}.filters .agebox input,.filters .agebox select{width:100%;padding:6px;border:1px solid var(--line);border-radius:5px;font-weight:400}
.selpage{max-width:1240px;margin:0 auto}.selbar{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 0 8px}.seltotal{font-size:1.2rem}.selhint{font-size:13px}
form.filters.selfirst{max-height:none;overflow:visible;width:auto;max-width:none;position:static;border:1px solid #d8e1ec;border-radius:8px;padding:12px 14px;background:#fff;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px 14px;align-items:start}
form.filters.selfirst>.f-q,form.filters.selfirst>.f-dx{grid-column:span 2}
form.filters.selfirst>.f-naive,form.filters.selfirst>.f-matched{grid-column:span 3}
form.filters.selfirst>.f-naive{margin-top:0!important}
form.filters.selfirst label,form.filters.selfirst .agebox{margin-bottom:4px}
form.filters.selfirst fieldset.facet{display:block;min-width:0;margin:2px 0;padding:6px 0 2px;border-top:1px solid var(--line);max-height:178px;overflow:auto}
form.filters.selfirst fieldset.facet label.chk{font-size:12.5px;margin:1px 0!important}
form.filters.selfirst .btns{grid-column:1/-1;margin-top:6px;gap:16px}
form.filters.selfirst .btns button{font-size:1.05rem;padding:9px 28px}
form.filters.selfirst .browseall{font-weight:600}
@media(max-width:1000px){form.filters.selfirst{grid-template-columns:repeat(3,minmax(0,1fr))}form.filters.selfirst>.f-q,form.filters.selfirst>.f-dx{grid-column:span 3}form.filters.selfirst>.f-naive,form.filters.selfirst>.f-matched{grid-column:span 3}}
@media(max-width:640px){form.filters.selfirst{grid-template-columns:1fr 1fr}form.filters.selfirst>.f-q,form.filters.selfirst>.f-dx,form.filters.selfirst>.f-naive,form.filters.selfirst>.f-matched,form.filters.selfirst>.f-age{grid-column:1/-1}form.filters.selfirst fieldset.facet{max-height:150px}}
.pagehead{display:flex;align-items:center;justify-content:space-between;gap:12px}.pagehead h1{margin:6px 0}
a.newsearch{background:var(--blue);color:#fff;border-radius:6px;padding:8px 16px;font-weight:600;font-size:14px;white-space:nowrap}a.newsearch:hover{text-decoration:none;opacity:.9}
p.backrow{margin:0 0 8px}a.backbtn{display:inline-block;background:#fff;border:1px solid var(--blue);color:var(--blue);border-radius:6px;padding:6px 14px;font-weight:600;font-size:14px}a.backbtn:hover{background:var(--blue);color:#fff;text-decoration:none}
/* ===== CBI website look (mirrors capitalbiosciences.com): Montserrat + Open Sans, white header with the CBI logo, grey nav, #475d84 buttons and footer band, #03659f links/accents ===== */
:root{--navy:#475d84;--blue:#03659f;--light:#f2f5ff;--line:#e3e7f0;--text:#333;--muted:#707070;--green:#00a651;--accent:#00aeef}
body{font-family:'Open Sans',Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
h1,h2,h3,h4,legend,th,button,.dnav a,.brand .bshort,.quotebar,a.newsearch,a.backbtn,.foot nav a{font-family:'Montserrat','Open Sans',Arial,sans-serif}
h1,h2,h3{color:#475d84}h1{font-weight:700}
.top{background:#fff;color:#475d84;border-bottom:1px solid var(--line);box-shadow:0 3px 0 #03659f}
.top .wrap{height:auto;min-height:74px;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:0;color:#475d84}.brandlogo{height:40px;width:auto;display:block}
.brand .bshort{display:inline;margin:0 0 0 16px;padding-left:16px;border-left:2px solid #d6dff3;font-size:14px;font-weight:600;color:#475d84;white-space:nowrap}
.top nav a{color:#6f7480;font-weight:600;font-size:13px;margin-left:2px;padding:12px 12px;border-bottom:3px solid transparent}
.top nav a:hover{color:#03659f;text-decoration:none;border-bottom-color:#03659f}
.top .basketlink b{background:#00a651;color:#fff}
button{background:#475d84;border-radius:5px}button:hover{background:#3d5176}button.primary{background:#00a651}button.primary:hover{background:#008a43}
a.newsearch{background:#475d84;border-radius:5px}a.newsearch:hover{background:#3d5176;opacity:1}
a.backbtn{border-color:#475d84;color:#475d84;border-radius:5px}a.backbtn:hover{background:#475d84;color:#fff}
.quotebar{background:#475d84}
th{background:#f2f5ff;color:#475d84}
.pager a.cur{background:#475d84;border-color:#475d84}
.badge{background:#e2e9f4;color:#475d84}
.signup-card{border-top-color:#03659f}.signup-card .sc-btn{background:#475d84}
.foot{background:#475d84;color:#fff;border-top:0;padding:26px 0;font-family:'Open Sans',Arial,sans-serif;font-size:13px}
.foot a{color:#91a3c3}.foot a:hover{color:#fff}.foot .footnav{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 12px}.foot .footnav a{font-size:13px;font-weight:600;color:#bbd3fd}
.mnav summary{color:#475d84}.mnav[open] summary{background:#f2f5ff}
@media(max-width:900px){.top .wrap{min-height:58px}.brandlogo{height:30px}.brand .bshort{margin-left:10px;padding-left:10px;font-size:12px}}
@media(max-width:420px){.brand .bshort{display:none}}
.mbasket{color:#475d84!important}.mbasket:hover{background:#f2f5ff!important}.mbasket b{background:#00a651!important;color:#fff!important}
.foot a,.foot p a{color:#bbd3fd}

/* sample page: Back to results sits ~6 mm lower (Oct 24 2026) */
p.backrow{margin:22px 0 8px}@media(max-width:640px){p.backrow{margin:14px 0 8px}}
