/* Diabecare40 login; native Keycloak forms and authentication scripts are inherited. */
:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #162333; background: #edf2f6; }
html, body { margin: 0; min-height: 100%; }
.login-pf body { background: #edf2f6; color: #162333; font-family: inherit; }
.diabecare-topbar { min-height: 72px; box-sizing: border-box; display: flex; align-items: center; gap: clamp(1rem, 5vw, 4rem); padding: .8rem clamp(1rem, 4vw, 3.5rem); background: #fff; border-bottom: 1px solid #d9e1e8; }
.diabecare-brand { display: flex; align-items: center; gap: .7rem; flex-shrink: 0; font-size: .85rem; letter-spacing: .13em; }
.diabecare-mark { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: .65rem; background: #0b5cad; color: white; font-weight: 700; letter-spacing: normal; }
.diabecare-institution { font-size: .72rem; line-height: 1.3; }
.pf-v5-c-login { min-height: calc(100dvh - 73px); padding: 2.5rem 1rem; background: transparent; }
.pf-v5-c-login__container { display: block; width: min(100%, 28rem); padding: 0; margin: auto; }
#kc-header { display: none; }
.pf-v5-c-login__main { width: 100%; margin: 0; box-sizing: border-box; overflow: hidden; background: #fff; border: 1px solid #d9e1e8; border-radius: 1rem; box-shadow: 0 12px 32px rgb(19 37 56 / 8%); }
div.pf-v5-c-login__main-header { display: block; border-top: none; padding: 2.5rem 2rem 1.2rem; text-align: center; }
.diabecare-card-brand { color: #0b5cad; font-size: .85rem; font-weight: 700; margin-bottom: 1.2rem; }
#kc-page-title { font-family: inherit; font-size: 1.5rem; font-weight: 700; line-height: 1.3; color: #162333; }
.pf-v5-c-login__main-body { padding: 0 2rem; }
.pf-v5-c-form { gap: 1.2rem; }
.pf-v5-c-form__label { font-size: .85rem; color: #162333; }
.pf-v5-c-form-control { border: 1px solid #aebfd0; border-radius: .4rem; background: #fff; min-height: 44px; }
.pf-v5-c-form-control::after { border: none; }
.pf-v5-c-form-control input { min-height: 42px; border: 0; outline: none; box-shadow: none; background: transparent; color: #162333; font-family: inherit; }
.pf-v5-c-form-control:focus-within { outline: 2px solid #0b5cad; outline-offset: 2px; }
.pf-v5-c-input-group { align-items: stretch; }
.pf-v5-c-button.pf-m-control { border: 1px solid #aebfd0; border-radius: .4rem; color: #162333; background: #f4f7fa; }
.pf-v5-c-button.pf-m-primary { background: #0b5cad; color: #fff; border-radius: .5rem; min-height: 44px; font-weight: 700; }
.pf-v5-c-button.pf-m-primary:hover { background: #08467f; }
.pf-v5-c-login__main-footer { padding: .5rem 2rem; }
.pf-v5-c-login__main-footer:empty { display: none; }
.diabecare-project-footer { padding: .25rem 0 1.4rem; color: #34465a; font-size: .7rem; font-weight: 600; line-height: 1.5; text-align: center; }
.diabecare-project-footer p { margin: .6rem 0; }
@media (max-width: 600px) {
 .diabecare-topbar { gap: .8rem; flex-wrap: wrap; }
 .diabecare-institution { font-size: .65rem; }
 .pf-v5-c-login { padding: 1.5rem 1rem; }
 div.pf-v5-c-login__main-header { padding: 2rem 1.25rem 1.2rem; }
 .pf-v5-c-login__main-body, .pf-v5-c-login__main-footer { padding-left: 1.25rem; padding-right: 1.25rem; }
 #kc-page-title { font-size: 1.3rem; }
}
