/* EduBil360 accessibility, focus, motion and high-contrast rules. */
.eb-app [hidden] { display: none; }
.eb-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; }
.eb-app :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid var(--eb-focus-ring); outline-offset: 3px; }
.eb-app :where(input,select,textarea):focus-visible { border-color: var(--eb-focus-ring); box-shadow: 0 0 0 3px color-mix(in srgb,var(--eb-focus-ring) 24%,transparent); }
.eb-skip-link { position: fixed; top: var(--eb-space-3); left: var(--eb-space-3); z-index: 999; translate: 0 -180%; padding: .7rem 1rem; border-radius: var(--eb-radius-md); color: var(--eb-text-inverse); background: var(--eb-focus-ring); font-weight: 800; }
.eb-skip-link:focus { translate: 0; }
.eb-app :where(button,a,[role="button"],input,select,textarea) { touch-action: manipulation; }
@media (pointer: coarse) { .eb-app :where(button,a,[role="button"],input,select) { min-height: 44px; } }

@media (prefers-reduced-motion: reduce) {
  .eb-app *, .eb-app *::before, .eb-app *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .eb-button:hover:not(:disabled) { transform: none; }
}

@media (prefers-contrast: more) {
  .eb-app { --eb-border-subtle: rgba(210,220,245,.46); --eb-border-strong: rgba(230,236,255,.76); }
  .eb-app[data-eb-theme="light"] { --eb-border-subtle: rgba(20,35,65,.38); --eb-border-strong: rgba(20,35,65,.66); }
}

@media (forced-colors: active) {
  .eb-app :where(.eb-button,.eb-badge,.eb-card,.eb-surface,.eb-sidebar nav a) { border: 1px solid CanvasText; }
  .eb-sidebar nav :where(a,button).active { outline: 2px solid Highlight; }
}
