.ni-auth-wrap{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:40px 16px}.ni-auth-card{background:rgb(10 0 15 / .8);border:1px solid purple;border-radius:16px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 8px 32px rgb(0 0 0 / .4)}.ni-auth-title{color:#9b59b6;font-size:26px;font-weight:700;margin:0 0 24px;text-align:center}.ni-auth-desc{color:#aaa;font-size:14px;text-align:center;margin:-12px 0 24px;line-height:1.6}.ni-field{margin-bottom:18px}.ni-field label{display:block;color:#ccc;font-size:13px;font-weight:600;margin-bottom:6px;letter-spacing:.3px}.ni-field input{width:100%;background:#0f0f1a;border:1px solid #3a3a5c;border-radius:8px;color:#fff;font-size:15px;padding:12px 14px;box-sizing:border-box;transition:border-color 0.2s;outline:none}.ni-field input:focus{border-color:#9b59b6;box-shadow:0 0 0 3px rgb(155 89 182 / .15)}.ni-pass-wrap{position:relative}.ni-pass-wrap input{padding-right:44px}.ni-pass-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;opacity:.5;padding:0;line-height:1;transition:opacity 0.2s}.ni-pass-toggle:hover{opacity:1}.ni-btn{width:100%;background:#9b59b6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;padding:14px;cursor:pointer;margin-top:8px;transition:background 0.2s,transform 0.1s;letter-spacing:.3px}.ni-btn:hover{background:#8e44ad}.ni-btn:active{transform:scale(.98)}.ni-btn:disabled{opacity:.6;cursor:not-allowed}.ni-alert{border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:18px;line-height:1.5;text-align:center}.ni-alert-error{background:rgb(231 76 60 / .15);border:1px solid rgb(231 76 60 / .4);color:#e74c3c}.ni-alert-success{background:rgb(46 204 113 / .12);border:1px solid rgb(46 204 113 / .4);color:#2ecc71}.ni-auth-links{text-align:center;margin-top:20px;font-size:13px;color:#888}.ni-auth-links a{color:#9b59b6;text-decoration:none;transition:color 0.2s}.ni-auth-links a:hover{color:#c39bd3;text-decoration:underline}.ni-auth-links span{margin:0 6px}@media (max-width:480px){.ni-auth-card{padding:28px 20px}}