/* Shared customer/admin behaviour; page-specific grids retain their own breakpoints. */
.skipLink { position:fixed; left:1rem; top:1rem; z-index:10000; transform:translateY(-200%); padding:.75rem 1rem; background:#292621; color:#fff; border-radius:8px; }
.skipLink:focus { transform:none; }
:focus-visible { outline:3px solid #8a310d; outline-offset:3px; }
main:focus { outline:none; }
.eyebrow { color:#b94313; }
dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
dialog p, main p, main dd, main h1, main h2, main h3 { overflow-wrap:anywhere; }
fieldset { min-width:0; }
main input, main select, main textarea { max-width:100%; }
.accessibleTableScroll { width:100%; max-width:100%; overflow:auto; overscroll-behavior-x:contain; }
.accessibleTableScroll table { width:100%; }
.accessibleTableHint { color:#59534c; font-size:.875rem; margin:.5rem 0; }
@media(max-width:980px) {
  .mainNavigation.isOpen { max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; }
  html:not(.navigationReady) .menuButton { display:none; }
  html:not(.navigationReady) .mainNavigation { display:flex; position:static; flex-wrap:wrap; box-shadow:none; }
  html:not(.navigationReady) .siteHeaderInner { flex-wrap:wrap; }
  .mainNavigation a, .mainNavigation button { min-height:44px; }
}
@media(max-width:600px) {
  .engagementHeader { flex-direction:column; }
  .engagementActions, .engagementFilters { align-items:stretch; }
  .engagementActions > *, .engagementFilters > label { max-width:100%; }
  .notificationOption input, .switchField input { flex-shrink:0; }
  main input:not([type=checkbox]):not([type=radio]):not([type=hidden]), main select, main textarea { font-size:16px; }
  .button { white-space:normal; text-align:center; max-width:100%; }
}
@media(forced-colors:active) {
  :focus-visible { outline:3px solid Highlight; }
  .button, dialog { border:1px solid ButtonText; }
}
