/* Contemporary shared UI. Homepage composition and site chrome have their own sheets. */
:root {
  --ink:#202422; --muted:#6b716b; --line:#e3e6e0; --soft:#f7f8f5;
  --green:#347451; --lime:#e7eee3; --navy:#be303a; --purple:#f0ecec;
  --td-red:#be303a; --td-red-dark:#9c222d; --td-paper:#fff; --td-cream:#f7f8f5;
  --td-display:'Manrope','DM Sans',Arial,sans-serif;
  --shadow:0 8px 28px #20242206;
  color:var(--ink); background:#fff; font-family:'DM Sans',Arial,sans-serif;
}
body {background:#fff;-webkit-font-smoothing:antialiased}
::selection {background:#f5dadd;color:#80232b}
h1,h2,h3,.compound-name {font-family:var(--td-display);font-weight:750;color:var(--ink);letter-spacing:-.035em}
h1 {line-height:1.12}
h2,h3 {line-height:1.25}
p {color:var(--muted)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible {outline:3px solid #be303a70;outline-offset:3px}
button,a {touch-action:manipulation}
.btn,.btn.green,.btn.lime,.supplier-cta {border:1px solid var(--td-red);border-radius:9px;background:var(--td-red);color:#fff;box-shadow:none;font-weight:700;letter-spacing:0;transition:background .16s,border-color .16s}
.btn:hover:not(:disabled),.btn.green:hover:not(:disabled),.btn.lime:hover:not(:disabled),.supplier-cta:hover {background:var(--td-red-dark);color:#fff;border-color:var(--td-red-dark);box-shadow:none}
.btn.outline {background:#fff;color:var(--ink);border-color:#dbe0d7;box-shadow:none}
.btn.outline:hover:not(:disabled) {color:var(--td-red);background:#fff8f8;border-color:#e5b9bd;box-shadow:none}
.btn:before,.btn:after {display:none}
.source-btn,.textlink {color:var(--td-red);text-decoration-color:#d9a2a7;text-underline-offset:3px}
.source-btn:hover,.textlink:hover {color:var(--td-red-dark)}
select,input[type=search],input[type=number],input[type=email],input[type=text],.searchbox,.quantity-control,.basket-line select,.basket-line input,.movement-toolbar select,.alert-form .field>input,.alert-form .field>select,.local-run-panel select {border:1px solid #dce1d8;border-radius:8px;background:#fff;color:var(--ink);box-shadow:none}
.searchbox input {background:transparent;border:0}
.searchbox:focus-within,.quantity-control:focus-within {border-color:#bd7d83;box-shadow:0 0 0 3px #be303a0b}
.field label,.primary-controls .field label,.catalogue-tools>label:not(.searchbox),.movement-toolbar .field {color:#545b54;font-weight:650;font-size:11px}
.quantity-control {overflow:hidden}
.quantity-control button:hover {background:#f4f6f1}
.chip,.size-link,.pill {border-radius:7px;background:#fff;border-color:var(--line);color:#535c53;box-shadow:none}
.chip.active {background:#fae9eb;border-color:#f1c9cf;color:#a22933}
.chip:hover,.size-link:hover {background:#f7f8f5;border-color:#cbd2c4;transform:none;color:var(--ink)}

/* Compact page introductions and filters. */
.comparison-intro,.catalogue-intro,.monitoring-intro,.compact-page-intro,.feature-hero,.basket-intro,.page-banner,.detail-banner {background:#f7f8f5;background-image:none;border-bottom:1px solid var(--line);padding-top:30px}
.comparison-intro h1,.catalogue-intro h1,.monitoring-intro h1,.compact-page-intro h1,.feature-hero h1,.basket-intro h1,.page-hero h1 {font-size:clamp(31px,3.4vw,43px);font-weight:750;letter-spacing:-1.4px;color:var(--ink)}
.comparison-intro p,.catalogue-intro p,.monitoring-intro p,.compact-page-intro p,.feature-hero p,.basket-intro p {font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.7;color:var(--muted)}
.comparison-intro .eyebrow,.catalogue-intro .eyebrow,.monitoring-intro .eyebrow,.compact-page-intro .eyebrow,.feature-hero .eyebrow,.basket-intro .eyebrow {font-size:10px;letter-spacing:1.2px;font-weight:700}
.intro-proof {background:#fff;border:1px solid var(--line);border-radius:12px;transform:none;color:var(--ink);padding:14px 17px}
.intro-proof b {font-size:12px;font-weight:700}
.intro-proof small {font-size:10px;color:var(--muted)}
.compound-tabs {border-top:1px solid var(--line);margin-top:25px;gap:4px;padding-top:6px;scrollbar-color:#c8cfc1 transparent}
.compound-tabs a {padding:12px 15px;border-radius:8px 8px 0 0;color:#60685f;font-size:12px;background:transparent;box-shadow:none}
.compound-tabs a.active {background:#fff;color:var(--td-red);box-shadow:inset 0 -2px var(--td-red)}
.compound-tabs a:hover:not(.active) {background:#edf0e9;color:var(--ink)}
.compound-tabs .all-peptides-tab.active {color:var(--td-red)!important}
.table-panel,.panel,.control-deck,.essential-controls,.filter-panel,.decision-prompt,.decision-card,.movement-summary,.monitoring-empty,.basket-empty,.funding-status,.local-operations-strip,.local-coverage-stats>div {border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none}
.control-deck.essential-controls {border-top:1px solid var(--line);padding:17px 20px 0;background:#fff}
.panel,.table-panel {box-shadow:0 3px 18px #20242203}
.identity-context,.quote-context,.advanced-body {background:#f7f8f5;border-color:var(--line)}
.advanced-filters,.advanced-filters summary {border-color:var(--line);color:#4b554b}
.advanced-filters[open] {background:#fff}
.advanced-filters>summary small,.range-field small,.deck-note,.quote-context {color:var(--muted)}

/* Price comparisons use tabular numbers and quiet row treatments. */
.num,.decision-value,.basket-best-price,.movement-table td>strong,.stats-grid strong,.monitoring-stats strong {font-variant-numeric:tabular-nums}
.table-heading h2,.essential-results .table-heading h2,.section-top h2,.monitoring-history-head h2,.monitoring-section-head h2 {font:750 24px/1.3 var(--td-display);letter-spacing:-.7px;color:var(--ink)}
.table-heading h2 span {background:#f2f4ee;color:#6a7565;border:0;border-radius:6px}
.decision-prompt {border-style:solid;background:#f7f9f4}
.decision-prompt b,.decision-heading h3 {font-family:var(--td-display);color:var(--ink);font-weight:700;font-size:15px}
.decision-heading {background:transparent}
.decision-card {border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}
.decision-card.delivered-choice {border-color:#c8d9c4;background:#f7faf4}
.decision-label {font-size:10px;letter-spacing:.6px;color:#667260}
.decision-value strong {font:750 30px/1.2 var(--td-display);color:var(--ink);letter-spacing:-1px}
.decision-card.delivered-choice .decision-value strong {color:#367247}
.decision-card>b {color:var(--ink)}
.decision-table .unit-cell strong,.decision-table .total-cell strong,.catalogue-table .unit-cell {font-family:var(--td-display);font-weight:700;letter-spacing:-.35px}
th,.offer-table thead th,.catalogue-table thead,.movement-table th,.size-table th,.comparison-matrix thead th {background:#f7f8f5;color:#646e60;border-color:var(--line)}
td,.movement-table td,.local-checks-table td {border-color:#eceee8}
.table-wrap {scrollbar-color:#c9d0c2 #f7f8f5}
tbody tr:hover,.catalogue-table tr:hover {background:#fafbf8}
.supplier-col,.offer-table .supplier-col {background:#fff;box-shadow:3px 0 8px #20242203}
.best-row,.best-row .supplier-col {background:#f5faf1}
.selected-row,.selected-row .supplier-col {background:#fff3f4}
.compound-name {font-family:var(--td-display);font-size:15px;letter-spacing:-.3px}
.catalogue-table .compound-name::before {border-radius:7px;background:#f0f4ec;color:#72936d;transform:none}
.catalogue-table tr:hover .compound-name::before {transform:none}
.delivery-chip,.coverage-badge,.evidence-state.has-report,.confidence-button,.movement-badge {border-radius:5px}
.delivery-chip,.coverage-badge {background:#f1f4ec;border-color:#e0e6d8;color:#6a7560}
.table-toolbar {background:#fafbf8;border-color:var(--line)}
.explanation-strip {background:#f7f9f4;border-color:var(--line);border-radius:12px}
.explanation-strip b {font:700 13px/1.5 var(--td-display);color:var(--ink)}
.explanation-strip>div {border-color:var(--line)}
.explanation-strip b::before {border-radius:6px;transform:none}

/* Tracker and exact-observation receipts. */
.catalogue-facts,.catalogue-facts b,.monitoring-stats span,.basket-principles {color:var(--muted)}
.catalogue-facts b,.monitoring-stats strong,.stats-grid .stat strong {font-family:var(--td-display);color:var(--ink);font-weight:750}
.monitoring-stats {border-color:var(--line)}
.monitoring-tabs {border-color:var(--line);gap:8px}
.monitoring-tabs button {color:#697361;font-weight:650;border-radius:8px 8px 0 0}
.monitoring-tabs button[aria-selected=true] {color:var(--td-red);background:#fff6f7;border-bottom-color:var(--td-red)}
.movement-summary,.monitoring-empty {background:#f7f9f4}
.movement-product {font:700 14px/1.5 var(--td-display);color:var(--ink)}
.movement-table td>strong {font:750 21px/1.3 var(--td-display);color:var(--ink)}
.movement-table small,.movement-stock,.movement-method,.saved-storage-note {color:var(--muted)}
.movement-badge.steady,.movement-badge.first {background:#f0f3ec;color:#67745e}
.movement-badge.drop {background:#eaf5e7;color:#347451}
.movement-badge.rise {background:#fff0e8;color:#a45f31}
.saved-comparison {background:#fff;border:1px solid var(--line);border-radius:12px}
.saved-comparison h3 {color:var(--ink)}
.timeline-controls .field select {background:#fff;border-color:#dce1d8}
.segmented {background:#f4f6f0;border:1px solid var(--line);border-radius:8px;padding:3px}
.segmented button {border-radius:5px}
.segmented button.active {background:#fff;box-shadow:0 1px 4px #20242212;color:var(--ink)}
.timeline-grid {background:#fff}
.time-receipt,.history-side {background:#f7f9f4;border:1px solid var(--line);border-radius:12px;box-shadow:none}
.time-receipt>strong,.history-side>strong {font-family:var(--td-display);color:var(--ink)}
.history-building {background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:none}
.history-building-head h2 {font-family:var(--td-display);color:var(--ink);font-size:23px;letter-spacing:-.6px}
.history-building-head>strong {font-family:var(--td-display);color:var(--td-red)}
.history-day {background:#f7f8f5;border-color:var(--line);border-radius:7px}
.history-day.recorded {background:#fbedee;border-color:#f0ccd0;color:#9e3239}
.history-day.today {outline-color:#be303a75}

/* Basket, alert and operational panels share the same surfaces. */
.basket-builder {background:#fff;border:1px solid var(--line);border-radius:14px}
.basket-builder-title h2,.basket-best-heading h2,.local-run-panel h2,.local-run-status h2,.local-health-head h2 {font-family:var(--td-display);color:var(--ink);font-size:24px;letter-spacing:-.7px}
.basket-line-number>span {font-family:var(--td-display);color:#829077;font-size:13px}
.basket-best {background:#f5faf2;border:1px solid #cadfc1;border-radius:14px;box-shadow:none}
.basket-best-price {font:750 40px/1.1 var(--td-display);letter-spacing:-1.4px;color:#2c643e}
.basket-best-breakdown {border-color:#dce7d5;color:#6d7a62}
.basket-best-orders .basket-order {background:#fff;border:1px solid #dde7d6;border-radius:10px}
.basket-quote {border:1px solid var(--line);border-radius:10px;overflow:hidden}
.basket-quote[open]>summary {background:#f7f9f4}
.basket-quote>summary strong {font-family:var(--td-display);color:var(--ink)}
.basket-split-totals {background:#253f30;border-radius:10px}
.basket-split-totals strong {font-family:var(--td-display)}
.basket-split-totals span {color:#d6e6d4}
.basket-empty {background:#f7f9f4}
.alert-card,.alert-management-card,.local-run-panel,.local-run-status,.local-checks-panel {border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none}
.alert-offer-summary,.evidence-summary {background:#f7f9f4;border:1px solid var(--line);border-radius:10px}
.alert-offer-summary>b,.evidence-summary b {font-family:var(--td-display);color:var(--ink)}
.local-mode-note,.management-state-note {background:#fff9ef;border-color:#eddbbc;border-radius:9px;color:#896837}
.alert-state {border-radius:5px;background:#f1f4ec;color:#647458}
.outbox-message pre,.code-box {background:#f7f8f5;border-color:var(--line);border-radius:9px;color:#5f6858}
.local-operations-strip,.local-daily-health {background:#f7f9f4;border-color:var(--line);border-radius:12px}
.local-coverage-stats>div {background:#fff;border:1px solid var(--line);border-radius:12px}
.local-coverage-stats strong,.run-counters strong {font-family:var(--td-display);color:var(--ink)}
.coverage-core-grid article,.callout-note,.stats-grid,.widget-preview {background:#f7f9f4;border-color:var(--line);border-radius:12px}
.funding-status {background:#f8faf5;border:1px solid var(--line);border-left:3px solid #9caf8d}
.coupon-card {background:#fff;border-color:var(--line);border-radius:12px;box-shadow:none;transform:none}
.coupon-value {font-family:var(--td-display)}

/* Dialog surfaces remain independent from the navigation drawer. */
#detail-dialog {background:#fff;border:1px solid #e2e6dc;border-radius:18px;box-shadow:0 24px 90px #20242224}
#detail-dialog::backdrop,#quick-find-dialog::backdrop {background:#19231b55;backdrop-filter:blur(5px)}
.dialog-top {background:#f8f9f6;border-color:var(--line)}
.dialog-top h2 {font-family:var(--td-display);font-size:24px;color:var(--ink);letter-spacing:-.7px}
.close-button {border:1px solid var(--line);border-radius:8px;background:#fff;color:#5c6556}
.comparison-matrix tbody th {background:#f7f9f4;color:var(--muted);border-color:var(--line)}
#quick-find-dialog {background:#fff;border:1px solid #e2e6dc;border-radius:18px;box-shadow:0 24px 90px #20242224}
#quick-find-dialog h2 {font-family:var(--td-display);font-weight:750;font-size:29px;letter-spacing:-1px;color:var(--ink)}
.quick-find-eyebrow {font-size:9px;letter-spacing:1px;color:var(--td-red)}
.quick-find-close {border:0;border-radius:9px;background:#f2f4ee;color:#68735f;width:38px;height:38px}
.quick-find-search {background:#fff;border-color:#d5dccd;border-radius:10px}
.quick-find-search:focus-within {border-color:#ba747d;box-shadow:0 0 0 3px #be303a0b}
#quick-find-input {border:0;border-radius:0;background:transparent;box-shadow:none}
.quick-find-meta {background:#f7f9f4;border-color:var(--line)}
.quick-find-result {border-bottom-color:#edf0e7;border-radius:8px}
.quick-find-result:hover,.quick-find-result:focus-visible {background:#f5f8f0;color:var(--ink)}
.quick-find-results {scrollbar-color:#c9d1c1 transparent}
.quick-find-result-name strong {font-family:var(--td-display);font-weight:700;letter-spacing:-.25px}
.quick-find-footer {background:#f9faf7;border-top:1px solid var(--line)}
.quick-find-key-hint kbd {border-color:#d5dccd;border-radius:4px;background:#fff}
.toast {border-radius:10px;background:#263a2b;box-shadow:0 7px 30px #20242220}

@media(max-width:760px) {
  .decision-table tr {border-radius:12px;border-color:var(--line);background:#fff}
  .decision-table tr.best-row {background:#f6faf2;border-color:#d2e1c8}
  .decision-table tr.selected-row {background:#fff5f6;border-color:#e9bac0}
  .decision-table .total-cell {background:#f4f8ef!important}
  .decision-table .row-secondary .add-basket {background:#f7eaec;border-radius:6px;color:var(--td-red)}
  .decision-table .mobile-offer-details {color:#536b48;border-color:var(--line)}
  .essential-results .table-toolbar {background:#fff;border-color:var(--line);border-radius:10px}
}
@media(max-width:600px) {
  .comparison-intro h1,.catalogue-intro h1,.monitoring-intro h1,.compact-page-intro h1,.feature-hero h1,.basket-intro h1 {font-size:30px;letter-spacing:-1.1px}
  .comparison-intro p,.catalogue-intro p,.monitoring-intro p,.compact-page-intro p,.feature-hero p,.basket-intro p {font-size:13px}
  .control-deck.essential-controls {padding:15px 15px 0;border-radius:12px}
  .decision-card {padding:14px 13px}
  .decision-value strong {font-size:25px}
  .table-heading h2,.essential-results .table-heading h2,.section-top h2 {font-size:22px}
  .history-building-head h2 {font-size:21px}
  #detail-dialog,#quick-find-dialog {border-radius:14px}
  #quick-find-dialog h2 {font-size:26px}
}
@media(prefers-reduced-motion:reduce) {.btn,.supplier-cta {transition:none}}

/* The history basis is explicit; a current code never rewrites old prices. */
.timeline-price-controls{display:flex;gap:16px 24px;align-items:end;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-bottom:13px}
.timeline-control-label{display:block;font-size:11px;font-weight:650;color:#545b54;margin-bottom:8px}
.timeline-price-switch{display:inline-flex;gap:3px}
.timeline-price-switch button{font-size:12px;min-height:38px;padding:9px 14px;border:0;background:transparent;color:#687165;cursor:pointer}
.timeline-price-switch button.active{color:#a22933;background:#fff;box-shadow:0 1px 5px #20242214}
.timeline-first-order{font-size:12px;min-height:38px;align-items:center;gap:8px}
.timeline-first-order[hidden]{display:none!important}
.timeline-basis-note,.timeline-current-note{font-size:12px;line-height:1.7;color:#687165;max-width:920px;margin:0 0 18px}
.timeline-current-note a{text-decoration:underline;text-underline-offset:3px}
.timeline-current-estimate{margin:0 0 18px;border:1px solid #eed5d7;border-radius:10px;background:#fff8f8;padding:14px 17px}
.timeline-current-estimate summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;font-size:12px;font-weight:650;color:#93313b}
.timeline-current-estimate summary small{display:block;font-size:10px;font-weight:400;color:#687165;margin-top:4px}
.timeline-current-estimate summary strong{font:700 23px/1.3 var(--td-display);white-space:nowrap}
.timeline-current-estimate summary s{font-size:12px;font-weight:400;color:#687165;margin-left:6px}
.timeline-current-estimate>div{border-top:1px solid #eedddd;margin-top:13px;padding-top:13px}
.timeline-current-estimate p{font-size:12px;line-height:1.7;margin-bottom:10px}
.timeline-current-estimate small,.time-receipt>small{font-size:11px;line-height:1.7;color:#687165}
.timeline-current-estimate>div>small{display:block;margin-top:5px}
.timeline-current-estimate .textlink,.time-receipt>.textlink{display:inline-block;font-size:11px;margin-top:9px}
.receipt-code{display:block;font-size:11px;color:#545b54;margin-top:12px}
.receipt-code b{font-family:monospace;font-size:12px;color:#93313b;background:#f9eaec;padding:3px 6px;border-radius:4px}
.time-receipt{transform:none}
.time-receipt .receipt-listed{display:flex;gap:10px;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.time-receipt .receipt-listed b{color:var(--ink)}
.time-receipt p,.time-receipt .receipt-unit{font-size:11px;line-height:1.7}
.timeline-discount-empty{border:1px dashed #dce1d8;border-radius:12px;background:#fafbf8;padding:32px 24px;text-align:center}
.timeline-discount-empty>span{font-size:27px;color:#8c9b7a}
.timeline-discount-empty h3{font-size:18px;line-height:1.4;margin:10px 0}
.timeline-discount-empty p{font-size:12px;line-height:1.8;max-width:500px;margin:0 auto 18px}
.timeline-legend{font-size:10px;color:#687165}
.timeline-legend .live-dot{background:#be303a}
.history-capture-note strong{font-family:var(--td-display);font-size:13px;letter-spacing:-.2px}
.tracker-coverage-details{margin-top:24px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;overflow:hidden}
.tracker-coverage-details>summary{display:flex;gap:15px;align-items:center;justify-content:space-between;cursor:pointer;padding:17px 20px;font-size:13px;font-weight:650}
.tracker-coverage-details>summary span{color:#687165;font-size:11px;font-weight:400}
.tracker-coverage-details .history-building{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
.time-slider output{color:#93313b}
.time-slider input{accent-color:#be303a}
@media(max-width:600px){.timeline-price-controls{align-items:stretch;gap:10px}.timeline-price-controls>div{width:100%}.timeline-price-switch{display:flex;width:100%}.timeline-price-switch button{flex:1;padding:9px 7px;font-size:11px}.timeline-current-estimate summary{align-items:start}.timeline-current-estimate summary strong{font-size:20px}.timeline-current-estimate summary s{display:block;text-align:right;font-size:11px}.timeline-basis-note,.timeline-current-note{font-size:11px}.timeline-discount-empty{padding:25px 18px}.time-receipt{transform:none}.timeline-controls .check-label{font-size:11px}}
