/* v735 Customer Admin Brand Runtime Integrity
   Final presentation fence for every Customer/Public route.
   All visible brand surfaces resolve from the administrator-controlled v691 tokens.
   Legacy customer variables are rebound here so old CSS cannot introduce a second palette.
   Semantic safety/status colors remain controlled by their dedicated Admin status fields or semantics. */

:root{
  /* Legacy aliases. These are intentionally aliases, not independent colors. */
  --brand:var(--tt-primary);
  --brand-primary:var(--tt-primary);
  --brand-primary-contrast:var(--tt-on-primary-safe);
  --customer-theme-color:var(--tt-primary);
  --customer-primary:var(--tt-primary);
  --customer-primary-button-color:var(--tt-primary);
  --customer-primary-button-text-color:var(--tt-on-primary-safe);
  --ink:var(--tt-body-text-safe);
  --text:var(--tt-body-text-safe);
  --customer-text:var(--tt-body-text-safe);
  --customer-text-color:var(--tt-body-text-safe);
  --customer-bg:var(--tt-page-bg);
  --customer-card-bg:var(--tt-card-bg);
  --surface:var(--tt-card-bg);
  --public-brand:var(--tt-primary);
  --public-accent:var(--tt-primary);
  --public-bg:var(--tt-page-bg);
  --v667-accent:var(--tt-primary);
  --tracking-brand:var(--tt-primary);
  --tracking-bg:var(--tt-page-bg);
  --tracking-card:var(--tt-card-bg);
  --tracking-ink:var(--tt-body-text-safe);
  --brand-soft:color-mix(in srgb,var(--tt-primary) 10%,var(--tt-card-bg));

  /* v132 legacy mobile-nav palette. */
  --v132-primary:var(--tt-primary);
  --v132-dark:var(--tt-card-heading-safe);
  --v132-muted:color-mix(in srgb,var(--tt-card-text-safe) 68%,transparent);
  --v132-line:color-mix(in srgb,var(--tt-card-text-safe) 14%,transparent);

  /* v568/v690 compatibility palette. */
  --customer-brand-v568:var(--tt-primary);
  --customer-text-v568:var(--tt-body-text-safe);
  --customer-surface-v568:var(--tt-card-bg);
  --customer-page-v568:var(--tt-page-bg);
  --customer-muted-v568:color-mix(in srgb,var(--tt-body-text-safe) 62%,transparent);
  --customer-line-v568:color-mix(in srgb,var(--tt-body-text-safe) 14%,transparent);
  --customer-soft-v568:color-mix(in srgb,var(--tt-primary) 9%,var(--tt-card-bg));
  --customer-brand-contrast-v568:var(--tt-on-primary-safe);
  --customer-brand-v690:var(--tt-primary);
  --customer-accent-v690:var(--tt-body-text-safe);
  --customer-bg-v690:var(--tt-page-bg);
  --customer-card-v690:var(--tt-card-bg);
  --customer-ink-v690:var(--tt-body-text-safe);
  --customer-muted-v690:color-mix(in srgb,var(--tt-body-text-safe) 58%,transparent);
  --customer-line-v690:color-mix(in srgb,var(--tt-body-text-safe) 12%,transparent);
  --customer-brand-action-v690:var(--tt-primary);
  --customer-footer-bg-v690:var(--tt-footer-bg);
  --customer-footer-text-v690:var(--tt-footer-text-safe);
  --customer-footer-muted-v690:color-mix(in srgb,var(--tt-footer-text-safe) 82%,transparent);
  --customer-brand-soft-v690:color-mix(in srgb,var(--tt-primary) 9%,var(--tt-card-bg));
}

/* Old .shop-page-scoped premium variables are class-scoped, so rebind them here as well. */
body.shop-page[data-staff-table-order="false"][data-staff-quick-order="false"]{
  --cp-brand:var(--tt-primary)!important;
  --cp-ink:var(--tt-body-text-safe)!important;
  --cp-bg:var(--tt-page-bg)!important;
  --cp-card:var(--tt-card-bg)!important;
  --cp-line:color-mix(in srgb,var(--tt-body-text-safe) 12%,transparent)!important;
  --cp-muted:color-mix(in srgb,var(--tt-body-text-safe) 62%,transparent)!important;
  --customer-brand-v568:var(--tt-primary)!important;
  --customer-text-v568:var(--tt-body-text-safe)!important;
  --customer-surface-v568:var(--tt-card-bg)!important;
  --customer-page-v568:var(--tt-page-bg)!important;
}

/* Global customer page/background authority. */
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,
  body.customer-page-v115,
  body.notification-page-v720,
  body.reserve-v49,
  body.track-v42,
  body.confirmation-page-v20,
  body.compliance-page-v228,
  body.gift-store-v705
){
  background:var(--tt-page-bg)!important;
  color:var(--tt-body-text-safe)!important;
}

/* Default customer links use the exact Admin Link color. Header/footer/actions override this below. */
:where(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) a:any-link{color:var(--tt-link-safe)!important}

