/* AMI VISION responsiveness series v2.9.621–630. Presentation only. */

/* v2.9.621: Loader motion and reduced motion */
/* Respect OS-level motion preference for loading and animation. */
@media (prefers-reduced-motion: reduce){.spinner,.loading-spinner,[class*="loader"],[class*="skeleton"]{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto!important}}

/* v2.9.622: Mobile viewport and overflow containment */
@media(max-width:767px){html,body{max-width:100%;overflow-x:clip}main,.main-content,.app-content,[class*="page-content"]{min-width:0;max-width:100%}img,svg,video{max-width:100%}}

/* v2.9.623: Touch button access */
@media(pointer:coarse){button,.btn,[role="button"]{touch-action:manipulation}button:focus-visible,.btn:focus-visible,[role="button"]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}}

/* v2.9.624: Mobile form field visibility */
@media(max-width:767px){input:not([type="checkbox"]):not([type="radio"]),select,textarea{max-width:100%;box-sizing:border-box}input[type="search"],input[type="text"],input[type="number"],input[type="date"],textarea,select{font-size:max(16px,1em)}}

/* v2.9.625: Responsive table scrolling */
@media(max-width:767px){.table-responsive,.table-wrap,[class*="table-scroll"],[class*="table-wrap"]{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}table{border-collapse:collapse}th,td{overflow-wrap:anywhere}}

/* v2.9.626: Readable error and toast messages */
[role="alert"],[role="status"],.toast,.alert,[class*="error-message"]{overflow-wrap:anywhere;word-break:normal}[role="alert"]:focus-visible,[role="status"]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}

/* v2.9.627: Small screen dialog sizing */
@media(max-width:600px){[role="dialog"],dialog,.modal-content,[class*="modal-content"]{box-sizing:border-box;max-width:min(96vw,100%)!important;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}}

/* v2.9.628: Safe text wrapping in summary cards */
@media(max-width:767px){.card,.stat-card,[class*="summary-card"],[class*="metric-card"]{min-width:0;overflow-wrap:anywhere}.card .value,.stat-card .value{font-variant-numeric:tabular-nums}}

/* v2.9.629: Print legibility */
@media print{[role="status"].toast,.toast-container,[class*="loading-overlay"],[class*="spinner-overlay"]{display:none!important}table{break-inside:auto}tr{break-inside:avoid}thead{display:table-header-group}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* v2.9.630: Mobile scroll and focus polish */
@media(max-width:767px){button,.btn,select,input,textarea{scroll-margin-block:68px}details>summary{cursor:pointer}body{overflow-wrap:break-word}}@media(prefers-contrast:more){button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid currentColor;outline-offset:3px}}
