:root{
  --nk-bg0:#f6f8ff;
  --nk-bg1:#eef3ff;
  --nk-ink:#0b1220;
  --nk-muted:#5b667a;
  --nk-line:rgba(15,23,42,.10);
  --nk-card:rgba(255,255,255,.62);
  --nk-card2:rgba(255,255,255,.44);
  --nk-blur:22px;
  --nk-r:24px;
  --nk-r2:18px;
  --nk-shadow1:0 28px 80px rgba(2,8,23,.18);
  --nk-shadow2:0 10px 30px rgba(2,8,23,.12);
  --nk-blue:#2f5bff;
  --nk-blue2:#1f49ff;
  --nk-navy:#0a1f44;
  --nk-gold:#c8a96a;
  --nk-focus:rgba(47,91,255,.26);
}

html,body{height:100%}
body.nk-auth{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--nk-ink);
  background:radial-gradient(1200px 900px at 20% 10%, rgba(47,91,255,.14) 0%, rgba(47,91,255,0) 60%),
             radial-gradient(980px 720px at 85% 18%, rgba(200,169,106,.16) 0%, rgba(200,169,106,0) 55%),
             radial-gradient(900px 650px at 55% 95%, rgba(10,31,68,.12) 0%, rgba(10,31,68,0) 60%),
             linear-gradient(180deg, var(--nk-bg0) 0%, var(--nk-bg1) 100%);
  overflow-x:hidden;
}

.nk-auth-bg{
  position:fixed; inset:-40px;
  pointer-events:none;
  background:
    radial-gradient(900px 700px at 15% 20%, rgba(47,91,255,.18), rgba(47,91,255,0) 62%),
    radial-gradient(860px 620px at 78% 22%, rgba(200,169,106,.18), rgba(200,169,106,0) 58%),
    radial-gradient(900px 720px at 55% 92%, rgba(15,23,42,.12), rgba(15,23,42,0) 65%);
  filter:saturate(1.1);
  animation:nkAmbient 14s ease-in-out infinite alternate;
}

.nk-auth-noise{
  position:fixed; inset:0;
  pointer-events:none;
  opacity:.06;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
  background-size:220px 220px;
}

@keyframes nkAmbient{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-14px,10px,0) scale(1.02)}
}

.nk-auth-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 18px;
}

.nk-auth-formwrap{width:min(520px, 92vw)}
.nk-auth-card{
  position:relative;
  border-radius:var(--nk-r);
  background:linear-gradient(180deg, var(--nk-card) 0%, var(--nk-card2) 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:var(--nk-shadow1);
  backdrop-filter:blur(var(--nk-blur));
  -webkit-backdrop-filter:blur(var(--nk-blur));
  overflow:hidden;
}

.nk-auth-card::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(520px 260px at 25% 10%, rgba(255,255,255,.68) 0%, rgba(255,255,255,0) 55%),
    radial-gradient(420px 260px at 80% 12%, rgba(47,91,255,.10) 0%, rgba(47,91,255,0) 60%),
    radial-gradient(520px 320px at 60% 110%, rgba(200,169,106,.10) 0%, rgba(200,169,106,0) 60%);
  pointer-events:none;
}

.nk-auth-card::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  border-radius:var(--nk-r);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.nk-auth-top{
  display:flex;
  align-items:center;
  gap:14px;
  padding:22px 24px 14px 24px;
}

.nk-auth-logoWrap{
  width:52px;height:52px;flex:0 0 52px;
  display:grid;place-items:center;
  border-radius:999px;
  position:relative;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 25px rgba(2,8,23,.12);
}

.nk-auth-logo{
  width:46px;height:46px;
  border-radius:999px;
  object-fit:cover;
}