/* Public/customer headers: exactly the Admin header colors, including all descendants and states. */
body.public-page-v667 .public-header-v662,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header,
body.customer-page-v115 .customer-top-v115,
body.notification-page-v720 .notification-header-v720,
body.gift-store-v705 .gc-store-header-v705{
  background:var(--tt-header-bg)!important;
  color:var(--tt-header-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-header-text-safe) 14%,transparent)!important;
}
body.public-page-v667 .public-header-v662 :is(a:any-link,strong,span,small,button),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header :is(a:any-link,strong,span,small,button),
body.customer-page-v115 .customer-top-v115 :is(a:any-link,strong,span,small,button),
body.notification-page-v720 .notification-header-v720 :is(a:any-link,strong,span,small,button),
body.gift-store-v705 .gc-store-header-v705 :is(a:any-link,strong,span,small,button){
  color:var(--tt-header-text-safe)!important;
}

/* Primary actions. Any old orange/navy/olive action is resolved through the Admin Primary Button fields. */
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,
  body.customer-page-v115,
  body.notification-page-v720,
  body.reserve-v49,
  body.track-v42,
  body.confirmation-page-v20,
  body.compliance-page-v228,
  body.gift-store-v705
) :is(
  .button,.order,.primary,.primary-cta,.add-btn,.checkout-btn,.place-order,.modal-add,.modal-add-button-v33,
  .customer-primary-action-v568,.customer-cart-checkout-v568,.customer-category-open-v494,
  .gc-buy-button-v705,.compliance-btn-primary-v228,.btn-dark-v155,.v155-live-track,.live-tracking-history-v153,
  .customer-live-location-v205 a,.fulfillment-exception-actions-v587 .primary,
  .live-delivery-v207__actions a:not(.is-disabled),.live-delivery-v207__actions button:not(:disabled),
  .live-delivery-v321__scroll-map:not(:disabled),.track-footer-v42 a,.track-footer-v42 button,
  #manual-refresh-v42,#receipt-form-v47 button,#reserve-form-v49 button,.pwa-v321-btn,
  .coupon-row-v121 button,.coupon-code-v120,.customer-account-pill-v115.orange,.customer-account-pill-v115.dark,
  .mode-btn.active,[data-fulfillment-choice].active,[data-fulfillment-choice][aria-pressed="true"],
  .tt-category-action-v694,.hero-location-v306__map,.smart-pwa-install-primary-v244,.smart-pwa-install-primary-v243,
  .pwa-install-primary-v242,.pwa-install-primary-v241,.pwa-install-primary-v240,.pwa-install-primary-v236,.pwa-install-primary-v235
){
  background:var(--tt-primary)!important;
  color:var(--tt-on-primary-safe)!important;
  border-color:var(--tt-primary)!important;
  text-decoration:none!important;
}
@media (hover:hover) and (pointer:fine){
  :is(
    body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
    body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
    body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
  ) :is(
    .button,.order,.primary,.primary-cta,.add-btn,.checkout-btn,.place-order,.modal-add,.modal-add-button-v33,
    .customer-primary-action-v568,.customer-cart-checkout-v568,.customer-category-open-v494,.gc-buy-button-v705,
    .compliance-btn-primary-v228,.btn-dark-v155,.v155-live-track,.live-tracking-history-v153,
    .track-footer-v42 a,.track-footer-v42 button,#manual-refresh-v42,#receipt-form-v47 button,#reserve-form-v49 button,
    .pwa-v321-btn,.coupon-row-v121 button,.coupon-code-v120,.customer-account-pill-v115.orange,.customer-account-pill-v115.dark,
    .mode-btn.active,[data-fulfillment-choice].active,[data-fulfillment-choice][aria-pressed="true"],
    .tt-category-action-v694,.hero-location-v306__map
  ):hover{
    background:color-mix(in srgb,var(--tt-primary) 90%,var(--tt-body-text-safe) 10%)!important;
    color:var(--tt-on-primary-safe)!important;
    border-color:color-mix(in srgb,var(--tt-primary) 90%,var(--tt-body-text-safe) 10%)!important;
  }
}

/* Page and card surfaces use only the Admin page/card/text fields. */
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) :is(
  .customer-card-v115,.metric-v115,.item-v115,.notification-card-v720,
  .category-card,.menu-card,.item-card,.checkout-card,.cart-card,
  .tt-brand-category-card-v694,.tt-brand-product-card-v694,.customer-category-card-v494,
  .information-grid-v662>article,.information-grid-v662>aside,.item-detail-v662,.popular-choices-v668,.seo-link-grid-v665>a,
  .reserve-card-v49,.gc-step-v705,.gc-checkout-card-v705,.gc-terms-v705,.gc-unavailable-v705,
  .customer-menu-nav-v494,.customer-category-context-v497,.customer-search-context-v497,.customer-more-categories-v497
){
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) :is(
  .customer-card-v115,.metric-v115,.item-v115,.notification-card-v720,
  .tt-brand-category-card-v694,.tt-brand-product-card-v694,.customer-category-card-v494,
  .information-grid-v662>article,.information-grid-v662>aside,.item-detail-v662,.popular-choices-v668,.seo-link-grid-v665>a,
  .reserve-card-v49,.gc-step-v705,.gc-checkout-card-v705,.gc-terms-v705
) :is(h1,h2,h3,h4,h5,h6,strong){color:var(--tt-card-heading-safe)!important}

