/* Resource Centre — WCAG 2.2 AA foundation · Version: 3.2.60 */
/* Loaded on dashboard + login. Tokens follow --rc-* themes. */

/* ── Skip link ─────────────────────────────────────────── */
.rc-skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:100000;
}
.rc-skip-link:focus{
  left:max(8px, env(safe-area-inset-left));
  top:max(8px, env(safe-area-inset-top));
  width:auto;height:auto;padding:12px 16px;
  background:var(--rc-card,#fff);color:var(--rc-ink,#201F1E);
  border:2px solid var(--rc-accent,#0078D4);border-radius:8px;
  text-decoration:none;font:600 14px/1.2 system-ui,sans-serif;
  box-shadow:0 4px 16px rgba(0,0,0,.12);
}

/* ── Safe areas / dynamic viewport ─────────────────────── */
.rc-app-shell{
  padding-left:env(safe-area-inset-left,0);
  padding-right:env(safe-area-inset-right,0);
}
@supports (height:100dvh){
  body.rc-app-shell,.rc-app-shell{min-height:100dvh}
}

/* ── Focus visibility (WCAG 2.4.7 / 2.4.13) ─────────────── */
:focus{outline:none}
:focus-visible{
  outline:3px solid var(--rc-accent,#0078D4)!important;
  outline-offset:2px!important;
  border-radius:4px;
}
/* High-contrast focus on filled accent buttons */
.rc-ai-btn-pri:focus-visible,
.rc-uf-btn-main:focus-visible,
.mk-btn-pri:focus-visible,
button.rc-chrome-btn.pri:focus-visible,
.rc-theme-seg__btn[aria-pressed="true"]:focus-visible{
  outline-color:#fff!important;
  box-shadow:0 0 0 3px var(--rc-accent,#0078D4),0 0 0 5px #fff;
}

/* ── Hit targets (2.5.8 Target Size minimum / mobile 44px) ─ */
@media (pointer:coarse){
  button,a.rc-chrome-btn,.tbtn,[role="button"],
  .rc-mobile-logout,
  .nav-item,aside a[href]{
    min-height:44px;min-width:44px;
  }
  /* Sidebar theme/logout stay compact so 4 icons fit one row */
  .rc-theme-seg__btn,.rc-sidebar-logout{
    min-height:28px!important;min-width:0!important;height:28px!important;
  }
}
.rc-consent-btn,[data-open-whatsnew],.rc-primary-action,
button[type="submit"],.rc-chrome-btn.pri{min-height:44px;min-width:44px}
.rc-sidebar-logout,button.rc-sidebar-logout{
  min-width:0!important;min-height:26px!important;height:26px!important;
}

/* ── Reduced motion (2.3.3) ────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .rc-login-particles,.rc-scanline,[data-rc-motion]{display:none!important}
}

/* ── Screen-reader only ────────────────────────────────── */
.sr-only,.rc-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;
}
.sr-only-focusable:focus,.sr-only-focusable:focus-visible{
  position:static!important;width:auto!important;height:auto!important;
  margin:0!important;clip:auto!important;overflow:visible!important;
  white-space:normal!important;
}

/* ── Live region (status messages) ─────────────────────── */
.rc-live-a11y,#rc-status-live{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ── Forced colours (Windows High Contrast) ────────────── */
@media (forced-colors:active){
  :focus-visible{outline:3px solid Highlight!important}
  .rc-theme-seg__btn[aria-pressed="true"],
  .rc-ai-btn-pri,.mk-btn-pri{forced-color-adjust:none;border:2px solid Highlight}
  img,svg{forced-color-adjust:none}
}

/* ── Prefer more contrast ──────────────────────────────── */
@media (prefers-contrast:more){
  :root,html[data-theme="light"],html[data-theme="reserve"]{
    --rc-ink:#000!important;--rc-border:#666!important;
  }
  html[data-theme="dark"],html.dark{
    --rc-ink:#fff!important;--rc-border:#aaa!important;
  }
}

/* ── Links ─────────────────────────────────────────────── */
a.rc-inline:focus-visible{text-decoration:underline;text-underline-offset:3px}
/* Underline on hover only is fine; focus always visible via outline */

/* ── Invalid / error fields ────────────────────────────── */
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"],
.rc-field-error input,.rc-field-error textarea{
  border-color:#b91c1c!important;
  outline-color:#b91c1c;
}
.rc-field-error-msg{color:#b91c1c;font-size:12px;margin-top:4px}

/* ── Dialog backdrop ───────────────────────────────────── */
[role="dialog"][aria-modal="true"],dialog[open]{
  /* ensure stacking context for focus trap */
}
.rc-dialog-backdrop,[data-rc-backdrop]{
  background:rgba(0,0,0,.45);
}

/* ── Hide decorative icons from AT when parent is labelled */
[aria-hidden="true"],.fa[aria-hidden="true"],i[aria-hidden="true"]{
  speak:never;
}

/* ── Tables ────────────────────────────────────────────── */
table caption.sr-only{caption-side:top}

/* ── Landmark helpers ──────────────────────────────────── */
main#rc-main:focus{outline:none}
main#rc-main:focus-visible{outline:3px solid var(--rc-accent,#0078D4);outline-offset:4px}

/* ── Print ─────────────────────────────────────────────── */
@media print{
  .rc-skip-link,.no-print,aside.sidebar,.rc-theme-seg,.rc-sidebar-logout{display:none!important}
  a[href]::after{content:""} /* avoid dumping URLs on every link in dense UI */
}

/* ── Orientation / overflow ────────────────────────────── */
html{overflow-x:clip}
img,video,svg{max-width:100%;height:auto}