.nk-auth-logoRing{
  position:absolute; inset:-8px;
  border-radius:999px;
  background:conic-gradient(from 210deg, rgba(47,91,255,.0), rgba(47,91,255,.30), rgba(200,169,106,.26), rgba(47,91,255,.0));
  filter:blur(0.5px);
  opacity:.85;
  animation:nkRing 9s linear infinite;
  -webkit-mask:radial-gradient(circle, transparent 56%, #000 58%);
  mask:radial-gradient(circle, transparent 56%, #000 58%);
}

@keyframes nkRing{to{transform:rotate(360deg)}}

.nk-auth-logoScan{
  position:absolute; inset:-10px;
  border-radius:999px;
  background:radial-gradient(closest-side, rgba(47,91,255,.18), rgba(47,91,255,0));
  opacity:.65;
  filter:blur(8px);
}

.nk-auth-topText{min-width:0}
.nk-auth-brandRow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.nk-auth-dot{
  width:8px;height:8px;border-radius:999px;
  background:linear-gradient(180deg, var(--nk-blue), var(--nk-blue2));
  box-shadow:0 0 0 6px rgba(47,91,255,.10);
}

.nk-auth-brand{
  font-weight:800;
  letter-spacing:.6px;
  font-size:18px;
  color:var(--nk-navy);
}

.nk-auth-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  color:rgba(11,18,32,.78);
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.08);
}

.nk-auth-sub{
  margin-top:4px;
  font-size:13px;
  color:rgba(91,102,122,.92);
}

.nk-auth-body{padding:8px 24px 22px 24px}
.nk-auth-main{position:relative}

.nk-scanbar{
  position:absolute;
  left:0;right:0;top:-6px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(47,91,255,0), rgba(47,91,255,.55), rgba(200,169,106,.35), rgba(47,91,255,0));
  opacity:.0;
  transform:translateY(0);
  filter:blur(.2px);
  pointer-events:none;
}

.nk-scanbar.is-scan{
  opacity:.95;
  animation:nkScan 900ms ease-out 1;
}

@keyframes nkScan{
  0%{transform:translateY(0);opacity:0}
  15%{opacity:.95}
  100%{transform:translateY(164px);opacity:0}
}


.nk-title{
  font-size:28px;
  font-weight:600;
  letter-spacing:-0.3px;
  line-height:1.2;
  color:rgba(11,18,32,.92);
  margin-bottom:6px;
}


.nk-lead{
  color:rgba(91,102,122,.95);
  font-size:14px;
  margin:0 0 16px 0;
}

.form-label{
  color:rgba(11,18,32,.78);
  font-weight:600;
  font-size:12px;
  letter-spacing:.2px;
}

.form-control{
  border-radius:var(--nk-r2);
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70);
  padding:12px 14px;
  font-size:14px;
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

.form-control:focus{
  border-color:rgba(47,91,255,.34);
  box-shadow:0 0 0 5px var(--nk-focus);
  background:rgba(255,255,255,.80);
  outline:none;
}

.form-text{
  color:rgba(91,102,122,.85);
  font-size:12px;
  margin-top:8px;
}

.input-group.nk-pwgroup .form-control{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}