/* Generic page headings/copy. Card/header/footer scopes above are more specific. */
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) main :is(h1,h2,h3,h4,h5,h6){color:var(--tt-heading-safe)!important}
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) main a:any-link:not(.button):not(.order):not(.primary-cta):not(.add-btn):not(.checkout-btn):not(.place-order):not(.gc-buy-button-v705){
  color:var(--tt-link-safe)!important;
}

/* Hero/location surfaces may use card branding, but never old orange/navy/white literals. */
body.public-page-v667 .public-hero-v662,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(.premium-hero .hero-overlay,.hero-location-v306){
  border-color:color-mix(in srgb,var(--tt-primary) 28%,transparent)!important;
}
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-location-v306{
  background:color-mix(in srgb,var(--tt-header-bg) 88%,transparent)!important;
  color:var(--tt-header-text-safe)!important;
}
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-location-v306 :is(span,strong,small){color:var(--tt-header-text-safe)!important}

/* Footer authority. This deliberately includes BOTH public-page and /order storefront footers.
   Base, visited, hover, focus and nested Technology credit use the same Admin Footer Text color. */
body.public-page-v667 .public-footer-v662,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-public-footer-v662,
body.reserve-v49 .reservation-public-footer-v692{
  background:var(--tt-footer-bg)!important;
  color:var(--tt-footer-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-footer-text-safe) 18%,transparent)!important;
}
body.public-page-v667 .public-footer-v662 :is(div,nav,span,strong,small,p),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-public-footer-v662 :is(div,nav,span,strong,small,p),
body.reserve-v49 .reservation-public-footer-v692 :is(div,nav,span,strong,small,p){color:var(--tt-footer-text-safe)!important}
body.public-page-v667 .public-footer-v662 a:any-link,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-public-footer-v662 a:any-link,
body.reserve-v49 .reservation-public-footer-v692 a:any-link{
  color:var(--tt-footer-text-safe)!important;
  text-decoration-color:color-mix(in srgb,var(--tt-footer-text-safe) 64%,transparent)!important;
}
@media (hover:hover) and (pointer:fine){
  body.public-page-v667 .public-footer-v662 a:any-link:hover,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-public-footer-v662 a:any-link:hover,
  body.reserve-v49 .reservation-public-footer-v692 a:any-link:hover{color:var(--tt-footer-text-safe)!important}
}
.customer-public-footer-v662 .technology-credit-v672,
.public-footer-v662 .technology-credit-v672,
.reservation-public-footer-v692 .technology-credit-v672{
  background:color-mix(in srgb,var(--tt-footer-text-safe) 9%,transparent)!important;
  color:var(--tt-footer-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-footer-text-safe) 22%,transparent)!important;
}
.customer-public-footer-v662 .technology-credit-v672 :is(span,strong),
.public-footer-v662 .technology-credit-v672 :is(span,strong),
.reservation-public-footer-v692 .technology-credit-v672 :is(span,strong){color:var(--tt-footer-text-safe)!important}

/* Mobile bottom nav. No legacy olive/orange/blue text can escape. */
body.public-page-v667 .mobile-bottom-nav-v132,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mobile-bottom-nav-v132,
body.customer-page-v115 .mobile-bottom-nav-v132,
body.notification-page-v720 .mobile-bottom-nav-v132,
body.gift-store-v705 .mobile-bottom-nav-v132{
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 14%,transparent)!important;
}
:is(
  body.public-page-v667,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.customer-page-v115,body.notification-page-v720,body.gift-store-v705
) .mobile-bottom-nav-v132 a:any-link{
  color:color-mix(in srgb,var(--tt-card-text-safe) 74%,transparent)!important;
  background:transparent!important;
}
:is(
  body.public-page-v667,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.customer-page-v115,body.notification-page-v720,body.gift-store-v705
) .mobile-bottom-nav-v132 a.active-v132:any-link{
  color:var(--tt-primary)!important;
  background:color-mix(in srgb,var(--tt-primary) 14%,var(--tt-card-bg))!important;
}

/* Inputs/selection/focus. Browser blue is not part of the customer palette. */
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 20%,transparent)!important;
}
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--tt-primary)!important}
:is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.customer-page-v115,body.notification-page-v720,body.reserve-v49,
  body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
) :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--tt-primary) 46%,transparent)!important;
  outline-offset:2px!important;
}

/* Explicit screenshot hot-spots and legacy elements. */
body.public-page-v667 .public-brand-v662 small,
body.public-page-v667 .public-info-v671>article p,
body.public-page-v667 .category-grid-v662 small,
body.public-page-v667 .menu-grid-v662 p{color:var(--tt-body-text-safe)!important}
body.public-page-v667 .price,
body.public-page-v667 .text-link,
body.public-page-v667 .seo-intent-head-v665 p,
body.public-page-v667 .local-authority-v665 nav a{color:var(--tt-link-safe)!important}
body.public-page-v667 .popular-choices-v668,
body.public-page-v667 .popular-grid-v668>a,
body.public-page-v667 .seo-link-grid-v665>a{background:var(--tt-card-bg)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important}

/* Safety: destructive/success/warning/error and live operational status retain their semantic meaning.
   Those are not alternate branding palettes and are intentionally not recolored here. */

