/*
  Shared interaction contract for every platform skin.
  Theme files may change the visual language, but controls must retain the
  same predictable hover, focus, active, and availability-review behavior.
*/

:root[data-platform-skin] .filter-reset:hover:not(:disabled),
:root[data-platform-skin] .filter-reset:focus-visible:not(:disabled) {
  border-color: color-mix(in srgb, var(--skin-border, var(--border)) 72%, var(--skin-text, var(--text)));
  background: var(--skin-surface, var(--surface));
  color: var(--skin-text, var(--text));
  transform: translateY(-1px);
}

:root[data-platform-skin] .filter-reset:active:not(:disabled) {
  transform: translateY(1px);
}

:root[data-platform-skin] .admin-email-nav-link:hover,
:root[data-platform-skin] .admin-email-nav-link:focus-visible {
  border-color: var(--skin-hover-border, var(--border));
  background: var(--skin-hover-surface, var(--surface));
  color: var(--skin-text, var(--text));
  transform: translateY(-1px);
}

:root[data-platform-skin] .admin-email-nav-link:active {
  transform: translateY(1px);
}

:root[data-platform-skin] .action-button:focus-visible,
:root[data-platform-skin] .admin-save-button:focus-visible,
:root[data-platform-skin] .filter-reset:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--skin-accent, var(--accent)) 35%, transparent);
  outline-offset: 2px;
}

:root[data-platform-skin] .availability-review-list li {
  border-color: var(--skin-border, var(--border));
  border-left-color: var(--warning, #c97800);
  background: color-mix(in srgb, var(--skin-surface-soft, var(--surface-soft)) 86%, #fffaf0);
  color: var(--skin-text, var(--text));
}

:root[data-platform-skin] .availability-review-list span {
  color: var(--skin-muted, var(--muted));
}