.nk-eye{
  border-top-right-radius:var(--nk-r2);
  border-bottom-right-radius:var(--nk-r2);
  border:1px solid rgba(15,23,42,.10);
  border-left:0;
  background:rgba(255,255,255,.72);
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.nk-eye:hover{background:rgba(255,255,255,.86)}
.nk-eye:active{transform:translateY(1px)}

.form-check-input{border-color:rgba(15,23,42,.18)}
.form-check-label{color:rgba(11,18,32,.78);font-size:14px}

.nk-linkhelp{
  color:rgba(47,91,255,.92);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}

.nk-linkhelp:hover{text-decoration:underline}

.nk-btnlogin{
  border-radius:18px;
  padding:12px 14px;
  font-weight:750;
  letter-spacing:.2px;
  background:linear-gradient(180deg, rgba(47,91,255,1) 0%, rgba(31,73,255,1) 100%);
  border:0;
  box-shadow:0 16px 34px rgba(47,91,255,.28), 0 6px 18px rgba(2,8,23,.12);
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.nk-btnlogin:hover{
  transform:translateY(-1px);
  filter:saturate(1.05);
  box-shadow:0 20px 42px rgba(47,91,255,.32), 0 8px 22px rgba(2,8,23,.14);
}

.nk-btnlogin:active{transform:translateY(0)}
.nk-btnlogin:focus{box-shadow:0 0 0 5px var(--nk-focus), 0 16px 34px rgba(47,91,255,.28)}
.nk-btnlogin.is-loading{opacity:.92}

.nk-btnspin{
  display:none;
  width:16px;height:16px;
  margin-right:10px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.55);
  border-top-color:#fff;
  animation:nkSpin .8s linear infinite;
}

@keyframes nkSpin{to{transform:rotate(360deg)}}

.nk-btnlogin.is-loading .nk-btnspin{display:inline-block}
.nk-btnlogin.is-loading .nk-btntext{display:inline-block}

.nk-auth-footer{
  padding:14px 22px 18px 22px;
  border-top:1px solid rgba(15,23,42,.06);
  background:rgba(255,255,255,.22);
}

.nk-auth-footLeft{
  color:rgba(91,102,122,.82);
  font-size:12px;
}

#nkAuthCard.nk-enter{transform:translate3d(0,14px,0) scale(.985);opacity:0}
#nkAuthCard.nk-enter.nk-enter--in{transform:translate3d(0,0,0) scale(1);opacity:1;transition:transform .52s cubic-bezier(.2,.9,.2,1), opacity .52s ease}
#nkAuthCard.nk-pulse{animation:nkPulse 520ms ease-out 1}
@keyframes nkPulse{0%{transform:scale(1)} 40%{transform:scale(1.01)} 100%{transform:scale(1)}}

@media (max-width:520px){
  .nk-auth-top{padding:18px 18px 12px 18px}
  .nk-auth-body{padding:8px 18px 18px 18px}
  
.nk-title{
  font-size:28px;
  font-weight:600;
  letter-spacing:-0.3px;
  line-height:1.2;
  color:rgba(11,18,32,.92);
  margin-bottom:6px;
}

}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
}

/* NK_VISIONOS_PP_V1 */
:root{
  --nk-sheen:rgba(255,255,255,.62);
  --nk-sheen2:rgba(255,255,255,.18);
  --nk-pat:rgba(10,31,68,.055);
  --nk-pat2:rgba(200,169,106,.055);
}

.nk-auth-bg{
  filter:saturate(1.14) contrast(1.02);
}

body.nk-auth::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background:radial-gradient(1200px 800px at 35% 18%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 55%),
             radial-gradient(900px 700px at 78% 78%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 60%);
  mix-blend-mode:soft-light;
  opacity:.55;
}

body.nk-auth::after{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.10) 0px, rgba(255,255,255,0) 2px, rgba(255,255,255,0) 10px);
  opacity:.03;
}

.nk-auth-card{
  transform-style:preserve-3d;
  will-change:transform;
}

.nk-auth-card::before{
  opacity:.92;
}

.nk-auth-card::marker{content:""}

.nk-auth-card .nk-scanbar{transform:translateZ(1px)}

.nk-auth-card::after{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 0 0 1px rgba(255,255,255,.22);
}

.nk-auth-card .nk-auth-top,
.nk-auth-card .nk-auth-body,
.nk-auth-card .nk-auth-footer{
  position:relative;
  transform:translateZ(2px);
}

.nk-auth-card .nk-auth-body{
  padding-top:10px;
}

.nk-auth-card .nk-auth-footer{
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.nk-auth-card .nk-auth-top{
  border-bottom:1px solid rgba(15,23,42,.06);
}

.nk-auth-card .nk-auth-top::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%230A1F44' stroke-opacity='0.20' stroke-width='1'%3E%3Cpath d='M110 12l24 42 48 0 24 42-24 42-48 0-24 42-24-42-48 0-24-42 24-42 48 0z'/%3E%3Cpath d='M110 54l18 31 36 0 18 31-18 31-36 0-18 31-18-31-36 0-18-31 18-31 36 0z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:260px 260px;
  background-position:28% 32%;
  mix-blend-mode:soft-light;
}

.nk-auth-card .nk-auth-body::before{
  content:"";
  position:absolute; inset:-18px -24px -24px -24px;
  pointer-events:none;
  background:
    radial-gradient(520px 260px at 18% 8%, var(--nk-sheen) 0%, rgba(255,255,255,0) 58%),
    radial-gradient(520px 260px at 82% 10%, rgba(47,91,255,.12) 0%, rgba(47,91,255,0) 62%),
    radial-gradient(620px 340px at 64% 108%, rgba(200,169,106,.12) 0%, rgba(200,169,106,0) 62%);
  opacity:.55;
}

