.auth-container{max-width:440px;margin:80px auto 40px;padding:0 20px}.auth-card{background:var(--bg-secondary);border-radius:16px;box-shadow:0 4px 6px -1px rgb(0 0 0 / .1);padding:40px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:28px;color:var(--text-primary);margin-bottom:8px}.auth-header p{color:var(--text-secondary);font-size:15px}.auth-card .form-group{margin-bottom:20px}.auth-card .form-group label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:500;font-size:14px}.auth-card .input-wrapper{position:relative;display:flex;align-items:center}.auth-card .input-wrapper>i{position:absolute;left:16px;color:var(--text-secondary);pointer-events:none}.auth-card .form-input{width:100%;padding:12px 16px 12px 44px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;transition:all 0.3s;background:var(--bg-primary);color:var(--text-primary)}.auth-card .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgb(1 87 254 / .1)}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;margin:0;border-radius:4px;transition:all 0.3s;display:inline-flex;align-items:center;justify-content:center;line-height:1;width:32px;height:32px;vertical-align:middle}.password-toggle i{position:static!important;font-size:14px;line-height:1;display:block;margin:0;padding:0;left:auto!important}.password-toggle:hover{background:rgb(0 0 0 / .05);color:var(--text-primary)}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:14px}.checkbox-wrapper{display:flex;align-items:center;gap:8px}.checkbox-wrapper input[type="checkbox"]{width:16px;height:16px;cursor:pointer}.checkbox-wrapper label{color:var(--text-secondary);cursor:pointer;margin:0}.forgot-link{color:var(--primary);text-decoration:none;font-weight:500;transition:color 0.3s}.forgot-link:hover{color:var(--primary-dark)}.auth-card .btn-primary{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;gap:8px}.auth-card .btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgb(1 87 254 / .3)}.auth-card .btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:14px}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:600;transition:color 0.3s}.auth-footer a:hover{color:var(--primary-dark)}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;display:none}.alert.show{display:block}.alert-success{background:rgb(16 185 129 / .1);color:#10b981;border:1px solid rgb(16 185 129 / .2)}.alert-error{background:rgb(239 68 68 / .1);color:#ef4444;border:1px solid rgb(239 68 68 / .2)}.password-generator{margin-top:8px;padding:8px 12px;background:rgb(1 87 254 / .1);color:var(--primary);border:1px solid rgb(1 87 254 / .2);border-radius:6px;cursor:pointer;transition:all 0.3s;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.password-generator:hover{background:rgb(1 87 254 / .15);border-color:var(--primary)}.password-strength{margin-top:8px}.strength-bar{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;margin-bottom:8px}.strength-fill{height:100%;width:0;transition:all 0.3s}.strength-bar-fill{height:100%;width:0;transition:all 0.3s}.strength-bar-fill.weak{width:33%;background:#ef4444}.strength-bar-fill.medium{width:66%;background:#f59e0b}.strength-bar-fill.strong{width:100%;background:#10b981}.strength-text{font-size:13px;display:flex;align-items:center;gap:6px}.strength-text.weak{color:#ef4444}.strength-text.medium{color:#f59e0b}.strength-text.strong{color:#10b981}.text-center{text-align:center}.text-red-500{color:#ef4444}@media (max-width:480px){.auth-container{margin:40px auto 20px;padding:0 16px}.auth-card{padding:24px}.auth-header h1{font-size:24px}.form-options{flex-direction:column;gap:12px;align-items:flex-start}}