/* ============================================================================
   BA2 STACKING ORDER — THE ONE NAMED LADDER
   ----------------------------------------------------------------------------
   Plain-English explanation:

   Every bar, menu, pop-up window and toast message on screen has to sit at
   a "height" above the ordinary page so it doesn't get hidden underneath
   something else. Before this file existed, every screen picked its own
   number by hand, with no agreed order — so a warning bar (written at 1999)
   ended up sitting ON TOP of the admin menu (which sits at 1030), covering
   it up. Nobody broke a rule; there simply was no rule.

   This file is the rule. It names nine fixed "rungs" on a ladder, from the
   ordinary page (lowest) up to the "please wait" veil (highest). Every other
   stylesheet or page in BA2 must ask for one of these names — never write
   its own raw number. The build itself refuses to compile if it finds a raw
   number outside this file (see the guard wired into Directory.Build.targets).

   THE LADDER, LOW TO HIGH:
     1. --ba2-z-base            ordinary raised page content (badges, buttons
                                 sitting slightly above the page, small local
                                 overlays on a photo, etc.)
     2. --ba2-z-sticky-header   sticky table headers, sticky first columns,
                                 pinned header/toolbar rows that scroll with
                                 the page but stay visible
     3. --ba2-z-notice          warning / notice / banner bars (e.g. the
                                 holiday bar, the "test mode" bar, the sync-
                                 failure bar, the cookie-consent bar)
     4. --ba2-z-navbar          the admin navbar itself (and the storefront's
                                 equivalent pinned header)
     5. --ba2-z-navbar-menu     drop-down menus and search results opened
                                 from the navbar
     6. --ba2-z-backdrop        the dimmed background behind a pop-up window
     7. --ba2-z-modal           the pop-up window / dialog itself
     8. --ba2-z-toast           short-lived confirmation / alert messages
     9. --ba2-z-overlay         the "please wait" veil — sits on top of
                                 absolutely everything else

   KEY RULE: a notice bar (rung 3) must always sit BELOW the navbar (rung 4)
   and below the navbar's own drop-down menus (rung 5). A bar must never
   cover a menu.

   Bootstrap's own defaults (navbar 1030, modal 1055/1060, toast 1090) are
   respected where BA2 already agrees with them; where BA2 needs to override
   Bootstrap, it does so only from this file.

   NOBODY ELSE WRITES A RAW z-index NUMBER. Every other file must write
   z-index: var(--ba2-z-xxxx) using one of the names below (or z-index: 0,
   z-index: auto, or z-index: -1, which are "sit flat" / "sit behind", not
   ladder positions — those three are still allowed anywhere).

   This file must be loaded on every page, before every other stylesheet, so
   that its variables are available and nothing after it needs to guess.
   ============================================================================ */

:root {
    --ba2-z-base: 1;
    --ba2-z-sticky-header: 100;
    --ba2-z-notice: 900;
    --ba2-z-navbar: 1030;
    --ba2-z-navbar-menu: 1040;
    --ba2-z-backdrop: 1050;
    --ba2-z-modal: 1060;
    --ba2-z-toast: 1080;
    --ba2-z-overlay: 1090;
}
