/* Native cursors retain accurate hotspots and semantic text/resize/grab states.
   The decorative halo is drawn by mes-cursor.js, never intercepting input. */
#mes-pointer-glow {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  z-index: 2147483647;
  pointer-events: none !important;
  user-select: none;
  background: radial-gradient(circle, rgba(148, 208, 255, .48) 0%, rgba(82, 170, 255, .32) 24%, rgba(61, 145, 255, .16) 48%, rgba(61, 145, 255, 0) 72%);
  contain: strict;
}
#mes-pointer-glow[hidden] { display: none !important; }
@media (any-hover: hover) and (any-pointer: fine) and (forced-colors: none) {
  #mes-pointer-glow:not([hidden]) { display: block; }
  :root {
    --mes-cursor-arrow: url("/static/cursors/blue-glow-arrow.svg?v=20260904-1") 8 6, auto;
    --mes-cursor-hand: url("/static/cursors/blue-glow-hand.svg?v=20260904-1") 13 6, pointer;
  }

  html, body { cursor: var(--mes-cursor-arrow); }

  a[href], button, summary, select, label[for], [role="button"], [role="tab"],
  input[type="button"], input[type="submit"], input[type="reset"],
  input[type="checkbox"], input[type="radio"], input[type="range"], input[type="file"],
  .btn, .nav-link, .fleet-machine-card[data-machine-id], .heat-pending-row,
  .machine-terminal-document, .kiosk-touch-overlay {
    cursor: var(--mes-cursor-hand) !important;
  }

  input:not([type]), input[type="text"], input[type="password"], input[type="search"],
  input[type="email"], input[type="number"], input[type="tel"], input[type="url"],
  textarea, [contenteditable=""], [contenteditable="true"] { cursor: text !important; }

  :disabled, [aria-disabled="true"], .btn.disabled { cursor: not-allowed !important; }
  [aria-busy="true"] { cursor: progress !important; }
}
