/* Scoped additions: the existing clinic, booking and queue styles are unchanged. */
.oauth-page { font-size: 1rem; }
.oauth-page .nav { padding-block: 16px; }
.oauth-brand { display: block; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
.oauth-page nav { display: flex; gap: 10px 20px; }
.oauth-page nav a { font-size: .9375rem; }
.oauth-page nav a[aria-current="page"] { color: var(--primary); text-decoration: underline; text-underline-offset: 5px; }
.oauth-page a:focus-visible, .kmc-about a:focus-visible, .kmc-footer-links a:focus-visible { outline: 3px solid #0b6b5d; outline-offset: 5px; }
.oauth-page .skip-link { position: absolute; left: 16px; top: -100px; z-index: 20; padding: 12px; background: #fff; }
.oauth-page .skip-link:focus { top: 12px; }
.oauth-main { max-width: 820px; padding-block: 48px 64px; }
.oauth-main h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; margin: 12px 0 18px; }
.oauth-main h2 { font-size: 1.5rem; line-height: 1.3; margin: 32px 0 12px; }
.oauth-main h3 { font-size: 1.125rem; margin: 24px 0 8px; }
.oauth-main p, .oauth-main li { max-width: 72ch; }
.oauth-main p, .oauth-main li, .oauth-main .card p { color: #354f48; }
.oauth-main li + li { margin-top: 10px; }
.oauth-main a:not(.btn), .kmc-about p a { text-underline-offset: 3px; overflow-wrap: anywhere; }
.oauth-main .tag { font-size: .875rem; }
.oauth-main .lede { font-size: 1.125rem; }
.oauth-main .updated { font-size: .875rem; color: #4d625c; }
.oauth-main code { font-size: .9375rem; overflow-wrap: anywhere; }
.oauth-notice { border-left: 4px solid var(--primary); padding: 4px 20px; margin-block: 24px; background: var(--soft); }
.oauth-steps { padding-left: 24px; }
.oauth-page footer .wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.kmc-footer-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 12px; }
.oauth-page .kmc-footer-links { margin-top: 0; }
.kmc-footer-links a { font-size: .9375rem; text-underline-offset: 4px; }
.kmc-about { padding-block: 48px; }
.kmc-about h2 { font-size: 2rem; }
.kmc-about p { max-width: 72ch; }
@media (max-width: 800px) {
  .oauth-page header { position: static; }
  .oauth-page .nav { align-items: flex-start; flex-direction: column; gap: 12px; }
  .oauth-main { padding-top: 32px; }
}
@media print {
  .oauth-page header, .oauth-page footer, .oauth-page .skip-link { display: none; }
  .oauth-page { background: #fff; color: #000; }
  .oauth-main { width: 100%; max-width: none; padding: 0; }
  .oauth-main h2, .oauth-main h3 { break-after: avoid; }
  .oauth-main p, .oauth-main li { color: #000; }
}
