/* Sandbox service identities. Loaded after the shared blue/premium foundation.
   Weight-management tokens restore the original program palette (140d070).
   No workflow, authorization, clinical status or pricing behavior is changed. */
body.drb-sandbox {
  --weight-teal:#0e6b5c; --weight-deep:#153e35; --weight-mint:#ecf4ef;
  --weight-line:#c5dcd2; --weight-hover:#095448;
}
/* Every program route uses the same shell: marketing, assessment, checkout,
   patient care, clinician reviews and all operations subpages. */
body.drb-sandbox.drb-program,
body.drb-sandbox .drb-weight-context {
  --drb-brand-blue:#0e6b5c; --drb-brand-blue-secondary:#287a69;
  --drb-brand-blue-hover:#095448; --drb-brand-navy:#153e35;
  --drb-brand-ink:#263a36; --drb-brand-muted:#586d65;
  --drb-brand-soft:#ecf4ef; --drb-brand-paper:#fafbf8; --drb-brand-line:#c5dcd2;
  --drb-action:#0e6b5c; --drb-action-hover:#095448;
  --forest:#0e6b5c; --deep:#153e35; --mint:#ecf4ef;
  --ink:#263a36; --muted:#586d65; --paper:#fafbf8; --line:#c5dcd2;
  --drb-blue:#0e6b5c; --drb-deep:#153e35; --drb-soft:#ecf4ef;
}
body.drb-sandbox.drb-program :is(.app-main,.drb-portal-main) { background:#fafbf8; }
body.drb-sandbox.drb-program :is(.program-service-bar,.drb-program-tabs) { background:#ecf4ef; border-color:#c5dcd2; }
body.drb-sandbox.drb-program :is(.hero-reference,.form-wrap) { background:radial-gradient(ellipse at 95% 0%,#dcefe580,transparent 62%); }
body.drb-sandbox.drb-program :is(.hero-clinical-price,.clinical-price-panel) { background:#ecf4ef; border-color:#a9cfc0; }
body.drb-sandbox.drb-program .section-head { border-color:#c5dcd2; }
body.drb-sandbox.drb-program :is(.card,.table-wrap,.clinical-receipt,.choice) { border-color:#d3e2da; }
body.drb-sandbox.drb-program .choice:has(input:checked) { background:#ecf4ef; border-color:#0e6b5c; }
body.drb-sandbox.drb-program :is(.secondary,.text-button,.service-picker-toggle):hover,
body.drb-sandbox.drb-program .service-picker-toggle[aria-expanded=true] { background:#dcefe5!important; border-color:#9cc9b8!important; }
body.drb-sandbox.drb-program :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-color:#0e6b5c!important; }
body.drb-sandbox.drb-program :is(form,.content) :is(input,select,textarea):focus:not([type=checkbox]):not([type=radio]):not([aria-invalid=true]):not(.is-invalid) { border-color:#0e6b5c!important; box-shadow:0 0 0 4px #0e6b5c16!important; }
body.drb-sandbox.drb-program :is(form,.content) :is(input,select,textarea):not([aria-invalid=true]):not(.is-invalid):not(:focus) { border-color:#c5dcd2!important; }
body.drb-sandbox.drb-program table thead th { background:#ecf4ef!important; color:#325b4f!important; border-color:#c5dcd2!important; }
body.drb-sandbox.drb-program table tbody tr:hover>td { background:#f0f7f2; }
body.drb-sandbox.drb-program .progress { background:#dcebe2; }
body.drb-sandbox.drb-program .progress span { background:#0e6b5c; }
body.drb-sandbox.drb-program .chart polyline { stroke:#0e6b5c; }
body.drb-sandbox.drb-program .chart circle { fill:#0e6b5c; }
body.drb-sandbox.drb-program .chart path { stroke:#c5dcd2; }
body.drb-sandbox.drb-program .brand-section { --brand-green:#0e6b5c; }
body.drb-sandbox.drb-program .drb-empty { background:#f2f7f3; border-color:#d3e2da; }
body.drb-sandbox.drb-program .drb-empty>svg { background:#e0eee5; color:#0e6b5c; }
/* Scope program links/panels on the general patient, provider and admin pages. */
body.drb-sandbox .drb-weight-context { border-color:#c5dcd2; }
body.drb-sandbox .drb-weight-context :is(.drb-plan-mark,.drb-metric-icon,.drb-empty>svg) { background:#ecf4ef!important; color:#0e6b5c!important; }
body.drb-sandbox .drb-weight-context .drb-progress-chart polyline { stroke:#0e6b5c; }
body.drb-sandbox .drb-weight-context .drb-progress-chart circle { fill:#0e6b5c; }
body.drb-sandbox :is(.drb-destination,.drb-quick-actions a,.drb-service-shortcuts a,.drb-admin-links a,.drb-admin-shortcuts a,.drb-admin-quicklinks a,.sidebar a)[href*="weight-loss"] { color:#0e6b5c!important; background:#ecf4ef!important; border-color:#c5dcd2!important; }
body.drb-sandbox .drb-destination[href*="weight-loss"].active { box-shadow:inset 3px 0 0 #0e6b5c; }
body.drb-sandbox .drb-portal-dock a[href*="weight-loss"] { color:#0e6b5c!important; }
/* Shared cards keep stable, distinct service identities at every entry point. */
body.drb-sandbox [data-visit-service="urgent"],
body.drb-sandbox :is(.su-shell,.au-shell):has(.ce-saved-summary[data-visit-service="urgent"]),
body.drb-sandbox :is(.drb-service--urgent,[data-care-filter="urgent"],.service-landing__head--urgent,.home-hero__service[href="/urgentcare"],.drb-service-shortcuts a[href="/urgentcare"],.service-picker-option[href="/urgentcare"],.service-landing__other[href="/urgentcare"]) { --service:#145da7!important; --service-soft:#edf4fc!important; --service-line:#c6d9ee!important; }
body.drb-sandbox [data-visit-service="primary"],
body.drb-sandbox :is(.su-shell,.au-shell):has(.ce-saved-summary[data-visit-service="primary"]),
body.drb-sandbox :is(.drb-service--primary,[data-care-filter="primary"],.service-landing__head--primary,.home-hero__service[href="/primarycare"],.drb-service-shortcuts a[href="/primarycare"],.service-picker-option[href="/primarycare"],.service-landing__other[href="/primarycare"]) { --service:#26716b!important; --service-soft:#f0f7f4!important; --service-line:#c9e0da!important; }
body.drb-sandbox [data-visit-service="mental"],
body.drb-sandbox :is(.su-shell,.au-shell):has(.ce-saved-summary[data-visit-service="mental"]),
body.drb-sandbox :is(.drb-service--mental,[data-care-filter="mental"],.service-landing__head--mental,.home-hero__service[href="/mentalhealth"],.drb-service-shortcuts a[href="/mentalhealth"],.service-picker-option[href="/mentalhealth"],.service-landing__other[href="/mentalhealth"]) { --service:#984c78!important; --service-soft:#f8edf3!important; --service-line:#e6cbdc!important; }
body.drb-sandbox :is(.drb-service--weight,[data-care-filter="weight"],.service-landing__head--weight,.home-hero__service[href="/weight-loss"],.drb-service-shortcuts a[href="/weight-loss"],.service-picker-option[href="/weight-loss"],.service-landing__other[href="/weight-loss"]) { --service:#0e6b5c!important; --service-soft:#ecf4ef!important; --service-line:#c5dcd2!important; }
body.drb-sandbox :is(.drb-service-card,.brand-finder-card) { border-color:var(--service-line)!important; }
body.drb-sandbox .drb-service-card { border-top:4px solid var(--service)!important; }
body.drb-sandbox :is(.drb-service-copy,.brand-finder-copy) { background:var(--service-soft); }
body.drb-sandbox .drb-service-copy h2 a,
body.drb-sandbox .brand-finder-copy h3 { color:var(--service)!important; }
body.drb-sandbox .drb-service-action { background:var(--service)!important; color:#fff!important; }
body.drb-sandbox .drb-service-action:hover { filter:brightness(.9); }
body.drb-sandbox .brand-finder-copy :is(.brand-category,.brand-finder-arrow) { background:#fff; color:var(--service); }
body.drb-sandbox .brand-finder-card:hover .brand-finder-arrow { background:var(--service); color:#fff; }
body.drb-sandbox .brand-filter-buttons button[data-care-filter]:not([data-care-filter="all"]) { color:var(--service); background:var(--service-soft); border:1px solid var(--service-line); }
body.drb-sandbox .brand-filter-buttons button[data-care-filter][aria-pressed="true"]:not([data-care-filter="all"]) { background:var(--service); border-color:var(--service); color:#fff; }
body.drb-sandbox :is(.drb-service-shortcuts a,.service-picker-option,.service-landing__other) { background:var(--service-soft,#fff); border-color:var(--service-line,#dce4eb); }
body.drb-sandbox :is(.drb-service-shortcuts a,.service-picker-option,.service-landing__other) :is(strong,.tab-card__title,.home-services__more,.service-picker-arrow) { color:var(--service,var(--drb-brand-blue))!important; }
body.drb-sandbox.drb-program .service-picker-option.is-current { background:#ecf4ef; border-color:#0e6b5c; }
body.drb-sandbox .service-landing__head { border-bottom:3px solid var(--service); }
body.drb-sandbox .service-landing__head :is(.service-landing__title,.service-landing__headline) { color:var(--service)!important; }
body.drb-sandbox .service-landing__head .service-landing__art { background:var(--service-soft); }
/* Homepage: a soft wash, four clearly labeled service links, and tinted prices. */
body.drb-sandbox.drb-brand-experience .home-hero { background:radial-gradient(ellipse at 1% 4%,#e3edf9,transparent 44%),radial-gradient(ellipse at 99% 22%,#e1eee7,transparent 43%),linear-gradient(135deg,#fafbfe,#f7f2fa 64%,#fbfcf9)!important; }
body.drb-sandbox .home-hero__services { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
body.drb-sandbox .home-hero__service { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:9px 12px; border:1px solid var(--service-line); border-radius:24px; background:var(--service-soft); color:var(--service)!important; text-decoration:none; font:600 11px/1.35 Inter,Arial,sans-serif; }
body.drb-sandbox .home-hero__service::before { content:''; width:7px; height:7px; background:var(--service); border-radius:50%; flex-shrink:0; }
body.drb-sandbox .home-hero__service:hover { background:#fff; border-color:var(--service); }
body.drb-sandbox.drb-brand-experience .home-hero__subtitle strong.weight-loss-price { color:#0e6b5c!important; }
body.drb-sandbox.drb-brand-experience .home-hero__prices--four .home-hero__price:nth-child(1) { background:#edf4fc; border-color:#c6d9ee!important; }
body.drb-sandbox.drb-brand-experience .home-hero__prices--four .home-hero__price:nth-child(2) { background:#f0edf8; border-color:#d6cee9!important; }
body.drb-sandbox.drb-brand-experience .home-hero__price:nth-child(2) .home-hero__price-value { color:#62539a!important; }
body.drb-sandbox.drb-brand-experience .home-hero__prices--four .home-hero__price:nth-child(3) { background:#f8edf3; border-color:#e6cbdc!important; }
body.drb-sandbox.drb-brand-experience .home-hero__price:nth-child(3) .home-hero__price-check { color:#984c78!important; }
body.drb-sandbox.drb-brand-experience .home-hero__prices--four .home-hero__price--weight { background:#ecf4ef!important; border-color:#9fc9b8!important; }
body.drb-sandbox.drb-brand-experience .home-hero__price--weight :is(.home-hero__price-value,.home-hero__price-label,.home-hero__price-per) { color:#0e6b5c!important; }
body.drb-sandbox.drb-brand-experience .home-hero__price--weight:hover { background:#dcefe5!important; }
@media(max-width:760px) {
 body.drb-sandbox .home-hero__services { grid-column:1/-1; grid-row:3; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0 0 17px; }
 body.drb-sandbox .home-hero__service { justify-content:center; min-height:40px; font-size:11px; padding:8px; }
 body.drb-sandbox .home-hero__prices-wrap { grid-row:4; }
 body.drb-sandbox .home-hero__availability { grid-row:5; }
 body.drb-sandbox .home-hero__actions { grid-row:6; }
 body.drb-sandbox .home-hero__card { grid-row:7; }
}

/* Navigation carries the same service identity without altering its destinations. */
body.drb-sandbox.drb-public .drb-public-nav a[href="/urgentcare"],body.drb-sandbox .site-header .nav a[href="/urgentcare"],body.drb-sandbox .footer-menu a[href="/urgentcare"] { color:#145da7!important; }
body.drb-sandbox.drb-public .drb-public-nav a[href="/primarycare"],body.drb-sandbox .site-header .nav a[href="/primarycare"],body.drb-sandbox .footer-menu a[href="/primarycare"] { color:#26716b!important; }
body.drb-sandbox.drb-public .drb-public-nav a[href="/mentalhealth"],body.drb-sandbox .site-header .nav a[href="/mentalhealth"],body.drb-sandbox .footer-menu a[href="/mentalhealth"] { color:#984c78!important; }
body.drb-sandbox.drb-public .drb-public-nav a[href="/weight-loss"],body.drb-sandbox .site-header .nav a[href="/weight-loss"],body.drb-sandbox .footer-menu a[href="/weight-loss"] { color:#0e6b5c!important; }

body.drb-sandbox.drb-program .drb-header .drb-portal-menu-toggle { background:#0e6b5c!important; border-color:#0e6b5c!important; color:#fff!important; }
body.drb-sandbox.drb-program .drb-header .drb-portal-menu-toggle:is(:hover,[aria-expanded="true"]) { background:#095448!important; border-color:#095448!important; }

/* A visit inherits its service colors from the active selection. Keep choices
   from other services, the public booking bar, and clinical alerts independent. */
body.drb-sandbox [data-visit-service].cf-section {
  --cf-accent: var(--service);
  --cf-edge: var(--service-line);
  --cf-soft: var(--service-soft);
  --cf-icon: var(--service-soft);
  background-color: var(--service-soft);
  border-color: var(--service-line);
}
#condition-directory[data-visit-service] :is(.cf-heading strong, .cf-guides strong) {
  color: var(--service);
}
#condition-directory[data-visit-service] :is(.cf-card[open], .cf-guides a:hover) {
  border-color: var(--service);
}
#condition-directory[data-visit-service] .cf-symptoms button[aria-pressed="true"] {
  color: var(--service);
  background: var(--service-soft);
  border-color: var(--service);
  box-shadow: inset 0 0 0 1px var(--service);
}
#condition-directory[data-visit-service] :is(.cf-continue:enabled, .cf-book, .cf-no-result) {
  background: var(--service);
}

body.drb-sandbox .cg-shell[data-visit-service] .cg-hero {
  background: linear-gradient(125deg, var(--service-soft), #fff);
  border-color: var(--service-line);
}
body.drb-sandbox .cg-shell[data-visit-service] :is(.cg-eyebrow, .cg-actions a:not(.cg-primary), .cg-contents a) {
  color: var(--service);
}
body.drb-sandbox .cg-shell[data-visit-service] .cg-actions a.cg-primary {
  background: var(--service);
}
body.drb-sandbox #drb-refill-page[data-visit-service] {
  --blue: var(--service)!important;
  --pale: var(--service-soft)!important;
  --line: var(--service-line)!important;
}

/* The live booking controls use these tokens for checked choices. */
body.drb-sandbox :is(.ce-shell, .vf-shell)[data-visit-service] {
  --sig-blue: var(--service);
  --sig-blue-soft: var(--service-soft);
}
body.drb-sandbox section.ce-shell[data-visit-service] {
  --ce-accent: var(--service);
  --ce-tint: var(--service-soft);
}
body.drb-sandbox .vf-shell[data-visit-service] {
  --vf-green: var(--service);
  --vf-accent: var(--service);
  --vf-tint: var(--service-soft);
  --vf-line: var(--service-line);
  --drb-brand-soft: var(--service-soft);
}
body.drb-sandbox [data-visit-service] :is(.ce-zip-panel, .ce-selected-area, .ce-symptom-actions, .hp-selected,
                                         .vf-journey-context, .vf-booked-date) {
  background-color: var(--service-soft);
  border-color: var(--service-line);
}
body.drb-sandbox .ce-saved-summary[data-visit-service] {
  background: var(--service-soft);
  color: var(--service);
}
body.drb-sandbox [data-visit-service] :is(.hp-search-button, .ce-primary, .vf-button):not(:disabled),
body.drb-sandbox .vf-shell[data-visit-service] :is(.bs-providers button[aria-current], .bs-time-choices input:checked + span) {
  background: var(--service)!important;
  color: #fff!important;
  border-color: var(--service)!important;
}
body.drb-sandbox [data-visit-service] :is(.ce-back, .ce-secondary, .ce-text-action, .hp-select-label, .hp-selected-label,
                                          .hp-filter-label summary, .hp-link, .hp-locate, .hp-pagination button:enabled,
                                          .ce-zip-panel .hh-icon, .vf-booked-date em, .vf-booked-date svg, .vf-booked-date span) {
  color: var(--service)!important;
}
body.drb-sandbox [data-visit-service] .hp-pharmacy-icon {
  color: var(--service);
  background-color: var(--service-soft);
}
body.drb-sandbox [data-visit-service] .hp-option:is(:hover, :focus-visible, [aria-pressed="true"]) {
  background: var(--service-soft);
  border-color: var(--service);
}
body.drb-sandbox .vf-shell[data-visit-service] .hh-editor .hp-heading {
  background: var(--service);
}
body.drb-sandbox [data-visit-service] :is(.drb-symptom-choice, .vf-saved-card, .bs-format-options label, .rf-med-choice):has(input:checked) {
  background: var(--service-soft);
  border-color: var(--service);
  box-shadow: inset 0 0 0 1px var(--service);
}
body.drb-sandbox [data-visit-service] :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--service);
}
body.drb-sandbox [data-visit-service] .bs-progress [aria-current] {
  color: var(--service);
  border-color: var(--service);
}
body.drb-sandbox [data-visit-service] :is(.hp-option, .hp-link, .hp-locate, .hp-filter, .hp-search-row input,
                                         .hp-search-button, .ce-text-action, .ce-secondary, .cf-symptoms button):focus-visible,
body.drb-sandbox [data-visit-service] .drb-symptom-choice:focus-within {
  outline-color: var(--service)!important;
}
body.drb-sandbox [data-visit-service] :is(.ce-primary, .hp-search-button, .vf-button):not(:disabled):hover,
body.drb-sandbox .cg-shell[data-visit-service] .cg-primary:hover,
#condition-directory[data-visit-service] :is(.cf-continue:enabled, .cf-book):hover {
  filter: brightness(.92);
}

/* The saved visit summary provides context on shared sign-in and registration
   screens, including verification. Direct account access keeps its usual colors. */
/* Match the layer used by the live account buttons. */
@layer drb-beyond-blue {
  body.drb-sandbox :is(.su-shell, .au-shell):has(.ce-saved-summary[data-visit-service])
    :is(.su-primary:enabled, a.su-primary, .au-submit:enabled, .su-progress [aria-current] span) {
    background-color: var(--service)!important;
    border-color: var(--service)!important;
    color: white!important;
  }
  html body.drb-sandbox .vf-shell[data-visit-service] :is(button:enabled, a[href]).vf-button:not(.vf-button--secondary) {
    background-color: var(--service)!important;
    border-color: var(--service)!important;
  }
}
body.drb-sandbox :is(.su-shell, .au-shell):has(.ce-saved-summary[data-visit-service])
  :is(.su-progress [aria-current], .su-back-button, .au-password-toggle) {
  color: var(--service);
}
