.ns-login-shell,.ns-login-shell *{box-sizing:border-box}.ns-login-shell{--purple:#423261;--purple-deep:#2d2145;--lilac:#ca8fed;--cream:#f6ece0;--ink:#241b36;position:relative;isolation:isolate;display:grid;place-items:center;min-height:min(780px,100vh);padding:clamp(24px,5vw,64px);overflow:hidden;background:radial-gradient(circle at 90% 8%,rgba(202,143,237,.28),transparent 30%),radial-gradient(circle at 5% 90%,rgba(66,50,97,.18),transparent 32%),linear-gradient(145deg,#f9f3ec,#f3e7dc);font-family:Lato,Arial,sans-serif;color:var(--ink)}.ns-login-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(255,255,255,.6),rgba(255,255,255,.1));pointer-events:none}.ns-login-modal{width:min(490px,100%);padding:clamp(28px,5vw,50px);border:1px solid rgba(66,50,97,.11);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 30px 90px rgba(46,33,71,.2);backdrop-filter:blur(18px)}.ns-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:34px}.ns-login-brand img{width:54px;height:54px;object-fit:contain;border-radius:15px}.ns-login-brand span{padding:8px 12px;border-radius:999px;background:var(--cream);color:var(--purple);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ns-login-copy{margin-bottom:28px}.ns-login-eyebrow{display:block;margin-bottom:8px;color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.ns-login-copy h1{margin:0 0 10px;font-family:Anton,Impact,sans-serif;font-size:clamp(34px,7vw,50px);font-weight:400;line-height:1;letter-spacing:.01em;color:var(--purple-deep)}.ns-login-copy p{margin:0;color:#6f667c;font-size:15px;line-height:1.65}.ns-login-form{display:grid;gap:18px}.ns-login-form>label{display:grid;gap:8px}.ns-login-form>label>span{font-size:13px;font-weight:800;color:var(--purple-deep)}.ns-login-form input[type=text],.ns-login-form input[type=password]{width:100%;min-height:52px;padding:0 15px;border:1px solid #ddd3e5;border-radius:13px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.ns-login-form input:focus{border-color:var(--lilac);box-shadow:0 0 0 4px rgba(202,143,237,.16)}.ns-login-password{position:relative}.ns-login-password input{padding-right:70px!important}.ns-login-password button{position:absolute;right:8px;top:8px;height:36px;padding:0 10px;border:0;border-radius:9px;background:var(--cream);color:var(--purple);font-weight:800;cursor:pointer}.ns-login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.ns-login-options label{display:flex;align-items:center;gap:8px;font-weight:700}.ns-login-options input{accent-color:var(--purple)}.ns-login-options a{color:var(--purple);font-weight:800;text-decoration:none}.ns-login-error{padding:12px 14px;border:1px solid #f1b8bc;border-radius:12px;background:#fff1f2;color:#922d36;font-size:13px;font-weight:700;line-height:1.45}.ns-login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:55px;padding:0 18px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:#fff;font:inherit;font-weight:900;box-shadow:0 13px 28px rgba(66,50,97,.24);cursor:pointer;transition:transform .2s,box-shadow .2s}.ns-login-submit:hover,.ns-login-submit:focus{transform:translateY(-2px);box-shadow:0 18px 34px rgba(66,50,97,.3)}.ns-login-submit:disabled{cursor:wait;opacity:.75;transform:none}.ns-login-submit i{font-style:normal;font-size:22px}.ns-login-security{margin-top:22px;text-align:center;color:#81778b;font-size:12px;font-weight:700}.ns-login-security span{color:#4f9e69}.ns-crm-login-gate{max-width:560px;margin:50px auto;padding:30px;border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(46,33,71,.15);font-family:Lato,Arial,sans-serif;text-align:center}.ns-crm-login-gate h2{color:#423261}.ns-crm-login-gate a{color:#423261;font-weight:800}@media(max-width:540px){.ns-login-shell{min-height:100svh;padding:16px}.ns-login-modal{padding:28px 22px;border-radius:22px}.ns-login-brand{margin-bottom:25px}.ns-login-options{align-items:flex-start;flex-direction:column}.ns-login-submit{min-height:58px}}

/* v2.0.0 full-viewport, web-view-safe authentication */
.ns-login-shell{width:100vw;min-height:100svh;margin-left:calc(50% - 50vw);padding-top:calc(clamp(24px,5vw,64px) + env(safe-area-inset-top));padding-bottom:calc(clamp(24px,5vw,64px) + env(safe-area-inset-bottom))}
.ns-login-submit:focus-visible,.ns-login-password button:focus-visible,.ns-login-options a:focus-visible{outline:3px solid rgba(202,143,237,.45);outline-offset:3px}
@media(max-width:540px){.ns-login-shell{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom))}}

/* 3.5.2 — login theme isolation */
.ns-login-shell{--ns-login-surface:#f7f7f7;--ns-login-surface-alt:#f3efe9}.ns-login-modal,.ns-crm-login-gate{background:rgba(247,247,247,.96)!important}.ns-login-form input[type=text],.ns-login-form input[type=password]{background:var(--ns-login-surface)!important}.ns-login-form input:hover{background:var(--ns-login-surface-alt)!important;border-color:#c6b3d2!important}.ns-login-password button:hover,.ns-login-password button:focus-visible{background:#eadff0!important;color:#4c226d!important}.ns-login-options a:hover,.ns-login-options a:focus-visible{color:#5d2f7f!important;text-decoration:underline}.ns-login-submit:hover,.ns-login-submit:focus-visible{filter:brightness(.94)}

/* Partner uses the same secure login UI as clients. */
.ns-login-shell { --ns-login-surface:#f7f7f7; --ns-login-surface-alt:#f3efe9; }
.ns-login-backdrop { background:linear-gradient(120deg,rgba(247,247,247,.65),rgba(246,236,224,.18)) !important; }
.ns-login-modal { background:rgba(247,247,247,.96) !important; }
.ns-login-form input[type=text],.ns-login-form input[type=password] { background:#f7f7f7 !important; }
.ns-login-form input:focus,.ns-login-password button:focus,.ns-login-options a:focus,.ns-login-submit:focus { outline:3px solid rgba(202,143,237,.48) !important; outline-offset:2px !important; }
