/* Match apps/brand/finlyft.css; retain Keycloak's native forms and validation. */
@font-face { font-family:Poppins; src:url('../fonts/Poppins-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Poppins; src:url('../fonts/Poppins-Medium.ttf') format('truetype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Poppins; src:url('../fonts/Poppins-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:Poppins; src:url('../fonts/Poppins-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
:root {
  --font-poppins:"Poppins";
  --pf-v5-global--FontFamily--text:"Poppins",Arial,sans-serif;
  --pf-v5-global--FontFamily--heading:"Axiforma","Poppins",Arial,sans-serif;
  --pf-v5-global--primary-color--100:var(--brand-ocean);
  --pf-v5-global--primary-color--200:var(--brand-ocean-90);
  --pf-v5-global--link--Color:var(--brand-ocean);
  --pf-v5-global--link--Color--hover:var(--brand-ocean);
  --pf-v5-global--Color--100:var(--brand-black);
  --pf-v5-global--Color--200:var(--brand-ocean-70);
}
html.login-pf { min-height:100%; background:var(--brand-ocean); }
.login-pf body {
  min-height:100vh; min-height:100dvh; height:auto;
  background:var(--brand-ocean); color:var(--brand-black);
  font-family:"Poppins",Arial,sans-serif; font-size:14px;
}
.login-pf body::before {
  content:""; position:fixed; inset:0; pointer-events:none;
  background:linear-gradient(135deg,transparent 72%,#009dff20 72%,#009dff20 86%,var(--brand-sky) 86%);
}
.pf-v5-c-login { position:relative; display:flex; align-items:center; justify-content:center; min-height:100vh; min-height:100dvh; padding:40px 24px; }
.pf-v5-c-login__container { display:flex; flex-direction:column; width:480px; max-width:100%; margin-inline:auto; padding:0; gap:24px; }
#kc-header { margin:0; }
#kc-header-wrapper {
  width:156px; height:56px; padding:0; margin:0 auto;
  background:url('../img/finlyft-light.svg') center / contain no-repeat;
  font-size:0; letter-spacing:0;
}
.pf-v5-c-login__main { width:100%; min-width:100%; align-self:stretch; border:0; border-radius:16px; background:white; box-shadow:0 24px 80px #00000026; overflow:hidden; }
.pf-v5-c-login__main-header { border:0; padding:36px 36px 20px; }
#kc-page-title { color:var(--brand-ocean); font-size:28px; line-height:1.35; font-weight:600; letter-spacing:-.02em; }
.pf-v5-c-login__main-body { padding:0 36px 36px; }
.pf-v5-c-form { gap:22px; }
.pf-v5-c-form__label { color:var(--brand-ocean); font-size:13px; font-weight:500; }
.pf-v5-c-form__label-text { font-weight:500; }
.pf-v5-c-form-control { min-width:0; min-height:48px; border:1px solid var(--field-border); border-radius:var(--field-radius); background:var(--field-surface); }
.pf-v5-c-form-control::before,.pf-v5-c-form-control::after { border:0; }
.pf-v5-c-form-control > :is(input,select,textarea) { box-sizing:border-box; width:100%; min-width:0; min-height:46px; margin:0; border:0; border-radius:inherit; padding:11px 14px; background:transparent; color:var(--brand-ocean); font-family:inherit; font-size:16px; font-weight:400; line-height:24px; box-shadow:none; outline:none; }
.pf-v5-c-form-control:hover { border-color:var(--field-hover-border); }
.pf-v5-c-form-control:focus-within { border-color:var(--field-focus); outline:none; box-shadow:0 0 0 3px var(--field-ring); }
.pf-v5-c-form-control > input:focus { border:0; outline:none; box-shadow:none; }
.pf-v5-c-form-control.pf-m-error { border-color:var(--field-error); }
.pf-v5-c-form-control.pf-m-error:focus-within { box-shadow:0 0 0 3px color-mix(in srgb,var(--field-error) 18%,transparent); }
.pf-v5-c-form-control > input:autofill { -webkit-text-fill-color:var(--brand-ocean); box-shadow:0 0 0 1000px var(--field-surface) inset; }
.pf-v5-c-input-group { gap:0; }
.pf-v5-c-input-group:has(.pf-v5-c-form-control) { display:flex; align-items:stretch; min-width:0; border:1px solid var(--field-border); border-radius:var(--field-radius); background:var(--field-surface); }
.pf-v5-c-input-group:has(.pf-v5-c-form-control):hover { border-color:var(--field-hover-border); }
.pf-v5-c-input-group:has(.pf-v5-c-form-control):focus-within { border-color:var(--field-focus); box-shadow:0 0 0 3px var(--field-ring); }
.pf-v5-c-input-group:has(.pf-m-error) { border-color:var(--field-error); }
.pf-v5-c-input-group:has(.pf-m-error):focus-within { box-shadow:0 0 0 3px color-mix(in srgb,var(--field-error) 18%,transparent); }
.pf-v5-c-input-group > .pf-v5-c-input-group__item { min-width:0; }
.pf-v5-c-input-group > .pf-v5-c-input-group__item.pf-m-fill { flex:1; }
.pf-v5-c-input-group .pf-v5-c-form-control { min-height:46px; border:0; border-radius:var(--field-radius) 0 0 var(--field-radius); box-shadow:none; }
.pf-v5-c-input-group .pf-v5-c-form-control > input { min-height:46px; }
.pf-v5-c-input-group .pf-v5-c-button.pf-m-control { display:grid; place-items:center; width:46px; min-width:46px; min-height:46px; padding:0; border:0; border-radius:0 var(--field-radius) var(--field-radius) 0; color:var(--brand-ocean-70); background:transparent; box-shadow:none; }
.pf-v5-c-input-group .pf-v5-c-button.pf-m-control:hover { color:var(--brand-ocean); background:var(--brand-sky-10); }
.pf-v5-c-input-group .pf-v5-c-button.pf-m-control:focus-visible { outline:2px solid var(--field-focus); outline-offset:-5px; }
.pf-v5-c-button { font-family:inherit; border-radius:8px; font-size:14px; }
.pf-v5-c-button::after { border:0; }
.pf-v5-c-button.pf-m-primary { min-height:48px; padding:12px 20px; background:var(--brand-sky); color:var(--brand-ocean); font-weight:600; border:1px solid var(--brand-sky); }
.pf-v5-c-button.pf-m-primary:hover { background:var(--brand-ocean); border-color:var(--brand-ocean); color:white; }
.pf-v5-c-button.pf-m-secondary { min-height:44px; border:1px solid var(--brand-ocean-20); background:white; color:var(--brand-ocean); }
.pf-v5-c-button:disabled { opacity:.55; cursor:not-allowed; }
a { color:var(--brand-ocean); text-underline-offset:4px; }
a:hover { color:var(--brand-ocean); text-decoration:underline; }
.pf-v5-c-login__main-footer-band { padding-inline:0; background:transparent; }
.pf-v5-c-alert { border-radius:8px; font-size:13px; }
.finlyft-onboarding { padding:24px 36px 32px; border-top:1px solid var(--line); background:var(--surface-subtle); }
.finlyft-onboarding h2 { margin:0 0 8px; color:var(--brand-ocean); font-size:16px; font-weight:600; }
.finlyft-onboarding p { margin:0 0 16px; color:var(--muted); font-size:13px; line-height:1.65; }
.finlyft-onboarding-link { display:flex; justify-content:center; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--brand-ocean-20); border-radius:8px; color:var(--brand-ocean); background:white; font-weight:500; text-decoration:none; }
.finlyft-onboarding-link:hover { border-color:var(--brand-ocean); background:var(--brand-sky-10); text-decoration:none; }
:focus-visible { outline:2px solid var(--brand-sky); outline-offset:3px; }
@media(max-width:520px) {
  .pf-v5-c-login { padding:28px 16px; }
  .pf-v5-c-login__container { gap:20px; }
  #kc-header-wrapper { width:136px; height:48px; }
  .pf-v5-c-login__main-header { padding:28px 24px 20px; }
  .pf-v5-c-login__main-body { padding:0 24px 28px; }
  .finlyft-onboarding { padding:22px 24px 26px; }
  #kc-page-title { font-size:24px; }
}
