/* =============================================================================
   PRODO PORTAL — DESIGN SYSTEM ENTRY POINT
   portal.css
   =============================================================================

   CSS CONVENTIONS
   ─────────────────────────────────────────────────────────────────────────────
   Naming:         BEM — .block__element--modifier
   Scoping:        Component styles live in <ComponentName>.razor.css (Blazor
                   scoped CSS). Global / cross-component styles live in the
                   partial files below. Token-only *.razor.css files may import
                   from here via var(--token-name) — never hard-code values.
   Tokens:         All values are CSS custom properties defined in _tokens.css.
                   No raw hex colours, px sizes, or magic numbers in rules.
   Theming:        :root → light mode defaults.
                   [data-theme="dark"] → explicit dark mode overrides.
                   portalBridge.applyTenantTheme() (portalBridge.js) overrides
                   --color-primary and --color-secondary at runtime from the
                   Orchestrator /api/config response.
   Units:          rem for typography and spacing (scales with user font prefs),
                   px only for borders and box-shadows.
   Motion:         Use --transition-* tokens. Any animation that moves elements
                   appreciably must have a
                   @media (prefers-reduced-motion: reduce) override.
   Z-index:        Use --z-* ladder tokens exclusively. No arbitrary values.
   Blazor ::deep:  Add ::deep to pierce child-component scope boundaries in
                   *.razor.css files. Required whenever a parent component
                   styles an element rendered by a child (e.g. NavLink's <a>).
                   See NavMenu.razor.css for a worked example.

   FILE STRUCTURE
   ─────────────────────────────────────────────────────────────────────────────
   css/portal.css         This file — @imports only. The entry point loaded in
                          index.html.
   css/_tokens.css        All CSS custom properties: tenant tokens, colour
                          tokens (light + dark), semantic colours, scale
                          (spacing, type, radius, shadow, motion, z-index),
                          and sidebar dimension/colour tokens.
   css/_base.css          Element-level styles: reset, body, headings, links,
                          focus ring, lists, code, forms, buttons, tables,
                          skip link. All values reference tokens.
   css/_shell.css         Blazor infrastructure UI: loading progress spinner
                          and error boundary styles.
   css/_utilities.css     Cross-component utility classes: .data-table,
                          .text-error, .page-content container query.
   *.razor.css            Component-scoped styles compiled by the Blazor build
                          and bundled into PPS.Portal.styles.css.
                          Notable examples:
                            PortalButton.razor.css  — .btn variants and sizes
                            MainLayout.razor.css    — shell/sidebar/topbar layout
                            NavMenu.razor.css       — sidebar navigation
                            Toast.razor.css         — toast notification region
   ============================================================================= */

@import '_tokens.css';
@import '_base.css';
@import '_shell.css';
@import '_utilities.css';
