html {
  font-size: 14px;
}

/* The page ground comes from the brand token, not a second copy of its hex. This file and
   app.scss both painted #f8f4f1 independently, which is how .pc-hero ended up filled with
   var(--pc-cream) on a body of the identical colour — invisible in light mode, and only ever
   caught because the dark theme repaints the hero and looked fine.

   --pc-cream is declared in app.scss's :root. Custom properties resolve from the whole cascade
   at computed-value time, so app.css loading after this file is irrelevant; _FrontendAssets
   emits it as a blocking <link> in both the Vite-dev and production branches anyway. The
   fallback is load-bearing, not decoration: on a fresh clone wwwroot/dist does not exist until
   npm run build has run once, and without it a 404 on app.css would leave the body with no
   background at all. */
body {
  background-color: var(--pc-cream, #f8f4f1);
  font-family: 'Manrope', Arial, Helvetica, sans-serif;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

/* ── Layout ─────────────────────────────────────────────────── */

.container {
  max-width: 1140px;
  width: 100%;
  padding-right: 16px;
  padding-left: 16px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh !important; /* Quasar app.css (loaded after) overrides this to 100% */
}

body > .container {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  margin-top: 1rem;
}

body > .container > main {
  flex: 1 0 auto;
  padding-bottom: 1rem;
}

main.login-centered {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch !important;
}

/* ── jQuery validation ───────────────────────────────────────── */

.validation-summary-valid { display: none; }

.input-validation-error {
  border-color: #b4493e !important;
}

span.field-validation-error {
  color: #b4493e;
  font-size: 0.8rem;
  display: block;
  margin-top: 2px;
}

.validation-summary-errors ul {
  padding-left: 1.2rem;
  margin: 0;
}
