/* Shared public interface: controls, navigation and readable feedback. */
a[href] { text-decoration: none; text-underline-offset: .2em; }
a[href]:not(.btn):not(.dropdown-item):not(.nav-link):hover { color: var(--mt-primary-hover); }
:where(p, label) a[href]:not(.btn), .legal-content a[href]:not(.btn) { text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 55%, transparent); }
:where(.navbar, .breadcrumb, .dropdown-menu, .pagination) a[href], a.btn { text-decoration: none; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--mt-primary); outline-offset: 3px; }
.btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; line-height: 1.4; white-space: normal; }
.btn-sm { min-height: 36px; }
.btn:disabled, .btn.disabled { opacity: 1; cursor: not-allowed; }
.modal-content { border-radius: var(--mt-radius-surface); }
.modal-title { line-height: 1.4; overflow-wrap: anywhere; }
.modal-body { overflow-wrap: anywhere; }
.modal-footer { gap: .5rem; }
.modal-footer > * { margin: 0; }
.site-toast > span, .match-feedback, .account-feedback { overflow-wrap: anywhere; }
.site-toast-close { min-width: 36px; min-height: 36px; }
.account-feedback:not([hidden]) { padding: .8rem 1rem; border: 1px solid var(--mt-info); border-radius: var(--mt-radius-control); color: var(--mt-text); background: var(--mt-bg-secondary); line-height: 1.5; }
.account-feedback.is-error:not([hidden]) { border-color: var(--mt-danger); }
.match-setup > *, .match-fields > *, .match-notifications > div { min-width: 0; }
.match-secondary a { padding-block: .4rem; }
.forge-decision-status { margin: 12px 0 0; padding: 8px; border: 1px solid var(--mt-border); border-radius: var(--mt-radius-control); color: var(--mt-primary); background: var(--mt-bg-secondary); font-size: 11px; line-height: 1.5; }
.forge-decision-status[data-state="waiting"] { color: var(--mt-text-secondary); }
@media (max-width: 575.98px) {
  .modal-dialog { margin: .75rem; }
  .modal-footer > .btn { flex: 1 1 auto; }
  .form-control, .form-select { font-size: max(1rem, 16px); }
  .match-secondary { gap: .75rem 1.25rem; }
  .match-card { padding: 20px; }
  .match-notifications > .btn { width: 100%; }
  .site-toast-close { min-width: 44px; min-height: 44px; }
}
