/* Optional glass cursor. Native cursors remain the default until JS is ready. */
.crm-cursor {
  position:fixed;left:0;top:0;width:0;height:0;z-index:2147483000;
  pointer-events:none!important;opacity:0;visibility:hidden;
}
.crm-cursor[data-visible="true"]{opacity:1;visibility:visible;}
.crm-cursor-ring {
  position:absolute;left:-12px;top:-12px;width:24px;height:24px;
  border-radius:50%;box-sizing:border-box;
  background:rgba(116,132,235,.11);
  border:1px solid rgba(82,98,204,.65);
  box-shadow:0 0 0 1px rgba(255,255,255,.5),inset 0 1px 2px #ffffffb0,0 2px 9px #2c3d6e18;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  transition:transform 140ms ease,background-color 140ms ease,border-color 140ms ease;
}
.crm-cursor-dot {
  position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;
  background:#3444a8;box-shadow:0 0 0 1px #ffffffb3;
}
.dark .crm-cursor-ring {
  background:rgba(173,188,255,.1);border-color:rgba(206,218,255,.85);
  box-shadow:0 0 0 1px rgba(23,30,55,.6),inset 0 1px 2px #ffffff40,0 0 12px #a3b5ff1a;
}
.dark .crm-cursor-dot{background:#e3e9ff;box-shadow:0 0 0 1px #161f42;}
.crm-cursor[data-action="true"] .crm-cursor-ring{transform:scale(1.4);background:rgba(118,136,244,.19);}
.crm-cursor[data-pressed="true"] .crm-cursor-ring{transform:scale(.78);}
.crm-cursor-toggle {
  position:fixed;right:18px;bottom:18px;z-index:50;padding:7px 11px;
  border:1px solid var(--glass-border,#d8ddeb);border-radius:10px;
  background:var(--glass-chrome,#f8faff);color:var(--crm-muted,#596780);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 3px 15px #142c5c0a;font:11px/1.5 system-ui,sans-serif;
}
.crm-cursor-toggle:focus-visible{outline:2px solid var(--crm-teal,#414bbc);outline-offset:3px;}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html[data-crm-cursor="on"],html[data-crm-cursor="on"] body,html[data-crm-cursor="on"] body *{cursor:none!important;}
}
@media(prefers-reduced-motion:reduce),(forced-colors:active),(hover:none),(pointer:coarse){
  .crm-cursor,.crm-cursor-toggle{display:none!important;}
}