/* v735 deep runtime authority -------------------------------------------------
   Fixes the remaining route/context gaps that could still reveal legacy
   customer_app_theme/primary/accent colors. These selectors are intentionally
   structural and high-specificity so the same Admin palette wins on phone,
   tablet, desktop, installed PWA and public browser routes. */

/* Public image heroes are a dark-surface context. Do not reuse page-heading
   contrast correction there; use the administrator's Header foreground and
   Primary action/accent instead. */
html body.public-page-v667 .public-hero-v662.has-brand-hero-image-v695{
  background:var(--tt-card-bg)!important;
  border-color:color-mix(in srgb,var(--tt-primary) 34%,transparent)!important;
}
html body.public-page-v667 .public-hero-v662.has-brand-hero-image-v695 .public-hero-scrim-v695{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--tt-header-bg) 36%,transparent) 0%,
    color-mix(in srgb,var(--tt-header-bg) 82%,transparent) 72%,
    color-mix(in srgb,var(--tt-header-bg) 92%,transparent) 100%)!important;
}
html body.public-page-v667 .public-hero-v662.has-brand-hero-image-v695 .public-hero-content-v695 :is(h1,h2,h3,p,strong,span){
  color:var(--tt-header-text-safe)!important;
}
html body.public-page-v667 .public-hero-v662.has-brand-hero-image-v695 .public-hero-content-v695 .eyebrow{
  color:var(--tt-primary)!important;
}

/* The non-image public hero is a card context. */
html body.public-page-v667 .public-hero-v662:not(.has-brand-hero-image-v695){
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
}
html body.public-page-v667 .public-hero-v662:not(.has-brand-hero-image-v695) :is(h1,h2,h3,strong){
  color:var(--tt-card-heading-safe)!important;
}
html body.public-page-v667 .public-hero-v662:not(.has-brand-hero-image-v695) :is(p,span){
  color:var(--tt-card-text-safe)!important;
}
html body.public-page-v667 .public-hero-v662:not(.has-brand-hero-image-v695) .eyebrow{
  color:var(--tt-card-link-safe)!important;
}

/* Reservation is a first-class Customer route. v734 missed its dynamically
   injected mobile nav, allowing the old v132 palette to remain visible. */
html body.reserve-v49 .mobile-bottom-nav-v132,
html body.track-v42 .mobile-bottom-nav-v132,
html body.confirmation-page-v20 .mobile-bottom-nav-v132,
html body.compliance-page-v228 .mobile-bottom-nav-v132{
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 14%,transparent)!important;
}
html body.reserve-v49 .mobile-bottom-nav-v132 a:any-link,
html body.track-v42 .mobile-bottom-nav-v132 a:any-link,
html body.confirmation-page-v20 .mobile-bottom-nav-v132 a:any-link,
html body.compliance-page-v228 .mobile-bottom-nav-v132 a:any-link{
  color:color-mix(in srgb,var(--tt-card-text-safe) 74%,transparent)!important;
  background:transparent!important;
}
html body.reserve-v49 .mobile-bottom-nav-v132 a.active-v132:any-link,
html body.track-v42 .mobile-bottom-nav-v132 a.active-v132:any-link,
html body.confirmation-page-v20 .mobile-bottom-nav-v132 a.active-v132:any-link,
html body.compliance-page-v228 .mobile-bottom-nav-v132 a.active-v132:any-link{
  color:var(--tt-primary)!important;
  background:color-mix(in srgb,var(--tt-primary) 14%,var(--tt-card-bg))!important;
}

/* Reservation's remaining legacy orange/navy presentation roles. */
html body.reserve-v49 .reserve-card-v49{
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.reserve-v49 .reserve-brand-v49>div,
html body.reserve-v49 #reserve-form-v49 button{
  background:var(--tt-primary)!important;
  color:var(--tt-on-primary-safe)!important;
  border-color:var(--tt-primary)!important;
}
html body.reserve-v49 .reserve-card-v49 header>span,
html body.reserve-v49 .back-v49:any-link{color:var(--tt-link-safe)!important}
html body.reserve-v49 .reserve-card-v49 :is(h1,h2,h3,strong,label){color:var(--tt-card-heading-safe)!important}
html body.reserve-v49 .reserve-card-v49 :is(p,small){color:var(--tt-card-text-safe)!important}

/* Strong footer fence. All ordinary footer content, including navigation,
   phone number and Technology credit, follows Admin Footer Text. */
html body.public-page-v667 footer.public-footer-v662,
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] footer.customer-public-footer-v662,
html body.reserve-v49 footer.reservation-public-footer-v692{
  background:var(--tt-footer-bg)!important;
  color:var(--tt-footer-text-safe)!important;
}
html body.public-page-v667 footer.public-footer-v662 :is(a:any-link,div,nav,span,strong,small,p),
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] footer.customer-public-footer-v662 :is(a:any-link,div,nav,span,strong,small,p),
html body.reserve-v49 footer.reservation-public-footer-v692 :is(a:any-link,div,nav,span,strong,small,p){
  color:var(--tt-footer-text-safe)!important;
  text-decoration-color:color-mix(in srgb,var(--tt-footer-text-safe) 64%,transparent)!important;
}
html body.public-page-v667 footer.public-footer-v662 .technology-credit-v672,
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] footer.customer-public-footer-v662 .technology-credit-v672,
html body.reserve-v49 footer.reservation-public-footer-v692 .technology-credit-v672{
  color:var(--tt-footer-text-safe)!important;
  background:color-mix(in srgb,var(--tt-footer-text-safe) 9%,transparent)!important;
  border-color:color-mix(in srgb,var(--tt-footer-text-safe) 22%,transparent)!important;
}