.nk-auth-card .nk-auth-body::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,.44) 50%, rgba(255,255,255,0) 62%, rgba(255,255,255,0) 100%);
  opacity:.0;
  transform:translateX(-34%) rotate(0.001deg);
  filter:blur(0.2px);
  animation:nkSheen 7.5s ease-in-out infinite;
}

@keyframes nkSheen{
  0%{opacity:0; transform:translateX(-38%)}
  18%{opacity:.18}
  52%{opacity:.06}
  100%{opacity:0; transform:translateX(38%)}
}

.nk-auth-logoWrap{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.58);
}

.nk-auth-logoRing{
  opacity:.92;
  filter:blur(0.4px) saturate(1.1);
}

.nk-auth-logoScan{
  opacity:.72;
}

.nk-btnlogin{
  position:relative;
  overflow:hidden;
}

.nk-btnlogin::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.22) 52%, rgba(255,255,255,0) 64%, rgba(255,255,255,0) 100%);
  transform:translateX(-40%);
  opacity:.0;
  transition:opacity .18s ease;
}

.nk-btnlogin:hover::after{
  opacity:.85;
  animation:nkBtnSheen 1.15s ease-out 1;
}

@keyframes nkBtnSheen{
  0%{transform:translateX(-42%)}
  100%{transform:translateX(42%)}
}

@media (prefers-reduced-motion: reduce){
  body.nk-auth::before,
  body.nk-auth::after,
  .nk-auth-bg,
  .nk-auth-card .nk-auth-body::after,
  .nk-btnlogin::after{animation:none !important}
}

/* NK_PWGROUP_FOCUS_FIX_V1 */
.input-group.nk-pwgroup{
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--nk-r2);
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70);
  overflow:hidden;
  transition:box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.input-group.nk-pwgroup .form-control{
  border:0 !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
}

.input-group.nk-pwgroup .nk-eye{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.input-group.nk-pwgroup:focus-within{
  border-color:rgba(47,91,255,.34);
  background:rgba(255,255,255,.80);
  box-shadow:0 0 0 5px var(--nk-focus), inset 0 1px 0 rgba(255,255,255,.70);
}

.input-group.nk-pwgroup .nk-eye:focus{
  outline:none !important;
  box-shadow:none !important;
}

/* NK_SWAL_TOAST_STYLE_V1 */
.nk-swal-toast{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  border-radius: 16px !important;
  box-shadow: 0 18px 50px rgba(2,8,23,.22) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(255,255,255,.92) !important;
}

.nk-swal-title{
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -.1px !important;
  color: rgba(11,18,32,.92) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
}

.nk-swal-icon{
  transform: scale(.92);
}

@media (max-width: 560px){
  .swal2-container.swal2-top-center{ padding-left: 12px !important; padding-right: 12px !important; }
  .nk-swal-toast{ width: calc(100vw - 24px) !important; }
}


/* NK_LOGIN_OVERLAY_V1 */

.nk-login-overlay{
  position:fixed;
  inset:0;
  background:rgba(8,12,22,.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity:0;
  pointer-events:none;
  transition: opacity .35s ease;
  z-index:1200;
}

.nk-login-overlay.active{
  opacity:1;
}

/* NK_SUCCESS_ANIM_V1 */

/* Dark backdrop + blur */
.nk-swal-success-backdrop{
  background: rgba(8, 12, 22, 0.62) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

/* Popup: glassy, premium */
.nk-swal-success-popup{
  border-radius: 22px !important;
  padding: 26px 28px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 28px 90px rgba(2,8,23,.28) !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  animation: nkPopIn .28s ease-out both;
}

/* Title */
.nk-swal-success-title{
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px !important;
  color: rgba(11,18,32,.92) !important;
  line-height: 1.25 !important;
  margin-top: 10px !important;
}

/* Icon slightly refined */
.nk-swal-success-icon{
  transform: scale(.92);
  margin-top: 4px !important;
}

/* Popup animation */
@keyframes nkPopIn{
  from { transform: translateY(10px) scale(.98); opacity: 0; }
  to   { transform: translateY(0)    scale(1);   opacity: 1; }
}

/* Card dim + subtle zoom when swal open */
#nkAuthCard.nk-success-dim{
  transform: translateZ(0) scale(.985);
  filter: blur(.6px) saturate(.98);
  opacity: .92;
  transition: transform .22s ease, filter .22s ease, opacity .22s ease;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .nk-swal-success-popup{ animation: none !important; }
  #nkAuthCard.nk-success-dim{ transition: none !important; }
  .nk-swal-success-backdrop{ backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
}


/* NK_LOGIN_CARD_STATIC_V1 */
#nkAuthCard,
#nkAuthCard:hover,
#nkAuthCard:focus,
#nkAuthCard:active{
  transform:none !important;
}

.nk-auth-card{
  transform:none !important;
  transform-style:flat !important;
  will-change:auto !important;
}

#nkAuthCard.nk-enter{
  transform:translate3d(0,14px,0) scale(.985) !important;
  opacity:0;
}

#nkAuthCard.nk-enter.nk-enter--in{
  transform:translate3d(0,0,0) scale(1) !important;
  opacity:1;
}

