/* Blood Clinic results dashboard - self-contained, scoped under .bclml-results
   so it drops into the WooCommerce My Account area without leaking styles.
   Dark / gold / Poppins house style, matched to the booking diary. */
.bclml-results{
  --bg:#0A0A0A; --card:#141414; --raise:#1C1C1C; --raise-2:#242424;
  --ink:#FFFFFF; --ink-soft:#B4B4B4; --ink-dim:#7A7A7A;
  --gold:#E6BB03; --gold-2:#F5CE2E; --gold-ink:#161100;
  --gold-wash:rgba(230,187,3,.13); --gold-line:rgba(230,187,3,.38);
  --red:#E5484D; --red-wash:rgba(229,72,77,.13); --red-line:rgba(229,72,77,.42);
  --green:#3FB27F; --green-wash:rgba(63,178,127,.14); --green-line:rgba(63,178,127,.4);
  /* "No verdict possible" — outside the in/out scale on purpose. Lifted for the
     dark surface; the PDF uses #5B8DB8 on white for the same meaning. */
  --blue:#6FADE4; --blue-wash:rgba(111,173,228,.14); --blue-line:rgba(111,173,228,.42);
  --line:#2A2A2A; --line-soft:#202020; --r:16px; --r-sm:11px;
  font-family:'Poppins',system-ui,sans-serif; color:var(--ink); line-height:1.5;
  -webkit-font-smoothing:antialiased; width:100%;
  /* Dark app surface. The WooCommerce account layout is widened on this endpoint
     (see body.woocommerce-account rules below) so this panel gets the full
     content width; the inner wrapper then centers content in a comfortable
     max-width so it reads as an intentional app, not a stretched dark void. */
  background:var(--bg); padding:34px clamp(18px,3vw,40px) 44px;
  border:1px solid var(--line); border-radius:20px;
}
/* Centered, max-width inner wrapper. */
.bclml-results .bcr-inner{max-width:1180px;margin:0 auto}

/* ============================================================
   Account app shell — our own full-width chrome for the WHOLE My Account area
   (wrapper + nav overridden via woocommerce_locate_template). This stylesheet
   enqueues on every account page; rules are scoped to body.woocommerce-account
   so they beat the theme's own float/width/padding without leaking off-page.
   ============================================================ */
/* Neutralise WooCommerce/theme's two-column float + any clipping so our shell
   owns the layout and fills the available width. */
body.woocommerce-account .woocommerce{display:block;width:100%;max-width:none;overflow:visible}
body.woocommerce-account .entry-content,
body.woocommerce-account .e-con,
body.woocommerce-account .e-con-inner,
body.woocommerce-account .elementor-widget-container{overflow:visible}