/* Install is a primary Customer action on every route where it is intentionally
   visible. */
html :is(body.public-page-v667,body.reserve-v49,body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.customer-page-v115,body.notification-page-v720,body.gift-store-v705) :is(
  .pwa-v321-btn,.smart-pwa-install-primary-v244,.smart-pwa-install-primary-v243,
  .pwa-install-primary-v242,.pwa-install-primary-v241,.pwa-install-primary-v240,
  .pwa-install-primary-v236,.pwa-install-primary-v235
){
  background:var(--tt-primary)!important;
  color:var(--tt-on-primary-safe)!important;
  border-color:var(--tt-primary)!important;
}

/* Public content cards and ordinary links. */
html body.public-page-v667 .public-info-v671>article p{color:var(--tt-card-text-safe)!important}
html body.public-page-v667 main :is(.information-grid-v662,.seo-intent-section-v665,.local-authority-v665) a:any-link:not(.button){color:var(--tt-card-link-safe)!important}

/* Remove platform default selection/focus blues from every Customer route. */
html :is(
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.public-page-v667,body.reserve-v49,body.track-v42,body.confirmation-page-v20,
  body.compliance-page-v228,body.customer-page-v115,body.notification-page-v720,body.gift-store-v705
) ::selection{
  background:color-mix(in srgb,var(--tt-primary) 30%,var(--tt-card-bg))!important;
  color:var(--tt-card-text-safe)!important;
}

/* Storefront image hero: the photograph may be arbitrary, but its overlay and
   typography are generated from Admin brand roles. */
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"]{
  background-image:
    linear-gradient(100deg,
      color-mix(in srgb,var(--tt-header-bg) 88%,transparent),
      color-mix(in srgb,var(--tt-header-bg) 28%,transparent)),
    var(--tt-customer-hero-image)!important;
}
/* v800: the old v735 selector used to recolor every span/strong in the entire
   photographic hero. That leaked header foreground into semantic card surfaces
   and forced later builds to fight the cascade. Hero-copy and card surfaces now
   have separate authorities. */
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] .hero-copy>h1,
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] .hero-copy>p,
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] .hero-location-v306 :is(span,strong,small){
  color:var(--tt-hero-text-safe,var(--tt-header-text-safe))!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] :is(.eyebrow,.hero-badge,.badge){
  color:var(--tt-hero-text-safe,var(--tt-header-text-safe))!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] .hero-card{
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] .hero-card>:is(span,strong){
  color:var(--tt-card-heading-safe)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero[style*="--tt-customer-hero-image"] .hero-card>small{
  color:var(--tt-card-muted-safe,var(--tt-card-text-safe))!important;
}

/* v735 complete Customer-route coverage -------------------------------------
   The routes below are older but still server-rendered. They now consume the
   same Admin-owned tokens instead of keeping private navy/orange/olive themes. */

/* Legacy Customer auth/account routes retained for backwards-compatible URLs. */
html :is(body.customer-auth-page-v109,body.customer-account-page-v109){
  background:var(--tt-page-bg)!important;
  color:var(--tt-body-text-safe)!important;
  font-family:var(--tt-font)!important;
}
html :is(body.customer-auth-page-v109,body.customer-account-page-v109) :is(.auth-card-v109,.customer-shell-v109,.account-card-v109,.item-v109){
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html :is(body.customer-auth-page-v109,body.customer-account-page-v109) :is(h1,h2,h3,strong,label){color:var(--tt-card-heading-safe)!important}
html :is(body.customer-auth-page-v109,body.customer-account-page-v109) :is(p,.muted-v109){color:var(--tt-card-text-safe)!important}
html :is(body.customer-auth-page-v109,body.customer-account-page-v109) a:any-link{color:var(--tt-card-link-safe)!important}
html :is(body.customer-auth-page-v109,body.customer-account-page-v109) :is(.btn-v109,.btn-dark-v109){
  background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important;
}
html :is(body.customer-auth-page-v109,body.customer-account-page-v109) :is(input:not([type=checkbox]),textarea,select){
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 20%,transparent)!important;
}

/* Table QR session. Status/success/error colors remain semantic; ordinary
   surfaces, controls and typography are driven by Customer Admin branding. */
html body.customer-table-session-v363{
  background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important;font-family:var(--tt-font)!important;
}
html body.customer-table-session-v363 :is(.cts-card-v363,.cts-order-v363,.cts-card-box-v364,.cts-item-pay-order-v551,.cts-split-advanced-v481,.cts-receipt-v363){
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.customer-table-session-v363 :is(h1,h2,h3,h4,strong,label,summary){color:var(--tt-card-heading-safe)!important}
html body.customer-table-session-v363 :is(.cts-muted-v363,.cts-scope-help-v481,.cts-equal-note-v551,small){color:var(--tt-card-text-safe)!important}
html body.customer-table-session-v363 a:any-link{color:var(--tt-link-safe)!important}
html body.customer-table-session-v363 :is(.cts-add-link-v363,.cts-pay-actions-v363 button,.cts-tip-grid-v363 button.active,.cts-method-grid-v366 button.active){
  background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important;
}
html body.customer-table-session-v363 :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 20%,transparent)!important;
}
html body.customer-table-session-v363 :is(input[type=checkbox],input[type=radio]){accent-color:var(--tt-primary)!important}

