:root { --navy:#071a3b; --ink:#091b3e; --sage:#5d8759; --sage-dark:#41683f; --pale:#f6f8fb; --line:#dfe5eb; }
html { scroll-behavior:smooth; }
body { min-height:100vh; display:flex; flex-direction:column; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; } .site-nav { background:#fff; border-bottom:1px solid #e7eaf0; } .site-nav .nav-link { color:var(--ink); font-size:.88rem; font-weight:500; } .nav-icon { font-size:1.3rem!important; position:relative; } .cart-count { align-items:center; background:var(--sage); border-radius:50%; color:white; display:inline-flex; font-size:.58rem; height:15px; justify-content:center; position:absolute; right:-9px; top:0; width:15px; }
.navbar-toggler { min-height:44px; min-width:44px; }
.navbar-toggler:focus-visible { box-shadow:0 0 0 3px rgba(93,135,89,.2); outline:2px solid var(--sage); outline-offset:2px; }
@media (max-width:991.98px) { .site-nav .navbar-collapse.show { display:block; }.site-nav .navbar-collapse { border-top:1px solid #e7eaf0; margin-top:.85rem; padding-top:.65rem; width:100%; }.site-nav .navbar-nav { gap:.1rem; }.site-nav .nav-link { border-radius:.35rem; padding:.7rem .45rem; }.site-nav .nav-link:hover,.site-nav .nav-link:focus-visible { background:#edf4ec; color:var(--sage-dark); } }
.brand-lockup { align-items:center; display:flex; font-size:1.2rem; font-weight:700; gap:.55rem; letter-spacing:.18em; line-height:1; } .brand-lockup small { color:var(--sage); display:block; font-size:.55rem; letter-spacing:.5em; margin-top:.25rem; } .brand-mark { color:var(--sage); font-size:2.4rem; font-style:italic; letter-spacing:-.42em; transform:skew(-13deg); }
.btn-primary { --bs-btn-bg:var(--sage); --bs-btn-border-color:var(--sage); --bs-btn-hover-bg:#456d42; --bs-btn-hover-border-color:#456d42; font-size:.78rem; font-weight:700; padding:.8rem 1.3rem; text-transform:uppercase; } .btn-outline-primary { --bs-btn-color:var(--sage); --bs-btn-border-color:var(--sage); --bs-btn-hover-bg:var(--sage); --bs-btn-hover-border-color:var(--sage); font-size:.78rem; font-weight:700; padding:.8rem 1.3rem; text-transform:uppercase; }
.hero-section { background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.14) 100%),url('../images/laboratory-hero.png'); background-position:center; background-size:cover; min-height:540px; } .hero-content { padding-bottom:2.5rem; padding-top:1.5rem; } .account-card { background:rgba(255,255,255,.98); border:1px solid rgba(255,255,255,.7); border-radius:.75rem; box-shadow:0 18px 45px rgba(2,16,42,.18); margin-top:1rem; padding:2rem; } .form-kicker { color:var(--sage)!important; font-size:.67rem!important; font-weight:750; letter-spacing:.12em; margin-bottom:.4rem; text-transform:uppercase; }.account-card h2 { font-size:1.7rem; font-weight:750; letter-spacing:-.025em; } .account-card > p { color:#526076; font-size:.86rem; } .input-group { border:1px solid #dbe0e7; border-radius:.35rem; display:flex; margin:12px 0; padding:.75rem; transition:border-color .2s,box-shadow .2s; } .input-group:focus-within { border-color:var(--sage); box-shadow:0 0 0 3px rgba(93,135,89,.12); }.input-group i { color:#798293; } .input-group input { border:0; font-size:.84rem; margin-left:.8rem; outline:0; width:100%; } .terms { display:flex; font-size:.72rem; gap:.55rem; margin:1.1rem 0; } .terms input { accent-color:var(--sage); height:16px; min-width:16px; } .terms a,.signin-link a { color:var(--sage); } .signin-link { margin:1.3rem 0 0!important; text-align:center; }.form-feedback { color:#a52a2a!important; font-size:.72rem!important; margin:-.45rem 0 .7rem; min-height:1em; }
.hero-copy { margin:3rem 0 1rem 4rem; max-width:570px; } .eyebrow,.section-kicker { color:var(--sage); font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; } .eyebrow:before { content:'—'; margin-right:.5rem; } .hero-copy h1 { font-size:clamp(2.7rem,4.5vw,4.5rem); font-weight:780; letter-spacing:-.055em; line-height:.98; } .hero-lead { color:#465269; font-size:1.02rem; line-height:1.65; max-width:500px; } .hero-actions { display:flex; flex-wrap:wrap; gap:.7rem; }.trust-row { display:flex; margin:2rem 0 2.2rem; } .trust-row > div { border-right:1px solid #ccd3dc; display:flex; flex-direction:column; font-size:.68rem; min-width:105px; padding:0 .8rem; text-align:center; } .trust-row > div:first-child { padding-left:0; } .trust-row > div:last-child { border:0; } .trust-row i { font-size:1.7rem; margin-bottom:.4rem; } .trust-row span { color:#505b6f; }
.benefit-bar { background:#fff; padding:1.8rem 0; } .benefit-bar .col-md-3 { align-items:center; display:flex; gap:1rem; } .benefit-bar .bi { background:#f1f4f6; border-radius:50%; color:var(--ink); display:grid; font-size:1.6rem; height:54px; min-width:54px; place-items:center; } .benefit-bar b,.benefit-bar span { display:block; font-size:.78rem; } .benefit-bar span { color:#3e4a60; margin-top:.25rem; }
.quality-section { background:#fff; padding:1rem 0 3rem; }.quality-panel { align-items:center; background:linear-gradient(125deg,var(--navy),#153761); border-radius:.8rem; color:white; display:grid; gap:2rem; grid-template-columns:1.05fr 1.15fr auto; padding:2.25rem 2.5rem; }.quality-panel h2 { font-size:clamp(1.5rem,2.5vw,2.25rem); letter-spacing:-.035em; margin:0; }.quality-panel p { color:#dfe7f2; font-size:.83rem; line-height:1.7; margin:0; }.quality-panel .section-kicker { color:#a5caa1; margin-bottom:.4rem; }.quality-panel .btn { color:var(--navy); font-size:.7rem; font-weight:750; white-space:nowrap; }
.catalog-section,.featured-section { background:linear-gradient(#fafbfd,#f4f6f9); padding:2.7rem 0; text-align:center; } .catalog-section h2,.featured-section h2 { font-size:1.6rem; font-weight:700; } .category-card { align-items:center; background:white; border:1px solid #e0e4e9; border-radius:.5rem; display:flex; gap:1rem; height:100%; padding:1.35rem; text-align:left; text-decoration:none; } .category-card > i { align-items:center; background:var(--navy); border-radius:50%; color:white; display:flex; font-size:1.4rem; height:56px; justify-content:center; min-width:56px; } .category-card:nth-child(even) > i { background:var(--sage); } .category-card b,.category-card small,.category-card em { display:block; } .category-card b { font-size:.88rem; } .category-card small { font-size:.7rem; line-height:1.45; margin:.45rem 0; } .category-card em { color:var(--sage); font-size:.68rem; font-style:normal; font-weight:700; text-transform:uppercase; }.featured-section { background:white; }.product-card { border:1px solid #e0e4e9; border-radius:.55rem; display:flex; gap:.8rem; min-height:150px; padding:1rem; text-align:left; text-decoration:none; }.product-card > span:last-child { font-size:.85rem; padding-top:.35rem; }.product-card small { color:#506078; display:block; font-size:.7rem; line-height:1.8; margin-top:.25rem; }
.vial { background:linear-gradient(90deg,#e4e6e8,#fff 45%,#d2d5d8); border:1px solid #c4c6c7; border-radius:12px 12px 18px 18px; display:block; height:112px; margin:20px auto 0; position:relative; width:62px; }.vial:before { background:var(--navy); border-radius:5px 5px 0 0; content:''; height:18px; left:-4px; position:absolute; top:-15px; width:68px; }.vial i { border-top:5px solid #999; display:block; margin-top:22px; }.vial b { color:var(--sage); display:block; font-size:1.5rem; margin-top:10px; text-align:center; }.vial small { color:var(--ink); display:block; font-size:.35rem!important; line-height:1.1!important; padding:0 4px; text-align:center; }
.newsletter { background:#f1f5fb; padding:1.25rem 0; }.newsletter b,.newsletter span { display:block; }.newsletter b { font-size:.8rem; }.newsletter b i { background:white; border-radius:50%; color:var(--navy); margin-right:.7rem; padding:.5rem; }.newsletter span { font-size:.7rem; margin:.3rem 0 0 2.5rem; }.newsletter-form { display:flex; max-width:420px; width:100%; }.newsletter-form input { border:1px solid #ccd4df; border-radius:.25rem 0 0 .25rem; font-size:.75rem; padding:.75rem; width:100%; }.newsletter-form .btn { border-radius:0 .25rem .25rem 0; white-space:nowrap; }.site-footer { background:#fff; padding:2rem 0 0; }.site-footer p { font-size:.75rem; line-height:1.6; margin-top:1rem; }.site-footer b,.site-footer a,.site-footer span { display:block; font-size:.7rem; margin-bottom:.55rem; }.site-footer b { margin-bottom:.8rem; }.site-footer a { text-decoration:none; }.footer-bottom { background:var(--navy); color:#fff; font-size:.67rem; margin-top:1.5rem; padding:.8rem 0; }
.product-page { padding:1.2rem 0 3.5rem; }.breadcrumbs { color:#4e5c72; font-size:.68rem; }.breadcrumbs i { font-size:.55rem; margin:0 .65rem; }.product-showcase { align-items:center; background:#f5f7fa; display:flex; justify-content:center; min-height:450px; }.vial-large { height:310px; margin:0; width:170px; }.vial-large:before { height:42px; left:-10px; top:-35px; width:188px; }.vial-large i { border-top-width:12px; margin-top:55px; }.vial-large b { font-size:3.7rem; margin-top:34px; }.vial-large small { font-size:.64rem!important; line-height:1.4!important; padding:0 12px; }.vial-large strong { font-size:1.3rem; }.badge-category { background:#6c936b; border-radius:20px; color:white; display:inline-block; font-size:.58rem; font-weight:700; padding:.25rem .6rem; text-transform:uppercase; }.product-page h1 { font-size:2.4rem; font-weight:750; letter-spacing:-.05em; margin:.5rem 0 0; }.product-page h2 { color:#3f7343; font-size:1.2rem; font-weight:700; }.research-only { font-size:.74rem; font-weight:700; }.rating { color:var(--sage); font-size:.78rem; }.rating span { color:var(--ink); margin-left:.4rem; }.product-description { font-size:.78rem; line-height:1.7; max-width:550px; }.product-trust { border-bottom:1px solid #dce2e8; padding-bottom:1.5rem; }.purchase-row { display:flex; justify-content:space-between; margin:1.4rem 0; }.purchase-row b { font-size:.68rem; margin-right:1rem; text-transform:uppercase; }.choice,.quantity button,.quantity span { background:white; border:1px solid #d5dce4; font-size:.72rem; padding:.45rem .75rem; }.choice.selected { border-color:var(--sage); color:#315d30; }.quantity { display:inline-flex; }.quantity button { padding:0 .65rem; }.stock { font-size:.7rem; }.stock i { color:var(--sage); }.stock span { color:#526076; margin-left:1rem; }.spec-card,.detail-card { border:1px solid #dfe4e9; border-radius:.4rem; padding:1.2rem; }.spec-card h2 { color:var(--ink); font-size:.75rem; text-transform:uppercase; }.spec-card dl { font-size:.68rem; }.spec-card dt { clear:left; float:left; font-weight:500; margin:0; padding:.48rem 0; }.spec-card dd { border-bottom:1px solid #e7ebee; margin:0; padding:.48rem 0; text-align:right; }.detail-card { font-size:.73rem; line-height:1.6; }.detail-card nav { border-bottom:1px solid #dfe4e9; display:flex; justify-content:space-between; margin:-1.2rem -1.2rem 1.2rem; }.detail-card nav button { background:transparent; border:0; color:var(--ink); cursor:pointer; font-size:.67rem; font-weight:600; padding:1rem; text-transform:uppercase; }.detail-card nav .active { border-bottom:2px solid var(--sage); color:var(--sage); }.detail-card nav button:focus-visible { box-shadow:inset 0 0 0 2px var(--sage); outline:0; }.detail-card [role="tabpanel"] { min-height:190px; }.detail-card [role="tabpanel"][hidden] { display:none; }.detail-card ul { list-style:none; padding-left:0; }.detail-card li:before { color:var(--sage); content:'✓'; font-weight:700; margin-right:.65rem; }.detail-card aside { align-items:flex-start; background:#f1f4f8; border-radius:.4rem; display:flex; font-size:.7rem; line-height:1.7; padding:1rem; }.detail-card aside i { color:#a06d1f; flex:0 0 auto; margin-right:.65rem; }
.catalog-page { background:linear-gradient(#fafbfd,#f4f6f9); min-height:65vh; padding:1.4rem 0 4rem; text-align:center; }.catalog-page h1 { font-size:2.2rem; font-weight:750; letter-spacing:-.04em; }.catalog-intro { color:#526076; font-size:.9rem; margin:auto; max-width:530px; }.catalog-product { background:white; border:1px solid #e0e4e9; border-radius:.55rem; height:100%; padding:1.2rem; text-align:center; }.catalog-product .vial { margin-bottom:1.3rem; }.catalog-product h2 { font-size:1rem; font-weight:700; margin:.2rem 0; }.catalog-product p { color:#496a48; font-size:.78rem; font-weight:600; margin-bottom:.2rem; }.catalog-product > small { color:#536177; font-size:.68rem; }.catalog-category { color:var(--sage)!important; font-size:.63rem!important; margin:0!important; text-transform:uppercase; }
.product-price { color:var(--ink); display:block; font-size:.88rem; margin-top:.45rem; }.product-card .product-price { margin-top:.5rem; }.provisional-note { color:#667187; font-size:.7rem; margin:0 auto; }.detail-price { color:var(--ink); font-size:1.2rem; font-weight:750; margin:.1rem 0 .4rem; }.detail-price small { color:#667187; font-size:.65rem; font-weight:500; margin-left:.4rem; }
.site-toast { background:var(--navy); border-radius:.4rem; bottom:1.25rem; color:#fff; font-size:.8rem; left:50%; opacity:0; padding:.85rem 1.1rem; pointer-events:none; position:fixed; transform:translate(-50%,20px); transition:.25s; z-index:1050; }.site-toast.is-visible { opacity:1; transform:translate(-50%,0); }
.account-email { color:#526076!important; font-size:.7rem!important; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.auth-page { background:linear-gradient(135deg,#f6f8fb,#eef3f7); min-height:65vh; padding:4rem 0; }.auth-shell { background:#fff; border:1px solid var(--line); border-radius:.75rem; box-shadow:0 16px 40px rgba(7,26,59,.1); margin:auto; max-width:470px; padding:2.3rem; }.auth-shell h1 { font-size:2rem; font-weight:760; letter-spacing:-.04em; }.auth-shell > p { color:#526076; font-size:.84rem; line-height:1.6; }.auth-shell form > label:not(.terms) { display:block; font-size:.72rem; font-weight:700; margin:1rem 0; text-transform:uppercase; }.auth-shell form > label:not(.terms) input { border:1px solid #dbe0e7; border-radius:.35rem; display:block; font-size:.86rem; margin-top:.4rem; outline:0; padding:.8rem; text-transform:none; width:100%; }.auth-shell form > label:not(.terms) input:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(93,135,89,.12); }.auth-alert,.auth-notice { border-radius:.35rem; font-size:.78rem; margin:1rem 0; padding:.8rem; }.auth-alert { background:#fff0f0; color:#8d2525; }.auth-notice { background:#edf4ec; color:#315d30; }.auth-switch { font-size:.78rem!important; margin:1.2rem 0 0; text-align:center; }.auth-switch a { color:var(--sage); font-weight:700; }
.catalog-lock { background:#f6f8fb; border:1px solid var(--line); border-radius:.75rem; margin:1.5rem auto 0; max-width:650px; padding:2.3rem; }.catalog-lock > i { color:var(--sage); font-size:2rem; }.catalog-lock h3 { font-size:1.2rem; margin:.7rem 0; }.catalog-lock p { color:#526076; font-size:.85rem; }.catalog-lock .btn { margin:.35rem; }.admin-panel { border:1px solid var(--line); border-radius:.65rem; margin-top:1.5rem; padding:1.4rem; }.admin-panel h2 { font-size:1.2rem; }.admin-panel h2 span { background:var(--sage); border-radius:2rem; color:#fff; font-size:.7rem; padding:.25rem .55rem; }
.setup-key { background:#f6f8fb; border:1px solid var(--line); border-radius:.45rem; display:grid; gap:.4rem; margin:1rem 0; padding:1rem; }.setup-key span { color:#667187; font-size:.68rem; font-weight:700; text-transform:uppercase; }.setup-key code { color:var(--navy); font-size:.8rem; overflow-wrap:anywhere; }.recovery-codes { display:grid; gap:.4rem; grid-template-columns:repeat(2,1fr); margin-top:.8rem; }.recovery-codes code { background:#fff; border:1px solid #cbd9c9; border-radius:.25rem; color:#173047; padding:.35rem; text-align:center; }
.totp-qr-wrap { align-items:center; background:#fff; border:1px solid var(--line); border-radius:.6rem; display:flex; flex-direction:column; margin:1rem 0; padding:1.25rem; text-align:center; }.totp-qr { background:#fff; min-height:220px; min-width:220px; padding:0; }.totp-qr img,.totp-qr canvas { display:block; height:auto!important; max-width:100%; }.totp-qr-wrap p,.account-sign-out p { color:#667187; font-size:.76rem; margin:.8rem 0 0; }.account-sign-out h2 { font-size:1.2rem; }.account-sign-out p { margin:.35rem 0 1rem; }.sign-out-link { align-items:center; display:flex!important; white-space:nowrap; }
.account-page,.checkout-page { background:linear-gradient(135deg,#f6f8fb,#eef3f7); min-height:70vh; padding:3rem 0 4rem; }.account-heading { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:1.5rem; }.account-heading h1,.checkout-page h1 { font-size:2.4rem; font-weight:760; letter-spacing:-.045em; }.account-heading p { color:#5d687a; margin-bottom:0; }.security-summary { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }.status-pill { border-radius:2rem; font-size:.72rem; font-weight:700; padding:.5rem .75rem; }.status-pill i { margin-right:.35rem; }.status-pill.is-good { background:#e7f3e5; color:#315d30; }.status-pill.is-warning { background:#fff4dc; color:#77551b; }.account-section,.checkout-card { background:#fff; border:1px solid var(--line); border-radius:.75rem; box-shadow:0 10px 28px rgba(7,26,59,.06); margin-bottom:1.5rem; padding:1.6rem; }.account-section-title { align-items:center; display:flex; gap:.8rem; margin-bottom:1rem; }.account-section-title > i { align-items:center; background:#edf4ec; border-radius:50%; color:var(--sage-dark); display:flex; font-size:1.15rem; height:42px; justify-content:center; min-width:42px; }.account-section h2,.checkout-card h2 { font-size:1.2rem; margin:0; }.account-section-title p,.checkout-card > p { color:#667187; font-size:.78rem; margin:.25rem 0 0; }.account-section label,.checkout-card label,.admin-panel form label { display:block; font-size:.7rem; font-weight:700; margin-bottom:.8rem; text-transform:uppercase; }.account-section input,.account-section select,.checkout-card input,.admin-panel form input,.admin-panel form select { background:#fff; border:1px solid #dbe0e7; border-radius:.35rem; display:block; font-size:.84rem; margin-top:.35rem; padding:.75rem; text-transform:none; width:100%; }.account-section input:focus,.checkout-card input:focus,.admin-panel form input:focus,.admin-panel form select:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(93,135,89,.12); outline:0; }.account-form-grid { display:grid; gap:0 1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }.address-columns { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:1rem 0; }.address-columns fieldset { border:1px solid var(--line); border-radius:.5rem; padding:1rem; }.address-columns legend { float:none; font-size:.88rem; font-weight:750; padding:0 .35rem; width:auto; }.account-checkbox { align-items:center; display:flex!important; gap:.55rem; text-transform:none!important; }.account-checkbox input { display:inline-block; margin:0; padding:0; width:auto; }.account-checkbox span { font-size:.75rem; }.admin-users-table td { min-width:180px; }.admin-users-table small { display:block; font-size:.69rem; margin:.25rem 0; }.checkout-product { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:1rem 0; }.checkout-product span { color:#667187; display:block; font-size:.75rem; }.checkout-note { background:#f1f4f8; border-radius:.4rem; font-size:.75rem; margin-top:1rem; padding:.8rem; }
.quality-page { background:linear-gradient(#fafbfd,#f4f6f9); min-height:70vh; padding:1.5rem 0 4rem; }.quality-heading { margin:3rem auto; max-width:700px; text-align:center; }.quality-heading h1 { font-size:clamp(2.4rem,5vw,4rem); font-weight:780; letter-spacing:-.055em; }.quality-heading > p:last-child { color:#526076; line-height:1.7; }.quality-grid article { background:#fff; border:1px solid var(--line); border-radius:.7rem; height:100%; padding:1.7rem; }.quality-grid article > i { align-items:center; background:#edf4ec; border-radius:50%; color:var(--sage-dark); display:flex; font-size:1.5rem; height:52px; justify-content:center; width:52px; }.quality-grid h2 { font-size:1.05rem; font-weight:750; margin:1rem 0 .45rem; }.quality-grid p { color:#526076; font-size:.8rem; line-height:1.65; margin:0; }.quality-disclaimer { align-items:center; background:var(--navy); border-radius:.7rem; color:#fff; display:flex; gap:1rem; margin:2rem 0; padding:1.25rem 1.5rem; }.quality-disclaimer > i { font-size:1.6rem; }.quality-disclaimer b,.quality-disclaimer span { display:block; }.quality-disclaimer span { color:#d8e1ed; font-size:.76rem; margin-top:.2rem; }.quality-actions { display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; }
footer { margin-top:auto; } @media (max-width:991px) { .hero-copy { margin:1.5rem 0; }.hero-section { background-position:65% center; }.trust-row { flex-wrap:wrap; gap:1rem; }.trust-row > div { min-width:100px; }.account-card { margin-top:1.5rem; }.quality-panel { grid-template-columns:1fr; }.address-columns { grid-template-columns:1fr; }.account-heading { align-items:flex-start; flex-direction:column; gap:1rem; }.security-summary { justify-content:flex-start; } } @media (max-width:575px) { .brand-lockup { font-size:1rem; }.hero-section { background-image:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),url('../images/laboratory-hero.png'); }.hero-content { padding-top:.5rem; }.account-card { padding:1.4rem; }.hero-copy h1 { font-size:2.75rem; }.trust-row > div { padding:.2rem; width:45%; }.trust-row { justify-content:space-between; }.trust-row > div:nth-child(2) { border-right:0; }.benefit-bar .col-md-3 { margin-bottom:.8rem; }.quality-panel { padding:1.6rem; }.newsletter-form { margin-top:1rem; }.account-form-grid { grid-template-columns:1fr; } }

/* Scientific product artwork and expanded commerce review experience */
.product-art { --art:#5d8759; --art-soft:#dcebdc; aspect-ratio:1.35; background:radial-gradient(circle at 72% 20%,rgba(255,255,255,.9),transparent 24%),linear-gradient(145deg,#f9fbfc,#e9eef3); border:1px solid #dfe5eb; border-radius:.65rem .65rem 0 0; isolation:isolate; overflow:hidden; position:relative; }
.product-art:before { background:linear-gradient(135deg,transparent 35%,color-mix(in srgb,var(--art) 11%,transparent)); content:""; inset:0; position:absolute; }
.product-art-copy { left:1.25rem; position:absolute; top:1.15rem; z-index:3; }.product-art-copy small { color:var(--sage-dark)!important; display:block; font-size:.5rem!important; font-weight:800; letter-spacing:.18em; }.product-art-copy strong { color:var(--navy); display:block; font-size:clamp(1.4rem,3vw,2rem); letter-spacing:-.04em; line-height:1; margin:.45rem 0 .2rem; }.product-art-copy span { color:#5b6779; display:block; font-size:.62rem; font-weight:650; }
.product-art > em { bottom:.8rem; color:#6b7584; font-size:.44rem; font-style:normal; font-weight:750; left:1.25rem; letter-spacing:.12em; position:absolute; z-index:3; }
.molecule { background:var(--art); border:5px solid rgba(255,255,255,.8); border-radius:50%; box-shadow:0 8px 20px color-mix(in srgb,var(--art) 30%,transparent); height:32px; position:absolute; width:32px; z-index:2; }.molecule:before,.molecule:after { background:color-mix(in srgb,var(--art) 55%,#fff); content:""; height:3px; position:absolute; transform-origin:left center; width:72px; }.molecule-one { right:23%; top:25%; }.molecule-one:before { transform:rotate(135deg); }.molecule-one:after { transform:rotate(48deg); }.molecule-two { bottom:20%; right:12%; transform:scale(.65); }.molecule-two:before { transform:rotate(205deg); }.molecule-three { right:43%; top:51%; transform:scale(.78); }.molecule-three:after { transform:rotate(350deg); }
.orbit { border:1px solid color-mix(in srgb,var(--art) 42%,transparent); border-radius:50%; position:absolute; right:5%; top:12%; transform:rotate(-18deg); }.orbit-one { height:70%; width:48%; }.orbit-two { height:45%; right:14%; top:25%; transform:rotate(48deg); width:36%; }
.tone-blue { --art:#3978a8; }.tone-violet { --art:#725d9b; }.tone-amber { --art:#a47835; }.tone-rose { --art:#a45e72; }.tone-cyan { --art:#3a8790; }.tone-indigo { --art:#4b6299; }.tone-aqua { --art:#438eaa; }.tone-split { --art:#527c6d; background:radial-gradient(circle at 72% 20%,rgba(255,255,255,.9),transparent 24%),linear-gradient(135deg,#e9f1ec 0 50%,#e8edf6 50%); }
.product-art-large { aspect-ratio:auto; border:0; border-radius:.8rem; height:100%; min-height:450px; width:100%; }.product-art-large .product-art-copy { left:2.2rem; top:2rem; }.product-art-large .product-art-copy small { font-size:.62rem!important; }.product-art-large .product-art-copy strong { font-size:clamp(2.8rem,6vw,4.8rem); margin-top:1rem; }.product-art-large .product-art-copy span { font-size:.82rem; }.product-art-large > em { bottom:1.6rem; font-size:.56rem; left:2.2rem; }.product-art-large .molecule { height:48px; width:48px; }
.catalog-product { overflow:hidden; padding:0; text-align:left; }.catalog-product-body { padding:1.25rem; }.catalog-product .product-art { border-left:0; border-right:0; border-top:0; }.catalog-product h2 { font-size:1.15rem; }.catalog-summary { color:#526076!important; font-size:.74rem!important; font-weight:400!important; line-height:1.55; margin:.6rem 0!important; min-height:3.5rem; }.catalog-strength { color:var(--sage-dark)!important; font-size:.7rem!important; }.catalog-product-body > small { color:#687487; display:block; font-size:.61rem; margin-top:.25rem; text-transform:uppercase; }
.detail-card section { scroll-margin-top:1rem; }.detail-card h3 { font-size:1rem; font-weight:750; }.detail-card section p { color:#4f5e72; line-height:1.75; }.spec-card dd { max-width:62%; margin-left:auto; overflow-wrap:anywhere; }
.checkout-card select { background:#fff; border:1px solid #dbe0e7; border-radius:.35rem; display:block; font-size:.84rem; margin-top:.35rem; padding:.75rem; width:100%; }.grid-wide { grid-column:1/-1; }.checkout-discount { background:#edf4ec; border-radius:.35rem; color:#315d30; font-size:.75rem; padding:.7rem; }.order-success { align-items:flex-start; display:flex; gap:1rem; }.order-success > i { color:var(--sage); font-size:2rem; }.order-success p { color:#526076; font-size:.84rem; }
.discount-code-error { background:#fff0f0; border:1px solid #efc6c6; border-radius:.35rem; color:#8d2525; font-size:.75rem; margin:.65rem 0; padding:.7rem; }.discount-code-error i { margin-right:.35rem; }.checkout-card input[aria-invalid="true"] { border-color:#b83c3c; box-shadow:0 0 0 3px rgba(184,60,60,.1); }
.customer-order-heading,.customer-order-bottom { align-items:flex-start; display:flex; gap:1.5rem; justify-content:space-between; }.customer-order-heading h2 { font-size:1.55rem; }.customer-order-heading p { color:#667187; font-size:.75rem; margin:.25rem 0 0; }.customer-order-status { display:grid; gap:.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.25rem 0; }.customer-order-status > div { background:#f5f7fa; border-radius:.45rem; padding:.85rem; }.customer-order-status span,.customer-order-status strong { display:block; }.customer-order-status span { color:#667187; font-size:.65rem; margin-bottom:.3rem; text-transform:uppercase; }.customer-order-status strong { font-size:.78rem; }.customer-orders-table { min-width:760px; }.customer-orders-table th { font-size:.66rem; text-transform:uppercase; }.customer-orders-table td { font-size:.76rem; vertical-align:middle; }.customer-order-bottom { border-top:1px solid var(--line); padding-top:1rem; }.customer-order-bottom h3 { font-size:.72rem; font-weight:800; text-transform:uppercase; }.customer-order-bottom address { color:#536177; font-size:.76rem; line-height:1.6; }.customer-order-bottom .order-totals { margin-left:auto; min-width:300px; }.customer-orders-empty { padding:2rem; text-align:center; }.customer-orders-empty > i { color:var(--sage); font-size:2rem; }.customer-orders-empty h3 { font-size:1.1rem; margin-top:.5rem; }.customer-orders-empty p { color:#667187; font-size:.78rem; }
@media (max-width:767px) { .customer-order-heading,.customer-order-bottom { align-items:stretch; flex-direction:column; }.customer-order-status { grid-template-columns:1fr; }.customer-order-bottom .order-totals { margin:0; min-width:0; width:100%; } }
.product-purchase-form .purchase-row { align-items:flex-end; gap:1rem; }.product-purchase-form .purchase-row label:first-child { flex:1; }.product-purchase-form label { font-size:.7rem; font-weight:700; text-transform:uppercase; }.product-purchase-form select,.product-purchase-form input { background:#fff; border:1px solid #d5dce4; border-radius:.35rem; display:block; font-size:.78rem; margin-top:.4rem; padding:.65rem; width:100%; }.product-purchase-form input { max-width:110px; }
.cart-heading { align-items:center; display:flex; gap:1rem; justify-content:space-between; margin-bottom:1rem; }.cart-heading h2 { margin:0; }.cart-heading p { color:#667187; font-size:.76rem; margin:.25rem 0 0; }.cart-heading > a { color:var(--sage-dark); font-size:.72rem; font-weight:750; }.cart-table { min-width:760px; }.cart-table th { font-size:.67rem; text-transform:uppercase; }.cart-table td { font-size:.78rem; vertical-align:middle; }.cart-table input[type=number] { margin:0; max-width:90px; padding:.5rem; }.cart-summary { align-items:center; border-top:1px solid var(--line); display:flex; justify-content:space-between; padding-top:1rem; }.cart-summary > div { text-align:right; }.cart-summary span,.cart-summary strong,.cart-summary small { display:block; }.cart-summary span { color:#667187; font-size:.68rem; text-transform:uppercase; }.cart-summary strong { font-size:1.5rem; }.cart-summary small { color:#667187; font-size:.68rem; }.cart-actions,.final-order-actions { display:flex; gap:.75rem; justify-content:flex-end; }.cart-empty { padding:3rem; text-align:center; }.cart-empty > i { color:var(--sage); display:block; font-size:2.5rem; margin-bottom:.75rem; }.checkout-subtotal { display:flex; font-size:.85rem; justify-content:space-between; padding:1rem 0; }.final-bill { margin-top:1.25rem; max-width:380px; }.final-order-address { background:#f5f7fa; border-radius:.5rem; margin:1.25rem 0; padding:1rem; }.final-order-address h3 { font-size:.72rem; font-weight:800; text-transform:uppercase; }.final-order-address p { color:#536177; font-size:.76rem; line-height:1.6; margin:0; }
.admin-orders-table small { display:block; font-size:.69rem; margin:.2rem 0; }.admin-order-detail { background:#f7f9fb; border:1px solid var(--line); border-radius:.6rem; margin:1rem 0 1.5rem; padding:1.25rem; }.admin-order-heading { align-items:flex-start; display:flex; justify-content:space-between; }.admin-order-heading h3 { font-size:1.5rem; }.admin-order-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); margin:1.25rem 0; }.admin-order-grid > div { background:#fff; border:1px solid var(--line); border-radius:.4rem; padding:.85rem; }.admin-order-grid h4 { font-size:.72rem; font-weight:800; text-transform:uppercase; }.admin-order-grid p,.admin-order-grid address { font-size:.72rem; line-height:1.6; margin:0; }.order-totals { display:grid; font-size:.76rem; grid-template-columns:1fr auto; margin-left:auto; max-width:300px; }.order-totals dt,.order-totals dd { border-bottom:1px solid var(--line); margin:0; padding:.45rem 0; }.order-totals dd { text-align:right; }.order-totals dt:last-of-type,.order-totals dd:last-of-type { font-size:.9rem; font-weight:800; }
@media (max-width:991px) { .admin-order-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575px) { .product-art-large { min-height:330px; }.admin-order-grid { grid-template-columns:1fr; }.admin-order-heading { gap:1rem; }.detail-card nav { overflow-x:auto; }.detail-card nav button { white-space:nowrap; }.cart-heading,.cart-summary { align-items:stretch; flex-direction:column; }.cart-summary > div { text-align:left; }.cart-actions,.final-order-actions { flex-direction:column; }.product-purchase-form .purchase-row { align-items:stretch; flex-direction:column; }.product-purchase-form input { max-width:none; } }
.coa-section { border:1px solid var(--line); border-radius:.65rem; margin-top:3rem; overflow:hidden; }.coa-heading { align-items:flex-end; background:#f8fafb; display:flex; gap:2rem; justify-content:space-between; padding:1.5rem; }.coa-heading h2 { color:var(--navy); font-size:1.55rem; margin:0; }.coa-heading .section-kicker { margin:0 0 .3rem; }.coa-heading > p { color:#617084; font-size:.74rem; line-height:1.6; margin:0; max-width:430px; }.coa-tabs { background:#fff; border-bottom:1px solid var(--line); display:flex; padding:0 1.5rem; }.coa-tabs button { background:transparent; border:0; border-bottom:3px solid transparent; color:#687487; font-size:.7rem; font-weight:800; letter-spacing:.06em; padding:1rem 1.35rem; text-transform:uppercase; }.coa-tabs button.active { border-bottom-color:var(--sage); color:var(--sage-dark); }.coa-tabs button:focus-visible { outline:2px solid var(--sage); outline-offset:-2px; }.coa-section [role="tabpanel"][hidden] { display:none; }.coa-lab-grid { display:grid; gap:1.25rem; grid-template-columns:minmax(230px,.7fr) minmax(0,1.8fr); padding:1.5rem; }.test-summary,.coa-viewer,.specification-panel { border:1px solid var(--line); border-radius:.55rem; }.test-summary { background:#fbfcfd; padding:1.1rem; }.test-summary h3,.specification-panel h3 { font-size:.75rem; font-weight:800; letter-spacing:.05em; margin:0 0 .75rem; text-transform:uppercase; }.test-summary dl { margin:0; }.test-summary dl div { border-top:1px solid #e7ebef; padding:.62rem 0; }.test-summary dt { color:#697588; font-size:.62rem; font-weight:650; text-transform:uppercase; }.test-summary dd { color:var(--navy); font-size:.73rem; font-weight:750; margin:.18rem 0 0; overflow-wrap:anywhere; }.is-unavailable { color:#8993a2!important; font-style:italic; }.coa-viewer { display:flex; flex-direction:column; min-height:500px; overflow:hidden; }.coa-viewer header,.coa-viewer footer { align-items:center; background:#f8fafb; display:flex; gap:1rem; justify-content:space-between; padding:.9rem 1rem; }.coa-viewer header { border-bottom:1px solid var(--line); }.coa-viewer header span,.coa-viewer header strong { display:block; }.coa-viewer header span { color:#6b7789; font-size:.61rem; text-transform:uppercase; }.coa-viewer header strong { font-size:.75rem; margin-top:.2rem; }.verification-state { align-items:center; color:#8a652d!important; display:flex!important; gap:.35rem; }.verification-state.is-available { color:var(--sage-dark)!important; }.certificate-stage { align-items:center; background:#eef2f5; display:flex; flex:1; justify-content:center; min-height:360px; padding:1rem; }.certificate-preview { background:#fff; box-shadow:0 8px 24px rgba(7,26,59,.12); display:block; height:auto; max-height:620px; max-width:100%; object-fit:contain; }.certificate-empty { color:#6c7788; max-width:340px; text-align:center; }.certificate-empty i { color:var(--sage); font-size:2.5rem; }.certificate-empty h3 { color:var(--navy); font-size:1rem; margin:.7rem 0 .35rem; }.certificate-empty p { font-size:.72rem; line-height:1.6; }.coa-viewer footer { border-top:1px solid var(--line); font-size:.68rem; }.coa-viewer footer .btn { padding:.55rem .85rem; }.download-disabled { color:#8993a2; font-weight:700; }.specification-panel { margin:1.5rem; overflow:hidden; padding:1.1rem; }.specification-panel table { border-collapse:separate; border-spacing:0; font-size:.74rem; overflow:hidden; width:100%; }.specification-panel th,.specification-panel td { border-top:1px solid #d7e2e8; padding:.95rem .85rem; text-align:left; vertical-align:top; }.specification-panel tr:first-child th,.specification-panel tr:first-child td { border-top:0; }.specification-panel th { background:#f1f3f5; color:#5d697c; font-size:.66rem; font-weight:800; width:30%; }.specification-panel td { background:#fff; border-left:1px solid #d7e2e8; color:var(--navy); overflow-wrap:anywhere; }.product-research-card { width:100%; }
@media (max-width:767px) { .coa-heading { align-items:flex-start; flex-direction:column; gap:.6rem; }.coa-tabs { overflow-x:auto; padding:0 .75rem; }.coa-tabs button { white-space:nowrap; }.coa-lab-grid { grid-template-columns:1fr; padding:1rem; }.coa-viewer { min-height:420px; }.certificate-stage { min-height:280px; }.specification-panel { margin:1rem; padding:.7rem; }.specification-panel th,.specification-panel td { display:block; padding:.55rem .4rem; width:100%; }.specification-panel td { border-top:0; padding-top:0; }.coa-viewer header,.coa-viewer footer { align-items:flex-start; flex-direction:column; } }
.lab-results-panel,.certificate-panel { padding:1.5rem; }.lab-results-panel .test-summary { max-width:680px; }.certificate-panel .coa-viewer { margin:auto; max-width:900px; }
@media (max-width:767px) { .lab-results-panel,.certificate-panel { padding:1rem; } }
.certificate-library { margin-top:3rem; }.certificate-library-heading { align-items:flex-end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:1.25rem; }.certificate-library-heading h2 { color:var(--navy); font-size:1.65rem; margin:0; }.certificate-library-heading > p { color:#617084; font-size:.76rem; line-height:1.6; margin:0; max-width:430px; }.certificate-card-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(3,minmax(0,1fr)); }.certificate-card { background:#fff; border:1px solid var(--line); border-radius:.65rem; display:flex; flex-direction:column; overflow:hidden; }.certificate-card-preview { align-items:center; background:#eef2f5; display:flex; height:220px; justify-content:center; overflow:hidden; padding:1rem; position:relative; }.certificate-card-preview img { background:#fff; box-shadow:0 6px 18px rgba(7,26,59,.12); height:100%; object-fit:contain; width:100%; }.certificate-card-preview span { background:#fff; border-radius:999px; bottom:.7rem; color:var(--sage-dark); font-size:.62rem; font-weight:800; padding:.4rem .65rem; position:absolute; right:.7rem; }.certificate-card-body { display:flex; flex:1; flex-direction:column; padding:1.1rem; }.certificate-card-body > p { color:var(--sage-dark); font-size:.61rem; font-weight:800; letter-spacing:.06em; margin:0; text-transform:uppercase; }.certificate-card-body h3 { font-size:1rem; margin:.3rem 0 .75rem; }.certificate-card-body dl { flex:1; margin:0 0 1rem; }.certificate-card-body dl div { border-top:1px solid #e8ebef; padding:.5rem 0; }.certificate-card-body dt { color:#758093; font-size:.59rem; text-transform:uppercase; }.certificate-card-body dd { color:var(--navy); font-size:.7rem; font-weight:700; margin:.12rem 0 0; }.certificate-card-body .btn { font-size:.7rem; }
@media (max-width:991px) { .certificate-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575px) { .certificate-library-heading { align-items:flex-start; flex-direction:column; gap:.5rem; }.certificate-card-grid { grid-template-columns:1fr; } }
.mfa-setup-grid { align-items:stretch; display:grid; gap:1rem; grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr); margin:1rem 0; }.mfa-setup-grid .totp-qr-wrap,.mfa-setup-grid .setup-key { height:100%; margin:0; }.mfa-setup-grid h3 { font-size:.9rem; font-weight:800; margin:0 0 1rem; text-transform:uppercase; }.mfa-setup-grid .setup-key { grid-template-columns:100px minmax(0,1fr); }.mfa-setup-grid .setup-key h3 { grid-column:1/-1; }.mfa-setup-grid .setup-key code { background:#fff; border:1px solid var(--line); border-radius:.25rem; padding:.4rem .5rem; }
@media (max-width:991px) { .mfa-setup-grid { grid-template-columns:1fr; } }
@media (max-width:575px) { .mfa-setup-grid .setup-key { grid-template-columns:1fr; } }
.address-copy-status { background:#edf4ec; border-radius:.35rem; color:#315d30; display:block; font-size:.7rem; margin:-.25rem 0 .8rem; padding:.55rem .7rem; }.address-copy-status[hidden] { display:none; }.address-copy-status i { margin-right:.35rem; }
.address-match-control { align-items:flex-start; background:#f1f7ef; border:1px solid #87a982; border-radius:.55rem; cursor:pointer; gap:.75rem; margin:.35rem 0 1rem!important; padding:.9rem 1rem; }.address-match-control:focus-within { box-shadow:0 0 0 3px rgba(93,135,89,.18); }.address-match-control .form-check-input { box-sizing:border-box; flex:0 0 1.1rem; float:none; height:1.1rem; margin:.12rem 0 0!important; padding:0!important; width:1.1rem; }.address-match-control > span { flex:1; min-width:0; }.address-match-control span,.address-match-control strong,.address-match-control small { display:block; }.address-match-control strong { color:var(--navy); font-size:.78rem; line-height:1.35; }.address-match-control small { color:#586778; font-size:.68rem; font-weight:500; line-height:1.45; margin-top:.2rem; }.shipping-validation { border-radius:.4rem; font-size:.74rem; font-weight:650; margin-top:.3rem; padding:.75rem .85rem; }.shipping-validation.is-incomplete { background:#fff0f0; border:1px solid #efc6c6; color:#8d2525; }.shipping-validation.is-complete { background:#edf4ec; color:#315d30; }
.catalog-search { align-items:center; background:#fff; border:1px solid var(--line); border-radius:.65rem; box-shadow:0 8px 24px rgba(7,26,59,.06); display:flex; gap:.7rem; margin:1.4rem auto .8rem; max-width:720px; padding:.55rem; text-align:left; }.catalog-search > i { color:var(--sage-dark); font-size:1.1rem; margin-left:.45rem; }.catalog-search input { border:0; flex:1; font-size:.88rem; min-width:0; outline:0; padding:.65rem .25rem; }.catalog-search > a { color:var(--sage-dark); font-size:.72rem; font-weight:700; padding:0 .5rem; }.catalog-empty { background:#fff; border:1px solid var(--line); border-radius:.65rem; margin:2rem auto; max-width:600px; padding:2rem; }.catalog-empty > i { color:var(--sage); font-size:2rem; }.catalog-empty h2 { font-size:1.2rem; margin:.7rem 0 .3rem; }.catalog-empty p { color:#667187; font-size:.8rem; }
.admin-nav { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.4rem 0; }.admin-dashboard-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }.admin-dashboard-card { background:#fff; border:1px solid var(--line); border-radius:.65rem; color:inherit; padding:1.4rem; text-decoration:none; }.admin-dashboard-card:hover { border-color:var(--sage); color:inherit; }.admin-dashboard-card > i { color:var(--sage-dark); font-size:1.5rem; }.admin-dashboard-card strong,.admin-dashboard-card span { display:block; }.admin-dashboard-card strong { font-size:1.05rem; margin:.65rem 0 .25rem; }.admin-dashboard-card span { color:#667187; font-size:.76rem; }.admin-order-form { background:#fff; border:1px solid var(--line); border-radius:.5rem; display:grid; gap:.8rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1rem; padding:1rem; }.admin-order-form label { font-size:.7rem; font-weight:700; text-transform:uppercase; }.admin-order-form input,.admin-order-form select,.admin-order-form textarea { border:1px solid #dbe0e7; border-radius:.35rem; display:block; margin-top:.35rem; padding:.7rem; width:100%; }.admin-order-form .grid-wide { grid-column:1/-1; }
.admin-user-list { display:grid; gap:1rem; }.admin-user-card { border:1px solid var(--line); border-radius:.55rem; overflow:hidden; }.admin-user-card summary { align-items:center; cursor:pointer; display:flex; justify-content:space-between; list-style:none; padding:1rem 1.2rem; }.admin-user-card summary::-webkit-details-marker { display:none; }.admin-user-card summary strong,.admin-user-card summary small { display:block; }.admin-user-card summary small { color:#667187; font-size:.7rem; margin-top:.2rem; }.admin-user-form { border-top:1px solid var(--line); padding:1.2rem; }.admin-user-meta { background:#f5f7fa; border-radius:.4rem; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-bottom:1rem; padding:.8rem; }.admin-user-meta span { color:#536177; font-size:.7rem; }.admin-edit-grid { display:grid; gap:0 1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }.admin-user-form label { font-size:.68rem; font-weight:700; margin-bottom:.7rem; text-transform:uppercase; }.admin-user-form input { border:1px solid #dbe0e7; border-radius:.35rem; display:block; margin-top:.3rem; padding:.65rem; text-transform:none; width:100%; }.admin-user-activity { background:#f8fafb; border-radius:.4rem; margin:1rem 0; padding:.9rem; }.admin-user-activity h3 { font-size:.75rem; font-weight:800; text-transform:uppercase; }.admin-user-activity p,.admin-user-activity li { color:#5c687b; font-size:.7rem; }.admin-user-actions { display:flex; flex-wrap:wrap; gap:.6rem; }.expense-summary { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:1rem 0; }.expense-summary > div { background:var(--navy); border-radius:.6rem; color:#fff; padding:1.25rem; }.expense-summary span,.expense-summary strong { display:block; }.expense-summary span { color:#cfdae8; font-size:.72rem; }.expense-summary strong { font-size:1.7rem; margin-top:.3rem; }.expense-table small { color:#667187; display:block; font-size:.68rem; margin-top:.2rem; }.expense-actions { display:flex; gap:.4rem; }.expense-actions form { margin:0; }
.admin-user-summary-stats { align-items:center; display:flex; gap:.75rem; }.admin-user-summary-stats > span:first-child { background:#edf4ec; border-radius:2rem; color:var(--sage-dark); font-size:.72rem; padding:.45rem .7rem; }.admin-user-summary-stats b { display:inline; }.activity-summary { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1rem 0; }.activity-summary > div { background:var(--navy); border-radius:.6rem; color:#fff; padding:1.25rem; }.activity-summary span,.activity-summary strong { display:block; }.activity-summary span { color:#cfdae8; font-size:.72rem; }.activity-summary strong { font-size:1.7rem; margin-top:.3rem; }.product-activity-table small { color:#667187; display:block; font-size:.68rem; margin-top:.2rem; }.product-ranking { display:grid; gap:.55rem; }.product-ranking > div { align-items:center; background:#f8fafb; border:1px solid var(--line); border-radius:.45rem; display:flex; justify-content:space-between; padding:.8rem 1rem; }.product-ranking span { font-size:.82rem; }.product-ranking strong { color:var(--sage-dark); font-size:.75rem; }
.admin-order-section-heading { align-items:center; display:flex; justify-content:space-between; margin:1.4rem 0 .6rem; }.admin-order-section-heading h3 { font-size:1rem; margin:0; }.admin-order-section-heading span,.completed-order-count { align-items:center; background:#edf4ec; border-radius:999px; color:var(--sage-dark); display:inline-flex; font-size:.72rem; font-weight:800; justify-content:center; min-width:2rem; padding:.35rem .65rem; }.admin-order-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.4rem; }.admin-order-actions form { margin:0; }.completed-orders-section { border:1px solid var(--line); border-radius:.55rem; margin-top:1.5rem; overflow:hidden; }.completed-orders-section > summary { align-items:center; background:#f6f8fa; cursor:pointer; display:flex; justify-content:space-between; list-style:none; padding:1rem 1.2rem; }.completed-orders-section > summary::-webkit-details-marker { display:none; }.completed-orders-section > summary strong,.completed-orders-section > summary small { display:block; }.completed-orders-section > summary small { color:#667187; font-size:.68rem; margin-top:.2rem; }.completed-orders-section .table-responsive { border-top:1px solid var(--line); padding:0 1rem 1rem; }.admin-delete-warning { align-items:flex-start; background:#fff4f2; border:2px solid #b9382f; border-radius:.65rem; display:flex; gap:1rem; margin:1rem 0; padding:1.2rem; }.admin-delete-warning > i { color:#b9382f; font-size:1.6rem; }.admin-delete-warning h2 { color:#842820; font-size:1.05rem; margin:0 0 .35rem; }.admin-delete-warning p { font-size:.78rem; line-height:1.6; }.admin-delete-warning form { align-items:flex-end; display:flex; flex-wrap:wrap; gap:.6rem; }.admin-delete-warning label { margin:0!important; min-width:240px; }.admin-delete-warning form > div { display:flex; flex-wrap:wrap; gap:.5rem; }
.expense-header-grid { display:grid; gap:0 1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }.itemized-heading { align-items:flex-end; border-top:1px solid var(--line); display:flex; justify-content:space-between; margin-top:1rem; padding-top:1.2rem; }.itemized-heading h3 { font-size:1rem; margin:0; }.itemized-heading p { color:#667187; font-size:.72rem; margin:.25rem 0 0; }.itemized-expense-table { margin-top:1rem; min-width:1050px; }.itemized-expense-table th { font-size:.66rem; text-transform:uppercase; }.itemized-expense-table input { border:1px solid #dbe0e7; border-radius:.3rem; font-size:.76rem; min-width:80px; padding:.55rem; width:100%; }.itemized-expense-table th:nth-child(1) { width:9%; }.itemized-expense-table th:nth-child(2) { width:18%; }.itemized-expense-table th:nth-child(3) { width:25%; }.itemized-expense-table th:nth-child(4),.itemized-expense-table th:nth-child(5) { width:8%; }.itemized-expense-table th:nth-child(6) { width:13%; }.itemized-expense-table th:nth-child(7) { width:12%; }.money-input { align-items:center; display:flex; }.money-input span { color:#667187; margin-right:.25rem; }.expense-total-bar { align-items:flex-end; background:#f5f7fa; border-radius:.5rem; display:flex; justify-content:space-between; margin:1rem 0; padding:1rem; }.expense-total-bar label { margin:0!important; max-width:310px; }.expense-total-bar label small { color:#667187; display:block; font-size:.62rem; font-weight:400; margin-top:.2rem; text-transform:none; }.expense-total-bar > div { text-align:right; }.expense-total-bar > div span,.expense-total-bar > div strong { display:block; }.expense-total-bar > div span { color:#667187; font-size:.68rem; text-transform:uppercase; }.expense-total-bar > div strong { color:var(--navy); font-size:1.8rem; }.expense-items-detail summary { color:var(--sage-dark); cursor:pointer; font-size:.7rem; font-weight:700; }.expense-items-detail small { margin:.35rem 0; min-width:240px; }
.inventory-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }.inventory-add-form { display:grid; gap:.8rem 1rem; grid-template-columns:repeat(5,minmax(0,1fr)); }.inventory-add-form label { font-size:.68rem; font-weight:700; text-transform:uppercase; }.inventory-add-form input,.inventory-table input { border:1px solid #dbe0e7; border-radius:.35rem; display:block; margin-top:.3rem; padding:.6rem; width:100%; }.inventory-add-form .grid-wide { grid-column:1/-1; }.inventory-table { min-width:1080px; }.inventory-table td { vertical-align:middle; }.inventory-table td strong,.inventory-table td small { display:block; }.inventory-table td small { color:#667187; font-size:.67rem; margin-top:.2rem; }.inventory-status { border-radius:999px; display:inline-block; font-size:.67rem; font-weight:800; padding:.3rem .55rem; text-transform:uppercase; }.inventory-status.is-ok { background:#e3f3e9; color:#22623b; }.inventory-status.is-low { background:#fde8e6; color:#9c2d25; }
.invoice-page { background:#eef2f6; padding:2rem 0 4rem; }.invoice-toolbar { display:flex; justify-content:space-between; margin-bottom:1rem; }.invoice-sheet { background:#fff; border-radius:.7rem; box-shadow:0 18px 50px rgba(7,26,59,.12); margin:auto; max-width:900px; min-height:1050px; overflow:hidden; padding:0 3rem 2.5rem; }.invoice-heading { align-items:center; background:linear-gradient(125deg,var(--navy),#12365d); border-bottom:8px solid var(--sage); color:#fff; display:flex; justify-content:space-between; margin:0 -3rem; padding:2rem 3rem; }.invoice-brand { align-items:center; display:flex; gap:1rem; }.invoice-brand-mark { align-items:center; background:var(--sage); border-radius:.45rem; color:#fff; display:flex; font-size:2.1rem; font-style:italic; font-weight:800; height:58px; justify-content:center; letter-spacing:-.1em; line-height:1; transform:skew(-8deg); width:58px; }.invoice-brand-copy strong,.invoice-brand-copy small { display:block; }.invoice-brand-copy strong { font-size:1.2rem; letter-spacing:.1em; }.invoice-brand-copy em { color:#a9c9a6; font-style:normal; }.invoice-brand-copy small { color:#cad8e6; font-size:.55rem; letter-spacing:.16em; margin-top:.35rem; }.invoice-meta { text-align:right; }.invoice-meta strong,.invoice-meta span { display:block; }.invoice-meta strong { color:#a9c9a6; font-size:1.65rem; letter-spacing:.08em; }.invoice-meta span { color:#dbe5ef; font-size:.7rem; margin-top:.18rem; }.invoice-meta .invoice-number { color:#fff; font-size:.78rem; font-weight:700; }.invoice-parties { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); margin:2rem 0; }.invoice-parties > div { background:#f5f8f7; border:1px solid #e2ebe3; border-radius:.45rem; min-height:132px; padding:1rem; }.invoice-parties h2 { color:var(--sage-dark); font-size:.65rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.invoice-parties p,.invoice-parties address { font-size:.72rem; line-height:1.65; margin:0; }.invoice-items { border-collapse:separate; border-spacing:0; font-size:.75rem; overflow:hidden; width:100%; }.invoice-items th { background:var(--navy); color:#fff; font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; }.invoice-items th:first-child { border-radius:.35rem 0 0 0; }.invoice-items th:last-child { border-radius:0 .35rem 0 0; }.invoice-items th,.invoice-items td { border-bottom:1px solid var(--line); padding:.8rem; text-align:left; }.invoice-items tbody tr:nth-child(odd) { background:#f5f8f7; }.invoice-items td:first-child { font-weight:750; }.invoice-items th:nth-last-child(-n+3),.invoice-items td:nth-last-child(-n+3) { text-align:right; }.invoice-totals { background:#f5f8f7; border:1px solid #e2ebe3; border-radius:.45rem; display:grid; font-size:.76rem; grid-template-columns:1fr auto; margin:1.5rem 0 0 auto; max-width:340px; padding:.5rem 1rem; }.invoice-totals dt,.invoice-totals dd { border-bottom:1px solid #dde7df; margin:0; padding:.5rem 0; }.invoice-totals dd { text-align:right; }.invoice-totals dt:last-of-type,.invoice-totals dd:last-of-type { border-bottom:0; color:var(--navy); font-size:1rem; font-weight:800; padding-top:.7rem; }.invoice-footer { background:#edf4ec; border-top:3px solid var(--sage); margin:4rem -1.5rem 0; padding:1.1rem 1rem; text-align:center; }.invoice-footer p { color:var(--navy); font-weight:750; margin:0; }.invoice-footer small,.invoice-footer span { color:#59677a; display:block; font-size:.62rem; margin-top:.25rem; }.invoice-footer small { color:var(--sage-dark); font-weight:700; }
@media (max-width:991px) { .admin-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-edit-grid,.expense-header-grid,.inventory-add-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .catalog-search { align-items:stretch; flex-wrap:wrap; }.catalog-search input { flex-basis:70%; }.admin-dashboard-grid,.admin-order-form,.admin-edit-grid,.expense-header-grid,.expense-summary,.activity-summary,.inventory-add-form,.invoice-parties { grid-template-columns:1fr; }.admin-user-card summary { align-items:flex-start; gap:.75rem; }.admin-user-summary-stats { align-items:flex-end; flex-direction:column; }.admin-order-form .grid-wide { grid-column:auto; }.invoice-sheet { padding:1.4rem; }.invoice-heading,.itemized-heading,.expense-total-bar { align-items:stretch; flex-direction:column; gap:1rem; }.invoice-toolbar { gap:.5rem; }.expense-total-bar > div { text-align:left; } }
.invoice-sheet { border-radius:0; padding:2.5rem 3rem; }.invoice-heading { align-items:flex-start; background:#fff; border-bottom:2px solid var(--navy); color:var(--navy); margin:0; padding:0 0 1.5rem; }.invoice-brand-mark { background:transparent; border-radius:0; color:var(--sage); font-size:2.4rem; height:auto; justify-content:flex-start; width:auto; }.invoice-brand-copy strong { color:var(--navy); font-size:1.2rem; }.invoice-brand-copy em { color:var(--sage); }.invoice-brand-copy small { color:#667187; font-size:.58rem; letter-spacing:0; }.invoice-meta strong { color:var(--navy); }.invoice-meta span,.invoice-meta .invoice-number { color:#667187; }.invoice-parties { gap:2rem; margin:2rem 0 3rem; }.invoice-parties > div { background:transparent; border:0; border-radius:0; min-height:0; padding:0; }.invoice-parties h2 { color:var(--navy); }.invoice-items tbody tr:nth-child(odd) { background:transparent; }.invoice-totals { background:transparent; border:0; border-radius:0; padding:0; }.invoice-totals dt,.invoice-totals dd { border-bottom:1px solid var(--line); }.invoice-footer { background:transparent; border-top:1px solid var(--line); margin:4rem 0 0; padding:1rem 0 0; }.invoice-footer p { color:var(--navy); }.invoice-footer small { color:#667187; font-weight:400; }.invoice-footer span { color:#667187; display:block; font-size:.58rem; line-height:1.55; margin:.45rem auto 0; max-width:680px; }.invoice-sheet,.invoice-sheet * { -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; }
@media print { @page { margin:12mm; size:auto; }.site-nav,.newsletter,.site-footer,.invoice-toolbar { display:none!important; }.invoice-page { background:#fff; padding:0; }.invoice-sheet { box-shadow:none; margin:0 auto; max-width:900px; min-height:0; padding:2.5rem 3rem; } }
.expense-header-grid .vendor-address-field { grid-column:span 2; }
.expense-adjustments { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1rem; }.expense-adjustments label { font-size:.68rem; font-weight:700; text-transform:uppercase; }.expense-adjustments input { border:1px solid #dbe0e7; border-radius:.35rem; display:block; margin-top:.3rem; padding:.65rem; width:100%; }
@media (max-width:767px) { .expense-header-grid .vendor-address-field { grid-column:auto; } }
@media (max-width:767px) { .expense-adjustments { grid-template-columns:1fr; } }
.vendor-purchases-heading h2 { margin:0; }.vendor-purchases-heading p { color:#667187; font-size:.74rem; margin:.3rem 0 1rem; }.vendor-purchase-list { display:grid; gap:1rem; }.vendor-purchase-card { border:1px solid var(--line); border-radius:.6rem; overflow:hidden; }.vendor-purchase-card > summary { align-items:center; background:#f6f8fa; cursor:pointer; display:flex; justify-content:space-between; list-style:none; padding:1rem 1.2rem; }.vendor-purchase-card > summary::-webkit-details-marker { display:none; }.vendor-purchase-card > summary strong,.vendor-purchase-card > summary small { display:block; }.vendor-purchase-card > summary > div > strong { color:var(--navy); font-size:.9rem; }.vendor-purchase-card > summary small { color:#667187; font-size:.68rem; margin-top:.25rem; }.vendor-purchase-card > summary > span { color:var(--sage-dark); font-size:1rem; font-weight:800; }.vendor-purchase-body { border-top:1px solid var(--line); padding:1rem; }.vendor-contact-line { background:#f7f9fb; border-radius:.4rem; display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-bottom:1rem; padding:.7rem .8rem; }.vendor-contact-line span { color:#59677a; font-size:.68rem; }.vendor-contact-line i { color:var(--sage-dark); margin-right:.4rem; }.vendor-order { border:1px solid var(--line); border-radius:.45rem; margin-top:.8rem; overflow:hidden; }.vendor-order > header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; padding:.85rem 1rem; }.vendor-order > header strong,.vendor-order > header small { display:block; }.vendor-order > header small { color:#667187; font-size:.67rem; margin-top:.2rem; }.vendor-order > header > div:last-child { align-items:flex-end; display:flex; gap:.8rem; }.vendor-item-table { margin:0; min-width:820px; }.vendor-item-table th { background:#f6f8fa; color:#5d697b; font-size:.63rem; text-transform:uppercase; }.vendor-item-table td { font-size:.72rem; vertical-align:middle; }.general-expense-note,.vendor-purchases-empty { color:#667187; font-size:.75rem; padding:1rem; }.vendor-purchases-empty { text-align:center; }.vendor-purchases-empty i { color:var(--sage); font-size:1.8rem; }
@media (max-width:767px) { .vendor-purchase-card > summary,.vendor-order > header,.vendor-order > header > div:last-child { align-items:stretch; flex-direction:column; }.vendor-order > header > div:last-child { gap:.5rem; }.vendor-contact-line { flex-direction:column; } }
.order-email-events { background:#f6f8fb; border:1px solid var(--line); border-radius:.5rem; margin:1rem 0 1.5rem; padding:1rem; }.order-email-events h4 { font-size:.82rem; font-weight:750; margin:0 0 .7rem; text-transform:uppercase; }
.expense-summary > div,.activity-summary > div { background:#f3f8f2; border:1px solid #cbdcc9; box-shadow:0 8px 22px rgba(7,26,59,.05); color:var(--navy); transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }.expense-summary > div:hover,.activity-summary > div:hover { background:#e5f0e3; border-color:var(--sage); box-shadow:0 12px 28px rgba(65,104,63,.14); transform:translateY(-2px); }.expense-summary span,.activity-summary span { color:#536177; font-weight:650; }.expense-summary strong,.activity-summary strong { color:var(--navy); }
.discount-admin-summary { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1rem 0 1.5rem; }.discount-admin-summary > div { background:#f3f8f2; border:1px solid #cbdcc9; border-radius:.6rem; color:var(--navy); padding:1.25rem; }.discount-admin-summary span,.discount-admin-summary strong { display:block; }.discount-admin-summary span { color:#536177; font-size:.72rem; font-weight:650; }.discount-admin-summary strong { font-size:1.7rem; margin-top:.3rem; }.discount-admin-layout { display:grid; gap:1rem; grid-template-columns:minmax(280px,.8fr) minmax(520px,1.5fr); }.discount-admin-note { align-items:flex-start; background:#f6f8fb; border:1px solid var(--line); border-radius:.45rem; color:#59677a; display:flex; font-size:.72rem; gap:.55rem; line-height:1.55; margin:.4rem 0 1rem; padding:.8rem; }.discount-admin-note i { color:var(--sage-dark); }.discount-list-heading { align-items:flex-start; display:flex; justify-content:space-between; }.discount-list-heading h2,.discount-list-heading p { margin-bottom:.25rem; }.discount-list-heading > span { background:#edf4ec; border-radius:999px; color:var(--sage-dark); font-size:.7rem; font-weight:800; padding:.4rem .7rem; }.discount-admin-table td { vertical-align:middle; }.discount-admin-table code { background:#edf4ec; border-radius:.3rem; color:var(--sage-dark); font-size:.75rem; font-weight:800; padding:.35rem .5rem; }.discount-admin-table form { margin:0; }.member-offer { align-items:center; background:linear-gradient(115deg,#f2f7f1,#fff); border:1px solid #cbdcc9; border-radius:.75rem; box-shadow:0 9px 24px rgba(7,26,59,.06); display:grid; gap:1rem; grid-template-columns:auto 1fr auto auto; margin:1.3rem 0; padding:1rem 1.1rem; position:relative; }.member-offer-icon { align-items:center; background:var(--sage); border-radius:50%; color:#fff; display:flex; font-size:1.15rem; height:42px; justify-content:center; width:42px; }.member-offer-copy span,.member-offer-copy strong,.member-offer-copy small { display:block; }.member-offer-copy span { color:var(--sage-dark); font-size:.64rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.member-offer-copy strong { color:var(--navy); font-size:.95rem; margin:.12rem 0 .18rem; }.member-offer-copy small { color:#667187; font-size:.66rem; line-height:1.45; }.member-offer-code { align-items:center; background:#fff; border:1px dashed var(--sage); border-radius:.45rem; display:flex; overflow:hidden; }.member-offer-code code { color:var(--navy); font-size:.8rem; font-weight:800; padding:.55rem .7rem; }.member-offer-code button,.member-offer-dismiss { background:transparent; border:0; color:var(--sage-dark); font-size:.68rem; font-weight:750; padding:.55rem .7rem; }.member-offer-code button { border-left:1px solid #dce8db; }.member-offer-code button:hover,.member-offer-dismiss:hover { background:#e5f0e3; }.member-offer-dismiss { border-radius:50%; height:34px; padding:0; width:34px; }
@media (max-width:991px) { .discount-admin-layout { grid-template-columns:1fr; }.member-offer { grid-template-columns:auto 1fr auto; }.member-offer-code { grid-column:2; justify-self:start; }.member-offer-dismiss { grid-column:3; grid-row:1; } }
@media (max-width:767px) { .discount-admin-summary { grid-template-columns:1fr; }.member-offer { align-items:flex-start; grid-template-columns:auto 1fr auto; }.member-offer-code { grid-column:1/-1; justify-self:stretch; }.member-offer-code code { flex:1; }.member-offer-dismiss { grid-column:3; grid-row:1; } }
.discount-offer-sections { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:1rem; }
.discount-offer-card { border-top:4px solid var(--sage); }
.discount-offer-card form { display:grid; gap:.75rem; }
.discount-form-pair { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.discount-history-layout { grid-template-columns:1fr; }
@media (max-width:767px) { .discount-offer-sections,.discount-form-pair { grid-template-columns:1fr; } }
.catalog-art-link { color:inherit; display:block; overflow:hidden; position:relative; text-decoration:none; }
.catalog-art-link .product-art { transition:filter .22s ease,transform .22s ease; }
.catalog-art-action { align-items:center; background:rgba(7,26,59,.9); border-radius:999px; bottom:.75rem; color:#fff; display:flex; font-size:.68rem; font-weight:750; gap:.3rem; opacity:0; padding:.45rem .7rem; position:absolute; right:.75rem; transform:translateY(8px); transition:opacity .22s ease,transform .22s ease; z-index:5; }
.catalog-art-link:hover .product-art,.catalog-art-link:focus-visible .product-art { filter:saturate(1.18) brightness(1.02); transform:scale(1.025); }
.catalog-art-link:hover .catalog-art-action,.catalog-art-link:focus-visible .catalog-art-action { opacity:1; transform:translateY(0); }
.catalog-art-link:focus-visible { outline:3px solid color-mix(in srgb,var(--sage) 70%,white); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .catalog-art-link .product-art,.catalog-art-action { transition:none; } }
.catalog-product { display:flex; flex-direction:column; }
.catalog-product-body { display:flex; flex:1; flex-direction:column; width:100%; }
.catalog-product-body > a.btn { margin-top:auto!important; }
.member-offer-restore { align-items:center; background:linear-gradient(145deg,var(--sage),var(--sage-dark)); border:3px solid #fff; border-radius:50%; bottom:1.25rem; box-shadow:0 10px 28px rgba(7,26,59,.28); color:#fff; display:flex; font-size:1.15rem; height:54px; justify-content:center; position:fixed; right:1.25rem; transition:box-shadow .18s ease,transform .18s ease; width:54px; z-index:1040; }
.member-offer-restore[hidden] { display:none; }
.member-offer-restore:hover,.member-offer-restore:focus-visible { box-shadow:0 14px 34px rgba(65,104,63,.38); color:#fff; transform:translateY(-3px) scale(1.04); }
.member-offer-restore:focus-visible { outline:3px solid color-mix(in srgb,var(--sage) 55%,white); outline-offset:3px; }
@media (max-width:575px) { .member-offer-restore { bottom:1rem; height:50px; right:1rem; width:50px; } }
.age-gate-pending { overflow:hidden; }
.age-gate[hidden] { display:none; }
.age-gate { align-items:center; display:flex; inset:0; justify-content:center; padding:1.25rem; position:fixed; z-index:2000; }
.age-gate-backdrop { backdrop-filter:blur(8px); background:rgba(246,248,251,.94); inset:0; position:absolute; }
.age-gate-card { background:#fff; border:1px solid #dbe5da; border-radius:1rem; box-shadow:0 24px 70px rgba(7,26,59,.18); max-width:520px; padding:2.25rem; position:relative; text-align:center; width:100%; }
.age-gate-brand { justify-content:center; margin-bottom:1.5rem; text-decoration:none; }
.age-gate-badge { background:#edf4ec; border-radius:999px; color:var(--sage-dark); display:inline-block; font-size:.68rem; font-weight:800; letter-spacing:.1em; padding:.45rem .75rem; text-transform:uppercase; }
.age-gate-card h1 { color:var(--navy); font-size:clamp(1.75rem,5vw,2.35rem); font-weight:780; letter-spacing:-.04em; margin:1rem 0 .65rem; }
.age-gate-card > p { color:#536177; font-size:.9rem; line-height:1.65; margin-left:auto; margin-right:auto; max-width:430px; }
.age-gate-research-note { align-items:flex-start; background:#f6f9f5; border:1px solid #dbe8d9; border-radius:.55rem; display:flex; font-size:.75rem!important; gap:.6rem; padding:.8rem .9rem; text-align:left; }
.age-gate-research-note i { color:var(--sage-dark); font-size:1rem; }
.age-gate-actions { display:grid; gap:.7rem; grid-template-columns:1fr 1fr; margin:1.35rem 0 1rem; }
.age-gate-actions .btn { align-items:center; display:flex; justify-content:center; min-height:48px; }
.age-gate-card > small { color:#7a8493; display:block; font-size:.66rem; line-height:1.5; }
@media (max-width:575px) { .age-gate-card { padding:1.6rem 1.25rem; }.age-gate-actions { grid-template-columns:1fr; }.age-gate-brand { margin-bottom:1.1rem; } }
.qualification-shell { max-width:720px; }
.qualification-shell select,.policy-page input,.policy-page textarea { background:#fff; border:1px solid #dbe0e7; border-radius:.35rem; display:block; margin-top:.35rem; padding:.75rem; width:100%; }
.qualification-shell label small { color:#667187; display:block; font-size:.66rem; margin-top:.3rem; }.qualification-shell label.is-optional small { color:var(--sage-dark); }
.qualification-ack,.checkout-research-ack { align-items:flex-start; background:#f6f9f5; border:1px solid #dbe8d9; border-radius:.5rem; line-height:1.55; padding:1rem; }
.checkout-research-heading { align-items:flex-start; display:flex; justify-content:space-between; }.checkout-research-heading p { color:#667187; font-size:.7rem; }.checkout-research-heading a { color:var(--sage-dark); font-size:.72rem; font-weight:750; }
.research-order-review small { color:var(--sage-dark); font-size:.7rem; }
.policy-page { background:#f7f9fb; padding:3rem 0 4rem; }.policy-page h1 { color:var(--navy); font-size:clamp(2rem,5vw,3.2rem); font-weight:780; letter-spacing:-.045em; }.policy-intro { color:#59677a; line-height:1.7; max-width:780px; }.policy-nav { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.5rem 0 2rem; }.policy-nav a { background:#fff; border:1px solid #cbdcc9; border-radius:999px; color:var(--sage-dark); font-size:.7rem; font-weight:750; padding:.55rem .8rem; text-decoration:none; }.policy-nav a:hover,.policy-nav a:focus-visible { background:#e8f1e7; }
.policy-card { background:#fff; border:1px solid #e0e5ea; border-radius:.7rem; box-shadow:0 8px 24px rgba(7,26,59,.04); margin:1rem 0; padding:1.5rem; scroll-margin-top:1rem; }.policy-card h2 { color:var(--navy); font-size:1.25rem; }.policy-card h3 { color:var(--sage-dark); font-size:.95rem; margin-top:1.3rem; }.policy-card p { color:#526076; font-size:.8rem; line-height:1.75; }.policy-review-note { align-items:flex-start; background:#edf4ec; border-left:4px solid var(--sage); border-radius:.4rem; display:flex; font-size:.76rem; gap:.7rem; margin-top:1.5rem; padding:1rem; }.policy-review-note a { color:var(--sage-dark); font-weight:750; }
.contact-layout { display:grid; gap:1rem; grid-template-columns:.75fr 1.25fr; }.contact-layout .policy-card { margin:0; }.contact-form { display:grid; gap:.8rem; }.contact-form label { color:var(--navy); font-size:.7rem; font-weight:700; }.contact-form textarea { min-height:150px; resize:vertical; }
.footer-bottom .container { align-items:flex-start; display:flex; gap:2rem; justify-content:space-between; }.footer-bottom .container span:last-child { line-height:1.5; max-width:720px; text-align:right; }
@media (max-width:767px) { .contact-layout { grid-template-columns:1fr; }.footer-bottom .container { display:block; }.footer-bottom .container span:last-child { margin-top:.5rem; max-width:none; text-align:left; } }
.researcher-profile-summary { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }.researcher-profile-summary > div { background:#f6f9f5; border:1px solid #dbe8d9; border-radius:.45rem; padding:.8rem; }.researcher-profile-summary span,.researcher-profile-summary strong { display:block; }.researcher-profile-summary span { color:#667187; font-size:.66rem; text-transform:uppercase; }.researcher-profile-summary strong { color:var(--navy); font-size:.82rem; margin-top:.25rem; }
@media (max-width:575px) { .researcher-profile-summary { grid-template-columns:1fr; } }
.referral-page { background:#f7f9fb; }
.referral-reward-card { background:linear-gradient(135deg,#f2f8f1,#fff); border-color:#c8ddc5; }
.referral-code-row { align-items:center; background:#fff; border:1px dashed var(--sage); border-radius:.55rem; display:flex; gap:1rem; justify-content:space-between; margin:1rem 0; padding:1rem; }
.referral-code-row code { color:var(--navy); font-size:1.15rem; font-weight:800; letter-spacing:.06em; }
.referral-code-row span { color:#667187; font-size:.7rem; }
.referral-link-control { display:grid; gap:.7rem; grid-template-columns:1fr auto; margin:1rem 0 .4rem; }
.referral-link-control input { background:#f7f9fb; border:1px solid #dbe0e7; border-radius:.4rem; color:#33435a; min-width:0; padding:.8rem; }
.referral-email-form { align-items:end; border-top:1px solid #e3e8ec; display:grid; gap:.8rem; grid-template-columns:1fr auto; margin-top:1.4rem; padding-top:1.4rem; }
.referral-email-form label { color:var(--navy); font-size:.7rem; font-weight:700; }
.referral-email-form input { background:#fff; border:1px solid #dbe0e7; border-radius:.4rem; display:block; margin-top:.35rem; padding:.75rem; width:100%; }
.referral-email-form .btn { min-height:46px; }
.referral-stats { display:grid; gap:1rem; grid-template-columns:repeat(3,1fr); margin:1.25rem 0; }
.referral-stats > div { background:#fff; border:1px solid #dfe5ea; border-radius:.65rem; box-shadow:0 6px 20px rgba(7,26,59,.04); padding:1.2rem; }
.referral-stats span,.referral-stats strong { display:block; }
.referral-stats span { color:#667187; font-size:.68rem; }
.referral-stats strong { color:var(--navy); font-size:1.7rem; margin-top:.3rem; }
.referral-terms ol { color:#526076; line-height:1.65; margin-bottom:0; padding-left:1.2rem; }
.referral-terms li + li { margin-top:.55rem; }
@media (max-width:767px) { .referral-link-control,.referral-email-form { grid-template-columns:1fr; }.referral-stats { grid-template-columns:1fr; }.referral-code-row { align-items:flex-start; flex-direction:column; } }
.admin-user-card .member-number { background:#edf4ec; border-radius:999px; color:var(--sage-dark); display:inline-block; font-size:.68rem; letter-spacing:.06em; padding:.18rem .48rem; }
.admin-user-orders { background:#f7faf7; border:1px solid #dce8dc; border-radius:.65rem; margin-bottom:1rem; padding:1rem; }.admin-user-orders h3 { align-items:center; color:var(--sage-dark); display:flex; font-size:1rem; gap:.5rem; margin-bottom:.8rem; }.admin-user-orders h3 span { background:#fff; border-radius:999px; font-size:.72rem; padding:.2rem .5rem; }.admin-user-order { background:#fff; border:1px solid var(--line); border-radius:.5rem; margin:.5rem 0; overflow:hidden; }.admin-user-order > summary { padding:.8rem 1rem; }.admin-user-order-body { border-top:1px solid var(--line); display:grid; gap:1rem; grid-template-columns:1fr 240px; padding:1rem; }.admin-user-order-body p { border-bottom:1px solid #edf0f3; display:flex; font-size:.78rem; justify-content:space-between; margin:0; padding:.4rem 0; }.admin-user-order-body dl { display:grid; font-size:.76rem; grid-template-columns:1fr auto; margin:0; }.admin-user-order-body dt,.admin-user-order-body dd { border-bottom:1px solid var(--line); margin:0; padding:.3rem; }.admin-user-section { border:1px solid var(--line); border-radius:.6rem; margin:.75rem 0; overflow:hidden; }.admin-user-section > summary { background:#fbfcfd; color:var(--ink); font-size:.86rem; font-weight:750; padding:.9rem 1rem; }.admin-user-section > summary i { color:var(--sage); margin-right:.45rem; }.admin-user-section-body { border-top:1px solid var(--line); padding:1rem; }.admin-user-section .admin-user-meta { margin-bottom:0; }.admin-user-section .admin-edit-grid { margin-top:1rem; }
@media(max-width:767px) { .admin-user-order-body { grid-template-columns:1fr; } }
.site-admin-primary { background:linear-gradient(135deg,#f2f8f1,#fff); border-color:#c8ddc5; }
.site-admin-identity { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
.site-admin-identity strong,.site-admin-identity small { display:block; }.site-admin-identity small { color:#667187; font-size:.68rem; margin-top:.25rem; }
.site-admin-form { display:grid; gap:1.1rem; }.site-admin-form > label { color:var(--navy); font-size:.72rem; font-weight:700; }.site-admin-form > label input { border:1px solid #dbe0e7; border-radius:.4rem; display:block; margin-top:.4rem; padding:.8rem; width:100%; }
.site-admin-form fieldset { border:1px solid #dfe5ea; border-radius:.55rem; padding:1rem; }.site-admin-form legend { color:var(--navy); float:none; font-size:.78rem; font-weight:750; padding:0 .3rem; width:auto; }
.site-admin-permissions { display:grid; gap:.6rem; grid-template-columns:repeat(3,minmax(0,1fr)); }.site-admin-permissions label { cursor:pointer; }.site-admin-permissions input { position:absolute; opacity:0; }.site-admin-permissions span { align-items:center; background:#fff; border:1px solid #cbd8c9; border-radius:.45rem; color:var(--sage-dark); display:flex; font-size:.7rem; font-weight:700; gap:.45rem; min-height:44px; padding:.65rem .75rem; }.site-admin-permissions input:checked + span { background:#e8f1e7; border-color:var(--sage); box-shadow:inset 0 0 0 1px var(--sage); }.site-admin-permissions input:focus-visible + span { outline:3px solid rgba(93,135,89,.25); }
.site-admin-list { display:grid; gap:1rem; }.site-admin-list article { border:1px solid #dfe5ea; border-radius:.6rem; padding:1.1rem; }.site-admin-permission-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0; }.site-admin-permission-tags span { background:#edf4ec; border-radius:999px; color:var(--sage-dark); font-size:.65rem; font-weight:700; padding:.35rem .6rem; }
.site-admin-actions { align-items:flex-start; display:flex; gap:.6rem; }.site-admin-actions details { flex:1; }.site-admin-actions details summary { display:inline-block; list-style:none; }.site-admin-actions details[open] summary { margin-bottom:.8rem; }.site-admin-actions details form { background:#f7f9fb; border-radius:.5rem; padding:1rem; }.site-admin-actions details form .btn { margin-top:.8rem; }
@media (max-width:767px) { .site-admin-permissions { grid-template-columns:1fr; }.site-admin-identity,.site-admin-actions { align-items:flex-start; flex-direction:column; } }
.address-search{grid-column:1/-1;background:#f3f7f1;border:1px solid #d5e2d1;border-radius:10px;padding:14px;margin:8px 0 16px;display:grid;gap:9px;color:#243a2a}
.address-search[hidden]{display:none}
.address-search small{font-size:12px;line-height:1.5;color:#52644f}
.address-search gmp-place-autocomplete{width:100%;color-scheme:light}
.admin-order-detail .admin-order-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.admin-order-detail .admin-order-grid p,.admin-order-detail .admin-order-grid address { font-size:.9rem; overflow-wrap:anywhere; }
.admin-order-detail .admin-order-grid h4 { color:#41683f; font-size:.8rem; letter-spacing:.04em; }
.admin-order-detail .admin-order-form,.admin-order-detail .admin-order-item-editor,.admin-order-detail .order-email-events { padding:1rem; margin:1rem 0; border:1px solid #dce6dc; border-radius:12px; background:#fff; }
.admin-order-detail .order-totals { background:#edf4ec; padding:1rem; border-radius:12px; max-width:420px; font-size:.95rem; }
.admin-orders-table small { font-size:.82rem; line-height:1.6; }
@media(max-width:767px) { .admin-order-detail .admin-order-grid { grid-template-columns:1fr; } .admin-order-heading { flex-direction:column; gap:1rem; } }
