/* B.2.M.15 release-wide accessibility and resilience layer. */
:root { --sb-focus-ring: 3px solid #f2c768; --sb-focus-offset: 3px; }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.sb-global-skip-link {
  position: fixed; left: 1rem; top: .5rem; z-index: 100000;
  transform: translateY(-180%); padding: .7rem 1rem; border-radius: .65rem;
  background: #fff; color: #111; font-weight: 800; text-decoration: none;
  box-shadow: 0 6px 24px rgba(0,0,0,.45);
}
.sb-global-skip-link:focus { transform: translateY(0); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: var(--sb-focus-ring) !important;
  outline-offset: var(--sb-focus-offset) !important;
}
:where(button, input, select, textarea) { font: inherit; }
:where(button, [role="button"], input[type="checkbox"], input[type="radio"]) { touch-action: manipulation; }
:where(button, a, input, select, textarea)[aria-disabled="true"] { cursor: not-allowed; opacity: .68; }
[role="dialog"][aria-hidden="true"], [role="alertdialog"][aria-hidden="true"] { pointer-events: none !important; }
.sb-connectivity-banner,
.sb-update-banner {
  position: fixed; left: 50%; transform: translateX(-50%); z-index: 99998;
  width: min(92vw, 48rem); display: flex; align-items: center; justify-content: space-between;
  gap: .75rem; padding: .75rem 1rem; border-radius: 0 0 .8rem .8rem;
  background: #2a202e; color: #fff; border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 8px 28px rgba(0,0,0,.35); font-size: .95rem;
}
.sb-connectivity-banner { top: 0; }
.sb-update-banner { bottom: calc(.75rem + env(safe-area-inset-bottom)); border-radius: .8rem; }
.sb-connectivity-banner[hidden], .sb-update-banner[hidden] { display: none !important; }
.sb-update-banner button { min-height: 40px; }
html[data-reduced-motion="true"] { scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}
@media (prefers-contrast: more) {
  :root { --sb-focus-ring: 4px solid #fff; }
  :where(.panel, .card, .content-card, .rail-card, .manage-card, .modal, .sheet-drawer) { border-width: 2px !important; }
  :where(.muted, small) { opacity: 1 !important; }
}
@media (forced-colors: active) {
  :where(button, a, input, select, textarea, .panel, .card, .content-card, .rail-card) { forced-color-adjust: auto; }
}
@media (max-width: 760px) {
  :where(button, a.link-button, input, select, textarea, summary) { min-height: 44px; }
  .sb-update-banner { bottom: calc(5.25rem + env(safe-area-inset-bottom)); }
}
@media print {
  .sb-global-skip-link, .sb-connectivity-banner, .sb-update-banner { display: none !important; }
}