.bclml-acct{font-family:'Poppins',system-ui,sans-serif;width:100%;background:#0A0A0A;border:1px solid #2A2A2A;border-radius:20px;overflow:hidden;color:#fff}
.bclml-acct *{box-sizing:border-box}
.bclml-acct-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #1E1E1E;background:linear-gradient(180deg,#161616,#0B0B0B)}
.bclml-acct-brand{font-size:16px;font-weight:700;letter-spacing:-.01em;color:#fff;display:flex;align-items:center;gap:11px}
.bclml-acct-brand::before{content:"";width:10px;height:10px;border-radius:50%;background:#E6BB03;box-shadow:0 0 0 4px rgba(230,187,3,.14)}
.bclml-acct-burger{display:none !important;align-items:center;gap:8px;font-family:inherit;font-size:13px;font-weight:600;color:#E6BB03 !important;background:#141414 !important;border:1px solid #3A2E00 !important;border-radius:999px;padding:8px 14px;cursor:pointer}
.bclml-acct-burger svg{width:18px;height:18px}

/* Nav strip (body-scoped so it beats theme's float:left / width:30%). */
body.woocommerce-account nav.bclml-acct-nav{float:none;width:100%;max-width:none;margin:0;padding:14px 24px;border-bottom:1px solid #1E1E1E;background:#0C0C0C}
body.woocommerce-account nav.bclml-acct-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
body.woocommerce-account nav.bclml-acct-nav li{margin:0;padding:0;border:0;background:none}
body.woocommerce-account nav.bclml-acct-nav a{display:inline-block;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:#B4B4B4;background:#141414;border:1px solid #2A2A2A;text-decoration:none;transition:.15s}
body.woocommerce-account nav.bclml-acct-nav a:hover,
body.woocommerce-account nav.bclml-acct-nav a:focus{color:#161100 !important;background:#E6BB03 !important;border-color:#E6BB03 !important}
body.woocommerce-account nav.bclml-acct-nav li.is-active a{color:#161100 !important;background:#E6BB03 !important;border-color:#E6BB03 !important}

/* Content region (body-scoped to beat theme padding/width). */
body.woocommerce-account .bclml-acct-content{float:none;width:100%;max-width:none;margin:0;padding:26px 24px;color:#B4B4B4}
body.woocommerce-account .bclml-acct-content h1,
body.woocommerce-account .bclml-acct-content h2,
body.woocommerce-account .bclml-acct-content h3{color:#fff}
body.woocommerce-account .bclml-acct-content a{color:#E6BB03}
body.woocommerce-account .bclml-acct-content a:hover{color:#F5CE2E}
body.woocommerce-account .bclml-acct-content table.shop_table,
body.woocommerce-account .bclml-acct-content table.shop_table th,
body.woocommerce-account .bclml-acct-content table.shop_table td,
body.woocommerce-account .bclml-acct-content .woocommerce-Address{border-color:#2A2A2A !important;color:#B4B4B4}
body.woocommerce-account .bclml-acct-content input:not([type=checkbox]):not([type=radio]),
body.woocommerce-account .bclml-acct-content select,
body.woocommerce-account .bclml-acct-content textarea{background:#141414;border:1px solid #2A2A2A;color:#fff}

/* Premium detail: a fine gold gradient hairline across the very top. */
.bclml-acct{position:relative}
.bclml-acct::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#E6BB03 30%,#C8A44D 70%,transparent);opacity:.75;z-index:1}
body.woocommerce-account nav.bclml-acct-nav li.is-active a{box-shadow:0 5px 16px -6px rgba(230,187,3,.55)}

/* Results panel blends into the shell (its own frame would double up). */
.bclml-acct .bclml-results{background:transparent;border:0;border-radius:0;padding:0}

/* ============================================================
   Premium reskin of the default WooCommerce tabs (orders, downloads,
   addresses, account details) so no tab looks like stock WooCommerce.
   ============================================================ */
body.woocommerce-account .bclml-acct-content{font-size:14px;line-height:1.6}
body.woocommerce-account .bclml-acct-content p{color:#B4B4B4}
body.woocommerce-account .bclml-acct-content h2,
body.woocommerce-account .bclml-acct-content h3{color:#fff;font-weight:700;letter-spacing:-.01em;margin-top:0}
body.woocommerce-account .bclml-acct-content strong{color:#EDEDED}
/* Tables */
body.woocommerce-account .bclml-acct-content table.shop_table,
body.woocommerce-account .bclml-acct-content table.woocommerce-orders-table,
body.woocommerce-account .bclml-acct-content table.woocommerce-MyAccount-downloads{
  border:1px solid #232323;border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#101010;width:100%;margin:0 0 20px;
}
body.woocommerce-account .bclml-acct-content table.shop_table thead th{background:#151515;color:#E6BB03;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:14px 16px;border:0;border-bottom:1px solid #232323}
body.woocommerce-account .bclml-acct-content table.shop_table td{padding:14px 16px;border:0;border-top:1px solid #1E1E1E;color:#C8C8C8;background:transparent}
body.woocommerce-account .bclml-acct-content table.shop_table tbody tr:hover td{background:#141414}
body.woocommerce-account .bclml-acct-content table.shop_table tfoot th,
body.woocommerce-account .bclml-acct-content table.shop_table tfoot td{border-top:1px solid #232323;color:#EDEDED;padding:12px 16px}
/* Buttons */
body.woocommerce-account .bclml-acct-content .button,
body.woocommerce-account .bclml-acct-content .woocommerce-button,
body.woocommerce-account .bclml-acct-content button[type=submit],
body.woocommerce-account .bclml-acct-content input[type=submit]{
  background:#E6BB03 !important;color:#161100 !important;border:0 !important;border-radius:999px !important;
  padding:11px 20px !important;font-weight:600 !important;font-family:inherit !important;box-shadow:none !important;
  cursor:pointer;transition:background .16s,transform .16s;
}
body.woocommerce-account .bclml-acct-content .button:hover,
body.woocommerce-account .bclml-acct-content button[type=submit]:hover,
body.woocommerce-account .bclml-acct-content input[type=submit]:hover{background:#F5CE2E !important;transform:translateY(-1px)}
body.woocommerce-account .bclml-acct-content .button.view{padding:8px 15px !important;font-size:12.5px !important}
/* Address / detail cards */
body.woocommerce-account .bclml-acct-content .woocommerce-Address,
body.woocommerce-account .bclml-acct-content .woocommerce-column__1,
body.woocommerce-account .bclml-acct-content .woocommerce-column__2{
  background:#101010;border:1px solid #232323;border-radius:14px;padding:20px 22px;
}
body.woocommerce-account .bclml-acct-content address{color:#B4B4B4;font-style:normal;line-height:1.7}
/* Forms */
body.woocommerce-account .bclml-acct-content label{color:#B4B4B4;font-size:13px;font-weight:500}
body.woocommerce-account .bclml-acct-content input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
body.woocommerce-account .bclml-acct-content select,
body.woocommerce-account .bclml-acct-content textarea{
  background:#141414 !important;border:1px solid #2A2A2A !important;color:#fff !important;border-radius:10px !important;padding:11px 13px !important;
}
body.woocommerce-account .bclml-acct-content input:focus,
body.woocommerce-account .bclml-acct-content select:focus,
body.woocommerce-account .bclml-acct-content textarea:focus{border-color:#E6BB03 !important;outline:none !important;box-shadow:none !important}
/* Notices */
body.woocommerce-account .bclml-acct-content .woocommerce-message,
body.woocommerce-account .bclml-acct-content .woocommerce-info,
body.woocommerce-account .bclml-acct-content .woocommerce-Message,
body.woocommerce-account .bclml-acct-content .woocommerce-notice{
  background:#101010;border:1px solid #232323;border-left:3px solid #E6BB03;color:#C8C8C8;border-radius:10px;padding:14px 16px;
}
/* Status marks */
body.woocommerce-account .bclml-acct-content mark,
body.woocommerce-account .bclml-acct-content .order-status{background:transparent;color:#E6BB03;font-weight:600}
/* Pagination */
body.woocommerce-account .bclml-acct-content .woocommerce-pagination a,
body.woocommerce-account .bclml-acct-content .woocommerce-pagination span{border:1px solid #2A2A2A !important;background:#141414 !important;color:#B4B4B4 !important;border-radius:8px}
body.woocommerce-account .bclml-acct-content .woocommerce-pagination .current{background:#E6BB03 !important;color:#161100 !important;border-color:#E6BB03 !important}

@media(max-width:600px){
  .bclml-acct{border-radius:16px}
  .bclml-acct-bar{padding:15px 16px}
  .bclml-acct-burger{display:inline-flex !important}
  body.woocommerce-account nav.bclml-acct-nav{display:none;padding:12px 16px 16px}
  .bclml-acct.nav-open nav.bclml-acct-nav{display:block}
  body.woocommerce-account nav.bclml-acct-nav ul{flex-direction:column;gap:6px}
  body.woocommerce-account nav.bclml-acct-nav a{display:block}
  body.woocommerce-account .bclml-acct-content{padding:16px}
}
/* Belt-and-braces: header text stays readable on any theme. */
.bclml-results .bcr-title{color:var(--ink)}
.bclml-results .bcr-lede{color:var(--ink-soft)}
.bclml-results *{box-sizing:border-box}
.bclml-results .num{font-variant-numeric:tabular-nums}

/* Reveal animation (JS toggles .bcr-in) */
.bclml-results [data-reveal]{opacity:0;transform:translateY(12px);will-change:opacity,transform}
.bclml-results [data-reveal].bcr-in{opacity:1;transform:none;transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){
  .bclml-results [data-reveal]{opacity:1;transform:none}
  .bclml-results [data-reveal].bcr-in{transition:none}
}

/* Header */
.bclml-results .bcr-top{margin-bottom:26px}
.bclml-results .bcr-title{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.bclml-results .bcr-lede{font-size:13px;color:var(--ink-soft);max-width:56ch;margin:0}

/* Empty state */
.bclml-results .bcr-empty{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:46px 28px;text-align:center;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.7);
}
.bclml-results .bcr-empty-ic{
  display:inline-grid;place-items:center;width:60px;height:60px;border-radius:16px;
  background:var(--gold-wash);border:1px solid var(--gold-line);margin-bottom:18px;
}
.bclml-results .bcr-empty-ic svg{width:28px;height:28px;color:var(--gold-2)}
.bclml-results .bcr-empty h3{font-size:18px;font-weight:600;margin:0 0 6px;color:var(--ink)}
.bclml-results .bcr-empty p{font-size:13.5px;color:var(--ink-soft);max-width:40ch;margin:0 auto}

/* Registration card */
.bclml-results .bcr-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 24px 24px;margin-bottom:22px;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.7);
  background-image:radial-gradient(680px 220px at 100% -30%, rgba(230,187,3,.06), rgba(0,0,0,0) 62%);
}
.bclml-results .bcr-card-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:18px;border-bottom:1px solid var(--line-soft);
}
.bclml-results .bcr-card-name{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0 0 8px}
.bclml-results .bcr-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bclml-results .bcr-meta-date{font-size:12.5px;color:var(--ink-soft)}
.bclml-results .bcr-badge{
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap;
}
.bclml-results .bcr-badge--ready{color:var(--green);background:var(--green-wash);border-color:var(--green-line)}
.bclml-results .bcr-badge--pending{color:var(--gold-2);background:var(--gold-wash);border-color:var(--gold-line)}

/* Download button */
.bclml-results .bcr-download{
  flex:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:600;color:var(--gold-ink);
  background:var(--gold);border:0;border-radius:var(--r-sm);padding:11px 15px;
  transition:background .16s,transform .16s,opacity .16s;
}
.bclml-results .bcr-download svg{width:16px;height:16px}
.bclml-results .bcr-download:hover{background:var(--gold-2);transform:translateY(-1px)}
.bclml-results .bcr-download:disabled{cursor:default;opacity:.75;transform:none}

/* Report button in the health snapshot: the latest report is the thing most
   people come here for, so it sits with the headline figures. */
/* stretch, not center: the download button has no border and the consultation
   button has a 1px one, so left to their own devices they end up different
   heights sitting side by side. */
.bclml-results .bcr-hero-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin-top:18px}
.bclml-results .bcr-download--hero{padding:12px 18px;font-size:13.5px;box-shadow:0 6px 18px rgba(230,187,3,.16)}
/* The note describes the download, so it sits on its own line under both
   buttons rather than trailing the second one as if it applied to it. */
.bclml-results .bcr-hero-actions-note{font-size:11.5px;color:var(--ink-dim);flex:1 1 100%}
/* "Book consultation" — outline sibling to the solid download button. Its 1px
   border is taken out of the padding so both buttons are the same height. */
.bclml-results .bcr-consult{
  flex:none;display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--gold-2);
  background:transparent;border:1px solid var(--gold-line);border-radius:var(--r-sm);
  padding:11px 17px;transition:background .16s,border-color .16s,transform .16s;
}
.bclml-results .bcr-consult svg{width:16px;height:16px}
/* "Get your results as an app" — its own card directly under the snapshot, so
   it is actually seen. Gold-washed to read as an offer rather than an alert,
   and dismissable for good, because nagging on every visit is worse than not
   asking at all. */
.bclml-results .bcr-appcard{
  display:flex;align-items:center;gap:16px;margin-top:16px;
  background:var(--gold-wash);border:1px solid var(--gold-line);border-radius:var(--r);
  padding:16px 18px;
}
.bclml-results .bcr-appcard-ic{
  flex:none;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:rgba(0,0,0,.25);color:var(--gold-2);
}
.bclml-results .bcr-appcard-ic svg{width:20px;height:20px}
.bclml-results .bcr-appcard-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.bclml-results .bcr-appcard-h{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.bclml-results .bcr-appcard-p{font-size:12.5px;color:var(--ink-soft);line-height:1.5}
.bclml-results .bcr-appcard-act{flex:none;display:flex;align-items:center;gap:8px}
.bclml-results .bcr-appcard-go{
  cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;
  color:var(--gold-ink);background:var(--gold);border:0;border-radius:var(--r-sm);
  padding:10px 16px;white-space:nowrap;transition:background .16s,transform .16s;
}
.bclml-results .bcr-appcard-go:hover,.bclml-results .bcr-appcard-go:focus-visible{background:var(--gold-2);transform:translateY(-1px)}
.bclml-results .bcr-appcard-no{
  cursor:pointer;font-family:inherit;font-size:20px;line-height:1;color:var(--ink-dim);
  background:transparent;border:0;padding:6px 8px;border-radius:var(--r-sm);
}
.bclml-results .bcr-appcard-no:hover,.bclml-results .bcr-appcard-no:focus-visible{color:var(--ink)}
/* Showing the iOS steps: the text is the point, so let it breathe. */
.bclml-results .bcr-appcard.is-howto .bcr-appcard-p{color:var(--ink)}
@media(max-width:600px){
  .bclml-results .bcr-appcard{flex-wrap:wrap;gap:12px;padding:14px}
  .bclml-results .bcr-appcard-ic{width:36px;height:36px}
  .bclml-results .bcr-appcard-act{flex:1 1 100%;justify-content:space-between}
  .bclml-results .bcr-appcard-go{flex:1 1 auto}
}
.bclml-results .bcr-consult:hover,.bclml-results .bcr-consult:focus-visible{
  background:var(--gold-wash);border-color:var(--gold);color:var(--gold-2);transform:translateY(-1px);
}
@media(max-width:600px){
  .bclml-results .bcr-hero-actions{margin-top:14px}
  .bclml-results .bcr-download--hero,
  .bclml-results .bcr-consult{flex:1 1 auto;justify-content:center}
  .bclml-results .bcr-hero-actions-note{flex:1 1 100%}
}

/* In-progress / no data */
.bclml-results .bcr-inprogress{
  display:flex;align-items:center;gap:12px;margin-top:18px;
  background:var(--raise);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px;
}
.bclml-results .bcr-inprogress p{font-size:13px;color:var(--ink-soft);margin:0}
.bclml-results .bcr-pulse{
  flex:none;width:10px;height:10px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 0 var(--gold-line);animation:bcr-pulse 1.8s ease-out infinite;
}
@keyframes bcr-pulse{0%{box-shadow:0 0 0 0 rgba(230,187,3,.5)}70%{box-shadow:0 0 0 9px rgba(230,187,3,0)}100%{box-shadow:0 0 0 0 rgba(230,187,3,0)}}
@media(prefers-reduced-motion:reduce){.bclml-results .bcr-pulse{animation:none}}

/* Summary strip */
.bclml-results .bcr-summary{
  display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 6px;
}
.bclml-results .bcr-stat{
  flex:1 1 120px;background:var(--raise);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:14px 16px;display:flex;flex-direction:column;gap:2px;
}
.bclml-results .bcr-stat-num{font-size:21px;font-weight:700;line-height:1;letter-spacing:-.02em}
.bclml-results .bcr-stat-lbl{font-size:11.5px;color:var(--ink-soft);letter-spacing:.02em}
.bclml-results .bcr-stat--good{border-color:var(--green-line);background:var(--green-wash)}
.bclml-results .bcr-stat--good .bcr-stat-num{color:var(--green)}
.bclml-results .bcr-stat--flag{border-color:var(--red-line);background:var(--red-wash)}
.bclml-results .bcr-stat--flag .bcr-stat-num{color:var(--red)}

/* Category group */
.bclml-results .bcr-group{margin-top:24px}
.bclml-results .bcr-group-title{
  font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--gold);margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line-soft);
}
.bclml-results .bcr-markers{list-style:none;margin:0;padding:0;display:grid;gap:11px}

/* Biomarker row */
.bclml-results .bcr-marker{
  background:var(--raise);border:1.5px solid var(--line);border-radius:var(--r-sm);
  padding:15px 17px;transition:border-color .18s,background .18s;
}
.bclml-results .bcr-marker:hover{border-color:var(--gold-line);background:var(--raise-2)}
.bclml-results .bcr-marker.is-out{border-color:var(--red-line);background:linear-gradient(180deg,var(--red-wash),rgba(0,0,0,0))}
.bclml-results .bcr-marker-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.bclml-results .bcr-marker-name{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink)}
.bclml-results .bcr-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--green)}
.bclml-results .bcr-marker.is-out .bcr-dot{background:var(--red)}
.bclml-results .bcr-marker-value{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.bclml-results .bcr-val{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.bclml-results .bcr-marker.is-out .bcr-val{color:var(--red)}
.bclml-results .bcr-unit{font-size:12px;color:var(--ink-soft)}
.bclml-results .bcr-flag{
  font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--red);background:var(--red-wash);border:1px solid var(--red-line);
  padding:2px 8px;border-radius:999px;
}
/* "Check range": markers the lab gave us no numeric range for, so no in/out
   decision was possible. Blue deliberately sits outside the green/amber/red
   scale, because those three state a verdict and this is the absence of one.
   Matches .st-check in the PDF report so both surfaces say the same thing. */
.bclml-results .bcr-check{
  font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-wash);border:1px solid var(--blue-line);
  padding:2px 8px;border-radius:999px;
}
.bclml-results .bcr-marker.is-check{border-color:var(--blue-line)}
.bclml-results .bcr-marker.is-check .bcr-dot{background:var(--blue)}
.bclml-results .bcr-val-pill.is-check{color:var(--blue);background:var(--blue-wash);border-color:var(--blue-line)}
/* Written ranges wrap over several lines, so they read as a sentence rather
   than as a figure. */
.bclml-results .bcr-rec--text{font-weight:500;color:var(--ink-soft);line-height:1.45}

/* Range gauge */
.bclml-results .bcr-gauge-wrap{margin-top:13px}
.bclml-results .bcr-gauge{display:block;width:100%;height:auto;overflow:visible}
.bclml-results .bcr-gauge-track{fill:var(--line)}
.bclml-results .bcr-gauge-band{fill:var(--green-wash);stroke:var(--green-line);stroke-width:.4}
.bclml-results .bcr-gauge--out .bcr-gauge-band{fill:var(--green-wash);stroke:var(--green-line)}
.bclml-results .bcr-gauge-stem{stroke:var(--gold-ink);stroke-width:.9;opacity:.35}
.bclml-results .bcr-gauge-marker{
  fill:var(--green);stroke:var(--card);stroke-width:1;
  transform-box:fill-box;transform-origin:center;animation:bcr-pop .5s cubic-bezier(.2,.9,.3,1.4) both;
}
.bclml-results .bcr-gauge--in .bcr-gauge-marker{fill:var(--green)}
.bclml-results .bcr-gauge--out .bcr-gauge-marker{fill:var(--red)}
@keyframes bcr-pop{from{transform:scale(0)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.bclml-results .bcr-gauge-marker{animation:none}}

.bclml-results .bcr-range{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:7px;
  font-size:11.5px;color:var(--ink-dim);
}
.bclml-results .bcr-range .num{color:var(--ink-soft);font-weight:600}
.bclml-results .bcr-range-lbl{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}
.bclml-results .bcr-range--plain{margin-top:11px;justify-content:flex-start;gap:8px}

/* Trend sparkline */
.bclml-results .bcr-trend{margin-top:14px;padding-top:13px;border-top:1px dashed var(--line)}
.bclml-results .bcr-trend-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.bclml-results .bcr-trend-lbl{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.bclml-results .bcr-trend-count{font-size:11px;color:var(--ink-dim)}
.bclml-results .bcr-spark{display:block;width:100%;height:auto;overflow:visible}
.bclml-results .bcr-spark-band{fill:var(--green-wash)}
.bclml-results .bcr-spark-line{
  fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:220;stroke-dashoffset:220;animation:bcr-draw 1.1s ease-out .12s forwards;
}
.bclml-results .bcr-spark-dot{fill:var(--gold-2);stroke:var(--card);stroke-width:1;opacity:0;animation:bcr-fade .3s ease-out 1s forwards}
@keyframes bcr-draw{to{stroke-dashoffset:0}}
@keyframes bcr-fade{to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .bclml-results .bcr-spark-line{stroke-dashoffset:0;animation:none}
  .bclml-results .bcr-spark-dot{opacity:1;animation:none}
}

.bclml-results .bcr-comment{
  margin:12px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-soft);
  padding:11px 13px;background:var(--card);border:1px solid var(--line-soft);border-radius:9px;
}

/* Gold hover everywhere (override any theme pink/blue link + button hover).
   Uses !important + high specificity because storefront/WooCommerce themes
   set link+button hover colours with heavier selectors than a plain scope. */
.bclml-results a{color:var(--gold);text-decoration:none}
.bclml-results a:hover,.bclml-results a:focus,
.bclml-results a:active,.bclml-results a:focus-visible{color:var(--gold-2) !important;text-decoration:none}
.bclml-results button{color:inherit}
.bclml-results button:focus,.bclml-results a:focus{outline:none}
/* keep the branded control hovers winning over the theme */
.bclml-results .bcr-mini:hover,.bclml-results .bcr-mini:focus{color:var(--gold-ink) !important;background:var(--gold) !important;border-color:var(--gold) !important}
.bclml-results .bcr-download:hover,.bclml-results .bcr-download:focus{background:var(--gold-2) !important;color:var(--gold-ink) !important}
.bclml-results .bcr-acc-toggle:hover .bcr-card-name,
.bclml-results .bcr-acc-toggle:hover .bcr-group-name{color:var(--gold-2) !important}
.bclml-results .bcr-acc-toggle:hover .bcr-chev{color:var(--gold) !important}
.bclml-results .bcr-modal-x:hover{color:var(--gold) !important;border-color:var(--gold) !important}

/* WooCommerce account nav: turn the active/hover pink gold, on our pages only.
   Scoped to the results endpoint body class WooCommerce adds, so it never
   leaks to the wider site. */
.woocommerce-account.woocommerce-page .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:#B8912E !important}

/* Accordion toggles: neutralise theme pink in EVERY state (hover/focus/active/
   focus-visible), including any pink focus ring, then re-assert our colours. */
.bclml-results .bcr-acc-toggle,
.bclml-results .bcr-acc-toggle:hover,
.bclml-results .bcr-acc-toggle:focus,
.bclml-results .bcr-acc-toggle:focus-visible,
.bclml-results .bcr-acc-toggle:active{
  color:inherit !important;outline:none !important;box-shadow:none !important;
}
.bclml-results .bcr-acc-toggle:focus .bcr-card-name,
.bclml-results .bcr-acc-toggle:active .bcr-card-name{color:var(--ink) !important}
.bclml-results .bcr-acc-toggle:hover .bcr-card-name{color:var(--gold-2) !important}
.bclml-results .bcr-acc-toggle:focus .bcr-group-name,
.bclml-results .bcr-acc-toggle:active .bcr-group-name,
.bclml-results .bcr-acc.is-open>.bcr-acc-toggle .bcr-group-name{color:var(--gold) !important}
.bclml-results .bcr-acc-toggle:focus .bcr-chev,
.bclml-results .bcr-acc-toggle:active .bcr-chev{color:var(--gold) !important}
/* THE pink fix: Elementor paints focused/active/open buttons with its accent
   (pink) as a BACKGROUND. Force our own background on the toggles in every
   state so the open test-card header can never go pink. */
.bclml-results .bcr-card>.bcr-acc-toggle,
.bclml-results .bcr-card>.bcr-acc-toggle:focus,
.bclml-results .bcr-card>.bcr-acc-toggle:active,
.bclml-results .bcr-card>.bcr-acc-toggle:focus-visible,
.bclml-results .bcr-card.is-open>.bcr-acc-toggle{background:transparent !important}
.bclml-results .bcr-card>.bcr-acc-toggle:hover{background:rgba(230,187,3,.05) !important}
.bclml-results .bcr-group>.bcr-acc-toggle,
.bclml-results .bcr-group>.bcr-acc-toggle:focus,
.bclml-results .bcr-group>.bcr-acc-toggle:active,
.bclml-results .bcr-group>.bcr-acc-toggle:focus-visible,
.bclml-results .bcr-group.is-open>.bcr-acc-toggle{background:transparent !important}
.bclml-results .bcr-group>.bcr-acc-toggle:hover{background:var(--raise-2) !important}
/* and the marker mini-buttons + download in active/focus (touch keeps :active) */
.bclml-results .bcr-mini:active,.bclml-results .bcr-mini:focus-visible{color:var(--gold-ink) !important;background:var(--gold) !important}
.bclml-results .bcr-download:active,.bclml-results .bcr-download:focus-visible{background:var(--gold-2) !important;color:var(--gold-ink) !important}

/* ================= App-like mobile (account area) ================= */
@media(max-width:600px){
  .bclml-results{padding:18px 14px;border-radius:16px}
  .bclml-results .bcr-title{font-size:23px}
  .bclml-results .bcr-lede{font-size:13px}

  /* Hero → centred app card */
  .bclml-results .bcr-hero{flex-direction:column;text-align:center;padding:26px 20px 22px;gap:16px}
  .bclml-results .bcr-hero-ring,.bclml-results .bcr-hero-ring svg{width:152px;height:152px}
  .bclml-results .bcr-hero-ring-num .num{font-size:44px}
  .bclml-results .bcr-hero-info{flex:1 1 100%}
  .bclml-results .bcr-hero-kicker{text-align:center}
  .bclml-results .bcr-hero-h{font-size:20px;margin:6px 0 15px}
  .bclml-results .bcr-hero-stats{gap:10px}
  .bclml-results .bcr-hstat{flex:1 1 42%;align-items:center;text-align:center;padding:14px 10px}
  .bclml-results .bcr-hstat .num{font-size:25px}

  /* Marker cards → chunkier, app rows */
  .bclml-results .bcr-marker{padding:16px 15px;border-radius:14px}
  .bclml-results .bcr-marker-row{flex-direction:column;gap:8px}
  .bclml-results .bcr-marker-value{align-self:flex-start}
  .bclml-results .bcr-marker-actions{gap:9px;margin-top:2px}
  .bclml-results .bcr-mini{padding:10px 15px;font-size:12.5px;flex:1 1 auto;text-align:center}
  .bclml-results .bcr-gauge-wrap{margin-top:16px}
  .bclml-results .bcr-gauge{overflow:visible}
  .bclml-results .bcr-val-pill{font-size:15px;padding:7px 14px}
  .bclml-results .bcr-rec{margin-left:0;flex-basis:100%;margin-top:2px}

  /* Status chips stay visible (glanceable, app-style) but compact */
  .bclml-results .bcr-chips{display:flex}
  .bclml-results .bcr-chip{font-size:10.5px;padding:4px 9px}
  .bclml-results .bcr-card>.bcr-acc-toggle{padding:18px 16px}
  .bclml-results .bcr-group>.bcr-acc-toggle{padding:15px 14px}

  /* Popups → native bottom sheet */
  .bclml-results .bcr-modal{align-items:flex-end;padding:0}
  .bclml-results .bcr-modal-panel{
    max-width:100%;width:100%;border-radius:22px 22px 0 0;max-height:88vh;
    padding:12px 20px 34px;animation:bcr-sheet .3s cubic-bezier(.2,.8,.25,1);
  }
  .bclml-results .bcr-modal-panel::before{content:"";display:block;width:42px;height:5px;border-radius:3px;background:var(--line);margin:2px auto 16px}
  .bclml-results .bcr-modal-x{top:16px;right:16px}
  @keyframes bcr-sheet{from{transform:translateY(100%)}to{transform:none}}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){
  .bclml-results .bcr-modal-panel{animation:none}
}

/* ---- Accordions (test + category) ---- */
.bclml-results .bcr-card{padding:0;overflow:hidden}
.bclml-results .bcr-acc-toggle{transition:background .15s ease}
.bclml-results .bcr-card>.bcr-acc-toggle:hover{background:rgba(230,187,3,.045)}
.bclml-results .bcr-card>.bcr-acc-toggle:hover .bcr-card-name{color:var(--gold-2)}
.bclml-results .bcr-group>.bcr-acc-toggle:hover{background:var(--raise-2)}
.bclml-results .bcr-acc-toggle:hover .bcr-chev{color:var(--gold)}
.bclml-results .bcr-acc-toggle{
  width:100%;text-align:left;font-family:inherit;color:inherit;cursor:pointer;
  background:transparent;border:0;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.bclml-results .bcr-card>.bcr-acc-toggle{padding:20px 24px}
.bclml-results .bcr-card.is-open>.bcr-acc-toggle{border-bottom:1px solid var(--line-soft)}
.bclml-results .bcr-card-id{display:flex;flex-direction:column;gap:8px;min-width:0}
.bclml-results .bcr-head-right{display:flex;align-items:center;gap:14px;flex:none}
.bclml-results .bcr-chev{width:20px;height:20px;color:var(--ink-soft);transition:transform .25s ease;flex:none}
.bclml-results .bcr-acc.is-open>.bcr-acc-toggle .bcr-chev{transform:rotate(180deg);color:var(--gold)}
.bclml-results .bcr-acc-panel{display:none}
.bclml-results .bcr-acc.is-open>.bcr-acc-panel{display:block;animation:bcr-slide .26s ease}
@keyframes bcr-slide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bclml-results .bcr-acc.is-open>.bcr-acc-panel{animation:none}}
.bclml-results .bcr-card-body{padding:8px 24px 24px}

.bclml-results .bcr-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.bclml-results .bcr-chip{font-size:11.5px;font-weight:600;color:var(--ink-soft);background:var(--raise);border:1px solid var(--line);padding:5px 11px;border-radius:999px;white-space:nowrap}
.bclml-results .bcr-chip--flag{color:var(--red);background:var(--red-wash);border-color:var(--red-line)}
.bclml-results .bcr-chip--good{color:var(--green);background:var(--green-wash);border-color:var(--green-line)}
.bclml-results .bcr-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 4px}

/* Reorder / "Book again" — outline-gold sibling to the solid download button. */
.bclml-results .bcr-reorder{
  flex:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:600;color:var(--gold-2);
  background:transparent;border:1px solid var(--gold-line);border-radius:var(--r-sm);
  padding:11px 15px;transition:background .16s,border-color .16s,color .16s,transform .16s,opacity .16s;
}
.bclml-results .bcr-reorder svg{width:16px;height:16px}
.bclml-results .bcr-reorder:hover,.bclml-results .bcr-reorder:focus-visible{
  background:var(--gold-wash);border-color:var(--gold);color:var(--gold-2);transform:translateY(-1px);
}
.bclml-results .bcr-reorder:disabled{cursor:default;opacity:.7;transform:none}

/* ============================================================
   Per-test status timeline
   Ordered -> Kit sent / Appointment booked -> Sample received -> Results ready
   ============================================================ */
.bclml-results .bcr-timeline-wrap{
  background:var(--raise);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:16px 14px 14px;margin:2px 0 16px;
}
.bclml-results .bcr-timeline-lbl{
  display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-dim);margin:0 2px 14px;
}
.bclml-results .bcr-timeline{
  /* Auto columns so the stage set can be 4 (neutral) or 5 (home / clinic) steps. */
  list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin:0;padding:0;
}
.bclml-results .bcr-tl-step{
  position:relative;display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:0 4px;min-width:0;
}
/* Connecting line: the segment arriving into each dot from the previous one. */
.bclml-results .bcr-tl-step::before{
  content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;
  background:var(--line);z-index:0;border-radius:2px;
}
.bclml-results .bcr-tl-step:first-child::before{display:none}
.bclml-results .bcr-tl-step.is-done::before{background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.bclml-results .bcr-tl-dot{
  position:relative;z-index:1;width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--raise-2);border:2px solid var(--line);color:var(--gold-ink);transition:all .2s;
}
.bclml-results .bcr-tl-dot svg{width:12px;height:12px}
.bclml-results .bcr-tl-step.is-done .bcr-tl-dot{
  background:linear-gradient(160deg,var(--gold-2),var(--gold));border-color:var(--gold);
  color:var(--gold-ink);box-shadow:0 0 0 4px var(--gold-wash);
}
.bclml-results .bcr-tl-step.is-current .bcr-tl-dot{
  background:var(--card);border-color:var(--gold);
  box-shadow:0 0 0 4px var(--gold-wash);animation:bcr-tl-pulse 2s ease-out infinite;
}
.bclml-results .bcr-tl-step.is-current .bcr-tl-dot::after{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);
}
.bclml-results .bcr-tl-step.is-upcoming .bcr-tl-dot{background:var(--raise-2);border-color:var(--line)}
.bclml-results .bcr-tl-label{
  margin-top:9px;font-size:11.5px;font-weight:600;line-height:1.3;letter-spacing:.01em;color:var(--ink-dim);
}
.bclml-results .bcr-tl-step.is-done .bcr-tl-label{color:var(--ink-soft)}
.bclml-results .bcr-tl-step.is-current .bcr-tl-label{color:var(--gold-2)}
.bclml-results .bcr-tl-now{
  margin-top:5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:var(--gold-ink);background:var(--gold);padding:2px 7px;border-radius:999px;
}
@keyframes bcr-tl-pulse{
  0%{box-shadow:0 0 0 0 var(--gold-line)}
  70%{box-shadow:0 0 0 8px rgba(230,187,3,0)}
  100%{box-shadow:0 0 0 0 rgba(230,187,3,0)}
}

.bclml-results .bcr-group{margin-top:12px;background:var(--raise);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.bclml-results .bcr-group>.bcr-acc-toggle{padding:14px 16px}
.bclml-results .bcr-group-name{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);margin:0;padding:0;border:0}
.bclml-results .bcr-group-right{display:flex;align-items:center;gap:10px;flex:none}
.bclml-results .bcr-group-count{font-size:11.5px;font-weight:600;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 9px;min-width:26px;text-align:center}
.bclml-results .bcr-group-flag{font-size:11.5px;font-weight:700;color:var(--red);background:var(--red-wash);border:1px solid var(--red-line);border-radius:999px;padding:3px 8px}
.bclml-results .bcr-group .bcr-chev{width:18px;height:18px}
.bclml-results .bcr-group>.bcr-acc-panel{padding:0 14px 14px}
.bclml-results .bcr-group.is-open>.bcr-acc-toggle{border-bottom:1px solid var(--line-soft);margin-bottom:12px}

.bclml-results .bcr-info{margin-top:12px;display:grid;gap:8px}
.bclml-results .bcr-tip{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-soft);padding:11px 13px;background:var(--gold-wash);border:1px solid var(--gold-line);border-radius:9px}
.bclml-results .bcr-tip-lbl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}

/* Responsive */
@media(max-width:600px){
  .bclml-results .bcr-title{font-size:22px}
  .bclml-results .bcr-card>.bcr-acc-toggle{padding:16px}
  .bclml-results .bcr-card-body{padding:6px 16px 18px}
  .bclml-results .bcr-head-right{gap:8px}
  .bclml-results .bcr-chips{display:none}
  .bclml-results .bcr-download{flex:1 1 auto;justify-content:center}
  .bclml-results .bcr-reorder{flex:1 1 auto;justify-content:center}
  .bclml-results .bcr-tl-label{font-size:10px}
  .bclml-results .bcr-tl-dot{width:20px;height:20px}
  .bclml-results .bcr-tl-step::before{top:10px}
  .bclml-results .bcr-tl-now{font-size:8.5px;padding:2px 5px}
  .bclml-results .bcr-marker-row{flex-direction:column;gap:5px}
  .bclml-results .bcr-marker-value{align-self:flex-start}
  .bclml-results .bcr-rec{margin-left:0;flex-basis:100%}
}

/* Category description */
.bclml-results .bcr-cat-desc{margin:0 0 12px;font-size:13px;line-height:1.55;color:var(--ink-soft);padding:12px 14px;background:var(--card);border:1px solid var(--line-soft);border-radius:9px}

/* Marker actions (Help Guide / Trend) */
.bclml-results .bcr-marker-actions{display:flex;gap:8px;flex:none}
.bclml-results .bcr-mini{font-family:inherit;font-size:11.5px;font-weight:600;cursor:pointer;color:var(--gold);background:var(--gold-wash);border:1px solid var(--gold-line);border-radius:999px;padding:5px 12px;transition:.15s;white-space:nowrap}
.bclml-results .bcr-mini:hover{background:var(--gold);color:var(--gold-ink)}

/* Result row */
.bclml-results .bcr-result-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.bclml-results .bcr-result-lbl{font-size:12px;color:var(--ink-soft)}
.bclml-results .bcr-val-pill{font-size:14px;font-weight:700;color:var(--green);background:var(--green-wash);border:1px solid var(--green-line);border-radius:999px;padding:5px 12px}
.bclml-results .bcr-val-pill .num{color:inherit}
.bclml-results .bcr-val-pill.is-out{color:var(--red);background:var(--red-wash);border-color:var(--red-line)}
.bclml-results .bcr-rec{margin-left:auto;font-size:12px;color:var(--ink-dim)}
.bclml-results .bcr-rec .num{color:var(--ink-soft);font-weight:600}
.bclml-results .bcr-hidden{display:none}

/* Popup modal (Help Guide / Trend) */
.bclml-results .bcr-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.bclml-results .bcr-modal[hidden]{display:none}
.bclml-results .bcr-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.bclml-results .bcr-modal-panel{position:relative;background:var(--card);border:1px solid var(--gold-line);border-radius:16px;max-width:520px;width:100%;max-height:82vh;overflow:auto;padding:26px;box-shadow:0 40px 90px -30px rgba(0,0,0,.85);animation:bcr-modal-in .22s cubic-bezier(.2,.8,.3,1)}
@keyframes bcr-modal-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bclml-results .bcr-modal-panel{animation:none}}
.bclml-results .bcr-modal-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--raise);color:var(--ink-soft);font-size:20px;line-height:1;cursor:pointer}
.bclml-results .bcr-modal-x:hover{border-color:var(--gold);color:var(--gold)}
.bclml-results .bcr-modal-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.bclml-results .bcr-modal-title{font-size:20px;font-weight:700;margin:5px 0 14px;color:var(--ink);padding-right:30px}
.bclml-results .bcr-modal-body{font-size:14px;line-height:1.6;color:var(--ink-soft)}
.bclml-results .bcr-modal-body .bcr-trend-pop{background:var(--raise);border:1px solid var(--line);border-radius:10px;padding:16px 14px 10px}
.bclml-results .bcr-modal-body .bcr-trend-meta{font-size:12px;color:var(--ink-dim);margin:12px 0 0}
.bclml-results .bcr-modal-body .bcr-comment{margin-top:12px}

/* Full trend chart (popup)
   The SVG is drawn at its own pixel width (one reading per fixed step) and the
   wrapper scrolls sideways, so a long history stays readable instead of being
   squeezed. Do not put width:100% back on .bcr-tc — that squashes the spacing
   and breaks the tap-to-read mapping, which assumes 1 SVG unit = 1 CSS pixel. */
.bclml-results .bcr-tc-wrap{position:relative}
.bclml-results .bcr-tc-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.bclml-results .bcr-tc-scroll::-webkit-scrollbar{height:6px}
.bclml-results .bcr-tc-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.bclml-results .bcr-tc{display:block;height:auto;cursor:crosshair;touch-action:pan-x}
.bclml-results .bcr-tc-band{fill:var(--green-wash);stroke:var(--green-line);stroke-width:.6}
.bclml-results .bcr-tc-bandlbl{fill:var(--green);font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:inherit}
.bclml-results .bcr-tc-area{fill:var(--gold-wash)}
.bclml-results .bcr-tc-line{
  fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:1;stroke-dashoffset:1;animation:bcr-draw 1.2s ease-out .1s forwards;
}
.bclml-results .bcr-tc-dot{fill:var(--card);stroke:var(--gold);stroke-width:1.8;opacity:0;animation:bcr-fade .3s ease-out .9s forwards}
.bclml-results .bcr-tc-halo{fill:var(--gold);transform-box:fill-box;transform-origin:center;animation:bcr-halo 2.4s ease-in-out 1.2s infinite both}
@keyframes bcr-halo{0%,100%{opacity:.16;transform:scale(1)}50%{opacity:.4;transform:scale(1.25)}}
.bclml-results .bcr-tc-dot-last{fill:var(--gold-2);stroke:var(--card);stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0;animation:bcr-pop-in .45s cubic-bezier(.2,.9,.3,1.5) 1s both}
@keyframes bcr-pop-in{0%{opacity:0;transform:scale(0)}100%{opacity:1;transform:scale(1)}}
.bclml-results .bcr-tc-date{fill:var(--ink-dim);font-size:9px;font-weight:500;font-family:inherit}
.bclml-results .bcr-tc-axis{fill:var(--green);font-size:8.5px;font-weight:600;font-family:inherit;opacity:.85}
.bclml-results .bcr-tc-last{fill:var(--gold-2);font-size:12.5px;font-weight:800;font-family:inherit;letter-spacing:-.01em}
.bclml-results .bcr-tc-dot.is-out{stroke:var(--red)}

/* Tap-anywhere readout: the cursor tracks the nearest reading, the tip names it. */
.bclml-results .bcr-tc-cursor-line{stroke:var(--ink-dim);stroke-width:1;stroke-dasharray:3 3;opacity:.55}
.bclml-results .bcr-tc-cursor-dot{fill:var(--gold-2);stroke:var(--card);stroke-width:2}
.bclml-results .bcr-tc-tip{
  position:absolute;top:0;z-index:2;pointer-events:none;transform:translateX(-50%);
  display:flex;flex-direction:column;gap:1px;white-space:nowrap;text-align:center;
  background:var(--raise-2);border:1px solid var(--gold-line);color:var(--ink);
  border-radius:8px;padding:6px 11px;box-shadow:0 8px 22px rgba(0,0,0,.5);
}
.bclml-results .bcr-tc-tip[hidden]{display:none}
.bclml-results .bcr-tc-tip-v{font-size:13.5px;font-weight:800;letter-spacing:-.01em;color:var(--gold-2)}
.bclml-results .bcr-tc-tip-d{font-size:11px;color:var(--ink-soft)}
.bclml-results .bcr-tc-tip.is-out{border-color:var(--red-line)}
.bclml-results .bcr-tc-tip.is-out .bcr-tc-tip-v{color:var(--red)}
.bclml-results .bcr-tc-hint{font-size:11.5px;color:var(--ink-dim);margin:6px 0 0;text-align:center}

@media(prefers-reduced-motion:reduce){
  .bclml-results .bcr-tc-line{stroke-dashoffset:0;animation:none}
  .bclml-results .bcr-tc-dot,.bclml-results .bcr-tc-dot-last,.bclml-results .bcr-tc-halo{opacity:1;animation:none}
}

/* ---- Trend popup: the numbers around the chart ----
   The chart alone showed shape with no values, so the popup now leads with the
   figures, states what the movement means, and lists every reading behind it. */
.bclml-results .bcr-tstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}
.bclml-results .bcr-tstat{
  background:var(--raise);border:1px solid var(--line);border-radius:10px;
  padding:11px 12px 10px;min-width:0;
}
.bclml-results .bcr-tstat-k{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}
.bclml-results .bcr-tstat-v{display:block;margin-top:5px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.15;word-break:break-word}
.bclml-results .bcr-tstat-n{display:block;margin-top:3px;font-size:11px;color:var(--ink-dim)}
.bclml-results .bcr-tstat.is-good .bcr-tstat-v{color:var(--green)}
.bclml-results .bcr-tstat.is-bad .bcr-tstat-v{color:var(--red)}
.bclml-results .bcr-tstat.is-flat .bcr-tstat-v{color:var(--ink-soft)}

.bclml-results .bcr-tverdict{
  margin:0 0 14px;padding:10px 13px;border-radius:10px;
  font-size:13px;font-weight:600;line-height:1.45;
  background:var(--raise);border-left:3px solid var(--ink-dim);color:var(--ink-soft);
}
.bclml-results .bcr-tverdict--good{background:var(--green-wash);border-left-color:var(--green);color:var(--green)}
.bclml-results .bcr-tverdict--bad{background:var(--red-wash);border-left-color:var(--red);color:var(--red)}

.bclml-results .bcr-tspread{margin:12px 0 0;font-size:12px;color:var(--ink-dim)}

.bclml-results .bcr-ttable-wrap{margin-top:12px;max-height:230px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}
.bclml-results .bcr-ttable{width:100%;border-collapse:collapse;font-size:12.5px}
.bclml-results .bcr-ttable th{
  position:sticky;top:0;z-index:1;background:var(--raise-2);
  padding:9px 12px;text-align:left;font-size:9.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);
  border-bottom:1px solid var(--line);
}
.bclml-results .bcr-ttable td{padding:9px 12px;border-bottom:1px solid var(--line-soft);color:var(--ink-soft)}
.bclml-results .bcr-ttable tr:last-child td{border-bottom:0}
.bclml-results .bcr-ttable .num{text-align:right;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.bclml-results .bcr-ttable .st{text-align:right;width:1%;white-space:nowrap}
.bclml-results .bcr-ttable tr.is-out .num{color:var(--red)}
.bclml-results .bcr-tpill{
  display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;
  background:var(--green-wash);color:var(--green);border:1px solid var(--green-line);
}
.bclml-results .bcr-tpill.is-out{background:var(--red-wash);color:var(--red);border-color:var(--red-line)}

/* Movement chip, used under the inline sparkline on the card. */
.bclml-results .bcr-trend-foot{margin-top:8px}
.bclml-results .bcr-chip{
  display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;
  font-size:11px;font-weight:600;background:var(--raise);border:1px solid var(--line);color:var(--ink-soft);
}
.bclml-results .bcr-chip-ar{font-size:8px;line-height:1}
.bclml-results .bcr-chip--good{background:var(--green-wash);border-color:var(--green-line);color:var(--green)}
.bclml-results .bcr-chip--bad{background:var(--red-wash);border-color:var(--red-line);color:var(--red)}

@media(max-width:520px){
  .bclml-results .bcr-tstats{grid-template-columns:1fr 1fr}
  .bclml-results .bcr-tstats .bcr-tstat:last-child{grid-column:1 / -1}
  .bclml-results .bcr-tstat-v{font-size:15px}
}

/* ================= Health snapshot hero ================= */
.bclml-results .bcr-hero{
  display:flex;align-items:center;gap:34px;flex-wrap:wrap;
  background:linear-gradient(135deg,#171717,#0C0C0C);
  border:1px solid var(--gold-line);border-radius:var(--r);
  padding:30px 34px;margin-bottom:26px;position:relative;overflow:hidden;
  box-shadow:0 40px 90px -42px rgba(0,0,0,.9);
  background-image:radial-gradient(620px 320px at 90% -50%, rgba(230,187,3,.16), rgba(0,0,0,0) 60%);
}
.bclml-results .bcr-hero::after{
  content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;
  background:radial-gradient(circle,rgba(230,187,3,.10),rgba(0,0,0,0) 70%);pointer-events:none;
}
.bclml-results .bcr-hero-ring{position:relative;flex:none;width:124px;height:124px}
.bclml-results .bcr-hero-ring svg{width:124px;height:124px;display:block;overflow:visible}
.bclml-results .bcr-ring-track{fill:none;stroke:var(--line);stroke-width:9}
.bclml-results .bcr-ring-fill{
  fill:none;stroke:var(--gold);stroke-width:9;stroke-linecap:round;
  filter:drop-shadow(0 0 7px rgba(230,187,3,.55));
  animation:bcr-ring 1.35s cubic-bezier(.3,.8,.25,1) both;
}
@keyframes bcr-ring{from{stroke-dasharray:0 999}}
@media(prefers-reduced-motion:reduce){.bclml-results .bcr-ring-fill{animation:none}}
.bclml-results .bcr-hero-ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.bclml-results .bcr-hero-ring-num .num{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--ink);display:inline-flex;align-items:flex-start}
.bclml-results .bcr-hero-ring-num em{font-style:normal;font-size:14px;font-weight:700;color:var(--gold);margin-top:4px;margin-left:1px}
.bclml-results .bcr-hero-ring-num small{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}
.bclml-results .bcr-hero-info{flex:1 1 260px;min-width:0}
.bclml-results .bcr-hero-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.bclml-results .bcr-hero-h{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:7px 0 16px;color:var(--ink);text-wrap:balance}
.bclml-results .bcr-hero-stats{display:flex;gap:14px;flex-wrap:wrap}
.bclml-results .bcr-hstat{
  flex:1 1 96px;background:rgba(255,255,255,.02);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:13px 15px;display:flex;flex-direction:column;gap:4px;
}
.bclml-results .bcr-hstat .num{font-size:22px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.bclml-results .bcr-hstat small{font-size:10.5px;letter-spacing:.02em;color:var(--ink-soft)}
.bclml-results .bcr-hstat--good{border-color:var(--green-line);background:var(--green-wash)}
.bclml-results .bcr-hstat--good .num{color:var(--green)}
.bclml-results .bcr-hstat--flag{border-color:var(--red-line);background:var(--red-wash)}
/* Markers with no range to be judged against: counted separately so the
   in-range figure never quietly includes results nobody assessed. */
.bclml-results .bcr-hstat--check{border-color:var(--blue-line);background:var(--blue-wash)}
.bclml-results .bcr-hstat--check .num{color:var(--blue)}
.bclml-results .bcr-hstat--flag .num{color:var(--red)}
@media(max-width:600px){
  .bclml-results .bcr-hero{padding:22px;gap:22px;justify-content:center;text-align:center}
  .bclml-results .bcr-hero-info{text-align:center;flex-basis:100%}
  .bclml-results .bcr-hero-kicker{text-align:center}
  .bclml-results .bcr-hero-stats{justify-content:center}
  .bclml-results .bcr-hstat{flex:1 1 88px;align-items:center;text-align:center}
}
.bclml-results .bcr-hero-sub{font-size:13px;color:var(--ink-soft);margin:-8px 0 16px}
@media(max-width:600px){.bclml-results .bcr-hero-sub{margin:2px 0 14px;text-align:center}}

/* ============================================================
   Single-screen redesign: section headers, Attention, Systems,
   Panel (filter tabs + live search), Tests strip.
   ============================================================ */
.bclml-results .bcr-sec{margin-top:34px}
.bclml-results .bcr-sec-head{margin-bottom:16px}
.bclml-results .bcr-sec-h{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0}
.bclml-results .bcr-sec-lede{font-size:13px;color:var(--ink-soft);margin:6px 0 0}

/* Collapsible sections. The whole heading row is the control, so the section
   title row stays the same size whether it is open or shut and the dashboard
   opens as a short list of headings rather than one long scroll. */
.bclml-results h3.bcr-sec-head{margin:0 0 16px;font-size:inherit;font-weight:inherit}
.bclml-results .bcr-sec-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:inherit;color:inherit;text-align:left;cursor:pointer;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:14px 18px;transition:background .16s,border-color .16s;
}
.bclml-results .bcr-sec-toggle:hover,.bclml-results .bcr-sec-toggle:focus-visible{background:var(--raise);border-color:var(--gold-line)}
.bclml-results .bcr-sec-right{display:flex;align-items:center;gap:12px;flex:none}
.bclml-results .bcr-sec-count{
  font-size:11.5px;font-weight:700;color:var(--ink-soft);background:var(--raise);
  border:1px solid var(--line);border-radius:999px;padding:3px 11px;
}
.bclml-results .bcr-sec-count--flag{color:var(--red);background:var(--red-wash);border-color:var(--red-line)}
.bclml-results .bcr-acc.is-open>h3.bcr-sec-head{margin-bottom:14px}
.bclml-results .bcr-acc.is-open .bcr-sec-toggle .bcr-chev{transform:rotate(180deg);color:var(--gold)}
.bclml-results .bcr-acc.is-open .bcr-sec-toggle{border-color:var(--gold-line)}
.bclml-results .bcr-sec .bcr-acc-panel>.bcr-sec-lede{margin:0 0 16px}
@media(max-width:600px){.bclml-results .bcr-sec-toggle{padding:13px 14px}}
.bclml-results .bcr-sec-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--gold-wash)}
.bclml-results .bcr-sec-dot--flag{background:var(--red);box-shadow:0 0 0 4px var(--red-wash)}

/* ---- Attention (flagged first) ---- */
.bclml-results .bcr-att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:14px}
.bclml-results .bcr-att-card{
  background:linear-gradient(180deg,var(--red-wash),rgba(0,0,0,0) 70%),var(--raise);
  border:1.5px solid var(--red-line);border-radius:var(--r-sm);padding:16px 17px 15px;
  display:flex;flex-direction:column;gap:11px;transition:border-color .18s,transform .18s;
}
.bclml-results .bcr-att-card:hover{border-color:var(--gold-line);transform:translateY(-2px)}
.bclml-results .bcr-att-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bclml-results .bcr-att-name{font-size:15px;font-weight:600;color:var(--ink)}
.bclml-results .bcr-att-val{display:flex;flex-direction:column;gap:7px}
.bclml-results .bcr-att-val-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bclml-results .bcr-att-val-lbl{font-size:12px;color:var(--ink-soft)}
.bclml-results .bcr-att-range{font-size:12px;color:var(--ink-dim)}
.bclml-results .bcr-att-range .num{color:var(--ink-soft);font-weight:600}
.bclml-results .bcr-att-card .bcr-gauge-wrap{margin-top:0}
.bclml-results .bcr-att-card .bcr-marker-actions{margin-top:1px}

/* All-clear card (nothing flagged) */
.bclml-results .bcr-allclear{
  display:flex;align-items:center;gap:16px;background:var(--green-wash);
  border:1px solid var(--green-line);border-radius:var(--r-sm);padding:20px 22px;
}
.bclml-results .bcr-allclear-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(63,178,127,.18);border:1px solid var(--green-line)}
.bclml-results .bcr-allclear-ic svg{width:24px;height:24px;color:var(--green)}
.bclml-results .bcr-allclear h3{font-size:16px;font-weight:600;margin:0 0 3px;color:var(--ink)}
.bclml-results .bcr-allclear p{font-size:13px;color:var(--ink-soft);margin:0}

/* ---- Systems view ---- */
.bclml-results .bcr-sys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.bclml-results .bcr-sys-card{
  text-align:left;font-family:inherit;cursor:pointer;color:inherit;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:16px 16px 15px;display:flex;flex-direction:column;gap:9px;
  transition:border-color .18s,background .18s,transform .18s;
}
.bclml-results .bcr-sys-card:hover{border-color:var(--gold-line);background:var(--raise);transform:translateY(-2px)}
.bclml-results .bcr-sys-card.has-flags{border-color:var(--red-line)}
.bclml-results .bcr-sys-card.has-flags:hover{border-color:var(--gold-line)}
.bclml-results .bcr-sys-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--gold-wash);border:1px solid var(--gold-line);color:var(--gold-2)}
.bclml-results .bcr-sys-card.has-flags .bcr-sys-ic{background:var(--red-wash);border-color:var(--red-line);color:var(--red)}
.bclml-results .bcr-sys-ic svg{width:20px;height:20px}
.bclml-results .bcr-sys-name{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}
.bclml-results .bcr-sys-counts{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--ink-soft)}
.bclml-results .bcr-sys-ok .num{color:var(--green);font-weight:700}
.bclml-results .bcr-sys-flag{color:var(--red)}
.bclml-results .bcr-sys-check{color:var(--blue)}
.bclml-results .bcr-sys-flag .num{color:var(--red);font-weight:700}
.bclml-results .bcr-sys-bar{display:block;height:5px;border-radius:3px;background:var(--red-wash);overflow:hidden}
.bclml-results .bcr-sys-bar>span{display:block;height:100%;border-radius:3px;background:var(--green);transition:width .5s ease}
.bclml-results .bcr-sys-card.has-flags .bcr-sys-bar{background:var(--red-line)}

/* ---- Full panel: toolbar (search + tabs) ---- */
.bclml-results .bcr-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bclml-results .bcr-search{position:relative;flex:0 1 320px;min-width:220px}
.bclml-results .bcr-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--ink-dim);pointer-events:none}
.bclml-results .bcr-search-input{
  width:100%;font-family:inherit;font-size:13.5px;color:var(--ink);
  background:var(--card);border:1px solid var(--line);border-radius:999px;
  padding:11px 16px 11px 38px;outline:none;transition:border-color .16s,background .16s;
}
.bclml-results .bcr-search-input::placeholder{color:var(--ink-dim)}
.bclml-results .bcr-search-input:focus{border-color:var(--gold-line);background:var(--raise)}
.bclml-results .bcr-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

.bclml-results .bcr-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px;padding-bottom:2px}
.bclml-results .bcr-tab{
  font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink-soft);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:.15s;
}
.bclml-results .bcr-tab:hover{border-color:var(--gold-line);color:var(--ink)}
.bclml-results .bcr-tab .bcr-tab-n{font-size:11px;font-weight:700;color:var(--ink-dim);background:var(--raise);border-radius:999px;padding:1px 7px;min-width:20px;text-align:center}
.bclml-results .bcr-tab.is-active{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.bclml-results .bcr-tab.is-active .bcr-tab-n{background:rgba(22,17,0,.18);color:var(--gold-ink)}
.bclml-results .bcr-tab--flag{color:var(--red)}
.bclml-results .bcr-tab--flag .bcr-tab-n{color:var(--red)}
.bclml-results .bcr-tab--flag.is-active{background:var(--red);border-color:var(--red);color:#fff}
.bclml-results .bcr-tab--flag.is-active .bcr-tab-n{background:rgba(0,0,0,.22);color:#fff}
/* keep our tab colours winning over theme button styles */
.bclml-results .bcr-tab:focus,.bclml-results .bcr-tab:focus-visible{outline:none;box-shadow:none}
.bclml-results .bcr-tab.is-active:hover{color:var(--gold-ink) !important}

/* ---- Full panel: system groups + marker grid ---- */
.bclml-results .bcr-sysgroup{margin-top:22px}
.bclml-results .bcr-sysgroup[hidden]{display:none}
.bclml-results .bcr-sysgroup-head{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line-soft)}
.bclml-results .bcr-sysgroup-name{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0}
.bclml-results .bcr-sysgroup-ic{display:inline-grid;place-items:center;width:24px;height:24px;color:var(--gold-2)}
.bclml-results .bcr-sysgroup-ic svg{width:17px;height:17px}
.bclml-results .bcr-sysgroup-count{font-size:11.5px;font-weight:600;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 10px;min-width:26px;text-align:center}
.bclml-results .bcr-panel .bcr-markers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.bclml-results .bcr-marker[hidden]{display:none}
.bclml-results .bcr-panel .bcr-cat-desc{margin:0 0 14px}

.bclml-results .bcr-noresults{padding:34px 20px;text-align:center;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm)}
.bclml-results .bcr-noresults[hidden]{display:none}
.bclml-results .bcr-noresults p{margin:0;font-size:14px}

/* ---- Your tests strip (downloads) ---- */
.bclml-results .bcr-test-list{display:grid;gap:10px}
.bclml-results .bcr-test-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:15px 18px;
}
.bclml-results .bcr-test-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.bclml-results .bcr-test-name{font-size:14.5px;font-weight:600;color:var(--ink)}
.bclml-results .bcr-test-date{font-size:12px;color:var(--ink-soft)}
.bclml-results .bcr-test-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ---- Responsive ---- */
@media(max-width:600px){
  .bclml-results{padding:24px 0 40px}
  .bclml-results .bcr-inner{padding:0 15px}
  .bclml-results .bcr-sec{margin-top:28px}
  .bclml-results .bcr-sec-h{font-size:17px}
  .bclml-results .bcr-att-grid{grid-template-columns:1fr;gap:12px}
  .bclml-results .bcr-sys-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
  .bclml-results .bcr-sys-card{padding:14px}
  .bclml-results .bcr-panel-head{gap:12px}
  .bclml-results .bcr-search{flex:1 1 100%;min-width:0}
  .bclml-results .bcr-panel .bcr-markers{grid-template-columns:1fr}
  .bclml-results .bcr-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:4px -15px 16px;padding:0 15px 8px;scrollbar-width:none}
  .bclml-results .bcr-tabs::-webkit-scrollbar{display:none}
  .bclml-results .bcr-tab{flex:none}
  .bclml-results .bcr-test-item{padding:14px 15px}
  .bclml-results .bcr-test-right{width:100%}
  .bclml-results .bcr-test-right .bcr-download{flex:1 1 auto;justify-content:center}
}
@media(max-width:380px){
  .bclml-results .bcr-sys-grid{grid-template-columns:1fr 1fr}
}

