/* localhost identity pages: same monochrome system as the site and dashboard. */
@font-face{font-family:Geist;src:url(../fonts/Geist-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url(../fonts/Geist-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Geist;src:url(../fonts/Geist-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --lh-bg:#fafafa;--lh-surface:#fff;--lh-subtle:#f4f4f5;--lh-line:#e4e4e7;--lh-line-strong:#d4d4d8;
  --lh-text:#09090b;--lh-muted:#52525b;--lh-faint:#71717a;--lh-accent:#09090b;--lh-accent-text:#fff;
  --lh-err:#b91c1c;--lh-err-bg:#fef2f2;--lh-focus:#2563eb;
  --pf-v5-global--FontFamily--text:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;
  --pf-v5-global--FontFamily--heading:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;
  --pf-v5-global--primary-color--100:var(--lh-accent);
  --pf-v5-global--primary-color--200:var(--lh-accent);
  --pf-v5-global--link--Color:var(--lh-text);
  --pf-v5-global--link--Color--hover:var(--lh-text);
  --keycloak-card-top-color:transparent;
}
:root.pf-v5-theme-dark{
  --lh-bg:#09090b;--lh-surface:#111113;--lh-subtle:#18181b;--lh-line:#27272a;--lh-line-strong:#3f3f46;
  --lh-text:#fafafa;--lh-muted:#a1a1aa;--lh-faint:#8b8b94;--lh-accent:#fafafa;--lh-accent-text:#09090b;
  --lh-err:#f87171;--lh-err-bg:#2a0d0d;
}

html,body,.login-pf body{background:var(--lh-bg)!important;background-image:none!important;color:var(--lh-text);font-family:Geist,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.pf-v5-c-login{background:var(--lh-bg)!important;min-height:100vh;--pf-v5-c-login--PaddingTop:0}
.pf-v5-c-login::before,.pf-v5-c-background-image{display:none!important}
.pf-v5-c-login__container{grid-template-columns:min(400px,calc(100vw - 32px))!important;padding-top:6vh;justify-content:center}

/* brand header: mark + lowercase wordmark */
.pf-v5-c-login__header{margin-bottom:24px;display:flex;justify-content:center}
#kc-header-wrapper{display:inline-flex!important;align-items:center;gap:10px;font:600 20px/1 Geist,sans-serif!important;letter-spacing:-.03em!important;text-transform:lowercase!important;color:var(--lh-text)!important;padding:0!important}
#kc-header-wrapper::before{content:"";width:26px;height:26px;border-radius:7px;flex:none;background:var(--lh-text) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 7.5 10.5 11 7 14.5M12 15h4' stroke='%23ffffff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
:root.pf-v5-theme-dark #kc-header-wrapper::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 7.5 10.5 11 7 14.5M12 15h4' stroke='%2309090b' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
div.kc-logo-text{background:none!important;width:auto!important;height:auto!important}
div.kc-logo-text span{display:inline!important}

/* card */
.pf-v5-c-login__main{background:var(--lh-surface)!important;border:1px solid var(--lh-line);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -12px rgba(0,0,0,.08)!important;overflow:hidden}
.pf-v5-c-login__main-header{border-top:0!important;padding:28px 28px 4px!important;display:block!important}
.pf-v5-c-login__main-header .pf-v5-c-title,#kc-page-title{font:600 22px/1.25 Geist,sans-serif!important;letter-spacing:-.025em;color:var(--lh-text)!important}
.pf-v5-c-login__main-body{padding:16px 28px 8px!important}
.pf-v5-c-login__main-footer{padding:0 0 24px!important}
.pf-v5-c-login__main-footer-band{border-top:1px solid var(--lh-line)!important;background:var(--lh-subtle);margin:16px 0 -24px!important;padding:14px 28px!important;color:var(--lh-muted);font-size:14px}

/* form controls */
.pf-v5-c-form__label-text,.pf-v5-c-form__label{font-size:13px!important;font-weight:500!important;color:var(--lh-text)!important}
.pf-v5-c-form-control{--pf-v5-c-form-control--before--BorderColor:transparent;--pf-v5-c-form-control--after--BorderColor:transparent;border:1px solid var(--lh-line)!important;border-radius:6px!important;background:var(--lh-surface)!important;min-height:38px}
.pf-v5-c-form-control::before,.pf-v5-c-form-control::after{border:0!important}
.pf-v5-c-form-control:focus-within{outline:2px solid var(--lh-focus);outline-offset:-1px}
.pf-v5-c-form-control>input,.pf-v5-c-form-control input{color:var(--lh-text)!important;font-family:inherit!important;font-size:14px!important}
.pf-v5-c-input-group .pf-v5-c-button.pf-m-control{border:1px solid var(--lh-line)!important;border-left:0!important;border-radius:0 6px 6px 0!important;background:var(--lh-surface)!important;color:var(--lh-muted)!important}
.pf-v5-c-input-group .pf-v5-c-button.pf-m-control::after{border:0!important}
.pf-v5-c-input-group__item:has(.pf-v5-c-form-control) .pf-v5-c-form-control{border-radius:6px 0 0 6px!important}
.pf-v5-c-check__label{color:var(--lh-muted)!important;font-size:14px}
.pf-v5-c-check__input{accent-color:var(--lh-accent)}

/* buttons */
.pf-v5-c-button{font-family:inherit!important;font-weight:500!important;border-radius:6px!important;font-size:14px!important}
.pf-v5-c-button.pf-m-primary{background:var(--lh-accent)!important;color:var(--lh-accent-text)!important;min-height:40px;border:0!important}
.pf-v5-c-button.pf-m-primary:hover{opacity:.86}
.pf-v5-c-button.pf-m-primary::after{border:0!important}
.pf-v5-c-button.pf-m-secondary,.pf-v5-c-button.pf-m-tertiary{background:var(--lh-surface)!important;color:var(--lh-text)!important;border:1px solid var(--lh-line)!important}
.pf-v5-c-button.pf-m-secondary::after,.pf-v5-c-button.pf-m-tertiary::after{border:0!important}
.pf-v5-c-button.pf-m-link,.pf-v5-c-login__main a,#kc-registration a,#kc-info a{color:var(--lh-text)!important;text-decoration:underline;text-decoration-color:var(--lh-line-strong);text-underline-offset:3px}
.pf-v5-c-button:focus-visible{outline:2px solid var(--lh-focus);outline-offset:2px}

/* social sign-in */
#kc-social-providers h2,#kc-social-providers .kc-social-section{color:var(--lh-faint)!important;font-size:13px!important;font-weight:400!important}
#kc-social-providers ul{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:0!important;margin:0!important}
#kc-social-providers li{width:100%!important;margin:0!important}
#kc-social-providers ul.pf-v5-c-login__main-body{padding:4px 0 8px!important}
#kc-social-providers,#kc-social-providers .pf-v5-c-login__main-footer-links,.pf-v5-c-login__main-footer-links{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
#kc-social-providers a{width:100%!important}
#kc-social-providers a.pf-v5-c-button,#kc-social-providers .pf-v5-c-button{background:var(--lh-surface)!important;color:var(--lh-text)!important;border:1px solid var(--lh-line)!important;min-height:40px;text-decoration:none!important;justify-content:center}
#kc-social-providers a.pf-v5-c-button:hover{background:var(--lh-subtle)!important}
#kc-social-providers a.pf-v5-c-button::after{border:0!important}
.pf-v5-c-login__main-footer-links,.kc-social-links{gap:8px}
.pf-v5-c-divider::after{background-color:var(--lh-line)!important}

/* alerts and validation */
.pf-v5-c-alert{border-radius:8px!important;box-shadow:none!important;border:1px solid var(--lh-line);background:var(--lh-subtle)!important;font-size:14px}
.pf-v5-c-alert.pf-m-danger,.pf-v5-c-alert.pf-m-error{background:var(--lh-err-bg)!important;border-color:transparent;color:var(--lh-err)}
.pf-v5-c-alert__title{color:inherit!important;font-weight:500!important}
.pf-v5-c-helper-text__item.pf-m-error,.pf-m-err,.kc-feedback-text{color:var(--lh-err)!important}

/* language picker and secondary text */
.pf-v5-c-login__main-header-utilities .pf-v5-c-menu-toggle{border-radius:6px}
.pf-v5-c-login__footer,.pf-v5-c-login__footer a{color:var(--lh-faint)!important}

@media (max-width:480px){
  .pf-v5-c-login__container{padding-top:24px}
  .pf-v5-c-login__main-header,.pf-v5-c-login__main-body{padding-left:20px!important;padding-right:20px!important}
  .pf-v5-c-login__main-footer-band{padding:14px 20px!important}
}
