/* ---------------------------------------------------------------------------
   wwwroot/css/shared/global/02-base.css

   Loaded by _Layout.cshtml as part 2 of 17 for every page.
   Cascade order is the file order in that <link> list:
     previous: 01-tokens.css
     next:     03-app-header.css

   Split out of a single monolithic stylesheet. Do not reorder the <link>
   tags and do not move a rule between these files: both change the cascade.
--------------------------------------------------------------------------- */
/* ==========================================================================
   LAYER 2 - BASE
   The aggressive margin/padding reset previously lived in dashboard.css, so
   only report pages received it. It now lives in each report page stylesheet
   instead of leaking site-wide.
   ========================================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}
body {
    font-family: var(--font-sans), Arial, Helvetica;
    color: var(--c-text-primary);
    background: var( --c-bg );
    min-height: 100vh;
    /* Was an inline style attribute on <body> in _Layout.cshtml. Kept !important
       because it has to beat the vendor sheets (bootstrap reboot, Carbon). */
    line-height: normal !important;
}

body.session-loading {
    visibility: hidden;
}


/* ==========================================================================
   LAYER 3 - SITE BASE (from site.css)
   Verbatim, minus its duplicate :root blocks (now LAYER 1).
   ========================================================================== */
/* One root font size for the entire app, and the only place it is set.

   `100%` resolves to the reader's browser default - 16px unless they have
   changed it - so every `rem` in these stylesheets scales with that preference.
   That is the whole point of using rem: hard-coded px ignores the setting.

   Do NOT reintroduce a per-page root override. Report pages used to pin this to
   14px, which silently reduced every rem-sized rule (including the shared
   navigation) by 12.5% on those pages only, and forced the chrome onto a
   separate --chrome-root scale to compensate. */
html {
    -webkit-font-smoothing: antialiased;
    position: relative;
    min-height: 100%;
    font-size: 100%;
}