/* ============================================================
   Zero pink: GOLD or nothing. Beats WooCommerce classic (#a46497) and any
   theme accent on every interactive state inside the results app.
   ============================================================ */
.bclml-results a,.bclml-results a:link,.bclml-results a:visited{color:var(--gold)}
.bclml-results a:hover,.bclml-results a:focus,.bclml-results a:active,.bclml-results a:focus-visible{color:var(--gold-2) !important;text-decoration:none}
.bclml-results *:focus,.bclml-results *:focus-visible{outline:none !important}
.bclml-results button,.bclml-results button:hover,.bclml-results button:focus,.bclml-results button:active,.bclml-results button:focus-visible{outline:none !important;box-shadow:none}
.bclml-results [aria-selected="true"],.bclml-results .selected{color:var(--gold) !important;background:transparent !important}
.bclml-results .bcr-tab:hover,.bclml-results .bcr-tab:focus,.bclml-results .bcr-tab:focus-visible,.bclml-results .bcr-tab:active{color:var(--ink) !important;background:var(--card) !important;border-color:var(--gold-line) !important}
.bclml-results .bcr-tab.is-active,.bclml-results .bcr-tab.is-active:hover,.bclml-results .bcr-tab.is-active:focus,.bclml-results .bcr-tab.is-active:active{color:var(--gold-ink) !important;background:var(--gold) !important;border-color:var(--gold) !important}
.bclml-results .bcr-tab--flag.is-active,.bclml-results .bcr-tab--flag.is-active:hover,.bclml-results .bcr-tab--flag.is-active:focus{color:#fff !important;background:var(--red) !important;border-color:var(--red) !important}
.bclml-results .bcr-sys-card:hover,.bclml-results .bcr-sys-card:focus,.bclml-results .bcr-sys-card:active,.bclml-results .bcr-sys-card:focus-visible{border-color:var(--gold-line) !important;background:var(--raise) !important}
.bclml-results .bcr-search-input:focus{border-color:var(--gold-line) !important;background:var(--raise) !important;box-shadow:none !important}

/* ============================================================
   Full-panel system groups as accordions (first open, rest collapsed).
   ============================================================ */
.bclml-results .bcr-sysgroup{margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.bclml-results .bcr-sysgroup[hidden]{display:none}
.bclml-results .bcr-sysgroup-head{width:100%;text-align:left;font-family:inherit;cursor:pointer;background:transparent;border:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;transition:background .15s}
.bclml-results .bcr-sysgroup-head:hover,.bclml-results .bcr-sysgroup-head:focus,.bclml-results .bcr-sysgroup-head:active{background:var(--raise) !important}
.bclml-results .bcr-sysgroup.is-open>.bcr-sysgroup-head{border-bottom:1px solid var(--line-soft)}
.bclml-results .bcr-sysgroup-name{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin:0}
.bclml-results .bcr-sysgroup-head:hover .bcr-sysgroup-name,.bclml-results .bcr-sysgroup.is-open>.bcr-sysgroup-head .bcr-sysgroup-name{color:var(--gold-2) !important}
.bclml-results .bcr-sysgroup-ic{display:inline-grid;place-items:center;width:24px;height:24px;color:var(--gold-2)}
.bclml-results .bcr-sysgroup-ic svg{width:17px;height:17px}
.bclml-results .bcr-sysgroup-right{display:flex;align-items:center;gap:10px;flex:none}
.bclml-results .bcr-sysgroup-count{font-size:11.5px;font-weight:600;color:var(--ink-soft);background:var(--raise);border:1px solid var(--line);border-radius:999px;padding:3px 10px;min-width:26px;text-align:center}
.bclml-results .bcr-sysgroup-flag{font-size:11.5px;font-weight:700;color:var(--red);background:var(--red-wash);border:1px solid var(--red-line);border-radius:999px;padding:3px 9px}
.bclml-results .bcr-sysgroup .bcr-chev{width:18px;height:18px;color:var(--ink-soft)}
.bclml-results .bcr-sysgroup.is-open>.bcr-sysgroup-head .bcr-chev{color:var(--gold) !important;transform:rotate(180deg)}
.bclml-results .bcr-sysgroup>.bcr-acc-panel{padding:16px 18px}
.bclml-results .bcr-sysgroup .bcr-cat-desc{margin:0 0 14px}

/* ============================================================
   Per-test cards (Your tests): category headings + marker grid.
   ============================================================ */
.bclml-results .bcr-testcat{margin-top:22px}
.bclml-results .bcr-testcat:first-child{margin-top:6px}
/* Category rows inside a test are accordions now: one tap opens a category,
   another shuts it, rather than every category being open at once. */
.bclml-results .bcr-testcat-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  margin:0;padding:0 0 9px;border:0;border-bottom:1px solid var(--line-soft);
  background:transparent;font-family:inherit;text-align:left;cursor:pointer;
}
.bclml-results .bcr-acc.bcr-testcat.is-open>.bcr-testcat-head{margin-bottom:12px}
.bclml-results .bcr-testcat-right{display:flex;align-items:center;gap:10px;flex:none}
.bclml-results .bcr-testcat-flag{font-size:11.5px;font-weight:700;color:var(--red);background:var(--red-wash);border:1px solid var(--red-line);border-radius:999px;padding:3px 10px}
.bclml-results .bcr-testcat-head:hover .bcr-testcat-name{color:var(--gold-2)}
.bclml-results .bcr-acc.bcr-testcat.is-open>.bcr-testcat-head .bcr-chev{transform:rotate(180deg);color:var(--gold)}
.bclml-results .bcr-testcat-name{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin:0}
.bclml-results .bcr-testcat-ic{display:inline-grid;place-items:center;width:22px;height:22px;color:var(--gold-2)}
.bclml-results .bcr-testcat-ic svg{width:16px;height:16px}
.bclml-results .bcr-testcat-count{font-size:11.5px;font-weight:600;color:var(--ink-soft);background:var(--raise);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.bclml-results .bcr-tests .bcr-markers{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}

/* ============================================================
   Marker card layout: name (left) + result pill (right) on top, recommended
   level directly under the result, then the gauge, then Help/Trend.
   ============================================================ */
.bclml-results .bcr-marker-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bclml-results .bcr-marker-vals{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.bclml-results .bcr-val-lbl{font-size:11.5px;color:var(--ink-soft)}
.bclml-results .bcr-rec-row{display:flex;justify-content:flex-end;margin-top:6px}
.bclml-results .bcr-rec{font-size:12px;color:var(--ink-dim);display:inline-flex;gap:6px;align-items:baseline;flex-wrap:wrap;text-align:right;margin:0}
.bclml-results .bcr-rec-lbl{color:var(--ink-dim)}
.bclml-results .bcr-rec .num{color:var(--ink-soft);font-weight:600}
.bclml-results .bcr-marker .bcr-marker-actions{margin-top:12px;justify-content:flex-start}
@media(max-width:600px){
  .bclml-results .bcr-marker-top{flex-direction:column;gap:9px}
  .bclml-results .bcr-marker-vals{justify-content:flex-start}
  .bclml-results .bcr-rec-row{justify-content:flex-start}
  .bclml-results .bcr-rec{text-align:left}
}

/* ============================================================
   Laptop-width polish (≈1280–1440). Content is capped at 1180px, so at laptop
   viewports the full-desktop scale reads too large; trim type + tighten grids
   so everything fits comfortably and stays premium. Verified at 1366 + 1440.
   ============================================================ */
@media(max-width:1440px){
  .bclml-results{padding:28px clamp(16px,2.4vw,30px) 38px}
  .bclml-results .bcr-title{font-size:20px}
  .bclml-results .bcr-lede{font-size:12.5px}
  .bclml-results .bcr-hero{padding:24px 26px;gap:26px}
  .bclml-results .bcr-hero-ring,
  .bclml-results .bcr-hero-ring svg{width:112px;height:112px}
  .bclml-results .bcr-hero-ring-num .num{font-size:31px}
  .bclml-results .bcr-hero-ring-num em{font-size:12.5px}
  .bclml-results .bcr-hero-h{font-size:18px;margin:6px 0 14px}
  .bclml-results .bcr-hstat{padding:12px 14px}
  .bclml-results .bcr-hstat .num{font-size:20px}
  .bclml-results .bcr-sec-h{font-size:16px}
  .bclml-results .bcr-marker-name{font-size:13px}
  .bclml-results .bcr-card-name{font-size:15.5px}
  .bclml-results .bcr-sys-grid{grid-template-columns:repeat(auto-fill,minmax(188px,1fr))}
  .bclml-results .bcr-att-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
  .bclml-results .bcr-panel .bcr-markers,
  .bclml-results .bcr-tests .bcr-markers{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}
  body.woocommerce-account nav.bclml-acct-nav a{font-size:12.5px;padding:8px 14px 8px 34px}
  body.woocommerce-account .bclml-acct-content{font-size:13.5px}
}
@media(max-width:1180px){
  .bclml-results .bcr-sys-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
  .bclml-results .bcr-panel .bcr-markers,
  .bclml-results .bcr-tests .bcr-markers{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}
}

/* ============================================================
   #5 Account menu clarity: an unmistakable "Account menu" heading, a small
   masked icon per item (inherits the link colour, so it flips dark on the gold
   active/hover pill), and a stronger active state. Pure CSS — the nav markup
   comes from the shell template we don't edit.
   ============================================================ */
body.woocommerce-account nav.bclml-acct-nav::before{
  content:"Account menu";display:block;width:100%;
  font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#7A7A7A;margin:0 0 11px;
}
body.woocommerce-account nav.bclml-acct-nav a{
  position:relative;padding-left:36px;
  /* Generic fallback icon (grid). Per-endpoint rules below override --bcl-ic on
     the <a>, which the ::before then reads — so each item gets its own glyph. */
  --bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E");
}
body.woocommerce-account nav.bclml-acct-nav a::before{
  content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:15px;height:15px;background-color:currentColor;opacity:.95;
  -webkit-mask:center/contain no-repeat var(--bcl-ic);mask:center/contain no-repeat var(--bcl-ic);
}
/* Per-endpoint icons (WooCommerce adds these link modifier classes). */
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--dashboard a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--results a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11Z'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--orders a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l1 13H5L6 7Z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--downloads a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v11m0 0 4-4m-4 4-4-4'/%3E%3Cpath d='M5 19h14'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--edit-address a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6-7-11a7 7 0 0 1 14 0c0 5-7 11-7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--edit-account a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav .woocommerce-MyAccount-navigation-link--customer-logout a{--bcl-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h9'/%3E%3Cpath d='M18 8l4 4-4 4'/%3E%3Cpath d='M22 12H10'/%3E%3C/svg%3E")}
body.woocommerce-account nav.bclml-acct-nav li.is-active a{font-weight:700;box-shadow:0 6px 18px -7px rgba(230,187,3,.6)}

/* ============================================================
   #3 Icon caps: belt-and-braces so no icon renders oversized on the shell/raw
   WooCommerce tabs. Results-app icons are already explicitly sized above; here
   we clamp nav icons and any stray theme/Woo SVG or icon-font in the content.
   ============================================================ */
body.woocommerce-account nav.bclml-acct-nav svg{width:15px;height:15px}
body.woocommerce-account .bclml-acct-content table.shop_table svg,
body.woocommerce-account .bclml-acct-content .woocommerce-orders-table svg,
body.woocommerce-account .bclml-acct-content .woocommerce-message svg,
body.woocommerce-account .bclml-acct-content .woocommerce-info svg,
body.woocommerce-account .bclml-acct-content .woocommerce-error svg,
body.woocommerce-account .bclml-acct-content .woocommerce-Address svg{width:18px !important;height:18px !important;max-width:18px !important;max-height:18px !important}
body.woocommerce-account .bclml-acct-content .woocommerce-message::before,
body.woocommerce-account .bclml-acct-content .woocommerce-info::before,
body.woocommerce-account .bclml-acct-content .woocommerce-error::before,
body.woocommerce-account .bclml-acct-content [class^="dashicons"]::before,
body.woocommerce-account .bclml-acct-content i[class*="icon"]::before{font-size:16px !important;line-height:1 !important;width:auto !important;height:auto !important}

/* ============================================================
   #4 Extra WooCommerce override hardening so no raw Woo styling bleeds through:
   notices, form rows, selects, alt buttons, address titles, order status pills.
   High-specificity + !important so our app skin always wins on the account tabs.
   ============================================================ */
body.woocommerce-account .bclml-acct-content .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .bclml-acct-content .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-account .bclml-acct-content .woocommerce-notices-wrapper .woocommerce-error{
  background:#101010 !important;border:1px solid #232323 !important;border-left:3px solid #E6BB03 !important;
  color:#C8C8C8 !important;border-radius:10px !important;box-shadow:none !important;list-style:none;
}
body.woocommerce-account .bclml-acct-content .woocommerce-error{border-left-color:#E5484D !important}
body.woocommerce-account .bclml-acct-content .woocommerce form .form-row{margin:0 0 14px;padding:0}
body.woocommerce-account .bclml-acct-content .woocommerce-form-row label{display:block;margin:0 0 6px}
body.woocommerce-account .bclml-acct-content select{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6BB03' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 12px center !important;background-size:15px !important;padding-right:34px !important;
}
body.woocommerce-account .bclml-acct-content .button.alt,
body.woocommerce-account .bclml-acct-content a.button{
  background:#E6BB03 !important;color:#161100 !important;border:0 !important;border-radius:999px !important;
  padding:10px 18px !important;font-weight:600 !important;text-decoration:none !important;display:inline-block;
}
body.woocommerce-account .bclml-acct-content .woocommerce-Address-title h3{color:#fff !important;margin:0 0 12px}
body.woocommerce-account .bclml-acct-content .woocommerce-orders-table__cell-order-status,
body.woocommerce-account .bclml-acct-content .order-status{
  display:inline-block;background:var(--gold-wash,rgba(230,187,3,.13)) !important;color:#F5CE2E !important;
  border:1px solid rgba(230,187,3,.38) !important;border-radius:999px;padding:3px 11px;font-size:11.5px;font-weight:600;
}
body.woocommerce-account .bclml-acct-content .woocommerce-MyAccount-content{color:#B4B4B4}

/* ============================================================
   Sign in / create account (myaccount/form-login.php override)
   ------------------------------------------------------------
   Logged out, WooCommerce loads form-login.php instead of the account shell,
   so this screen sat outside every style we had and greeted patients as stock
   WooCommerce inside an Elementor widget. These rules are scoped to .bclml-auth
   and lean on !important where the theme and Elementor set their own input and
   button styling — the same approach the account shell above already uses.
   ============================================================ */
.bclml-auth{
  --a-bg:#0A0A0A; --a-card:#141414; --a-line:#2A2A2A; --a-ink:#FFFFFF;
  --a-soft:#B4B4B4; --a-dim:#7A7A7A; --a-gold:#E6BB03; --a-gold-2:#F5CE2E;
  font-family:'Poppins',system-ui,sans-serif;color:var(--a-ink);
  background:var(--a-bg);border:1px solid var(--a-line);border-radius:20px;
  padding:clamp(24px,4vw,44px);width:100%;
}
.bclml-auth *{box-sizing:border-box}

.bclml-auth-head{max-width:640px;margin:0 auto 28px;text-align:center}
.bclml-auth-brand{
  display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--a-gold);
}
.bclml-auth-brand::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--a-gold);box-shadow:0 0 0 4px rgba(230,187,3,.14)}
.bclml-auth-title{font-size:clamp(24px,3.4vw,32px);font-weight:700;letter-spacing:-.02em;color:var(--a-ink);margin:14px 0 8px;line-height:1.2}
.bclml-auth-sub{font-size:14.5px;line-height:1.6;color:var(--a-soft);margin:0}

.bclml-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;max-width:960px;margin:0 auto}
.bclml-auth.is-single .bclml-auth-grid{grid-template-columns:1fr;max-width:460px}
@media(max-width:820px){.bclml-auth-grid{grid-template-columns:1fr;max-width:460px}}

.bclml-auth-card{background:var(--a-card);border:1px solid var(--a-line);border-radius:14px;padding:26px 24px}
.bclml-auth-card--alt{background:#101010}
.bclml-auth-h{font-size:17px;font-weight:700;color:var(--a-ink);margin:0 0 4px;letter-spacing:-.01em}
.bclml-auth-note{font-size:12.5px;line-height:1.55;color:var(--a-dim);margin:0 0 16px}
.bclml-auth-h + .bclml-auth-form{margin-top:18px}

.bclml-auth .bclml-field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}
.bclml-auth .bclml-field label{font-size:12.5px;font-weight:600;color:var(--a-soft);margin:0}
.bclml-auth .bclml-field input,
.bclml-auth input.input-text{
  width:100% !important;font-family:inherit !important;font-size:15px !important;color:var(--a-ink) !important;
  background:#0C0C0C !important;border:1px solid var(--a-line) !important;border-radius:10px !important;
  padding:13px 14px !important;line-height:1.3 !important;box-shadow:none !important;transition:border-color .15s,background .15s;
}
.bclml-auth .bclml-field input::placeholder{color:#5A5A5A}
.bclml-auth .bclml-field input:focus,
.bclml-auth input.input-text:focus{outline:none !important;border-color:var(--a-gold) !important;background:#101010 !important}

.bclml-auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.bclml-auth .bclml-check{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--a-soft);margin:0;cursor:pointer}
.bclml-auth .bclml-check input{width:auto !important;margin:0 !important;accent-color:var(--a-gold)}
.bclml-auth-link{font-size:12.5px;color:var(--a-gold);text-decoration:none}
.bclml-auth-link:hover{color:var(--a-gold-2);text-decoration:underline}

.bclml-auth .bclml-auth-btn{
  width:100%;display:block;cursor:pointer;font-family:inherit !important;font-size:14.5px !important;font-weight:700 !important;
  color:#161100 !important;background:var(--a-gold) !important;border:0 !important;border-radius:10px !important;
  padding:14px 18px !important;text-transform:none !important;letter-spacing:0 !important;
  transition:background .16s,transform .16s;
}
.bclml-auth .bclml-auth-btn:hover{background:var(--a-gold-2) !important;transform:translateY(-1px)}
.bclml-auth .bclml-auth-btn--alt{
  color:var(--a-gold-2) !important;background:transparent !important;border:1px solid rgba(230,187,3,.38) !important;
}
.bclml-auth .bclml-auth-btn--alt:hover{background:rgba(230,187,3,.13) !important}

.bclml-auth-foot{max-width:640px;margin:26px auto 0;text-align:center;font-size:12px;color:var(--a-dim)}

/* WooCommerce's own notices (wrong password, registration errors) sitting above
   this form are light-on-light by default, which is unreadable on the dark card. */
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info{
  background:#141414 !important;color:#B4B4B4 !important;border:1px solid #2A2A2A !important;
  border-left:3px solid var(--a-gold,#E6BB03) !important;border-radius:10px !important;
  font-family:'Poppins',system-ui,sans-serif;font-size:13.5px;
}
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error{border-left-color:#E5484D !important}
body.woocommerce-account .woocommerce-notices-wrapper li{color:#B4B4B4 !important}
body.woocommerce-account .woocommerce-notices-wrapper a{color:var(--a-gold,#E6BB03) !important}

/* WooCommerce injects the privacy-policy paragraph into the register form via
   woocommerce_register_form. Left alone it inherits the theme's body size and
   ends up the loudest thing on the card, so it is toned down to a footnote. */
.bclml-auth .woocommerce-privacy-policy-text{margin:0 0 18px}
.bclml-auth .woocommerce-privacy-policy-text p{
  font-size:11.5px !important;line-height:1.55 !important;color:#7A7A7A !important;margin:0 !important;
}
.bclml-auth .woocommerce-privacy-policy-text a{color:#E6BB03 !important;text-decoration:underline}
/* Anything else a plugin drops into these forms should at least inherit the
   card's type rather than the theme's. */
.bclml-auth .bclml-auth-form p{font-family:inherit}
.bclml-auth .bclml-auth-form > p:not(.bclml-field):not(.bclml-auth-note){font-size:12.5px;line-height:1.55;color:#B4B4B4}

/* ---- Biomarker guide tab ---- */
.bclml-guide .bcg-search{margin:0 0 16px}
.bclml-guide .bcg-search input{
  width:100%;max-width:520px;background:var(--raise);border:1.5px solid var(--line);color:var(--ink);
  border-radius:var(--r-sm);padding:13px 16px;font-family:inherit;font-size:14.5px;
}
.bclml-guide .bcg-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-wash)}
.bclml-guide .bcg-cat{margin-bottom:12px}
.bclml-guide .bcg-count{
  font-size:11.5px;font-weight:700;color:var(--ink-soft);background:var(--raise);
  border:1px solid var(--line);border-radius:999px;padding:3px 11px;flex:none;
}
.bclml-guide .bcg-list{margin:0 0 6px}
.bclml-guide .bcg-loading{color:var(--ink-dim);font-size:13px;padding:12px 4px}
.bclml-guide .bcg-item{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);
  margin-bottom:8px;overflow:hidden;
}
.bclml-guide .bcg-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;font-size:14px;font-weight:600;color:var(--ink);
}
.bclml-guide .bcg-item summary::-webkit-details-marker{display:none}
.bclml-guide .bcg-item summary:hover{background:var(--raise)}
.bclml-guide .bcg-item[open] summary{border-bottom:1px solid var(--line-soft)}
.bclml-guide .bcg-item[open] .bcg-name{color:var(--gold)}
.bclml-guide .bcg-tag{
  flex:none;font-size:11px;color:var(--ink-soft);background:var(--raise);
  border:1px solid var(--line);border-radius:999px;padding:2px 10px;
}
.bclml-guide .bcg-desc{padding:13px 16px;font-size:13.5px;line-height:1.65;color:var(--ink-soft)}
@media(max-width:600px){
  .bclml-guide .bcg-item summary{padding:12px 13px}
  .bclml-guide .bcg-desc{padding:12px 13px}
}

/* "Results for your doctor" - the tables on their own, beside the full report.
   Outlined so the full report stays the primary action, and matched to the
   consultation button so the pair line up. The !important is not decoration:
   .bcr-download carries !important hover/focus rules further up this file that
   would otherwise repaint this one solid gold the moment it is touched. */
.bclml-results .bcr-download--doctor{
  color:var(--gold-2) !important;background:transparent !important;
  border:1px solid var(--gold-line) !important;padding:10px 14px;
}
.bclml-results .bcr-download--hero.bcr-download--doctor{padding:11px 17px;box-shadow:none}
.bclml-results .bcr-download--doctor:hover,
.bclml-results .bcr-download--doctor:focus,
.bclml-results .bcr-download--doctor:active,
.bclml-results .bcr-download--doctor:focus-visible{
  color:var(--gold-ink) !important;background:var(--gold-2) !important;border-color:var(--gold-2) !important;
}
