/* next-v95-profiles.css (v95, 2026-10-02): Suppliers, Network and Your pharmacy's file as profiles. Loads after next-v94.css.
   Tokens only (DESIGN-V89.md section 2): the six type styles, three weights, the greys, the four tones and the spacing scale.
   No pill with a coloured dot, no gradient: a cover is a flat tint of the firm's own hue, and carries colour only for a recall or
   a hold. Status is a glyph and plain words; colour only where it carries meaning. */

/* ---------- shared: link buttons, marks, words ---------- */
.v95p-ln { display: inline; padding: 0; margin: 0 0 0 var(--s-2); border: 0; background: none; font: inherit; font-size: var(--t-small-size); line-height: var(--t-small-lh); font-weight: var(--w-medium); color: var(--accent); cursor: pointer; text-decoration: none; white-space: nowrap; }
.v95p-ln:hover { text-decoration: underline; text-underline-offset: 2px; }
.v95p-ln:focus-visible { outline: 0; box-shadow: var(--focus-ring); border-radius: 4px; }
.v95p-muted { color: var(--gray-500); }
.v95p-crit { color: var(--critical-fg); }
.v95p-m0 { margin: 0; }
.v95p-small { margin: var(--s-2) 0 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-none { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v95p-sp1 { flex: 1; }
svg.v95p-mk { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; color: var(--gray-400); }
svg.v95p-mk[data-lv="source"], svg.v95p-mk[data-lv="person"] { color: var(--positive-dot); }
svg.v95p-mk[data-lv="doc"], svg.v95p-mk[data-lv="file"] { color: var(--gray-500); }
svg.v95p-mk[data-lv="bad"] { color: var(--critical-dot); }
.v95p-cw { font-weight: var(--w-medium); color: var(--gray-700); }
.v95p-cw[data-lv="source"], .v95p-cw[data-lv="person"] { color: var(--positive-fg); }
.v95p-cw[data-lv="bad"] { color: var(--critical-fg); }
.v95p-cw[data-lv="missing"], .v95p-cw[data-lv="na"], .v95p-cw[data-lv="unknown"], .v95p-cw[data-lv="notrun"] { color: var(--gray-500); font-weight: var(--w-regular); }

/* ---------- the role line ---------- */
.v95p-role { color: var(--gray-700); }
.v95p-role.is-none { color: var(--gray-500); }
.v95p-role.is-quiet { color: var(--gray-400); }
.v95p-from { color: var(--gray-500); }
.v95p-ln.v95p-rb { margin-left: 0; }
.v95p-rq-role { padding: 0; border: 0; background: none; font: inherit; color: var(--gray-700); text-decoration: underline dotted var(--gray-400); text-underline-offset: 3px; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v95p-rq-role:hover { color: var(--gray-900); text-decoration-color: var(--gray-700); }

/* ---------- a profile card: cover, mark, name, role, then its sections ---------- */
.v95p-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); align-items: stretch; }
.v95p-pc { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--gray-200); border-radius: var(--r-card); background: var(--gray-0); overflow: hidden; transition: border-color var(--d-hover) var(--ease); }
.v95p-pc[data-go] { cursor: pointer; }
.v95p-pc[data-go]:hover { border-color: var(--gray-300); }
.v95p-pc[data-go]:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
.v95p-cv { height: 56px; display: flex; align-items: flex-start; justify-content: flex-end; padding: var(--s-2) var(--s-3); background: color-mix(in srgb, hsl(var(--h, 220) 42% 52%) 9%, var(--gray-25)); border-bottom: 1px solid var(--gray-100); }
.v95p-cv[data-tone="critical"] { background: var(--critical-bg); border-bottom-color: var(--critical-bd); }
.v95p-cv[data-tone="attention"] { background: var(--attention-bg); border-bottom-color: var(--attention-bd); }
.v95p-cv-t { font-size: var(--t-small-size); line-height: var(--t-small-lh); font-weight: var(--w-medium); color: var(--gray-700); }
.v95p-cv[data-tone="critical"] .v95p-cv-t { color: var(--critical-fg); }
.v95p-cv[data-tone="attention"] .v95p-cv-t { color: var(--attention-fg); }
.v95p-cv-t a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.v95p-av { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--r-card); background: var(--gray-0); border: 1px solid var(--gray-200); box-shadow: 0 0 0 4px var(--gray-0); font-size: var(--t-heading-size); line-height: 1; font-weight: var(--w-semibold); color: var(--gray-700); overflow: hidden; letter-spacing: 0; }
.v95p-av.has-img img { width: 100%; height: 100%; object-fit: contain; }
.v95p-av.sm { width: 32px; height: 32px; border-radius: var(--r-ctl); box-shadow: none; font-size: var(--t-label-size); background: var(--gray-100); border-color: var(--gray-100); }
.v95p-av.lg { width: 88px; height: 88px; border-radius: 16px; font-size: 22px; }
.v95p-pc-h { display: flex; align-items: flex-end; gap: var(--s-3); padding: 0 var(--s-5); margin-top: -28px; }
.v95p-pc-id { flex: 1; min-width: 0; padding-top: 32px; display: flex; flex-direction: column; gap: 0; }
.v95p-pc-id h3 { margin: 0; font-size: var(--t-heading-size); line-height: var(--t-heading-lh); font-weight: var(--w-semibold); letter-spacing: var(--t-heading-track); color: var(--gray-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-pc-id h3 a { color: inherit; text-decoration: none; }
.v95p-pc-id h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.v95p-pc-r, .v95p-pc-m { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-pc-r .v95p-ln { margin-left: var(--s-1); }
.v95p-sec { padding: var(--s-4) var(--s-5) 0; display: flex; flex-direction: column; gap: var(--s-2); min-width: 0; }
.v95p-sec + .v95p-sec { margin-top: var(--s-1); }
.v95p-pc > .v95p-sec:last-of-type { padding-bottom: var(--s-4); }
.v95p-sec h4 { margin: 0; font-size: var(--t-label-size); line-height: var(--t-label-lh); font-weight: var(--w-medium); color: var(--gray-500); letter-spacing: 0; text-transform: none; }

/* supplies: one line per substance, its lot or lots, and the lot's own status in V.lotStatus's words */
.v95p-sp { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v95p-sp li { display: flex; align-items: baseline; gap: var(--s-3); min-height: 32px; padding: 6px 0; border-top: 1px solid var(--gray-100); min-width: 0; }
.v95p-sp li:first-child { border-top: 0; padding-top: 0; min-height: 26px; }
.v95p-sp a { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: var(--s-2); color: inherit; text-decoration: none; }
.v95p-sp a:hover .v95p-sp-p { text-decoration: underline; text-underline-offset: 2px; }
.v95p-sp-p { font-size: var(--t-body-size); line-height: var(--t-body-lh); font-weight: var(--w-medium); color: var(--gray-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.v95p-sp-l { flex: none; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); white-space: nowrap; }
.v95p-sp-s { flex: none; max-width: 46%; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; }
.v95p-sp-s.is-crit { color: var(--critical-fg); font-weight: var(--w-medium); }
.v95p-sp-f { display: flex; align-items: baseline; gap: var(--s-3); flex-wrap: wrap; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-sp-f .v95p-ln { margin-left: 0; }
.v95p-coa { color: var(--accent); font-weight: var(--w-medium); text-decoration: none; }
.v95p-coa:hover { text-decoration: underline; text-underline-offset: 2px; }

/* credentials: the label, how it was established (a mark and plain words, the detail in grey), and the one step that closes it */
.v95p-cr { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v95p-cr li { display: grid; grid-template-columns: 128px minmax(0, 1fr) auto; align-items: center; column-gap: var(--s-3); min-height: 32px; padding: 4px 0; border-top: 1px solid var(--gray-100); }
.v95p-cr li:first-child { border-top: 0; }
.v95p-cl { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-cs { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); }
.v95p-cs .v95p-cw { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 0 1 auto; }
.v95p-cs em { font-style: normal; color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1 1 0; }
.v95p-ca { justify-self: end; }
.v95p-ca .v95p-ln { margin: 0; }
.v95p-or { margin: 0 0 0 var(--s-2); color: var(--gray-500); }
.v95p-rnote .v95p-or + .v95p-ln { margin-left: var(--s-2); }
.v95p-rnote p { margin: 0; }
.v95p-rnote b { font-weight: var(--w-medium); color: var(--gray-900); }
.v95p-rnote { display: flex; flex-direction: column; gap: 2px; margin: var(--s-1) 0 0; padding: var(--s-2) var(--s-3); border-radius: var(--r-ctl); background: var(--gray-50); font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.v95p-pc-f { display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap; margin-top: auto; padding: var(--s-3) var(--s-5); border-top: 1px solid var(--gray-100); background: var(--gray-25); }
.v95p-fl { display: flex; flex-direction: column; min-width: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-fl2 { color: var(--gray-500); }
.v95p-small .v95p-ln { margin-left: 0; }
.v95p-fl b { font-weight: var(--w-medium); color: var(--gray-900); font-variant-numeric: tabular-nums; }

/* how to read a credential, said once above the list */
.v95p-legend { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); margin: 0 0 var(--s-4); padding: var(--s-3) var(--s-4); border: 1px solid var(--gray-200); border-radius: var(--r-card); background: var(--gray-0); }
.v95p-legend > span { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-small-size); line-height: var(--t-small-lh); min-width: 0; }
.v95p-legend b { font-weight: var(--w-medium); color: var(--gray-900); white-space: nowrap; }
.v95p-legend em { font-style: normal; color: var(--gray-500); }
.v95p-foot { margin: var(--s-5) 0 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); max-width: 80ch; }
.v95s .v89pf-alerts { margin-bottom: var(--s-5); }
.v95p-tools { margin-bottom: var(--s-3); }

/* ---------- the suppliers table ---------- */
.v95p-dt table.v95p-stable { table-layout: fixed; min-width: 1064px; }
.v95p-dt table.v95p-stable td { vertical-align: middle; }
.v95p-dt table.v95p-stable td.v95p-tc, .v95p-dt table.v95p-stable th.v95p-tc { padding-left: var(--s-2); padding-right: var(--s-2); }
.v95p-dt .v95p-ts { display: flex; align-items: center; gap: var(--s-3); min-width: 0; }
.v95p-dt .v95p-ts > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.v95p-dt .v95p-ts .l1 { font-weight: var(--w-medium); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-dt .l1, .v95p-dt .l2 { display: block; }
.v95p-dt .l2 { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-dt .l2 .v95p-ln { margin-left: 0; }
.v95p-dt .l2 .v95p-role + .v95p-ln { margin-left: var(--s-1); }
.v95p-dt td .v95p-tcs.l1 { display: flex; align-items: center; gap: 6px; font-size: var(--t-small-size); line-height: var(--t-small-lh); min-width: 0; }
.v95p-dt .v95p-tcs .v95p-cw { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-dt .v95p-tstep .btn { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.v95p-dt .tablewrap { overflow-x: auto; }

/* ---------- Network: Discover ---------- */
.v89-head h1 .v95p-t { font: inherit; letter-spacing: inherit; color: inherit; font-variant-numeric: normal; }
.v95p-two { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--s-6); align-items: start; }
.v95p-main { min-width: 0; display: flex; flex-direction: column; gap: var(--s-5); }
.v95p-main > * { margin: 0; }
.v95p-rail { display: flex; flex-direction: column; gap: var(--s-4); min-width: 0; }
.v95p-rail > .card { margin: 0; }
.v95p-rc .card-b { display: flex; flex-direction: column; gap: 0; }
.v95p-rc-a { margin-top: var(--s-3); display: flex; }
.v95p-bul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: var(--s-2); font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.v95p-dtools { display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.v95p-dtools .v95p-dq { flex: 1 1 280px; width: auto; }
.v95p-sel select { height: 32px; padding: 0 var(--s-8) 0 var(--s-3); font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-900); border: 1px solid var(--gray-300); border-radius: var(--r-ctl); background-color: var(--gray-0); }
.v95p-seg { display: inline-flex; align-items: stretch; height: 32px; padding: 2px; border: 1px solid var(--gray-200); border-radius: var(--r-ctl); background: var(--gray-50); }
.v95p-seg button { padding: 0 var(--s-3); border-radius: 6px; font-size: var(--t-small-size); line-height: 26px; font-weight: var(--w-medium); color: var(--gray-500); cursor: pointer; white-space: nowrap; }
.v95p-seg button[aria-pressed="true"] { background: var(--gray-0); color: var(--gray-900); box-shadow: 0 0 0 1px var(--gray-200); }
.v95p-seg button:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
.v95p-count { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-main > .v95p-count + .v95p-grid { margin-top: calc(-1 * var(--s-3)); }
.v95p-dc-hl { margin: var(--s-3) var(--s-5) 0; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-700); }
.v95p-of { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); }
.v95p-of li { display: inline-flex; align-items: baseline; gap: 6px; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-of b { font-weight: var(--w-medium); color: var(--gray-900); }
.v95p-dc-l p { margin: 0; display: flex; flex-direction: column; gap: 2px; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.v95p-dc-l p span { color: var(--gray-500); }
.v95p-dc-f { gap: var(--s-2); row-gap: var(--s-2); }
.v95p-dc .v95p-cs { flex-wrap: wrap; row-gap: 0; }
.v95p-dc .v95p-cs em { flex: 0 0 100%; padding-left: 22px; white-space: normal; }
.v95p-dc .v95p-cr li { grid-template-columns: 112px minmax(0, 1fr); align-items: start; padding: 6px 0; }
.v95p-ln.v95p-ext { display: inline-flex; align-items: center; gap: 4px; margin: 0; }
.v95p-ln.v95p-ext svg.i { width: 14px; height: 14px; }
.v95p-dc-f .btn svg.i { width: 14px; height: 14px; }
.v95p-dempty { padding: 0; overflow: hidden; }
.v95p-de-b { padding: var(--s-8) var(--s-8) var(--s-6); display: flex; flex-direction: column; gap: var(--s-3); max-width: 760px; }
.v95p-de-b h2 { margin: 0; font-size: var(--t-heading-size); line-height: var(--t-heading-lh); font-weight: var(--w-semibold); color: var(--gray-900); }
.v95p-de-b > p { margin: 0; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-700); }
.v95p-de-a { display: flex; gap: var(--s-2); flex-wrap: wrap; margin-top: var(--s-2); }
.v95p-steps3 { list-style: none; counter-reset: v95s; margin: var(--s-2) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
.v95p-steps3 li { counter-increment: v95s; display: flex; flex-direction: column; gap: var(--s-1); padding: var(--s-4); border-radius: var(--r-ctl); background: var(--gray-50); }
.v95p-steps3 li::before { content: counter(v95s); display: grid; place-items: center; width: 24px; height: 24px; margin-bottom: var(--s-1); border-radius: 50%; background: var(--gray-0); border: 1px solid var(--gray-200); font-size: var(--t-label-size); line-height: 1; font-weight: var(--w-semibold); color: var(--gray-700); }
.v95p-steps3 b { font-size: var(--t-body-size); line-height: var(--t-body-lh); font-weight: var(--w-medium); color: var(--gray-900); }
.v95p-steps3 span { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
#view .page > .v95p-nettabs { margin: 0 0 var(--s-5); }

/* ---------- Your pharmacy's file: the profile head ---------- */
.v95p-ph { margin: 0 0 var(--s-5); border: 1px solid var(--gray-200); border-radius: var(--r-card); background: var(--gray-0); overflow: hidden; }
.v95p-cv-lg { height: 80px; }
.v95p-ph-b { display: flex; align-items: flex-end; gap: var(--s-5); padding: 0 var(--s-6) var(--s-4); margin-top: -36px; }
.v95p-ph-id { flex: 1; min-width: 0; padding-top: 48px; display: flex; flex-direction: column; gap: 2px; }
.v95p-ph-n { display: flex; align-items: baseline; gap: var(--s-3); flex-wrap: wrap; min-width: 0; }
.v95p-ph-n h1 { margin: 0; font-size: var(--t-title-size); line-height: var(--t-title-lh); font-weight: var(--w-semibold); letter-spacing: var(--t-title-track); color: var(--gray-900); }
.v95p-ph-st { font-size: var(--t-small-size); line-height: var(--t-small-lh); }
.v95p-pub { display: inline-flex; align-items: center; gap: 4px; color: var(--positive-fg); font-weight: var(--w-medium); }
.v95p-pub svg.v95p-mk { width: 14px; height: 14px; }
.v95p-unpub { color: var(--gray-500); font-weight: var(--w-medium); }
.v95p-ph-hl { margin: 0; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-700); }
.v95p-ph-hl .v95p-ln { margin-left: 0; font-size: var(--t-body-size); }
.v95p-ph-m { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-ph-m a { color: var(--accent); text-decoration: none; }
.v95p-stats { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-5); margin-top: var(--s-2); }
.v95p-st { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); text-decoration: none; white-space: nowrap; }
.v95p-st b { font-weight: var(--w-semibold); color: var(--gray-900); font-variant-numeric: tabular-nums; }
a.v95p-st:hover b { text-decoration: underline; text-underline-offset: 2px; }
.v95p-ph-a { flex: none; display: flex; align-items: center; gap: var(--s-2); padding-bottom: var(--s-1); }
.v95p-marks { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); padding: var(--s-3) var(--s-6); border-top: 1px solid var(--gray-100); }
.v95p-mk-i { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); text-decoration: none; min-width: 0; }
.v95p-mk-i b { font-weight: var(--w-medium); color: var(--gray-900); white-space: nowrap; }
.v95p-mk-i:hover b { text-decoration: underline; text-underline-offset: 2px; }
.v95p-ph-p { margin: 0; padding: var(--s-3) var(--s-6); border-top: 1px solid var(--gray-100); background: var(--gray-25); font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-file > .tabs { margin-bottom: var(--s-5); }

/* the cards on the file */
.v95p-card { margin: 0; }
.v95p-ch { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.v95p-ch h2 { margin: 0; }
.v95p-ch .sub { margin: 0; }
.v95p-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.v95p-pair > .card { margin: 0; }
.v95p-cmp { display: flex; flex-direction: column; gap: var(--s-4); }
.v95p-cmp h4 { margin: 0 0 2px; font-size: var(--t-label-size); line-height: var(--t-label-lh); font-weight: var(--w-medium); color: var(--gray-500); }
.v95p-cmp p { margin: 0; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-900); }
.v95p-cmp p.v95p-none { font-size: var(--t-small-size); color: var(--gray-500); }
.v95p-cmp p .v95p-ln { margin-left: var(--s-2); }
.v95p-cmp-f { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); flex-wrap: wrap; padding-top: var(--s-3); border-top: 1px solid var(--gray-100); }
.v95p-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); }
.v95p-fact { display: flex; flex-direction: column; gap: 0; padding: var(--s-2) var(--s-3); border-radius: var(--r-ctl); background: var(--gray-50); text-decoration: none; min-width: 0; }
.v95p-fact b { font-size: var(--t-heading-size); line-height: var(--t-heading-lh); font-weight: var(--w-semibold); color: var(--gray-900); font-variant-numeric: tabular-nums; }
.v95p-fact span { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
a.v95p-fact:hover { background: var(--gray-100); }
.v95p-lots { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: flex; flex-direction: column; }
.v95p-lots li { display: flex; flex-direction: column; gap: 0; padding: var(--s-2) 0; border-top: 1px solid var(--gray-100); }
.v95p-lots a { display: flex; align-items: baseline; gap: var(--s-2); min-width: 0; color: inherit; text-decoration: none; }
.v95p-lots a b { font-size: var(--t-body-size); line-height: var(--t-body-lh); font-weight: var(--w-medium); color: var(--gray-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-lots a span { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-lots a:hover b { text-decoration: underline; text-underline-offset: 2px; }
/* v97 (fixer A, M7): a pharmacist's review is the pharmacy's own, said in grey; a recall or a hold is its red label */
.v95p-lot-w { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-lot-w .v96-l { margin-right: 4px; }
.v95p-lots + .v95p-none, .v95p-facts + .v95p-none { margin-top: var(--s-3); }

/* the submission steps: a numbered step, what happens after you submit it, then its rows */
.v95p-stepsc { padding: 0; overflow: hidden; }
.v95p-step { border-top: 1px solid var(--gray-200); scroll-margin-top: 72px; }
.v95p-step > summary { list-style: none; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; column-gap: var(--s-3); padding: var(--s-4) var(--s-5); cursor: pointer; }
.v95p-step > summary::-webkit-details-marker { display: none; }
.v95p-step > summary:hover { background: var(--gray-25); }
.v95p-step > summary:focus-visible { outline: 0; box-shadow: inset var(--focus-ring); }
.v95p-step-n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--gray-300); background: var(--gray-0); font-size: var(--t-label-size); line-height: 1; font-weight: var(--w-semibold); color: var(--gray-700); font-variant-numeric: tabular-nums; }
.v95p-step-n svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.v95p-step.is-done .v95p-step-n { border-color: var(--positive-bd); background: var(--positive-bg); color: var(--positive-fg); }
.v95p-step.is-next .v95p-step-n { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }
.v95p-step-t { min-width: 0; }
.v95p-step-t h3 { margin: 0; font-size: var(--t-body-size); line-height: var(--t-body-lh); font-weight: var(--w-semibold); color: var(--gray-900); }
.v95p-step-h { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v95p-step[open] .v95p-step-h { display: none; }
.v95p-step-st { display: inline-flex; align-items: center; gap: var(--s-2); font-size: var(--t-small-size); line-height: var(--t-small-lh); white-space: nowrap; }
.v95p-chev { width: 16px; height: 16px; fill: none; stroke: var(--gray-400); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--d-hover) var(--ease); }
.v95p-step[open] .v95p-chev { transform: rotate(180deg); }
.v95p-step-b { padding: 0 var(--s-5) var(--s-3) calc(var(--s-5) + 40px); }
.v95p-after { margin: calc(-1 * var(--s-2)) 0 var(--s-2); font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); max-width: 76ch; }
.v95p-after b { font-weight: var(--w-medium); color: var(--gray-700); }
.v95p-after span { color: var(--gray-500); }
.v95p-next { color: var(--accent); font-weight: var(--w-semibold); }
.v95p-rqs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v95p-card > .v95p-rqs { padding: 0 var(--s-5) var(--s-2); }
.v95p-rq { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) 184px; align-items: center; column-gap: var(--s-4); min-height: 52px; padding: var(--s-2) 0; border-top: 1px solid var(--gray-100); }
.v95p-rq.has-vis { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 140px 168px; }
.v95p-rq.is-4 { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) 132px; }
.v95p-rq-t { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.v95p-rq-t b { font-size: var(--t-body-size); line-height: var(--t-body-lh); font-weight: var(--w-medium); color: var(--gray-900); }
.v95p-rq-t b a { color: inherit; text-decoration: none; }
.v95p-rq-t b a:hover { text-decoration: underline; text-underline-offset: 2px; }
.v95p-rq-t > span { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-firm { flex-direction: row; align-items: center; gap: var(--s-3); }
.v95p-firm > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.v95p-firm > span:last-child > span { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-rq-s { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); }
.v95p-rq-s em { font-style: normal; color: var(--gray-500); flex-basis: 100%; padding-left: 22px; }
.v95p-rq-s.v95p-col em { padding-left: 0; }
.v95p-rq-v { font-size: var(--t-small-size); line-height: var(--t-small-lh); min-width: 0; }
.v95p-rq-a { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; min-width: 0; justify-self: end; }
.v95p-rq-a .v95p-ln { margin: 0; }
.v95p-rq-alt .v95p-ln { font-weight: var(--w-regular); }
.v95p-rq.is-done .v95p-rq-t b { color: var(--gray-700); }
/* Public | Private: a two-way switch, the state pressed */
.v95p-vis { display: inline-flex; height: 28px; padding: 2px; border: 1px solid var(--gray-200); border-radius: var(--r-ctl); background: var(--gray-50); }
.v95p-vis button { padding: 0 var(--s-2); border-radius: 6px; font-size: var(--t-label-size); line-height: 22px; font-weight: var(--w-medium); color: var(--gray-500); cursor: pointer; }
.v95p-vis button[aria-pressed="true"] { background: var(--gray-0); color: var(--gray-900); box-shadow: 0 0 0 1px var(--gray-200); cursor: default; }
.v95p-vis button:not([aria-pressed="true"]):hover { color: var(--gray-900); }
.v95p-vis button:disabled:not([aria-pressed="true"]) { cursor: default; opacity: .6; }
.v95p-bks { list-style: none; margin: 0; padding: 0 var(--s-5) var(--s-2); }
.v95p-bk { display: grid; grid-template-columns: minmax(0, 1fr) 200px auto; align-items: center; column-gap: var(--s-4); padding: var(--s-3) 0; border-top: 1px solid var(--gray-100); }
.v95p-bk-s { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-sub { display: inline-flex; align-items: center; gap: var(--s-2); margin-top: var(--s-1); font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }

/* the rail: what finishes the profile, the live preview, who reads it */
.v95p-prog { list-style: none; counter-reset: v95p; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v95p-prog li { counter-increment: v95p; position: relative; display: flex; flex-direction: column; gap: 2px; padding: 6px 0 6px 30px; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-prog li::before { content: counter(v95p); position: absolute; left: 0; top: 6px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--gray-300); background: var(--gray-0); font-size: var(--t-label-size); line-height: 1; font-weight: var(--w-semibold); color: var(--gray-500); }
.v95p-prog li:not(:last-child)::after { content: ""; position: absolute; left: 10px; top: 28px; bottom: -6px; width: 1px; background: var(--gray-200); }
.v95p-prog li.is-done::before { content: "✓"; border-color: var(--positive-bd); background: var(--positive-bg); color: var(--positive-fg); }
.v95p-prog li.is-next::before { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }
.v95p-prog li.is-next, .v95p-prog li.is-next a, .v95p-prog li.is-next b { color: var(--gray-900); font-weight: var(--w-medium); }
.v95p-prog li a { color: inherit; text-decoration: none; }
.v95p-prog li a:hover { text-decoration: underline; text-underline-offset: 2px; }
.v95p-prog li.is-done a, .v95p-prog li.is-done b { color: var(--gray-700); }
.v95p-prog-d li b { font-weight: var(--w-medium); color: var(--gray-700); }
.v95p-prog-d li .btn { align-self: flex-start; margin-top: var(--s-2); }
.v95p-na { margin-top: var(--s-4); padding: var(--s-4); border-radius: var(--r-ctl); background: var(--gray-50); display: flex; flex-direction: column; gap: var(--s-3); }
.v95p-na p { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.v95p-na p b { font-weight: var(--w-semibold); color: var(--gray-900); }
.v95p-na .v95p-small { margin: 0; }
.v95p-na .btn { align-self: flex-start; }

/* the live preview: the published file as a reader sees it, at desk or phone width */
.v95p-pvbar { display: flex; align-items: center; gap: var(--s-4); margin: 0 0 var(--s-4); }
.v95p-pvbar p { flex: 1; margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-pvframe { padding: var(--s-6); border-radius: var(--r-card); background: var(--gray-50); border: 1px solid var(--gray-200); }
.v95p-pvframe.is-phone .v95p-pv { max-width: 390px; margin: 0 auto; }
.v95p-pv { max-width: 880px; margin: 0 auto; border: 1px solid var(--gray-200); border-radius: var(--r-card); background: var(--gray-0); overflow: hidden; }
.v95p-pv-sm { max-width: none; border: 0; border-radius: 0; overflow: visible; }
.v95p-pv-sm .v95p-pv-h .v95p-cv { height: 40px; border-radius: var(--r-ctl) var(--r-ctl) 0 0; }
.v95p-pv-sm .v95p-pc-h { padding: 0 var(--s-3); margin-top: -20px; }
.v95p-pv-sm .v95p-av { width: 40px; height: 40px; border-radius: var(--r-ctl); font-size: var(--t-label-size); }
.v95p-pv-sm .v95p-pc-id { padding-top: 22px; }
.v95p-pv-sm .v95p-pc-id h3 { font-size: var(--t-body-size); line-height: var(--t-body-lh); }
.v95p-pv-sm .v95p-pv-h { border: 1px solid var(--gray-200); border-radius: var(--r-ctl); padding-bottom: var(--s-3); margin-bottom: var(--s-3); }
.v95p-pv-sm .v95p-cr li { grid-template-columns: 128px minmax(0, 1fr); }
.v95p-pv-sm .v95p-cs em { display: none; }
.v95p-pv-sm .v95p-cl { white-space: normal; }
.v95p-rc-a .v95p-ln { margin-left: 0; }
.v95p-pv-h { padding-bottom: var(--s-4); border-bottom: 1px solid var(--gray-100); }
.v95p-pv:not(.v95p-pv-sm) .v95p-cr li { grid-template-columns: 220px minmax(0, 1fr); }
.v95p-pv .v95p-cl { white-space: normal; }
.v95p-pv-b { padding: var(--s-2) var(--s-6) var(--s-6); display: flex; flex-direction: column; }
.v95p-pv-b > section { padding: var(--s-4) 0; border-bottom: 1px solid var(--gray-100); display: flex; flex-direction: column; gap: var(--s-2); }
.v95p-pv-b h4, .v95p-pv-g h5 { margin: 0; font-size: var(--t-label-size); line-height: var(--t-label-lh); font-weight: var(--w-medium); color: var(--gray-500); }
.v95p-pv-b > section > p { margin: 0; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-900); }
.v95p-pv-facts { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 2px; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-900); }
.v95p-pv-find { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.v95p-pv-find li { display: flex; flex-direction: column; gap: 0; }
.v95p-pv-find b { font-size: var(--t-body-size); line-height: var(--t-body-lh); font-weight: var(--w-medium); color: var(--gray-900); }
.v95p-pv-find span { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.v95p-pv-find em { font-style: normal; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-500); }
.v95p-pv-all { padding: var(--s-4) 0; border-bottom: 1px solid var(--gray-100); }
.v95p-pv-all > summary { cursor: pointer; font-size: var(--t-small-size); line-height: var(--t-small-lh); font-weight: var(--w-medium); color: var(--accent); }
.v95p-pv-g { margin-top: var(--s-4); }
.v95p-pv-g ul { list-style: none; margin: var(--s-1) 0 0; padding: 0; }
.v95p-pv-g li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--s-4); align-items: center; padding: 6px 0; border-top: 1px solid var(--gray-100); }
.v95p-pv-il { font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.v95p-pv-b > .v95p-small { margin-top: var(--s-4); }
.v95p-pvframe.is-phone .v95p-pv-b { padding: var(--s-2) var(--s-4) var(--s-4); }
.v95p-pvframe.is-phone .v95p-cr li, .v95p-pvframe.is-phone .v95p-pv-g li { grid-template-columns: minmax(0, 1fr); row-gap: 2px; }
.v95p-pvframe.is-phone .v95p-pc-h { padding: 0 var(--s-4); }

/* the buyer requests */
.v95p-inb { list-style: none; margin: 0; padding: 0 var(--s-5) var(--s-2); }

/* ---------- dark mode: the cover tint takes the dark canvas; everything else reads the tokens ---------- */
:root[data-theme="dark"] .v95p-cv { background: color-mix(in srgb, hsl(var(--h, 220) 42% 60%) 12%, var(--gray-25)); }
:root[data-theme="dark"] .v95p-cv[data-tone="critical"] { background: var(--critical-bg); }
:root[data-theme="dark"] .v95p-cv[data-tone="attention"] { background: var(--attention-bg); }

/* ---------- narrower desks ---------- */
@media (max-width: 1279px) {
  .v95p-two { grid-template-columns: minmax(0, 1fr) 288px; gap: var(--s-5); }
  .v95p-rq { column-gap: var(--s-3); }
}
@media (max-width: 1100px) {
  .v95p-grid { grid-template-columns: minmax(0, 1fr); }
  .v95p-two { grid-template-columns: minmax(0, 1fr); }
  .v95p-pair { grid-template-columns: minmax(0, 1fr); }
  .v95p-steps3 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- phone (up to 699px): one column, rows stack, the head's primary takes the row ---------- */
@media (max-width: 699px) {
  .v95p-pc-h { padding: 0 var(--s-4); }
  .v95p-sec { padding: var(--s-4) var(--s-4) 0; }
  .v95p-pc-f { padding: var(--s-3) var(--s-4); }
  .v95p-pc-f .btn { flex: 1 1 100%; justify-content: center; }
  .v95p-pc-f .v95p-sp1 { display: none; }
  .v95p-cr li { grid-template-columns: minmax(0, 1fr) auto; row-gap: 0; padding: 6px 0; }
  .v95p-cr li .v95p-cl { grid-column: 1; }
  .v95p-cr li .v95p-cs { grid-column: 1; grid-row: 2; }
  .v95p-cr li .v95p-ca { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .v95p-cs em { display: none; }
  .v95p-dc .v95p-cr li { grid-template-columns: minmax(0, 1fr); }
  .v95p-dc .v95p-cs { flex-wrap: nowrap; }
  .v95p-dc .v95p-cs .v95p-cw { white-space: normal; }
  .v95p-dc .v95p-cs em { display: none; }
  .v95p-legend { padding: var(--s-3); gap: var(--s-2); }
  .v95p-legend > span { flex-basis: 100%; }
  .v95p-legend em { display: none; }
  .v95p-sp-s { max-width: 40%; }
  /* the table's rows stack (next-v89.css): each cell is labelled from its header, its lines on the right */
  .v95p-dt table.v95p-stable { min-width: 0; table-layout: auto; }
  .v95p-dt table.v95p-stable td.v95p-tstep .btn { width: 100%; justify-content: center; }
  .v95p-dt table.v95p-stable tr { position: relative; }
  .v95p-dt table.v95p-stable td.dt-act { position: absolute; top: var(--s-3); right: var(--s-3); width: auto; padding: 0; }
  .v95p-dtools { flex-direction: column; align-items: stretch; }
  .v95p-dtools .v95p-dq { flex: none; width: 100%; }
  .v95p-sel select { width: 100%; height: 40px; font-size: 16px; }
  .v95p-seg { height: 36px; } .v95p-seg button { flex: 1; line-height: 30px; }
  .v95p-de-b { padding: var(--s-5) var(--s-4); }
  .v95p-dc-f .btn { flex: 1 1 auto; justify-content: center; }
  /* the profile head */
  .v95p-cv-lg { height: 72px; }
  .v95p-ph-b { flex-direction: column; align-items: flex-start; gap: var(--s-3); padding: 0 var(--s-4) var(--s-4); margin-top: -36px; }
  .v95p-av.lg { width: 72px; height: 72px; font-size: var(--t-heading-size); }
  .v95p-ph-id { padding-top: 0; }
  .v95p-ph-a { width: 100%; flex-wrap: wrap; padding: 0; }
  .v95p-ph-a .btn.primary { order: -1; flex: 1 1 100%; justify-content: center; }
  .v95p-ph-a .btn:not(.primary) { flex: 1 1 auto; justify-content: center; }
  .v95p-ph-a details.v84more { flex: 1 1 auto; }
  .v95p-ph-a details.v84more > summary { width: 100%; justify-content: center; }
  .v95p-marks { padding: var(--s-3) var(--s-4); gap: var(--s-2); flex-direction: column; }
  .v95p-ph-p { padding: var(--s-3) var(--s-4); }
  .v95p-stats { gap: var(--s-1) var(--s-4); }
  .v95p-step > summary { padding: var(--s-4); column-gap: var(--s-3); }
  .v95p-step-b { padding: 0 var(--s-4) var(--s-3); }
  .v95p-after { margin-top: 0; }
  .v95p-card > .v95p-rqs, .v95p-bks, .v95p-inb { padding: 0 var(--s-4) var(--s-2); }
  .v95p-rq, .v95p-rq.has-vis, .v95p-rq.is-4 { grid-template-columns: minmax(0, 1fr); row-gap: var(--s-1); padding: var(--s-3) 0; }
  .v95p-rq-a { align-items: stretch; }
  .v95p-rq-a .btn { width: 100%; justify-content: center; }
  .v95p-rq-a .v95p-ln { align-self: flex-start; }
  .v95p-rq-v:empty { display: none; }
  .v95p-bk { grid-template-columns: minmax(0, 1fr); row-gap: var(--s-2); }
  .v95p-pvbar { flex-direction: column; align-items: stretch; }
  .v95p-pvframe { padding: var(--s-3); }
  .v95p-pv-b { padding: var(--s-2) var(--s-4) var(--s-4); }
  .v95p-pv-g li, .v95p-pv .v95p-cr li { grid-template-columns: minmax(0, 1fr); row-gap: 2px; }
  .v95p-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) { .v95p-pc { transition: none; } }