/* Delivery tracking legacy route. Delivery-state markers stay semantic. */
html body.tracking-v73{background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important;font-family:var(--tt-font)!important}
html body.tracking-v73 .tracking-hero-v73{
  background:var(--tt-header-bg)!important;color:var(--tt-header-text-safe)!important;border-color:color-mix(in srgb,var(--tt-header-text-safe) 16%,transparent)!important;
}
html body.tracking-v73 .tracking-hero-v73 :is(h1,h2,h3,p,span,strong){color:var(--tt-header-text-safe)!important}
html body.tracking-v73 :is(.tracking-status-v73,.tracking-events-v73,.tracking-map-v73,.live-delivery-v207__card,.premium-tracking-v225__comfort){
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.tracking-v73 :is(.tracking-status-v73,.tracking-events-v73,.live-delivery-v207__card,.premium-tracking-v225__comfort) :is(h1,h2,h3,strong){color:var(--tt-card-heading-safe)!important}
html body.tracking-v73 a:any-link{color:var(--tt-link-safe)!important}
html body.tracking-v73 :is(button,.live-delivery-v207__actions a:not(.is-disabled),.live-delivery-v321__scroll-map:not(:disabled)){
  background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important;
}

/* Offline shell: brand-consistent even when network content is unavailable. */
html body.customer-native-body-v229{background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important;font-family:var(--tt-font)!important}
html body.customer-native-body-v229 .offline-card{background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important}
html body.customer-native-body-v229 .offline-card :is(h1,strong){color:var(--tt-card-heading-safe)!important}
html body.customer-native-body-v229 .offline-card p{color:var(--tt-card-text-safe)!important}
html body.customer-native-body-v229 .badge{background:color-mix(in srgb,var(--tt-primary) 14%,var(--tt-card-bg))!important;color:var(--tt-card-link-safe)!important}
html body.customer-native-body-v229 .primary{background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important}
html body.customer-native-body-v229 .secondary{background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border:1px solid color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important}

/* Embedded Stripe checkout shell. Only our outer shell is themed; Stripe's
   secure embedded UI remains owned by Stripe and is never CSS-manipulated. */
html body.customer-payment-processing-v600{
  background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important;font-family:var(--tt-font)!important;
}
html body.customer-payment-processing-v600 :is(.checkout-brand-v555,.table-checkout-brand-v646) :is(h1,h2,h3,strong){color:var(--tt-heading-safe)!important}
html body.customer-payment-processing-v600 :is(.checkout-brand-v555,.table-checkout-brand-v646) p{color:var(--tt-body-text-safe)!important}
html body.customer-payment-processing-v600 :is(.checkout-card-v555,.table-checkout-card-v646){
  background:var(--tt-card-bg)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.customer-payment-processing-v600 :is(.checkout-status-v555){color:var(--tt-card-text-safe)!important}
html body.customer-payment-processing-v600 .checkout-spinner-v555{border-color:color-mix(in srgb,var(--tt-primary) 22%,var(--tt-card-bg))!important;border-top-color:var(--tt-primary)!important}
html body.customer-payment-processing-v600 .table-checkout-summary-v646{
  background:var(--tt-header-bg)!important;color:var(--tt-header-text-safe)!important;
}
html body.customer-payment-processing-v600 .table-checkout-summary-v646 :is(span,b,strong){color:var(--tt-header-text-safe)!important}
html body.customer-payment-processing-v600 .table-checkout-wallet-v646{
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.customer-payment-processing-v600 .table-checkout-wallet-v646 :is(strong,p){color:var(--tt-card-text-safe)!important}
html body.customer-payment-processing-v600 .checkout-actions-v555 :is(a:any-link,button){
  background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 18%,transparent)!important;
}
/* cancel-v555 is an ordinary navigation action, not destructive payment cancellation. */
html body.customer-payment-processing-v600 .checkout-actions-v555 .cancel-v555:any-link{color:var(--tt-on-secondary-safe)!important}

/* Gift-card public shell. The gift-card artwork itself intentionally keeps the
   saved Admin-selected template snapshot; page chrome/actions use Customer branding. */
html body.gift-card-public-v684{background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important;font-family:var(--tt-font)!important}
html body.gift-card-public-v684 .redeem{background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important}
html body.gift-card-public-v684 .muted,html body.gift-card-public-v684 .terms{color:var(--tt-card-text-safe)!important}
html body.gift-card-public-v684 .actions .btn{background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important}
html body.gift-card-public-v684 .actions .btn.soft{background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 18%,transparent)!important}

/* Public 404 and non-staff dine-in legacy route. */
html body.public-not-found-v735{background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important}
html body.customer-dine-in-v735{background:var(--tt-page-bg)!important;color:var(--tt-body-text-safe)!important;font-family:var(--tt-font)!important}
html body.customer-dine-in-v735 .shop-header{background:var(--tt-header-bg)!important;color:var(--tt-header-text-safe)!important}
html body.customer-dine-in-v735 .shop-header :is(a:any-link,strong,span,small){color:var(--tt-header-text-safe)!important}
html body.customer-dine-in-v735 :is(.simple-card,.premium-card,.menu-card,.table-card){background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important}
html body.customer-dine-in-v735 a:any-link{color:var(--tt-link-safe)!important}
html body.customer-dine-in-v735 :is(.primary,.button,button.primary){background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important}

/* Every legacy Customer route that loads mobile-nav-v132 gets the same Admin
   bottom-navigation contract. Inactive labels use Admin Link; active uses Admin Primary. */
html :is(
  body.public-page-v667,body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.customer-page-v115,body.notification-page-v720,body.gift-store-v705,body.reserve-v49,
  body.track-v42,body.tracking-v73,body.confirmation-page-v20,body.compliance-page-v228,
  body.customer-auth-page-v109,body.customer-account-page-v109,body.customer-dine-in-v735
) .mobile-bottom-nav-v132{
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 14%,transparent)!important;
}
html :is(
  body.public-page-v667,body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.customer-page-v115,body.notification-page-v720,body.gift-store-v705,body.reserve-v49,
  body.track-v42,body.tracking-v73,body.confirmation-page-v20,body.compliance-page-v228,
  body.customer-auth-page-v109,body.customer-account-page-v109,body.customer-dine-in-v735
) .mobile-bottom-nav-v132 a:any-link{
  color:var(--tt-card-link-safe)!important;background:transparent!important;
}
html :is(
  body.public-page-v667,body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
  body.customer-page-v115,body.notification-page-v720,body.gift-store-v705,body.reserve-v49,
  body.track-v42,body.tracking-v73,body.confirmation-page-v20,body.compliance-page-v228,
  body.customer-auth-page-v109,body.customer-account-page-v109,body.customer-dine-in-v735
) .mobile-bottom-nav-v132 a.active-v132:any-link{
  color:var(--tt-primary)!important;background:color-mix(in srgb,var(--tt-primary) 14%,var(--tt-card-bg))!important;
}

