/* Accessibility utilities */
.nav-link:focus-visible,
.mobile-tab-btn:focus-visible,
.app-shell__link:focus-visible,
.topbar-nav a:focus-visible,
.btn:focus-visible,
.field-input:focus-visible,
.form-group input:focus-visible,
.form-group select:focus-visible,
.form-group textarea:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.35);
}

.field-input--error,
.form-group input.field-input--error,
.form-group select.field-input--error {
    border-color: var(--color-danger);
}

.field-input--error:focus-visible {
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25);
}

input:disabled,
select:disabled,
textarea:disabled,
input[readonly],
textarea[readonly] {
    background: var(--color-surface-muted);
    color: var(--color-text-muted);
    cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
    .btn:active:not(:disabled) {
        transform: none;
    }
    .toast,
    .app-shell__sidebar {
        transition: none;
    }
}
