.kfe-form{--kfe-primary:#2563eb;--kfe-secondary:#0f172a;--kfe-accent:#14b8a6;--kfe-background:#fff;--kfe-surface:#f8fafc;--kfe-text:#0f172a;--kfe-muted:#64748b;--kfe-border:#cbd5e1;--kfe-radius:12px;--kfe-font:inherit;--kfe-button-text:#fff;--kfe-secondary-button-text:#0f172a;--kfe-link-text:#2563eb;color:var(--kfe-text);font-family:var(--kfe-font);background:var(--kfe-background);border:1px solid color-mix(in srgb,var(--kfe-border) 70%,transparent);border-radius:var(--kfe-radius);padding:clamp(18px,3vw,32px);box-shadow:0 14px 40px color-mix(in srgb,var(--kfe-secondary) 10%,transparent);max-width:760px}.kfe-step h3{margin-top:0}.kfe-field{margin:0 0 18px}.kfe-field label,.kfe-field legend{display:block;font-weight:600;margin-bottom:7px}.kfe-field input:not([type=checkbox]):not([type=radio]),.kfe-field textarea,.kfe-field select{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--kfe-border);border-radius:calc(var(--kfe-radius)*.7);background:var(--kfe-background);color:var(--kfe-text);font:inherit}.kfe-field textarea{min-height:120px;resize:vertical}.kfe-field input:focus,.kfe-field textarea:focus,.kfe-field select:focus{outline:3px solid color-mix(in srgb,var(--kfe-primary) 20%,transparent);border-color:var(--kfe-primary)}.kfe-check{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important}.kfe-check input{margin-top:3px}.kfe-error{color:#b91c1c;font-size:.9em;margin-top:5px}.kfe-nav{display:flex;gap:10px;justify-content:space-between;margin-top:24px}.kfe-btn{border:0;border-radius:var(--kfe-radius);background:var(--kfe-primary);color:var(--kfe-button-text);padding:11px 20px;font:inherit;font-weight:700;cursor:pointer}.kfe-btn--secondary{background:var(--kfe-surface);color:var(--kfe-text);border:1px solid var(--kfe-border)}.kfe-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--kfe-primary) 35%,transparent);outline-offset:2px}.kfe-form__status{margin-bottom:14px;font-weight:600}.kfe-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.kfe-step[hidden],.kfe-field[hidden]{display:none!important}@media(max-width:600px){.kfe-form{padding:18px;border-radius:calc(var(--kfe-radius)*.8)}.kfe-nav{position:sticky;bottom:0;background:var(--kfe-background);padding-top:10px}.kfe-btn{min-height:46px;flex:1}}

.kfe-verify{border-top:1px solid var(--kfe-border);padding-top:18px}.kfe-verify label{display:block;font-weight:600}.kfe-verify input{display:block;max-width:240px;width:100%;min-height:46px;margin-top:7px;padding:10px 12px;border:1px solid var(--kfe-border);border-radius:calc(var(--kfe-radius)*.7);font:inherit}.kfe-verify__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
/* 0.4 Alpha: restrained theme integration */
.kfe-form{box-shadow:0 8px 28px color-mix(in srgb,var(--kfe-secondary) 7%,transparent)}

/* 0.4.0-alpha.2: frontend style isolation / theme-builder override protection */
.kfe-form,
.kfe-form *{box-sizing:border-box}

body .kfe-form[data-kfe-form]{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  margin:0!important;
  color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:16px!important;
  line-height:1.5!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  background:var(--kfe-background)!important;
  border:1px solid color-mix(in srgb,var(--kfe-border) 70%,transparent)!important;
  border-radius:var(--kfe-radius)!important;
  padding:clamp(18px,3vw,32px)!important;
  box-shadow:0 8px 28px color-mix(in srgb,var(--kfe-secondary) 7%,transparent)!important;
  overflow:visible!important;
}
body .kfe-form[data-kfe-form] form{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-step{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-step[hidden],
body .kfe-form[data-kfe-form] .kfe-field[hidden]{display:none!important}
body .kfe-form[data-kfe-form] button[hidden],
body .kfe-form[data-kfe-form] [data-kfe-prev][hidden],
body .kfe-form[data-kfe-form] [data-kfe-next][hidden],
body .kfe-form[data-kfe-form] [data-kfe-submit][hidden]{display:none!important}
body .kfe-form[data-kfe-form] .kfe-step h3{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1.25rem!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  background:transparent!important;
  border:0!important;
}
body .kfe-form[data-kfe-form] .kfe-step__description{
  display:block!important;
  margin:0 0 18px!important;
  padding:0!important;
  color:var(--kfe-muted)!important;
  font-family:var(--kfe-font)!important;
  font-size:.95rem!important;
  line-height:1.5!important;
  background:transparent!important;
}
body .kfe-form[data-kfe-form] .kfe-field{
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-field fieldset{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-field label,
body .kfe-form[data-kfe-form] .kfe-field legend{
  float:none!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1rem!important;
  font-weight:600!important;
  line-height:1.4!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  background:transparent!important;
  border:0!important;
}
body .kfe-form[data-kfe-form] .kfe-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body .kfe-form[data-kfe-form] .kfe-field textarea,
body .kfe-form[data-kfe-form] .kfe-field select,
body .kfe-form[data-kfe-form] .kfe-verify input{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:46px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 12px!important;
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.4!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  background:var(--kfe-background)!important;
  background-image:none!important;
  border:1px solid var(--kfe-border)!important;
  border-radius:calc(var(--kfe-radius)*.7)!important;
  box-shadow:none!important;
  outline:none!important;
  filter:none!important;
  opacity:1!important;
}
body .kfe-form[data-kfe-form] .kfe-field textarea{min-height:120px!important;resize:vertical!important}
body .kfe-form[data-kfe-form] .kfe-field input::placeholder,
body .kfe-form[data-kfe-form] .kfe-field textarea::placeholder{
  color:var(--kfe-muted)!important;
  opacity:.78!important;
}
body .kfe-form[data-kfe-form] .kfe-field input:not([type="checkbox"]):not([type="radio"]):focus,
body .kfe-form[data-kfe-form] .kfe-field textarea:focus,
body .kfe-form[data-kfe-form] .kfe-field select:focus,
body .kfe-form[data-kfe-form] .kfe-verify input:focus{
  border-color:var(--kfe-primary)!important;
  outline:3px solid color-mix(in srgb,var(--kfe-primary) 20%,transparent)!important;
  outline-offset:0!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-check{
  display:flex!important;
  width:auto!important;
  gap:9px!important;
  align-items:flex-start!important;
  margin:5px 0!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1rem!important;
  font-weight:400!important;
  line-height:1.45!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body .kfe-form[data-kfe-form] input[type="checkbox"],
body .kfe-form[data-kfe-form] input[type="radio"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  accent-color:var(--kfe-primary)!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-field small{
  display:block!important;
  margin:6px 0 0!important;
  padding:0!important;
  color:var(--kfe-muted)!important;
  font-family:var(--kfe-font)!important;
  font-size:.875rem!important;
  font-weight:400!important;
  line-height:1.4!important;
}
body .kfe-form[data-kfe-form] .kfe-field a{
  color:var(--kfe-link-text)!important;
  -webkit-text-fill-color:var(--kfe-link-text)!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
body .kfe-form[data-kfe-form] .kfe-nav,
body .kfe-form[data-kfe-form] .kfe-verify__actions{
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  margin:24px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] button.kfe-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:46px!important;
  height:auto!important;
  margin:0!important;
  padding:11px 20px!important;
  color:var(--kfe-button-text)!important;
  -webkit-text-fill-color:var(--kfe-button-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-align:center!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  text-decoration:none!important;
  background:var(--kfe-primary)!important;
  background-image:none!important;
  border:1px solid var(--kfe-primary)!important;
  border-radius:var(--kfe-radius)!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  cursor:pointer!important;
}
body .kfe-form[data-kfe-form] button.kfe-btn--secondary{
  color:var(--kfe-secondary-button-text)!important;
  -webkit-text-fill-color:var(--kfe-secondary-button-text)!important;
  background:var(--kfe-surface)!important;
  border-color:var(--kfe-border)!important;
}
body .kfe-form[data-kfe-form] button.kfe-btn:hover,
body .kfe-form[data-kfe-form] button.kfe-btn:focus{
  transform:none!important;
  text-decoration:none!important;
  filter:brightness(.97)!important;
}
body .kfe-form[data-kfe-form] button.kfe-btn:disabled{opacity:.6!important;cursor:not-allowed!important}
body .kfe-form[data-kfe-form] .kfe-error{
  display:block!important;
  margin:5px 0 0!important;
  padding:0!important;
  color:#b91c1c!important;
  font-family:var(--kfe-font)!important;
  font-size:.9rem!important;
  line-height:1.35!important;
}
body .kfe-form[data-kfe-form] .kfe-form__status{
  display:block!important;
  margin:0 0 14px!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1rem!important;
  font-weight:600!important;
  line-height:1.45!important;
  background:transparent!important;
  border:0!important;
}
body .kfe-form[data-kfe-form] .kfe-verify{
  display:block!important;
  margin:18px 0 0!important;
  padding:18px 0 0!important;
  border:0!important;
  border-top:1px solid var(--kfe-border)!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-verify h3,
body .kfe-form[data-kfe-form] .kfe-verify p{
  color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
body .kfe-form[data-kfe-form] .kfe-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:600px){
  body .kfe-form[data-kfe-form]{padding:18px!important;border-radius:calc(var(--kfe-radius)*.8)!important}
  body .kfe-form[data-kfe-form] .kfe-nav{position:sticky!important;bottom:0!important;background:var(--kfe-background)!important;padding-top:10px!important;z-index:2!important}
  body .kfe-form[data-kfe-form] button.kfe-btn{flex:1 1 0!important}
}



/* 0.4.0-alpha.3: hard typography + navigation visibility + contrast guard */
body .kfe-form[data-kfe-form] .kfe-step h1,
body .kfe-form[data-kfe-form] .kfe-step h2,
body .kfe-form[data-kfe-form] .kfe-step h3,
body .kfe-form[data-kfe-form] .kfe-step h4,
body .kfe-form[data-kfe-form] .kfe-step h5,
body .kfe-form[data-kfe-form] .kfe-step h6,
body .kfe-form[data-kfe-form] .kfe-step p:not(.kfe-step__description),
body .kfe-form[data-kfe-form] .kfe-field label,
body .kfe-form[data-kfe-form] .kfe-field legend,
body .kfe-form[data-kfe-form] .kfe-check span,
body .kfe-form[data-kfe-form] .kfe-form__status,
body .kfe-form[data-kfe-form] .kfe-verify h1,
body .kfe-form[data-kfe-form] .kfe-verify h2,
body .kfe-form[data-kfe-form] .kfe-verify h3,
body .kfe-form[data-kfe-form] .kfe-verify p,
body .kfe-form[data-kfe-form] .kfe-verify label,
body .kfe-form[data-kfe-form] .kfe-field strong,
body .kfe-form[data-kfe-form] .kfe-field em,
body .kfe-form[data-kfe-form] .kfe-field li{
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  text-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-step__description,
body .kfe-form[data-kfe-form] .kfe-field small{
  color:var(--kfe-muted)!important;
  -webkit-text-fill-color:var(--kfe-muted)!important;
  text-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-field a,
body .kfe-form[data-kfe-form] .kfe-verify a{
  color:var(--kfe-link-text)!important;
  -webkit-text-fill-color:var(--kfe-link-text)!important;
}
body .kfe-form[data-kfe-form] button.kfe-btn--secondary{
  color:var(--kfe-secondary-button-text)!important;
  -webkit-text-fill-color:var(--kfe-secondary-button-text)!important;
}

/* 0.4.0-alpha.6: DOI and success as real process steps */
body .kfe-form[data-kfe-form] form[hidden]{display:none!important}
body .kfe-form[data-kfe-form] .kfe-process-step{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-process-step h3{
  display:block!important;
  margin:0 0 10px!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1.25rem!important;
  font-weight:700!important;
  line-height:1.25!important;
}
body .kfe-form[data-kfe-form] .kfe-process-step p{
  display:block!important;
  margin:0 0 18px!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1rem!important;
  line-height:1.5!important;
}
body .kfe-form[data-kfe-form] .kfe-verify{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body .kfe-form[data-kfe-form] .kfe-verify label{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:1rem!important;
  font-weight:600!important;
  line-height:1.4!important;
}
body .kfe-form[data-kfe-form] .kfe-verify__status{
  min-height:1.4em!important;
  margin:8px 0 0!important;
  color:var(--kfe-text)!important;
  -webkit-text-fill-color:var(--kfe-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:.92rem!important;
  line-height:1.4!important;
}
body .kfe-form[data-kfe-form] .kfe-resend-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-block!important;
  margin:8px 0 0!important;
  padding:0!important;
  color:var(--kfe-link-text)!important;
  -webkit-text-fill-color:var(--kfe-link-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:.94rem!important;
  font-weight:600!important;
  line-height:1.4!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
body .kfe-form[data-kfe-form] .kfe-resend-link:disabled{opacity:.6!important;cursor:not-allowed!important}
body .kfe-form[data-kfe-form] .kfe-success{
  min-height:180px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:18px 0!important;
}
body .kfe-form[data-kfe-form] .kfe-success__icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  height:54px!important;
  margin:0 0 16px!important;
  color:var(--kfe-button-text)!important;
  -webkit-text-fill-color:var(--kfe-button-text)!important;
  font-family:var(--kfe-font)!important;
  font-size:30px!important;
  font-weight:800!important;
  line-height:1!important;
  background:var(--kfe-primary)!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
body .kfe-form[data-kfe-form] .kfe-success h3,
body .kfe-form[data-kfe-form] .kfe-success p{text-align:center!important}
body .kfe-form[data-kfe-form] .kfe-success p{margin-bottom:0!important;max-width:560px!important}
