/*
 * Utility classes replacing inline style="" attributes (CSP Phase 3 —
 * removing 'unsafe-inline' from style-src).
 *
 * Naming: u-* prefix so they can't collide with Tailwind. These are plain
 * hand-written CSS on purpose — adding new Tailwind classes would require a
 * tailwind rebuild, which this migration must not depend on.
 *
 * Linked from base/new_base.html, chatbgl/base.html, and the standalone
 * login/demo-login/login_otp_code pages.
 */

/* text direction (inputs showing numbers/latin inside RTL layout) */
.u-ltr { direction: ltr; }
.u-rtl { direction: rtl; }

/* latin font for numeric inputs */
.u-font-latin { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }

/* status glows (device icons, login logo) */
.u-glow-green { filter: drop-shadow(4px 19px 8px #57da5f); }
.u-glow-blue  { filter: drop-shadow(1px 20px 3px #44d); }

/* desktop top bar */
.u-topbar-shadow { filter: drop-shadow(0px 2px 2px #000); background-color: #c2c2c23b; }

/* stacking contexts (values copied verbatim from the old inline styles) */
.u-z-51 { z-index: 51; }
.u-z-54 { z-index: 54; }
.u-z-59 { z-index: 59; }
.u-z-99 { z-index: 99; }

/* JS-generated markup (charts.js glow icon, device config table header) */
.u-glow-navy { filter: drop-shadow(0px 4px 2px #233e5b); }
.u-z-9 { z-index: 9; }

/* misc one-offs */
.u-scrollbar-thin { scrollbar-width: thin; }
.u-w-full { width: 100%; }
.u-w-0    { width: 0%; }      /* progress bar initial state; JS animates it */
.u-mt-6px { margin-top: 6px; }

/* entry-animation stagger (0.1s steps). For server-rendered loops use
 * u-delay-N directly; for unbounded lists (ticket replies) the page JS sets
 * el.style.animationDelay via CSSOM, which CSP always allows. */
.u-delay-1 { animation-delay: 0.1s; }
.u-delay-2 { animation-delay: 0.2s; }
.u-delay-3 { animation-delay: 0.3s; }
.u-delay-4 { animation-delay: 0.4s; }
.u-delay-5 { animation-delay: 0.5s; }
.u-delay-6 { animation-delay: 0.6s; }
.u-delay-7 { animation-delay: 0.7s; }
.u-delay-8 { animation-delay: 0.8s; }
.u-delay-9 { animation-delay: 0.9s; }
