/* Dapur Guru V2.8.0 — Scale + Accessibility + UX. Additive layer; preserves visual lock. */
.v280-skip-link{position:fixed;left:1rem;top:.75rem;z-index:100000;transform:translateY(-180%);padding:.65rem .9rem;border-radius:.7rem;background:#fff;color:#173d92;box-shadow:0 8px 24px rgba(15,23,42,.2);font-weight:700}.v280-skip-link:focus{transform:translateY(0)}
.v280-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}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #2563eb!important;outline-offset:3px!important}
html.v280-keyboard-user :where(a,button,input,select,textarea,[tabindex]):focus{scroll-margin:5rem}
[aria-busy="true"]{cursor:progress}.v280-busy{opacity:.72;pointer-events:none}
img[data-v280-lazy="1"]{content-visibility:auto}
.v280-scroll-safe{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
@media (max-width:760px){button,input,select,textarea,.dg-btn-primary,.dg-btn-secondary{min-height:40px}table{max-width:100%}.vl-content{overflow-x:hidden}.v280-scroll-safe{overscroll-behavior-inline:contain}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media (prefers-contrast:more){:where(input,select,textarea,button,.card,.vl-panel){border-color:currentColor!important}:where(a,button):focus-visible{outline-width:4px!important}}
