/* Shared action vocabulary: primary = commit, secondary = cancel/back.
   Keep page layout and domain-specific status colours in their own stylesheets.
   v2: токены мостятся к tokens.css (var(--accent-primary, <легаси>)) — страницы
   без tokens.css рендерятся как раньше; press-фидбек scale(.97) оттуда же. */
:root {
  --ui-action-radius: 14px;
  --ui-action-height: 44px;
  --ui-action-focus: #94c8ff;
  --ui-action-primary: var(--accent-primary, #226ebd);
  --ui-action-primary-hover: var(--accent-deep, #2875c3);
  --ui-action-press: var(--press-scale, .97);
}
.ui-action {
  min-height: var(--ui-action-height);
  border-radius: var(--ui-action-radius);
  font-family: inherit;
  font-weight: 600;
  line-height: 1.4;
  touch-action: manipulation;
  transition: transform .15s ease, background-color .15s ease, filter .15s ease;
}
.ui-action:not(:disabled):active { transform: scale(var(--ui-action-press)); }
.ui-action.ui-primary,
#accountMenu .ui-action.ui-primary {
  background: var(--ui-action-primary);
  border: 1px solid transparent;
  color: #fff;
}
@media (hover: hover) {
  .ui-action.ui-primary:hover:not(:disabled),
  #accountMenu .ui-action.ui-primary:hover:not(:disabled) { background: var(--ui-action-primary-hover); }
}
.ui-action.ui-secondary { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.16); color: #e3eaf4; }
.ui-action:disabled { opacity: .5; cursor: not-allowed; transform: none; }
:where(button, a, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--ui-action-focus);
  outline-offset: 3px;
}
.ui-price { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ui-action svg { flex-shrink: 0; }
@media (prefers-reduced-motion: reduce) {
  .ui-action { animation: none !important; transition: none !important; }
}
