:root{
  --np-navy:#071f42;
  --np-navy-2:#102b55;
  --np-blue:#136bc0;
  --np-green:#43a63a;
  --np-green-2:#63bd45;
  --np-pale:#f5f9fd;
  --np-white:#ffffff;
  --np-text:#12233b;
  --np-muted:#5e7087;
  --np-line:#dbe5ee;
  --np-danger:#a52a22;
  --np-danger-bg:#fff2f0;
  --np-success:#237b28;
  --np-success-bg:#eef9ef;
  --np-shadow:0 24px 70px rgba(7,31,66,.13);
  color-scheme:light;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{min-width:320px;background:var(--np-pale);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--np-text);background:var(--np-pale);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.64}
img,svg{display:block;max-width:100%}
:focus-visible{outline:3px solid rgba(67,166,58,.3);outline-offset:3px}
.np-auth-page{min-height:100vh}
.np-auth-shell{display:grid;min-height:100vh;grid-template-columns:minmax(380px,46%) minmax(480px,54%)}
.np-auth-story{position:relative;isolation:isolate;display:flex;min-height:100vh;flex-direction:column;overflow:hidden;padding:42px clamp(34px,5vw,76px);color:#fff;background:linear-gradient(145deg,var(--np-navy) 0%,#0b2e5b 72%,#0b3a53 100%)}
.np-auth-story::before{content:"";position:absolute;z-index:-1;top:-150px;right:-170px;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}
.np-auth-story::after{content:"";position:absolute;z-index:-1;right:-80px;bottom:-120px;width:340px;height:340px;border:1px solid rgba(99,189,69,.2);border-radius:46% 54% 62% 38%/50% 42% 58% 50%;transform:rotate(-18deg)}
.np-auth-story-admin{background:linear-gradient(145deg,#06162d 0%,#0a274b 72%,#102f55 100%)}
.np-auth-logo-card{display:inline-flex;align-items:center;align-self:flex-start;padding:10px 14px;border:1px solid rgba(255,255,255,.9);border-radius:15px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.13)}
.np-auth-logo{width:286px;height:auto}
.np-auth-story-content{width:min(620px,100%);margin:auto 0}
.np-auth-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);color:#cfe0ef;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.np-auth-kicker-dot{width:8px;height:8px;border-radius:50%;background:var(--np-green-2);box-shadow:0 0 0 5px rgba(99,189,69,.14)}
.np-auth-story h1{max-width:720px;margin:25px 0 18px;color:#fff;font-size:clamp(42px,4.6vw,68px);line-height:1.02;letter-spacing:-.05em}
.np-auth-story-lead{max-width:650px;margin:0;color:#d2ddea;font-size:18px;line-height:1.72}
.np-auth-value-list{display:grid;gap:14px;margin:34px 0 0;padding:0;list-style:none}
.np-auth-value-list li{display:grid;grid-template-columns:34px 1fr;gap:13px;align-items:start;padding:14px 15px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}
.np-auth-check{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--np-green-2);color:#071f42;font-size:15px;font-weight:950}
.np-auth-value-list strong{display:block;color:#fff;font-size:15px}
.np-auth-value-list span{display:block;margin-top:3px;color:#c6d3df;font-size:13px;line-height:1.48}
.np-auth-story-footer{display:flex;align-items:center;gap:9px;margin:35px 0 0;color:#a8b8c8;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.np-auth-story-footer b{color:var(--np-green-2)}
.np-auth-panel{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:46px clamp(28px,6vw,88px);background:#fff}
.np-auth-panel-inner{width:min(470px,100%)}
.np-auth-panel-inner-wide{width:min(570px,100%)}
.np-auth-mobile-logo{display:none;margin:0 0 36px;padding:8px 11px;border:1px solid var(--np-line);border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(7,31,66,.07)}
.np-auth-mobile-logo .np-auth-logo{width:250px}
.np-auth-heading{margin-bottom:29px}
.np-auth-heading-label{display:block;margin-bottom:9px;color:var(--np-green);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.np-auth-heading-label-admin{color:#246aa7}
.np-auth-heading h2{margin:0 0 10px;color:var(--np-navy);font-size:clamp(35px,4vw,47px);line-height:1.08;letter-spacing:-.045em}
.np-auth-heading p{margin:0;color:var(--np-muted);font-size:16px}
.np-auth-form{display:grid;gap:18px}
.np-auth-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.np-auth-field{min-width:0}
.np-auth-field label,.np-auth-label-row label{display:block;margin:0 0 8px;color:#1c2c43;font-size:14px;font-weight:800}
.np-auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.np-auth-label-row a{color:#2f8b36;font-size:13px;font-weight:800}
.np-auth-label-row a:hover{text-decoration:underline;text-underline-offset:3px}
.np-auth-input-wrap{position:relative}
.np-auth-field-icon{position:absolute;z-index:2;top:50%;left:15px;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:#718198;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.np-auth-input{width:100%;height:54px;margin:0;padding:0 15px 0 47px;border:1px solid #c9d5df;border-radius:12px;background:#fff;color:var(--np-text);font-size:15px;box-shadow:0 1px 1px rgba(13,35,59,.02);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.np-auth-input::placeholder{color:#9aa7b7}
.np-auth-input:hover{border-color:#aebdca}
.np-auth-input:focus{outline:0;border-color:#58aa66;box-shadow:0 0 0 4px rgba(67,166,58,.14)}
.np-auth-input-password{padding-right:72px}
.np-auth-password-toggle{position:absolute;z-index:3;top:50%;right:9px;transform:translateY(-50%);border:0;border-radius:8px;padding:7px 8px;background:transparent;color:#506177;font-size:12px;font-weight:850}
.np-auth-password-toggle:hover{background:#eef3f6;color:#1d3a57}
.np-auth-help{display:block;margin-top:7px;color:#77869a;font-size:12px;line-height:1.45}
.np-auth-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px}
.np-auth-strength i{display:block;height:4px;border-radius:999px;background:#e1e7ed}
.np-auth-strength span{grid-column:1/-1;color:#77869a;font-size:11px}
.np-auth-strength[data-score="1"] i:nth-child(-n+1){background:#d95e52}
.np-auth-strength[data-score="2"] i:nth-child(-n+2){background:#d9a842}
.np-auth-strength[data-score="3"] i:nth-child(-n+3){background:#71b765}
.np-auth-strength[data-score="4"] i{background:#3b9e50}
.np-auth-button{position:relative;display:inline-flex;min-height:54px;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 20px;font-weight:850;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.np-auth-button:hover{transform:translateY(-1px)}
.np-auth-button-parent{background:linear-gradient(135deg,#55b849,#3f9e38);color:#fff;box-shadow:0 12px 26px rgba(67,166,58,.23)}
.np-auth-button-parent:hover{background:linear-gradient(135deg,#62c356,#48aa40);box-shadow:0 15px 30px rgba(67,166,58,.28)}
.np-auth-button-admin{background:linear-gradient(135deg,var(--np-navy-2),var(--np-navy));color:#fff;box-shadow:0 12px 26px rgba(7,31,66,.23)}
.np-auth-button-admin:hover{background:linear-gradient(135deg,#173a68,#0a2851)}
.np-auth-button-secondary{border:1px solid #b9c8d5;background:#fff;color:var(--np-navy)}
.np-auth-button-secondary:hover{background:#f5f8fb}
.np-auth-button-full{width:100%}
.np-auth-button.is-loading::after{content:"";position:absolute;right:17px;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:npAuthSpin .7s linear infinite}
@keyframes npAuthSpin{to{transform:rotate(360deg)}}
.np-auth-message{display:none;margin:0;padding:13px 14px;border:1px solid transparent;border-radius:11px;font-size:13px;line-height:1.5}
.np-auth-message.show{display:block}
.np-auth-message.error{border-color:#f1cbc6;background:var(--np-danger-bg);color:var(--np-danger)}
.np-auth-message.ok{border-color:#cce7d0;background:var(--np-success-bg);color:var(--np-success)}
.np-auth-resend{display:none;gap:11px;margin-top:-5px;padding:15px;border:1px solid #dbe8dd;border-radius:12px;background:#f7fbf7}
.np-auth-resend.show{display:grid}
.np-auth-resend p{margin:0;color:#536557;font-size:12px;line-height:1.5}
.np-auth-secondary{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid #e5ebf1;color:var(--np-muted);font-size:14px}
.np-auth-secondary p{margin:0}
.np-auth-secondary a{color:#2f8b36;font-weight:850}
.np-auth-secondary a:hover{text-decoration:underline;text-underline-offset:3px}
.np-auth-footer-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:24px;color:#7a899c;font-size:12px}
.np-auth-footer-links a:hover{color:var(--np-navy);text-decoration:underline;text-underline-offset:3px}
.np-auth-trust{display:grid;grid-template-columns:28px 1fr;gap:11px;align-items:start;margin-top:24px;padding:14px;border:1px solid #dfe9e1;border-radius:12px;background:#f6fbf7;color:#4d6253;font-size:12px;line-height:1.55}
.np-auth-trust svg{width:24px;height:24px;fill:none;stroke:#3f9d50;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.np-auth-agreement{margin:-2px 0 0;color:#77869a;font-size:12px;line-height:1.55}
.np-auth-agreement a{color:#2d7f43;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.np-auth-admin-note{display:grid;grid-template-columns:44px 1fr;gap:14px;margin-top:31px;padding:18px;border:1px solid rgba(151,194,231,.17);border-radius:15px;background:rgba(8,21,36,.27)}
.np-auth-admin-note svg{width:40px;height:40px;padding:8px;border-radius:11px;background:rgba(126,182,230,.13);fill:none;stroke:#90c3ed;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.np-auth-admin-note strong{display:block;color:#fff;font-size:15px}
.np-auth-admin-note p{margin:5px 0 0;color:#c3d0de;font-size:13px;line-height:1.55}
.np-auth-compact-page{display:grid;min-height:100vh;place-items:center;padding:34px 18px;background:radial-gradient(circle at 80% 0,rgba(80,184,91,.12),transparent 28%),linear-gradient(160deg,#f4f8fb 0%,#edf3f7 100%)}
.np-auth-compact-shell{width:min(510px,100%)}
.np-auth-compact-logo{display:flex;justify-content:center;margin:0 auto 23px}
.np-auth-compact-logo .np-auth-logo-card{box-shadow:0 12px 35px rgba(7,31,66,.08)}
.np-auth-compact-card{padding:38px;border:1px solid var(--np-line);border-radius:23px;background:#fff;box-shadow:var(--np-shadow)}
.np-auth-icon-badge{display:grid;width:56px;height:56px;margin:0 auto 18px;place-items:center;border:1px solid #d9eadc;border-radius:16px;background:#eef9f0}
.np-auth-icon-badge svg{width:28px;height:28px;fill:none;stroke:#3e9b4e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.np-auth-centered{text-align:center}
.np-auth-centered h2{font-size:35px}
.np-auth-back{display:block;margin-top:22px;text-align:center;color:#52677e;font-size:13px;font-weight:800}
.np-auth-back:hover{color:#2f8b36}
@media(max-width:980px){
  .np-auth-shell{grid-template-columns:1fr}
  .np-auth-story{display:none}
  .np-auth-panel{padding:46px 28px}
  .np-auth-mobile-logo{display:inline-flex}
  .np-auth-panel-inner,.np-auth-panel-inner-wide{width:min(570px,100%)}
}
@media(max-width:620px){
  .np-auth-panel{align-items:flex-start;padding:26px 18px 34px}
  .np-auth-mobile-logo{margin-bottom:33px}
  .np-auth-mobile-logo .np-auth-logo{width:225px}
  .np-auth-heading h2{font-size:36px}
  .np-auth-form-grid{grid-template-columns:1fr}
  .np-auth-secondary{align-items:flex-start;flex-direction:column;gap:3px;text-align:left}
  .np-auth-footer-links{justify-content:flex-start}
  .np-auth-compact-page{padding:24px 13px}
  .np-auth-compact-card{padding:28px 21px}
  .np-auth-centered h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
