.nfz-module{box-sizing:border-box;width:100%;margin-top:var(--nfz-margin-top);margin-bottom:var(--nfz-margin-bottom);padding:var(--nfz-pad-top) var(--nfz-pad-right) var(--nfz-pad-bottom) var(--nfz-pad-left);background:var(--nfz-bg);border:var(--nfz-border-width) solid var(--nfz-border);border-radius:var(--nfz-radius);box-shadow:0 5px 18px color-mix(in srgb,var(--nfz-shadow-color) calc(var(--nfz-shadow-opacity) * 100%),transparent);display:flex;align-items:center;gap:var(--nfz-gap);font-family:inherit}
.nfz-module *{box-sizing:border-box}
.nfz-intro{display:flex;align-items:center;gap:12px;min-width:330px;flex:0 1 390px;padding-right:var(--nfz-gap);border-right:1px solid var(--nfz-separator)}
.nfz-main-icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--nfz-icon-bg);color:var(--nfz-icon)}
.nfz-main-icon svg{width:25px;height:25px;fill:currentColor}
.nfz-copy{min-width:0}
.nfz-title{color:var(--nfz-title);font-size:20px;line-height:1.15;font-weight:700;margin:0 0 3px}
.nfz-subtitle{color:var(--nfz-text);font-size:14px;line-height:1.3;margin:0}
.nfz-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:var(--nfz-gap);align-items:center;flex:1;min-width:0}
.nfz-field{height:var(--nfz-height);position:relative;display:flex;align-items:center;background:var(--nfz-input-bg);border:1px solid var(--nfz-input-border);border-radius:var(--nfz-field-radius);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;margin:0}
.nfz-field:focus-within{border-color:var(--nfz-input-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--nfz-input-focus) 16%,transparent)}
.nfz-field-icon{width:43px;flex:0 0 43px;display:flex;align-items:center;justify-content:center;color:var(--nfz-input-icon)}
.nfz-field-icon svg{width:20px;height:20px;fill:currentColor}
.nfz-field input{width:100%;height:100%;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--nfz-input-text)!important;padding:0 12px 0 0!important;font:inherit;font-size:15px;line-height:1}
.nfz-field input::placeholder{color:var(--nfz-placeholder);opacity:1}
.nfz-button{height:var(--nfz-height);border:1px solid var(--nfz-button-border);border-radius:var(--nfz-button-radius);background:var(--nfz-button-bg);color:var(--nfz-button-text);font:inherit;font-size:15px;font-weight:700;line-height:1;padding:0 24px;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease}
.nfz-button:hover,.nfz-button:focus-visible{background:var(--nfz-button-hover-bg);color:var(--nfz-button-hover-text)}
.nfz-button:active{transform:translateY(1px)}
.nfz-warning{grid-column:1/-1;margin:0;padding:8px 10px;border-radius:6px;background:#fff3cd;color:#664d03;font-size:13px;line-height:1.35}
.nfz-warning[hidden]{display:none!important}
@media (max-width:991px){.nfz-module{align-items:stretch;flex-direction:column}.nfz-intro{min-width:0;flex:0 0 auto;padding-right:0;padding-bottom:var(--nfz-gap);border-right:0;border-bottom:1px solid var(--nfz-separator)}.nfz-form{width:100%}}
@media (max-width:700px){.nfz-form{grid-template-columns:1fr}.nfz-button{width:100%}.nfz-intro{align-items:flex-start}.nfz-title{font-size:18px}}

/* Stable original field geometry: the icon remains 43px, the PIN area
   occupies exactly the remaining width before plugin initialization.
   No size, alignment or display changes are made by this module at runtime. */
.nfz-pin-field > .nfz-eye-slot.nfk-external-eye-control {
  position:relative!important; display:flex!important; flex:1 1 0!important;
  width:0!important; min-width:0!important; height:100%!important;
  align-items:center!important; overflow:hidden;
}
.nfz-pin-field > .nfz-eye-slot > .nfz-pin-input {
  display:block!important; width:100%!important; height:100%!important;
  min-width:0!important; margin:0!important; padding:0 44px 0 0!important;
}
.nfz-pin-field > .nfz-eye-slot > .nfk-external-eye-button {
  position:absolute!important; right:0!important; top:0!important; bottom:0!important;
  width:42px!important; height:100%!important;
}
