/* rc161 — cross-device accessibility and interaction finalization */
html{scroll-behavior:smooth}body{overflow-wrap:anywhere}
.ng-skip-link{position:fixed;left:12px;top:8px;z-index:100000;transform:translateY(-180%);padding:10px 14px;border-radius:9px;background:#fff;color:#111827;border:2px solid #1d4ed8;font-weight:800;box-shadow:0 8px 28px #0003}.ng-skip-link:focus{transform:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #2563eb!important;outline-offset:3px!important}
:where(button,.btn,.icon-button,[role=button]){touch-action:manipulation}
@media(pointer:coarse){:where(button,.btn,.icon-button,input,select){min-height:44px}:where(.admin-nav-body a,.student-nav-group-body a,.lecturer-nav-body a){min-height:44px}}
img,svg,video,canvas{max-width:100%}.table-wrap,.ng-responsive-table,[class*="-table-wrap"]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ng-scroll-hint{font-size:.78rem;color:#64748b;margin:0 0 6px}.ng-scroll-hint:focus{outline-offset:2px}
.ng-live-region{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}}
@media(prefers-contrast:more){:root{--line:#64748b}.card,[class*="-panel"],input,select,textarea{border-width:2px!important}a{text-decoration-thickness:2px}}
@media(max-width:700px){body{font-size:16px}.content,.public-content{padding-left:14px!important;padding-right:14px!important}h1{line-height:1.15}.actions,.hero-actions{gap:8px}:where(.actions,.hero-actions)>a,:where(.actions,.hero-actions)>button{min-height:44px}}
@media(max-width:420px){.form-grid{grid-template-columns:minmax(0,1fr)!important}.grid{column-gap:10px}.topbar{padding-left:10px!important;padding-right:10px!important}}
