/* Minimal SaaS shared interaction primitives.
   No IDs, form semantics, event handlers or visibility rules are changed. */
:where(a, button, input, select, textarea, [role="button"]):focus-visible {
    outline: 2px solid var(--af-brand);
    outline-offset: 2px;
}

:where(button, input, select, textarea) {
    font-family: var(--font, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
}

:where(button):disabled,
:where(input):disabled,
:where(select):disabled {
    cursor: not-allowed;
}

::selection {
    background: var(--af-brand-tint);
    color: var(--af-ink);
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme] *, html[data-theme] *::before, html[data-theme] *::after,
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
