/* The account pages' brand (app/_account/brand.ts holds the same tokens for the
   inline styles; keep the two in step). Linked from app/layout.tsx and the OIDC
   problem page. Everything that styles is scoped to .ent-account, so the admin
   console (which shares the root layout) keeps its own plain look; the
   @font-face rules below do nothing until a page names the families.

   The faces are entrilla.com's (app/fonts.css there, generated by its
   scripts/brand.mjs): self-hosted latin subsets, SIL OFL, font-display swap,
   each with a metric-matched local fallback so nothing jumps when they arrive. */

@font-face {
  font-family: "Source Serif 4";
  src: url("/fonts/source-serif-4-600.173e43ebf7.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/fonts/ibm-plex-sans-400.3b646991d3.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/fonts/ibm-plex-sans-500.0717336fb3.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/fonts/ibm-plex-sans-600.8960851d69.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-400.08949f728d.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-500.01d2854474.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4 Fallback";
  src: local("Georgia Bold"), local("Georgia-Bold"), local("Georgia");
  size-adjust: 84.08%;
  ascent-override: 123.21%;
  descent-override: 39.84%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "IBM Plex Sans Fallback";
  src: local("Arial"), local("ArialMT");
  size-adjust: 101.81%;
  ascent-override: 100.67%;
  descent-override: 27.01%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "IBM Plex Mono Fallback";
  src: local("Courier New"), local("CourierNewPSMT");
  size-adjust: 99.98%;
  ascent-override: 102.52%;
  descent-override: 27.50%;
  line-gap-override: 0%;
}

/* The root layout's body margin is the console's; the account pages set their own gutters. */
body:has(.ent-account) {
  background: #f7f7f4;
  margin: 0 !important;
}
.ent-account {
  font-family: "IBM Plex Sans", "IBM Plex Sans Fallback", "Segoe UI", -apple-system, Arial, sans-serif;
  color: #16213c;
  -webkit-font-smoothing: antialiased;
}
.ent-account a {
  color: #1f5e4e;
  text-underline-offset: 2px;
}
.ent-account a:hover {
  color: #174a3d;
}
/* Eucalypt focus ring on everything that takes focus (3:1 or better against paper and white). */
.ent-account :focus-visible {
  outline: 3px solid #1f5e4e;
  outline-offset: 2px;
}
.ent-account input:focus-visible,
.ent-account select:focus-visible,
.ent-account textarea:focus-visible {
  outline-offset: 0;
  border-color: #1f5e4e;
}
.ent-account button:disabled {
  cursor: default;
  opacity: 0.85;
}
/* The sign-up rail (funnel build W5): on a phone it sits below the form folded
   to its heading, so the screen above the fold stays short (45 words at most);
   from tablet width it is the open right-hand column, as before. */
.ent-account .ent-rail-phone {
  display: none;
}
@media (max-width: 767px) {
  .ent-account .ent-rail-phone {
    display: block;
  }
  .ent-account .ent-rail-wide {
    display: none;
  }
}
.ent-account .ent-rail-phone summary {
  cursor: pointer;
  padding: 8px 0;
}
/* The plan picker's badges (W12): under the plan name on a phone, beside it from tablet width. */
@media (max-width: 767px) {
  .ent-account .ent-plan-badge {
    display: block !important;
    margin-left: 0 !important;
  }
}
