/* Final Pro interaction colors. This layer owns states only: component geometry,
   motion, validation, disabled controls and custom identity colors stay local.
   Separate native/ARIA disabled guards also outrank the legacy enabled hover
   rules, which otherwise reintroduce violet gradients after the mint base.
   Primary text mixes toward ink to retain contrast on its pressed fill. */
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
  .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
  .business-salon-deletion-dialog,.salon-photo-manager-panel)
  .solid-button.pro:not(.danger,.is-danger,.warning,.is-warning,[data-tone="danger"],[data-tone="warning"]):not(:disabled):not([aria-disabled="true"]) {
  color: color-mix(in srgb, var(--pro-ui-accent-ink, #236c59) 70%, var(--pro-ui-ink, #172b2a));
  border-color: var(--pro-ui-accent-line, #c9e5db);
  background: var(--pro-ui-accent, #cdeddc);
  box-shadow: 0 2px 4px rgb(25 57 46 / 4%);
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
  .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
  .business-salon-deletion-dialog,.salon-photo-manager-panel)
  .solid-button.pro:not(.danger,.is-danger,.warning,.is-warning,[data-tone="danger"],[data-tone="warning"]):not(:disabled):not([aria-disabled="true"]):hover {
  color: color-mix(in srgb, var(--pro-ui-accent-ink, #236c59) 70%, var(--pro-ui-ink, #172b2a));
  border-color: color-mix(in srgb, var(--pro-ui-accent-line, #c9e5db) 76%, var(--pro-ui-accent-ink, #236c59));
  background: color-mix(in srgb, var(--pro-ui-accent, #cdeddc) 88%, var(--pro-ui-accent-ink, #236c59));
  box-shadow: 0 3px 7px rgb(25 57 46 / 8%);
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
  .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
  .business-salon-deletion-dialog,.salon-photo-manager-panel)
  .solid-button.pro:not(.danger,.is-danger,.warning,.is-warning,[data-tone="danger"],[data-tone="warning"]):not(:disabled):not([aria-disabled="true"]):active {
  color: color-mix(in srgb, var(--pro-ui-accent-ink, #236c59) 70%, var(--pro-ui-ink, #172b2a));
  border-color: color-mix(in srgb, var(--pro-ui-accent-line, #c9e5db) 66%, var(--pro-ui-accent-ink, #236c59));
  background: color-mix(in srgb, var(--pro-ui-accent, #cdeddc) 80%, var(--pro-ui-accent-ink, #236c59));
  box-shadow: inset 0 1px 2px rgb(25 57 46 / 8%);
}

html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
  .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
  .business-salon-deletion-dialog,.salon-photo-manager-panel)
  :is(.outline-button,.ghost-button,.icon-button):not(.danger,.is-danger,.warning,.is-warning,[data-tone="danger"],[data-tone="warning"]):not(:disabled):not([aria-disabled="true"]):hover {
  color: var(--pro-ui-accent-ink, #236c59);
  border-color: var(--pro-ui-accent-line, #c9e5db);
  background: var(--pro-ui-accent-soft, #edf8f3);
  box-shadow: none;
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
  .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
  .business-salon-deletion-dialog,.salon-photo-manager-panel)
  :is(.outline-button,.ghost-button,.icon-button):not(.danger,.is-danger,.warning,.is-warning,[data-tone="danger"],[data-tone="warning"]):not(:disabled):not([aria-disabled="true"]):active {
  color: var(--pro-ui-accent-ink, #236c59);
  border-color: var(--pro-ui-accent-line, #c9e5db);
  background: var(--pro-ui-accent, #cdeddc);
  box-shadow: inset 0 1px 2px rgb(25 57 46 / 5%);
}

/* Moving segmented controls keep their measured selection indicator. */
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,.business-service-inspector)
  .business-segmented > button:not(.active,[aria-selected="true"],[aria-pressed="true"]):not(:disabled):not([aria-disabled="true"]):is(:hover,:active) {
  color: var(--pro-ui-accent-ink, #236c59);
  background: var(--pro-ui-accent-soft, #edf8f3);
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,.business-service-inspector)
  :is(.prelook-select-trigger,.business-manual-service-trigger):not(:disabled):not([aria-disabled="true"]):is(:hover,[aria-expanded="true"]) {
  color: var(--pro-ui-ink, #172b2a);
  border-color: var(--pro-ui-accent-line, #c9e5db);
  background: #fff;
  box-shadow: 0 0 0 2px var(--pro-ui-accent-soft, #edf8f3);
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,.business-service-inspector)
  .prelook-select-trigger:not(:disabled):not([aria-disabled="true"]):is(:hover,[aria-expanded="true"]) .prelook-select-chevron {
  color: var(--pro-ui-accent-ink, #236c59);
  background: var(--pro-ui-accent-soft, #edf8f3);
  box-shadow: none;
}
html body.pro-mode .dashboard-shell .dashboard-content .business-crm-column-filter-trigger:not(:disabled):not([aria-disabled="true"]):is(:hover,:active),
html body.pro-mode .dashboard-shell .dashboard-content .business-crm-column-filter-shell:is(.is-open,.is-active) .business-crm-column-filter-trigger:not(:disabled):not([aria-disabled="true"]) {
  color: var(--pro-ui-accent-ink);
  border-color: var(--pro-ui-accent-line);
  background: var(--pro-ui-accent-soft);
}
html body.pro-mode .dashboard-shell .dashboard-content .business-crm-column-filter-shell.is-active .business-crm-column-filter-trigger:not(:disabled):not([aria-disabled="true"]) {
  background: var(--pro-ui-accent);
}

/* Permission choices are controls, independent of each role's identity color. */
html body.pro-mode .dashboard-shell .dashboard-content .business-role-member-manage:not(:disabled):not([aria-disabled="true"]) {
  color: var(--pro-ui-accent-ink);
  background: var(--pro-ui-accent-soft);
}
html body.pro-mode .dashboard-shell .dashboard-content .business-role-member-manage:not(:disabled):not([aria-disabled="true"]):is(:hover,:active) {
  background: var(--pro-ui-accent);
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer)
  .business-permission-choice-options > :is(button,label):not(:disabled):not([aria-disabled="true"]):not(:has(input:disabled)):is(:hover,:active,.is-selected) {
  color: var(--pro-ui-accent-ink);
  border-color: var(--pro-ui-accent-line);
  background: var(--pro-ui-accent-soft);
}
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer)
  .business-permission-choice-options > :is(button,label).is-selected:not(:disabled):not([aria-disabled="true"]):not(:has(input:disabled)) {
  background: var(--pro-ui-accent);
}
html body.pro-mode .dashboard-shell .dashboard-content .business-holiday-attribution a:is(:hover,:active) {
  color: var(--pro-ui-accent-ink);
}

/* These lists are portaled outside the workspace. Their avatar/category swatches
   remain untouched; only the option's interactive surface changes. */
html body.pro-mode .prelook-select-popover .prelook-select-option:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,[aria-selected="true"]),
html body.pro-mode .prelook-persona-popover button:not(.danger,.is-danger):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,.active),
html body.pro-mode .prelook-menu-popover :is(button,[role="menuitem"]):not(.danger,.is-danger,.warning,.is-warning):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) {
  color: var(--pro-ui-accent-ink, #236c59);
  border-color: var(--pro-ui-accent-line, #c9e5db);
  background: var(--pro-ui-accent-soft, #edf8f3);
  box-shadow: none;
}
html body.pro-mode .prelook-select-popover .prelook-select-option:not(:disabled):not([aria-disabled="true"])[aria-selected="true"] {
  background: var(--pro-ui-accent, #cdeddc);
}
html body.pro-mode .prelook-select-popover .prelook-select-option:not(:disabled):not([aria-disabled="true"]):active {
  color: var(--pro-ui-accent-ink, #236c59);
  background: var(--pro-ui-accent, #cdeddc);
}

/* Booking details include links as well as buttons. The profile card already
   paints its focus ring on its overlay, so keep that single focus surface. */
html body.pro-mode .business-team-drawer .business-calendar-booking-drawer-content.is-refined
  :is(a.business-booking-detail-service-name,.business-booking-detail-service-items a):not([aria-disabled="true"]):is(:hover,:active) {
  color: var(--pro-ui-accent-ink, #236c59);
}
html body.pro-mode .business-team-drawer .business-calendar-booking-drawer-content.is-refined
  .business-booking-detail-person-body:hover::after {
  box-shadow: 0 2px 8px rgb(25 57 46 / 4%);
}
html body.pro-mode .business-team-drawer .business-calendar-booking-drawer-content.is-refined
  .business-booking-detail-person-body:focus-visible::after {
  outline-color: var(--pro-ui-accent-ink, #236c59);
}

/* Home's public-profile preview inherits its own older action styles. */
html body.pro-mode .dashboard-shell .dashboard-content .salon-profile-outline-button:not(:disabled):not([aria-disabled="true"]) {
  box-shadow: 0 2px 4px rgb(25 57 46 / 4%);
}
html body.pro-mode .dashboard-shell .dashboard-content .salon-profile-stylist-view:not(:disabled):not([aria-disabled="true"]) {
  color: var(--pro-ui-accent-ink);
}
html body.pro-mode .dashboard-shell .dashboard-content :is(.salon-profile-outline-button,.salon-profile-stylist-view,.salon-profile-map-card button,.salon-profile-about-grid a):not(:disabled):not([aria-disabled="true"]):is(:hover,:active) {
  color: var(--pro-ui-accent-ink);
  border-color: var(--pro-ui-accent-line);
  background: var(--pro-ui-accent-soft);
  box-shadow: 0 2px 4px rgb(25 57 46 / 4%);
}

/* A visible keyboard cue on every action, including card controls and calendar
   hit areas. Outline does not change their measured layout or identity fill.
   Text entry and validation continue to use final-loaded focus.css. */
html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
  .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
  .business-salon-deletion-dialog,.salon-photo-manager-panel,.prelook-select-popover,
  .prelook-menu-popover,.prelook-persona-popover)
  :is(button,a[href],summary,[role="button"],[role="tab"],[role="option"],[role="menuitem"]):not(.danger,.is-danger,.warning,.is-warning,.business-booking-detail-person-body,[data-tone="danger"],[data-tone="warning"]):not(:disabled):not([aria-disabled="true"]):focus-visible {
  outline: 2px solid var(--pro-ui-accent-ink, #236c59);
  outline-offset: 2px;
}

@media (forced-colors: active) {
  html body.pro-mode .business-team-drawer .business-calendar-booking-drawer-content.is-refined
    .business-booking-detail-person-body:focus-visible::after { outline-color: Highlight; }
  html body.pro-mode :is(.dashboard-shell .dashboard-content,.business-modal,.business-team-drawer,
    .business-service-inspector,.business-onboarding-dialog,.business-onboarding-cancel-dialog,
    .business-salon-deletion-dialog,.salon-photo-manager-panel,.prelook-select-popover,
    .prelook-menu-popover,.prelook-persona-popover)
    :is(button,a[href],summary,[role="button"],[role="tab"],[role="option"],[role="menuitem"]):not(:disabled):not([aria-disabled="true"]):focus-visible {
    outline-color: Highlight;
  }
}
