/* Shared action buttons. Page styles own layout; this file owns appearance. */
body[data-business-id] {
  --button-primary-bg: var(--brand-action-bg, var(--amber));
  --button-primary-fg: var(--brand-action-fg, var(--primary-button-text, #1a1307));
  --button-danger-text: #ffb4ab;
  --button-danger-bg: transparent;
  --button-danger-hover-bg: #ffb4ab18;
}

body.pollen-theme[data-business-id] {
  --button-primary-bg: var(--brand-action-bg, var(--amber-soft));
}

html[data-theme="light"] body[data-business-id] {
  --button-danger-text: #a32222;
  --button-danger-hover-bg: #a3222210;
}

html[data-theme="light"] body.pollen-theme[data-business-id] {
  --button-primary-bg: var(--brand-action-bg, var(--amber));
}

body[data-business-id] :is(.primary-button, .secondary-button, .danger-button, .business-button, .exam-text-button) {
  --action-bg: transparent;
  --action-fg: var(--text);
  --action-border: color-mix(in srgb, var(--text) 48%, transparent);
  --action-hover-bg: color-mix(in srgb, var(--text) 8%, transparent);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 44px;
  max-width: 100%;
  padding: .65rem .95rem;
  border: 1px solid var(--action-border);
  border-radius: 10px;
  background: var(--action-bg);
  color: var(--action-fg);
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: normal;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: middle;
  cursor: pointer;
  box-shadow: none;
  filter: none;
  transition: background-color .15s, border-color .15s, opacity .15s;
}

body[data-business-id] :is(.primary-button, .business-button.primary) {
  --action-bg: var(--button-primary-bg);
  --action-fg: var(--button-primary-fg);
  --action-border: var(--button-primary-bg);
  --action-hover-bg: color-mix(in srgb, var(--button-primary-bg) 90%, var(--button-primary-fg));
  background: var(--action-bg);
  color: var(--action-fg);
  border-color: var(--action-border);
}

body[data-business-id] :is(.secondary-button, .business-button, .exam-text-button):is(.is-active, [aria-pressed="true"], [aria-current="page"]) {
  --action-bg: var(--brand-glow, color-mix(in srgb, var(--amber) 16%, transparent));
  --action-border: var(--amber);
  background: var(--action-bg);
  color: var(--action-fg);
  border-color: var(--action-border);
}

body[data-business-id] :is(.secondary-button, .business-button, .danger-button).danger-button {
  --action-bg: var(--button-danger-bg);
  --action-fg: var(--button-danger-text);
  --action-border: var(--button-danger-text);
  --action-hover-bg: var(--button-danger-hover-bg);
  background: var(--action-bg);
  color: var(--action-fg);
  border-color: var(--action-border);
}

/* Company colors remain readable when jobs from several businesses are shown. */
.job-row.job-company {
  --button-danger-text: #ffe5e5;
  --button-danger-bg: #501a23;
  --button-danger-hover-bg: #6a2531;
}

body[data-business-id] :is(.primary-button, .secondary-button, .danger-button, .business-button, .exam-text-button):hover:not(:disabled):not([aria-disabled="true"]) {
  background: var(--action-hover-bg);
  border-color: var(--action-fg);
  color: var(--action-fg);
  text-decoration: none;
}

body[data-business-id] :is(.primary-button, .secondary-button, .danger-button, .business-button, .exam-text-button):focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}

body[data-business-id] :is(.primary-button, .secondary-button, .danger-button, .business-button, .exam-text-button):is(:disabled, [aria-disabled="true"]) {
  opacity: .5;
  cursor: not-allowed;
}

body[data-business-id] :is(.primary-button, .secondary-button, .business-button).compact-button {
  padding: .4rem .65rem;
}

body[data-business-id] :is(.primary-button, .secondary-button, .business-button):is(.icon-button, .completion-icon, .job-delete-toggle, .task-order-controls button, [data-agenda-move] button) {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: .5rem;
  flex: 0 0 auto;
}

body[data-business-id] :is(.primary-button, .secondary-button, .business-button) > svg {
  flex-shrink: 0;
}

body[data-business-id] summary:is(.primary-button, .secondary-button) { list-style: none; }
body[data-business-id] summary:is(.primary-button, .secondary-button)::marker { content: ""; }
body[data-business-id] summary:is(.primary-button, .secondary-button)::-webkit-details-marker { display: none; }

/* An explicit hidden action must stay hidden, including after AJAX updates. */
body[data-business-id] :is(.primary-button, .secondary-button, .danger-button, .business-button, .exam-text-button)[hidden] {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-business-id] :is(.primary-button, .secondary-button, .danger-button, .business-button, .exam-text-button) { transition: none; }
}
