/* Sign-in only: loaded last by auth/login.html. Other auth pages are unaffected. */
body:has(.dc-signin-main) { background: #eef3f9; color: #18212f; }
body:has(.dc-signin-main) .site-header {
    position: relative; top: auto; z-index: auto; min-height: 0;
    padding: 3rem max(2rem, calc((100vw - 1260px) / 2));
    padding-bottom: 0; background: #0a2d6f; border: 0; box-shadow: none;
}
body:has(.dc-signin-main) .brand__logo {
    width: 26rem; max-width: 100%; max-height: none; height: auto; filter: none;
}
body:has(.dc-signin-main) .brand__link { max-width: 100%; }
body:has(.dc-signin-main) .header-actions { display: none; }
body:has(.dc-signin-main) .brand__link:focus-visible { outline: 3px solid #fff; outline-offset: 6px; }
.dc-signin-tagline { background: #0a2d6f; color: #fff; padding: 0.25rem max(2rem, calc((100vw - 1260px) / 2)) 7.5rem; }
.dc-signin-tagline p { margin: 0; font-size: clamp(1rem, 1.8vw, 1.6rem); line-height: 1.5; }
main.page-main.dc-signin-main { position: relative; width: min(1260px, calc(100% - 4rem)); margin: -1.3rem auto 4rem; padding: 0; }
.dc-signin { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr); gap: clamp(2rem, 6vw, 6rem); padding: clamp(2rem, 4.5vw, 4rem); background: #fff; border-radius: 1.4rem; }
.dc-signin__intro h1 { color: #0a2d6f; font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.1; margin: 0 0 2rem; font-weight: 700; }
.dc-signin__intro p { font-size: clamp(1.125rem, 2vw, 1.7rem); line-height: 1.45; margin: 0; max-width: 22ch; }
.dc-signin__form { min-width: 0; display: flex; flex-direction: column; gap: 1.65rem; margin: 0; }
.dc-signin__field label { display: block; margin: 0 0 .6rem; color: #0a2d6f; font-size: clamp(1.125rem, 1.9vw, 1.65rem); font-weight: 700; line-height: 1.35; }
.dc-signin__field input { display: block; width: 100%; min-width: 0; min-height: 4.2rem; padding: .8rem 1rem; margin: 0; border: 2px solid #0a2d6f; border-radius: 1rem; background: #fff; color: #18212f; font: inherit; font-size: 1.125rem; box-shadow: none; }
.dc-signin__recovery { align-self: flex-start; display: inline-flex; align-items: center; min-height: 44px; color: #12449e; font-size: clamp(1.125rem, 1.8vw, 1.5rem); text-decoration: underline; text-underline-offset: .18em; }
.dc-signin__recovery:hover { color: #061f4b; }
.dc-signin__submit { width: 100%; min-height: 4.5rem; margin: .8rem 0 0; padding: .8rem 1.25rem; border: 2px solid #0a2d6f; border-radius: 1rem; color: #fff; background: #0a2d6f; box-shadow: none; font: inherit; font-size: clamp(1.2rem, 2vw, 1.8rem); font-weight: 700; cursor: pointer; }
.dc-signin__submit:hover { color: #fff; background: #061f4b; border-color: #061f4b; }
.dc-signin :is(input, a, button):focus-visible { outline: 3px solid #12449e; outline-offset: 4px; box-shadow: 0 0 0 2px #fff; }
.dc-signin-main .flash-container { margin: 0 0 1rem; }
.dc-signin-main .flash { background: #fff; }
@media (max-width: 760px) {
    body:has(.dc-signin-main) .site-header { padding: 2rem 1.25rem 0; }
    body:has(.dc-signin-main) .brand__logo { width: min(100%, 21rem); }
    .dc-signin-tagline { padding: .5rem 1.25rem 3rem; }
    main.page-main.dc-signin-main { width: calc(100% - 2rem); margin-top: -1rem; }
    .dc-signin { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding: 2rem 1.25rem; border-radius: 1rem; }
    .dc-signin__intro h1 { font-size: 2.5rem; margin-bottom: .8rem; }
    .dc-signin__intro p { font-size: 1.125rem; max-width: none; }
    .dc-signin__form { gap: 1.25rem; }
    .dc-signin__field label { font-size: 1.125rem; }
    .dc-signin__field input { min-height: 3.4rem; border-radius: .65rem; }
    .dc-signin__submit { min-height: 3.5rem; font-size: 1.25rem; border-radius: .65rem; }
    .dc-signin__recovery { font-size: 1.125rem; }
}
@media (forced-colors: active) { .dc-signin__submit { border-color: ButtonText; } }