/* Cross-route platform controls must not reintroduce browser blue or legacy app
   colors. This is scoped to ordinary interaction states, not semantic alerts. */
html :is(
  body.customer-auth-page-v109,body.customer-account-page-v109,body.customer-table-session-v363,
  body.tracking-v73,body.customer-native-body-v229,body.customer-payment-processing-v600,
  body.gift-card-public-v684,body.public-not-found-v735,body.customer-dine-in-v735
) :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--tt-primary) 46%,transparent)!important;outline-offset:2px!important;
}
html :is(
  body.customer-auth-page-v109,body.customer-account-page-v109,body.customer-table-session-v363,
  body.tracking-v73,body.customer-native-body-v229,body.customer-payment-processing-v600,
  body.gift-card-public-v684,body.public-not-found-v735,body.customer-dine-in-v735
) ::selection{
  background:color-mix(in srgb,var(--tt-primary) 30%,var(--tt-card-bg))!important;color:var(--tt-card-text-safe)!important;
}

/* v735 storefront deep component normalization -----------------------------
   Components introduced after the original storefront still carried private
   literal palettes. They now map to the Admin roles without changing behavior. */
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"]{
  --tip-v641-accent:var(--tt-primary)!important;
  --tip-v641-ink:var(--tt-card-text-safe)!important;
  --tip-v641-muted:color-mix(in srgb,var(--tt-card-text-safe) 66%,transparent)!important;
  --tip-v641-soft:color-mix(in srgb,var(--tt-primary) 7%,var(--tt-card-bg))!important;
  --tip-v641-line:color-mix(in srgb,var(--tt-primary) 44%,var(--tt-card-bg))!important;
}
html body.customer-table-session-v363{
  --tip-v641-accent:var(--tt-primary)!important;
  --tip-v641-ink:var(--tt-card-text-safe)!important;
  --tip-v641-muted:color-mix(in srgb,var(--tt-card-text-safe) 66%,transparent)!important;
  --tip-v641-soft:color-mix(in srgb,var(--tt-primary) 7%,var(--tt-card-bg))!important;
  --tip-v641-line:color-mix(in srgb,var(--tt-primary) 44%,var(--tt-card-bg))!important;
}

