/* Aptos from the user's installed Office fonts for the local laboratory. */
@font-face{font-family:Aptos;src:url('fonts/Aptos.ttf') format('truetype');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Aptos;src:url('fonts/Aptos-SemiBold.ttf') format('truetype');font-style:normal;font-weight:550 650;font-display:swap}
@font-face{font-family:Aptos;src:url('fonts/Aptos-Bold.ttf') format('truetype');font-style:normal;font-weight:700 900;font-display:swap}
:root{--ink:#22314b;--muted:#53627a;--bg:#f5f7fa;--line:#dce3ed;--radius:12px}
body{font-family:Aptos,'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.6}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,h4{font-weight:700;line-height:1.3}
#sidebar{width:272px;padding:30px 18px 20px;overflow-y:auto}
.workspace{margin-left:272px}
.brand img{max-width:215px}
.brand small{font-size:12px;letter-spacing:.16em;margin-top:8px}
.partner-label{font-size:13px;color:var(--muted);margin:30px 14px 12px}
#nav{gap:4px;flex-shrink:0}
.nav-link{font-size:16px;line-height:1.4;padding:13px 14px;min-height:48px;font-weight:600}
.nav-link svg{width:21px;height:21px}
.nav-link .count{font-size:13px;min-width:25px}
.nav-separator{margin:15px 10px}
.sidebar-bottom{padding-top:24px}
.sidebar-bottom p,.sidebar-bottom .nav-link,.identity small{font-size:14px}
.identity strong{font-size:15px;line-height:1.4}
.lab-pill{font-size:12px;letter-spacing:.09em}
.topbar{height:82px;padding:0 40px}
.breadcrumb,.text-button{font-size:15px}
.top-actions{margin-right:224px}
.labbar{padding:12px 40px;font-size:14px}
.labbar strong,.segmented button{font-size:14px}
.segmented button{padding:7px 12px}
main{padding:38px 40px 52px;max-width:1650px}
.page-head{margin-bottom:30px;align-items:flex-start}
.page-head h1{font-size:36px;font-weight:700;line-height:1.2;letter-spacing:-.025em;margin-bottom:12px}
.page-head p{font-size:17px;line-height:1.55}
.overline,.page-head p.overline{font-size:14px;letter-spacing:.09em;margin-bottom:9px;font-weight:600}
.source{font-size:14px;align-self:flex-end}
.button{font-size:16px;min-height:46px;padding:10px 17px;border-color:#c8d3e3;font-weight:600}
.button.small{font-size:14px;min-height:40px;padding:8px 12px}
.toolbar{gap:14px;margin-bottom:22px}
.toolbar label,.table-count{font-size:15px}
input,select,textarea{font-size:16px;line-height:1.5;padding:11px 13px;min-height:46px;border-color:#bdc9db}
.search input{padding-left:42px}
.search svg{top:16px;left:14px}
.hint{font-size:15px;padding:15px 18px;line-height:1.65;margin:20px 0}
.hint.amber{color:#705519}
.panel h2,.section-label h2,.feature-tile h3{font-size:22px;font-weight:700;letter-spacing:-.015em}
.panel-head{padding:26px 26px 20px}
.panel-body{padding:0 26px 26px}
.panel-sub,.metric-foot,.chart-caption,.chart-summary span,.status-row p,.document-note{font-size:15px;line-height:1.6}
.metric{padding:24px}
.metric-top{font-size:16px}
.metric-value{font-size:34px;font-weight:700;letter-spacing:-.025em}
.status-row strong{font-size:17px}
.status-row{padding:20px 0}
table{font-size:16px;font-variant-numeric:tabular-nums}
th{font-size:14px;color:var(--muted);font-weight:600;background:#f4f7fb}
th,td{padding:16px 22px;line-height:1.5}
td strong{font-size:16px}
td small{font-size:14px}
.badge{font-size:14px;padding:5px 10px}
.product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:24px}
.product-card{display:flex;flex-direction:column;border-color:#d7dfeb;transition:box-shadow .15s,border-color .15s}
.product-card:hover{transform:none;border-color:#a5b7d2;box-shadow:0 4px 16px #263c6110}
.product-image{height:220px;padding:24px;flex:none;border-bottom:1px solid #e9edf3}
.product-image .badge{font-size:13px;top:14px;left:14px}
.image-empty{display:grid;place-items:center;color:#7b8da7;width:64px;height:64px;border-radius:14px;background:#f1f4f8}
.image-empty svg{width:34px;height:34px}
.product-copy{padding:21px 22px 23px;display:flex;flex-direction:column;flex:1;min-width:0}
.product-copy .sku{font-size:14px;line-height:1.5;margin-bottom:10px;color:#344e7c}
.product-copy h3{font-size:18px;font-weight:600;line-height:1.45;min-height:3em;overflow-wrap:anywhere}
.product-bottom{margin-top:auto;padding-top:22px;gap:10px}
.product-bottom strong{font-size:25px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}
.product-bottom small{font-size:14px;line-height:1.5;margin-top:5px}
.product-availability{margin-top:5px}
.availability-badge,.product-availability .availability-badge,.availability-legend .availability-badge{font-size:14px;padding:8px 11px;line-height:1.4}
.availability-legend{gap:12px;margin-bottom:24px}
.availability-detail{padding:22px;margin:26px 0}
.availability-detail h3{font-size:16px}
.catalog-freight{margin:24px 0}
.catalog-freight>summary{padding:22px 24px;background:#eef3fa}
.catalog-freight>summary strong{font-size:18px}
.catalog-freight>summary small{font-size:15px;line-height:1.5}
.freight-grid h2,.product-prices>h3,.product-freight>h3,.article-documents-head h3{font-size:22px;font-weight:700}
.product-freight-selection{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:24px;padding:22px;margin:16px 0;background:#f7f9fc;border:1px solid var(--line);border-radius:12px}
.freight-quote .money-total{margin:12px 0 6px;font-size:34px;line-height:1.2}
.freight-notice{font-size:15px;line-height:1.5;margin:12px 0;color:#70500d}
.freight-source-label{font-size:14px;color:var(--muted);margin:16px 0 0}
.freight-country-table{max-height:390px;overflow:auto}
.freight-country-table thead{position:sticky;top:0;z-index:1;background:#f7f9fc}
.pdf-actions{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
#pdf-preview{width:min(1180px,96vw);max-width:96vw;height:92vh;max-height:94vh;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
#pdf-preview::backdrop{background:rgba(18,29,48,.65)}
.pdf-preview-toolbar{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff}
.pdf-preview-heading{flex:1;min-width:0}.pdf-preview-heading small{font-size:13px;color:var(--muted)}
#pdf-preview-title{margin:4px 0 0;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pdf-preview-content{height:calc(100% - 88px);display:flex;flex-direction:column;background:#e9edf3}
#pdf-preview-frame{border:0;display:block;width:100%;flex:1;min-height:0;background:#fff}
.pdf-preview-message{padding:30px;margin:0;font-size:17px}
.pdf-preview-fallback{font-size:13px;line-height:1.4;color:var(--muted);background:#fff;margin:0;padding:10px 18px}
@media(max-width:600px){#pdf-preview{width:98vw;max-width:98vw;height:95vh;border-radius:8px}.pdf-preview-toolbar{padding:12px;flex-wrap:wrap;gap:8px}.pdf-preview-heading{flex-basis:65%}#pdf-preview-title{font-size:16px}.pdf-actions .button{font-size:14px}}
@media(max-width:600px){.product-freight-selection{grid-template-columns:1fr;padding:18px;gap:16px}.freight-quote .money-total{font-size:30px}}
.product-price h4,.catalog-freight .product-price h4{font-size:16px;line-height:1.5}
.product-price strong{font-size:32px;letter-spacing:-.02em;font-weight:700}
.product-price p,.product-freight dt,.product-freight-zones dt{font-size:15px}
.product-price,.product-freight-countries>div{padding:23px}
.product-freight dd{font-size:29px}
.product-freight-zones dd{font-size:17px}
.freight-detail-note,.freight-sources>summary{font-size:14px}
.detail-title{font-size:30px;line-height:1.25;letter-spacing:-.02em}
.detail-meta{font-size:16px;line-height:1.55}
.detail-layout{grid-template-columns:240px minmax(0,1fr);gap:30px}
.detail-layout img{max-height:260px}
.detail-stat{font-size:16px;padding:20px}
.detail-stat strong{font-size:24px}
.detail-footer{flex-wrap:wrap;gap:12px}
.dialog-top{padding:20px 28px;font-size:13px;letter-spacing:.07em}
#dialog-body{padding:28px 30px 32px}
dialog{width:min(940px,calc(100vw - 36px));border-radius:14px}
.icon-button{min-width:40px;min-height:40px}
.field label{font-size:16px}
.field small,.document-count,.document-unavailable,.document-download-status{font-size:14px}
.article-document-info strong{font-size:16px}
.article-document-info>span,.article-document-info small{font-size:14px}
.document-empty,.document-error{font-size:16px;line-height:1.6}
.article-document-actions .button,.article-document-actions .text-button{font-size:14px}
.feature-tile{padding:28px}
.feature-tile p,.media-connection p,.media-folder-link{font-size:16px}
.media-tile .media-folder-path,.media-tile .media-pending p{font-size:14px}
.review-row strong,.shipment-facts strong{font-size:17px}
.review-row p,.shipment-facts>div>span,.tracking-parcel small{font-size:15px}
.review-row{padding:21px 0}
.shipment-number{font-size:21px}
.tracking-link{font-size:15px}
.timeline p,.timeline strong{font-size:16px}
.upload-zone strong{font-size:17px}
.upload-zone p,.upload-privacy,.attachment-info small{font-size:14px}
.attachment-info strong,.upload-picker{font-size:16px}
.portal-login-card{border-radius:16px;box-shadow:0 8px 32px #2438520a}
.portal-login-card h1{font-size:32px}
.portal-login-card .login-help,.portal-login-card .overline{font-size:15px}
.portal-login-card>p{color:var(--muted)}
footer{font-size:13px;color:var(--muted);line-height:1.6}
body>.language-control{top:20px;right:28px}
.language-control{font-size:14px}
.language-control select{height:40px;min-height:40px;min-width:128px;font-size:14px}
@media(max-width:1200px){#sidebar{width:248px}.workspace{margin-left:248px}main{padding:32px 28px}.topbar,.labbar{padding-left:28px;padding-right:28px}.metric{padding:20px}.metric-value{font-size:30px}.nav-link{font-size:15px;padding:12px}.product-grid{gap:20px}.page-head h1{font-size:32px}}
@media(max-width:960px){.page-head{display:block}.page-head .source{margin-top:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-copy{padding:18px}.product-image{height:190px}.product-copy h3{font-size:17px}.product-bottom strong{font-size:23px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.product-price-grid{gap:14px}}
@media(max-width:740px){#sidebar{width:272px}.workspace{margin-left:0}.topbar{height:74px;padding:0 18px}.breadcrumb{font-size:14px;max-width:calc(100vw - 205px)}body>.language-control{top:17px;right:14px}.labbar{padding:12px 18px;font-size:13px}.segmented button{font-size:13px;padding:7px 9px}main{padding:28px 18px 38px}.page-head h1{font-size:30px}.page-head p{font-size:16px}.product-grid{gap:16px}.product-copy h3{font-size:18px}.product-image{height:190px}.product-bottom{display:flex}.toolbar .button{font-size:15px}.panel-head{padding:22px 20px 18px}.panel-body{padding:0 20px 22px}.detail-layout{grid-template-columns:1fr;gap:22px}.detail-layout img{max-height:230px}.detail-title{font-size:27px}#dialog-body{padding:24px 20px}.dialog-top{padding:14px 18px}.metric-value{font-size:29px}.metric-foot{font-size:14px}.review-row{flex-wrap:wrap}.review-row>div{flex:1;min-width:180px}.review-row .badge{margin-left:44px}.product-freight-zones{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.product-grid{grid-template-columns:1fr}.product-image{height:230px}.product-copy{padding:22px}.product-copy h3{min-height:0;font-size:20px}.product-bottom strong{font-size:26px}.page-head h1{font-size:28px}.metrics{grid-template-columns:1fr}.metric-icon{display:grid}.metric-top{font-size:16px}.product-price-grid{grid-template-columns:1fr}.product-freight-countries{grid-template-columns:1fr}.article-document-actions{flex-wrap:wrap}.product-price h4{font-size:16px}.toolbar select,.toolbar .button{min-height:46px}.portal-login-card{padding:28px 22px}.portal-login-card h1{font-size:28px}}
@media print{body{font-family:Aptos,Arial,sans-serif;font-size:12pt}.workspace{margin:0}main{padding:0}.product-card{break-inside:avoid}}

/* Website categories: calm image cards, persistent counts and clear selection. */
.catalog-navigation{margin:0 0 32px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.catalog-navigation-head,.category-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.catalog-navigation-head h2{font-size:25px;letter-spacing:-.015em;margin:0 0 5px}
.catalog-navigation-head p{color:var(--muted);font-size:16px;margin:0}
.catalog-navigation-head>.text-button{flex-shrink:0;min-height:44px}
.catalog-groups,.category-more{display:flex;flex-wrap:wrap;gap:9px}
.catalog-groups{margin:22px 0 0;padding-bottom:18px;border-bottom:1px solid var(--line)}
.category-chip{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 13px;min-height:43px;border:1px solid #d4dfec;border-radius:8px;background:#fff;color:var(--ink);font-size:15px;line-height:1.4;text-align:left}
.category-chip span{font-size:13px;color:var(--muted);background:#eef2f7;border-radius:5px;min-width:23px;text-align:center;padding:1px 4px}
.category-chip.active{background:#405a8a;border-color:#405a8a;color:white}
.category-chip.active span{background:#ffffff20;color:white}
.category-chip:hover{border-color:#405a8a}
.category-section{margin-top:24px}
.category-section-head{margin-bottom:16px}
.category-section-head h3{font-size:21px;margin:0;letter-spacing:-.01em}
.category-section-head>.category-chip{font-size:14px;border:0;background:#f4f7fb}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.category-tile{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;text-align:left;color:#22314b;transition:border-color .15s,box-shadow .15s}
.tone-peach{background:#fbe3dc}.tone-blue{background:#d9e9ee}.tone-sand{background:#f7e3c9}.tone-green{background:#dceee4}
.category-tile:hover{border-color:#405a8a;box-shadow:0 3px 12px #22314b12}
.category-art{height:148px;display:flex;justify-content:center;align-items:center;padding:16px 18px 4px}
.category-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.category-art svg{width:60px;height:60px;opacity:.5}
.category-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 16px 18px;flex:1}
.category-caption strong{display:block;font-size:16px;font-weight:600;line-height:1.3}
.category-caption small{display:block;font-size:14px;margin-top:6px;color:#445570}
.category-arrow{font-size:25px;font-weight:400;flex:none}
.category-more{margin-top:14px}
.category-more .category-chip{font-size:14px;background:#f8fafc}
.selected-category{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;font-size:20px}
.category-tile:focus-visible,.category-chip:focus-visible{outline:3px solid #405a8a;outline-offset:3px}
@media(max-width:1200px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-navigation{padding:22px}.category-art{height:140px}}
@media(max-width:960px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-navigation-head{align-items:flex-start;flex-wrap:wrap}.category-section-head h3{font-size:20px}}
@media(max-width:520px){.catalog-navigation{padding:18px 14px;margin-bottom:26px}.catalog-navigation-head h2{font-size:23px}.catalog-navigation-head p{font-size:15px}.catalog-navigation-head{gap:10px}.category-grid{gap:10px}.category-art{height:112px;padding:12px 10px 0}.category-caption{padding:12px 10px;gap:4px}.category-caption strong{font-size:15px}.category-caption small{font-size:13px}.category-arrow{font-size:21px}.category-section-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.category-section-head h3{font-size:20px}.category-chip{font-size:14px;padding:8px 10px}.category-more .category-chip{font-size:14px}.selected-category{font-size:18px;flex-wrap:wrap}}

.category-section-head>.category-chip.active,.category-more .category-chip.active{background:#405a8a;color:#fff}
@media(max-width:740px){.topbar .breadcrumb{max-width:calc(100vw - 260px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.topbar{position:sticky;top:0;z-index:24;background:#fff}
@media(max-width:740px){body.menu-open>.language-control{visibility:hidden}}

/* Local PDF.js preview with page controls and readable fit-to-width pages. */
#pdf-preview[open]{display:flex;flex-direction:column}
.pdf-preview-toolbar{flex-shrink:0}
#pdf-preview-content{height:auto;min-height:0;flex:1}
.pdf-page-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;background:#f5f7fb;border-bottom:1px solid var(--line);flex-shrink:0}
.pdf-page-controls label{display:flex;gap:8px;align-items:center;font-size:14px}
.pdf-page-controls input{width:60px;min-height:36px;padding:5px;border:1px solid var(--line);border-radius:5px}
.pdf-page-count{font-size:14px;margin-right:auto;color:var(--muted)}
.pdf-page-viewport{flex:1;min-height:0;overflow:auto;padding:20px;position:relative;text-align:center;overscroll-behavior:contain}
.pdf-page-viewport canvas{display:block;margin:0 auto;box-shadow:0 2px 9px #24334c20;background:#fff}
.pdf-page-status{flex-shrink:0;padding:12px 18px;margin:0;font-size:15px;background:#fff}.pdf-page-status:empty{display:none}
.pdf-page-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.pdf-page-controls{padding:8px;gap:6px}.pdf-page-controls .button{font-size:12px;padding:6px 8px}.pdf-page-viewport{padding:12px}}

/* The availability legend doubles as an accessible, single-choice filter. */
.availability-summary{display:inline-flex;align-items:flex-start;flex-direction:column;gap:7px;max-width:100%}
.availability-filter{border:2px solid transparent;cursor:pointer;min-height:44px;transition:border-color .15s,box-shadow .15s}
.availability-filter:hover{border-color:currentColor}
.availability-filter.selected{border-color:currentColor;box-shadow:0 0 0 2px #fff inset}
.availability-filter.selected::after{content:'✓';font-weight:700;margin-left:4px}
.availability-filter:focus-visible{outline:3px solid #405a8a;outline-offset:3px}
.availability-reset{min-height:44px}
.availability-date{display:block;color:#334f7e;font-size:15px;font-weight:650;line-height:1.5}
.product-availability .availability-date{font-size:14px}

.availability-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.8em;padding:1px 7px;border-radius:6px;background:rgba(255,255,255,.7);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4}
.catalog-country{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 28px;padding:22px 24px;border:1px solid #cbd8ed;border-left:5px solid var(--brand-blue);border-radius:12px;background:#edf2fa}
.catalog-country h2{margin:0 0 7px;font-size:22px;line-height:1.3}
.catalog-country p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.catalog-country .field{flex:0 0 280px;margin:0}
.catalog-country select{min-height:48px;background:#fff;font-size:17px}
.product-prices .pricing-country-label{margin:-5px 0 16px;font-size:16px;line-height:1.5;color:var(--muted)}
@media(max-width:740px){.catalog-country{align-items:stretch;flex-direction:column;gap:16px;padding:20px}.catalog-country .field{flex:auto}.catalog-country h2{font-size:20px}}
