/* Shared interaction and layout refinements. Theme colors stay inherited. */
body { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
html:not([data-theme="dark"]):not([data-theme="high-contrast"]) .text-muted { color: #596579 !important; }
html:not([data-theme="dark"]):not([data-theme="high-contrast"]) .btn-primary { color: #17212f; }
:focus-visible { outline: 3px solid #1976d2; outline-offset: 3px; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 100001; padding: .75rem 1rem; background: #fff; color: #172554; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.exchange-intro { border-left: 4px solid var(--primary-color, #f8921a); }
.exchange-steps { display: flex; flex-wrap: wrap; gap: .75rem 2rem; padding-left: 1.25rem; margin-bottom: 0; }
.favorite-icon[role="button"] { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.favorite-icon[aria-disabled="true"] { opacity: .5; cursor: wait; }
.sidebar .m-link[aria-current="page"] { background: var(--primary-color, #f8921a); color: #161616; border-radius: .5rem; }
.sidebar .m-link[aria-current="page"] .text-muted { color: #333 !important; }
.calces-hero:after { pointer-events: none; }
.calces-hero .text-white-50 { color: #e2e8f0 !important; }
.calces-kicker { color: #916500; }
.calces-hero .calces-kicker { color: #facc15; }
.table-responsive { max-width: 100%; }
@media (max-width: 575px) {
    .card-header.d-flex { flex-wrap: wrap; gap: .75rem; }
    .btn { white-space: normal; }
    .footer ul { flex-wrap: wrap; }
    input, select, textarea { font-size: 1rem !important; }
    .calces-hero .display-4 { font-size: 2.15rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *:before, *:after { animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
