/* Semantic public tokens. Decorative coral is distinct from readable accent text. */
:root{--ve-text:#141414;--ve-muted:#555b63;--ve-accent-text:#b82435;--ve-accent:#cf3041;--ve-focus:#9e1729;--ve-border:#d9dce1}
body:not(.vendor-surface){--accent:var(--ve-accent-text)}
.pt-shell{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pt-ink:var(--ve-text);--pt-muted:var(--ve-muted);--pt-coral:var(--ve-accent);--mk-accent:var(--ve-accent)}
.pt-shell .pt-filter-heading small,.pt-shell .pt-country-link strong,.pt-shell .pt-card-meta,.pt-shell .pt-card small{color:#535d69}
.blog-hero .eyebrow,.post-cat-badge,.vendor-eyebrow{color:var(--ve-accent-text)!important}
body.ve-auth .ve-auth-layout{margin-top:32px}
.ve-public-registration .text-secondary,.ve-public-registration .register-submit-note{color:#555b63!important}
.ve-public-registration .vendor-register-hero .text-white-50{color:#e2e3e7!important}
.ve-public-registration a:not(.btn):not(.mk-logo):not(.ve-social-link){text-underline-offset:3px}
.ve-public-registration main a:not(.btn):not(.register-hero-cta){text-decoration:underline;color:var(--ve-accent-text)}
.ve-public-registration main .vendor-register-hero a{color:#141414}
.ve-public-registration .register-stat span{color:#e2e3e7}
.ve-public-registration .register-section-number{color:var(--ve-accent-text)}
main :focus-visible{outline:3px solid var(--ve-focus);outline-offset:3px;scroll-margin-top:110px}
main{scroll-margin-top:110px}main h1{overflow-wrap:break-word}
.ve-consent .ve-btn-parity{background:#141414!important;border-color:#141414!important;color:#fff!important}
.ve-consent .ve-banner-link{color:#b82435!important}
@media(max-width:600px){.ve-consent .ve-banner-inner{padding:16px;max-height:70dvh;overflow:auto}.ve-consent .ve-banner-desc{font-size:.8rem;line-height:1.4}.ve-consent .ve-banner-copy{min-width:0;flex-basis:100%}.ve-consent .ve-banner-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.ve-consent .ve-banner-actions .ve-btn{font-size:.8rem;padding:9px;white-space:normal}.ve-consent .ve-banner-actions .ve-btn:last-child{grid-column:1/-1}}

.pt-shell .pt-filter-link strong,.pt-shell .pt-page-count,.pt-shell .pt-card-top,.pt-shell .pt-buyer,.pt-shell .pt-deadline span{color:#535d69}
.ve-auth-footnote a{text-decoration:underline;text-underline-offset:3px}
.ve-public-registration .btn-vendor{background:#b82435;border-color:#b82435;color:white}

@media(prefers-color-scheme:dark){.ve-consent .ve-banner-link,.ve-consent .ve-dialog-intro a{color:#ff9ba5!important}.ve-consent .ve-btn-parity{background:#f2f2f3!important;color:#141414!important;border-color:#f2f2f3!important}}
.pt-shell .pt-filter-link.active strong{color:#fff}
.pt-shell .pt-pagination>span,.pt-shell .pt-footer-note{color:#535d69}
body .ve-consent{--vc-ink:#141414;--vc-muted:#555b63;--vc-accent:#b82435;--vc-line:#d9dce1}
@media(prefers-color-scheme:dark){body .ve-consent{--vc-ink:#f2f2f3;--vc-muted:#c2c2c7;--vc-accent:#ff9ba5;--vc-line:#65656a}body .ve-consent .ve-banner-link,body .ve-consent .ve-dialog-intro a{color:#ff9ba5!important}body .ve-consent .ve-btn-parity,body .ve-consent .ve-btn-parity:hover,body .ve-consent .ve-btn-parity:focus{background:#f2f2f3!important;color:#141414!important;border-color:#f2f2f3!important}}
.supplier-section{overflow-wrap:anywhere}
.ve-demo-cta-copy,.ve-demo-cta-action{min-width:0}
.ve-demo-cta .btn{white-space:normal;overflow-wrap:anywhere}
.ve-demo-cta-label{color:var(--ve-accent-text)}
.ve-demo-cta-action span{color:var(--ve-muted)}
.supplier-section a{text-decoration:underline;text-underline-offset:3px}
.breadcrumb-row a{text-decoration:underline;text-underline-offset:3px}

.ve-public-recovery .vendor-auth-shell{min-height:0;padding:48px 16px}
.ve-public-recovery .btn-vendor{background:#b82435;border-color:#b82435;color:white}
.ve-public-recovery main a:not(.btn){text-decoration:underline;text-underline-offset:3px}

.mk-section p a:not(.mk-button):not(.btn),.mk-hero p a:not(.mk-button):not(.btn){text-decoration:underline;text-underline-offset:3px}
.faq-sidebar-label,.faq-count,.faq-number{color:var(--ve-muted)!important}
main p a:not(.btn):not(.mk-button):not(.ve-social-link){text-decoration:underline;text-underline-offset:3px}

.ve-public-directory .text-primary,.faq-main-head .text-primary{color:var(--ve-accent-text)!important}
.ve-public-directory .btn-outline-primary{--bs-btn-color:var(--ve-accent-text);--bs-btn-border-color:var(--ve-accent-text);--bs-btn-hover-bg:var(--ve-accent-text);--bs-btn-hover-border-color:var(--ve-accent-text);--bs-btn-active-bg:var(--ve-accent-text);--bs-btn-active-border-color:var(--ve-accent-text)}
.ve-public-directory .page-link{color:var(--ve-accent-text)}
.ve-public-directory .form-check-input:checked{background-color:var(--ve-accent-text);border-color:var(--ve-accent-text)}
/* Bootstrap public controls use the same branded roles as custom controls. */
.btn-primary{--bs-btn-bg:var(--ve-accent-text);--bs-btn-border-color:var(--ve-accent-text);--bs-btn-hover-bg:#941c2a;--bs-btn-hover-border-color:#941c2a;--bs-btn-active-bg:#941c2a;--bs-btn-active-border-color:#941c2a;--bs-btn-focus-shadow-rgb:184,36,53}

.pt-shell main .pt-eyebrow{color:var(--ve-accent-text)}
.pt-shell .pt-filter-label{color:var(--ve-muted)}
.pt-search-clear{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;text-decoration:underline;text-underline-offset:3px}

.ve-public-recovery .invitation-head{background:#141414}
.ve-public-recovery .invitation-head .vendor-eyebrow{color:#ffb0b8!important}
.ve-public-recovery .invitation-head .text-white-50{color:#e2e3e7!important}

.ve-public-claim .claim-business{background:linear-gradient(145deg,#141414,#292225)}
.ve-public-claim .claim-business .vendor-eyebrow{color:#ffb0b8!important}
.ve-public-claim .claim-business .text-white-50{color:#e2e3e7!important}
.ve-public-claim nav[aria-label="Profile claim navigation"] a{color:var(--ve-accent-text);text-decoration:underline;text-underline-offset:3px}

/* Detail summaries must remain readable; card-only truncation does not apply. */
.pt-detail .pt-teaser{display:block;overflow:visible;-webkit-line-clamp:unset}
.pt-status[data-status="EXPIRED"],.pt-status[data-status="CANCELLED"],.pt-status[data-status="AWARDED"]{background:#eef0f3;color:#465162}