#nkAuthCard.nk-pulse{
  animation:none !important;
}


/* NK_LOGIN_PRODUCTION_POLISH_V2 */
.nk-auth-alert{
  border-radius:16px;
  border:1px solid rgba(220,38,38,.16);
  background:rgba(255,245,245,.92);
  box-shadow:0 12px 24px rgba(2,8,23,.06);
  color:rgba(127,29,29,.96);
}

.form-control::placeholder{
  color:rgba(91,102,122,.62);
}

.form-control.is-invalid{
  border-color:rgba(220,38,38,.34) !important;
  box-shadow:0 0 0 4px rgba(220,38,38,.10) !important;
}

.form-control.is-invalid:focus{
  border-color:rgba(220,38,38,.42) !important;
  box-shadow:0 0 0 5px rgba(220,38,38,.12) !important;
}

.input-group.nk-pwgroup.nk-invalid{
  border-color:rgba(220,38,38,.34) !important;
  box-shadow:0 0 0 4px rgba(220,38,38,.10), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.input-group.nk-pwgroup.nk-invalid:focus-within{
  border-color:rgba(220,38,38,.42) !important;
  box-shadow:0 0 0 5px rgba(220,38,38,.12), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.nk-capslock-hint{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-size:12px;
  font-weight:600;
  color:rgba(146,64,14,.96);
}

.nk-capslock-hint i{
  font-size:14px;
}

.nk-eye{
  min-width:58px;
}

.nk-eye:focus-visible,
.nk-linkhelp:focus-visible,
.form-check-input:focus{
  outline:none;
  box-shadow:0 0 0 4px var(--nk-focus) !important;
}

.form-check{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:20px;
}

.form-check-input{
  width:18px;
  height:18px;
  margin-top:0;
  cursor:pointer;
}

.form-check-label{
  cursor:pointer;
  user-select:none;
}

.nk-btnlogin[disabled]{
  cursor:not-allowed;
  opacity:.96;
  filter:saturate(.96);
}

.nk-btnlogin.is-loading .nk-btntext{
  opacity:.96;
}

.nk-btnlogin.is-loading:hover{
  transform:none;
}

.nk-linkhelp{
  text-underline-offset:3px;
}

@media (max-width:520px){
  .nk-linkhelp,
  .form-check-label{
    font-size:13px;
  }
}


/* NK_LOGIN_FIX_CURRENT_EXACT_V2 */
.nk-auth-alert{
  border-radius:16px;
  border:1px solid rgba(220,38,38,.16);
  background:rgba(255,245,245,.92);
  box-shadow:0 12px 24px rgba(2,8,23,.06);
  color:rgba(127,29,29,.96);
}

.form-control::placeholder{
  color:rgba(91,102,122,.62);
}

.form-control.is-invalid{
  border-color:rgba(220,38,38,.34) !important;
  box-shadow:0 0 0 4px rgba(220,38,38,.10) !important;
}

.form-control.is-invalid:focus{
  border-color:rgba(220,38,38,.42) !important;
  box-shadow:0 0 0 5px rgba(220,38,38,.12) !important;
}

.input-group.nk-pwgroup.nk-invalid{
  border-color:rgba(220,38,38,.34) !important;
  box-shadow:0 0 0 4px rgba(220,38,38,.10), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.input-group.nk-pwgroup.nk-invalid:focus-within{
  border-color:rgba(220,38,38,.42) !important;
  box-shadow:0 0 0 5px rgba(220,38,38,.12), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.nk-capslock-hint{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-size:12px;
  font-weight:600;
  color:rgba(146,64,14,.96);
}

.nk-capslock-hint i{
  font-size:14px;
}

.nk-eye{
  min-width:58px;
}

.nk-eye:focus-visible,
.nk-linkhelp:focus-visible,
.form-check-input:focus{
  outline:none;
  box-shadow:0 0 0 4px var(--nk-focus) !important;
}

.form-check{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:20px;
}

.form-check-input{
  width:18px;
  height:18px;
  margin-top:0;
  cursor:pointer;
}

.form-check-label{
  cursor:pointer;
  user-select:none;
}

.nk-btnlogin[disabled]{
  cursor:not-allowed;
  opacity:.96;
  filter:saturate(.96);
}

.nk-btnlogin.is-loading:hover{
  transform:none;
}

.nk-linkhelp{
  text-underline-offset:3px;
}

@media (max-width:520px){
  .nk-linkhelp,
  .form-check-label{
    font-size:13px;
  }
}


/* NK_LOGIN_HARDENING_FINAL_SAFE_V1 */
.nk-auth-alert{
  border-radius:16px;
  border:1px solid rgba(220,38,38,.16);
  background:rgba(255,245,245,.92);
  box-shadow:0 12px 24px rgba(2,8,23,.06);
  color:rgba(127,29,29,.96);
}

.form-control::placeholder{
  color:rgba(91,102,122,.62);
}

.form-control.is-invalid{
  border-color:rgba(220,38,38,.34) !important;
  box-shadow:0 0 0 4px rgba(220,38,38,.10) !important;
}

.form-control.is-invalid:focus{
  border-color:rgba(220,38,38,.42) !important;
  box-shadow:0 0 0 5px rgba(220,38,38,.12) !important;
}

.input-group.nk-pwgroup.nk-invalid{
  border-color:rgba(220,38,38,.34) !important;
  box-shadow:0 0 0 4px rgba(220,38,38,.10), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.input-group.nk-pwgroup.nk-invalid:focus-within{
  border-color:rgba(220,38,38,.42) !important;
  box-shadow:0 0 0 5px rgba(220,38,38,.12), inset 0 1px 0 rgba(255,255,255,.70) !important;
}

.nk-capslock-hint{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-size:12px;
  font-weight:600;
  color:rgba(146,64,14,.96);
}

.nk-capslock-hint i{
  font-size:14px;
}

.nk-eye{
  min-width:58px;
}

.nk-eye:focus-visible,
.nk-linkhelp:focus-visible,
.form-check-input:focus{
  outline:none;
  box-shadow:0 0 0 4px var(--nk-focus) !important;
}

.form-check{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:20px;
}

.form-check-input{
  width:18px;
  height:18px;
  margin-top:0;
  cursor:pointer;
}

.form-check-label{
  cursor:pointer;
  user-select:none;
}

.nk-btnlogin[disabled]{
  cursor:not-allowed;
  opacity:.96;
  filter:saturate(.96);
}

.nk-btnlogin.is-loading:hover{
  transform:none;
}

.nk-linkhelp{
  text-underline-offset:3px;
}


/* NK_LOGIN_UI_POLISH_EXACT_V2 */
.nk-autofill-decoy{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.nk-trustnote{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:10px 0 14px;
  padding:10px 12px;
  border:1px solid rgba(37,99,235,.10);
  border-radius:14px;
  background:rgba(255,255,255,.42);
  color:rgba(71,85,105,.92);
  font-size:12px;
  line-height:1.45;
}

.nk-trustnote i{
  margin-top:1px;
  font-size:14px;
  color:rgba(37,99,235,.88);
}

#login.form-control,
#password.form-control{
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

#login.form-control:focus,
#password.form-control:focus,
.nk-eye:focus-visible,
.nk-helpbtn:focus-visible,
.form-check-input:focus-visible,
.nk-btnlogin:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 5px rgba(37,99,235,.14) !important;
}

#login.is-autofill-mismatch{
  border-color:rgba(245,158,11,.45) !important;
  box-shadow:0 0 0 4px rgba(245,158,11,.10) !important;
  background:rgba(255,251,235,.88) !important;
}

.nk-auth-alert{
  border-radius:16px;
  border:1px solid rgba(220,38,38,.14);
  background:rgba(255,247,247,.94);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}

.form-control.is-invalid{
  border-color:rgba(239,68,68,.24) !important;
  box-shadow:0 0 0 4px rgba(239,68,68,.08) !important;
}

.form-control.is-invalid:focus{
  border-color:rgba(239,68,68,.30) !important;
  box-shadow:0 0 0 5px rgba(239,68,68,.10) !important;
}

.input-group.nk-pwgroup.nk-invalid{
  border-color:rgba(239,68,68,.24) !important;
  box-shadow:0 0 0 4px rgba(239,68,68,.08), inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.input-group.nk-pwgroup.nk-invalid:focus-within{
  border-color:rgba(239,68,68,.30) !important;
  box-shadow:0 0 0 5px rgba(239,68,68,.10), inset 0 1px 0 rgba(255,255,255,.72) !important;
}

.nk-login-meta{
  gap:14px;
}

.nk-remember-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:22px;
  padding:4px 2px;
}

.form-check-input{
  width:18px;
  height:18px;
  margin-top:0;
  cursor:pointer;
}

.form-check-label{
  cursor:pointer;
  user-select:none;
}

.nk-helpbtn{
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  color:var(--bs-primary) !important;
  font-weight:600;
  text-decoration:none;
  text-underline-offset:3px;
}

.nk-helpbtn:hover{
  text-decoration:underline;
}

.nk-btnlogin{
  position:relative;
}

.nk-btnspin{
  display:inline-block;
  width:16px;
  height:16px;
  margin-right:8px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.36);
  border-top-color:rgba(255,255,255,.96);
  animation:nk-btn-spin .8s linear infinite;
  vertical-align:-3px;
}

.nk-btnlogin[disabled]{
  cursor:not-allowed;
  opacity:.98;
  filter:saturate(.96);
}

@keyframes nk-btn-spin{
  to{ transform:rotate(360deg); }
}

@media (max-width:520px){
  .nk-trustnote{
    font-size:11.5px;
    padding:9px 11px;
  }

  .nk-helpbtn,
  .form-check-label{
    font-size:13px;
  }
}


/* NK_LOGIN_MINOR_POLISH_SAFE_V1 */
.nk-trustnote{
  display:none !important;
}

.nk-login-meta{
  gap:18px;
  align-items:center !important;
}

.nk-remember-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:26px;
  padding:8px 2px;
  margin:0;
}

.nk-remember-wrap .form-check-input{
  margin-top:0 !important;
  flex:0 0 auto;
}

.nk-remember-wrap .form-check-label{
  line-height:1.25;
}

@media (max-width: 520px){
  .nk-login-meta{
    gap:12px;
  }

  .nk-remember-wrap{
    gap:10px;
    padding:6px 2px;
  }
}


/* NK_LOGIN_CHECKBOX_SPACING_FIX_V1 */
.nk-login-meta{
  margin-top: 14px !important;
  padding-left: 2px;
}

.nk-remember-wrap{
  padding: 10px 2px 8px 0 !important;
  gap: 12px !important;
}

.nk-remember-wrap .form-check-input{
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: relative;
  top: 1px;
  box-shadow: none !important;
}

.nk-remember-wrap .form-check-input:not(:focus):not(:checked){
  box-shadow: none !important;
}

.nk-remember-wrap .form-check-label{
  margin-left: 0 !important;
  padding-left: 0 !important;
}

@media (max-width: 520px){
  .nk-login-meta{
    margin-top: 12px !important;
  }

  .nk-remember-wrap{
    padding: 8px 2px 6px 0 !important;
  }
}
