:root,
.home-page,
.admin-theme,
.care-panel {
  --red: #e71924 !important;
  --red-dark: #c80e19 !important;
  --red-soft: #fff0f1 !important;
  --red-pale: #fff7f7 !important;
  --button-color: #e71924 !important;
  --highlight-color: #e71924 !important;
  --workspace-cyan: #e71924 !important;
  --studio-accent: #e71924 !important;
}

/* Neutral controls become red when selected; primary actions stay red. */
:where(.btn, .app-btn, button, input[type="submit"], input[type="button"], input[type="reset"]):not(:disabled) {
  background: #f4f6f9 !important;
  border: 1px solid #dfe4ea !important;
  color: #26364a !important;
  box-shadow: none !important;
}
:where(.btn, .app-btn, button, input[type="submit"], input[type="button"], input[type="reset"]):not(:disabled):hover {
  background: #fff0f1 !important;
  border-color: #f3aeb4 !important;
  color: #c80e19 !important;
}
:where(.btn, .app-btn, button):is(:active, .active, .is-active, .selected, [aria-pressed="true"], [aria-selected="true"], [aria-current="page"]),
:where(input[type="button"], input[type="reset"]):active,
:where(.filter-chip, .directory-filter, .booking-tab, .care-tab):is(.active, .is-active, [aria-pressed="true"], [aria-selected="true"]) {
  background: #e71924 !important;
  border-color: #e71924 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgb(231 25 36 / 18%) !important;
}
:where(.btn-red, .btn.primary, .app-btn.primary, button.primary, button[type="submit"], input[type="submit"], .directory-search > button, .home-search button):not(:disabled) {
  background: #e71924 !important;
  border-color: #e71924 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgb(231 25 36 / 18%) !important;
}
:where(.btn-red, .btn.primary, .app-btn.primary, button.primary, button[type="submit"], input[type="submit"], .directory-search > button, .home-search button):not(:disabled):hover {
  background: #c80e19 !important;
  border-color: #c80e19 !important;
  color: #fff !important;
}
:where(button, input[type="submit"], input[type="button"], input[type="reset"]):disabled {
  background: #eef1f4 !important;
  border-color: #dfe4ea !important;
  color: #8b96a5 !important;
  opacity: .65;
}

/* White, clearly separated top headers on every surface. */
:where(.home-page .topbar, .admin-theme .admin-utility, .care-panel .care-utility) {
  background: #fff !important;
  border-bottom: 1px solid #cbd3dc !important;
  box-shadow: 0 1px 0 rgb(15 23 42 / 4%) !important;
}

:where(a:hover, a.active, a[aria-current="page"], .eyebrow, h1 span, h2 span, h3 span, .service-icon) { color: #e71924; }
:where(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: #e71924 !important; }
:where(input, select, textarea):focus {
  border-color: #e71924 !important;
  box-shadow: 0 0 0 3px rgb(231 25 36 / 14%) !important;
  outline: 0;
}
:where(a, button, input, select, textarea, summary):focus-visible { outline-color: #e71924 !important; }

.admin-theme :where(.app-nav a.active, .workspace-status-tabs button.active, .workspace-settings-tabs a[aria-current="page"], .studio-tabs button[aria-pressed="true"], .studio-devices button[aria-pressed="true"]),
.care-panel :where(.app-nav a.active, .care-tab.active, [aria-selected="true"]) {
  background: #e71924 !important;
  border-color: #e71924 !important;
  color: #fff !important;
  box-shadow: inset 4px 0 #a80d16 !important;
}
.admin-theme :where(.admin-nav-icon, .admin-brand-mark, .admin-top-avatar, .admin-metric-icon, .workspace-avatar, .studio-preview-mark, .notify-channel-icon),
.care-panel :where(.care-tile-icon, .care-icon-badge, .care-avatar-mark) {
  background: #fff0f1 !important;
  color: #e71924 !important;
}
.admin-theme .app-metric::before { background: #e71924 !important; }
.admin-theme :where(.app-badge, .admin-count, .admin-system-chip, .admin-metric-note, .workspace-event, .studio-live, .notify-state),
.care-panel :where(.app-badge, .bank-accounts-count, .care-role-chip) {
  background: #fff0f1 !important;
  color: #c80e19 !important;
  border-color: #f6b7bc !important;
}
.admin-theme progress { accent-color: #e71924 !important; }
.admin-theme progress::-webkit-progress-value { background: #e71924 !important; }
.admin-theme :where(svg path, svg polyline, svg line)[stroke]:not([stroke="none"]) { stroke: #e71924 !important; }
.admin-theme :where(.studio-bar-track i, .notify-trend-track i, .notify-status-track i) { background: #e71924 !important; }
.admin-theme .studio-donut { background: conic-gradient(#e71924 var(--progress), #f9d9dc 0) !important; }
.care-panel :where(.app-notification.unread, .app-message.mine) { border-left-color: #e71924 !important; background: #fff0f1 !important; }

.home-page :where(.phone-ui-brand, .phone-ui-appointment a),
.booking-page :where(.booking-tab.active, .booking-slot.active),
.directory-page :where(.directory-specialties button.is-active, .directory-search > button) {
  background: #e71924 !important;
  border-color: #e71924 !important;
  color: #fff !important;
}
.home-page :where(.corporate-benefits li::before, .featured-specialty, .online-chip) { color: #e71924 !important; }
.home-page :where(.hero h1 span, .hero-kicker, .section h2 span, .eyebrow, .step.active .step-no, .corporate-benefits li::before) { color: #e71924 !important; }
.care-panel :where(.care-welcome, .care-shortcuts a, .care-next) { border-color: #f6c5c9 !important; background: #fff0f1 !important; }
.care-panel :where(.care-welcome-kicker, .care-welcome p, .care-welcome a, .care-shortcuts a, .care-arrow) { color: #c80e19 !important; }
