/* VERVE POS R30.2 — final polish layer. Additive only; approved IA/layout remains authoritative. */
:root{--r302-focus:0 0 0 3px color-mix(in srgb,#ff3d98 32%,transparent)}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{overscroll-behavior-y:none}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #ff5aac;outline-offset:2px;box-shadow:var(--r302-focus)}
.vd-content,.vd-main,.vd-modal-card,.vd-drawer,.vd-table-wrap{scrollbar-gutter:stable}
.vd-card,.vd-stat,.vd-modal-card,.vd-login-card,.vd-reminder-grid article{transform:translateZ(0);backface-visibility:hidden}
.vd-card,.vd-stat,.vd-reminder-grid article{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
@media (hover:hover) and (pointer:fine){.vd-card:hover,.vd-stat:hover,.vd-reminder-grid article:hover{transform:translateY(-1px)}}
.vd-login-shell img,.vd-vera-float img,.vera-motion-host img{image-rendering:auto}
.vd-login-submit,.vd-primary{will-change:auto}
.vd-toast{max-width:min(440px,calc(100vw - 28px))}
.vd-modal-card{max-height:min(92dvh,980px)}
.vd-content{min-width:0}
.vd-table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.vd-table-wrap table{font-variant-numeric:tabular-nums}
.vd-table-wrap thead th{position:sticky;top:0;z-index:2;backdrop-filter:blur(8px)}
@media (max-width:760px){.vd-login-shell{min-height:100dvh}.vd-login-card{margin-bottom:max(14px,env(safe-area-inset-bottom))}.vd-theme-fab{bottom:max(16px,env(safe-area-inset-bottom))}.vd-modal-card{max-height:94dvh}}
@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}}
