/* State tokens are consumed only by the functional buttons below. */
button:hover:not(:disabled){
  --function-primary-bg:var(--brand-hover);
  --function-secondary-bg:var(--brand-soft);
  --function-secondary-line:var(--brand-hover);
  --function-danger-bg:#9c3040;
}
button:active:not(:disabled){
  --function-primary-bg:var(--brand-active);
  --function-secondary-bg:var(--brand-soft-hover);
  --function-secondary-line:var(--brand-active);
  --function-danger-bg:#842937;
}
button:disabled{
  --function-primary-bg:var(--brand-disabled);
  --function-primary-ink:#394164;
  --function-secondary-bg:#f3f4fa;
  --function-secondary-line:#d9dded;
  --function-secondary-ink:#737b98;
  --function-danger-bg:#ead8dd;
  --function-danger-ink:#785361;
}

/* Supporting commands share a blue outline without changing tools or tab styles. */
:is(.app-shell,#overlay-root) button:is(
  .action-bar [data-command],
  .drawer-footer button,
  [data-ai]:not(.icon-button),
  [data-osr],
  .orp-actions button,
  [data-orp="open"],[data-orp="retry"],
  [data-kg]:not(.icon-button),
  [data-guide="directory"],[data-guide="tour"],[data-guide="start"],[data-guide="intake"],
  [data-guide="next"],[data-guide="visit"],[data-guide="tour-next"],
  [data-context="toggle"],[data-context="prepare"],
  .vehicle-directory-head>button,.vehicle-detail-toolbar>button
):not(.danger,[data-osr="cancel"],[data-osr="discard-pending"]){
  background-color:var(--function-secondary-bg,#fff)!important;
  background-image:none!important;
  color:var(--function-secondary-ink,var(--brand-primary))!important;
  border-color:var(--function-secondary-line,var(--brand-primary))!important;
  opacity:1;
}

/* Main workflow actions use the same solid brand blue in every workspace. */
:is(.app-shell,#overlay-root) button:is(
  .primary,
  .action-bar [data-command]:not(
    [data-command^="nav:"],[data-command^="inspect:"],[data-command^="compare:"],
    [data-command^="export."],[data-command^="graph."],
    [data-command="filter"],[data-command="role"],[data-command="draft"],
    [data-command="strategy.up"],[data-command="strategy.down"]
  ),
  [data-guide="start"],[data-guide="intake"],[data-guide="tour-next"],
  [data-guide="directory"],[data-context="toggle"],
  [data-ai="planning"],[data-ai="handoff"],[data-ai="observation"],
  [data-ai="execution"],[data-ai="reassess"],
  [data-orp="open"],[data-orp="retry"],[data-kg="query"],
  [data-osr="connect"],[data-osr="submit"],[data-osr="retry-submit"],[data-osr="compare"],
  .vehicle-directory-head>[data-nav="C05-P07"],.vehicle-detail-toolbar>[data-nav="C05-P07"]
):not(.danger,[data-osr="cancel"],[data-osr="discard-pending"]){
  background-color:var(--function-primary-bg,var(--brand-primary))!important;
  background-image:none!important;
  color:var(--function-primary-ink,#fff)!important;
  border-color:var(--function-primary-bg,var(--brand-primary))!important;
  opacity:1;
}

/* Danger is an action meaning; it must not inherit the brand fill. */
:is(.app-shell,#overlay-root) button:is(.danger,[data-osr="cancel"],[data-osr="discard-pending"]){
  background-color:var(--function-danger-bg,#b83a4b)!important;
  background-image:none!important;
  color:var(--function-danger-ink,#fff)!important;
  border-color:var(--function-danger-bg,#b83a4b)!important;
  opacity:1;
}