/* Mobile cart / checkout sheet. */
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(#order-panel,.order-panel){
  background:var(--tt-card-bg)!important;
  color:var(--tt-card-text-safe)!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
  box-shadow:0 -24px 74px color-mix(in srgb,var(--tt-card-text-safe) 22%,transparent)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(#order-panel,.order-panel) :is(h1,h2,h3,h4,strong,label){color:var(--tt-card-heading-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(#order-panel,.order-panel) :is(p,span,small){color:var(--tt-card-text-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mobile-cart-close{
  background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border:1px solid color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}

/* Customer category-first navigation and selected-category hero. */
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(
  .customer-category-card-v494,.customer-category-rail-v497,.customer-more-categories-v497,
  .customer-more-card-v497,.customer-search-context-v497,.customer-menu-nav-v494,.customer-menu-empty-v497
){
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(
  .customer-category-heading-v494,.customer-category-info-v494,.customer-category-rail-v497,
  .customer-more-categories-v497,.customer-search-context-v497,.customer-menu-nav-v494,.customer-menu-empty-v497
) :is(h1,h2,h3,h4,strong){color:var(--tt-card-heading-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(
  .customer-category-heading-v494,.customer-category-info-v494,.customer-category-rail-v497,
  .customer-more-categories-v497,.customer-search-context-v497,.customer-menu-empty-v497
) :is(p,span,em,small){color:var(--tt-card-text-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-count-v494{
  background:color-mix(in srgb,var(--tt-primary) 10%,var(--tt-card-bg))!important;color:var(--tt-card-link-safe)!important;border-color:color-mix(in srgb,var(--tt-primary) 28%,transparent)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-mini-v497{
  background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-mini-v497 em{color:var(--tt-on-secondary-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-mini-v497.active{
  background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-mini-v497.active :is(span,em){color:var(--tt-on-primary-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(
  .customer-category-open-v494,.customer-menu-nav-v494 button,.customer-more-heading-v497 button,.customer-search-context-v497 button
){background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-hero-v497{
  background:var(--tt-header-bg)!important;color:var(--tt-header-text-safe)!important;border-color:color-mix(in srgb,var(--tt-header-text-safe) 16%,transparent)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-hero-v497.has-photo-v497:before{
  background-image:linear-gradient(90deg,
    color-mix(in srgb,var(--tt-header-bg) 90%,transparent),
    color-mix(in srgb,var(--tt-header-bg) 52%,transparent),
    color-mix(in srgb,var(--tt-header-bg) 18%,transparent)),var(--category-image-v497)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-hero-copy-v497 :is(h3,span,small){color:var(--tt-header-text-safe)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-hero-copy-v497 p{color:var(--tt-primary)!important}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-back-link-v497{
  background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border:1px solid color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}

/* Tip controls are Customer-card roles, not a separate fixed gold/white theme. */
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] #tip-section-v27.tip-area,
html body.customer-table-session-v363 .cts-tip-v363{
  background:color-mix(in srgb,var(--tt-primary) 7%,var(--tt-card-bg))!important;
  border-color:color-mix(in srgb,var(--tt-primary) 44%,var(--tt-card-bg))!important;
  color:var(--tt-card-text-safe)!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] #tip-section-v27 :is(.tip-grid button,#custom-tip,.tip-live-v641),
html body.customer-table-session-v363 .cts-tip-grid-v363 button{
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-primary) 34%,var(--tt-card-bg))!important;
}
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] #tip-section-v27 .tip-grid button:is(.active,.is-selected-v641),
html body.customer-table-session-v363 .cts-tip-grid-v363 button.active{
  background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important;
}

/* Table-session payment selectors that historically forced navy/white. */
html body.customer-table-session-v363 .cts-hero-v363{
  background:var(--tt-header-bg)!important;color:var(--tt-header-text-safe)!important;border-color:color-mix(in srgb,var(--tt-header-text-safe) 16%,transparent)!important;
}
html body.customer-table-session-v363 .cts-hero-v363 :is(h1,h2,h3,p,span,strong,a:any-link){color:var(--tt-header-text-safe)!important}
html body.customer-table-session-v363 :is(.cts-method-grid-v366,.cts-split-grid-v371) button:not(.active):not(:disabled){
  background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 18%,transparent)!important;
}
html body.customer-table-session-v363 :is(.cts-method-grid-v366,.cts-split-grid-v371) button:not(.active):not(:disabled) :is(strong,span){color:var(--tt-on-secondary-safe)!important}
html body.customer-table-session-v363 :is(.cts-method-grid-v366,.cts-split-grid-v371) button.active{
  background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important;
}
html body.customer-table-session-v363 :is(.cts-method-grid-v366,.cts-split-grid-v371) button.active :is(strong,span){color:var(--tt-on-primary-safe)!important}
html body.customer-table-session-v363 .cts-pay-actions-v363 button{background:var(--tt-primary)!important;color:var(--tt-on-primary-safe)!important;border-color:var(--tt-primary)!important}

/* Order-detail/history ordinary data surfaces. */
html :is(body.customer-page-v115,body.track-v42) :is(.order-summary-grid-v155>div,.order-item-row-v155,.order-delivery-v155){
  background:var(--tt-card-bg)!important;color:var(--tt-card-text-safe)!important;border-color:color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
}
html :is(body.customer-page-v115,body.track-v42) :is(.order-summary-grid-v155>div,.order-item-row-v155,.order-delivery-v155) :is(h1,h2,h3,strong){color:var(--tt-card-heading-safe)!important}
html :is(body.customer-page-v115,body.track-v42) :is(.order-summary-grid-v155>div,.order-item-row-v155,.order-delivery-v155) :is(p,span,small){color:var(--tt-card-text-safe)!important}
html body.track-v42 .brand-mark-v42.brand-mark-logo-v586,
html body.track-v42 .track-brand-logo-v586{background:var(--tt-header-bg)!important;border-color:color-mix(in srgb,var(--tt-primary) 38%,var(--tt-header-bg))!important}
